lecodes-cli 2.0.8 → 2.0.10
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.
- package/dist/index.js +151 -95
- package/package.json +8 -8
- package/runtime/sdk-types.json +1 -1
- package/runtime/web/VERSION.json +3 -3
- package/runtime/web/assets/creator-2d-BSJoqaE1.wasm +0 -0
- package/runtime/web/assets/{creator-2d-CYlV77UR.js → creator-2d-DG2jJnoQ.js} +1 -1
- package/runtime/web/assets/creator-ui-Bu2prHDl.wasm +0 -0
- package/runtime/web/assets/creator-ui-HDloYDcM.js +1 -0
- package/runtime/web/player.js +15 -15
- package/runtime/web-lite/assets/{index-3CbsYWmo.js → index-BttBnvIf.js} +1 -1
- package/runtime/web-lite/assets/pager-DpGa2uaE.js +1 -0
- package/runtime/web-lite/assets/scene3d-D8LdhX0V.js +888 -0
- package/runtime/web-lite/features.json +3 -3
- package/runtime/web-lite/lite.js +21 -10
- package/src/dev/webRunner.ts +1 -1
- package/runtime/web/assets/creator-2d-nG7rGEmq.wasm +0 -0
- package/runtime/web/assets/creator-ui-CbtoaRlz.js +0 -1
- package/runtime/web/assets/creator-ui-DZaoxIpX.wasm +0 -0
- package/runtime/web-lite/assets/pager-Db5BY7FB.js +0 -1
- package/runtime/web-lite/assets/scene3d-CX7MAqmN.js +0 -866
package/runtime/web-lite/lite.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
var
|
|
2
|
-
${e.stack}`:String(e);try{return JSON.stringify(e)}catch{return String(e)}},In=(e,t)=>{const n=o=>{fetch(`${e}/log`,{method:"POST",body:JSON.stringify(o),headers:{"content-type":"application/json"},keepalive:!0}).catch(()=>{})};let r=-1;const s=async()=>{try{const{v:o}=await(await fetch(`${e}/version`,{cache:"no-store"})).json();typeof o=="number"&&t(o)}catch{}setTimeout(s,2500)};setTimeout(s,2500);const i=()=>{let o;try{o=new WebSocket(e.replace(/^http/,"ws")+"/ws")}catch{return}o.onopen=()=>o.send(JSON.stringify({type:"hello",v:r})),o.onmessage=f=>{let l={};try{l=JSON.parse(String(f.data))}catch{return}l.type==="reload"&&typeof l.v=="number"&&t(l.v)},o.onclose=()=>{setTimeout(i,2e3)}};return i(),{bundleUrl:o=>`${e}/bundle.js?t=web&v=${o}`,versionOf(o,f){const l=Number(o.headers.get("x-lecodes-v"));return o.headers.has("x-lecodes-v")&&Number.isFinite(l)?l:f},ran(o){r=o},log:(o,f)=>n({type:"log",level:o,text:f.map(Pn).join(" ")}),error:o=>n({type:"error",text:o})}},Dn=(e,t)=>{try{const n=new URL(e,t);return n.origin===new URL(t).origin&&(n.protocol==="http:"||n.protocol==="https:")?n.href:null}catch{return null}},Bn="modulepreload",Vn=function(e,t){return new URL(e,t).href},bt={},re=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){let o=function(b){return Promise.all(b.map(E=>Promise.resolve(E).then(g=>({status:"fulfilled",value:g}),g=>({status:"rejected",reason:g}))))};const f=document.getElementsByTagName("link"),l=document.querySelector("meta[property=csp-nonce]"),d=(l==null?void 0:l.nonce)||(l==null?void 0:l.getAttribute("nonce"));s=o(n.map(b=>{if(b=Vn(b,r),b in bt)return;bt[b]=!0;const E=b.endsWith(".css"),g=E?'[rel="stylesheet"]':"";if(!!r)for(let p=f.length-1;p>=0;p--){const h=f[p];if(h.href===b&&(!E||h.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${b}"]${g}`))return;const a=document.createElement("link");if(a.rel=E?"stylesheet":Bn,E||(a.as="script"),a.crossOrigin="",a.href=b,d&&a.setAttribute("nonce",d),document.head.appendChild(a),E)return new Promise((p,h)=>{a.addEventListener("load",p),a.addEventListener("error",()=>h(new Error(`Unable to preload CSS for ${b}`)))})}))}function i(o){const f=new Event("vite:preloadError",{cancelable:!0});if(f.payload=o,window.dispatchEvent(f),!f.defaultPrevented)throw o}return s.then(o=>{for(const f of o||[])f.status==="rejected"&&i(f.reason);return t().catch(i)})},yt="2.0.8",He=e=>{const t=e==null?void 0:e.match(/^(\d+)\.\d+\.\d+/);return t?Number(t[1]):null},zn=(e,t)=>He(e)!==null&&He(e)===He(t),Wn=(e,t="woff2")=>{const n=/^\/\/ fonts: (.+)$/m.exec(e);if(!n)return[];const r=[];for(const s of n[1].split(";")){const i=s.indexOf("=");if(i===-1)continue;const o=/^(.+)@(\d+)(i?)$/.exec(s.slice(0,i));o&&r.push({family:o[1],weight:parseInt(o[2],10),italic:o[3]==="i",url:s.slice(i+1).replace("{fmt}",t)})}return r},Gn=async(e,t,n=2e3)=>{const r=t??(typeof document>"u"?void 0:document);if(!(r!=null&&r.fonts)||e.length===0)return;const s=[];for(const i of e)try{const o=new FontFace(i.family,`url("${i.url}")`,{weight:String(i.weight),style:i.italic?"italic":"normal"});r.fonts.add(o),s.push(o.load().catch(()=>{}))}catch{}await Promise.race([Promise.all(s),new Promise(i=>setTimeout(i,n))])},jn=e=>{var l,d,b,E;const t=e.slice(0,2e3),n=new Set,r=t.match(/\/\/ preload: (.+)/);if(r)for(const g of r[1].split(";"))n.add(g);const s=t.includes("// gl: disable")?"off":t.includes("// gl: defer")?"defer":"on",i=((l=t.match(/^\/\/ sdk: (\d+\.\d+\.\d+\S*)/m))==null?void 0:l[1])??null,o=((b=(d=t.match(/^\/\/ name: (.+)$/m))==null?void 0:d[1])==null?void 0:b.trim())??null,f=new Set((((E=t.match(/^\/\/ plugins: (.+)$/m))==null?void 0:E[1])??"").split(";").map(g=>g.trim()).filter(Boolean));return{sdk:i,name:o,preloads:n,gl:s,is2d:t.includes("// 2d: enable"),plugins:f,bootFonts:Wn(t)}},Hn=1,Kn=2,Yn=3,qn=4,Xn=5,Jn=6,Et=7,Qn=8,vt=9,Zn=10,er=11,tr=12,nr=13,rr=14,or=15,sr=16,wt=17,ir=18,ar=19,xe=20,ri=21,oi=22,si=23,ii=24,ai=25,cr=26,lr=27,ur=28,fr=29,St=30,_t=31,dr=32,pr=33,Tt=34,kt=35,Oe=1,mr=2,hr=4,le=8,gr=16,Ke=32,br=64,Ye=128,yr=256,Er=512,vr=1024,wr=2048,Sr=4096,Lt=8192,ci=16384,_r=32768,Tr=1<<18,kr=255,xt=256,Rt=512,Lr=1024,Y=0,xr=1,Rr=2,Cr=3,Me=4,Ue=255,sn=e=>{const t=e.clientWidth;if(!t)return 1;const n=e.getBoundingClientRect().width;return n>0?n/t:1},Ct={text:{type:"text"},password:{type:"password"},search:{type:"search"},tel:{type:"tel"},email:{type:"email"},url:{type:"url"},number:{type:"text",mode:"numeric"},decimal:{type:"text",mode:"decimal"},date:{type:"date"},time:{type:"time"}},At=(e,t)=>e==null?t:e===!0||e==="true"||e==="1"||typeof e=="number"&&e>.5,Z=(e,t,n)=>{n===null?e.removeAttribute(t):e.getAttribute(t)!==n&&e.setAttribute(t,n)},Ar=(e,t)=>{if(e.type!=="input"&&e.type!=="textarea")return;const n=e.el,r=t("placeholder");if(Z(n,"placeholder",r==null?null:String(r)),e.type==="input"){const f=Ct[String(t("type")??"text")]??Ct.text,l=n;l.type!==f.type&&(l.type=f.type),Z(n,"inputmode",f.mode??null);const d=t("enterKey");Z(n,"enterkeyhint",d==null?null:String(d))}const s=t("autocapitalize");Z(n,"autocapitalize",s==null?null:String(s));const i=t("autocorrect");i==null?(Z(n,"autocorrect",null),Z(n,"spellcheck",null)):(Z(n,"autocorrect",At(i,!0)?"on":"off"),Z(n,"spellcheck",At(i,!0)?"true":"false"));const o=Number(t("maxLength")??0);Z(n,"maxlength",o>0?String(Math.round(o)):null)},Pe={width:"layout",height:"layout",minWidth:"layout",minHeight:"layout",maxWidth:"layout",maxHeight:"layout",flexBasis:"layout",flexGrow:"layout",flexShrink:"layout",aspectRatio:"layout",gap:"layout",rowGap:"layout",columnGap:"layout",padding:"layout",paddingTop:"layout",paddingRight:"layout",paddingBottom:"layout",paddingLeft:"layout",paddingHorizontal:"layout",paddingVertical:"layout",paddingStart:"layout",paddingEnd:"layout",margin:"layout",marginTop:"layout",marginRight:"layout",marginBottom:"layout",marginLeft:"layout",marginHorizontal:"layout",marginVertical:"layout",marginStart:"layout",marginEnd:"layout",left:"layout",right:"layout",top:"layout",bottom:"layout",start:"layout",end:"layout",inset:"layout",flexDirection:"enum",justifyContent:"enum",alignItems:"enum",alignSelf:"enum",position:"enum",flexWrap:"enum",boxSizing:"enum",display:"enum",overflow:"enum",scrollDirection:"enum",borderWidth:"len",borderTopWidth:"len",borderRightWidth:"len",borderBottomWidth:"len",borderLeftWidth:"len",borderHorizontalWidth:"len",borderVerticalWidth:"len",borderStartWidth:"len",borderEndWidth:"len",color:"color",backgroundColor:"color",borderColor:"color",borderTopColor:"color",borderRightColor:"color",borderBottomColor:"color",borderLeftColor:"color",placeholderColor:"color",refreshControlColor:"color",tintColor:"color",rippleColor:"color",overlayColor:"color",backgroundImage:"str",backgroundSize:"enum",backgroundGradient:"str",borderRadius:"len",borderTopLeftRadius:"len",borderTopRightRadius:"len",borderBottomRightRadius:"len",borderBottomLeftRadius:"len",opacity:"num",transform:"str",transformOrigin:"str",pointerEvents:"enum",fontSize:"len",fontWeight:"num",fontStyle:"enum",fontFamily:"str",lineHeight:"len",letterSpacing:"len",textAlign:"enum",textDecoration:"enum",lineClamp:"num",textOverflow:"enum",objectFit:"enum",placeholder:"str",type:"enum",enterKey:"enum",autocapitalize:"enum",autocorrect:"num",maxLength:"num",keyboardShrink:"num",keyboardDismiss:"num",showScrollbar:"num",overscrollMode:"enum",keyboardDismissMode:"enum",snap:"enum",sheetDetents:"str",sheetDetent:"num",sheetDismissible:"num",dim:"num"},$r={p:"padding",pt:"paddingTop",pr:"paddingRight",pb:"paddingBottom",pl:"paddingLeft",px:"paddingHorizontal",py:"paddingVertical",m:"margin",mt:"marginTop",mr:"marginRight",mb:"marginBottom",ml:"marginLeft",mx:"marginHorizontal",my:"marginVertical",bgColor:"backgroundColor",bgImage:"backgroundImage",bgSize:"backgroundSize",bgGradient:"backgroundGradient"},Or=["placeholderColor","refreshControlColor","tintColor","rippleColor","overlayColor","backgroundGradient"],Ur={display:"flex",overflow:"visible",scrollDirection:"vertical",borderWidth:0,borderTopWidth:0,borderRightWidth:0,borderBottomWidth:0,borderLeftWidth:0,borderHorizontalWidth:0,borderVerticalWidth:0,borderStartWidth:0,borderEndWidth:0,backgroundColor:0,borderColor:0,borderTopColor:0,borderRightColor:0,borderBottomColor:0,borderLeftColor:0,backgroundImage:"",backgroundSize:"cover",borderRadius:0,borderTopLeftRadius:0,borderTopRightRadius:0,borderBottomRightRadius:0,borderBottomLeftRadius:0,opacity:1,transform:"identity",transformOrigin:"50% 50%",pointerEvents:"all",fontSize:14,fontWeight:400,fontStyle:"normal",lineHeight:"normal",letterSpacing:0,textAlign:"start",textDecoration:"none",lineClamp:0,textOverflow:"ellipsis",objectFit:"cover",placeholder:"",type:"text",enterKey:"done",autocapitalize:"sentences",autocorrect:1,maxLength:0,keyboardShrink:1,keyboardDismiss:1,showScrollbar:1,overscrollMode:"default",keyboardDismissMode:"interactive",snap:"none",sheetDetents:"",sheetDetent:0,sheetDismissible:1,dim:0},Nr=["duration","delay","layer","commit","loop","loopMode","name"];function an(e){let t=e.trim();/\sxmlns\s*=/.test(t)||(t=t.replace(/<svg\b/,'<svg xmlns="http://www.w3.org/2000/svg"'));const n=new TextEncoder().encode(t);let r="";for(const s of n)r+=String.fromCharCode(s);return`data:image/svg+xml;base64,${btoa(r)}`}function Fr(e){const t=e.match(/viewBox\s*=\s*["']([^"']+)["']/);return t?t[1]:null}const Mr=/\b(?:calc|min|max|clamp)\(/,Pr=e=>{if(!Mr.test(e))return e;let t="";for(let n=0;n<e.length;n++){if(e.startsWith("var(",n)){let s=0;const i=n;for(;n<e.length;n++)if(e[n]==="(")s++;else if(e[n]===")"&&--s===0)break;t+=e.slice(i,Math.min(n+1,e.length));continue}const r=e[n];if(r==="+"||r==="-"){const s=t[t.length-1]??"";if(!(r==="-"&&(s==="e"&&"btlr".includes(e[n+1]??"")||e.slice(Math.max(0,n-7),n)==="comfort"))&&/[\w%.)]/.test(s)){for(t=t.trimEnd()+" "+r+" ";e[n+1]===" ";)n++;continue}}t+=r}return t.replace(/\d*\.\d+|\d+/g,(n,r,s)=>{const i=s.slice(0,r).trimEnd(),o=s.slice(r+n.length).trimStart();return/[\w.%]$/.test(i)||/^[\w.%]/.test(o)||/[*/]$/.test(i)||/^[*/]/.test(o)?n:n+"px"})},Ir={top:"12px",bottom:"4px",left:"16px",right:"16px"},cn=e=>`max(var(--safe-${e}, 0px), calc(var(--safe-${e}-bar, 0px) + var(--comfort-${e}, ${Ir[e]})))`,Dr={vw:"cqw",vh:"cqh",vmin:"cqmin",vmax:"cqmax"},Te=e=>Pr(e).replace(new RegExp("(?<![-\\w])comfort-(top|bottom|left|right)\\b","g"),(t,n)=>cn(n)).replace(new RegExp("(?<![-\\w])safe-(top|bottom|left|right)\\b","g"),(t,n)=>`var(--safe-${n}, 0px)`).replace(/(\d)(vmin|vmax|vw|vh)\b/g,(t,n,r)=>n+Dr[r]),ft=/^-?\d*\.?\d+$/,ee=e=>{if(typeof e=="number")return e+"px";const t=String(e).trim();return ft.test(t)?t+"px":Te(t)},ke=e=>{if(typeof e=="number")return"#"+(e>>>0).toString(16).padStart(e<=16777215?6:8,"0");const t=String(e);return t==="clear"?"transparent":t},Br=/^(rotate|skew)/,Vr=/^translate/,zr=e=>{const t=String(e).trim();return t===""||t==="identity"?"none":t.replace(/([a-zA-Z0-9]+)\s*\(([^)]*)\)/g,(n,r,s)=>{const i=Vr.test(r)?"px":Br.test(r)?"deg":null;return i===null?n:`${r}(${s.split(",").map(o=>{const f=o.trim();return ft.test(f)?f+i:Te(f)}).join(", ")})`})},ln=e=>typeof e=="number"?e+"px":String(e).trim().split(/\s+/).map(t=>ft.test(t)?t+"px":Te(t)).join(" "),J=0,Q=1,ve=2,Ne=["top","right","bottom","left"],Wr=(e,t)=>e==="safe-all"?`var(--safe-${t}, 0px)`:e==="comfort-all"||e==="comfort-x"||e==="comfort-y"?cn(t):ee(e),st=(e,t)=>{const n=(s,i)=>({rank:i,to:o=>s.map(f=>[t(f),Wr(o,f)])}),r=s=>({rank:Q,to:i=>[[t(s),ee(i)]]});return{[e]:n(Ne,J),[`${e}Horizontal`]:n(["left","right"],Q),[`${e}Vertical`]:n(["top","bottom"],Q),[`${e}Start`]:r("inline-start"),[`${e}End`]:r("inline-end"),[`${e}Top`]:n(["top"],ve),[`${e}Right`]:n(["right"],ve),[`${e}Bottom`]:n(["bottom"],ve),[`${e}Left`]:n(["left"],ve)}},Gr=()=>{const e=st("border",n=>`border-${n}-width`),t={};for(const n of Object.keys(e))t[`${n}Width`]=e[n];return t},dt=e=>{const t=[];let n=0,r="";for(const s of e.trim()){if(s==="("&&n++,s===")"&&n--,/\s/.test(s)&&n===0){r&&t.push(r),r="";continue}r+=s}return r&&t.push(r),t},jr=new Set(["none","solid","dashed","dotted","double","hidden"]),Hr=/^-?\d*\.?\d+([a-z%]*)$|^(calc|min|max|clamp)\(/,ye=(e,t)=>({rank:t,to:n=>{let r=null,s=null,i=null;if(typeof n=="number")r=n+"px";else for(const f of dt(String(n)))jr.has(f)?i=f:Hr.test(f)?r=ee(f):s=ke(f);const o=[];for(const f of e)o.push([`border-${f}-width`,r??(s?"1px":"0px")]),o.push([`border-${f}-color`,s??"transparent"]),i&&o.push([`border-${f}-style`,i]);return o}}),Kr=e=>{const t=String(e).trim(),n=(i,o,f)=>[["flex-grow",i],["flex-shrink",o],["flex-basis",f]];if(t==="none")return n("0","0","auto");if(t==="auto")return n("1","1","auto");if(t==="initial")return n("0","1","auto");const r=dt(t),s=i=>i!==void 0&&/^-?\d*\.?\d+$/.test(i);return s(r[0])?r.length===1?n(r[0],"1","0%"):s(r[1])?n(r[0],r[1],r[2]!==void 0?ee(r[2]):"0%"):n(r[0],"1",ee(r[1])):n("1","1",ee(r[0]??"auto"))},un=e=>{var t;return typeof e=="object"&&e!==null&&"_h"in e&&typeof((t=e._h)==null?void 0:t.id)=="number"},Yr=e=>e.replace(/<svg\b[^>]*>/,t=>t.replace(/\spreserveAspectRatio\s*=\s*("[^"]*"|'[^']*')/,"").replace(/^<svg\b/,'<svg preserveAspectRatio="none"')),fn=(e,t)=>{if(un(e))return`url("${t.bufferUrl(e._h.id)}")`;const n=String(e??"");return n===""?"none":n.startsWith("id:")?`url("${t.bufferUrl(Number(n.slice(3)))}")`:n.startsWith("svg:")?`url("${an(Yr(n.slice(4)))}")`:`url("${n.replace(/["\\\n]/g,r=>"\\"+r)}")`},qr=/^\s*(repeating-)?(linear|radial|conic)-gradient\(/,dn=e=>{const t=String(e??"").trim();return t===""?"none":Te(t)},Xr=(e,t)=>{const n=typeof e=="string"&&qr.test(e),r=un(e)||typeof e=="string"&&/^(id:|https?:|data:|blob:|\.{0,2}\/)/.test(e);return[["--lc-bg-grad",n?dn(e):"none"],["--lc-bg-img",r?fn(e,t):"none"],["background-color",n||r?"transparent":ke(e)]]},Jr=e=>{const t=typeof e=="number"?[e+"px"]:dt(String(e)).map(o=>ln(o)),[n,r=n,s=n,i=r]=t;return[["border-top-left-radius",n??"0px"],["border-top-right-radius",r??"0px"],["border-bottom-right-radius",s??"0px"],["border-bottom-left-radius",i??"0px"]]},Qr=new Set(["serif","sans-serif","monospace","cursive","fantasy","system-ui","ui-monospace","ui-sans-serif","ui-serif","inherit"]),Zr=e=>{const t=String(e).trim();return t==="monospaced"?"monospace":t.startsWith("var(")||t.includes(",")||/^["']/.test(t)||Qr.has(t)?t:`"${t.replace(/"/g,'\\"')}"`},eo=e=>e===!0||e==="true"||typeof e=="number"&&e>.5||e==="1",to=e=>t=>e[String(t)]??String(t),Le={width:{css:"width",as:"len"},height:{css:"height",as:"len"},minWidth:{css:"min-width",as:"len"},minHeight:{css:"min-height",as:"len"},maxWidth:{css:"max-width",as:"len"},maxHeight:{css:"max-height",as:"len"},flexBasis:{css:"flex-basis",as:"len"},flexGrow:{css:"flex-grow",as:"num"},flexShrink:{css:"flex-shrink",as:"num"},aspectRatio:{css:"aspect-ratio",as:"num"},gap:{css:["row-gap","column-gap"],as:"len",rank:J},rowGap:{css:"row-gap",as:"len"},columnGap:{css:"column-gap",as:"len"},...st("padding",e=>`padding-${e}`),...st("margin",e=>`margin-${e}`),inset:{css:Ne,as:"len",rank:J},top:{css:"top",as:"len"},right:{css:"right",as:"len"},bottom:{css:"bottom",as:"len"},left:{css:"left",as:"len"},start:{css:"inset-inline-start",as:"len",rank:Q},end:{css:"inset-inline-end",as:"len",rank:Q},flexDirection:{css:"flex-direction",as:"raw"},justifyContent:{css:"justify-content",as:"raw"},alignItems:{css:"align-items",as:"raw"},alignSelf:{css:"align-self",as:"raw"},position:{css:"position",as:"raw"},flexWrap:{css:"flex-wrap",as:"raw"},boxSizing:{css:"box-sizing",as:"raw"},display:{css:"display",as:"raw"},overflow:{rank:J,to:e=>{const t=e==="scroll"?"auto":String(e);return[["overflow-x",t],["overflow-y",t]]}},scrollDirection:{to:e=>e==="horizontal"?[["overflow-x","auto"],["overflow-y","hidden"],["flex-direction","row"]]:e==="all"?[["overflow-x","auto"],["overflow-y","auto"]]:[["overflow-x","hidden"],["overflow-y","auto"],["flex-direction","column"]],rank:Q},...Gr(),color:{css:"color"},backgroundColor:{css:"background-color"},borderColor:{css:Ne.map(e=>`border-${e}-color`),rank:J},borderTopColor:{css:"border-top-color"},borderRightColor:{css:"border-right-color"},borderBottomColor:{css:"border-bottom-color"},borderLeftColor:{css:"border-left-color"},placeholderColor:{css:"--lc-placeholder"},refreshControlColor:{css:"--lc-refresh"},tintColor:{css:"--lc-tint"},overlayColor:{css:"--lc-overlay"},rippleColor:{none:"a browser has no ripple: the press feedback of a page is `$pressed`"},backgroundImage:{to:(e,t)=>[["--lc-bg-img",fn(e,t)]]},backgroundGradient:{to:e=>[["--lc-bg-grad",dn(e)]]},backgroundSize:{to:e=>e==="tile"?[["background-size","auto"],["background-repeat","repeat"],["background-position","0 0"]]:[["background-size",e==="fill"?"100% 100%":String(e)],["background-repeat","no-repeat"],["background-position","center"]]},borderRadius:{to:Jr,rank:J},borderTopLeftRadius:{css:"border-top-left-radius"},borderTopRightRadius:{css:"border-top-right-radius"},borderBottomRightRadius:{css:"border-bottom-right-radius"},borderBottomLeftRadius:{css:"border-bottom-left-radius"},opacity:{css:"opacity"},transform:{to:e=>[["transform",zr(e)]]},transformOrigin:{css:"transform-origin",as:"lens"},pointerEvents:{to:e=>[["pointer-events",e==="none"?"none":"auto"]]},dim:{css:"--lc-dim"},fontSize:{css:"font-size"},fontWeight:{css:"font-weight",as:"raw"},fontStyle:{to:e=>[["font-style",e===2?"italic":e===0?"normal":String(e)]]},fontFamily:{to:e=>[["font-family",Zr(e)]]},lineHeight:{to:e=>[["line-height",e==="normal"?"1.2":ee(e)]]},letterSpacing:{css:"letter-spacing"},textAlign:{css:"text-align"},textDecoration:{css:"text-decoration-line"},lineClamp:{rank:J,to:e=>Number(e)>0?[["display","-webkit-box"],["-webkit-box-orient","vertical"],["-webkit-line-clamp",String(Math.round(Number(e)))],["overflow-x","hidden"],["overflow-y","hidden"]]:[["-webkit-line-clamp","none"]]},textOverflow:{css:"text-overflow"},objectFit:{to:e=>[["object-fit",String(e)],["--lc-fit",e==="fill"?"100% 100%":String(e)]]},placeholder:{attr:!0},type:{attr:!0},enterKey:{attr:!0},autocapitalize:{attr:!0},autocorrect:{attr:!0},maxLength:{attr:!0},keyboardShrink:{attr:!0},keyboardDismiss:{attr:!0},showScrollbar:{to:e=>[["scrollbar-width",eo(e)?"thin":"none"]]},overscrollMode:{to:e=>[["overscroll-behavior",to({default:"auto",none:"none",absorb:"contain"})(e)]]},keyboardDismissMode:{attr:!0},snap:{to:e=>e==="none"?[["scroll-snap-type","none"],["--lc-snap","none"]]:[["scroll-snap-type","both mandatory"],["--lc-snap",String(e)]]},sheetDetents:{attr:!0},sheetDetent:{attr:!0},sheetDismissible:{attr:!0},background:{to:Xr,rank:J},border:ye(Ne,J),borderTop:ye(["top"],Q),borderRight:ye(["right"],Q),borderBottom:ye(["bottom"],Q),borderLeft:ye(["left"],Q),flex:{to:Kr,rank:J}},qe=e=>$r[e]??e,no=e=>e in Le,pn=e=>{const t=Le[e];return!!t&&"attr"in t},ro={overflow:"overflow-x",pointerEvents:"pointer-events",fontFamily:"font-family",fontStyle:"font-style",lineHeight:"line-height",objectFit:"object-fit",transform:"transform",borderRadius:"border-top-left-radius",borderWidth:"border-top-width",borderColor:"border-top-color",backgroundImage:"--lc-bg-img",backgroundGradient:"--lc-bg-grad",backgroundSize:"background-size",showScrollbar:"scrollbar-width",overscrollMode:"overscroll-behavior",snap:"--lc-snap",lineClamp:"-webkit-line-clamp",borderTopWidth:"border-top-width",borderRightWidth:"border-right-width",borderBottomWidth:"border-bottom-width",borderLeftWidth:"border-left-width",borderHorizontalWidth:"border-left-width",borderVerticalWidth:"border-top-width",borderStartWidth:"border-inline-start-width",borderEndWidth:"border-inline-end-width"},oo=e=>{const t=Le[e];return t&&"css"in t&&typeof t.css=="string"?t.css:ro[e]??null},so={len:ee,lens:ln,num:e=>String(e),raw:e=>String(e),color:ke},io={color:"color",len:"len",enum:"raw",num:"num",str:"raw",layout:"raw"},$t=e=>{const t=Le[e];return t&&"rank"in t&&t.rank!==void 0?t.rank:ve},Xe=(e,t,n)=>{const r=[...e].filter(([,i])=>i!=null);r.sort((i,o)=>$t(i[0])-$t(o[0]));const s=new Map;for(const[i,o]of r){const f=Le[i];if(!f){n==null||n(i);continue}if("attr"in f||"none"in f)continue;if("to"in f){for(const[b,E]of f.to(o,t))s.set(b,E);continue}const l=so[f.as??io[Pe[i]??"layout"]],d=l(o);if(typeof f.css=="string")s.set(f.css,d);else for(const b of f.css)s.set(b,d)}return s},Ot=e=>[...e].sort((t,n)=>t[0]<n[0]?-1:t[0]>n[0]?1:0).map(([t,n])=>`${t}:${n}`).join(";"),mn=0,hn=1,Se=2,_e=3,gn=4,de=65,Ie=1.70158,Re=Ie*1.525,Ut=Ie+1,Nt=2*Math.PI/3,Ft=2*Math.PI/4.5,Ce=e=>e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375,it=[["linear",e=>e],["inSine",e=>1-Math.cos(e*Math.PI/2)],["outSine",e=>Math.sin(e*Math.PI/2)],["inOutSine",e=>-(Math.cos(Math.PI*e)-1)/2],["inQuad",e=>e*e],["outQuad",e=>1-(1-e)*(1-e)],["inOutQuad",e=>e<.5?2*e*e:1-(-2*e+2)**2/2],["inCubic",e=>e*e*e],["outCubic",e=>1-(1-e)**3],["inOutCubic",e=>e<.5?4*e*e*e:1-(-2*e+2)**3/2],["inQuart",e=>e**4],["outQuart",e=>1-(1-e)**4],["inOutQuart",e=>e<.5?8*e**4:1-(-2*e+2)**4/2],["inExpo",e=>e===0?0:2**(10*e-10)],["outExpo",e=>e===1?1:1-2**(-10*e)],["inOutExpo",e=>e===0?0:e===1?1:e<.5?2**(20*e-10)/2:(2-2**(-20*e+10))/2],["inCirc",e=>1-Math.sqrt(1-e*e)],["outCirc",e=>Math.sqrt(1-(e-1)**2)],["inOutCirc",e=>e<.5?(1-Math.sqrt(1-(2*e)**2))/2:(Math.sqrt(1-(-2*e+2)**2)+1)/2],["inBack",e=>Ut*e*e*e-Ie*e*e],["outBack",e=>1+Ut*(e-1)**3+Ie*(e-1)**2],["inOutBack",e=>e<.5?(2*e)**2*((Re+1)*2*e-Re)/2:((2*e-2)**2*((Re+1)*(e*2-2)+Re)+2)/2],["inElastic",e=>e===0?0:e===1?1:-(2**(10*e-10))*Math.sin((e*10-10.75)*Nt)],["outElastic",e=>e===0?0:e===1?1:2**(-10*e)*Math.sin((e*10-.75)*Nt)+1],["inOutElastic",e=>e===0?0:e===1?1:e<.5?-(2**(20*e-10)*Math.sin((20*e-11.125)*Ft))/2:2**(-20*e+10)*Math.sin((20*e-11.125)*Ft)/2+1],["inBounce",e=>1-Ce(1-e)],["outBounce",Ce],["inOutBounce",e=>e<.5?(1-Ce(1-2*e))/2:(1+Ce(2*e-1))/2],["smoothstep",e=>e*e*(3-2*e)]],ao={in:"inQuad",out:"outQuad",inOut:"inOutQuad",easeIn:"inQuad",easeOut:"outQuad",easeInOut:"inOutQuad","ease-in":"inQuad","ease-out":"outQuad","ease-in-out":"inOutQuad"},co=e=>{const t=ao[e]??e;for(let n=0;n<it.length;n++)if(it[n][0]===t)return n;return-1},lo=[.25,.1,.25,1],Ae={kind:mn,p:[0,0,0,0]},uo=e=>{const t=new Float32Array(de);for(let n=0;n<de;n++)t[n]=e(n/(de-1));return t[0]=0,t[de-1]=1,t},fo=e=>{if(e===void 0)return Ae;if(typeof e=="function")return{kind:gn,p:[0,0,0,0],table:uo(e)};if(Array.isArray(e)){const[s,i,o,f]=e;return{kind:Se,p:[s,i,o,f]}}const t=e.trim();if(t==="linear")return Ae;if(t==="ease")return{kind:Se,p:lo};if(t==="steps")return{kind:_e,p:[1,0,0,0]};let n=/^steps\(\s*(\d+)\s*(?:,\s*(start|end|jump-start|jump-end)\s*)?\)$/.exec(t);if(n)return{kind:_e,p:[Math.max(1,parseInt(n[1],10)),n[2]==="start"||n[2]==="jump-start"?1:0,0,0]};if(n=/^cubic-bezier\(\s*([-\d.e]+)\s*,\s*([-\d.e]+)\s*,\s*([-\d.e]+)\s*,\s*([-\d.e]+)\s*\)$/.exec(t),n)return{kind:Se,p:[parseFloat(n[1]),parseFloat(n[2]),parseFloat(n[3]),parseFloat(n[4])]};const r=co(t);return r===0?Ae:r>0?{kind:hn,p:[r,0,0,0]}:(console.warn(`[tween] unknown easing "${t}" — using linear`),Ae)},po=(e,t,n,r,s)=>{const i=1-3*r+3*t,o=3*r-6*t,f=3*t,l=1-3*s+3*n,d=3*s-6*n,b=3*n;let E=e;for(let g=0;g<8;g++){const m=((i*E+o)*E+f)*E-e,a=(3*i*E+2*o)*E+f;if(Math.abs(m)<1e-6||Math.abs(a)<1e-6)break;E-=m/a}return E=Math.min(1,Math.max(0,E)),((l*E+d)*E+b)*E},mo=(e,t)=>{if(t<=0)return e.kind===_e&&e.p[1]===1?1/e.p[0]:0;if(t>=1)return 1;switch(e.kind){case hn:return it[e.p[0]][1](t);case Se:return po(t,e.p[0],e.p[1],e.p[2],e.p[3]);case _e:{const n=e.p[0];return e.p[1]===1?Math.min(1,Math.ceil(t*n)/n):Math.floor(t*n)/n}case gn:{const n=e.table,r=t*(de-1),s=Math.floor(r),i=n[s],o=n[Math.min(s+1,de-1)];return i+(o-i)*(r-s)}default:return t}},Mt=24,Pt=e=>String(Math.round(e*1e4)/1e4),ho="cubic-bezier(0.3333, 0, 0.6667, 1)",go=e=>{switch(e.kind){case mn:return"linear";case Se:return`cubic-bezier(${e.p.map(Pt).join(", ")})`;case _e:return`steps(${e.p[0]}, ${e.p[1]===1?"jump-start":"jump-end"})`}const t=[];for(let n=0;n<=Mt;n++)t.push(Pt(mo(e,n/Mt)));return`linear(${t.join(", ")})`},bo=e=>e===void 0||e==="smoothstep"?ho:go(fo(e)),bn=["lc-base","lc-bag","lc-own","lc-orient","lc-class","lc-hover","lc-press","lc-focus"],yo=["--lc-bg-grad","--lc-bg-img","--lc-tint","--lc-overlay","--lc-refresh","--lc-fit","--lc-src","--lc-src-tint","--lc-iw","--lc-ih","--lc-ir","--lc-crop-size","--lc-crop-pos"],yn="lc-app",Eo=`
|
|
3
|
-
@layer ${
|
|
1
|
+
var Dn=Object.defineProperty;var Bn=(e,t,n)=>t in e?Dn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var je=(e,t,n)=>Bn(e,typeof t!="symbol"?t+"":t,n);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const s of i)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerPolicy&&(s.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?s.credentials="include":i.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function r(i){if(i.ep)return;i.ep=!0;const s=n(i);fetch(i.href,s)}})();const Vn=e=>{if(typeof e=="string")return e;if(e instanceof Error)return e.stack?`${String(e)}
|
|
2
|
+
${e.stack}`:String(e);try{return JSON.stringify(e)}catch{return String(e)}},zn=(e,t)=>{const n=o=>{fetch(`${e}/log`,{method:"POST",body:JSON.stringify(o),headers:{"content-type":"application/json"},keepalive:!0}).catch(()=>{})};let r=-1;const i=async()=>{try{const{v:o}=await(await fetch(`${e}/version`,{cache:"no-store"})).json();typeof o=="number"&&t(o)}catch{}setTimeout(i,2500)};setTimeout(i,2500);const s=()=>{let o;try{o=new WebSocket(e.replace(/^http/,"ws")+"/ws")}catch{return}o.onopen=()=>o.send(JSON.stringify({type:"hello",v:r})),o.onmessage=l=>{let d={};try{d=JSON.parse(String(l.data))}catch{return}d.type==="reload"&&typeof d.v=="number"&&t(d.v)},o.onclose=()=>{setTimeout(s,2e3)}};return s(),{bundleUrl:o=>`${e}/bundle.js?t=web&v=${o}`,versionOf(o,l){const d=Number(o.headers.get("x-lecodes-v"));return o.headers.has("x-lecodes-v")&&Number.isFinite(d)?d:l},ran(o){r=o},log:(o,l)=>n({type:"log",level:o,text:l.map(Vn).join(" ")}),error:o=>n({type:"error",text:o})}},Wn=(e,t)=>{try{const n=new URL(e,t);return n.origin===new URL(t).origin&&(n.protocol==="http:"||n.protocol==="https:")?n.href:null}catch{return null}},Gn="modulepreload",Hn=function(e,t){return new URL(e,t).href},Et={},ce=function(t,n,r){let i=Promise.resolve();if(n&&n.length>0){let o=function(y){return Promise.all(y.map(k=>Promise.resolve(k).then(A=>({status:"fulfilled",value:A}),A=>({status:"rejected",reason:A}))))};const l=document.getElementsByTagName("link"),d=document.querySelector("meta[property=csp-nonce]"),f=(d==null?void 0:d.nonce)||(d==null?void 0:d.getAttribute("nonce"));i=o(n.map(y=>{if(y=Hn(y,r),y in Et)return;Et[y]=!0;const k=y.endsWith(".css"),A=k?'[rel="stylesheet"]':"";if(!!r)for(let E=l.length-1;E>=0;E--){const b=l[E];if(b.href===y&&(!k||b.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${y}"]${A}`))return;const p=document.createElement("link");if(p.rel=k?"stylesheet":Gn,k||(p.as="script"),p.crossOrigin="",p.href=y,f&&p.setAttribute("nonce",f),document.head.appendChild(p),k)return new Promise((E,b)=>{p.addEventListener("load",E),p.addEventListener("error",()=>b(new Error(`Unable to preload CSS for ${y}`)))})}))}function s(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return i.then(o=>{for(const l of o||[])l.status==="rejected"&&s(l.reason);return t().catch(s)})},wt="2.0.10",Ke=e=>{const t=e==null?void 0:e.match(/^(\d+)\.\d+\.\d+/);return t?Number(t[1]):null},jn=(e,t)=>Ke(e)!==null&&Ke(e)===Ke(t),Kn=(e,t="woff2")=>{const n=/^\/\/ fonts: (.+)$/m.exec(e);if(!n)return[];const r=[];for(const i of n[1].split(";")){const s=i.indexOf("=");if(s===-1)continue;const o=/^(.+)@(\d+)(i?)$/.exec(i.slice(0,s));o&&r.push({family:o[1],weight:parseInt(o[2],10),italic:o[3]==="i",url:i.slice(s+1).replace("{fmt}",t)})}return r},Yn=async(e,t,n=2e3)=>{const r=t??(typeof document>"u"?void 0:document);if(!(r!=null&&r.fonts)||e.length===0)return;const i=[];for(const s of e)try{const o=new FontFace(s.family,`url("${s.url}")`,{weight:String(s.weight),style:s.italic?"italic":"normal"});r.fonts.add(o),i.push(o.load().catch(()=>{}))}catch{}await Promise.race([Promise.all(i),new Promise(s=>setTimeout(s,n))])},qn=e=>{var d,f,y,k;const t=e.slice(0,2e3),n=new Set,r=t.match(/\/\/ preload: (.+)/);if(r)for(const A of r[1].split(";"))n.add(A);const i=t.includes("// gl: disable")?"off":t.includes("// gl: defer")?"defer":"on",s=((d=t.match(/^\/\/ sdk: (\d+\.\d+\.\d+\S*)/m))==null?void 0:d[1])??null,o=((y=(f=t.match(/^\/\/ name: (.+)$/m))==null?void 0:f[1])==null?void 0:y.trim())??null,l=new Set((((k=t.match(/^\/\/ plugins: (.+)$/m))==null?void 0:k[1])??"").split(";").map(A=>A.trim()).filter(Boolean));return{sdk:s,name:o,preloads:n,gl:i,is2d:t.includes("// 2d: enable"),plugins:l,bootFonts:Kn(t)}},Xn=1,Jn=2,Qn=3,Zn=4,er=5,tr=6,St=7,nr=8,_t=9,rr=10,or=11,sr=12,ir=13,ar=14,lr=15,cr=16,kt=17,ur=18,fr=19,Oe=20,ai=21,li=22,ci=23,ui=24,fi=25,dr=26,pr=27,hr=28,mr=29,Tt=30,Lt=31,gr=32,br=33,xt=34,Rt=35,Ct=36,Pe=1,yr=2,vr=4,de=8,Er=16,Ye=32,wr=64,qe=128,Sr=256,_r=512,kr=1024,Tr=2048,Lr=4096,At=8192,di=16384,xr=32768,Rr=1<<18,Cr=255,$t=256,Ot=512,Ar=1024,Q=0,$r=1,Or=2,Ur=3,De=4,be=255,un=e=>{const t=e.clientWidth;if(!t)return 1;const n=e.getBoundingClientRect().width;return n>0?n/t:1},Ut={text:{type:"text"},password:{type:"password"},search:{type:"search"},tel:{type:"tel"},email:{type:"email"},url:{type:"url"},number:{type:"text",mode:"numeric"},decimal:{type:"text",mode:"decimal"},date:{type:"date"},time:{type:"time"}},Nt=(e,t)=>e==null?t:e===!0||e==="true"||e==="1"||typeof e=="number"&&e>.5,oe=(e,t,n)=>{n===null?e.removeAttribute(t):e.getAttribute(t)!==n&&e.setAttribute(t,n)},Nr=(e,t)=>{if(e.type!=="input"&&e.type!=="textarea")return;const n=e.el,r=t("placeholder");if(oe(n,"placeholder",r==null?null:String(r)),e.type==="input"){const l=Ut[String(t("type")??"text")]??Ut.text,d=n;d.type!==l.type&&(d.type=l.type),oe(n,"inputmode",l.mode??null);const f=t("enterKey");oe(n,"enterkeyhint",f==null?null:String(f))}const i=t("autocapitalize");oe(n,"autocapitalize",i==null?null:String(i));const s=t("autocorrect");s==null?(oe(n,"autocorrect",null),oe(n,"spellcheck",null)):(oe(n,"autocorrect",Nt(s,!0)?"on":"off"),oe(n,"spellcheck",Nt(s,!0)?"true":"false"));const o=Number(t("maxLength")??0);oe(n,"maxlength",o>0?String(Math.round(o)):null)},Be={width:"layout",height:"layout",minWidth:"layout",minHeight:"layout",maxWidth:"layout",maxHeight:"layout",flexBasis:"layout",flexGrow:"layout",flexShrink:"layout",aspectRatio:"layout",gap:"layout",rowGap:"layout",columnGap:"layout",padding:"layout",paddingTop:"layout",paddingRight:"layout",paddingBottom:"layout",paddingLeft:"layout",paddingHorizontal:"layout",paddingVertical:"layout",paddingStart:"layout",paddingEnd:"layout",margin:"layout",marginTop:"layout",marginRight:"layout",marginBottom:"layout",marginLeft:"layout",marginHorizontal:"layout",marginVertical:"layout",marginStart:"layout",marginEnd:"layout",left:"layout",right:"layout",top:"layout",bottom:"layout",start:"layout",end:"layout",inset:"layout",flexDirection:"enum",justifyContent:"enum",alignItems:"enum",alignSelf:"enum",position:"enum",flexWrap:"enum",boxSizing:"enum",display:"enum",overflow:"enum",scrollDirection:"enum",borderWidth:"len",borderTopWidth:"len",borderRightWidth:"len",borderBottomWidth:"len",borderLeftWidth:"len",borderHorizontalWidth:"len",borderVerticalWidth:"len",borderStartWidth:"len",borderEndWidth:"len",color:"color",backgroundColor:"color",borderColor:"color",borderTopColor:"color",borderRightColor:"color",borderBottomColor:"color",borderLeftColor:"color",placeholderColor:"color",refreshControlColor:"color",tintColor:"color",rippleColor:"color",overlayColor:"color",backgroundImage:"str",backgroundSize:"enum",backgroundGradient:"str",borderRadius:"len",borderTopLeftRadius:"len",borderTopRightRadius:"len",borderBottomRightRadius:"len",borderBottomLeftRadius:"len",opacity:"num",transform:"str",transformOrigin:"str",pointerEvents:"enum",fontSize:"len",fontWeight:"num",fontStyle:"enum",fontFamily:"str",lineHeight:"len",letterSpacing:"len",textAlign:"enum",textDecoration:"enum",lineClamp:"num",textOverflow:"enum",objectFit:"enum",placeholder:"str",type:"enum",enterKey:"enum",autocapitalize:"enum",autocorrect:"num",maxLength:"num",keyboardShrink:"num",keyboardDismiss:"num",showScrollbar:"num",overscrollMode:"enum",keyboardDismissMode:"enum",snap:"enum",sheetDetents:"str",sheetDetent:"num",sheetDismissible:"num",dim:"num"},Mr={p:"padding",pt:"paddingTop",pr:"paddingRight",pb:"paddingBottom",pl:"paddingLeft",px:"paddingHorizontal",py:"paddingVertical",m:"margin",mt:"marginTop",mr:"marginRight",mb:"marginBottom",ml:"marginLeft",mx:"marginHorizontal",my:"marginVertical",bgColor:"backgroundColor",bgImage:"backgroundImage",bgSize:"backgroundSize",bgGradient:"backgroundGradient"},Fr=["placeholderColor","refreshControlColor","tintColor","rippleColor","overlayColor","backgroundGradient"],Pr={display:"flex",overflow:"visible",scrollDirection:"vertical",borderWidth:0,borderTopWidth:0,borderRightWidth:0,borderBottomWidth:0,borderLeftWidth:0,borderHorizontalWidth:0,borderVerticalWidth:0,borderStartWidth:0,borderEndWidth:0,backgroundColor:0,borderColor:0,borderTopColor:0,borderRightColor:0,borderBottomColor:0,borderLeftColor:0,backgroundImage:"",backgroundSize:"cover",borderRadius:0,borderTopLeftRadius:0,borderTopRightRadius:0,borderBottomRightRadius:0,borderBottomLeftRadius:0,opacity:1,transform:"identity",transformOrigin:"50% 50%",pointerEvents:"all",fontSize:14,fontWeight:400,fontStyle:"normal",lineHeight:"normal",letterSpacing:0,textAlign:"start",textDecoration:"none",lineClamp:0,textOverflow:"ellipsis",objectFit:"cover",placeholder:"",type:"text",enterKey:"done",autocapitalize:"sentences",autocorrect:1,maxLength:0,keyboardShrink:1,keyboardDismiss:1,showScrollbar:1,overscrollMode:"default",keyboardDismissMode:"interactive",snap:"none",sheetDetents:"",sheetDetent:0,sheetDismissible:1,dim:0},Ir=["duration","delay","layer","commit","loop","loopMode","name"];function fn(e){let t=e.trim();/\sxmlns\s*=/.test(t)||(t=t.replace(/<svg\b/,'<svg xmlns="http://www.w3.org/2000/svg"'));const n=new TextEncoder().encode(t);let r="";for(const i of n)r+=String.fromCharCode(i);return`data:image/svg+xml;base64,${btoa(r)}`}function Dr(e){const t=e.match(/viewBox\s*=\s*["']([^"']+)["']/);return t?t[1]:null}const Br=/\b(?:calc|min|max|clamp)\(/,Vr=e=>{if(!Br.test(e))return e;let t="";for(let n=0;n<e.length;n++){if(e.startsWith("var(",n)){let i=0;const s=n;for(;n<e.length;n++)if(e[n]==="(")i++;else if(e[n]===")"&&--i===0)break;t+=e.slice(s,Math.min(n+1,e.length));continue}const r=e[n];if(r==="+"||r==="-"){const i=t[t.length-1]??"";if(!(r==="-"&&(i==="e"&&"btlr".includes(e[n+1]??"")||e.slice(Math.max(0,n-7),n)==="comfort"))&&/[\w%.)]/.test(i)){for(t=t.trimEnd()+" "+r+" ";e[n+1]===" ";)n++;continue}}t+=r}return t.replace(/\d*\.\d+|\d+/g,(n,r,i)=>{const s=i.slice(0,r).trimEnd(),o=i.slice(r+n.length).trimStart();return/[\w.%]$/.test(s)||/^[\w.%]/.test(o)||/[*/]$/.test(s)||/^[*/]/.test(o)?n:n+"px"})},zr={top:"12px",bottom:"4px",left:"16px",right:"16px"},dn=e=>`max(var(--safe-${e}, 0px), calc(var(--safe-${e}-bar, 0px) + var(--comfort-${e}, ${zr[e]})))`,Wr={vw:"cqw",vh:"cqh",vmin:"cqmin",vmax:"cqmax"},Re=e=>Vr(e).replace(new RegExp("(?<![-\\w])comfort-(top|bottom|left|right)\\b","g"),(t,n)=>dn(n)).replace(new RegExp("(?<![-\\w])safe-(top|bottom|left|right)\\b","g"),(t,n)=>`var(--safe-${n}, 0px)`).replace(/(\d)(vmin|vmax|vw|vh)\b/g,(t,n,r)=>n+Wr[r]),pt=/^-?\d*\.?\d+$/,se=e=>{if(typeof e=="number")return e+"px";const t=String(e).trim();return pt.test(t)?t+"px":Re(t)},Ce=e=>{if(typeof e=="number")return"#"+(e>>>0).toString(16).padStart(e<=16777215?6:8,"0");const t=String(e);return t==="clear"?"transparent":t},Gr=/^(rotate|skew)/,Hr=/^translate/,jr=e=>{const t=String(e).trim();return t===""||t==="identity"?"none":t.replace(/([a-zA-Z0-9]+)\s*\(([^)]*)\)/g,(n,r,i)=>{const s=Hr.test(r)?"px":Gr.test(r)?"deg":null;return s===null?n:`${r}(${i.split(",").map(o=>{const l=o.trim();return pt.test(l)?l+s:Re(l)}).join(", ")})`})},pn=e=>typeof e=="number"?e+"px":String(e).trim().split(/\s+/).map(t=>pt.test(t)?t+"px":Re(t)).join(" "),ne=0,re=1,_e=2,Ie=["top","right","bottom","left"],Kr=(e,t)=>e==="safe-all"?`var(--safe-${t}, 0px)`:e==="comfort-all"||e==="comfort-x"||e==="comfort-y"?dn(t):se(e),at=(e,t)=>{const n=(i,s)=>({rank:s,to:o=>i.map(l=>[t(l),Kr(o,l)])}),r=i=>({rank:re,to:s=>[[t(i),se(s)]]});return{[e]:n(Ie,ne),[`${e}Horizontal`]:n(["left","right"],re),[`${e}Vertical`]:n(["top","bottom"],re),[`${e}Start`]:r("inline-start"),[`${e}End`]:r("inline-end"),[`${e}Top`]:n(["top"],_e),[`${e}Right`]:n(["right"],_e),[`${e}Bottom`]:n(["bottom"],_e),[`${e}Left`]:n(["left"],_e)}},Yr=()=>{const e=at("border",n=>`border-${n}-width`),t={};for(const n of Object.keys(e))t[`${n}Width`]=e[n];return t},ht=e=>{const t=[];let n=0,r="";for(const i of e.trim()){if(i==="("&&n++,i===")"&&n--,/\s/.test(i)&&n===0){r&&t.push(r),r="";continue}r+=i}return r&&t.push(r),t},qr=new Set(["none","solid","dashed","dotted","double","hidden"]),Xr=/^-?\d*\.?\d+([a-z%]*)$|^(calc|min|max|clamp)\(/,we=(e,t)=>({rank:t,to:n=>{let r=null,i=null,s=null;if(typeof n=="number")r=n+"px";else for(const l of ht(String(n)))qr.has(l)?s=l:Xr.test(l)?r=se(l):i=Ce(l);const o=[];for(const l of e)o.push([`border-${l}-width`,r??(i?"1px":"0px")]),o.push([`border-${l}-color`,i??"transparent"]),s&&o.push([`border-${l}-style`,s]);return o}}),Jr=e=>{const t=String(e).trim(),n=(s,o,l)=>[["flex-grow",s],["flex-shrink",o],["flex-basis",l]];if(t==="none")return n("0","0","auto");if(t==="auto")return n("1","1","auto");if(t==="initial")return n("0","1","auto");const r=ht(t),i=s=>s!==void 0&&/^-?\d*\.?\d+$/.test(s);return i(r[0])?r.length===1?n(r[0],"1","0%"):i(r[1])?n(r[0],r[1],r[2]!==void 0?se(r[2]):"0%"):n(r[0],"1",se(r[1])):n("1","1",se(r[0]??"auto"))},hn=e=>{var t;return typeof e=="object"&&e!==null&&"_h"in e&&typeof((t=e._h)==null?void 0:t.id)=="number"},Qr=e=>e.replace(/<svg\b[^>]*>/,t=>t.replace(/\spreserveAspectRatio\s*=\s*("[^"]*"|'[^']*')/,"").replace(/^<svg\b/,'<svg preserveAspectRatio="none"')),mn=(e,t)=>{if(hn(e))return`url("${t.bufferUrl(e._h.id)}")`;const n=String(e??"");return n===""?"none":n.startsWith("id:")?`url("${t.bufferUrl(Number(n.slice(3)))}")`:n.startsWith("svg:")?`url("${fn(Qr(n.slice(4)))}")`:`url("${n.replace(/["\\\n]/g,r=>"\\"+r)}")`},Zr=/^\s*(repeating-)?(linear|radial|conic)-gradient\(/,gn=e=>{const t=String(e??"").trim();return t===""?"none":Re(t)},eo=(e,t)=>{const n=typeof e=="string"&&Zr.test(e),r=hn(e)||typeof e=="string"&&/^(id:|https?:|data:|blob:|\.{0,2}\/)/.test(e);return[["--lc-bg-grad",n?gn(e):"none"],["--lc-bg-img",r?mn(e,t):"none"],["background-color",n||r?"transparent":Ce(e)]]},to=e=>{const t=typeof e=="number"?[e+"px"]:ht(String(e)).map(o=>pn(o)),[n,r=n,i=n,s=r]=t;return[["border-top-left-radius",n??"0px"],["border-top-right-radius",r??"0px"],["border-bottom-right-radius",i??"0px"],["border-bottom-left-radius",s??"0px"]]},no=new Set(["serif","sans-serif","monospace","cursive","fantasy","system-ui","ui-monospace","ui-sans-serif","ui-serif","inherit"]),ro=e=>{const t=String(e).trim();return t==="monospaced"?"monospace":t.startsWith("var(")||t.includes(",")||/^["']/.test(t)||no.has(t)?t:`"${t.replace(/"/g,'\\"')}"`},oo=e=>e===!0||e==="true"||typeof e=="number"&&e>.5||e==="1",so=e=>t=>e[String(t)]??String(t),Ae={width:{css:"width",as:"len"},height:{css:"height",as:"len"},minWidth:{css:"min-width",as:"len"},minHeight:{css:"min-height",as:"len"},maxWidth:{css:"max-width",as:"len"},maxHeight:{css:"max-height",as:"len"},flexBasis:{css:"flex-basis",as:"len"},flexGrow:{css:"flex-grow",as:"num"},flexShrink:{css:"flex-shrink",as:"num"},aspectRatio:{css:"aspect-ratio",as:"num"},gap:{css:["row-gap","column-gap"],as:"len",rank:ne},rowGap:{css:"row-gap",as:"len"},columnGap:{css:"column-gap",as:"len"},...at("padding",e=>`padding-${e}`),...at("margin",e=>`margin-${e}`),inset:{css:Ie,as:"len",rank:ne},top:{css:"top",as:"len"},right:{css:"right",as:"len"},bottom:{css:"bottom",as:"len"},left:{css:"left",as:"len"},start:{css:"inset-inline-start",as:"len",rank:re},end:{css:"inset-inline-end",as:"len",rank:re},flexDirection:{css:"flex-direction",as:"raw"},justifyContent:{css:"justify-content",as:"raw"},alignItems:{css:"align-items",as:"raw"},alignSelf:{css:"align-self",as:"raw"},position:{css:"position",as:"raw"},flexWrap:{css:"flex-wrap",as:"raw"},boxSizing:{css:"box-sizing",as:"raw"},display:{css:"display",as:"raw"},overflow:{rank:ne,to:e=>{const t=e==="scroll"?"auto":String(e);return[["overflow-x",t],["overflow-y",t]]}},scrollDirection:{to:e=>e==="horizontal"?[["overflow-x","auto"],["overflow-y","hidden"],["flex-direction","row"]]:e==="all"?[["overflow-x","auto"],["overflow-y","auto"]]:[["overflow-x","hidden"],["overflow-y","auto"],["flex-direction","column"]],rank:re},...Yr(),color:{css:"color"},backgroundColor:{css:"background-color"},borderColor:{css:Ie.map(e=>`border-${e}-color`),rank:ne},borderTopColor:{css:"border-top-color"},borderRightColor:{css:"border-right-color"},borderBottomColor:{css:"border-bottom-color"},borderLeftColor:{css:"border-left-color"},placeholderColor:{css:"--lc-placeholder"},refreshControlColor:{css:"--lc-refresh"},tintColor:{css:"--lc-tint"},overlayColor:{css:"--lc-overlay"},rippleColor:{none:"a browser has no ripple: the press feedback of a page is `$pressed`"},backgroundImage:{to:(e,t)=>[["--lc-bg-img",mn(e,t)]]},backgroundGradient:{to:e=>[["--lc-bg-grad",gn(e)]]},backgroundSize:{to:e=>e==="tile"?[["background-size","auto"],["background-repeat","repeat"],["background-position","0 0"]]:[["background-size",e==="fill"?"100% 100%":String(e)],["background-repeat","no-repeat"],["background-position","center"]]},borderRadius:{to,rank:ne},borderTopLeftRadius:{css:"border-top-left-radius"},borderTopRightRadius:{css:"border-top-right-radius"},borderBottomRightRadius:{css:"border-bottom-right-radius"},borderBottomLeftRadius:{css:"border-bottom-left-radius"},opacity:{css:"opacity"},transform:{to:e=>[["transform",jr(e)]]},transformOrigin:{css:"transform-origin",as:"lens"},pointerEvents:{to:e=>[["pointer-events",e==="none"?"none":"auto"]]},dim:{css:"--lc-dim"},fontSize:{css:"font-size"},fontWeight:{css:"font-weight",as:"raw"},fontStyle:{to:e=>[["font-style",e===2?"italic":e===0?"normal":String(e)]]},fontFamily:{to:e=>[["font-family",ro(e)]]},lineHeight:{to:e=>[["line-height",e==="normal"?"1.2":se(e)]]},letterSpacing:{css:"letter-spacing"},textAlign:{css:"text-align"},textDecoration:{css:"text-decoration-line"},lineClamp:{rank:ne,to:e=>Number(e)>0?[["display","-webkit-box"],["-webkit-box-orient","vertical"],["-webkit-line-clamp",String(Math.round(Number(e)))],["overflow-x","hidden"],["overflow-y","hidden"]]:[["-webkit-line-clamp","none"]]},textOverflow:{css:"text-overflow"},objectFit:{to:e=>[["object-fit",String(e)],["--lc-fit",e==="fill"?"100% 100%":String(e)]]},placeholder:{attr:!0},type:{attr:!0},enterKey:{attr:!0},autocapitalize:{attr:!0},autocorrect:{attr:!0},maxLength:{attr:!0},keyboardShrink:{attr:!0},keyboardDismiss:{attr:!0},showScrollbar:{to:e=>[["scrollbar-width",oo(e)?"thin":"none"]]},overscrollMode:{to:e=>[["overscroll-behavior",so({default:"auto",none:"none",absorb:"contain"})(e)]]},keyboardDismissMode:{attr:!0},snap:{to:e=>e==="none"?[["scroll-snap-type","none"],["--lc-snap","none"]]:[["scroll-snap-type","both mandatory"],["--lc-snap",String(e)]]},sheetDetents:{attr:!0},sheetDetent:{attr:!0},sheetDismissible:{attr:!0},background:{to:eo,rank:ne},border:we(Ie,ne),borderTop:we(["top"],re),borderRight:we(["right"],re),borderBottom:we(["bottom"],re),borderLeft:we(["left"],re),flex:{to:Jr,rank:ne}},Xe=e=>Mr[e]??e,io=e=>e in Ae,bn=e=>{const t=Ae[e];return!!t&&"attr"in t},ao={overflow:"overflow-x",pointerEvents:"pointer-events",fontFamily:"font-family",fontStyle:"font-style",lineHeight:"line-height",objectFit:"object-fit",transform:"transform",borderRadius:"border-top-left-radius",borderWidth:"border-top-width",borderColor:"border-top-color",backgroundImage:"--lc-bg-img",backgroundGradient:"--lc-bg-grad",backgroundSize:"background-size",showScrollbar:"scrollbar-width",overscrollMode:"overscroll-behavior",snap:"--lc-snap",lineClamp:"-webkit-line-clamp",borderTopWidth:"border-top-width",borderRightWidth:"border-right-width",borderBottomWidth:"border-bottom-width",borderLeftWidth:"border-left-width",borderHorizontalWidth:"border-left-width",borderVerticalWidth:"border-top-width",borderStartWidth:"border-inline-start-width",borderEndWidth:"border-inline-end-width"},lo=e=>{const t=Ae[e];return t&&"css"in t&&typeof t.css=="string"?t.css:ao[e]??null},co={len:se,lens:pn,num:e=>String(e),raw:e=>String(e),color:Ce},uo={color:"color",len:"len",enum:"raw",num:"num",str:"raw",layout:"raw"},Mt=e=>{const t=Ae[e];return t&&"rank"in t&&t.rank!==void 0?t.rank:_e},Je=(e,t,n)=>{const r=[...e].filter(([,s])=>s!=null);r.sort((s,o)=>Mt(s[0])-Mt(o[0]));const i=new Map;for(const[s,o]of r){const l=Ae[s];if(!l){n==null||n(s);continue}if("attr"in l||"none"in l)continue;if("to"in l){for(const[y,k]of l.to(o,t))i.set(y,k);continue}const d=co[l.as??uo[Be[s]??"layout"]],f=d(o);if(typeof l.css=="string")i.set(l.css,f);else for(const y of l.css)i.set(y,f)}return i},Ft=e=>[...e].sort((t,n)=>t[0]<n[0]?-1:t[0]>n[0]?1:0).map(([t,n])=>`${t}:${n}`).join(";"),yn=0,vn=1,Le=2,xe=3,En=4,me=65,Ve=1.70158,Ue=Ve*1.525,Pt=Ve+1,It=2*Math.PI/3,Dt=2*Math.PI/4.5,Ne=e=>e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375,lt=[["linear",e=>e],["inSine",e=>1-Math.cos(e*Math.PI/2)],["outSine",e=>Math.sin(e*Math.PI/2)],["inOutSine",e=>-(Math.cos(Math.PI*e)-1)/2],["inQuad",e=>e*e],["outQuad",e=>1-(1-e)*(1-e)],["inOutQuad",e=>e<.5?2*e*e:1-(-2*e+2)**2/2],["inCubic",e=>e*e*e],["outCubic",e=>1-(1-e)**3],["inOutCubic",e=>e<.5?4*e*e*e:1-(-2*e+2)**3/2],["inQuart",e=>e**4],["outQuart",e=>1-(1-e)**4],["inOutQuart",e=>e<.5?8*e**4:1-(-2*e+2)**4/2],["inExpo",e=>e===0?0:2**(10*e-10)],["outExpo",e=>e===1?1:1-2**(-10*e)],["inOutExpo",e=>e===0?0:e===1?1:e<.5?2**(20*e-10)/2:(2-2**(-20*e+10))/2],["inCirc",e=>1-Math.sqrt(1-e*e)],["outCirc",e=>Math.sqrt(1-(e-1)**2)],["inOutCirc",e=>e<.5?(1-Math.sqrt(1-(2*e)**2))/2:(Math.sqrt(1-(-2*e+2)**2)+1)/2],["inBack",e=>Pt*e*e*e-Ve*e*e],["outBack",e=>1+Pt*(e-1)**3+Ve*(e-1)**2],["inOutBack",e=>e<.5?(2*e)**2*((Ue+1)*2*e-Ue)/2:((2*e-2)**2*((Ue+1)*(e*2-2)+Ue)+2)/2],["inElastic",e=>e===0?0:e===1?1:-(2**(10*e-10))*Math.sin((e*10-10.75)*It)],["outElastic",e=>e===0?0:e===1?1:2**(-10*e)*Math.sin((e*10-.75)*It)+1],["inOutElastic",e=>e===0?0:e===1?1:e<.5?-(2**(20*e-10)*Math.sin((20*e-11.125)*Dt))/2:2**(-20*e+10)*Math.sin((20*e-11.125)*Dt)/2+1],["inBounce",e=>1-Ne(1-e)],["outBounce",Ne],["inOutBounce",e=>e<.5?(1-Ne(1-2*e))/2:(1+Ne(2*e-1))/2],["smoothstep",e=>e*e*(3-2*e)]],fo={in:"inQuad",out:"outQuad",inOut:"inOutQuad",easeIn:"inQuad",easeOut:"outQuad",easeInOut:"inOutQuad","ease-in":"inQuad","ease-out":"outQuad","ease-in-out":"inOutQuad"},po=e=>{const t=fo[e]??e;for(let n=0;n<lt.length;n++)if(lt[n][0]===t)return n;return-1},ho=[.25,.1,.25,1],Me={kind:yn,p:[0,0,0,0]},mo=e=>{const t=new Float32Array(me);for(let n=0;n<me;n++)t[n]=e(n/(me-1));return t[0]=0,t[me-1]=1,t},go=e=>{if(e===void 0)return Me;if(typeof e=="function")return{kind:En,p:[0,0,0,0],table:mo(e)};if(Array.isArray(e)){const[i,s,o,l]=e;return{kind:Le,p:[i,s,o,l]}}const t=e.trim();if(t==="linear")return Me;if(t==="ease")return{kind:Le,p:ho};if(t==="steps")return{kind:xe,p:[1,0,0,0]};let n=/^steps\(\s*(\d+)\s*(?:,\s*(start|end|jump-start|jump-end)\s*)?\)$/.exec(t);if(n)return{kind:xe,p:[Math.max(1,parseInt(n[1],10)),n[2]==="start"||n[2]==="jump-start"?1:0,0,0]};if(n=/^cubic-bezier\(\s*([-\d.e]+)\s*,\s*([-\d.e]+)\s*,\s*([-\d.e]+)\s*,\s*([-\d.e]+)\s*\)$/.exec(t),n)return{kind:Le,p:[parseFloat(n[1]),parseFloat(n[2]),parseFloat(n[3]),parseFloat(n[4])]};const r=po(t);return r===0?Me:r>0?{kind:vn,p:[r,0,0,0]}:(console.warn(`[tween] unknown easing "${t}" — using linear`),Me)},bo=(e,t,n,r,i)=>{const s=1-3*r+3*t,o=3*r-6*t,l=3*t,d=1-3*i+3*n,f=3*i-6*n,y=3*n;let k=e;for(let A=0;A<8;A++){const _=((s*k+o)*k+l)*k-e,p=(3*s*k+2*o)*k+l;if(Math.abs(_)<1e-6||Math.abs(p)<1e-6)break;k-=_/p}return k=Math.min(1,Math.max(0,k)),((d*k+f)*k+y)*k},yo=(e,t)=>{if(t<=0)return e.kind===xe&&e.p[1]===1?1/e.p[0]:0;if(t>=1)return 1;switch(e.kind){case vn:return lt[e.p[0]][1](t);case Le:return bo(t,e.p[0],e.p[1],e.p[2],e.p[3]);case xe:{const n=e.p[0];return e.p[1]===1?Math.min(1,Math.ceil(t*n)/n):Math.floor(t*n)/n}case En:{const n=e.table,r=t*(me-1),i=Math.floor(r),s=n[i],o=n[Math.min(i+1,me-1)];return s+(o-s)*(r-i)}default:return t}},Bt=24,Vt=e=>String(Math.round(e*1e4)/1e4),vo="cubic-bezier(0.3333, 0, 0.6667, 1)",Eo=e=>{switch(e.kind){case yn:return"linear";case Le:return`cubic-bezier(${e.p.map(Vt).join(", ")})`;case xe:return`steps(${e.p[0]}, ${e.p[1]===1?"jump-start":"jump-end"})`}const t=[];for(let n=0;n<=Bt;n++)t.push(Vt(yo(e,n/Bt)));return`linear(${t.join(", ")})`},wo=e=>e===void 0||e==="smoothstep"?vo:Eo(go(e)),wn=["lc-base","lc-bag","lc-own","lc-orient","lc-class","lc-hover","lc-press","lc-focus"],So=["--lc-bg-grad","--lc-bg-img","--lc-tint","--lc-overlay","--lc-refresh","--lc-fit","--lc-src","--lc-src-tint","--lc-iw","--lc-ih","--lc-ir","--lc-crop-size","--lc-crop-pos"],Sn="lc-app",_o=`
|
|
3
|
+
@layer ${wn.join(", ")};
|
|
4
4
|
|
|
5
5
|
@layer lc-base {
|
|
6
6
|
.lc-root {
|
|
7
7
|
position: relative;
|
|
8
8
|
overflow: hidden;
|
|
9
9
|
container-type: size;
|
|
10
|
-
container-name: ${
|
|
10
|
+
container-name: ${Sn};
|
|
11
11
|
color: var(--text, #fff);
|
|
12
12
|
font-family: var(--fontFamily, "Roboto"), system-ui, sans-serif;
|
|
13
13
|
font-size: 14px;
|
|
@@ -226,6 +226,16 @@ ${e.stack}`:String(e);try{return JSON.stringify(e)}catch{return String(e)}},In=(
|
|
|
226
226
|
@keyframes lc-spin { from { rotate: 0deg; } to { rotate: 360deg; } }
|
|
227
227
|
|
|
228
228
|
/* ---- widgets (../widgets.ts) */
|
|
229
|
+
/* A LAYER root (the app layer, a surface's content): the app's box, above the screens, letting
|
|
230
|
+
touches through — only its widgets' frames take one. */
|
|
231
|
+
.lc-layer {
|
|
232
|
+
position: absolute;
|
|
233
|
+
inset: 0;
|
|
234
|
+
z-index: 11;
|
|
235
|
+
pointer-events: none;
|
|
236
|
+
}
|
|
237
|
+
/* A widget held on screen through its exit pose: the tracks play, then its own display none takes effect. */
|
|
238
|
+
.lc-widget.lc-leaving { display: flex !important; }
|
|
229
239
|
.lc-widget-frame {
|
|
230
240
|
position: absolute;
|
|
231
241
|
inset: 0;
|
|
@@ -235,7 +245,8 @@ ${e.stack}`:String(e);try{return JSON.stringify(e)}catch{return String(e)}},In=(
|
|
|
235
245
|
align-items: center;
|
|
236
246
|
overflow: hidden;
|
|
237
247
|
pointer-events: none;
|
|
238
|
-
/*
|
|
248
|
+
/* the default text style of the root it is in (the frame inherits its parent's scope; a
|
|
249
|
+
hoisted frame carries its page's — widgets.ts mirror) */
|
|
239
250
|
color: var(--text, #fff);
|
|
240
251
|
font-family: var(--fontFamily, "Roboto"), system-ui, sans-serif;
|
|
241
252
|
}
|
|
@@ -271,8 +282,8 @@ ${e.stack}`:String(e);try{return JSON.stringify(e)}catch{return String(e)}},In=(
|
|
|
271
282
|
}
|
|
272
283
|
.lc-toast.lc-on { opacity: 1; transform: none; }
|
|
273
284
|
}
|
|
274
|
-
`,vo=e=>{const t=e.defaultView??window;try{t.CSS.registerProperty({name:"--lc-dim",syntax:"<number>",inherits:!0,initialValue:"0"})}catch{}for(const l of yo)try{t.CSS.registerProperty({name:l,syntax:"*",inherits:!1})}catch{}const n=e.createElement("style");n.setAttribute("data-lecodes-lite",""),n.textContent=Eo,e.head.appendChild(n);const r=n.sheet,s=(l,d)=>{const b=l.insertRule(d,l.cssRules.length);return l.cssRules[b]},i=(l,d)=>{const b=l.cssRules;for(let E=b.length-1;E>=0;E--)if(b[E]===d){l.deleteRule(E);return}},o=new Map,f=(l,d)=>{const b=d===void 0?l:`${l}.${d}`;let E=o.get(b);return E||(E=d===void 0?s(r,`@layer ${l} {}`):s(f(l),`@layer ${d} {}`),o.set(b,E)),E};for(const l of bn)l!=="lc-base"&&f(l);return{insert(l,d,b){const E=f(l,b),g=s(E,d);return{remove:()=>i(E,g)}},own(l){const d=f("lc-own"),b=s(d,`${l} {}`);return{set:(E,g)=>b.style.setProperty(E,g),unset:E=>{b.style.removeProperty(E)},remove:()=>i(d,b)}},destroy(){n.remove()}}},at="lc-i";let wo=1;const Je=new Map,En=e=>{let t=Je.get(e);return t||Je.set(e,t=`lc-c${Je.size+1}`),t},So=(e,t)=>{const n=`{${t.text}}`,r=s=>`${s} .${e}, .${e}${s}`;switch(t.name){case"pressed":return{layer:"lc-press",text:`${r(`.${at}:active`)} ${n}`};case"hovered":return{layer:"lc-hover",text:`@media (hover: hover) { ${r(`.${at}:hover`)} ${n} }`};case"focused":return{layer:"lc-focus",text:`${r(".lc:focus-visible")} ${n}`};case"landscape":case"portrait":return{layer:"lc-orient",text:`@container ${yn} (orientation: ${t.name}) { .${e} ${n} }`};default:{const s=En(t.name);return{layer:"lc-class",sub:s,text:`${r(`.${s}`)} ${n}`}}}},_o=e=>e.base+""+e.transition+e.blocks.map(t=>`${t.name}${t.text}`).join(""),To=256,ko=e=>{const t=new Map,n=new Set,r=()=>{let s=n.size>>1;for(const i of n){if(s--<=0)break;for(const o of i.rules)o.remove();n.delete(i),t.delete(i.key)}};return{acquire(s){const i=_o(s);let o=t.get(i);if(o)return o.refs===0&&n.delete(o),o.refs++,o;const f=`lc-s${wo++}`,l=[],d=s.transition?`${s.base?";":""}transition:${s.transition}`:"";l.push(e.insert("lc-bag",`.${f} {${s.base}${d}}`));for(const b of s.blocks){const E=So(f,b);l.push(e.insert(E.layer,E.text,E.sub))}return t.set(i,o={name:f,key:i,refs:1,rules:l}),o},release(s){--s.refs>0||(n.add(s),n.size>To&&r())},count:()=>({live:t.size-n.size,idle:n.size})}},Lo=()=>({base:new Map,own:new Map,blocks:new Map,cls:null,rule:null,applied:new Map,dirty:!1}),It=new Set([...Nr,"easing"]),xo=e=>typeof e=="object"&&e!==null&&!Array.isArray(e)&&!("_h"in e),Ro=(e,t,n,r)=>{const s=new Set;let i=!1;const o=new Set,f=h=>{o.has(h)||(o.add(h),r(`style: "${h}" is not a style property — ignored`))};let l=null,d=null;const b=h=>{h.style.dirty=!0,s.add(h),!i&&(i=!0,queueMicrotask(a))},E=h=>{const y=h.style,R=Xe(y.own,n,f);if(!(R.size===0&&!y.rule)){y.rule||(y.rule=e.own(`.lc-n${h.id}`),h.el.classList.add(`lc-n${h.id}`));for(const O of y.applied.keys())R.has(O)||y.rule.unset(O);for(const[O,A]of R)y.applied.get(O)!==A&&y.rule.set(O,A);y.applied=R}},g=(h,y)=>{const R=new Map;for(const[O,A]of h){if(!(A.duration>0))continue;const k=`${A.duration}ms ${bo(A.easing)} ${A.delay}ms`;for(const U of y.get(O).keys())U.startsWith("--")||R.set(U,`${U} ${k}`)}return[...R.values()].join(", ")},m=h=>{const y=h.style;y.dirty=!1;const R=Ot(Xe(y.base,n,f)),O=new Map,A=[];for(const[U,N]of y.blocks){const v=Xe(N.props,n,f);O.set(U,v),v.size>0&&A.push({name:U,text:Ot(v)})}const k=y.cls;R===""&&A.length===0?y.cls=null:y.cls=t.acquire({base:R,blocks:A,transition:g(y.blocks,O)}),k!==y.cls&&(k&&h.el.classList.remove(k.name),y.cls&&h.el.classList.add(y.cls.name)),k&&t.release(k),l==null||l(h)};function a(){if(i=!1,s.size===0)return;const h=[...s];s.clear();for(const y of h)y.style.dirty&&m(y)}const p=(h,y,R)=>{if(R==null){h.blocks.delete(y);return}if(!xo(R))return;let O=h.blocks.get(y);O||h.blocks.set(y,O={props:new Map,duration:0,delay:0,easing:void 0});for(const A of Object.keys(R)){const k=R[A];if(A==="duration"){O.duration=Number(k)||0;continue}if(A==="delay"){O.delay=Number(k)||0;continue}if(A==="easing"){O.easing=k;continue}if(It.has(A)||A[0]==="$")continue;const U=qe(A);O.props.delete(U),k!=null&&O.props.set(U,k)}};return{flush:a,set onChange(h){l=h},set onWrite(h){d=h},merge(h,y){const R=h.style;let O=!1;for(const A of Object.keys(y)){const k=y[A];if(A[0]==="$"){p(R,A.slice(1),k);continue}if(It.has(A))continue;const U=qe(A);R.base.delete(U),k!=null&&R.base.set(U,k),R.own.delete(U)&&(O=!0),d==null||d(h,U)}O&&E(h),b(h)},set(h,y,R){const O=h.style;if(y[0]==="$"){p(O,y.slice(1),R),b(h);return}const A=qe(y);if(!no(A)){f(A);return}d==null||d(h,A),R==null?(O.own.delete(A),O.base.delete(A)&&b(h)):O.own.set(A,R),E(h),(pn(A)||A==="tintColor")&&(l==null||l(h))},setClass(h,y,R){h.el.classList.toggle(En(y),R)},value(h,y){const R=h.style;return R.own.has(y)?R.own.get(y):R.base.get(y)},owns(h,y){return h.style.own.has(y)||h.style.base.has(y)},names(h,y){const R=h.style;if(R.own.has(y)||R.base.has(y))return!0;for(const O of R.blocks.values())if(O.props.has(y))return!0;return!1},drop(h){const y=h.style;s.delete(h),y.cls&&(t.release(y.cls),y.cls=null),y.rule&&(y.rule.remove(),y.rule=null)}}},Co={button:"button",input:"input",textarea:"textarea",image:"img"},Ao=(e,t)=>{const n=e.createElement(Co[t]??"div");if(n.className=`lc lc-${t}`,t==="button"&&(n.type="button"),t==="image"){const r=n;r.alt="",r.decoding="async",r.draggable=!1}return n},$o=(e,t,n)=>({id:t,type:n,el:Ao(e,n),parent:null,flags:0,held:!0,rooted:!1,token:{},style:Lo(),strings:new Map}),vn=Symbol("lecodes.node"),pe=e=>e==null?void 0:e[vn],wn=e=>{e.el[vn]=e,e.el.setAttribute("data-node",String(e.id))},Fe=e=>{const t=[];for(let n=e.el.firstElementChild;n;n=n.nextElementSibling){const r=pe(n);r&&r.parent===e&&t.push(r)}return t},Qe=(e,t=",")=>{const n=[];let r=0,s="";for(const i of e){if(i==="("&&r++,i===")"&&r--,i===t&&r===0){n.push(s.trim()),s="";continue}s+=i}return s.trim()!==""&&n.push(s.trim()),n},Dt={"to top":0,"to right":90,"to bottom":180,"to left":270,"to top right":45,"to right top":45,"to bottom right":135,"to right bottom":135,"to bottom left":225,"to left bottom":225,"to top left":315,"to left top":315},Oo=e=>{if(e in Dt)return Dt[e];const t=/^(-?[\d.]+)(deg|rad|turn|grad)$/.exec(e);if(!t)return null;const n=parseFloat(t[1]);return t[2]==="deg"?n:t[2]==="rad"?n*180/Math.PI:t[2]==="turn"?n*360:n*.9},Uo=(e,t)=>{const n=[];for(const r of Qe(e.trim())){const s=/^(?:repeating-)?(linear|radial)-gradient\((.*)\)$/s.exec(r);if(!s)return null;const i=s[1],o=Qe(s[2]);let f=i==="linear"?180:0;if(o.length>0){const d=o[0],b=i==="linear"?Oo(d):null;b!==null?(f=b,o.shift()):i==="radial"&&/\b(circle|ellipse|at|closest|farthest)\b/.test(d)&&o.shift()}const l=[];for(const d of o){const b=Qe(d," "),E=b[b.length-1],g=b.length>1&&/^-?[\d.]+%$/.test(E),m=g?b.slice(0,-1).join(" "):d;l.push({color:t(m)??"#00000000",position:g?parseFloat(E)/100:null})}if(l.length===0)return null;l[0].position===null&&(l[0].position=0),l[l.length-1].position===null&&(l[l.length-1].position=1);for(let d=1;d<l.length-1;d++){if(l[d].position!==null)continue;let b=d;for(;l[b].position===null;)b++;const E=l[d-1].position,g=l[b].position;for(let m=d;m<b;m++)l[m].position=E+(g-E)*(m-d+1)/(b-d+1);d=b}n.push({type:i,angle:f,stops:l.map(d=>({color:d.color,position:d.position}))})}return n.length>0?n:null},No=Object.keys(Pe).filter(e=>Pe[e]!=="layout"),ne=e=>Math.max(0,Math.min(255,Math.round(e))).toString(16).padStart(2,"0"),Bt=e=>{const t=/^rgba?\(\s*([\d.]+)[,\s]+([\d.]+)[,\s]+([\d.]+)(?:\s*[,/]\s*([\d.]+%?))?\s*\)$/.exec(e.trim());if(t){const r=t[4]===void 0?1:t[4].endsWith("%")?parseFloat(t[4])/100:parseFloat(t[4]);return`#${ne(+t[1])}${ne(+t[2])}${ne(+t[3])}${ne(r*255)}`}const n=/^color\(srgb\s+([\d.]+)\s+([\d.]+)\s+([\d.]+)(?:\s*\/\s*([\d.]+))?\)$/.exec(e.trim());return n?`#${ne(+n[1]*255)}${ne(+n[2]*255)}${ne(+n[3]*255)}${ne((n[4]===void 0?1:+n[4])*255)}`:null},Fo=e=>{if(e==="none")return[1,0,0,0,1,0,0,0,1];const t=/^matrix\(([^)]+)\)$/.exec(e);if(!t)return null;const[n,r,s,i,o,f]=t[1].split(",").map(l=>parseFloat(l));return[n,r,0,s,i,0,o,f,1]},Vt={pointerEvents:{auto:"all"},overflow:{auto:"scroll"},display:{"-webkit-box":"flex",block:"flex"},showScrollbar:{none:"0",thin:"1",auto:"1"},overscrollMode:{auto:"default",contain:"absorb"},textAlign:{"-webkit-auto":"start"}},Mo=e=>{const t=e.root.ownerDocument,n=t.defaultView??window;let r=null;const s=d=>{r||(r=t.createElement("span"),r.style.cssText="position:absolute;visibility:hidden;pointer-events:none"),r.isConnected||e.root.appendChild(r),r.style.color="",r.style.color=d;const b=r.style.color===""?null:Bt(n.getComputedStyle(r).color);return r.remove(),b},i=(d,b,E,g)=>{var p,h;if(pn(b)){const y=e.value(d,b);return y==null?null:E==="num"?Number(y===!0?1:y===!1?0:y):String(y)}const m=oo(b);if(m===null)return null;const a=g.getPropertyValue(m).trim();if(a===""&&!d.el.isConnected)return o(d,b,E);if(a==="")return null;switch(E){case"color":return m.startsWith("--")?s(a):Bt(a);case"len":{const y=parseFloat(a);return Number.isFinite(y)?y:b==="lineHeight"?parseFloat(g.fontSize)*1.2:null}case"num":{if(b==="lineClamp")return a==="none"?0:parseFloat(a)||0;const y=parseFloat(((p=Vt[b])==null?void 0:p[a])??a);return Number.isFinite(y)?y:null}case"enum":return((h=Vt[b])==null?void 0:h[a])??a;default:return b==="backgroundGradient"?a==="none"?null:Uo(a,s):b==="transform"?Fo(a):b==="transformOrigin"?null:b==="fontFamily"?a.split(",")[0].trim().replace(/^["']|["']$/g,""):b==="backgroundImage"&&a==="none"?"":a}},o=(d,b,E)=>{const g=e.value(d,b)??Ur[b];if(g==null)return null;if(b==="transform")return g==="identity"||g==="none"?[1,0,0,0,1,0,0,0,1]:null;if(E==="color")return typeof g=="number"?`#${(g>>>0).toString(16).padStart(8,"0")}`:s(String(g));if(E==="len"||E==="num"){const m=typeof g=="number"?g:parseFloat(String(g));return Number.isFinite(m)?m:null}return String(g)},f=d=>{const b=n.getComputedStyle(d.el),E=[],g=[],m={};for(const a of No){const p=e.owns(d,a);p&&E.push(a);const h=i(d,a,Pe[a],b);if(Or.includes(a)&&!p&&(h===null||h==="none")){m[a]=null;continue}g.push(a),m[a]=h}return{present:g,dirty:[],own:E,...m}},l=d=>{const b=d.el,E={id:d.id,type:d.type},g=d.strings.get("name");g&&(E.name=g);const m=d.strings.get("text");return d.type==="text"&&m&&(E.text=m),(d.type==="input"||d.type==="textarea")&&(E.value=b.value),E.flags=d.flags,E.layout=[b.offsetLeft,b.offsetTop,b.offsetWidth,b.offsetHeight],E.paint=f(d),e.extend(d,E,l),E.children=e.held(d)?[]:Fe(d).map(l),E};return{dump(){return e.flush(),JSON.stringify({roots:e.roots().map(d=>({kind:d.kind,node:l(d.node)}))})},paint(d){return d?(e.flush(),JSON.stringify(f(d))):"null"}}},Ze=10,Po=500,Io=e=>{const{root:t,emit:n}=e,r=t.ownerDocument,s=r.defaultView??window,i=L=>{const T=t.getBoundingClientRect(),F=sn(t)||1;return[(L.clientX-T.left)/F,(L.clientY-T.top)/F]},o=(L,T)=>{for(let F=L instanceof Element?L:null;F&&F!==t;F=F.parentElement){if(e.boundary(F))return null;const C=pe(F);if(C&&(C.flags&T)!==0)return C}return null},f=new Map;let l=!1,d=null;const b=(L,T)=>{const F=typeof T=="number"?T:0;(F&xt)!==0&&(L.tracked=!0,L.wantsMove=(F&Rt)!==0,L.claim=F&kr)},E=L=>{s.clearTimeout(L.timer),f.delete(L.pointerId)},g=L=>{if(L.pointerType==="mouse"&&L.button!==0)return;const T=o(L.target,Oe),[F,C]=i(L);d=[F,C],l=!1;const $={pointerId:L.pointerId,node:T,startX:F,startY:C,moved:!1,tracked:!1,wantsMove:!1,claim:0,handled:!1,timer:0};if(f.set(L.pointerId,$),!T){const I=L.target instanceof Element?e.hit(L.target,F,C):null;I!==null&&b($,n(0,ur,L.pointerId,F,C,I));return}b($,n(T.id,Kn,L.pointerId,F,C)),(T.flags&hr)!==0&&($.timer=s.setTimeout(()=>{if(f.get($.pointerId)!==$||$.moved)return;const I=n(T.id,qn,$.pointerId,$.startX,$.startY),P=typeof I=="number"?I:0;(P&Lr)!==0&&($.handled=!0),b($,P)},Po))},m=L=>{const T=f.get(L.pointerId);if(T){const[F,C]=i(L);!T.moved&&Math.hypot(F-T.startX,C-T.startY)>Ze&&(T.moved=!0,s.clearTimeout(T.timer)),T.tracked&&T.wantsMove&&n(0,Xn,L.pointerId,F,C,F-T.startX,C-T.startY)}L.pointerType==="mouse"&&N(L)},a=L=>{const T=f.get(L.pointerId);if(!T)return;const[F,C]=i(L);T.tracked&&n(0,Jn,L.pointerId,F,C,F-T.startX,C-T.startY),(T.moved||T.handled)&&(l=!0),E(T)},p=L=>{const T=f.get(L.pointerId);T&&(T.tracked&&n(0,Et,L.pointerId),l=!0,E(T))},h=L=>{if(L.cancelable){for(const T of f.values())if(T.tracked&&T.claim!==0){L.preventDefault();return}}},y=L=>{if(l){l=!1;return}const T=o(L.target,Oe);if(!T&&L.target instanceof Element){const[$,I]=i(L);if(d&&Math.hypot($-d[0],I-d[1])>Ze)return;const P=e.hit(L.target,$,I);P!==null&&n(0,fr,L.pointerId??0,$,I,P);return}if(!T||(T.flags&mr)===0)return;let F,C;if(L.detail===0&&L.clientX===0&&L.clientY===0){const $=T.el.getBoundingClientRect();[F,C]=i({clientX:$.left+$.width/2,clientY:$.top+$.height/2})}else if([F,C]=i(L),d&&Math.hypot(F-d[0],C-d[1])>Ze)return;n(T.id,Yn,L.pointerId??0,F,C)};let R=null,O=!1,A=!1,k=[0,0];const U=(L,T)=>{R&&O&&(L===kt?n(0,L):n(0,L,T[0],T[1],T[0]-k[0],T[1]-k[1])),R=null,O=!1,A=!1};function N(L){const T=i(L),F=t.contains(L.target)?o(L.target,Oe):null;if(F!==R){if(U(Tt,T),R=F,F&&(F.flags&Tr)!==0){k=T;const C=n(F.id,dr,T[0],T[1]),$=typeof C=="number"?C:0;O=($&xt)!==0,A=($&Rt)!==0}return}R&&O&&A&&n(0,pr,T[0],T[1],T[0]-k[0],T[1]-k[1])}const v=L=>{L.pointerType==="mouse"&&U(Tt,i(L))},S=L=>{const T=pe(L instanceof Element?L:null);return T&&(T.type==="input"||T.type==="textarea")?T:null},x=L=>{const T=S(L.target);T&&(T.flags&yr)!==0&&n(T.id,tr,T.el.value)},D=L=>{const T=S(L.target);T&&(T.flags&Er)!==0&&n(T.id,nr)},M=L=>{const T=S(L.target);T&&(T.flags&vr)!==0&&n(T.id,rr)},B=L=>{if(L.key!=="Enter"||L.isComposing)return;const T=S(L.target);if(!T||T.type!=="input")return;L.preventDefault();const F=T.el;(T.flags&wr)!==0&&n(T.id,or,F.value),e.value(T,"enterKey")!=="next"&&r.activeElement===F&&F.blur()},z=L=>{const T=s.getComputedStyle(L);return T.overflowX!=="hidden"&&T.overflowY==="hidden"},H=L=>{const T=pe(L.target instanceof Element?L.target:null);!T||(T.flags&gr)===0||n(T.id,Qn,z(T.el)?T.el.scrollLeft:T.el.scrollTop)},X=L=>{const T=pe(L.target instanceof Element?L.target:null);T&&(T.flags&br)!==0&&n(T.id,Zn)};return t.addEventListener("pointerdown",g),t.addEventListener("click",y),t.addEventListener("pointerleave",v),t.addEventListener("touchmove",h,{passive:!1}),t.addEventListener("input",x),t.addEventListener("focusin",D),t.addEventListener("focusout",M),t.addEventListener("keydown",B),t.addEventListener("scroll",H,!0),t.addEventListener("scrollend",X,!0),r.addEventListener("pointermove",m),r.addEventListener("pointerup",a),r.addEventListener("pointercancel",p),{isPressed(L){for(const T of f.values())if(T.node===L)return!0;return!1},isHovered:L=>R===L,forget(L){for(const T of[...f.values()])T.node===L&&(T.tracked&&n(0,Et,T.pointerId),E(T));R===L&&U(kt,[0,0])},destroy(){for(const L of f.values())s.clearTimeout(L.timer);f.clear(),t.removeEventListener("pointerdown",g),t.removeEventListener("click",y),t.removeEventListener("pointerleave",v),t.removeEventListener("touchmove",h),t.removeEventListener("input",x),t.removeEventListener("focusin",D),t.removeEventListener("focusout",M),t.removeEventListener("keydown",B),t.removeEventListener("scroll",H,!0),t.removeEventListener("scrollend",X,!0),r.removeEventListener("pointermove",m),r.removeEventListener("pointerup",a),r.removeEventListener("pointercancel",p)}}},Do=e=>`url("${e.replace(/["\\\n]/g,t=>"\\"+t)}")`,Bo=e=>{const t=m=>m.image??(m.image={src:"",srcTint:null,rect:null,form:"img",probe:0}),n=m=>m.src.startsWith("svg:")?m.src.slice(4):null,r=new Map,s=(m,a)=>{const p=r.get(a);p!=null&&p.delete(m)&&p.size===0&&r.delete(a)},i=m=>{const a=m.src,p=n(m);return p!==null?an(p):a.startsWith("id:")?e.bufferUrl(Number(a.slice(3))):a.startsWith("canvas:")||a.startsWith("scene2d:")?"":a},o=(m,a)=>a.src.startsWith("canvas:")?"canvas":a.rect?"crop":n(a)!==null&&(a.srcTint!==null||e.hasTint(m))?"mask":"img",f=(m,a)=>{const p=m.el;if(p.tagName.toLowerCase()===a)return;const h=e.doc.createElement(a);if(h.className=p.className,a==="img"){const R=h;R.alt="",R.decoding="async",R.draggable=!1}const y=p.getAttribute("data-name");y!==null&&h.setAttribute("data-name",y),m.el=h,wn(m),p.replaceWith(h),e.swapped(m,p)},l=m=>{for(const a of["--lc-src","--lc-src-tint","--lc-iw","--lc-ih","--lc-ir","--lc-crop-size","--lc-crop-pos"])m.style.removeProperty(a)},d=(m,a,p)=>{const[h,y,R,O]=a,[A,k]=p;m.style.setProperty("--lc-crop-size",`${A/R*100}% ${k/O*100}%`),m.style.setProperty("--lc-crop-pos",`${A===R?0:h/(A-R)*100}% ${k===O?0:y/(k-O)*100}%`)},b=new WeakMap,E=(m,a)=>{const p=m.el,h=e.drawable(a);if(!h){p.width=0,p.height=0;return}p.width!==h.pixelWidth&&(p.width=h.pixelWidth),p.height!==h.pixelHeight&&(p.height=h.pixelHeight);const y=p.getContext("2d");y&&(y.clearRect(0,0,p.width,p.height),p.width>0&&p.height>0&&y.drawImage(h.image,0,0),p.style.setProperty("--lc-iw",`${h.width}px`),h.height>0&&p.style.setProperty("--lc-ir",`${h.width} / ${h.height}`))},g=m=>{var U;const a=t(m),p=o(m,a);a.form=p,f(m,p==="img"?"img":p==="canvas"?"canvas":"div");const h=m.el;if(h.classList.toggle("lc-image-mask",p==="mask"),h.classList.toggle("lc-image-crop",p==="crop"),h.classList.toggle("lc-image-canvas",p==="canvas"),l(h),p==="canvas"){E(m,a.src);return}const y=i(a);if(p==="img"){const N=h;y===""?N.removeAttribute("src"):N.getAttribute("src")!==y&&(N.src=y);return}if(h.style.setProperty("--lc-src",y===""?"none":Do(y)),p==="mask"){a.srcTint!==null&&h.style.setProperty("--lc-src-tint",ke(a.srcTint));const N=(U=Fr(n(a)??""))==null?void 0:U.trim().split(/[\s,]+/).map(Number),v=N==null?void 0:N[2],S=N==null?void 0:N[3];v&&S&&(h.style.setProperty("--lc-iw",`${v}px`),h.style.setProperty("--lc-ir",`${v} / ${S}`));return}const R=a.rect;h.style.setProperty("--lc-iw",`${R[2]}px`),h.style.setProperty("--lc-ih",`${R[3]}px`);const O=b.get(m);if(O&&O.url===y){d(h,R,O.size);return}if(y==="")return;const A=++a.probe,k=new Image;k.addEventListener("load",()=>{if(a.probe!==A||!a.rect)return;const N=[k.naturalWidth,k.naturalHeight];b.set(m,{url:y,size:N}),d(m.el,a.rect,N)},{once:!0}),k.src=y};return{setSrc(m,a){const p=t(m);if(p.src.startsWith("canvas:")&&s(m,p.src),p.src=a??"",p.srcTint=null,p.src.startsWith("canvas:")){let h=r.get(p.src);h||r.set(p.src,h=new Set),h.add(m)}g(m)},setSrcTint(m,a){t(m).srcTint=a,g(m)},setSourceRect(m,a){const p=t(m),h=a==null?void 0:a.trim().split(/\s+/).map(Number),y=h&&h.length===4&&h.every(A=>Number.isFinite(A))&&h[2]>0&&h[3]>0?h:null,R=!!p.rect&&!!y&&p.form==="crop"&&p.rect[2]===y[2]&&p.rect[3]===y[3];p.rect=y;const O=b.get(m);if(R&&O){d(m.el,y,O.size);return}g(m)},sourceChanged(m){var a;for(const p of r.get(m)??[])((a=p.image)==null?void 0:a.form)==="canvas"&&E(p,m)},forget(m){var a;(a=m.image)!=null&&a.src.startsWith("canvas:")&&s(m,m.image.src)},restyle(m){const a=m.image;a&&o(m,a)!==a.form&&g(m)}}},Vo=.5,zo=64,zt=48,Wo=e=>{const{root:t,emit:n}=e,r=t.ownerDocument,s=r.defaultView??window,i=new Map;let o=null;const f=a=>{let p=i.get(a);if(!p||!p.isConnected){p=r.createElement("div"),p.className="lc-refresh",p.style.setProperty("--lc-refresh-color",s.getComputedStyle(a.el).getPropertyValue("--lc-refresh").trim()||"#8e8e93");const h=a.el.parentElement;h&&(h.appendChild(p),p.style.top=`${a.el.offsetTop-36}px`,p.style.left=`${a.el.offsetLeft+a.el.offsetWidth/2}px`),i.set(a,p)}return p},l=(a,p,h)=>{const y=f(a);y.classList.toggle("lc-settling",h),y.style.translate=`0 ${p}px`,y.style.transform=`rotate(${p*3}deg)`,y.style.opacity=String(Math.min(1,p/zt))},d=a=>{const p=i.get(a);p&&(p.classList.remove("lc-spinning"),l(a,0,!0),s.setTimeout(()=>{i.get(a)===p&&(p.remove(),i.delete(a))},220))},b=a=>{for(let p=a instanceof Element?a:null;p&&p!==t;p=p.parentElement){const h=pe(p);if(h&&(h.flags&(Ye|Ke))!==0)return h}return null},E=a=>{if(o||a.touches.length!==1)return;const p=b(a.target);if(!p)return;const h=a.changedTouches[0];o={node:p,touch:h.identifier,startY:h.clientY,pulling:!1,distance:0}},g=a=>{if(!o)return;const p=[...a.changedTouches].find(y=>y.identifier===o.touch);if(!p)return;const h=p.clientY-o.startY;if(!o.pulling){if(o.node.el.scrollTop>0||h<=0){(h<0||o.node.el.scrollTop>0)&&(o.startY=p.clientY);return}o.pulling=!0}a.cancelable&&a.preventDefault(),o.distance=Math.max(0,h*Vo),(o.node.flags&Ke)!==0&&n(o.node.id,vt,o.distance),(o.node.flags&Ye)!==0&&l(o.node,o.distance,!1)},m=a=>{if(!o||![...a.changedTouches].some(O=>O.identifier===o.touch))return;const{node:p,pulling:h,distance:y}=o;if(o=null,!h||((p.flags&Ke)!==0&&n(p.id,vt,0),(p.flags&Ye)===0))return;if(y<zo||a.type==="touchcancel"){d(p);return}l(p,zt,!0),f(p).classList.add("lc-spinning");const R=n(p.id,er);Promise.resolve(R).then(()=>d(p),()=>d(p))};return t.addEventListener("touchstart",E,{passive:!0}),t.addEventListener("touchmove",g,{passive:!1}),t.addEventListener("touchend",m),t.addEventListener("touchcancel",m),{forget(a){var p;(o==null?void 0:o.node)===a&&(o=null),(p=i.get(a))==null||p.remove(),i.delete(a)},destroy(){t.removeEventListener("touchstart",E),t.removeEventListener("touchmove",g),t.removeEventListener("touchend",m),t.removeEventListener("touchcancel",m);for(const a of i.values())a.remove();i.clear(),o=null}}},Wt=".lc-scrollable, .lc-vlist, .lc-pager-track, textarea.lc, input.lc",De=new WeakMap,pt=e=>{if(!e.isConnected)return;const t=[],n=r=>{(r.scrollLeft!==0||r.scrollTop!==0)&&t.push({el:r,left:r.scrollLeft,top:r.scrollTop})};e.matches(Wt)&&n(e);for(const r of e.querySelectorAll(Wt))n(r);t.length>0?De.set(e,t):De.delete(e)},Sn=e=>{const t=De.get(e);if(t){De.delete(e);for(const{el:n,left:r,top:s}of t)!n.isConnected||!e.contains(n)||(n.scrollLeft=r,n.scrollTop=s)}},ct=e=>{pt(e),e.remove()},_n=(e,t,n=null)=>{t.parentElement===e&&(n===null||t.nextElementSibling===n)||(t.isConnected&&pt(t),e.insertBefore(t,n),Sn(t))},Ee=0,fe=-1,Tn={run:(e,t,n,r)=>r(),settle:()=>{},enterOnTop:()=>!0,holds:()=>!1},Go={[xr]:"a 3D scene",[Rr]:"a 2D scene",[Cr]:"a native view",[Me]:"a video"},jo=e=>{const t=e.transitions??Tn;let n=null,r=[],s=[];const i=new Map,o=(v,S)=>`${v}:${S}`,f=new Set,l=v=>r.includes(v),d=v=>r.some(S=>S.node===v),b=v=>v&&v.kind===Y?v.node:null,E=(v,S)=>{e.emit(v.kind===Y||v.kind===Me?v.id:0,S,v.kind,v.id)},g=(v,S,x,D)=>{let M=null;return(v===Y||v===Me)&&(M=e.node(S)??null,!M||v===Y&&M.type!=="screen")?(e.warn(`navigation: ${S} is not a live ${v===Y?"screen":"video"} node`),null):{kind:v,id:S,node:M,viewName:x,paramsJson:D||"{}",back:Ee,retired:!1}},m=(v,S)=>{var D;const x=b(v);if(!x){if((D=e.surface)!=null&&D.call(e,v,!0)){v.node&&e.rootOwned(v.node,!0);return}f.has(v.kind)||(f.add(v.kind),e.warn(`${Go[v.kind]??"this destination"} as a destination is not built yet (docs/plans/web-lite-plan.md) — nothing is shown for it`));return}e.rootOwned(x,!0),x.el.classList.remove("lc-covered"),x.el.classList.toggle("lc-above",S),_n(e.root,x.el)},a=v=>{var x;const S=b(v);!S&&v!==n&&((x=e.surface)==null||x.call(e,v,!1)),!(!S||v===n)&&(n&&n.node===S||(S.el.classList.remove("lc-above"),d(S)?S.el.classList.add("lc-covered"):ct(S.el)))},p=v=>{const S=b(v);!S&&v.node&&!(n&&n.node===v.node)&&!d(v.node)&&(e.rootOwned(v.node,!1),v.node.parent===null&&e.emit(v.node.id,St)),S&&(n&&n.node===S||d(S)||(S.el.classList.remove("lc-above"),ct(S.el),e.rootOwned(S,!1),e.emit(S.id,St)))},h=()=>{const v=s;s=[];for(const S of v)S.node&&t.holds(S.node)?s.push(S):p(S)},y=v=>{!v||v.retired||(v.retired=!0,s.push(v),e.post(h))},R=(v,S,x)=>{const D=x===fe?Ee:x,M=b(v),B=b(S);M&&B&&B.el.classList.toggle("lc-above",!M.el.classList.contains("lc-above")),t.run(M,B,D,()=>{M==null||M.el.classList.remove("lc-above"),B==null||B.el.classList.remove("lc-above"),S&&a(S),s.length>0&&e.post(h)})},O=v=>{var S;v.kind===Y&&v.node&&((S=e.active)==null||S.call(e,v.node,!1)),E(v,ar)},A=(v,S)=>{var M,B;const x=n;if(!v||x===v)return;t.settle(),x&&O(x),n=v;const D=!!b(v)&&!!b(x);m(v,!!b(v)&&(!D||t.enterOnTop(S))),E(v,ir),v.kind===Y&&v.node&&((M=e.active)==null||M.call(e,v.node,!0)),x&&!l(x)&&y(x),R(v,x,S),(B=e.changed)==null||B.call(e)},k=v=>{var x;t.settle();const S=n;S&&(O(S),n=null,l(S)||y(S),R(null,S,v),(x=e.changed)==null||x.call(e))},U=(v,S)=>{A(v,S),e.emit(0,lr,v.kind,v.id)},N=v=>{const S=r.length;return v===-1?S-2:v<-1?Math.max(S-1+v,0):v===0?0:Math.min(v,S-1)};return{current:()=>n,stack:()=>r,setUrl(v,S,x){var M;x===null||x===""?i.delete(o(v,S)):i.set(o(v,S),x.startsWith("/")?x:`/${x}`),(n&&n.kind===v&&n.id===S||r.some(B=>B.kind===v&&B.id===S))&&((M=e.changed)==null||M.call(e))},address(){if(n){const S=i.get(o(n.kind,n.id));if(S!==void 0)return S}const v=n?r.lastIndexOf(n):r.length-1;for(let S=v<0?r.length-1:v;S>=0;S--){const x=i.get(o(r[S].kind,r[S].id));if(x!==void 0)return x}return null},forgetUrl(v,S){i.delete(o(v,S))},open(v,S,x,D,M){A(g(v,S,x,D),M)},close(v,S,x){!n||n.kind!==v||n.id!==S||k(x)},routerOpen(v,S,x,D){const M=g(v,S,x,D);if(!M)return;const B=r;r=[M];for(const z of B)z!==n&&y(z);A(M,Ee)},routerPush(v,S,x,D,M,B){const z=g(v,S,x,D);z&&(z.back=B===fe?Ee:B,r.push(z),U(z,M))},routerReplace(v,S,x,D,M,B){const z=g(v,S,x,D);if(!z)return;const H=r[r.length-1];if(!H){z.back=B===fe?Ee:B,r.push(z),U(z,M);return}z.back=B===fe?H.back:B,r[r.length-1]=z,U(z,M),y(H)},routerPop(v,S){if(r.length<=1)return!1;const x=N(v);if(x<0||x>=r.length)return!1;const D=S===fe?r[r.length-1].back:S,M=r.splice(x+1);U(r[r.length-1],D);for(const B of M)y(B);return M.length>0},routerHide(v){k(v)},routerRestore(v){const S=r[r.length-1];S&&A(S,v)},reset(){var v;t.settle();for(const S of[n,...r,...s])(v=S==null?void 0:S.node)==null||v.el.remove();n=null,r=[],s=[],i.clear()}}},Ho=250,Ko="cubic-bezier(0.2, 0.8, 0.2, 1)",Yo=6,qo=e=>{const{root:t}=e,n=t.ownerDocument,r=n.defaultView??window,s=new Map,i=g=>{var a;const m=e.value(g.node,"overlayColor");if(m==null){(a=g.scrim)==null||a.remove(),g.scrim=null,g.frame.classList.remove("lc-scrimmed");return}g.scrim||(g.scrim=n.createElement("div"),g.scrim.className="lc-scrim",g.scrim.addEventListener("click",()=>{(g.node.flags&Sr)!==0&&e.emit(g.node.id,sr)}),g.frame.insertBefore(g.scrim,g.frame.firstChild),g.frame.classList.add("lc-scrimmed")),g.scrim.style.backgroundColor=ke(m)},o=g=>{const m=e.value(g,"sheetDetents");if(m==null||m==="")return null;const a=String(m).split(",").map(Number).filter(p=>Number.isFinite(p)&&p>0).sort((p,h)=>p-h);return a.length>0?a:null},f=(g,m)=>{const a=g.sheet,p=g.node.el.offsetHeight;if(m<0)return p;const h=a.detents[a.detents.length-1],y=a.detents[Math.max(0,Math.min(m,a.detents.length-1))];return p*(1-y/h)},l=(g,m,a)=>{const p=g.sheet.holder;p.style.transition=a?`transform ${Ho}ms ${Ko}`:"none",p.style.transform=`translateY(${Math.max(0,m)}px)`},d=(g,m)=>{const a=o(g.node);if(!a||!g.sheet)return;const p=g.sheet;p.detents=a;const h=e.value(g.node,"sheetDismissible");p.dismissible=h==null||Number(h)>.5||h===!0;const y=Number(e.value(g.node,"sheetDetent")??0);if(m){l(g,f(g,-1),!1),p.holder.offsetHeight,p.detent=y,l(g,f(g,y),!0);return}y!==p.detent&&(p.detent=y,l(g,f(g,y),!0))},b=g=>{const m=g.node.el;m.addEventListener("pointerdown",a=>{const p=g.sheet;if(!p||a.pointerType==="mouse"&&a.button!==0)return;for(let k=a.target instanceof Element?a.target:null;k&&k!==m;k=k.parentElement)if(k.scrollTop>0)return;const h=f(g,p.detent);let y=!1,R=h;const O=k=>{if(k.pointerId!==a.pointerId)return;const U=k.clientY-a.clientY;if(!y){if(Math.abs(U)<Yo||Math.abs(U)<Math.abs(k.clientX-a.clientX))return;y=!0}R=Math.max(0,h+U),l(g,R,!1)},A=k=>{if(k.pointerId!==a.pointerId||(n.removeEventListener("pointermove",O),n.removeEventListener("pointerup",A),n.removeEventListener("pointercancel",A),!y||!g.sheet))return;let U=0,N=1/0;for(let D=0;D<p.detents.length;D++){const M=Math.abs(f(g,D)-R);M<N&&(N=M,U=D)}const v=f(g,0),S=m.offsetHeight;if(p.dismissible&&R>v+(S-v)/2){l(g,S,!0),(g.node.flags&Lt)!==0&&e.emit(g.node.id,wt,-1);return}p.detent=U,l(g,f(g,U),!0),(g.node.flags&Lt)!==0&&e.emit(g.node.id,wt,U)};n.addEventListener("pointermove",O),n.addEventListener("pointerup",A),n.addEventListener("pointercancel",A)})};let E=null;return{show(g,m,a){if(s.has(g))return;e.flush();const p=n.createElement("div");p.className="lc-widget-frame";const h={node:g,frame:p,scrim:null,sheet:null};if(o(g)){const R=n.createElement("div");R.className="lc-sheet",R.appendChild(g.el),p.appendChild(R),h.sheet={holder:R,detents:[1],detent:-1,dismissible:!0},b(h)}else p.appendChild(g.el);s.set(g,h),e.rootOwned(g,!0),i(h);const y=m===Y?e.node(a):void 0;(m!==Ue&&y?y.el:t).appendChild(p),Sn(g.el),h.sheet&&d(h,!0)},hide(g){const m=s.get(g);m&&(s.delete(g),pt(g.el),g.el.remove(),m.frame.remove(),e.rootOwned(g,!1))},scrim:g=>{var m;return((m=s.get(g))==null?void 0:m.scrim)??null},restyle(g){const m=s.get(g);m&&(i(m),m.sheet&&d(m,!1))},forget(g){const m=s.get(g);m&&(s.delete(g),m.frame.remove())},shown:()=>[...s.keys()],backTargets:()=>[...s.keys()].reverse().filter(g=>(g.flags&_r)!==0),isFrame:g=>g.classList.contains("lc-widget-frame"),toast(g,m){(!E||!E.isConnected)&&(E=n.createElement("div"),E.className="lc-toasts",t.appendChild(E));const a=n.createElement("div");a.className="lc-toast",a.setAttribute("role","status"),a.textContent=g,E.appendChild(a),a.offsetHeight,a.classList.add("lc-on"),r.setTimeout(()=>{a.classList.remove("lc-on"),r.setTimeout(()=>a.remove(),200)},Math.max(500,m))},destroy(){for(const g of s.values())g.frame.remove();s.clear(),E==null||E.remove(),E=null}}},Gt={pager:["pagerSetContent","pagerSelect","pagerPush","pagerPop","pagerPopToRoot","pagerReplace"],vlist:["vlistInit","vlistSetKeys","vlistInsertKeys","vlistRemoveKeys","vlistInvalidate","vlistMount","vlistScrollTo","vlistScrollToKey","vlistScrollToEnd"],plugins:["viewCall"],tween:["tweenCreate","tweenControl","tweenSeek","tweenSetRate","tweenGetTime","tweenGetElapsed","registerTweenEvent","defineTransition"]},Xo=e=>{const t=e.root,n=t.ownerDocument,r=(c,u,w)=>{for(const _ of Object.keys(u)){const V=u[_],W=V==null?null:typeof V=="number"?ee(V):Te(V);for(const ie of w?[`--${_}`,`--lc-app-${_}`]:[`--${_}`])W===null?c.style.removeProperty(ie):c.style.setProperty(ie,W)}},s=new Set,i=n.defaultView??window,o=new Set,f=c=>console.warn(`[web-lite] ${c}`),l=[],d=c=>{var u;for(const w of l){const _=(u=w.ownerOf)==null?void 0:u.call(w,c);if(_)return _}return null},b=c=>{var u;for(const w of l){const _=(u=w.roots)==null?void 0:u.call(w,c);if(_)return _}return null},E=(c,u)=>{var w;for(const _ of l)(w=_.rootActive)==null||w.call(_,c,u)},g=c=>{var u;for(const w of l)(u=w.subtreeMoved)==null||u.call(w,c)},m=()=>{for(const c of l)if(c.stage)return c.stage();return Tn};let a=null;const p=()=>a??(a=e.transitions??m()),h={run:(c,u,w,_)=>p().run(c,u,w,_),settle:()=>p().settle(),enterOnTop:c=>p().enterOnTop(c),holds:c=>p().holds(c)};let y=[],R=!1;const O=c=>{y.push(c),!R&&(R=!0,queueMicrotask(()=>{R=!1;const u=y;y=[];for(const w of u)w()}))};let A=null;const k=(c,u,...w)=>{if(A)try{return A(c,u,...w)}catch(_){i.setTimeout(()=>{throw _},0);return}},U=(c,u,...w)=>O(()=>{k(c,u,...w)});t.classList.add("lc-root");const N=e.sink??vo(n),v=ko(N),S=Ro(N,v,{bufferUrl:e.bufferUrl},f),x=new Map;let D=1;const M=new ResizeObserver(c=>{for(const u of c){const w=u.target,_=x.get(Number(w.getAttribute("data-node")));!_||_.el!==w||!(_.flags&le)||k(_.id,Hn,w.offsetLeft,w.offsetTop,w.offsetWidth,w.offsetHeight)}}),B=Bo({doc:n,bufferUrl:e.bufferUrl,drawable:c=>{var u;for(const w of l){const _=(u=w.drawable)==null?void 0:u.call(w,c);if(_)return _}return null},hasTint:c=>S.names(c,"tintColor"),swapped:(c,u)=>{M.unobserve(u),c.flags&le&&M.observe(c.el)},warn:f});S.onChange=c=>{const u=c;Ar(u,w=>S.value(u,w)),u.type==="image"&&B.restyle(u),u.type==="widget"&&P.restyle(u)};const z=Io({root:t,emit:k,value:(c,u)=>S.value(c,u),boundary:c=>P.isFrame(c)||l.some(u=>{var w;return((w=u.boundary)==null?void 0:w.call(u,c))===!0}),hit:(c,u,w)=>{var _;for(const V of l){const W=(_=V.hit)==null?void 0:_.call(V,c,u,w);if(W!=null)return W}return null}}),H=Wo({root:t,emit:k}),X=new ResizeObserver(()=>{k(0,cr,t.clientWidth,t.clientHeight)});X.observe(t),S.onWrite=(c,u)=>{var w;for(const _ of l)(w=_.styled)==null||w.call(_,c,u)};const L=c=>c.parent===null&&!c.rooted,T=(c,u,w=!0)=>{var _;for(const V of l)(_=V.forget)==null||_.call(V,c);for(const V of Fe(c))T(V,u,!1);w||u.push(c.id),z.forget(c),H.forget(c),B.forget(c),I.forgetUrl(Y,c.id),P.forget(c),S.drop(c),M.unobserve(c.el),C.unregister(c.token),x.delete(c.id),c.parent=null,c.held=!1,w&&c.el.remove()},F=c=>{if(!x.has(c.id)||c.held||!L(c))return;const u=[];T(c,u),u.length>0&&k(0,_t,u)},C=new FinalizationRegistry(c=>{const u=x.get(c);u&&(u.held=!1,L(u)&&O(()=>F(u)))}),$=c=>{c.held||O(()=>F(c))},I=jo({root:t,emit:U,post:O,warn:f,node:c=>x.get(c),rootOwned:(c,u)=>{c.rooted=u,u||$(c)},changed:e.onNavigation,active:E,surface:(c,u)=>l.some(w=>{var _;return((_=w.destination)==null?void 0:_.call(w,c,u))===!0}),transitions:h}),P=qo({root:t,emit:k,node:c=>x.get(c),value:(c,u)=>S.value(c,u),rootOwned:(c,u)=>{c.rooted=u,u||$(c)},flush:()=>S.flush()}),oe=()=>{var u;for(const w of P.backTargets())if(k(w.id,xe,Ue,0)===!0)return"widget";const c=I.current();if(c){const w=c.kind===Y||c.kind===Me?c.id:0;if(k(w,xe,c.kind,c.id)===!0)return"destination"}for(const w of l)if(((u=w.back)==null?void 0:u.call(w))===!0)return"feature";return I.routerPop(-1,fe)?"router":k(0,xe,Ue,0)===!0?"app":"none"},te=c=>{if(!(c.key!=="Escape"||c.defaultPrevented)){for(const u of P.backTargets())if(k(u.id,xe,Ue,0)===!0){c.preventDefault();return}}};n.addEventListener("keydown",te);const se=Mo({root:t,roots:()=>{const c=I.current();return[...c!=null&&c.node&&c.kind===Y?[{kind:"screen",node:c.node}]:[],...P.shown().map(w=>({kind:"widget",node:w}))]},held:c=>b(c),extend:(c,u,w)=>{var _;for(const V of l)(_=V.dump)==null||_.call(V,c,u,w)},value:(c,u)=>S.value(c,u),owns:(c,u)=>S.owns(c,u),flush:()=>S.flush()}),be=c=>{if(!c.isConnected)return null;S.flush();const u=sn(t)||1,w=t.getBoundingClientRect(),_=c.getBoundingClientRect();return _.width===0&&_.height===0&&c.offsetParent===null?null:[(_.left-w.left)/u,(_.top-w.top)/u,_.width/u,_.height/u]},We=()=>{const c={};for(const u of Object.keys(Gt))for(const w of Gt[u])c[w]=()=>(o.has(w)||(o.add(w),f(`${w}: this tree was made without the "${u}" feature`)),w==="tweenCreate"?null:0);return c},Ge={create(c){const u=$o(n,D++,c);wn(u),x.set(u.id,u);const w={id:u.id};return C.register(w,u.id,u.token),w},destroy(c){const u=x.get(c);if(!u)return;if(!L(u)){console.error(`[web-lite] destroy: node ${c} is attached — remove / hide / close it first`);return}u.held=!1;const w=[];T(u,w),w.length>0&&k(0,_t,w)},insert(c,u,w){var gt;const _=x.get(c),V=x.get(u);if(!_||!V||V===_)return;if(b(_)){f(`insert() on a ${_.type} — what it holds goes through its own calls`);return}if(!L(V)){f(`insert: node ${u} is not a root — remove it from where it is first`);return}const W=Fe(_),ie=Math.max(0,Math.min(w,W.length));V.parent=_,_n(_.el,V.el,((gt=W[ie])==null?void 0:gt.el)??null),g(V)},remove(c,u){const w=x.get(c),_=x.get(u);!w||!_||_.parent!==w||(_.parent=null,ct(_.el),g(_),$(_))},parent(c){var w,_;const u=x.get(c);return u?((w=u.parent)==null?void 0:w.id)??((_=d(u))==null?void 0:_.id)??0:0},children(c){const u=x.get(c);return u?(b(u)??Fe(u)).map(w=>w.id):[]},setString(c,u,w){var V;const _=x.get(c);if(_){w===null?_.strings.delete(u):_.strings.set(u,w);for(const W of l)(V=W.content)==null||V.call(W,_,u,w);switch(u){case"text":_.type==="text"&&(_.el.textContent=w??"");return;case"name":w===null?_.el.removeAttribute("data-name"):_.el.setAttribute("data-name",w);return;case"src":_.type==="image"&&B.setSrc(_,w);return;case"srcTintColor":_.type==="image"&&B.setSrcTint(_,w);return;case"sourceRect":_.type==="image"&&B.setSourceRect(_,w);return;case"value":if(_.type==="input"||_.type==="textarea"){const W=_.el;W.value!==(w??"")&&(W.value=w??"")}return;case"focus":w==="1"?_.el.focus({preventScroll:!0}):_.el.blur();return}}},setInt(c,u,w){var V;const _=x.get(c);if(_){_.strings.set(u,String(w));for(const W of l)(V=W.content)==null||V.call(W,_,u,w)}},setFlags(c,u){const w=x.get(c);if(!w)return;const _=w.flags;w.flags=u,w.el.classList.toggle(at,(u&Oe)!==0),u&le&&!(_&le)?M.observe(w.el):!(u&le)&&_&le&&M.unobserve(w.el)},getTextValue(c){const u=x.get(c);return u&&(u.type==="input"||u.type==="textarea")?u.el.value:""},setStyle(c,u,w){const _=x.get(c);_&&S.set(_,u,w)},mergeStyle(c,u){const w=x.get(c);w&&S.merge(w,u)},setClass(c,u,w){const _=x.get(c);_&&S.setClass(_,u,w)},setTheme(c){r(t,c,!0)},setNodeTheme(c,u){const w=x.get(c);if(w){r(w.el,u,!1);for(const _ of Object.keys(u))s.has(_)||!/^[A-Za-z0-9_-]+$/.test(_)||(s.add(_),N.insert("lc-base",`.lc-widget-frame { --${_}: var(--lc-app-${_}); }`));"text"in u&&w.el.toggleAttribute("data-theme-text",u.text!=null),"fontFamily"in u&&w.el.toggleAttribute("data-theme-font",u.fontFamily!=null)}},open:I.open,close:I.close,routerOpen:(c,u,w,_)=>I.routerOpen(c,u,w,_),routerPush:I.routerPush,routerReplace:I.routerReplace,routerPop:(c,u)=>{I.routerPop(c,u)},routerHide:I.routerHide,routerRestore:I.routerRestore,setDestUrl:I.setUrl,isViewSupported:()=>!1,viewVersion:()=>0,showWidget(c,u,w){const _=x.get(c);!_||P.shown().includes(_)||(P.show(_,u,w),E(_,!0))},hideWidget(c){const u=x.get(c);!u||!P.shown().includes(u)||(E(u,!1),P.hide(u))},registerFont(c,u,w,_,V,W){try{const ie=new i.FontFace(c,`url("${u}")`,{weight:String(w),style:_===2?"italic":"normal"});n.fonts.add(ie),ie.load().then(()=>V(),()=>W())}catch{W()}},fontFormat:"woff2",toast:(c,u)=>P.toast(c,u),isButtonPressed(c){const u=x.get(c);return!!u&&z.isPressed(u)},isHovered(c){const u=x.get(c);return!!u&&z.isHovered(u)},getBoundingClientRect(c){const u=x.get(c);return u?be(u.el):null},getDisplaySize:()=>[t.clientWidth,t.clientHeight],debugDump:()=>se.dump(),debugPaint:c=>se.paint(x.get(c)),setEmitter(c){A=c}},ae={...We(),...Ge},K={root:t,emit:k,emitLater:U,post:O,warn:f,node:c=>x.get(c),rootOwned:(c,u)=>{c.rooted=u,u||$(c)},flush:()=>S.flush(),value:(c,u)=>S.value(c,u),setStyle:(c,u,w)=>S.set(c,u,w),setString:(c,u,w)=>ae.setString(c,u,w),style:{bufferUrl:e.bufferUrl},shown:c=>{var u;return((u=I.current())==null?void 0:u.node)===c||P.shown().includes(c)},scrim:c=>P.scrim(c),stage:m,sourceChanged:c=>B.sourceChanged(c),plugins:e.plugins??null},ce={};for(const c of e.features??[]){const u=c.install(K);l.push(u),Object.assign(ae,u.bridge),Object.assign(ce,u.globals)}return{bridge:ae,globals:ce,presentation:I,back:oe,setSafeArea(c,u=[]){for(const w of["top","right","bottom","left"])t.style.setProperty(`--safe-${w}`,`${c[w]}px`),u.includes(w)?t.style.setProperty(`--safe-${w}-bar`,`${c[w]}px`):t.style.removeProperty(`--safe-${w}-bar`)},flush:()=>S.flush(),stats:()=>Object.assign({nodes:x.size,classes:v.count(),tweens:0},...l.map(c=>{var u;return((u=c.stats)==null?void 0:u.call(c))??{}})),destroy(){var c;A=null,I.reset();for(const u of l)(c=u.destroy)==null||c.call(u);P.destroy(),n.removeEventListener("keydown",te),z.destroy(),H.destroy(),X.disconnect(),M.disconnect();for(const u of x.values())C.unregister(u.token),u.el.remove();x.clear(),e.sink||N.destroy(),t.classList.remove("lc-root");for(const u of Array.from(t.style))u.startsWith("--")&&t.style.removeProperty(u)}}},G=[null],mt=new TextDecoder("utf-8"),li=async(e,t,n,r)=>{var m;let s;if(t.body)if(typeof t.body=="object"&&Array.isArray(t.body._entries)){const a=new FormData;for(let[p,h,y]of t.body._entries)typeof h=="object"?a.append(p,new Blob([he(h._id)]),y):a.append(p,h);s=a}else typeof t.body=="string"?s=t.body:r(new Error("Invalid body"));const i=await fetch(e,{method:t.method,body:s,headers:t.headers,mode:"cors",credentials:"omit"}),o=typeof t.onProgress=="function"?t.onProgress:null;if(!o){const a=await i.arrayBuffer();G.push(a),n(G.length-1,i.status);return}const f=(m=i.body)==null?void 0:m.getReader();if(!f){const a=await i.arrayBuffer();G.push(a),n(G.length-1,i.status);return}const l=Number(i.headers.get("content-length"))||void 0;let d=0;const b=[];for(;;){const{done:a,value:p}=await f.read();if(a)break;p&&(b.push(p),d+=p.length,o({loaded:d,total:l}))}const E=new Uint8Array(d);let g=0;for(const a of b)E.set(a,g),g+=a.length;G.push(E.buffer),n(G.length-1,i.status)},Jo=e=>JSON.parse(mt.decode(he(e))),kn=e=>mt.decode(he(e)),Qo=e=>new Uint8Array(he(e)).slice(),Zo=(e,t,n)=>mt.decode(he(e).slice(t,n)),es=e=>{const t=new Blob([G[e]]);return URL.createObjectURL(t)},Ln=e=>new Blob([G[e]]),he=e=>G[e],jt=e=>{G[e]=null},Be=e=>(G.push(e),G.length-1),ht=new Map,ui=(e,t)=>{ht.set(e,t);const n=Ve.get(e);n!==void 0&&(G[n]=t)},fi=e=>ht.has(e),Ve=new Map,di=e=>{for(const[t,n]of Ve)if(n===e)return t},ts=e=>{const t=Ve.get(e);if(t!==void 0)return t;const n=ht.get(e);if(!n)return-1;G.push(n);const r=G.length-1;return Ve.set(e,r),r},ns=()=>{const e=new Map,t=new Map,n=new Set,r={registerView(s,i,o=1){e.set(s,{factory:i,version:o})},registerService(s,i,o=1){t.set(s,{factory:i,version:o})},putBuffer:Be};return{views:e,services:t,has:s=>n.has(s),register(s,i){if(!n.has(s)){n.add(s);try{i(r)}catch(o){console.warn(`[web-lite] the "${s}" plugin did not register: ${o instanceof Error?o.message:o}`)}}}}},Ht={pager:["pagerSetContent"],vlist:["vlistInit"],tween:["tweenCreate","defineTransition"],canvas:["_creatorCanvas."],video:["createVideo"],plugins:["viewCall","isViewSupported","_creatorService."]},rs={pager:()=>re(()=>import("./assets/pager-Db5BY7FB.js"),[],import.meta.url).then(e=>e.pager),vlist:()=>re(()=>import("./assets/vlist-CwSYpLz-.js"),[],import.meta.url).then(e=>e.vlist),tween:()=>re(()=>import("./assets/tween-BnWYhJ7P.js"),[],import.meta.url).then(e=>e.tween),canvas:()=>re(()=>import("./assets/canvas-WxiusXCB.js"),[],import.meta.url).then(e=>e.canvas),video:()=>re(()=>import("./assets/video-BLj61nDx.js"),[],import.meta.url).then(e=>e.video),plugins:()=>re(()=>import("./assets/plugins-CuEPHbHL.js"),[],import.meta.url).then(e=>e.plugins)},xn=Object.keys(Ht).map(e=>({name:e,uses:Ht[e],load:rs[e]})),os=e=>xn.filter(t=>t.uses.some(n=>e.includes(n))).map(t=>t.name),ss=async e=>{const t=os(e);return(await Promise.all(xn.filter(r=>t.includes(r.name)).map(r=>r.load().catch(s=>(console.warn(`[web-lite] the "${r.name}" feature did not load: ${s instanceof Error?s.message:s}`),null))))).filter(r=>r!==null)},is=e=>{let t=null,n=null;const r=(l,d)=>{t==null||t(l,d)},s=()=>r(document.hidden?"pause":"resume"),i=()=>r("online"),o=()=>r("offline");return document.addEventListener("visibilitychange",s),window.addEventListener("online",i),window.addEventListener("offline",o),{bridge:{run(l,d,b,E){let g;try{g=kn(l)}catch{d("run: no such buffer");return}e.rerun(g,E,d)},restart(l){e.rerun(void 0,l)},quit(){},launchUrl:()=>e.launchUrl(),registerEvent(l){t=l},setFreedEmitter(l){n=l},ownedStats:()=>e.stats(),state:()=>document.hidden?"background":"active",isOnline:()=>navigator.onLine,openUrl(l){window.open(l,"_blank","noopener")},setOrientation(l){var E,g,m,a;const d=l==="landscape"||l==="portrait"?l:"auto";if(e.onOrientation){e.onOrientation(d);return}const b=typeof screen<"u"?screen.orientation:void 0;if(b)try{d==="auto"?(E=b.unlock)==null||E.call(b):(a=(m=(g=b.lock)==null?void 0:g.call(b,d))==null?void 0:m.catch)==null||a.call(m,()=>{})}catch{}}},emit:r,freed:(l,d)=>{n==null||n(l,d)},dispose(){t=null,n=null,document.removeEventListener("visibilitychange",s),window.removeEventListener("online",i),window.removeEventListener("offline",o)}}},as=(e,t,n,r)=>{try{const s=document.createElement("input");s.type="file",s.multiple=n,r&&(s.accept=r),s.onchange=async()=>{const{files:i}=s;if(n){const o=[];if(!i)return e([]);for(let f of i)o.push([Be(await f.arrayBuffer()),f.name,f.size]);e(o)}else{if(!i||i.length===0)return e(null);e([[Be(await i[0].arrayBuffer()),i[0].name,i[0].size]])}},window.addEventListener("focus",()=>{setTimeout(()=>{(!s.files||s.files.length===0)&&e(n?[]:null)},300)},{once:!0}),s.click()}catch(s){t(s)}},cs=e=>({get platform(){return"web"},get language(){return e()},get pixelRatio(){return window.devicePixelRatio||1},vibrate(){var t;try{(t=navigator.vibrate)==null||t.call(navigator,30)}catch{}},clipboardWrite(t){var n;(n=navigator.clipboard)==null||n.writeText(t).catch(()=>{})},clipboardRead(t,n){const r=navigator.clipboard;if(!(r!=null&&r.readText)){n("Clipboard is not available");return}r.readText().then(t,s=>n(s instanceof Error?s.message:"Clipboard read failed"))},share(t,n){var f;const r=Ln(t),s=new File([r],"image.png",{type:"image/png"});if((f=navigator.canShare)!=null&&f.call(navigator,{files:[s]})){navigator.share({files:[s],text:n}).catch(()=>{});return}const i=URL.createObjectURL(r),o=document.createElement("a");o.href=i,o.download=s.name,document.body.appendChild(o),o.click(),o.remove(),URL.revokeObjectURL(i)},openFilePicker:(t,n,r,s)=>as(t,n,r,s??void 0),requestCamera(t){t()}}),ls=e=>{const t=e==null?void 0:e._h;return typeof e=="object"&&e!==null&&typeof(t==null?void 0:t.id)=="number"?t.id:null},us=e=>{if(e==null)return;if(typeof e=="string")return e;const t=e._entries;if(!Array.isArray(t))throw new Error("fetch: the body is a string or a FormData");const n=new FormData;for(const[r,s,i]of t){const o=ls(s);o!==null?n.append(r,Ln(o),i):n.append(r,String(s))}return n},fs=()=>{const e=new Set,t=new FinalizationRegistry(i=>{e.delete(i)&&jt(i)}),n=i=>{const o={id:i};return e.add(i),t.register(o,i),o};let r=!1;return{bridge:{fetch(i,o,f,l,d){const b=typeof(o==null?void 0:o.onProgress)=="function"?o.onProgress:d;if(i.startsWith("id:")){const E=Number(i.slice(3));f({id:E},he(E)?200:404);return}(async()=>{var E;try{const g=await fetch(i,{method:o==null?void 0:o.method,headers:o==null?void 0:o.headers,body:us(o==null?void 0:o.body),mode:"cors",credentials:"omit"}),m=b?(E=g.body)==null?void 0:E.getReader():void 0;let a;if(!m)a=await g.arrayBuffer();else{const p=Number(g.headers.get("content-length"))||void 0,h=[];let y=0;for(;;){const{done:A,value:k}=await m.read();if(A)break;k&&(h.push(k),y+=k.length,r||b({loaded:y,total:p}))}const R=new Uint8Array(y);let O=0;for(const A of h)R.set(A,O),O+=A.length;a=R.buffer}if(r)return;f(n(Be(a)),g.status)}catch(g){r||l(g instanceof Error?g:String(g))}})()},local:i=>ts(i),toJson:i=>Jo(i),slice:(i,o,f)=>Zo(i,o,f),toText:i=>kn(i),toBytes:i=>Qo(i)},live:()=>e.size,dispose(){r=!0;for(const i of e)jt(i);e.clear()}}},Kt=["MouseLeft","MouseMiddle","MouseRight","MouseBack","MouseForward"],et=["GamepadSouth","GamepadEast","GamepadWest","GamepadNorth","GamepadL1","GamepadR1","GamepadL2","GamepadR2","GamepadSelect","GamepadStart","GamepadL3","GamepadR3","GamepadUp","GamepadDown","GamepadLeft","GamepadRight"],$e=4,tt=16,Yt=16,ds=.5,ps=e=>{const t=new Set;let n=null;const r=(C,$,I=-1,P=0)=>{n==null||n(C,$,I,P)},s=C=>{if(!C.code)return;const $=t.has(C.code);t.add(C.code),r(0,C.code,-1,$||C.repeat?1:0)},i=C=>{C.code&&t.delete(C.code)&&r(1,C.code)},o=()=>{for(const C of[...t])C.startsWith("Gamepad")||(t.delete(C),r(1,C))},{root:f}=e;let l=0,d=0,b=0,E=0,g=0,m=0,a=0,p=0,h=0,y=0;const R=C=>{if(C.pointerType&&C.pointerType!=="mouse")return;const $=f.getBoundingClientRect();l=C.clientX-$.left,d=C.clientY-$.top,b+=C.movementX||0,E+=C.movementY||0},O=C=>{const $=Kt[C.button];$&&(t.add($),r(0,$))},A=C=>{const $=Kt[C.button];$&&t.delete($)&&r(1,$)},k=C=>{const $=C.deltaMode===0?.01:1;g+=C.deltaX*$,m+=C.deltaY*$},U=C=>{document.pointerLockElement===f&&C.preventDefault()},N=[],v=[],S=[],x=()=>{var $,I;const C=typeof navigator<"u"&&navigator.getGamepads?Array.from(navigator.getGamepads()):[];for(let P=0;P<$e;P++){const oe=C[P]??null,te=!!oe&&oe.connected;if(te!==!!N[P]){if(N[P]=te,!te){for(const K of et)t.delete(K+"@"+P)&&(r(1,K,P),D(K));S[P]=[],v[P]=[0,0,0,0,0,0]}r(te?2:3,"",P)}if(!oe||!te)continue;const se=oe.axes,be=oe.buttons,We=(($=be[6])==null?void 0:$.value)??0,Ge=((I=be[7])==null?void 0:I.value)??0;v[P]=[se[0]??0,se[1]??0,se[2]??0,se[3]??0,We,Ge];const ae=S[P]??(S[P]=[]);for(let K=0;K<et.length;K++){const ce=be[K],c=!!ce&&(ce.pressed||ce.value>ds);if(c===!!ae[K])continue;ae[K]=c;const u=et[K];c?t.add(u+"@"+P):t.delete(u+"@"+P),D(u),r(c?0:1,u,P)}}},D=C=>{let $=!1;for(let I=0;I<$e&&!$;I++)t.has(C+"@"+I)&&($=!0);$?t.add(C):t.delete(C)};let M=0;const B=()=>{a=b,p=E,h=g,y=m,b=E=g=m=0,x(),M=requestAnimationFrame(B)},z=e.windows.filter((C,$,I)=>C&&I.indexOf(C)===$);for(const C of z)e.keyboard!==!1&&(C.addEventListener("keydown",s),C.addEventListener("keyup",i)),C.addEventListener("blur",o);return f.addEventListener("pointermove",R,!0),f.addEventListener("mousedown",O,!0),window.addEventListener("mouseup",A,!0),f.addEventListener("wheel",k,{passive:!0,capture:!0}),f.addEventListener("contextmenu",U,!0),typeof requestAnimationFrame=="function"&&(M=requestAnimationFrame(B)),{inputKey:(C,$)=>$>=0&&C.startsWith("Gamepad")?t.has(C+"@"+$):t.has(C),inputRead:C=>{var $;switch(C){case 0:return l;case 1:return d;case 2:return a;case 3:return p;case 4:return h;case 5:return y;case 6:return document.pointerLockElement===f?1:0;case 7:{let I=0;for(let P=0;P<$e;P++)N[P]&&I++;return I}}if(C>=tt){const I=Math.floor((C-tt)/Yt),P=(C-tt)%Yt;return I>=$e||!N[I]?0:P===0?1:(($=v[I])==null?void 0:$[P-1])??0}return 0},inputSetPointerLock:C=>{if(!C)return document.pointerLockElement===f&&document.exitPointerLock(),!0;if(document.pointerLockElement===f)return!0;if(typeof f.requestPointerLock!="function")return!1;try{const $=f.requestPointerLock({unadjustedMovement:!0});return $&&typeof $.catch=="function"&&$.catch(()=>{try{f.requestPointerLock()}catch{}}),!0}catch{return!1}},registerInputEvent:C=>{n=C},dispose:()=>{for(const C of z)C.removeEventListener("keydown",s),C.removeEventListener("keyup",i),C.removeEventListener("blur",o);f.removeEventListener("pointermove",R,!0),f.removeEventListener("mousedown",O,!0),window.removeEventListener("mouseup",A,!0),f.removeEventListener("wheel",k,!0),f.removeEventListener("contextmenu",U,!0),M&&cancelAnimationFrame(M),document.pointerLockElement===f&&document.exitPointerLock(),t.clear(),n=null}}},ms=e=>{const t=e.ownerDocument.defaultView??window,n=ps({windows:[t],root:e}),r=t.visualViewport,s=()=>r?Math.max(0,Math.round(t.innerHeight-r.height-r.offsetTop)):0;let i=null,o=0;const f=()=>{const d=s();d!==o&&(o=d,i==null||i(d,0))};return r==null||r.addEventListener("resize",f),{bridge:{key:n.inputKey,read:n.inputRead,setPointerLock:n.inputSetPointerLock,registerEvent(d){n.registerInputEvent(d)},keyboardHeight:s,registerKeyboardEvent(d){i=d}},dispose(){i=null,r==null||r.removeEventListener("resize",f),n.dispose()}}},j=[null],ge=[!1],Rn=(e,t,n)=>{e.addEventListener("ended",()=>{n(),ge[t]&&(e.currentTime=0,e.play())})},hs=(e,t)=>{const n=document.createElement("video");document.body.appendChild(n),n.crossOrigin="anonymous",n.style="opacity: 0; position: absolute; top: 0; left: 0; width: 1px; height: 1px",n.src=e,n.playsInline=!0,n.controls=!1;const r=j.length;return j.push(n),ge.push(!1),Rn(n,r,t),r},gs=(e,t)=>{const n=document.createElement("audio");document.body.appendChild(n),n.style="opacity: 0; position: absolute; top: 0; left: 0; width: 1px; height: 1px",n.src=e;const r=j.length;return j.push(n),ge.push(!1),Rn(n,r,t),r},bs=(e,t)=>{const n=j[e];n&&(t===0?n.muted=!0:(n.muted&&(n.muted=!1),n.volume=t))},ys=(e,t)=>{const n=j[e];n&&(t?n.play():n.pause())},Es=(e,t)=>{ge[e]=t},vs=e=>{var t;return((t=j[e])==null?void 0:t.currentTime)??0},ws=(e,t)=>{const n=j[e];n&&(n.currentTime=t)},Ss=e=>{var n;const t=((n=j[e])==null?void 0:n.duration)??0;return isNaN(t)?0:t},pi=e=>j[e],Cn=e=>{e.pause(),e.removeAttribute("src"),e.load(),e.remove()},_s=e=>{const t=j[e];t&&(Cn(t),j[e]=null,ge[e]=!1)},mi=()=>{for(let e of j)e&&Cn(e);j.length=1,ge.length=1},Ts=()=>{const e=new Map;let t=null;const n=o=>{e.delete(o)&&_s(o)},r=new FinalizationRegistry(o=>{const f=e.get(o);f&&(f.held=!1,f.playing||n(o))}),s=(o,f)=>{let l=-1;if(l=o(f,()=>{const E=e.get(l);E&&(t==null||t(l),!E.loop&&(E.playing=!1,E.held||n(l)))}),l<0)return null;e.set(l,{held:!0,playing:!1,loop:!1});const b={id:l};return r.register(b,l),b};return{bridge:{createAudio:o=>s(gs,o),createVideo:o=>s(hs,o),setVolume:bs,setLoop(o,f){const l=e.get(o);l&&(l.loop=f),Es(o,f)},setPlaying(o,f){const l=e.get(o);l&&(l.playing=f,ys(o,f),!f&&!l.held&&n(o))},time:vs,setTime:ws,duration:Ss,setEmitter(o){t=o}},live:()=>e.size,dispose(){t=null;for(const o of[...e.keys()])n(o)}}},ks=()=>{const e=[];return{bridge:{open(n,r){const s=e.length;let i;try{i=new WebSocket(n)}catch{return e.push(null),queueMicrotask(()=>r("error")),s}return i.addEventListener("open",()=>r("open")),i.addEventListener("message",o=>r("message",o.data)),i.addEventListener("close",o=>{e[s]=null,r("close",o.code)}),i.addEventListener("error",()=>r("error")),e.push(i),s},send(n,r){const s=e[n];s&&s.readyState===WebSocket.OPEN&&s.send(r)},close(n){var r;(r=e[n])==null||r.close()}},dispose(){for(const n of e)n==null||n.close();e.length=0}}},Ls=e=>{let t="default",n=null,r=!1;const s=()=>`lecodes:${e}:${t}`,i=()=>{if(n)return n;n={};try{const d=window.localStorage.getItem(s()),b=d?JSON.parse(d):null;if(b&&typeof b=="object")for(const[E,g]of Object.entries(b))typeof g=="string"&&(n[E]=g)}catch{}return n},o=()=>{if(r=!1,!!n)try{window.localStorage.setItem(s(),JSON.stringify(n))}catch{}},f=()=>{r||(r=!0,queueMicrotask(o))};return{bridge:{get:d=>i()[d]??null,set(d,b){i()[d]=String(b),f()},remove(d){delete i()[d],f()},select(d){r&&o(),t=d,n=null}},dispose(){r&&o()}}},qt={scene3d:{uses:["_creator.createScene","_creator.createEntity"],module:"/web-lite/src/engines/scene3d.ts"},ar:{uses:["_creator.createARController"],module:"/web-lite/src/engines/ar.ts"},anim:{uses:["_creator.animator","_creator.getGlbClipSet","_creator.loadClips","_creator.createClipFromTracks"],module:"/creator-anim/dist/creatorAnim.js"},physics:{uses:["_creator.physicsBuild","_creator.physicsCreate","_creator.physicsConfigure","_creator.physicsRaycast","_creator.characterCreate","_creator.vehicleCreate","_creator.ragdollCreate"],module:"/creator-physics/dist/creatorPhysics.js"},particles:{uses:["_creator.createParticleSystem","_creator.createNoise"],module:"/creator-particles/dist/creatorParticles.js"}},xs=e=>{const t=Object.keys(qt).filter(n=>qt[n].uses.some(r=>e.includes(r)));return new Set(t)},Xt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",An={};for(let e=0;e<Xt.length;e++)An[Xt[e]]=e;const Rs=e=>{const t=[];let n=0,r=0;for(const s of e){const i=An[s];if(i===void 0)break;const o=i&32;if(r+=(i&31)<<n,o)n+=5;else{const f=r&1;r>>=1,t.push(f?-r:r),r=0,n=0}}return t};class Cs{constructor(t){je(this,"sources");je(this,"lines");this.sources=t.sources,this.lines=[];let n=0,r=0,s=0;for(const i of t.mappings.split(";")){const o=[];let f=0;if(i)for(const l of i.split(",")){const d=Rs(l);d.length!==0&&(f+=d[0],d.length>=4&&(n+=d[1],r+=d[2],s+=d[3],o.push([f,n,r,s])))}this.lines.push(o)}}originalPositionFor(t,n){const r=this.lines[t-1];if(!r||r.length===0)return null;let s=null;for(const o of r)if(o[0]<=n)s=o;else break;s??(s=r[0]);const i=this.sources[s[1]];return i===void 0?null:{source:i,line:s[2]+1,column:s[3]}}}const As=e=>{const t=e.match(/\/\/# lecodesMap=data:application\/json;(?:charset=[^;]+;)?base64,([A-Za-z0-9+/=]+)\s*$/);if(!t)return null;try{const n=typeof atob=="function"?atob(t[1]):Buffer.from(t[1],"base64").toString("utf8");return new Cs(JSON.parse(n))}catch{return null}};let ue=null;const $s=()=>{if(ue!==null)return ue;try{new Function("throw new Error('chisel-calibrate')")()}catch(e){const n=(e.stack??"").match(/<anonymous>:(\d+):\d+/);return ue=n?parseInt(n[1],10)-1:2,ue}return ue=2,ue},Jt=(e,t)=>{const n=(e instanceof Error?e.stack:"")??"",r=$s(),s=[];for(const i of n.split(`
|
|
275
|
-
`)){const o=
|
|
276
|
-
at ${
|
|
277
|
-
`),e.head.appendChild(n)},
|
|
278
|
-
at ${t.source}:${t.line}:${t.column}${t.fn?` (${t.fn})`:""}`:e.message},
|
|
285
|
+
`,ko=e=>{const t=e.defaultView??window;try{t.CSS.registerProperty({name:"--lc-dim",syntax:"<number>",inherits:!0,initialValue:"0"})}catch{}for(const d of So)try{t.CSS.registerProperty({name:d,syntax:"*",inherits:!1})}catch{}const n=e.createElement("style");n.setAttribute("data-lecodes-lite",""),n.textContent=_o,e.head.appendChild(n);const r=n.sheet,i=(d,f)=>{const y=d.insertRule(f,d.cssRules.length);return d.cssRules[y]},s=(d,f)=>{const y=d.cssRules;for(let k=y.length-1;k>=0;k--)if(y[k]===f){d.deleteRule(k);return}},o=new Map,l=(d,f)=>{const y=f===void 0?d:`${d}.${f}`;let k=o.get(y);return k||(k=f===void 0?i(r,`@layer ${d} {}`):i(l(d),`@layer ${f} {}`),o.set(y,k)),k};for(const d of wn)d!=="lc-base"&&l(d);return{insert(d,f,y){const k=l(d,y),A=i(k,f);return{remove:()=>s(k,A)}},own(d){const f=l("lc-own"),y=i(f,`${d} {}`);return{set:(k,A)=>y.style.setProperty(k,A),unset:k=>{y.style.removeProperty(k)},remove:()=>s(f,y)}},destroy(){n.remove()}}},ct="lc-i";let To=1;const Qe=new Map,_n=e=>{let t=Qe.get(e);return t||Qe.set(e,t=`lc-c${Qe.size+1}`),t},Lo=(e,t)=>{const n=`{${t.text}}`,r=i=>`${i} .${e}, .${e}${i}`;switch(t.name){case"pressed":return{layer:"lc-press",text:`${r(`.${ct}:active`)} ${n}`};case"hovered":return{layer:"lc-hover",text:`@media (hover: hover) { ${r(`.${ct}:hover`)} ${n} }`};case"focused":return{layer:"lc-focus",text:`${r(".lc:focus-visible")} ${n}`};case"landscape":case"portrait":return{layer:"lc-orient",text:`@container ${Sn} (orientation: ${t.name}) { .${e} ${n} }`};default:{const i=_n(t.name);return{layer:"lc-class",sub:i,text:`${r(`.${i}`)} ${n}`}}}},xo=e=>e.base+""+e.transition+e.blocks.map(t=>`${t.name}${t.text}`).join(""),Ro=256,Co=e=>{const t=new Map,n=new Set,r=()=>{let i=n.size>>1;for(const s of n){if(i--<=0)break;for(const o of s.rules)o.remove();n.delete(s),t.delete(s.key)}};return{acquire(i){const s=xo(i);let o=t.get(s);if(o)return o.refs===0&&n.delete(o),o.refs++,o;const l=`lc-s${To++}`,d=[],f=i.transition?`${i.base?";":""}transition:${i.transition}`:"";d.push(e.insert("lc-bag",`.${l} {${i.base}${f}}`));for(const y of i.blocks){const k=Lo(l,y);d.push(e.insert(k.layer,k.text,k.sub))}return t.set(s,o={name:l,key:s,refs:1,rules:d}),o},release(i){--i.refs>0||(n.add(i),n.size>Ro&&r())},count:()=>({live:t.size-n.size,idle:n.size})}},Ao=()=>({base:new Map,own:new Map,blocks:new Map,cls:null,rule:null,applied:new Map,dirty:!1}),zt=new Set([...Ir,"easing"]),$o=e=>typeof e=="object"&&e!==null&&!Array.isArray(e)&&!("_h"in e),Oo=(e,t,n,r)=>{const i=new Set;let s=!1;const o=new Set,l=b=>{o.has(b)||(o.add(b),r(`style: "${b}" is not a style property — ignored`))};let d=null,f=null;const y=b=>{b.style.dirty=!0,i.add(b),!s&&(s=!0,queueMicrotask(p))},k=b=>{const S=b.style,$=Je(S.own,n,l);if(!($.size===0&&!S.rule)){S.rule||(S.rule=e.own(`.lc-n${b.id}`),b.el.classList.add(`lc-n${b.id}`));for(const F of S.applied.keys())$.has(F)||S.rule.unset(F);for(const[F,N]of $)S.applied.get(F)!==N&&S.rule.set(F,N);S.applied=$}},A=(b,S)=>{const $=new Map;for(const[F,N]of b){if(!(N.duration>0))continue;const U=`${N.duration}ms ${wo(N.easing)} ${N.delay}ms`;for(const D of S.get(F).keys())D.startsWith("--")||$.set(D,`${D} ${U}`)}return[...$.values()].join(", ")},_=b=>{const S=b.style;S.dirty=!1;const $=Ft(Je(S.base,n,l)),F=new Map,N=[];for(const[D,I]of S.blocks){const g=Je(I.props,n,l);F.set(D,g),g.size>0&&N.push({name:D,text:Ft(g)})}const U=S.cls;$===""&&N.length===0?S.cls=null:S.cls=t.acquire({base:$,blocks:N,transition:A(S.blocks,F)}),U!==S.cls&&(U&&b.el.classList.remove(U.name),S.cls&&b.el.classList.add(S.cls.name)),U&&t.release(U),d==null||d(b)};function p(){if(s=!1,i.size===0)return;const b=[...i];i.clear();for(const S of b)S.style.dirty&&_(S)}const E=(b,S,$)=>{if($==null){b.blocks.delete(S);return}if(!$o($))return;let F=b.blocks.get(S);F||b.blocks.set(S,F={props:new Map,duration:0,delay:0,easing:void 0});for(const N of Object.keys($)){const U=$[N];if(N==="duration"){F.duration=Number(U)||0;continue}if(N==="delay"){F.delay=Number(U)||0;continue}if(N==="easing"){F.easing=U;continue}if(zt.has(N)||N[0]==="$")continue;const D=Xe(N);F.props.delete(D),U!=null&&F.props.set(D,U)}};return{flush:p,set onChange(b){d=b},set onWrite(b){f=b},merge(b,S){const $=b.style;let F=!1;for(const N of Object.keys(S)){const U=S[N];if(N[0]==="$"){E($,N.slice(1),U);continue}if(zt.has(N))continue;const D=Xe(N);$.base.delete(D),U!=null&&$.base.set(D,U),$.own.delete(D)&&(F=!0),f==null||f(b,D)}F&&k(b),y(b)},set(b,S,$){const F=b.style;if(S[0]==="$"){E(F,S.slice(1),$),y(b);return}const N=Xe(S);if(!io(N)){l(N);return}f==null||f(b,N),$==null?(F.own.delete(N),F.base.delete(N)&&y(b)):F.own.set(N,$),k(b),(bn(N)||N==="tintColor")&&(d==null||d(b))},setClass(b,S,$){b.el.classList.toggle(_n(S),$)},value(b,S){const $=b.style;return $.own.has(S)?$.own.get(S):$.base.get(S)},owns(b,S){return b.style.own.has(S)||b.style.base.has(S)},names(b,S){const $=b.style;if($.own.has(S)||$.base.has(S))return!0;for(const F of $.blocks.values())if(F.props.has(S))return!0;return!1},drop(b){const S=b.style;i.delete(b),S.cls&&(t.release(S.cls),S.cls=null),S.rule&&(S.rule.remove(),S.rule=null)}}},Uo={button:"button",input:"input",textarea:"textarea",image:"img"},No=(e,t)=>{const n=e.createElement(Uo[t]??"div");if(n.className=`lc lc-${t}`,t==="button"&&(n.type="button"),t==="image"){const r=n;r.alt="",r.decoding="async",r.draggable=!1}return n},Mo=(e,t,n)=>({id:t,type:n,el:No(e,n),parent:null,flags:0,held:!0,rooted:!1,token:{},style:Ao(),strings:new Map}),kn=Symbol("lecodes.node"),ge=e=>e==null?void 0:e[kn],Tn=e=>{e.el[kn]=e,e.el.setAttribute("data-node",String(e.id))},ke=e=>{const t=[];for(let n=e.el.firstElementChild;n;n=n.nextElementSibling){const r=ge(n);r&&r.parent===e&&t.push(r)}return t},Ze=(e,t=",")=>{const n=[];let r=0,i="";for(const s of e){if(s==="("&&r++,s===")"&&r--,s===t&&r===0){n.push(i.trim()),i="";continue}i+=s}return i.trim()!==""&&n.push(i.trim()),n},Wt={"to top":0,"to right":90,"to bottom":180,"to left":270,"to top right":45,"to right top":45,"to bottom right":135,"to right bottom":135,"to bottom left":225,"to left bottom":225,"to top left":315,"to left top":315},Fo=e=>{if(e in Wt)return Wt[e];const t=/^(-?[\d.]+)(deg|rad|turn|grad)$/.exec(e);if(!t)return null;const n=parseFloat(t[1]);return t[2]==="deg"?n:t[2]==="rad"?n*180/Math.PI:t[2]==="turn"?n*360:n*.9},Po=(e,t)=>{const n=[];for(const r of Ze(e.trim())){const i=/^(?:repeating-)?(linear|radial)-gradient\((.*)\)$/s.exec(r);if(!i)return null;const s=i[1],o=Ze(i[2]);let l=s==="linear"?180:0;if(o.length>0){const f=o[0],y=s==="linear"?Fo(f):null;y!==null?(l=y,o.shift()):s==="radial"&&/\b(circle|ellipse|at|closest|farthest)\b/.test(f)&&o.shift()}const d=[];for(const f of o){const y=Ze(f," "),k=y[y.length-1],A=y.length>1&&/^-?[\d.]+%$/.test(k),_=A?y.slice(0,-1).join(" "):f;d.push({color:t(_)??"#00000000",position:A?parseFloat(k)/100:null})}if(d.length===0)return null;d[0].position===null&&(d[0].position=0),d[d.length-1].position===null&&(d[d.length-1].position=1);for(let f=1;f<d.length-1;f++){if(d[f].position!==null)continue;let y=f;for(;d[y].position===null;)y++;const k=d[f-1].position,A=d[y].position;for(let _=f;_<y;_++)d[_].position=k+(A-k)*(_-f+1)/(y-f+1);f=y}n.push({type:s,angle:l,stops:d.map(f=>({color:f.color,position:f.position}))})}return n.length>0?n:null},Io=Object.keys(Be).filter(e=>Be[e]!=="layout"),le=e=>Math.max(0,Math.min(255,Math.round(e))).toString(16).padStart(2,"0"),Gt=e=>{const t=/^rgba?\(\s*([\d.]+)[,\s]+([\d.]+)[,\s]+([\d.]+)(?:\s*[,/]\s*([\d.]+%?))?\s*\)$/.exec(e.trim());if(t){const r=t[4]===void 0?1:t[4].endsWith("%")?parseFloat(t[4])/100:parseFloat(t[4]);return`#${le(+t[1])}${le(+t[2])}${le(+t[3])}${le(r*255)}`}const n=/^color\(srgb\s+([\d.]+)\s+([\d.]+)\s+([\d.]+)(?:\s*\/\s*([\d.]+))?\)$/.exec(e.trim());return n?`#${le(+n[1]*255)}${le(+n[2]*255)}${le(+n[3]*255)}${le((n[4]===void 0?1:+n[4])*255)}`:null},Do=e=>{if(e==="none")return[1,0,0,0,1,0,0,0,1];const t=/^matrix\(([^)]+)\)$/.exec(e);if(!t)return null;const[n,r,i,s,o,l]=t[1].split(",").map(d=>parseFloat(d));return[n,r,0,i,s,0,o,l,1]},Ht={pointerEvents:{auto:"all"},overflow:{auto:"scroll"},display:{"-webkit-box":"flex",block:"flex"},showScrollbar:{none:"0",thin:"1",auto:"1"},overscrollMode:{auto:"default",contain:"absorb"},textAlign:{"-webkit-auto":"start"}},Bo=e=>{const t=e.root.ownerDocument,n=t.defaultView??window;let r=null;const i=f=>{r||(r=t.createElement("span"),r.style.cssText="position:absolute;visibility:hidden;pointer-events:none"),r.isConnected||e.root.appendChild(r),r.style.color="",r.style.color=f;const y=r.style.color===""?null:Gt(n.getComputedStyle(r).color);return r.remove(),y},s=(f,y,k,A)=>{var E,b;if(bn(y)){const S=e.value(f,y);return S==null?null:k==="num"?Number(S===!0?1:S===!1?0:S):String(S)}const _=lo(y);if(_===null)return null;const p=A.getPropertyValue(_).trim();if(p===""&&!f.el.isConnected)return o(f,y,k);if(p==="")return null;switch(k){case"color":return _.startsWith("--")?i(p):Gt(p);case"len":{const S=parseFloat(p);return Number.isFinite(S)?S:y==="lineHeight"?parseFloat(A.fontSize)*1.2:null}case"num":{if(y==="lineClamp")return p==="none"?0:parseFloat(p)||0;const S=parseFloat(((E=Ht[y])==null?void 0:E[p])??p);return Number.isFinite(S)?S:null}case"enum":return((b=Ht[y])==null?void 0:b[p])??p;default:return y==="backgroundGradient"?p==="none"?null:Po(p,i):y==="transform"?Do(p):y==="transformOrigin"?null:y==="fontFamily"?p.split(",")[0].trim().replace(/^["']|["']$/g,""):y==="backgroundImage"&&p==="none"?"":p}},o=(f,y,k)=>{const A=e.value(f,y)??Pr[y];if(A==null)return null;if(y==="transform")return A==="identity"||A==="none"?[1,0,0,0,1,0,0,0,1]:null;if(k==="color")return typeof A=="number"?`#${(A>>>0).toString(16).padStart(8,"0")}`:i(String(A));if(k==="len"||k==="num"){const _=typeof A=="number"?A:parseFloat(String(A));return Number.isFinite(_)?_:null}return String(A)},l=f=>{const y=n.getComputedStyle(f.el),k=[],A=[],_={};for(const p of Io){const E=e.owns(f,p);E&&k.push(p);const b=s(f,p,Be[p],y);if(Fr.includes(p)&&!E&&(b===null||b==="none")){_[p]=null;continue}A.push(p),_[p]=b}return{present:A,dirty:[],own:k,..._}},d=f=>{const y=f.el,k={id:f.id,type:f.type},A=f.strings.get("name");A&&(k.name=A);const _=f.strings.get("text");return f.type==="text"&&_&&(k.text=_),(f.type==="input"||f.type==="textarea")&&(k.value=y.value),k.flags=f.flags,k.layout=[y.offsetLeft,y.offsetTop,y.offsetWidth,y.offsetHeight],k.paint=l(f),e.extend(f,k,d),k.children=e.held(f)?[]:ke(f).map(d),k};return{dump(){return e.flush(),JSON.stringify({roots:e.roots().map(f=>({kind:f.kind,node:d(f.node)}))})},paint(f){return f?(e.flush(),JSON.stringify(l(f))):"null"}}},et=10,Vo=500,zo=e=>{const{root:t,emit:n}=e,r=t.ownerDocument,i=r.defaultView??window,s=m=>{const h=t.getBoundingClientRect(),C=un(t)||1;return[(m.clientX-h.left)/C,(m.clientY-h.top)/C]},o=(m,h)=>{for(let C=m instanceof Element?m:null;C&&C!==t;C=C.parentElement){if(e.boundary(C))return null;const x=ge(C);if(x&&(x.flags&h)!==0)return x}return null},l=new Map;let d=!1,f=null;const y=(m,h)=>{const C=typeof h=="number"?h:0;(C&$t)!==0&&(m.tracked=!0,m.wantsMove=(C&Ot)!==0,m.claim=C&Cr)},k=m=>{i.clearTimeout(m.timer),l.delete(m.pointerId)},A=m=>{if(m.pointerType==="mouse"&&m.button!==0)return;const h=o(m.target,Pe),[C,x]=s(m);f=[C,x],d=!1;const O={pointerId:m.pointerId,node:h,startX:C,startY:x,moved:!1,tracked:!1,wantsMove:!1,claim:0,handled:!1,timer:0};if(l.set(m.pointerId,O),!h){const P=m.target instanceof Element?e.hit(m.target,C,x):null;P!==null&&y(O,n(0,hr,m.pointerId,C,x,P));return}y(O,n(h.id,Jn,m.pointerId,C,x)),(h.flags&vr)!==0&&(O.timer=i.setTimeout(()=>{if(l.get(O.pointerId)!==O||O.moved)return;const P=n(h.id,Zn,O.pointerId,O.startX,O.startY),V=typeof P=="number"?P:0;(V&Ar)!==0&&(O.handled=!0),y(O,V)},Vo))},_=m=>{const h=l.get(m.pointerId);if(h){const[C,x]=s(m);!h.moved&&Math.hypot(C-h.startX,x-h.startY)>et&&(h.moved=!0,i.clearTimeout(h.timer)),h.tracked&&h.wantsMove&&n(0,er,m.pointerId,C,x,C-h.startX,x-h.startY)}m.pointerType==="mouse"&&I(m)},p=m=>{const h=l.get(m.pointerId);if(!h)return;const[C,x]=s(m);h.tracked&&n(0,tr,m.pointerId,C,x,C-h.startX,x-h.startY),(h.moved||h.handled)&&(d=!0),k(h)},E=m=>{const h=l.get(m.pointerId);h&&(h.tracked&&n(0,St,m.pointerId),d=!0,k(h))},b=m=>{if(m.cancelable){for(const h of l.values())if(h.tracked&&h.claim!==0){m.preventDefault();return}}},S=m=>{if(d){d=!1;return}const h=o(m.target,Pe);if(!h&&m.target instanceof Element){const[O,P]=s(m);if(f&&Math.hypot(O-f[0],P-f[1])>et)return;const V=e.hit(m.target,O,P);V!==null&&n(0,mr,m.pointerId??0,O,P,V);return}if(!h||(h.flags&yr)===0)return;let C,x;if(m.detail===0&&m.clientX===0&&m.clientY===0){const O=h.el.getBoundingClientRect();[C,x]=s({clientX:O.left+O.width/2,clientY:O.top+O.height/2})}else if([C,x]=s(m),f&&Math.hypot(C-f[0],x-f[1])>et)return;n(h.id,Qn,m.pointerId??0,C,x)};let $=null,F=!1,N=!1,U=[0,0];const D=(m,h)=>{$&&F&&(m===Rt?n(0,m):n(0,m,h[0],h[1],h[0]-U[0],h[1]-U[1])),$=null,F=!1,N=!1};function I(m){const h=s(m),C=t.contains(m.target)?o(m.target,Pe):null;if(C!==$){if(D(xt,h),$=C,C&&(C.flags&Rr)!==0){U=h;const x=n(C.id,gr,h[0],h[1]),O=typeof x=="number"?x:0;F=(O&$t)!==0,N=(O&Ot)!==0}return}$&&F&&N&&n(0,br,h[0],h[1],h[0]-U[0],h[1]-U[1])}const g=m=>{m.pointerType==="mouse"&&D(xt,s(m))},w=m=>{const h=ge(m instanceof Element?m:null);return h&&(h.type==="input"||h.type==="textarea")?h:null},M=m=>{const h=w(m.target);h&&(h.flags&Sr)!==0&&n(h.id,sr,h.el.value)},z=m=>{const h=w(m.target);h&&(h.flags&_r)!==0&&n(h.id,ir)},B=m=>{const h=w(m.target);h&&(h.flags&kr)!==0&&n(h.id,ar)},W=m=>{if(m.key!=="Enter"||m.isComposing)return;const h=w(m.target);if(!h||h.type!=="input")return;m.preventDefault();const C=h.el;(h.flags&Tr)!==0&&n(h.id,lr,C.value),e.value(h,"enterKey")!=="next"&&r.activeElement===C&&C.blur()},u=m=>{const h=i.getComputedStyle(m);return h.overflowX!=="hidden"&&h.overflowY==="hidden"},R=m=>{const h=ge(m.target instanceof Element?m.target:null);!h||(h.flags&Er)===0||n(h.id,nr,u(h.el)?h.el.scrollLeft:h.el.scrollTop)},T=m=>{const h=ge(m.target instanceof Element?m.target:null);h&&(h.flags&wr)!==0&&n(h.id,rr)};return t.addEventListener("pointerdown",A),t.addEventListener("click",S),t.addEventListener("pointerleave",g),t.addEventListener("touchmove",b,{passive:!1}),t.addEventListener("input",M),t.addEventListener("focusin",z),t.addEventListener("focusout",B),t.addEventListener("keydown",W),t.addEventListener("scroll",R,!0),t.addEventListener("scrollend",T,!0),r.addEventListener("pointermove",_),r.addEventListener("pointerup",p),r.addEventListener("pointercancel",E),{isPressed(m){for(const h of l.values())if(h.node===m)return!0;return!1},isHovered:m=>$===m,forget(m){for(const h of[...l.values()])h.node===m&&(h.tracked&&n(0,St,h.pointerId),k(h));$===m&&D(Rt,[0,0])},destroy(){for(const m of l.values())i.clearTimeout(m.timer);l.clear(),t.removeEventListener("pointerdown",A),t.removeEventListener("click",S),t.removeEventListener("pointerleave",g),t.removeEventListener("touchmove",b),t.removeEventListener("input",M),t.removeEventListener("focusin",z),t.removeEventListener("focusout",B),t.removeEventListener("keydown",W),t.removeEventListener("scroll",R,!0),t.removeEventListener("scrollend",T,!0),r.removeEventListener("pointermove",_),r.removeEventListener("pointerup",p),r.removeEventListener("pointercancel",E)}}},Wo=e=>`url("${e.replace(/["\\\n]/g,t=>"\\"+t)}")`,Go=e=>{const t=_=>_.image??(_.image={src:"",srcTint:null,rect:null,form:"img",probe:0}),n=_=>_.src.startsWith("svg:")?_.src.slice(4):null,r=new Map,i=(_,p)=>{const E=r.get(p);E!=null&&E.delete(_)&&E.size===0&&r.delete(p)},s=_=>{const p=_.src,E=n(_);return E!==null?fn(E):p.startsWith("id:")?e.bufferUrl(Number(p.slice(3))):p.startsWith("canvas:")||p.startsWith("scene2d:")?"":p},o=(_,p)=>p.src.startsWith("canvas:")?"canvas":p.rect?"crop":n(p)!==null&&(p.srcTint!==null||e.hasTint(_))?"mask":"img",l=(_,p)=>{const E=_.el;if(E.tagName.toLowerCase()===p)return;const b=e.doc.createElement(p);if(b.className=E.className,p==="img"){const $=b;$.alt="",$.decoding="async",$.draggable=!1}const S=E.getAttribute("data-name");S!==null&&b.setAttribute("data-name",S),_.el=b,Tn(_),E.replaceWith(b),e.swapped(_,E)},d=_=>{for(const p of["--lc-src","--lc-src-tint","--lc-iw","--lc-ih","--lc-ir","--lc-crop-size","--lc-crop-pos"])_.style.removeProperty(p)},f=(_,p,E)=>{const[b,S,$,F]=p,[N,U]=E;_.style.setProperty("--lc-crop-size",`${N/$*100}% ${U/F*100}%`),_.style.setProperty("--lc-crop-pos",`${N===$?0:b/(N-$)*100}% ${U===F?0:S/(U-F)*100}%`)},y=new WeakMap,k=(_,p)=>{const E=_.el,b=e.drawable(p);if(!b){E.width=0,E.height=0;return}E.width!==b.pixelWidth&&(E.width=b.pixelWidth),E.height!==b.pixelHeight&&(E.height=b.pixelHeight);const S=E.getContext("2d");S&&(S.clearRect(0,0,E.width,E.height),E.width>0&&E.height>0&&S.drawImage(b.image,0,0),E.style.setProperty("--lc-iw",`${b.width}px`),b.height>0&&E.style.setProperty("--lc-ir",`${b.width} / ${b.height}`))},A=_=>{var D;const p=t(_),E=o(_,p);p.form=E,l(_,E==="img"?"img":E==="canvas"?"canvas":"div");const b=_.el;if(b.classList.toggle("lc-image-mask",E==="mask"),b.classList.toggle("lc-image-crop",E==="crop"),b.classList.toggle("lc-image-canvas",E==="canvas"),d(b),E==="canvas"){k(_,p.src);return}const S=s(p);if(E==="img"){const I=b;S===""?I.removeAttribute("src"):I.getAttribute("src")!==S&&(I.src=S);return}if(b.style.setProperty("--lc-src",S===""?"none":Wo(S)),E==="mask"){p.srcTint!==null&&b.style.setProperty("--lc-src-tint",Ce(p.srcTint));const I=(D=Dr(n(p)??""))==null?void 0:D.trim().split(/[\s,]+/).map(Number),g=I==null?void 0:I[2],w=I==null?void 0:I[3];g&&w&&(b.style.setProperty("--lc-iw",`${g}px`),b.style.setProperty("--lc-ir",`${g} / ${w}`));return}const $=p.rect;b.style.setProperty("--lc-iw",`${$[2]}px`),b.style.setProperty("--lc-ih",`${$[3]}px`);const F=y.get(_);if(F&&F.url===S){f(b,$,F.size);return}if(S==="")return;const N=++p.probe,U=new Image;U.addEventListener("load",()=>{if(p.probe!==N||!p.rect)return;const I=[U.naturalWidth,U.naturalHeight];y.set(_,{url:S,size:I}),f(_.el,p.rect,I)},{once:!0}),U.src=S};return{setSrc(_,p){const E=t(_);if(E.src.startsWith("canvas:")&&i(_,E.src),E.src=p??"",E.srcTint=null,E.src.startsWith("canvas:")){let b=r.get(E.src);b||r.set(E.src,b=new Set),b.add(_)}A(_)},setSrcTint(_,p){t(_).srcTint=p,A(_)},setSourceRect(_,p){const E=t(_),b=p==null?void 0:p.trim().split(/\s+/).map(Number),S=b&&b.length===4&&b.every(N=>Number.isFinite(N))&&b[2]>0&&b[3]>0?b:null,$=!!E.rect&&!!S&&E.form==="crop"&&E.rect[2]===S[2]&&E.rect[3]===S[3];E.rect=S;const F=y.get(_);if($&&F){f(_.el,S,F.size);return}A(_)},sourceChanged(_){var p;for(const E of r.get(_)??[])((p=E.image)==null?void 0:p.form)==="canvas"&&k(E,_)},forget(_){var p;(p=_.image)!=null&&p.src.startsWith("canvas:")&&i(_,_.image.src)},restyle(_){const p=_.image;p&&o(_,p)!==p.form&&A(_)}}},Ho=.5,jo=64,jt=48,Ko=e=>{const{root:t,emit:n}=e,r=t.ownerDocument,i=r.defaultView??window,s=new Map;let o=null;const l=p=>{let E=s.get(p);if(!E||!E.isConnected){E=r.createElement("div"),E.className="lc-refresh",E.style.setProperty("--lc-refresh-color",i.getComputedStyle(p.el).getPropertyValue("--lc-refresh").trim()||"#8e8e93");const b=p.el.parentElement;b&&(b.appendChild(E),E.style.top=`${p.el.offsetTop-36}px`,E.style.left=`${p.el.offsetLeft+p.el.offsetWidth/2}px`),s.set(p,E)}return E},d=(p,E,b)=>{const S=l(p);S.classList.toggle("lc-settling",b),S.style.translate=`0 ${E}px`,S.style.transform=`rotate(${E*3}deg)`,S.style.opacity=String(Math.min(1,E/jt))},f=p=>{const E=s.get(p);E&&(E.classList.remove("lc-spinning"),d(p,0,!0),i.setTimeout(()=>{s.get(p)===E&&(E.remove(),s.delete(p))},220))},y=p=>{for(let E=p instanceof Element?p:null;E&&E!==t;E=E.parentElement){const b=ge(E);if(b&&(b.flags&(qe|Ye))!==0)return b}return null},k=p=>{if(o||p.touches.length!==1)return;const E=y(p.target);if(!E)return;const b=p.changedTouches[0];o={node:E,touch:b.identifier,startY:b.clientY,pulling:!1,distance:0}},A=p=>{if(!o)return;const E=[...p.changedTouches].find(S=>S.identifier===o.touch);if(!E)return;const b=E.clientY-o.startY;if(!o.pulling){if(o.node.el.scrollTop>0||b<=0){(b<0||o.node.el.scrollTop>0)&&(o.startY=E.clientY);return}o.pulling=!0}p.cancelable&&p.preventDefault(),o.distance=Math.max(0,b*Ho),(o.node.flags&Ye)!==0&&n(o.node.id,_t,o.distance),(o.node.flags&qe)!==0&&d(o.node,o.distance,!1)},_=p=>{if(!o||![...p.changedTouches].some(F=>F.identifier===o.touch))return;const{node:E,pulling:b,distance:S}=o;if(o=null,!b||((E.flags&Ye)!==0&&n(E.id,_t,0),(E.flags&qe)===0))return;if(S<jo||p.type==="touchcancel"){f(E);return}d(E,jt,!0),l(E).classList.add("lc-spinning");const $=n(E.id,or);Promise.resolve($).then(()=>f(E),()=>f(E))};return t.addEventListener("touchstart",k,{passive:!0}),t.addEventListener("touchmove",A,{passive:!1}),t.addEventListener("touchend",_),t.addEventListener("touchcancel",_),{forget(p){var E;(o==null?void 0:o.node)===p&&(o=null),(E=s.get(p))==null||E.remove(),s.delete(p)},destroy(){t.removeEventListener("touchstart",k),t.removeEventListener("touchmove",A),t.removeEventListener("touchend",_),t.removeEventListener("touchcancel",_);for(const p of s.values())p.remove();s.clear(),o=null}}},Kt=".lc-scrollable, .lc-vlist, .lc-pager-track, textarea.lc, input.lc",ze=new WeakMap,mt=e=>{if(!e.isConnected)return;const t=[],n=r=>{(r.scrollLeft!==0||r.scrollTop!==0)&&t.push({el:r,left:r.scrollLeft,top:r.scrollTop})};e.matches(Kt)&&n(e);for(const r of e.querySelectorAll(Kt))n(r);t.length>0?ze.set(e,t):ze.delete(e)},Ln=e=>{const t=ze.get(e);if(t){ze.delete(e);for(const{el:n,left:r,top:i}of t)!n.isConnected||!e.contains(n)||(n.scrollLeft=r,n.scrollTop=i)}},ut=e=>{mt(e),e.remove()},xn=(e,t,n=null)=>{t.parentElement===e&&(n===null||t.nextElementSibling===n)||(t.isConnected&&mt(t),e.insertBefore(t,n),Ln(t))},Se=0,he=-1,Rn={run:(e,t,n,r)=>r(),settle:()=>{},enterOnTop:()=>!0,holds:()=>!1},Yo={[$r]:"a 3D scene",[Or]:"a 2D scene",[Ur]:"a native view",[De]:"a video"},qo=e=>{const t=e.transitions??Rn;let n=null,r=[],i=[];const s=new Map,o=(g,w)=>`${g}:${w}`,l=new Set,d=g=>r.includes(g),f=g=>r.some(w=>w.node===g),y=g=>g&&g.kind===Q?g.node:null,k=(g,w)=>{e.emit(g.kind===Q||g.kind===De?g.id:0,w,g.kind,g.id)},A=(g,w,M,z)=>{let B=null;return(g===Q||g===De)&&(B=e.node(w)??null,!B||g===Q&&B.type!=="screen")?(e.warn(`navigation: ${w} is not a live ${g===Q?"screen":"video"} node`),null):{kind:g,id:w,node:B,viewName:M,paramsJson:z||"{}",back:Se,retired:!1}},_=(g,w)=>{var z;const M=y(g);if(!M){if((z=e.surface)!=null&&z.call(e,g,!0)){g.node&&e.rootOwned(g.node,!0);return}l.has(g.kind)||(l.add(g.kind),e.warn(`${Yo[g.kind]??"this destination"} as a destination is not built yet (docs/plans/web-lite-plan.md) — nothing is shown for it`));return}e.rootOwned(M,!0),M.el.classList.remove("lc-covered"),M.el.classList.toggle("lc-above",w),xn(e.root,M.el)},p=g=>{var M;const w=y(g);!w&&g!==n&&((M=e.surface)==null||M.call(e,g,!1)),!(!w||g===n)&&(n&&n.node===w||(w.el.classList.remove("lc-above"),f(w)?w.el.classList.add("lc-covered"):ut(w.el)))},E=g=>{const w=y(g);!w&&g.node&&!(n&&n.node===g.node)&&!f(g.node)&&(e.rootOwned(g.node,!1),g.node.parent===null&&e.emit(g.node.id,Tt)),w&&(n&&n.node===w||f(w)||(w.el.classList.remove("lc-above"),ut(w.el),e.rootOwned(w,!1),e.emit(w.id,Tt)))},b=()=>{const g=i;i=[];for(const w of g)w.node&&t.holds(w.node)?i.push(w):E(w)},S=g=>{!g||g.retired||(g.retired=!0,i.push(g),e.post(b))},$=(g,w,M)=>{const z=M===he?Se:M,B=y(g),W=y(w);B&&W&&W.el.classList.toggle("lc-above",!B.el.classList.contains("lc-above")),t.run(B,W,z,()=>{var u;B==null||B.el.classList.remove("lc-above"),W==null||W.el.classList.remove("lc-above"),w&&p(w),i.length>0&&e.post(b),(u=e.settled)==null||u.call(e)})},F=g=>{var w;g.kind===Q&&g.node&&((w=e.active)==null||w.call(e,g.node,!1)),k(g,fr)},N=(g,w)=>{var B,W;const M=n;if(!g||M===g)return;t.settle(),M&&F(M),n=g;const z=!!y(g)&&!!y(M);_(g,!!y(g)&&(!z||t.enterOnTop(w))),k(g,ur),g.kind===Q&&g.node&&((B=e.active)==null||B.call(e,g.node,!0)),M&&!d(M)&&S(M),$(g,M,w),(W=e.changed)==null||W.call(e)},U=g=>{var M;t.settle();const w=n;w&&(F(w),n=null,d(w)||S(w),$(null,w,g),(M=e.changed)==null||M.call(e))},D=(g,w)=>{N(g,w),e.emit(0,pr,g.kind,g.id)},I=g=>{const w=r.length;return g===-1?w-2:g<-1?Math.max(w-1+g,0):g===0?0:Math.min(g,w-1)};return{current:()=>n,stack:()=>r,setUrl(g,w,M){var B;M===null||M===""?s.delete(o(g,w)):s.set(o(g,w),M.startsWith("/")?M:`/${M}`),(n&&n.kind===g&&n.id===w||r.some(W=>W.kind===g&&W.id===w))&&((B=e.changed)==null||B.call(e))},address(){if(n){const w=s.get(o(n.kind,n.id));if(w!==void 0)return w}const g=n?r.lastIndexOf(n):r.length-1;for(let w=g<0?r.length-1:g;w>=0;w--){const M=s.get(o(r[w].kind,r[w].id));if(M!==void 0)return M}return null},forgetUrl(g,w){s.delete(o(g,w))},open(g,w,M,z,B){N(A(g,w,M,z),B)},close(g,w,M){!n||n.kind!==g||n.id!==w||U(M)},routerOpen(g,w,M,z){const B=A(g,w,M,z);if(!B)return;const W=r;r=[B];for(const u of W)u!==n&&S(u);N(B,Se)},routerPush(g,w,M,z,B,W){const u=A(g,w,M,z);u&&(u.back=W===he?Se:W,r.push(u),D(u,B))},routerReplace(g,w,M,z,B,W){const u=A(g,w,M,z);if(!u)return;const R=r[r.length-1];if(!R){u.back=W===he?Se:W,r.push(u),D(u,B);return}u.back=W===he?R.back:W,r[r.length-1]=u,D(u,B),S(R)},routerPop(g,w){if(r.length<=1)return!1;const M=I(g);if(M<0||M>=r.length)return!1;const z=w===he?r[r.length-1].back:w,B=r.splice(M+1);D(r[r.length-1],z);for(const W of B)S(W);return B.length>0},routerHide(g){U(g)},routerRestore(g){const w=r[r.length-1];w&&N(w,g)},reset(){var g;t.settle();for(const w of[n,...r,...i])(g=w==null?void 0:w.node)==null||g.el.remove();n=null,r=[],i=[],s.clear()}}},Xo=250,Jo="cubic-bezier(0.2, 0.8, 0.2, 1)",Qo=6,Zo=e=>{const{root:t}=e,n=t.ownerDocument,r=n.defaultView??window,i=new Map,s=new Map,o=new Map,l=[],d=(u,R)=>`${u}:${R}`,f=u=>u.type==="layer",y=u=>{var T;const R=e.value(u.node,"overlayColor");if(R==null){(T=u.scrim)==null||T.remove(),u.scrim=null,u.frame.classList.remove("lc-scrimmed");return}u.scrim||(u.scrim=n.createElement("div"),u.scrim.className="lc-scrim",u.scrim.addEventListener("click",()=>{(u.node.flags&Lr)!==0&&e.emit(u.node.id,cr)}),u.frame.insertBefore(u.scrim,u.frame.firstChild),u.frame.classList.add("lc-scrimmed")),u.scrim.style.backgroundColor=Ce(R)},k=u=>{const R=e.value(u,"sheetDetents");if(R==null||R==="")return null;const T=String(R).split(",").map(Number).filter(m=>Number.isFinite(m)&&m>0).sort((m,h)=>m-h);return T.length>0?T:null},A=(u,R)=>{const T=u.sheet,m=u.node.el.offsetHeight;if(R<0)return m;const h=T.detents[T.detents.length-1],C=T.detents[Math.max(0,Math.min(R,T.detents.length-1))];return m*(1-C/h)},_=(u,R,T)=>{const m=u.sheet.holder;m.style.transition=T?`transform ${Xo}ms ${Jo}`:"none",m.style.transform=`translateY(${Math.max(0,R)}px)`},p=(u,R)=>{const T=k(u.node);if(!T||!u.sheet)return;const m=u.sheet;m.detents=T;const h=e.value(u.node,"sheetDismissible");m.dismissible=h==null||Number(h)>.5||h===!0;const C=Number(e.value(u.node,"sheetDetent")??0);if(R){_(u,A(u,-1),!1),m.holder.offsetHeight,m.detent=C,_(u,A(u,C),!0);return}C!==m.detent&&(m.detent=C,_(u,A(u,C),!0))},E=u=>{const R=u.node.el;R.addEventListener("pointerdown",T=>{const m=u.sheet;if(!m||T.pointerType==="mouse"&&T.button!==0)return;for(let V=T.target instanceof Element?T.target:null;V&&V!==R;V=V.parentElement)if(V.scrollTop>0)return;const h=A(u,m.detent);let C=!1,x=h;const O=V=>{if(V.pointerId!==T.pointerId)return;const j=V.clientY-T.clientY;if(!C){if(Math.abs(j)<Qo||Math.abs(j)<Math.abs(V.clientX-T.clientX))return;C=!0}x=Math.max(0,h+j),_(u,x,!1)},P=V=>{if(V.pointerId!==T.pointerId||(n.removeEventListener("pointermove",O),n.removeEventListener("pointerup",P),n.removeEventListener("pointercancel",P),!C||!u.sheet))return;let j=0,X=1/0;for(let ae=0;ae<m.detents.length;ae++){const J=Math.abs(A(u,ae)-x);J<X&&(X=J,j=ae)}const ee=A(u,0),ie=R.offsetHeight;if(m.dismissible&&x>ee+(ie-ee)/2){_(u,ie,!0),(u.node.flags&At)!==0&&e.emit(u.node.id,kt,-1);return}m.detent=j,_(u,A(u,j),!0),(u.node.flags&At)!==0&&e.emit(u.node.id,kt,j)};n.addEventListener("pointermove",O),n.addEventListener("pointerup",P),n.addEventListener("pointercancel",P)})},b=u=>{let R=!0,T=0,m=u.parent;for(;m;){let h=m;for(;h.parent;)h=h.parent;const C=e.ownerOf(h);if(C){e.pageShown(h)||(R=!1),T++,m=C;continue}const x=i.get(h);if(x){x.mountedIn||(R=!1),T++,m=x.parent;continue}const O=f(h)?l.includes(h):e.screenShown(h);return{outer:h,visible:R&&O,depth:T}}return{outer:null,visible:!1,depth:T}},S=u=>{const R=u.node.el;if(!R.isConnected)return e.value(u.node,"display")!=="none";const T=R.classList.contains("lc-leaving");T&&R.classList.remove("lc-leaving");const m=r.getComputedStyle(R).display!=="none";return T&&R.classList.add("lc-leaving"),m},$=u=>{const R=["lc-widget-frame",u.scrim?"lc-scrimmed":""].filter(Boolean),T=Array.from(u.parent.el.classList).filter(h=>!h.startsWith("lc"));u.frame.className=[...R,...T].join(" ");const m=u.parent.el.style;for(let h=0;h<m.length;h++){const C=m[h];C.startsWith("--")&&u.frame.style.setProperty(C,m.getPropertyValue(C))}for(const h of["data-theme-text","data-theme-font"])u.parent.el.hasAttribute(h)?u.frame.setAttribute(h,""):u.frame.removeAttribute(h)},F=u=>u.stage??(u.stage=e.stage()),N=u=>{u.leaving&&(u.leaving=!1,u.node.el.classList.remove("lc-leaving"))},U=u=>{u.pose&&F(u).run(u.node,null,u.pose,()=>{})},D=u=>{if(!u.pose){g(u,!1);return}u.leaving=!0,u.node.el.classList.add("lc-leaving"),F(u).run(null,u.node,u.pose,()=>{N(u),g(u,!1),M()})},I=u=>{u.mountedIn&&(g(u,!1),mt(u.node.el),u.frame.remove(),u.mountedIn=null)},g=(u,R)=>{u.onShow!==R&&(u.onShow=R,e.rootActive(u.node,R))};let w=!1;const M=()=>{if(w)return;w=!0,e.flush();const u=new Map;for(const T of i.values())u.set(T,b(T));const R=new Map;for(const[T,m]of u){if(!m.visible||!m.outer){T.leaving&&(F(T).settle(),N(T)),g(T,!1),I(T);continue}const h=R.get(m.outer)??[];h.push(T),R.set(m.outer,h)}for(const[T,m]of R){m.sort((C,x)=>u.get(C).depth-u.get(x).depth);let h=null;for(const C of m)$(C),C.mountedIn!==T?(C.mountedIn&&I(C),T.el.appendChild(C.frame),C.mountedIn=T,e.rootOwned(C.node,!0),Ln(C.node.el),C.sheet&&p(C,!0)):h&&C.frame.previousElementSibling!==h&&T.el.appendChild(C.frame),h=C.frame}for(const[T,m]of u){if(!T.mountedIn){T.intent===-1&&(T.intent=e.value(T.node,"display")!=="none"?1:0);continue}const h=S(T),C=T.intent!==-1&&(h?1:0)!==T.intent;if(T.intent===-1?(T.intent=h?1:0,h!==(e.value(T.node,"display")!=="none")&&e.emitLater(T.node.id,Ct,h?1:0)):(h?1:0)!==T.intent&&(T.intent=h?1:0,e.emitLater(T.node.id,Ct,h?1:0)),h)if(T.leaving)F(T).settle(),N(T),g(T,!0),C&&U(T);else{const x=T.onShow;g(T,!0),C&&!x&&U(T)}else T.leaving||(C&&T.onShow?D(T):g(T,!1))}w=!1};return{attach(u,R,T){if(R.type!=="screen"&&!f(R))return console.error(`[web-lite] a widget can only be a child of a screen or a layer (it belongs to the window, not to a box: a floating element of a ${R.type} is an absolute child, not a widget)`),!1;if(i.has(u))return!1;const m=n.createElement("div");m.className="lc-widget-frame";const h={node:u,parent:R,frame:m,scrim:null,sheet:null,mountedIn:null,intent:-1,pose:tt.get(u)??0,stage:null,leaving:!1,onShow:!1};if(k(u)){const x=n.createElement("div");x.className="lc-sheet",x.appendChild(u.el),m.appendChild(x),h.sheet={holder:x,detents:[1],detent:-1,dismissible:!0},E(h)}else m.appendChild(u.el);i.set(u,h);const C=s.get(R)??[];return C.splice(Math.max(0,Math.min(T,C.length)),0,u),s.set(R,C),u.parent=R,y(h),M(),!0},detach(u){const R=i.get(u);if(!R)return!1;F(R).settle(),N(R),I(R),i.delete(u);const T=s.get(R.parent);if(T){const m=T.indexOf(u);m>=0&&T.splice(m,1),T.length===0&&s.delete(R.parent)}return u.parent=null,u.el.remove(),R.frame.remove(),e.rootOwned(u,!1),!0},childrenOf:u=>s.get(u)??[],isWidget:u=>i.has(u),setPose(u,R){const T=i.get(u);T?T.pose=R:tt.set(u,R)},setLayer(u,R,T){const m=d(u,R),h=o.get(m)??null;h!==T&&(h&&z(h),T?(o.set(m,T),T.el.classList.add("lc-layer")):o.delete(m),W())},refresh(){W(),M()},scrim:u=>{var R;return((R=i.get(u))==null?void 0:R.scrim)??null},restyle(u){const R=i.get(u);R&&(y(R),$(R),R.sheet&&p(R,!1),M(),queueMicrotask(M))},forget(u){const R=i.get(u);if(R){F(R).settle(),N(R),I(R),i.delete(u);const m=s.get(R.parent);if(m){const h=m.indexOf(u);h>=0&&m.splice(h,1)}R.frame.remove()}const T=s.get(u);if(T){for(const m of T.slice())this.forget(m);s.delete(u)}for(const[m,h]of o)h===u&&(z(h),o.delete(m));tt.delete(u)},shown:()=>Array.from(i.values()).filter(u=>u.onShow).map(u=>u.node),isShown:u=>{var R;return!!((R=i.get(u))!=null&&R.onShow)},backTargets(){const u=[],R=T=>{if(!T)return;const m=Array.from(T.el.children).filter(h=>h.classList.contains("lc-widget-frame"));for(let h=m.length-1;h>=0;h--){const C=Array.from(i.values()).find(x=>x.frame===m[h]);C&&C.onShow&&!C.leaving&&(C.node.flags&xr)!==0&&u.push(C.node)}};return R(o.get(d(be,0))??null),R(e.currentRoot()),u},layers:()=>l.slice(),layerOf:(u,R)=>o.get(d(u,R))??null,isFrame:u=>u.classList.contains("lc-widget-frame"),toast(u,R){(!te||!te.isConnected)&&(te=n.createElement("div"),te.className="lc-toasts",t.appendChild(te));const T=n.createElement("div");T.className="lc-toast",T.setAttribute("role","status"),T.textContent=u,te.appendChild(T),T.offsetHeight,T.classList.add("lc-on"),r.setTimeout(()=>{T.classList.remove("lc-on"),r.setTimeout(()=>T.remove(),200)},Math.max(500,R))},destroy(){for(const u of i.values())u.frame.remove();i.clear(),s.clear();for(const u of l)u.el.remove();l.length=0,o.clear(),te==null||te.remove(),te=null}};function z(u){const R=l.indexOf(u);R<0||(l.splice(R,1),e.rootActive(u,!1),u.el.remove(),e.rootOwned(u,!1))}function B(u){l.includes(u)||(l.push(u),t.appendChild(u.el),e.rootOwned(u,!0),e.rootActive(u,!0))}function W(){const u=e.current();for(const[T,m]of o)T===d(be,0)||!!u&&T===d(u.kind,u.id)?B(m):z(m);const R=o.get(d(be,0));R&&R.el.parentElement===t&&t.lastElementChild!==R.el&&t.appendChild(R.el)}};let te=null;const tt=new WeakMap,Yt={pager:["pagerSetContent","pagerSelect","pagerPush","pagerPop","pagerPopToRoot","pagerReplace"],vlist:["vlistInit","vlistSetKeys","vlistInsertKeys","vlistRemoveKeys","vlistInvalidate","vlistMount","vlistScrollTo","vlistScrollToKey","vlistScrollToEnd"],plugins:["viewCall"],tween:["tweenCreate","tweenControl","tweenSeek","tweenSetRate","tweenGetTime","tweenGetElapsed","registerTweenEvent","defineTransition"]},es=e=>{const t=e.root,n=t.ownerDocument,r=(a,c,v)=>{for(const L of Object.keys(c)){const G=c[L],H=G==null?null:typeof G=="number"?se(G):Re(G);for(const ue of v?[`--${L}`,`--lc-app-${L}`]:[`--${L}`])H===null?a.style.removeProperty(ue):a.style.setProperty(ue,H)}},i=n.defaultView??window,s=new Set,o=a=>console.warn(`[web-lite] ${a}`),l=[],d=a=>{var c;for(const v of l){const L=(c=v.ownerOf)==null?void 0:c.call(v,a);if(L)return L}return null},f=a=>{var c;for(const v of l){const L=(c=v.roots)==null?void 0:c.call(v,a);if(L)return L}return null},y=(a,c)=>{var v;for(const L of l)(v=L.rootActive)==null||v.call(L,a,c)},k=a=>{var c;for(const v of l)(c=v.subtreeMoved)==null||c.call(v,a)},A=()=>{for(const a of l)if(a.stage)return a.stage();return Rn};let _=null;const p=()=>_??(_=e.transitions??A()),E={run:(a,c,v,L)=>p().run(a,c,v,L),settle:()=>p().settle(),enterOnTop:a=>p().enterOnTop(a),holds:a=>p().holds(a)};let b=[],S=!1;const $=a=>{b.push(a),!S&&(S=!0,queueMicrotask(()=>{S=!1;const c=b;b=[];for(const v of c)v()}))};let F=null;const N=(a,c,...v)=>{if(F)try{return F(a,c,...v)}catch(L){i.setTimeout(()=>{throw L},0);return}},U=(a,c,...v)=>$(()=>{N(a,c,...v)});t.classList.add("lc-root");const D=e.sink??ko(n),I=Co(D),g=Oo(D,I,{bufferUrl:e.bufferUrl},o),w=new Map;let M=1;const z=new ResizeObserver(a=>{for(const c of a){const v=c.target,L=w.get(Number(v.getAttribute("data-node")));!L||L.el!==v||!(L.flags&de)||N(L.id,Xn,v.offsetLeft,v.offsetTop,v.offsetWidth,v.offsetHeight)}}),B=Go({doc:n,bufferUrl:e.bufferUrl,drawable:a=>{var c;for(const v of l){const L=(c=v.drawable)==null?void 0:c.call(v,a);if(L)return L}return null},hasTint:a=>g.names(a,"tintColor"),swapped:(a,c)=>{z.unobserve(c),a.flags&de&&z.observe(a.el)},warn:o});g.onChange=a=>{const c=a;Nr(c,v=>g.value(c,v)),c.type==="image"&&B.restyle(c),c.type==="widget"?P.restyle(c):(c.type==="screen"||c.type==="layer")&&P.refresh()};const W=zo({root:t,emit:N,value:(a,c)=>g.value(a,c),boundary:a=>P.isFrame(a)||l.some(c=>{var v;return((v=c.boundary)==null?void 0:v.call(c,a))===!0}),hit:(a,c,v)=>{var L;for(const G of l){const H=(L=G.hit)==null?void 0:L.call(G,a,c,v);if(H!=null)return H}return null}}),u=Ko({root:t,emit:N}),R=new ResizeObserver(()=>{N(0,dr,t.clientWidth,t.clientHeight)});R.observe(t),g.onWrite=(a,c)=>{var v;for(const L of l)(v=L.styled)==null||v.call(L,a,c)};const T=a=>a.parent===null&&!a.rooted,m=(a,c,v=!0)=>{var L;for(const G of l)(L=G.forget)==null||L.call(G,a);for(const G of ke(a))m(G,c,!1);v||c.push(a.id),W.forget(a),u.forget(a),B.forget(a),O.forgetUrl(Q,a.id),P.forget(a),g.drop(a),z.unobserve(a.el),C.unregister(a.token),w.delete(a.id),a.parent=null,a.held=!1,v&&a.el.remove()},h=a=>{if(!w.has(a.id)||a.held||!T(a))return;const c=[];m(a,c),c.length>0&&N(0,Lt,c)},C=new FinalizationRegistry(a=>{const c=w.get(a);c&&(c.held=!1,T(c)&&$(()=>h(c)))}),x=a=>{a.held||$(()=>h(a))},O=qo({root:t,emit:U,post:$,warn:o,node:a=>w.get(a),rootOwned:(a,c)=>{a.rooted=c,c||x(a)},changed:e.onNavigation,settled:()=>{P.refresh()},active:y,surface:(a,c)=>l.some(v=>{var L;return((L=v.destination)==null?void 0:L.call(v,a,c))===!0}),transitions:E}),P=Zo({root:t,emit:N,emitLater:U,node:a=>w.get(a),value:(a,c)=>g.value(a,c),rootOwned:(a,c)=>{a.rooted=c,c||x(a)},rootActive:y,flush:()=>g.flush(),ownerOf:d,pageShown:a=>{var c;for(const v of l){const L=(c=v.pageShown)==null?void 0:c.call(v,a);if(L!=null)return L}return!1},screenShown:a=>{var c;return((c=O.current())==null?void 0:c.node)===a||E.holds(a)},currentRoot:()=>{const a=O.current();return a?a.kind===Q?a.node??null:P.layerOf(a.kind,a.id):null},current:()=>{const a=O.current();return a?{kind:a.kind,id:a.id}:null},stage:A}),V=e.onNavigation;e.onNavigation=()=>{P.refresh(),V==null||V()};const j=()=>{var c;for(const v of P.backTargets())if(N(v.id,Oe,be,0)===!0)return"widget";const a=O.current();if(a){const v=a.kind===Q||a.kind===De?a.id:0;if(N(v,Oe,a.kind,a.id)===!0)return"destination"}for(const v of l)if(((c=v.back)==null?void 0:c.call(v))===!0)return"feature";return O.routerPop(-1,he)?"router":N(0,Oe,be,0)===!0?"app":"none"},X=a=>{if(!(a.key!=="Escape"||a.defaultPrevented)){for(const c of P.backTargets())if(N(c.id,Oe,be,0)===!0){a.preventDefault();return}}};n.addEventListener("keydown",X);const ee=Bo({root:t,roots:()=>{const a=O.current();return[...a!=null&&a.node&&a.kind===Q?[{kind:"screen",node:a.node}]:[],...P.layers().map(v=>({kind:"layer",node:v})),...P.shown().map(v=>({kind:"widget",node:v}))]},held:a=>f(a),extend:(a,c,v)=>{var L;for(const G of l)(L=G.dump)==null||L.call(G,a,c,v)},value:(a,c)=>g.value(a,c),owns:(a,c)=>g.owns(a,c),flush:()=>g.flush()}),ie=a=>{if(!a.isConnected)return null;g.flush();const c=un(t)||1,v=t.getBoundingClientRect(),L=a.getBoundingClientRect();return L.width===0&&L.height===0&&a.offsetParent===null?null:[(L.left-v.left)/c,(L.top-v.top)/c,L.width/c,L.height/c]},$e=()=>{const a={};for(const c of Object.keys(Yt))for(const v of Yt[c])a[v]=()=>(s.has(v)||(s.add(v),o(`${v}: this tree was made without the "${c}" feature`)),v==="tweenCreate"?null:0);return a},ae={create(a){const c=Mo(n,M++,a);Tn(c),w.set(c.id,c);const v={id:c.id};return C.register(v,c.id,c.token),v},destroy(a){const c=w.get(a);if(!c)return;if(!T(c)){console.error(`[web-lite] destroy: node ${a} is attached — remove / hide / close it first`);return}c.held=!1;const v=[];m(c,v),v.length>0&&N(0,Lt,v)},insert(a,c,v){var yt;const L=w.get(a),G=w.get(c);if(!L||!G||G===L)return;if(f(L)){o(`insert() on a ${L.type} — what it holds goes through its own calls`);return}if(!T(G)){o(`insert: node ${c} is not a root — remove it from where it is first`);return}if(G.type==="widget"){const vt=ke(L).length;P.attach(G,L,v<vt?0:v-vt);return}const H=ke(L),ue=Math.max(0,Math.min(v,H.length));G.parent=L,xn(L.el,G.el,((yt=H[ue])==null?void 0:yt.el)??null),k(G)},remove(a,c){const v=w.get(a),L=w.get(c);if(!(!v||!L||L.parent!==v)){if(P.isWidget(L)){P.detach(L);return}L.parent=null,ut(L.el),k(L),x(L)}},parent(a){var v,L;const c=w.get(a);return c?((v=c.parent)==null?void 0:v.id)??((L=d(c))==null?void 0:L.id)??0:0},children(a){const c=w.get(a);return c?[...f(c)??ke(c),...P.childrenOf(c)].map(v=>v.id):[]},setString(a,c,v){var G;const L=w.get(a);if(L){v===null?L.strings.delete(c):L.strings.set(c,v);for(const H of l)(G=H.content)==null||G.call(H,L,c,v);switch(c){case"text":L.type==="text"&&(L.el.textContent=v??"");return;case"name":v===null?L.el.removeAttribute("data-name"):L.el.setAttribute("data-name",v);return;case"src":L.type==="image"&&B.setSrc(L,v);return;case"srcTintColor":L.type==="image"&&B.setSrcTint(L,v);return;case"sourceRect":L.type==="image"&&B.setSourceRect(L,v);return;case"value":if(L.type==="input"||L.type==="textarea"){const H=L.el;H.value!==(v??"")&&(H.value=v??"")}return;case"focus":v==="1"?L.el.focus({preventScroll:!0}):L.el.blur();return}}},setInt(a,c,v){var G;const L=w.get(a);if(L){L.strings.set(c,String(v));for(const H of l)(G=H.content)==null||G.call(H,L,c,v)}},setFlags(a,c){const v=w.get(a);if(!v)return;const L=v.flags;v.flags=c,v.el.classList.toggle(ct,(c&Pe)!==0),c&de&&!(L&de)?z.observe(v.el):!(c&de)&&L&de&&z.unobserve(v.el)},getTextValue(a){const c=w.get(a);return c&&(c.type==="input"||c.type==="textarea")?c.el.value:""},setStyle(a,c,v){const L=w.get(a);L&&g.set(L,c,v)},mergeStyle(a,c){const v=w.get(a);v&&g.merge(v,c)},setClass(a,c,v){const L=w.get(a);L&&(g.setClass(L,c,v),P.refresh())},setTheme(a){r(t,a,!0)},setNodeTheme(a,c){const v=w.get(a);v&&(r(v.el,c,!1),"text"in c&&v.el.toggleAttribute("data-theme-text",c.text!=null),"fontFamily"in c&&v.el.toggleAttribute("data-theme-font",c.fontFamily!=null),P.refresh())},open:O.open,close:O.close,routerOpen:(a,c,v,L)=>O.routerOpen(a,c,v,L),routerPush:O.routerPush,routerReplace:O.routerReplace,routerPop:(a,c)=>{O.routerPop(a,c)},routerHide:O.routerHide,routerRestore:O.routerRestore,setDestUrl:O.setUrl,isViewSupported:()=>!1,viewVersion:()=>0,setLayer(a,c,v){const L=v?w.get(v)??null:null;if(v&&(!L||L.type!=="layer")){o("setLayer: not a layer node");return}P.setLayer(a,c,L)},setWidgetPose(a,c){const v=w.get(a);v&&P.setPose(v,c>0?c:0)},registerFont(a,c,v,L,G,H){try{const ue=new i.FontFace(a,`url("${c}")`,{weight:String(v),style:L===2?"italic":"normal"});n.fonts.add(ue),ue.load().then(()=>G(),()=>H())}catch{H()}},fontFormat:"woff2",toast:(a,c)=>P.toast(a,c),isButtonPressed(a){const c=w.get(a);return!!c&&W.isPressed(c)},isHovered(a){const c=w.get(a);return!!c&&W.isHovered(c)},getBoundingClientRect(a){const c=w.get(a);return c?ie(c.el):null},getDisplaySize:()=>[t.clientWidth,t.clientHeight],debugDump:()=>ee.dump(),debugPaint:a=>ee.paint(w.get(a)),setEmitter(a){F=a}},J={...$e(),...ae};for(const a of["open","close","routerOpen","routerPush","routerReplace","routerPop","routerHide","routerRestore"]){const c=J[a];J[a]=(...v)=>{const L=c(...v);return $(()=>P.refresh()),L}}const q={root:t,emit:N,emitLater:U,post:$,warn:o,node:a=>w.get(a),rootOwned:(a,c)=>{a.rooted=c,c||x(a)},flush:()=>g.flush(),value:(a,c)=>g.value(a,c),setStyle:(a,c,v)=>g.set(a,c,v),setString:(a,c,v)=>J.setString(a,c,v),style:{bufferUrl:e.bufferUrl},shown:a=>{var c;return((c=O.current())==null?void 0:c.node)===a||P.isShown(a)||P.layers().includes(a)},scrim:a=>P.scrim(a),stage:A,sourceChanged:a=>B.sourceChanged(a),plugins:e.plugins??null,rootsChanged:()=>$(()=>P.refresh()),rootHolds:a=>E.holds(a)},fe={};for(const a of e.features??[]){const c=a.install(q);l.push(c),Object.assign(J,c.bridge),Object.assign(fe,c.globals)}return{bridge:J,globals:fe,presentation:O,back:j,setSafeArea(a,c=[]){for(const v of["top","right","bottom","left"])t.style.setProperty(`--safe-${v}`,`${a[v]}px`),c.includes(v)?t.style.setProperty(`--safe-${v}-bar`,`${a[v]}px`):t.style.removeProperty(`--safe-${v}-bar`)},flush:()=>g.flush(),stats:()=>Object.assign({nodes:w.size,classes:I.count(),tweens:0},...l.map(a=>{var c;return((c=a.stats)==null?void 0:c.call(a))??{}})),destroy(){var a;F=null,O.reset();for(const c of l)(a=c.destroy)==null||a.call(c);P.destroy(),n.removeEventListener("keydown",X),W.destroy(),u.destroy(),R.disconnect(),z.disconnect();for(const c of w.values())C.unregister(c.token),c.el.remove();w.clear(),e.sink||D.destroy(),t.classList.remove("lc-root");for(const c of Array.from(t.style))c.startsWith("--")&&t.style.removeProperty(c)}}},K=[null],gt=new TextDecoder("utf-8"),pi=async(e,t,n,r)=>{var _;let i;if(t.body)if(typeof t.body=="object"&&Array.isArray(t.body._entries)){const p=new FormData;for(let[E,b,S]of t.body._entries)typeof b=="object"?p.append(E,new Blob([ve(b._id)]),S):p.append(E,b);i=p}else typeof t.body=="string"?i=t.body:r(new Error("Invalid body"));const s=await fetch(e,{method:t.method,body:i,headers:t.headers,mode:"cors",credentials:"omit"}),o=typeof t.onProgress=="function"?t.onProgress:null;if(!o){const p=await s.arrayBuffer();K.push(p),n(K.length-1,s.status);return}const l=(_=s.body)==null?void 0:_.getReader();if(!l){const p=await s.arrayBuffer();K.push(p),n(K.length-1,s.status);return}const d=Number(s.headers.get("content-length"))||void 0;let f=0;const y=[];for(;;){const{done:p,value:E}=await l.read();if(p)break;E&&(y.push(E),f+=E.length,o({loaded:f,total:d}))}const k=new Uint8Array(f);let A=0;for(const p of y)k.set(p,A),A+=p.length;K.push(k.buffer),n(K.length-1,s.status)},ts=e=>JSON.parse(gt.decode(ve(e))),Cn=e=>gt.decode(ve(e)),ns=e=>new Uint8Array(ve(e)).slice(),rs=(e,t,n)=>gt.decode(ve(e).slice(t,n)),os=e=>{const t=new Blob([K[e]]);return URL.createObjectURL(t)},An=e=>new Blob([K[e]]),ve=e=>K[e],qt=e=>{K[e]=null},We=e=>(K.push(e),K.length-1),bt=new Map,hi=(e,t)=>{bt.set(e,t);const n=Ge.get(e);n!==void 0&&(K[n]=t)},mi=e=>bt.has(e),Ge=new Map,gi=e=>{for(const[t,n]of Ge)if(n===e)return t},ss=e=>{const t=Ge.get(e);if(t!==void 0)return t;const n=bt.get(e);if(!n)return-1;K.push(n);const r=K.length-1;return Ge.set(e,r),r},is=()=>{const e=new Map,t=new Map,n=new Set,r={registerView(i,s,o=1){e.set(i,{factory:s,version:o})},registerService(i,s,o=1){t.set(i,{factory:s,version:o})},putBuffer:We};return{views:e,services:t,has:i=>n.has(i),register(i,s){if(!n.has(i)){n.add(i);try{s(r)}catch(o){console.warn(`[web-lite] the "${i}" plugin did not register: ${o instanceof Error?o.message:o}`)}}}}},Xt={pager:["pagerSetContent"],vlist:["vlistInit"],tween:["tweenCreate","defineTransition"],canvas:["_creatorCanvas."],video:["createVideo"],plugins:["viewCall","isViewSupported","_creatorService."]},as={pager:()=>ce(()=>import("./assets/pager-DpGa2uaE.js"),[],import.meta.url).then(e=>e.pager),vlist:()=>ce(()=>import("./assets/vlist-CwSYpLz-.js"),[],import.meta.url).then(e=>e.vlist),tween:()=>ce(()=>import("./assets/tween-BnWYhJ7P.js"),[],import.meta.url).then(e=>e.tween),canvas:()=>ce(()=>import("./assets/canvas-WxiusXCB.js"),[],import.meta.url).then(e=>e.canvas),video:()=>ce(()=>import("./assets/video-BLj61nDx.js"),[],import.meta.url).then(e=>e.video),plugins:()=>ce(()=>import("./assets/plugins-CuEPHbHL.js"),[],import.meta.url).then(e=>e.plugins)},$n=Object.keys(Xt).map(e=>({name:e,uses:Xt[e],load:as[e]})),ls=e=>$n.filter(t=>t.uses.some(n=>e.includes(n))).map(t=>t.name),cs=async e=>{const t=ls(e);return(await Promise.all($n.filter(r=>t.includes(r.name)).map(r=>r.load().catch(i=>(console.warn(`[web-lite] the "${r.name}" feature did not load: ${i instanceof Error?i.message:i}`),null))))).filter(r=>r!==null)},us=e=>{let t=null,n=null;const r=(d,f)=>{t==null||t(d,f)},i=()=>r(document.hidden?"pause":"resume"),s=()=>r("online"),o=()=>r("offline");return document.addEventListener("visibilitychange",i),window.addEventListener("online",s),window.addEventListener("offline",o),{bridge:{run(d,f,y,k){let A;try{A=Cn(d)}catch{f("run: no such buffer");return}e.rerun(A,k,f)},restart(d){e.rerun(void 0,d)},quit(){},launchUrl:()=>e.launchUrl(),registerEvent(d){t=d},setFreedEmitter(d){n=d},ownedStats:()=>e.stats(),state:()=>document.hidden?"background":"active",isOnline:()=>navigator.onLine,openUrl(d){window.open(d,"_blank","noopener")},setOrientation(d){var k,A,_,p;const f=d==="landscape"||d==="portrait"?d:"auto";if(e.onOrientation){e.onOrientation(f);return}const y=typeof screen<"u"?screen.orientation:void 0;if(y)try{f==="auto"?(k=y.unlock)==null||k.call(y):(p=(_=(A=y.lock)==null?void 0:A.call(y,f))==null?void 0:_.catch)==null||p.call(_,()=>{})}catch{}}},emit:r,freed:(d,f)=>{n==null||n(d,f)},dispose(){t=null,n=null,document.removeEventListener("visibilitychange",i),window.removeEventListener("online",s),window.removeEventListener("offline",o)}}},fs=(e,t,n,r)=>{try{const i=document.createElement("input");i.type="file",i.multiple=n,r&&(i.accept=r),i.onchange=async()=>{const{files:s}=i;if(n){const o=[];if(!s)return e([]);for(let l of s)o.push([We(await l.arrayBuffer()),l.name,l.size]);e(o)}else{if(!s||s.length===0)return e(null);e([[We(await s[0].arrayBuffer()),s[0].name,s[0].size]])}},window.addEventListener("focus",()=>{setTimeout(()=>{(!i.files||i.files.length===0)&&e(n?[]:null)},300)},{once:!0}),i.click()}catch(i){t(i)}},ds=e=>({get platform(){return"web"},get language(){return e()},get pixelRatio(){return window.devicePixelRatio||1},vibrate(){var t;try{(t=navigator.vibrate)==null||t.call(navigator,30)}catch{}},clipboardWrite(t){var n;(n=navigator.clipboard)==null||n.writeText(t).catch(()=>{})},clipboardRead(t,n){const r=navigator.clipboard;if(!(r!=null&&r.readText)){n("Clipboard is not available");return}r.readText().then(t,i=>n(i instanceof Error?i.message:"Clipboard read failed"))},share(t,n){var l;const r=An(t),i=new File([r],"image.png",{type:"image/png"});if((l=navigator.canShare)!=null&&l.call(navigator,{files:[i]})){navigator.share({files:[i],text:n}).catch(()=>{});return}const s=URL.createObjectURL(r),o=document.createElement("a");o.href=s,o.download=i.name,document.body.appendChild(o),o.click(),o.remove(),URL.revokeObjectURL(s)},openFilePicker:(t,n,r,i)=>fs(t,n,r,i??void 0),requestCamera(t){t()}}),ps=e=>{const t=e==null?void 0:e._h;return typeof e=="object"&&e!==null&&typeof(t==null?void 0:t.id)=="number"?t.id:null},hs=e=>{if(e==null)return;if(typeof e=="string")return e;const t=e._entries;if(!Array.isArray(t))throw new Error("fetch: the body is a string or a FormData");const n=new FormData;for(const[r,i,s]of t){const o=ps(i);o!==null?n.append(r,An(o),s):n.append(r,String(i))}return n},ms=()=>{const e=new Set,t=new FinalizationRegistry(s=>{e.delete(s)&&qt(s)}),n=s=>{const o={id:s};return e.add(s),t.register(o,s),o};let r=!1;return{bridge:{fetch(s,o,l,d,f){const y=typeof(o==null?void 0:o.onProgress)=="function"?o.onProgress:f;if(s.startsWith("id:")){const k=Number(s.slice(3));l({id:k},ve(k)?200:404);return}(async()=>{var k;try{const A=await fetch(s,{method:o==null?void 0:o.method,headers:o==null?void 0:o.headers,body:hs(o==null?void 0:o.body),mode:"cors",credentials:"omit"}),_=y?(k=A.body)==null?void 0:k.getReader():void 0;let p;if(!_)p=await A.arrayBuffer();else{const E=Number(A.headers.get("content-length"))||void 0,b=[];let S=0;for(;;){const{done:N,value:U}=await _.read();if(N)break;U&&(b.push(U),S+=U.length,r||y({loaded:S,total:E}))}const $=new Uint8Array(S);let F=0;for(const N of b)$.set(N,F),F+=N.length;p=$.buffer}if(r)return;l(n(We(p)),A.status)}catch(A){r||d(A instanceof Error?A:String(A))}})()},local:s=>ss(s),toJson:s=>ts(s),slice:(s,o,l)=>rs(s,o,l),toText:s=>Cn(s),toBytes:s=>ns(s)},live:()=>e.size,dispose(){r=!0;for(const s of e)qt(s);e.clear()}}},Jt=["MouseLeft","MouseMiddle","MouseRight","MouseBack","MouseForward"],nt=["GamepadSouth","GamepadEast","GamepadWest","GamepadNorth","GamepadL1","GamepadR1","GamepadL2","GamepadR2","GamepadSelect","GamepadStart","GamepadL3","GamepadR3","GamepadUp","GamepadDown","GamepadLeft","GamepadRight"],Fe=4,rt=16,Qt=16,gs=.5,bs=e=>{const t=new Set;let n=null;const r=(x,O,P=-1,V=0)=>{n==null||n(x,O,P,V)},i=x=>{if(!x.code)return;const O=t.has(x.code);t.add(x.code),r(0,x.code,-1,O||x.repeat?1:0)},s=x=>{x.code&&t.delete(x.code)&&r(1,x.code)},o=()=>{for(const x of[...t])x.startsWith("Gamepad")||(t.delete(x),r(1,x))},{root:l}=e;let d=0,f=0,y=0,k=0,A=0,_=0,p=0,E=0,b=0,S=0;const $=x=>{if(x.pointerType&&x.pointerType!=="mouse")return;const O=l.getBoundingClientRect();d=x.clientX-O.left,f=x.clientY-O.top,y+=x.movementX||0,k+=x.movementY||0},F=x=>{const O=Jt[x.button];O&&(t.add(O),r(0,O))},N=x=>{const O=Jt[x.button];O&&t.delete(O)&&r(1,O)},U=x=>{const O=x.deltaMode===0?.01:1;A+=x.deltaX*O,_+=x.deltaY*O},D=x=>{document.pointerLockElement===l&&x.preventDefault()},I=[],g=[],w=[],M=()=>{var O,P;const x=typeof navigator<"u"&&navigator.getGamepads?Array.from(navigator.getGamepads()):[];for(let V=0;V<Fe;V++){const j=x[V]??null,X=!!j&&j.connected;if(X!==!!I[V]){if(I[V]=X,!X){for(const q of nt)t.delete(q+"@"+V)&&(r(1,q,V),z(q));w[V]=[],g[V]=[0,0,0,0,0,0]}r(X?2:3,"",V)}if(!j||!X)continue;const ee=j.axes,ie=j.buttons,$e=((O=ie[6])==null?void 0:O.value)??0,ae=((P=ie[7])==null?void 0:P.value)??0;g[V]=[ee[0]??0,ee[1]??0,ee[2]??0,ee[3]??0,$e,ae];const J=w[V]??(w[V]=[]);for(let q=0;q<nt.length;q++){const fe=ie[q],a=!!fe&&(fe.pressed||fe.value>gs);if(a===!!J[q])continue;J[q]=a;const c=nt[q];a?t.add(c+"@"+V):t.delete(c+"@"+V),z(c),r(a?0:1,c,V)}}},z=x=>{let O=!1;for(let P=0;P<Fe&&!O;P++)t.has(x+"@"+P)&&(O=!0);O?t.add(x):t.delete(x)};let B=0;const W=()=>{p=y,E=k,b=A,S=_,y=k=A=_=0,M(),B=requestAnimationFrame(W)},u=e.windows.filter((x,O,P)=>x&&P.indexOf(x)===O);for(const x of u)e.keyboard!==!1&&(x.addEventListener("keydown",i),x.addEventListener("keyup",s)),x.addEventListener("blur",o);return l.addEventListener("pointermove",$,!0),l.addEventListener("mousedown",F,!0),window.addEventListener("mouseup",N,!0),l.addEventListener("wheel",U,{passive:!0,capture:!0}),l.addEventListener("contextmenu",D,!0),typeof requestAnimationFrame=="function"&&(B=requestAnimationFrame(W)),{inputKey:(x,O)=>O>=0&&x.startsWith("Gamepad")?t.has(x+"@"+O):t.has(x),inputRead:x=>{var O;switch(x){case 0:return d;case 1:return f;case 2:return p;case 3:return E;case 4:return b;case 5:return S;case 6:return document.pointerLockElement===l?1:0;case 7:{let P=0;for(let V=0;V<Fe;V++)I[V]&&P++;return P}}if(x>=rt){const P=Math.floor((x-rt)/Qt),V=(x-rt)%Qt;return P>=Fe||!I[P]?0:V===0?1:((O=g[P])==null?void 0:O[V-1])??0}return 0},inputSetPointerLock:x=>{if(!x)return document.pointerLockElement===l&&document.exitPointerLock(),!0;if(document.pointerLockElement===l)return!0;if(typeof l.requestPointerLock!="function")return!1;try{const O=l.requestPointerLock({unadjustedMovement:!0});return O&&typeof O.catch=="function"&&O.catch(()=>{try{l.requestPointerLock()}catch{}}),!0}catch{return!1}},registerInputEvent:x=>{n=x},dispose:()=>{for(const x of u)x.removeEventListener("keydown",i),x.removeEventListener("keyup",s),x.removeEventListener("blur",o);l.removeEventListener("pointermove",$,!0),l.removeEventListener("mousedown",F,!0),window.removeEventListener("mouseup",N,!0),l.removeEventListener("wheel",U,!0),l.removeEventListener("contextmenu",D,!0),B&&cancelAnimationFrame(B),document.pointerLockElement===l&&document.exitPointerLock(),t.clear(),n=null}}},ys=e=>{const t=e.ownerDocument.defaultView??window,n=bs({windows:[t],root:e}),r=t.visualViewport,i=()=>r?Math.max(0,Math.round(t.innerHeight-r.height-r.offsetTop)):0;let s=null,o=0;const l=()=>{const f=i();f!==o&&(o=f,s==null||s(f,0))};return r==null||r.addEventListener("resize",l),{bridge:{key:n.inputKey,read:n.inputRead,setPointerLock:n.inputSetPointerLock,registerEvent(f){n.registerInputEvent(f)},keyboardHeight:i,registerKeyboardEvent(f){s=f}},dispose(){s=null,r==null||r.removeEventListener("resize",l),n.dispose()}}},Y=[null],Ee=[!1],On=(e,t,n)=>{e.addEventListener("ended",()=>{n(),Ee[t]&&(e.currentTime=0,e.play())})},vs=(e,t)=>{const n=document.createElement("video");document.body.appendChild(n),n.crossOrigin="anonymous",n.style="opacity: 0; position: absolute; top: 0; left: 0; width: 1px; height: 1px",n.src=e,n.playsInline=!0,n.controls=!1;const r=Y.length;return Y.push(n),Ee.push(!1),On(n,r,t),r},Es=(e,t)=>{const n=document.createElement("audio");document.body.appendChild(n),n.style="opacity: 0; position: absolute; top: 0; left: 0; width: 1px; height: 1px",n.src=e;const r=Y.length;return Y.push(n),Ee.push(!1),On(n,r,t),r},ws=(e,t)=>{const n=Y[e];n&&(t===0?n.muted=!0:(n.muted&&(n.muted=!1),n.volume=t))},Ss=(e,t)=>{const n=Y[e];n&&(t?n.play():n.pause())},_s=(e,t)=>{Ee[e]=t},ks=e=>{var t;return((t=Y[e])==null?void 0:t.currentTime)??0},Ts=(e,t)=>{const n=Y[e];n&&(n.currentTime=t)},Ls=e=>{var n;const t=((n=Y[e])==null?void 0:n.duration)??0;return isNaN(t)?0:t},bi=e=>Y[e],Un=e=>{e.pause(),e.removeAttribute("src"),e.load(),e.remove()},xs=e=>{const t=Y[e];t&&(Un(t),Y[e]=null,Ee[e]=!1)},yi=()=>{for(let e of Y)e&&Un(e);Y.length=1,Ee.length=1},Rs=()=>{const e=new Map;let t=null;const n=o=>{e.delete(o)&&xs(o)},r=new FinalizationRegistry(o=>{const l=e.get(o);l&&(l.held=!1,l.playing||n(o))}),i=(o,l)=>{let d=-1;if(d=o(l,()=>{const k=e.get(d);k&&(t==null||t(d),!k.loop&&(k.playing=!1,k.held||n(d)))}),d<0)return null;e.set(d,{held:!0,playing:!1,loop:!1});const y={id:d};return r.register(y,d),y};return{bridge:{createAudio:o=>i(Es,o),createVideo:o=>i(vs,o),setVolume:ws,setLoop(o,l){const d=e.get(o);d&&(d.loop=l),_s(o,l)},setPlaying(o,l){const d=e.get(o);d&&(d.playing=l,Ss(o,l),!l&&!d.held&&n(o))},time:ks,setTime:Ts,duration:Ls,setEmitter(o){t=o}},live:()=>e.size,dispose(){t=null;for(const o of[...e.keys()])n(o)}}},Cs=()=>{const e=[];return{bridge:{open(n,r){const i=e.length;let s;try{s=new WebSocket(n)}catch{return e.push(null),queueMicrotask(()=>r("error")),i}return s.addEventListener("open",()=>r("open")),s.addEventListener("message",o=>r("message",o.data)),s.addEventListener("close",o=>{e[i]=null,r("close",o.code)}),s.addEventListener("error",()=>r("error")),e.push(s),i},send(n,r){const i=e[n];i&&i.readyState===WebSocket.OPEN&&i.send(r)},close(n){var r;(r=e[n])==null||r.close()}},dispose(){for(const n of e)n==null||n.close();e.length=0}}},As=e=>{let t="default",n=null,r=!1;const i=()=>`lecodes:${e}:${t}`,s=()=>{if(n)return n;n={};try{const f=window.localStorage.getItem(i()),y=f?JSON.parse(f):null;if(y&&typeof y=="object")for(const[k,A]of Object.entries(y))typeof A=="string"&&(n[k]=A)}catch{}return n},o=()=>{if(r=!1,!!n)try{window.localStorage.setItem(i(),JSON.stringify(n))}catch{}},l=()=>{r||(r=!0,queueMicrotask(o))};return{bridge:{get:f=>s()[f]??null,set(f,y){s()[f]=String(y),l()},remove(f){delete s()[f],l()},select(f){r&&o(),t=f,n=null}},dispose(){r&&o()}}},Zt={scene3d:{uses:["_creator.createScene","_creator.createEntity"],module:"/web-lite/src/engines/scene3d.ts"},ar:{uses:["_creator.createARController"],module:"/web-lite/src/engines/ar.ts"},anim:{uses:["_creator.animator","_creator.getGlbClipSet","_creator.loadClips","_creator.createClipFromTracks"],module:"/creator-anim/dist/creatorAnim.js"},physics:{uses:["_creator.physicsBuild","_creator.physicsCreate","_creator.physicsConfigure","_creator.physicsRaycast","_creator.characterCreate","_creator.vehicleCreate","_creator.ragdollCreate"],module:"/creator-physics/dist/creatorPhysics.js"},particles:{uses:["_creator.createParticleSystem","_creator.createNoise"],module:"/creator-particles/dist/creatorParticles.js"}},$s=e=>{const t=Object.keys(Zt).filter(n=>Zt[n].uses.some(r=>e.includes(r)));return new Set(t)},en="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Nn={};for(let e=0;e<en.length;e++)Nn[en[e]]=e;const Os=e=>{const t=[];let n=0,r=0;for(const i of e){const s=Nn[i];if(s===void 0)break;const o=s&32;if(r+=(s&31)<<n,o)n+=5;else{const l=r&1;r>>=1,t.push(l?-r:r),r=0,n=0}}return t};class Us{constructor(t){je(this,"sources");je(this,"lines");this.sources=t.sources,this.lines=[];let n=0,r=0,i=0;for(const s of t.mappings.split(";")){const o=[];let l=0;if(s)for(const d of s.split(",")){const f=Os(d);f.length!==0&&(l+=f[0],f.length>=4&&(n+=f[1],r+=f[2],i+=f[3],o.push([l,n,r,i])))}this.lines.push(o)}}originalPositionFor(t,n){const r=this.lines[t-1];if(!r||r.length===0)return null;let i=null;for(const o of r)if(o[0]<=n)i=o;else break;i??(i=r[0]);const s=this.sources[i[1]];return s===void 0?null:{source:s,line:i[2]+1,column:i[3]}}}const Ns=e=>{const t=e.match(/\/\/# lecodesMap=data:application\/json;(?:charset=[^;]+;)?base64,([A-Za-z0-9+/=]+)\s*$/);if(!t)return null;try{const n=typeof atob=="function"?atob(t[1]):Buffer.from(t[1],"base64").toString("utf8");return new Us(JSON.parse(n))}catch{return null}};let pe=null;const Ms=()=>{if(pe!==null)return pe;try{new Function("throw new Error('chisel-calibrate')")()}catch(e){const n=(e.stack??"").match(/<anonymous>:(\d+):\d+/);return pe=n?parseInt(n[1],10)-1:2,pe}return pe=2,pe},tn=(e,t)=>{const n=(e instanceof Error?e.stack:"")??"",r=Ms(),i=[];for(const s of n.split(`
|
|
286
|
+
`)){const o=s.match(/<anonymous>:(\d+):(\d+)/);if(!o)continue;const l=parseInt(o[1],10)-r,d=parseInt(o[2],10)-1;if(l<1)continue;const f=t.originalPositionFor(l,d<0?0:d);if(!f)continue;const y=s.match(/at\s+([^\s(]+)\s*\(/);i.push({fn:y?y[1]:null,source:f.source,line:f.line,column:f.column})}return i},Fs=e=>{const t=[],n=(o,l,d)=>{var k;const f=l instanceof Error?l.message:String(l),y=d[0];console.error(y?`[lecodes] ${f}
|
|
287
|
+
at ${y.source}:${y.line}:${y.column}${y.fn?` (${y.fn})`:""}`:`[lecodes] ${f}`),(k=o.onError)==null||k.call(o,{message:f,frames:d,stack:l instanceof Error?l.stack:void 0})},r=o=>{for(let l=t.length-1;l>=0;l--){const d=t[l];if(!d.sourceMap)continue;const f=tn(o,d.sourceMap);if(f.length>0)return n(d,o,f),!0}return!1},i=o=>{r(o.error??o.message)},s=o=>{r(o.reason)};return e.addEventListener("error",i),e.addEventListener("unhandledrejection",s),{track(o,l){const d={sourceMap:Ns(o),onError:l};return t.push(d),{thrown(f){n(d,f,d.sourceMap?tn(f,d.sourceMap):[])},drop(){const f=t.indexOf(d);f>=0&&t.splice(f,1)}}},dispose(){e.removeEventListener("error",i),e.removeEventListener("unhandledrejection",s),t.length=0}}},Ps=""+new URL("assets/roboto-cyrillic-ext-1gPz9dK9.woff2",import.meta.url).href,Is=""+new URL("assets/roboto-cyrillic-DVBNKCCH.woff2",import.meta.url).href,Ds=""+new URL("assets/roboto-greek-ext-D98D44EL.woff2",import.meta.url).href,Bs=""+new URL("assets/roboto-greek-DVLYEgdx.woff2",import.meta.url).href,Vs=""+new URL("assets/roboto-latin-ext-t610Sqxq.woff2",import.meta.url).href,zs=""+new URL("assets/roboto-latin-cAJwcdBQ.woff2",import.meta.url).href,Ws=""+new URL("assets/roboto-rest-C7JkyNHT.woff2",import.meta.url).href,Gs=""+new URL("assets/roboto-vietnamese-w-p-nKZZ.woff2",import.meta.url).href,Hs="Roboto",js="100 900",Ks=[{name:"rest",file:"roboto-rest.woff2",range:"U+02D8-02D9, U+02DB, U+030F, U+2070, U+2074-208E, U+20C1, U+2105, U+2126, U+212E, U+215B-215E, U+2202, U+2206, U+220F, U+2211, U+221A, U+221E, U+222B, U+2248, U+2260, U+2264-2265, U+25A0, U+25CA-25CB, U+25CF, U+EE01-EE02, U+F6C3, U+FB01-FB04, U+FFFC",bytes:13324},{name:"cyrillic-ext",file:"roboto-cyrillic-ext.woff2",range:"U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F",bytes:36720},{name:"cyrillic",file:"roboto-cyrillic.woff2",range:"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116",bytes:23696},{name:"greek-ext",file:"roboto-greek-ext.woff2",range:"U+1F00-1FFF",bytes:4380},{name:"greek",file:"roboto-greek.woff2",range:"U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF",bytes:17588},{name:"vietnamese",file:"roboto-vietnamese.woff2",range:"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB",bytes:14340},{name:"latin-ext",file:"roboto-latin-ext.woff2",range:"U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF",bytes:26388},{name:"latin",file:"roboto-latin.woff2",range:"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD",bytes:36600}],ot={family:Hs,weight:js,parts:Ks},Ys=Object.assign({"./assets/fonts/roboto-cyrillic-ext.woff2":Ps,"./assets/fonts/roboto-cyrillic.woff2":Is,"./assets/fonts/roboto-greek-ext.woff2":Ds,"./assets/fonts/roboto-greek.woff2":Bs,"./assets/fonts/roboto-latin-ext.woff2":Vs,"./assets/fonts/roboto-latin.woff2":zs,"./assets/fonts/roboto-rest.woff2":Ws,"./assets/fonts/roboto-vietnamese.woff2":Gs}),nn="data-lecodes-lite-fonts",qs=1500,Xs=e=>{if(e.head.querySelector(`style[${nn}]`))return;const t=ot.parts.map(r=>{const i=Ys[`./assets/fonts/${r.file}`];if(!i)return"";const s=new URL(i,e.baseURI).href;return`@font-face{font-family:"${ot.family}";src:url("${s}") format("woff2");font-weight:${ot.weight};font-style:normal;font-display:swap;unicode-range:${r.range}}`}),n=e.createElement("style");n.setAttribute(nn,""),n.textContent=t.join(`
|
|
288
|
+
`),e.head.appendChild(n)},Js=(e,t=[],n=qs)=>{const r=e.defaultView??window,i=e.fonts?e.fonts.ready.then(()=>{},()=>{}):Promise.resolve();return new Promise(s=>{const o=r.setTimeout(s,n);Promise.all([i,...t.map(l=>l.then(()=>{},()=>{}))]).then(()=>{r.clearTimeout(o),s()})})},rn=e=>typeof e=="object"&&e!==null&&e.lecodes===!0&&typeof e.level=="number",ft=(e,t={})=>{let n;if((t.mode??"hash")==="hash")n=e.hash.replace(/^#/,"");else{const r=t.base??"/";n=(e.pathname.startsWith(r)?e.pathname.slice(r.length-1):e.pathname).replace(/\/index\.html$/,"/")+e.search}return n===""||n==="/"?null:n.startsWith("/")?n:`/${n}`},Qs=(e,t,n={})=>{if((n.mode??"hash")==="hash")return`${t.pathname}${t.search}${e===null?"":`#${e}`}`;const r=n.base??"/";return e===null?r:r.replace(/\/$/,"")+e},Zs=(e,t,n={})=>{const r=e.history,i=e.location;let s=0,o=!1,l=0,d=!1;const f=(_,p)=>{const E={lecodes:!0,level:p},b=Qs(t.address(),i,n);_==="push"?r.pushState(E,"",b):r.replaceState(E,"",b)},y=_=>{_!==0&&(l++,r.go(_))},k=()=>{if(l>0){d=!0;return}const _=t.level();if(o){s=_,f("replace",_);return}if(_>s){for(let p=s+1;p<=_;p++)f("push",p);s=_}else if(_<s){const p=_-s;s=_,y(p)}else f("replace",_)},A=_=>{if(l>0){if(l--,l>0)return;d?(d=!1,k()):f("replace",s);return}const p=_.state;if(!rn(p)){const $=ft(i,n);r.replaceState({lecodes:!0,level:s},"",i.href),$!==null&&t.link($);return}const E=p.level,b=s;o=!0;try{if(E<b)for(;t.level()>E;){const $=t.level();if(t.back(),t.level()>=$)break}else if(E>b){const $=ft(i,n);$!==null&&t.link($)}}finally{o=!1}const S=Math.max(0,t.level());if(s=E,S===E){f("replace",E);return}if(E>b&&S>b){s=S,f("replace",S);return}s=S,y(S-E)};return e.addEventListener("popstate",A),rn(r.state)?s=r.state.level:r.replaceState({lecodes:!0,level:0},"",i.href),{sync:k,reset(){const _=-s;s=0,y(_)},destroy(){e.removeEventListener("popstate",A)}}},ei=.1,ti=e=>{const t=new Set,n=new Set,r=new Map;let i=1,s=0,o=0;const l=d=>{s=0;const f=Math.min(ei,Math.max(0,(d-o)/1e3));o=d;for(const y of[...r.values()])y(f);r.size>0&&(s=e.requestAnimationFrame(l))};return{globals:{setTimeout(d,f,...y){const k=e.setTimeout(()=>{t.delete(k),d(...y)},f);return t.add(k),k},clearTimeout(d){t.delete(d),e.clearTimeout(d)},setInterval(d,f,...y){const k=e.setInterval(()=>d(...y),f);return n.add(k),k},clearInterval(d){n.delete(d),e.clearInterval(d)},setLoop(d){const f=i++;return r.set(f,d),s===0&&(o=e.performance.now(),s=e.requestAnimationFrame(l)),f},clearLoop(d){r.delete(d)}},dispose(){for(const d of t)e.clearTimeout(d);for(const d of n)e.clearInterval(d);t.clear(),n.clear(),r.clear(),s!==0&&e.cancelAnimationFrame(s),s=0}}},ni=["_creator","_creator2d","_creatorNav","_creatorNet","_creatorAudio","_creatorCanvas","_creatorFiles","_creatorService"],on=new Map,ri=e=>{let t=on.get(e);return t||on.set(e,t=os(e)),t},oi=(e,t={})=>{const n=e.ownerDocument,r=n.defaultView??window,i=Fs(r),s=t.language??(()=>(navigator.language||"en").slice(0,2));let o=null;const l=is(),d=new Set,f=U=>Promise.all([...U].map(async D=>{if(!(!t.loadPlugin||d.has(D))){d.add(D);try{const I=await t.loadPlugin(D);I&&l.register(D,I)}catch(I){console.warn(`[web-lite] the "${D}" plugin did not load: ${I instanceof Error?I.message:I}`)}}})),y=async(U,D)=>{const I=$s(U);if(!I.has("scene3d"))return{features:[],dispose(){}};try{const{createScene3d:g}=await ce(async()=>{const{createScene3d:z}=await import("./assets/scene3d-D8LdhX0V.js").then(B=>B.s);return{createScene3d:z}},[],import.meta.url),w=await g(e,{preloads:D,twins:{anim:I.has("anim"),physics:I.has("physics"),particles:I.has("particles")},alpha:I.has("ar")}),M=[w.feature];return I.has("ar")&&M.push((await ce(async()=>{const{createAr:z}=await import("./assets/ar-BOdQ-wV4.js");return{createAr:z}},[],import.meta.url)).createAr(w,e)),{features:M,dispose:w.dispose}}catch(g){return console.warn(`[web-lite] the 3D engine did not start: ${g instanceof Error?g.message:g}`),{features:[],dispose(){}}}};let k=t.launchRoute!==void 0?t.launchRoute:t.history?ft(r.location,t.history):null,A=t.safeArea??null,_=0;const p=n.createElement("div");p.style.cssText="position:absolute;visibility:hidden;pointer-events:none;width:0;height:0;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);";const E=()=>{p.isConnected||n.body.appendChild(p);const U=r.getComputedStyle(p),D=I=>Math.round(parseFloat(I)||0);return{top:D(U.paddingTop),right:D(U.paddingRight),bottom:D(U.paddingBottom),left:D(U.paddingLeft)}},b=()=>{const U=A??E();o==null||o.tree.setSafeArea(U,U.bars??[])};r.addEventListener("resize",b);const S=t.history?Zs(r,{level:()=>Math.max(0,((o==null?void 0:o.tree.presentation.stack().length)??0)-1),address:()=>(o==null?void 0:o.tree.presentation.address())??null,back:()=>{o==null||o.tree.back()},link:U=>{k=U,o==null||o.emitApp("url",U)}},t.history):null,$=()=>{o==null||o.dispose(),o=null},F=(U,D,I)=>{const g=es({root:e,bufferUrl:ri,features:I,plugins:l,onNavigation:()=>{var C;S==null||S.sync(),(C=t.onNavigation)==null||C.call(t,g)}}),w=ti(r),M=ms(),z=As(t.project??"app"),B=Cs(),W=ys(e),u=Rs(),R=i.track(U,D.onError),T=us({launchUrl:()=>k,rerun:(C,x,O)=>{x!==void 0&&(k=x);const P=C??U;r.setTimeout(()=>{N(P,D).catch(V=>O==null?void 0:O(V instanceof Error?V.message:String(V)))},0)},stats:()=>JSON.stringify({live:{tree:g.stats().nodes,fetch:M.live(),media:u.live(),tween:g.stats().tweens},pending:0}),onOrientation:t.onOrientation}),m={_creatorTree:g.bridge,_creatorApp:T.bridge,_creatorDevice:ds(s),_creatorFetch:M.bridge,_creatorStorage:z.bridge,_creatorSocket:B.bridge,_creatorInput:W.bridge,_creatorMedia:u.bridge,...w.globals};for(const C of ni)m[C]=void 0;Object.assign(m,g.globals),o={code:U,tree:g,emitApp:T.emit,dispose(){R.drop(),w.dispose(),B.dispose(),u.dispose(),W.dispose(),z.dispose(),M.dispose(),T.dispose(),g.destroy()}},b();const h=Object.keys(m);try{new Function(...h,U)(...h.map(C=>m[C]))}catch(C){R.thrown(C)}};async function N(U,D={}){const I=qn(U);if(!jn(I.sdk,wt))throw new Error(`This app was built with LeCodes SDK ${I.sdk??"older than 2.0"}; this host runs SDK ${wt}. It needs a new build.`);I.is2d&&console.warn("[web-lite] this app uses 2D scenes, which Web Lite does not show yet (docs/plans/web-lite-plan.md): its UI runs, a scene's calls fail");const g=++_;o&&(S==null||S.reset()),$(),t.defaultFont!=="system"&&Xs(n);const w=Yn(I.bootFonts,n),[M,z]=await Promise.all([cs(U),y(U,I.preloads),f(I.plugins)]);if(g!==_){z.dispose();return}M.push(...z.features),e.style.visibility="hidden";try{F(U,D,M),o==null||o.tree.flush(),e.offsetHeight,await Js(n,[w])}finally{g===_&&(e.style.visibility="")}}return{run:N,restart(U){return o?(U!==void 0&&(k=U),N(o.code)):Promise.resolve()},tree:()=>(o==null?void 0:o.tree)??null,setSafeArea(U){A=U,b()},openRoute(U){k=U,o==null||o.emitApp("url",U)},emitAppEvent(U,D){o==null||o.emitApp(U,D)},destroy(){_++,$(),r.removeEventListener("resize",b),S==null||S.destroy(),p.remove(),i.dispose()}}},Te=document.getElementById("app"),sn=document.getElementById("error"),ye=new URLSearchParams(location.search),Mn=e=>{sn&&(sn.textContent=e)},an=ye.has("dev")?new URL(ye.get("dev")||"..",location.href).href.replace(/\/$/,""):null,ln=e=>{const t=e.frames[0];return t?`${e.message}
|
|
289
|
+
at ${t.source}:${t.line}:${t.column}${t.fn?` (${t.fn})`:""}`:e.message},Fn=e=>{Mn(ln(e)),Z==null||Z.error(ln(e))},Pn=e=>Fn({message:e instanceof Error?e.message:String(e),frames:[]});let cn=null;const si=async e=>{cn??(cn=fetch(new URL("plugins.json",document.baseURI)).then(r=>r.ok?r.json():{plugins:{}}).then(r=>r.plugins??{},()=>({})));const t=(await cn)[e];if(!t)return null;const n=await import(new URL(t,document.baseURI).href);return typeof n.register=="function"?n.register:null},In=oi(Te,{loadPlugin:si,history:{mode:Te.dataset.urls==="path"?"path":"hash",base:Te.dataset.base??"/"},project:ye.get("project")??location.pathname,defaultFont:Te.dataset.font==="system"?"system":"roboto"});ye.has("test")&&(window.lecodesTest={ready:!1,dump:()=>{var e;return((e=In.tree())==null?void 0:e.bridge.debugDump())??'{"roots":[]}'},rect:e=>{const t=document.querySelector(`[data-node="${e}"]`);if(!t)return null;const n=t.getBoundingClientRect();return[n.left,n.top,n.width,n.height]}});let st=!1,it=null,dt=-1;const He=async e=>{if(st){it=e;return}st=!0,Mn("");try{const t=await fetch(e.src,{cache:"no-store"});if(!t.ok)throw new Error(t.status===503?"No successful compile yet — check the terminal.":`${e.src} → HTTP ${t.status}`);const n=await t.text();await In.run(n,{onError:Fn});const r=window.lecodesTest;r&&(r.ready=!0),Z&&e.version!==void 0&&(dt=Z.versionOf(t,e.version),Z.ran(dt))}catch(t){Pn(t)}finally{st=!1;const t=it;it=null,t&&He(t)}},Z=an?zn(an,e=>{e!==dt&&He({src:Z.bundleUrl(e),version:e})}):null;if(Z)for(const e of["log","info","warn","error"]){const t=console[e].bind(console);console[e]=(...n)=>{t(...n),Z.log(e,n)}}if(Z)He({src:Z.bundleUrl(0),version:0});else{const e=Wn(ye.get("src")??Te.dataset.src??"app.js",document.baseURI);e?He({src:e}):Pn(`The page runs bundles of its own origin only: ${ye.get("src")}`)}export{Xe as A,Ce as B,Je as C,fn as D,me as E,De as F,Ur as G,fi as H,$r as T,pi as _,ve as a,gi as b,hi as c,bi as d,ce as e,li as f,An as g,mi as h,Se as i,he as j,xn as k,di as l,Tt as m,Q as n,ai as o,We as p,fr as q,yi as r,ur as s,ut as t,ui as u,un as v,ci as w,yo as x,En as y,Eo as z};
|