diff --git a/assets/gameLoop.3386607e.js b/assets/gameLoop.985d1f90.js similarity index 90% rename from assets/gameLoop.3386607e.js rename to assets/gameLoop.985d1f90.js index 085266a..d9bc7da 100644 --- a/assets/gameLoop.3386607e.js +++ b/assets/gameLoop.985d1f90.js @@ -1 +1 @@ -import{_ as d,s as u,p as e,a as f,l as T,D as a,b as m,g as p}from"./index.76b82d16.js";import"./vue.359c6955.js";import{b2 as c}from"./@vue.6f8187b0.js";/* empty css */import"./lz-string.bfbf8ec3.js";import"./nanoevents.1080beb7.js";import"./vue-next-select.68e0c605.js";import"./vuedraggable.055200e5.js";import"./sortablejs.20039f18.js";import"./vue-textarea-autosize.35804eaf.js";import"./vue-toastification.45d39007.js";let n=null,l=null;function o(){const t=Date.now();let i=(t-e.time)/1e3;e.time=t;const r=i;if(f.lastTenTicks.push(r),f.lastTenTicks.length>10&&(f.lastTenTicks=f.lastTenTicks.slice(1)),!((l==null?void 0:l.value)&&!e.keepGoing)&&!f.hasNaN&&(i=Math.max(i,0),e.devSpeed!==0)){if(T.value=!1,e.offlineTime!=null){if(a.gt(e.offlineTime,m.offlineLimit*3600)&&(e.offlineTime=m.offlineLimit*3600),a.gt(e.offlineTime,0)&&e.devSpeed!==0){const s=Math.max(e.offlineTime/10,i);e.offlineTime=e.offlineTime-s,i+=s}else e.devSpeed===0&&(e.offlineTime+=i);(!e.offlineProd||a.lt(e.offlineTime,0))&&(e.offlineTime=null)}i=Math.min(i,m.maxTickLength),e.devSpeed!=null&&(i*=e.devSpeed),Number.isFinite(i)||(i=1e308),!a.eq(i,0)&&(e.timePlayed+=i,Number.isFinite(e.timePlayed)||(e.timePlayed=1e308),p.emit("update",i,r),u.unthrottled?(requestAnimationFrame(o),n!=null&&(clearInterval(n),n=null)):n==null&&(n=setInterval(o,50)))}}async function L(){l=(await d(()=>import("./index.76b82d16.js").then(function(t){return t.c}),["assets/index.76b82d16.js","assets/index.0082bab1.css","assets/@fontsource.f66d05e7.css","assets/vue.359c6955.js","assets/lz-string.bfbf8ec3.js","assets/@vue.6f8187b0.js","assets/nanoevents.1080beb7.js","assets/vue-next-select.68e0c605.js","assets/vue-next-select.9e6f4164.css","assets/vuedraggable.055200e5.js","assets/sortablejs.20039f18.js","assets/vue-textarea-autosize.35804eaf.js","assets/vue-toastification.45d39007.js","assets/vue-toastification.4b5f8ac8.css"])).hasWon,c(l,t=>{t&&p.emit("gameWon")}),u.unthrottled?requestAnimationFrame(o):n=setInterval(o,50)}export{L as startGameLoop}; +import{_ as d,s as u,p as e,a as f,l as T,D as a,b as m,g as p}from"./index.31e3b26a.js";import"./vue.359c6955.js";import{b2 as c}from"./@vue.6f8187b0.js";/* empty css */import"./lz-string.bfbf8ec3.js";import"./nanoevents.1080beb7.js";import"./vue-next-select.68e0c605.js";import"./vuedraggable.055200e5.js";import"./sortablejs.20039f18.js";import"./vue-textarea-autosize.35804eaf.js";import"./vue-toastification.45d39007.js";let n=null,l=null;function o(){const t=Date.now();let i=(t-e.time)/1e3;e.time=t;const r=i;if(f.lastTenTicks.push(r),f.lastTenTicks.length>10&&(f.lastTenTicks=f.lastTenTicks.slice(1)),!((l==null?void 0:l.value)&&!e.keepGoing)&&!f.hasNaN&&(i=Math.max(i,0),e.devSpeed!==0)){if(T.value=!1,e.offlineTime!=null){if(a.gt(e.offlineTime,m.offlineLimit*3600)&&(e.offlineTime=m.offlineLimit*3600),a.gt(e.offlineTime,0)&&e.devSpeed!==0){const s=Math.max(e.offlineTime/10,i);e.offlineTime=e.offlineTime-s,i+=s}else e.devSpeed===0&&(e.offlineTime+=i);(!e.offlineProd||a.lt(e.offlineTime,0))&&(e.offlineTime=null)}i=Math.min(i,m.maxTickLength),e.devSpeed!=null&&(i*=e.devSpeed),Number.isFinite(i)||(i=1e308),!a.eq(i,0)&&(e.timePlayed+=i,Number.isFinite(e.timePlayed)||(e.timePlayed=1e308),p.emit("update",i,r),u.unthrottled?(requestAnimationFrame(o),n!=null&&(clearInterval(n),n=null)):n==null&&(n=setInterval(o,50)))}}async function L(){l=(await d(()=>import("./index.31e3b26a.js").then(function(t){return t.c}),["assets/index.31e3b26a.js","assets/index.0082bab1.css","assets/@fontsource.f66d05e7.css","assets/vue.359c6955.js","assets/lz-string.bfbf8ec3.js","assets/@vue.6f8187b0.js","assets/nanoevents.1080beb7.js","assets/vue-next-select.68e0c605.js","assets/vue-next-select.9e6f4164.css","assets/vuedraggable.055200e5.js","assets/sortablejs.20039f18.js","assets/vue-textarea-autosize.35804eaf.js","assets/vue-toastification.45d39007.js","assets/vue-toastification.4b5f8ac8.css"])).hasWon,c(l,t=>{t&&p.emit("gameWon")}),u.unthrottled?requestAnimationFrame(o):n=setInterval(o,50)}export{L as startGameLoop}; diff --git a/assets/index.76b82d16.js b/assets/index.31e3b26a.js similarity index 76% rename from assets/index.76b82d16.js rename to assets/index.31e3b26a.js index 0e31b22..1c1472f 100644 --- a/assets/index.76b82d16.js +++ b/assets/index.31e3b26a.js @@ -1,18 +1,18 @@ -/* empty css */import"./vue.359c6955.js";import{q as Ye,C as c,ab as q,t as F,aF as p,a1 as _,aL as Te,bv as rt,G as ae,as as Ue,_ as P,az as lt,a2 as m,J as D,O as j,aK as Le,a0 as $,I as ge,a8 as T,a9 as y,b7 as V,aI as Ie,aG as Me,l as te,u as Ct,b2 as _e,aD as ln,w as be,b3 as Be,aH as ft,A as de,$ as L,b9 as Dt,ar as Oe,bt as Rn,bc as un,T as qn,j as An,bw as Yt,ay as Bn,aM as ze,aO as ie,z as ke,bo as Un,bs as zn,am as vt,H as Gn,y as Xt,bf as jn}from"./@vue.6f8187b0.js";import{L as Ce}from"./lz-string.bfbf8ec3.js";import{c as cn}from"./nanoevents.1080beb7.js";import{Y as Hn}from"./vue-next-select.68e0c605.js";import{D as Wn}from"./vuedraggable.055200e5.js";import{p as Jn}from"./vue-textarea-autosize.35804eaf.js";import{s as Zn,u as Kn}from"./vue-toastification.45d39007.js";import"./sortablejs.20039f18.js";const Yn=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)}};Yn();const Xn="modulepreload",Qt={},Qn="./",it=function(t,n){return!n||n.length===0?t():Promise.all(n.map(r=>{if(r=`${Qn}${r}`,r in Qt)return;Qt[r]=!0;const i=r.endsWith(".css"),s=i?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${r}"]${s}`))return;const o=document.createElement("link");if(o.rel=i?"stylesheet":Xn,i||(o.as="script",o.crossOrigin=""),o.href=r,document.head.appendChild(o),i)return new Promise((u,d)=>{o.addEventListener("load",u),o.addEventListener("error",()=>d(new Error(`Unable to preload CSS for ${r}`)))})})).then(()=>t())},er="./projInfo-schema.json",tr="Profectus",nr="A project made in Profectus",rr="",ir="",sr="",ar="",or="0.0",lr="Initial Commit",ur=!0,cr=!1,dr=2,fr=!0,gr=null,mr="",hr=["main"],pr=3600,vr=1,br=!0,yr="base64";var A={$schema:er,title:tr,description:nr,id:rr,author:ir,discordName:sr,discordLink:ar,versionNumber:or,versionTitle:lr,allowGoBack:ur,defaultShowSmall:cr,defaultDecimalsShown:dr,useHeader:fr,banner:gr,logo:mr,initialTabs:hr,maxTickLength:pr,offlineLimit:vr,enablePausing:br,exportEncoding:yr};const _r=Ye({id:"",devSpeed:null,name:"",tabs:[],time:-1,autosave:!0,offlineProd:!0,offlineTime:null,timePlayed:0,keepGoing:!1,modID:"",modVersion:"",layers:{}});var x=window.player=_r;function Lt(e){return JSON.stringify(e,(t,n)=>c(n))}var z=(e,t)=>{const n=e.__vccOpts||e;for(const[r,i]of t)n[r]=i;return n};const Nr=["onClick"],wr=q({__name:"FeedbackButton",props:{left:{type:Boolean}},emits:["click"],setup(e,{emit:t}){const n=F(!1),r=F(null);function i(){t("click"),r.value&&clearTimeout(r.value),n.value=!1,Ue(()=>{n.value=!0,r.value=setTimeout(()=>n.value=!1,500)})}return(s,o)=>(p(),_("button",{onClick:rt(i,["stop"]),class:ae(["feedback",{activated:n.value,left:e.left}])},[Te(s.$slots,"default",{},void 0,!0)],10,Nr))}});var Rt=z(wr,[["__scopeId","data-v-01a1b95c"]]);const kt=e=>(Ie("data-v-ac351c02"),e=e(),Me(),e),Cr={class:"error"},kr={class:"error-title"},Sr={class:"error-details",style:{"margin-top":"-10px"}},Ir={key:0},Mr={class:"instructions"},$r=["href"],xr=kt(()=>m("span",{class:"material-icons",style:{"font-size":"16px"}},"content_paste",-1)),Fr=kt(()=>m("span",{style:{"margin-left":"8px","font-size":"medium"}},"Copy Save",-1)),Tr=kt(()=>m("br",null,null,-1)),Pr={key:0,style:{"margin-top":"20px"}},Er=kt(()=>m("h3",null,"Other errors",-1)),Or=[Er],Vr={class:"error-details"},Dr={key:0,style:{"margin-top":"10px"}},Lr={key:1,style:{"margin-top":"10px"}},Rr=q({__name:"Error",props:{errors:null},setup(e){const t=e,n=P(()=>t.errors[0]),r=P(()=>t.errors.map(o=>o.stack==null?[]:o.stack.split(` +/* empty css */import"./vue.359c6955.js";import{q as Ye,C as u,ab as q,t as F,aF as p,a1 as _,aL as Te,bv as rt,G as ae,as as Ue,_ as P,az as lt,a2 as m,J as D,O as j,aK as Le,a0 as $,I as ge,a8 as T,a9 as y,b7 as V,aI as Ie,aG as Me,l as te,u as Ct,b2 as _e,aD as ln,w as be,b3 as Be,aH as ft,A as de,$ as L,b9 as Dt,ar as Oe,bt as Rn,bc as un,T as qn,j as An,bw as Yt,ay as Bn,aM as ze,aO as ie,z as ke,bo as Un,bs as zn,am as vt,H as Gn,y as Xt,bf as jn}from"./@vue.6f8187b0.js";import{L as Ce}from"./lz-string.bfbf8ec3.js";import{c as cn}from"./nanoevents.1080beb7.js";import{Y as Hn}from"./vue-next-select.68e0c605.js";import{D as Wn}from"./vuedraggable.055200e5.js";import{p as Jn}from"./vue-textarea-autosize.35804eaf.js";import{s as Zn,u as Kn}from"./vue-toastification.45d39007.js";import"./sortablejs.20039f18.js";const Yn=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)}};Yn();const Xn="modulepreload",Qt={},Qn="./",it=function(t,n){return!n||n.length===0?t():Promise.all(n.map(r=>{if(r=`${Qn}${r}`,r in Qt)return;Qt[r]=!0;const i=r.endsWith(".css"),s=i?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${r}"]${s}`))return;const o=document.createElement("link");if(o.rel=i?"stylesheet":Xn,i||(o.as="script",o.crossOrigin=""),o.href=r,document.head.appendChild(o),i)return new Promise((c,d)=>{o.addEventListener("load",c),o.addEventListener("error",()=>d(new Error(`Unable to preload CSS for ${r}`)))})})).then(()=>t())},er="./projInfo-schema.json",tr="Profectus",nr="A project made in Profectus",rr="",ir="",sr="",ar="",or="0.0",lr="Initial Commit",ur=!0,cr=!1,dr=2,fr=!0,gr=null,mr="",hr=["main"],pr=3600,vr=1,br=!0,yr="base64";var A={$schema:er,title:tr,description:nr,id:rr,author:ir,discordName:sr,discordLink:ar,versionNumber:or,versionTitle:lr,allowGoBack:ur,defaultShowSmall:cr,defaultDecimalsShown:dr,useHeader:fr,banner:gr,logo:mr,initialTabs:hr,maxTickLength:pr,offlineLimit:vr,enablePausing:br,exportEncoding:yr};const _r=Ye({id:"",devSpeed:null,name:"",tabs:[],time:-1,autosave:!0,offlineProd:!0,offlineTime:null,timePlayed:0,keepGoing:!1,modID:"",modVersion:"",layers:{}});var x=window.player=_r;function Lt(e){return JSON.stringify(e,(t,n)=>u(n))}var z=(e,t)=>{const n=e.__vccOpts||e;for(const[r,i]of t)n[r]=i;return n};const Nr=["onClick"],wr=q({__name:"FeedbackButton",props:{left:{type:Boolean}},emits:["click"],setup(e,{emit:t}){const n=F(!1),r=F(null);function i(){t("click"),r.value&&clearTimeout(r.value),n.value=!1,Ue(()=>{n.value=!0,r.value=setTimeout(()=>n.value=!1,500)})}return(s,o)=>(p(),_("button",{onClick:rt(i,["stop"]),class:ae(["feedback",{activated:n.value,left:e.left}])},[Te(s.$slots,"default",{},void 0,!0)],10,Nr))}});var Rt=z(wr,[["__scopeId","data-v-01a1b95c"]]);const kt=e=>(Ie("data-v-ac351c02"),e=e(),Me(),e),Cr={class:"error"},kr={class:"error-title"},Sr={class:"error-details",style:{"margin-top":"-10px"}},Ir={key:0},Mr={class:"instructions"},$r=["href"],xr=kt(()=>m("span",{class:"material-icons",style:{"font-size":"16px"}},"content_paste",-1)),Fr=kt(()=>m("span",{style:{"margin-left":"8px","font-size":"medium"}},"Copy Save",-1)),Tr=kt(()=>m("br",null,null,-1)),Pr={key:0,style:{"margin-top":"20px"}},Er=kt(()=>m("h3",null,"Other errors",-1)),Or=[Er],Vr={class:"error-details"},Dr={key:0,style:{"margin-top":"10px"}},Lr={key:1,style:{"margin-top":"10px"}},Rr=q({__name:"Error",props:{errors:null},setup(e){const t=e,n=P(()=>t.errors[0]),r=P(()=>t.errors.map(o=>o.stack==null?[]:o.stack.split(` `))),i=P(()=>t.errors.map(o=>o.cause==null?[]:(typeof o.cause=="string"?o.cause:JSON.stringify(o.cause)).split(` -`)));function s(){let o=Lt(x);switch(A.exportEncoding){default:console.warn(`Unknown save encoding: ${A.exportEncoding}. Defaulting to lz`);case"lz":o=Ce.compressToUTF16(o);break;case"base64":o=btoa(unescape(encodeURIComponent(o)));break;case"plain":break}console.log(o);const u=document.createElement("textarea");u.value=o,document.body.appendChild(u),u.select(),u.setSelectionRange(0,99999),document.execCommand("copy"),document.body.removeChild(u)}return lt(()=>{x.autosave=!1,x.devSpeed=0}),(o,u)=>(p(),_("div",Cr,[m("h1",kr,D(c(n).name)+": "+D(c(n).message),1),m("div",Sr,[c(n).cause?(p(),_("div",Ir,[(p(!0),_(j,null,Le(c(i)[0],d=>(p(),_("div",{key:d},D(d),1))),128))])):$("",!0),c(n).stack?(p(),_("div",{key:1,style:ge(c(n).cause?"margin-top: 10px":"")},[(p(!0),_(j,null,Le(c(r)[0],d=>(p(),_("div",{key:d},D(d),1))),128))],4)):$("",!0)]),m("div",Mr,[T(" Check the console for more details, and consider sharing it with the developers on "),m("a",{href:c(A).discordLink||"https://discord.gg/yJ4fjnjU54",class:"discord-link"},"discord",8,$r),T("! "),y(Rt,{onClick:s,class:"button",style:{display:"inline-flex"}},{default:V(()=>[xr,Fr]),_:1}),Tr,e.errors.length>1?(p(),_("div",Pr,Or)):$("",!0),(p(!0),_(j,null,Le(e.errors.slice(1),(d,g)=>(p(),_("div",{key:g,style:{"margin-top":"20px"}},[m("details",Vr,[m("summary",null,D(d.name)+": "+D(d.message),1),d.cause?(p(),_("div",Dr,[(p(!0),_(j,null,Le(c(i)[g+1],b=>(p(),_("div",{key:b},D(b),1))),128))])):$("",!0),d.stack?(p(),_("div",Lr,[(p(!0),_(j,null,Le(c(r)[g+1],b=>(p(),_("div",{key:b},D(b),1))),128))])):$("",!0)])]))),128))])]))}});var dn=z(Rr,[["__scopeId","data-v-ac351c02"]]);class qr{constructor(t){this.map=new Map,this.first=void 0,this.last=void 0,this.maxSize=t}get size(){return this.map.size}get(t){const n=this.map.get(t);if(n!==void 0)return n!==this.first&&(n===this.last?(this.last=n.prev,this.last.next=void 0):(n.prev.next=n.next,n.next.prev=n.prev),n.next=this.first,this.first.prev=n,this.first=n),n.value}set(t,n){if(this.maxSize<1)return;if(this.map.has(t))throw new Error("Cannot update existing keys in the cache");const r=new Ar(t,n);for(this.first===void 0?(this.first=r,this.last=r):(r.next=this.first,this.first.prev=r,this.first=r),this.map.set(t,r);this.map.size>this.maxSize;){const i=this.last;this.map.delete(i.key),this.last=i.prev,this.last.next=void 0}}}class Ar{constructor(t,n){this.next=void 0,this.prev=void 0,this.key=t,this.value=n}}const Ft=17,Br=9e15,Ur=Math.log10(9e15),zr=1/9e15,Gr=308,jr=-324,en=5,Hr=(1<<10)-1,Wr=function(){const e=[];for(let n=jr+1;n<=Gr;n++)e.push(Number("1e"+n));const t=323;return function(n){return e[n+t]}}(),Ve=[2,Math.E,3,4,5,6,7,8,9,10],Jr=[[1,1.0891180521811203,1.1789767925673957,1.2701455431742086,1.3632090180450092,1.4587818160364217,1.5575237916251419,1.6601571006859253,1.767485818836978,1.8804192098842727,2],[1,1.1121114330934079,1.231038924931609,1.3583836963111375,1.4960519303993531,1.6463542337511945,1.8121385357018724,1.996971324618307,2.2053895545527546,2.4432574483385254,Math.E],[1,1.1187738849693603,1.2464963939368214,1.38527004705667,1.5376664685821402,1.7068895236551784,1.897001227148399,2.1132403089001035,2.362480153784171,2.6539010333870774,3],[1,1.1367350847096405,1.2889510672956703,1.4606478703324786,1.6570295196661111,1.8850062585672889,2.1539465047453485,2.476829779693097,2.872061932789197,3.3664204535587183,4],[1,1.1494592900767588,1.319708228183931,1.5166291280087583,1.748171114438024,2.0253263297298045,2.3636668498288547,2.7858359149579424,3.3257226212448145,4.035730287722532,5],[1,1.159225940787673,1.343712473580932,1.5611293155111927,1.8221199554561318,2.14183924486326,2.542468319282638,3.0574682501653316,3.7390572020926873,4.6719550537360774,6],[1,1.1670905356972596,1.3632807444991446,1.5979222279405536,1.8842640123816674,2.2416069644878687,2.69893426559423,3.3012632110403577,4.121250340630164,5.281493033448316,7],[1,1.1736630594087796,1.379783782386201,1.6292821855668218,1.9378971836180754,2.3289975651071977,2.8384347394720835,3.5232708454565906,4.478242031114584,5.868592169644505,8],[1,1.1793017514670474,1.394054150657457,1.65664127441059,1.985170999970283,2.4069682290577457,2.9647310119960752,3.7278665320924946,4.814462547283592,6.436522247411611,9],[1,1.1840100246247336,1.4061375836156955,1.6802272208863964,2.026757028388619,2.4770056063449646,3.080525271755482,3.9191964192627284,5.135152840833187,6.989961179534715,10]],Zr=[[-1,-.9194161097107025,-.8335625019330468,-.7425599821143978,-.6466611521029437,-.5462617907227869,-.4419033816638769,-.3342645487554494,-.224140440909962,-.11241087890006762,0],[-1,-.90603157029014,-.80786507256596,-.7064666939634,-.60294836853664,-.49849837513117,-.39430303318768,-.29147201034755,-.19097820800866,-.09361896280296,0],[-1,-.9021579584316141,-.8005762598234203,-.6964780623319391,-.5911906810998454,-.486050182576545,-.3823089430815083,-.28106046722897615,-.1831906535795894,-.08935809204418144,0],[-1,-.8917227442365535,-.781258746326964,-.6705130326902455,-.5612813129406509,-.4551067709033134,-.35319256652135966,-.2563741554088552,-.1651412821106526,-.0796919581982668,0],[-1,-.8843387974366064,-.7678744063886243,-.6529563724510552,-.5415870994657841,-.4352842206588936,-.33504449124791424,-.24138853420685147,-.15445285440944467,-.07409659641336663,0],[-1,-.8786709358426346,-.7577735191184886,-.6399546189952064,-.527284921869926,-.4211627631006314,-.3223479611761232,-.23107655627789858,-.1472057700818259,-.07035171210706326,0],[-1,-.8740862815291583,-.7497032990976209,-.6297119746181752,-.5161838335958787,-.41036238255751956,-.31277212146489963,-.2233976621705518,-.1418697367979619,-.06762117662323441,0],[-1,-.8702632331800649,-.7430366914122081,-.6213373075161548,-.5072025698095242,-.40171437727184167,-.30517930701410456,-.21736343968190863,-.137710238299109,-.06550774483471955,0],[-1,-.8670016295947213,-.7373984232432306,-.6143173985094293,-.49973884395492807,-.394584953527678,-.2989649949848695,-.21245647317021688,-.13434688362382652,-.0638072667348083,0],[-1,-.8641642839543857,-.732534623168535,-.6083127477059322,-.4934049257184696,-.3885773075899922,-.29376029055315767,-.2083678561173622,-.13155653399373268,-.062401588652553186,0]];let h=function(t){return l.fromValue_noAlloc(t)},O=function(e,t,n){return l.fromComponents(e,t,n)},R=function(t,n,r){return l.fromComponents_noNormalize(t,n,r)};const xe=function(t,n){const r=n+1,i=Math.ceil(Math.log10(Math.abs(t))),s=Math.round(t*Math.pow(10,r-i))*Math.pow(10,i-r);return parseFloat(s.toFixed(Math.max(r-i,0)))},Tt=function(e){return Math.sign(e)*Math.log10(Math.abs(e))},Kr=function(e){if(!isFinite(e))return e;if(e<-50)return e===Math.trunc(e)?Number.NEGATIVE_INFINITY:0;let t=1;for(;e<10;)t=t*e,++e;e-=1;let n=.9189385332046727;n=n+(e+.5)*Math.log(e),n=n-e;const r=e*e;let i=e;return n=n+1/(12*i),i=i*r,n=n+1/(360*i),i=i*r,n=n+1/(1260*i),i=i*r,n=n+1/(1680*i),i=i*r,n=n+1/(1188*i),i=i*r,n=n+691/(360360*i),i=i*r,n=n+7/(1092*i),i=i*r,n=n+3617/(122400*i),Math.exp(n)/t},fn=.5671432904097838,tn=function(e,t=1e-10){let n,r;if(!Number.isFinite(e)||e===0)return e;if(e===1)return fn;e<10?n=0:n=Math.log(e)-Math.log(Math.log(e));for(let i=0;i<100;++i){if(r=(e*Math.exp(-n)+n*n)/(n+1),Math.abs(r-n).5?1:-1;if(Math.random()*20<1)return R(t,0,1);const n=Math.floor(Math.random()*(e+1));let r=n===0?Math.random()*616-308:Math.random()*16;Math.random()>.9&&(r=Math.trunc(r));let i=Math.pow(10,r);return Math.random()>.9&&(i=Math.trunc(i)),O(t,n,i)}static affordGeometricSeries_core(e,t,n,r){const i=t.mul(n.pow(r));return f.floor(e.div(i).mul(n.sub(1)).add(1).log10().div(n.log10()))}static sumGeometricSeries_core(e,t,n,r){return t.mul(n.pow(r)).mul(f.sub(1,n.pow(e))).div(f.sub(1,n))}static affordArithmeticSeries_core(e,t,n,r){const s=t.add(r.mul(n)).sub(n.div(2)),o=s.pow(2);return s.neg().add(o.add(n.mul(e).mul(2)).sqrt()).div(n).floor()}static sumArithmeticSeries_core(e,t,n,r){const i=t.add(r.mul(n));return e.div(2).mul(i.mul(2).plus(e.sub(1).mul(n)))}static efficiencyOfPurchase_core(e,t,n){return e.div(t).add(e.div(n))}normalize(){if(this.sign===0||this.mag===0&&this.layer===0)return this.sign=0,this.mag=0,this.layer=0,this;if(this.layer===0&&this.mag<0&&(this.mag=-this.mag,this.sign=-this.sign),this.layer===0&&this.mag=Br)return this.layer+=1,this.mag=t*Math.log10(e),this;for(;e0;)this.layer-=1,this.layer===0?this.mag=Math.pow(10,this.mag):(this.mag=t*Math.pow(10,e),e=Math.abs(this.mag),t=Math.sign(this.mag));return this.layer===0&&(this.mag<0?(this.mag=-this.mag,this.sign=-this.sign):this.mag===0&&(this.sign=0)),this}fromComponents(e,t,n){return this.sign=e,this.layer=t,this.mag=n,this.normalize(),this}fromComponents_noNormalize(e,t,n){return this.sign=e,this.layer=t,this.mag=n,this}fromMantissaExponent(e,t){return this.layer=1,this.sign=Math.sign(e),e=Math.abs(e),this.mag=t+Math.log10(e),this.normalize(),this}fromMantissaExponent_noNormalize(e,t){return this.fromMantissaExponent(e,t),this}fromDecimal(e){return this.sign=e.sign,this.layer=e.layer,this.mag=e.mag,this}fromNumber(e){return this.mag=Math.abs(e),this.sign=Math.sign(e),this.layer=0,this.normalize(),this}fromString(e){const t=e,n=f.fromStringCache.get(t);if(n!==void 0)return this.fromDecimal(n);e=e.replace(",","");const r=e.split("^^^");if(r.length===2){const I=parseFloat(r[0]),C=parseFloat(r[1]),G=r[1].split(";");let Y=1;if(G.length===2&&(Y=parseFloat(G[1]),isFinite(Y)||(Y=1)),isFinite(I)&&isFinite(C)){const S=f.pentate(I,C,Y);return this.sign=S.sign,this.layer=S.layer,this.mag=S.mag,f.fromStringCache.maxSize>=1&&f.fromStringCache.set(t,f.fromDecimal(this)),this}}const i=e.split("^^");if(i.length===2){const I=parseFloat(i[0]),C=parseFloat(i[1]),G=i[1].split(";");let Y=1;if(G.length===2&&(Y=parseFloat(G[1]),isFinite(Y)||(Y=1)),isFinite(I)&&isFinite(C)){const S=f.tetrate(I,C,Y);return this.sign=S.sign,this.layer=S.layer,this.mag=S.mag,f.fromStringCache.maxSize>=1&&f.fromStringCache.set(t,f.fromDecimal(this)),this}}const s=e.split("^");if(s.length===2){const I=parseFloat(s[0]),C=parseFloat(s[1]);if(isFinite(I)&&isFinite(C)){const G=f.pow(I,C);return this.sign=G.sign,this.layer=G.layer,this.mag=G.mag,f.fromStringCache.maxSize>=1&&f.fromStringCache.set(t,f.fromDecimal(this)),this}}e=e.trim().toLowerCase();let o,u,d=e.split("pt");if(d.length===2){o=10,u=parseFloat(d[0]),d[1]=d[1].replace("(",""),d[1]=d[1].replace(")","");let I=parseFloat(d[1]);if(isFinite(I)||(I=1),isFinite(o)&&isFinite(u)){const C=f.tetrate(o,u,I);return this.sign=C.sign,this.layer=C.layer,this.mag=C.mag,f.fromStringCache.maxSize>=1&&f.fromStringCache.set(t,f.fromDecimal(this)),this}}if(d=e.split("p"),d.length===2){o=10,u=parseFloat(d[0]),d[1]=d[1].replace("(",""),d[1]=d[1].replace(")","");let I=parseFloat(d[1]);if(isFinite(I)||(I=1),isFinite(o)&&isFinite(u)){const C=f.tetrate(o,u,I);return this.sign=C.sign,this.layer=C.layer,this.mag=C.mag,f.fromStringCache.maxSize>=1&&f.fromStringCache.set(t,f.fromDecimal(this)),this}}const g=e.split("e"),b=g.length-1;if(b===0){const I=parseFloat(e);if(isFinite(I))return this.fromNumber(I),f.fromStringCache.size>=1&&f.fromStringCache.set(t,f.fromDecimal(this)),this}else if(b===1){const I=parseFloat(e);if(isFinite(I)&&I!==0)return this.fromNumber(I),f.fromStringCache.maxSize>=1&&f.fromStringCache.set(t,f.fromDecimal(this)),this}const v=e.split("e^");if(v.length===2){this.sign=1,v[0].charAt(0)=="-"&&(this.sign=-1);let I="";for(let C=0;C=43&&G<=57||G===101)I+=v[1].charAt(C);else return this.layer=parseFloat(I),this.mag=parseFloat(v[1].substr(C+1)),this.normalize(),f.fromStringCache.maxSize>=1&&f.fromStringCache.set(t,f.fromDecimal(this)),this}}if(b<1)return this.sign=0,this.layer=0,this.mag=0,f.fromStringCache.maxSize>=1&&f.fromStringCache.set(t,f.fromDecimal(this)),this;const N=parseFloat(g[0]);if(N===0)return this.sign=0,this.layer=0,this.mag=0,f.fromStringCache.maxSize>=1&&f.fromStringCache.set(t,f.fromDecimal(this)),this;let k=parseFloat(g[g.length-1]);if(b>=2){const I=parseFloat(g[g.length-2]);isFinite(I)&&(k*=Math.sign(I),k+=Tt(I))}if(!isFinite(N))this.sign=g[0]==="-"?-1:1,this.layer=b,this.mag=k;else if(b===1)this.sign=Math.sign(N),this.layer=1,this.mag=k+Math.log10(Math.abs(N));else if(this.sign=Math.sign(N),this.layer=b,b===2){const I=f.mul(O(1,2,k),h(N));return this.sign=I.sign,this.layer=I.layer,this.mag=I.mag,f.fromStringCache.maxSize>=1&&f.fromStringCache.set(t,f.fromDecimal(this)),this}else this.mag=k;return this.normalize(),f.fromStringCache.maxSize>=1&&f.fromStringCache.set(t,f.fromDecimal(this)),this}fromValue(e){return e instanceof f?this.fromDecimal(e):typeof e=="number"?this.fromNumber(e):typeof e=="string"?this.fromString(e):(this.sign=0,this.layer=0,this.mag=0,this)}toNumber(){return Number.isFinite(this.layer)?this.layer===0?this.sign*this.mag:this.layer===1?this.sign*Math.pow(10,this.mag):this.mag>0?this.sign>0?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:0:Number.NaN}mantissaWithDecimalPlaces(e){return isNaN(this.m)?Number.NaN:this.m===0?0:xe(this.m,e)}magnitudeWithDecimalPlaces(e){return isNaN(this.mag)?Number.NaN:this.mag===0?0:xe(this.mag,e)}toString(){return isNaN(this.layer)||isNaN(this.sign)||isNaN(this.mag)?"NaN":this.mag===Number.POSITIVE_INFINITY||this.layer===Number.POSITIVE_INFINITY?this.sign===1?"Infinity":"-Infinity":this.layer===0?this.mag<1e21&&this.mag>1e-7||this.mag===0?(this.sign*this.mag).toString():this.m+"e"+this.e:this.layer===1?this.m+"e"+this.e:this.layer<=en?(this.sign===-1?"-":"")+"e".repeat(this.layer)+this.mag:(this.sign===-1?"-":"")+"(e^"+this.layer+")"+this.mag}toExponential(e){return this.layer===0?(this.sign*this.mag).toExponential(e):this.toStringWithDecimalPlaces(e)}toFixed(e){return this.layer===0?(this.sign*this.mag).toFixed(e):this.toStringWithDecimalPlaces(e)}toPrecision(e){return this.e<=-7?this.toExponential(e-1):e>this.e?this.toFixed(e-this.exponent-1):this.toExponential(e-1)}valueOf(){return this.toString()}toJSON(){return this.toString()}toStringWithDecimalPlaces(e){return this.layer===0?this.mag<1e21&&this.mag>1e-7||this.mag===0?(this.sign*this.mag).toFixed(e):xe(this.m,e)+"e"+xe(this.e,e):this.layer===1?xe(this.m,e)+"e"+xe(this.e,e):this.layer<=en?(this.sign===-1?"-":"")+"e".repeat(this.layer)+xe(this.mag,e):(this.sign===-1?"-":"")+"(e^"+this.layer+")"+xe(this.mag,e)}abs(){return R(this.sign===0?0:1,this.layer,this.mag)}neg(){return R(-this.sign,this.layer,this.mag)}negate(){return this.neg()}negated(){return this.neg()}sgn(){return this.sign}round(){return this.mag<0?f.dZero:this.layer===0?O(this.sign,0,Math.round(this.mag)):this}floor(){return this.mag<0?f.dZero:this.layer===0?O(this.sign,0,Math.floor(this.mag)):this}ceil(){return this.mag<0?f.dZero:this.layer===0?O(this.sign,0,Math.ceil(this.mag)):this}trunc(){return this.mag<0?f.dZero:this.layer===0?O(this.sign,0,Math.trunc(this.mag)):this}add(e){const t=h(e);if(!Number.isFinite(this.layer))return this;if(!Number.isFinite(t.layer)||this.sign===0)return t;if(t.sign===0)return this;if(this.sign===-t.sign&&this.layer===t.layer&&this.mag===t.mag)return R(0,0,0);let n,r;if(this.layer>=2||t.layer>=2)return this.maxabs(t);if(f.cmpabs(this,t)>0?(n=this,r=t):(n=t,r=this),n.layer===0&&r.layer===0)return f.fromNumber(n.sign*n.mag+r.sign*r.mag);const i=n.layer*Math.sign(n.mag),s=r.layer*Math.sign(r.mag);if(i-s>=2)return n;if(i===0&&s===-1){if(Math.abs(r.mag-Math.log10(n.mag))>Ft)return n;{const o=Math.pow(10,Math.log10(n.mag)-r.mag),u=r.sign+n.sign*o;return O(Math.sign(u),1,r.mag+Math.log10(Math.abs(u)))}}if(i===1&&s===0){if(Math.abs(n.mag-Math.log10(r.mag))>Ft)return n;{const o=Math.pow(10,n.mag-Math.log10(r.mag)),u=r.sign+n.sign*o;return O(Math.sign(u),1,Math.log10(r.mag)+Math.log10(Math.abs(u)))}}if(Math.abs(n.mag-r.mag)>Ft)return n;{const o=Math.pow(10,n.mag-r.mag),u=r.sign+n.sign*o;return O(Math.sign(u),1,r.mag+Math.log10(Math.abs(u)))}}plus(e){return this.add(e)}sub(e){return this.add(h(e).neg())}subtract(e){return this.sub(e)}minus(e){return this.sub(e)}mul(e){const t=h(e);if(!Number.isFinite(this.layer))return this;if(!Number.isFinite(t.layer))return t;if(this.sign===0||t.sign===0)return R(0,0,0);if(this.layer===t.layer&&this.mag===-t.mag)return R(this.sign*t.sign,0,1);let n,r;if(this.layer>t.layer||this.layer==t.layer&&Math.abs(this.mag)>Math.abs(t.mag)?(n=this,r=t):(n=t,r=this),n.layer===0&&r.layer===0)return f.fromNumber(n.sign*r.sign*n.mag*r.mag);if(n.layer>=3||n.layer-r.layer>=2)return O(n.sign*r.sign,n.layer,n.mag);if(n.layer===1&&r.layer===0)return O(n.sign*r.sign,1,n.mag+Math.log10(r.mag));if(n.layer===1&&r.layer===1)return O(n.sign*r.sign,1,n.mag+r.mag);if(n.layer===2&&r.layer===1){const i=O(Math.sign(n.mag),n.layer-1,Math.abs(n.mag)).add(O(Math.sign(r.mag),r.layer-1,Math.abs(r.mag)));return O(n.sign*r.sign,i.layer+1,i.sign*i.mag)}if(n.layer===2&&r.layer===2){const i=O(Math.sign(n.mag),n.layer-1,Math.abs(n.mag)).add(O(Math.sign(r.mag),r.layer-1,Math.abs(r.mag)));return O(n.sign*r.sign,i.layer+1,i.sign*i.mag)}throw Error("Bad arguments to mul: "+this+", "+e)}multiply(e){return this.mul(e)}times(e){return this.mul(e)}div(e){const t=h(e);return this.mul(t.recip())}divide(e){return this.div(e)}divideBy(e){return this.div(e)}dividedBy(e){return this.div(e)}recip(){return this.mag===0?f.dNaN:this.layer===0?O(this.sign,0,1/this.mag):O(this.sign,this.layer,-this.mag)}reciprocal(){return this.recip()}reciprocate(){return this.recip()}cmp(e){const t=h(e);return this.sign>t.sign?1:this.sign0?this.layer:-this.layer,r=t.mag>0?t.layer:-t.layer;return n>r?1:nt.mag?1:this.mag0?t:this}clamp(e,t){return this.max(e).min(t)}clampMin(e){return this.max(e)}clampMax(e){return this.min(e)}cmp_tolerance(e,t){const n=h(e);return this.eq_tolerance(n,t)?0:this.cmp(n)}compare_tolerance(e,t){return this.cmp_tolerance(e,t)}eq_tolerance(e,t){const n=h(e);if(t==null&&(t=1e-7),this.sign!==n.sign||Math.abs(this.layer-n.layer)>1)return!1;let r=this.mag,i=n.mag;return this.layer>n.layer&&(i=Tt(i)),this.layer0?O(Math.sign(this.mag),this.layer-1,Math.abs(this.mag)):O(1,0,Math.log10(this.mag))}log10(){return this.sign<=0?f.dNaN:this.layer>0?O(Math.sign(this.mag),this.layer-1,Math.abs(this.mag)):O(this.sign,0,Math.log10(this.mag))}log(e){return e=h(e),this.sign<=0||e.sign<=0||e.sign===1&&e.layer===0&&e.mag===1?f.dNaN:this.layer===0&&e.layer===0?O(this.sign,0,Math.log(this.mag)/Math.log(e.mag)):f.div(this.log10(),e.log10())}log2(){return this.sign<=0?f.dNaN:this.layer===0?O(this.sign,0,Math.log2(this.mag)):this.layer===1?O(Math.sign(this.mag),0,Math.abs(this.mag)*3.321928094887362):this.layer===2?O(Math.sign(this.mag),1,Math.abs(this.mag)+.5213902276543247):O(Math.sign(this.mag),this.layer-1,Math.abs(this.mag))}ln(){return this.sign<=0?f.dNaN:this.layer===0?O(this.sign,0,Math.log(this.mag)):this.layer===1?O(Math.sign(this.mag),0,Math.abs(this.mag)*2.302585092994046):this.layer===2?O(Math.sign(this.mag),1,Math.abs(this.mag)+.36221568869946325):O(Math.sign(this.mag),this.layer-1,Math.abs(this.mag))}logarithm(e){return this.log(e)}pow(e){const t=h(e),n=this,r=t;if(n.sign===0)return r.eq(0)?R(1,0,1):n;if(n.sign===1&&n.layer===0&&n.mag===1)return n;if(r.sign===0)return R(1,0,1);if(r.sign===1&&r.layer===0&&r.mag===1)return n;const i=n.absLog10().mul(r).pow10();return this.sign===-1?Math.abs(r.toNumber()%2)%2===1?i.neg():Math.abs(r.toNumber()%2)%2===0?i:f.dNaN:i}pow10(){if(!Number.isFinite(this.layer)||!Number.isFinite(this.mag))return f.dNaN;let e=this;if(e.layer===0){const t=Math.pow(10,e.sign*e.mag);if(Number.isFinite(t)&&Math.abs(t)>=.1)return O(1,0,t);if(e.sign===0)return f.dOne;e=R(e.sign,e.layer+1,Math.log10(e.mag))}return e.sign>0&&e.mag>=0?O(e.sign,e.layer+1,e.mag):e.sign<0&&e.mag>=0?O(-e.sign,e.layer+1,-e.mag):f.dOne}pow_base(e){return h(e).pow(this)}root(e){const t=h(e);return this.pow(t.recip())}factorial(){return this.mag<0?this.add(1).gamma():this.layer===0?this.add(1).gamma():this.layer===1?f.exp(f.mul(this,f.ln(this).sub(1))):f.exp(this)}gamma(){if(this.mag<0)return this.recip();if(this.layer===0){if(this.lt(R(1,0,24)))return f.fromNumber(Kr(this.sign*this.mag));const e=this.mag-1;let t=.9189385332046727;t=t+(e+.5)*Math.log(e),t=t-e;const n=e*e;let r=e,i=12*r,s=1/i,o=t+s;if(o===t||(t=o,r=r*n,i=360*r,s=1/i,o=t-s,o===t))return f.exp(t);t=o,r=r*n,i=1260*r;let u=1/i;return t=t+u,r=r*n,i=1680*r,u=1/i,t=t-u,f.exp(t)}else return this.layer===1?f.exp(f.mul(this,f.ln(this).sub(1))):f.exp(this)}lngamma(){return this.gamma().ln()}exp(){return this.mag<0?f.dOne:this.layer===0&&this.mag<=709.7?f.fromNumber(Math.exp(this.sign*this.mag)):this.layer===0?O(1,1,this.sign*Math.log10(Math.E)*this.mag):this.layer===1?O(1,2,this.sign*(Math.log10(.4342944819032518)+this.mag)):O(1,this.layer+1,this.sign*this.mag)}sqr(){return this.pow(2)}sqrt(){if(this.layer===0)return f.fromNumber(Math.sqrt(this.sign*this.mag));if(this.layer===1)return O(1,2,Math.log10(this.mag)-.3010299956639812);{const e=f.div(R(this.sign,this.layer-1,this.mag),R(1,0,2));return e.layer+=1,e.normalize(),e}}cube(){return this.pow(3)}cbrt(){return this.pow(1/3)}tetrate(e=2,t=R(1,0,1)){if(e===1)return f.pow(this,t);if(e===0)return new f(t);if(this.eq(f.dOne))return f.dOne;if(this.eq(-1))return f.pow(this,t);if(e===Number.POSITIVE_INFINITY){const i=this.toNumber();if(i<=1.444667861009766&&i>=.06598803584531254){if(i>1.444667861009099)return f.fromNumber(Math.E);const s=f.ln(this).neg();return s.lambertw().div(s)}else return i>1.444667861009766?f.fromNumber(Number.POSITIVE_INFINITY):f.dNaN}if(this.eq(f.dZero)){let i=Math.abs((e+1)%2);return i>1&&(i=2-i),f.fromNumber(i)}if(e<0)return f.iteratedlog(t,this,-e);t=h(t);const n=e;e=Math.trunc(e);const r=n-e;if(this.gt(f.dZero)&&this.lte(1.444667861009766)){e=Math.min(1e4,e);for(let i=0;i3)return R(t.sign,t.layer+(e-i-1),t.mag);if(i>1e4)return t}return t}iteratedexp(e=2,t=R(1,0,1)){return this.tetrate(e,t)}iteratedlog(e=10,t=1){if(t<0)return f.tetrate(e,-t,this);e=h(e);let n=f.fromDecimal(this);const r=t;t=Math.trunc(t);const i=r-t;if(n.layer-e.layer>3){const s=Math.min(t,n.layer-e.layer-3);t-=s,n.layer-=s}for(let s=0;s1e4)return n}return i>0&&i<1&&(e.eq(10)?n=n.layeradd10(-i):n=n.layeradd(-i,e)),n}slog(e=10,t=100){let n=.001,r=!1,i=!1,s=this.slog_internal(e).toNumber();for(let o=1;o1&&i!=d&&(r=!0),i=d,r?n/=2:n*=2,n=Math.abs(n)*(d?-1:1),s+=n,n===0)break}return f.fromNumber(s)}slog_internal(e=10){if(e=h(e),e.lte(f.dZero)||e.eq(f.dOne))return f.dNaN;if(e.lt(f.dOne))return this.eq(f.dOne)?f.dZero:this.eq(f.dZero)?f.dNegOne:f.dNaN;if(this.mag<0||this.eq(f.dZero))return f.dNegOne;let t=0,n=f.fromDecimal(this);if(n.layer-e.layer>3){const r=n.layer-e.layer-3;t+=r,n.layer-=r}for(let r=0;r<100;++r)if(n.lt(f.dZero))n=f.pow(e,n),t-=1;else{if(n.lte(f.dOne))return f.fromNumber(t+f.slog_critical(e.toNumber(),n.toNumber()));t+=1,n=f.log(n,e)}return f.fromNumber(t)}static slog_critical(e,t){return e>10?t-1:f.critical_section(e,t,Zr)}static tetrate_critical(e,t){return f.critical_section(e,t,Jr)}static critical_section(e,t,n){t*=10,t<0&&(t=0),t>10&&(t=10),e<2&&(e=2),e>10&&(e=10);let r=0,i=0;for(let o=0;oe){const u=(e-Ve[o])/(Ve[o+1]-Ve[o]);r=n[o][Math.floor(t)]*(1-u)+n[o+1][Math.floor(t)]*u,i=n[o][Math.ceil(t)]*(1-u)+n[o+1][Math.ceil(t)]*u;break}const s=t-Math.floor(t);return r<=0||i<=0?r*(1-s)+i*s:Math.pow(e,Math.log(r)/Math.log(e)*(1-s)+Math.log(i)/Math.log(e)*s)}layeradd10(e){e=f.fromValue_noAlloc(e).toNumber();const t=f.fromDecimal(this);if(e>=1){t.mag<0&&t.layer>0?(t.sign=0,t.mag=0,t.layer=0):t.sign===-1&&t.layer==0&&(t.sign=1,t.mag=-t.mag);const n=Math.trunc(e);e-=n,t.layer+=n}if(e<=-1){const n=Math.trunc(e);if(e-=n,t.layer+=n,t.layer<0)for(let r=0;r<100;++r){if(t.layer++,t.mag=Math.log10(t.mag),!isFinite(t.mag))return t.sign===0&&(t.sign=1),t.layer<0&&(t.layer=0),t.normalize();if(t.layer>=0)break}}for(;t.layer<0;)t.layer++,t.mag=Math.log10(t.mag);return t.sign===0&&(t.sign=1,t.mag===0&&t.layer>=1&&(t.layer-=1,t.mag=1)),t.normalize(),e!==0?t.layeradd(e,10):t}layeradd(e,t){const r=this.slog(t).toNumber()+e;return r>=0?f.tetrate(t,r):Number.isFinite(r)?r>=-1?f.log(f.tetrate(t,r+1),t):f.log(f.log(f.tetrate(t,r+2),t),t):f.dNaN}lambertw(){if(this.lt(-.3678794411710499))throw Error("lambertw is unimplemented for results less than -1, sorry!");if(this.mag<0)return f.fromNumber(tn(this.toNumber()));if(this.layer===0)return f.fromNumber(tn(this.sign*this.mag));if(this.layer===1)return nn(this);if(this.layer===2)return nn(this);if(this.layer>=3)return R(this.sign,this.layer-1,this.mag);throw new Error("Unhandled behavior in lambertw()")}ssqrt(){if(this.sign==1&&this.layer>=3)return R(this.sign,this.layer-1,this.mag);const e=this.ln();return e.div(e.lambertw())}pentate(e=2,t=R(1,0,1)){t=h(t);const n=e;e=Math.trunc(e);const r=n-e;r!==0&&(t.eq(f.dOne)?(++e,t=f.fromNumber(r)):this.eq(10)?t=t.layeradd10(r):t=t.layeradd(r,this));for(let i=0;i10)return t}return t}sin(){return this.mag<0?this:this.layer===0?f.fromNumber(Math.sin(this.sign*this.mag)):R(0,0,0)}cos(){return this.mag<0?f.dOne:this.layer===0?f.fromNumber(Math.cos(this.sign*this.mag)):R(0,0,0)}tan(){return this.mag<0?this:this.layer===0?f.fromNumber(Math.tan(this.sign*this.mag)):R(0,0,0)}asin(){return this.mag<0?this:this.layer===0?f.fromNumber(Math.asin(this.sign*this.mag)):R(Number.NaN,Number.NaN,Number.NaN)}acos(){return this.mag<0?f.fromNumber(Math.acos(this.toNumber())):this.layer===0?f.fromNumber(Math.acos(this.sign*this.mag)):R(Number.NaN,Number.NaN,Number.NaN)}atan(){return this.mag<0?this:this.layer===0?f.fromNumber(Math.atan(this.sign*this.mag)):f.fromNumber(Math.atan(this.sign*(1/0)))}sinh(){return this.exp().sub(this.negate().exp()).div(2)}cosh(){return this.exp().add(this.negate().exp()).div(2)}tanh(){return this.sinh().div(this.cosh())}asinh(){return f.ln(this.add(this.sqr().add(1).sqrt()))}acosh(){return f.ln(this.add(this.sqr().sub(1).sqrt()))}atanh(){return this.abs().gte(1)?R(Number.NaN,Number.NaN,Number.NaN):f.ln(this.add(1).div(f.fromNumber(1).sub(this))).div(2)}ascensionPenalty(e){return e===0?this:this.root(f.pow(10,e))}egg(){return this.add(9)}lessThanOrEqualTo(e){return this.cmp(e)<1}lessThan(e){return this.cmp(e)<0}greaterThanOrEqualTo(e){return this.cmp(e)>-1}greaterThan(e){return this.cmp(e)>0}};let l=f;l.fromStringCache=new qr(Hr);l.dZero=R(0,0,0);l.dOne=R(1,0,1);l.dNegOne=R(-1,0,1);l.dTwo=R(1,0,2);l.dTen=R(1,0,10);l.dNaN=R(Number.NaN,Number.NaN,Number.NaN);l.dInf=R(1,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY);l.dNegInf=R(-1,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY);l.dNumberMax=O(1,0,Number.MAX_VALUE);l.dNumberMin=O(1,0,Number.MIN_VALUE);h=l.fromValue_noAlloc;O=l.fromComponents;R=l.fromComponents_noNormalize;l.fromMantissaExponent;l.fromMantissaExponent_noNormalize;const Yr=new l(1);function nt(e,t,n=!0){let r=l.log10(e).floor(),i=l.div(e,l.pow(10,r));i.toStringWithDecimalPlaces(t)==="10"&&(i=Yr,r=r.add(1));const s=r.gte(1e9)?pe(r,Math.max(Math.max(t,3),A.defaultDecimalsShown)):r.gte(1e4)?bt(r,0):r.toStringWithDecimalPlaces(0);return n?i.toStringWithDecimalPlaces(t)+"e"+s:"e"+s}function bt(e,t){if(e==null)return"NaN";if(e=new l(e),e.mag<.001)return 0 .toFixed(t);const r=e.toStringWithDecimalPlaces(t).split(".");return r[0]=r[0].replace(/(\d)(?=(\d\d\d)+(?!\d))/g,"$1,"),r.length==1?r[0]:r[0]+"."+r[1]}function gn(e,t){return e==null?"NaN":(e=new l(e),e.mag<1e-4?0 .toFixed(t):(e.mag<.1&&t!==0&&(t=Math.max(Math.max(t,e.log10().negate().ceil().toNumber()),A.defaultDecimalsShown)),e.toStringWithDecimalPlaces(t)))}const Xr=new l("eeee1000"),Qr=new l("e100000"),rn=new l("e1000"),mn=new l(1e9),ei=new l(1e6),ti=new l(1e3),ni=new l(.98),ri=new l(.001),hn=new l(0);function pe(e,t,n){if(t==null&&(t=A.defaultDecimalsShown),n=n!=null?n:A.defaultShowSmall,e=new l(e),isNaN(e.sign)||isNaN(e.layer)||isNaN(e.mag))return"NaN";if(e.sign<0)return"-"+pe(e.neg(),t);if(e.mag===Number.POSITIVE_INFINITY)return"Infinity";if(e.gte(Xr)){const r=e.slog();return r.gte(ei)?"F"+pe(r.floor()):l.pow(10,r.sub(r.floor())).toStringWithDecimalPlaces(3)+"F"+bt(r.floor(),0)}else{if(e.gte(Qr))return nt(e,0,!1);if(e.gte(rn))return nt(e,0);if(e.gte(mn))return nt(e,t);if(e.gte(ti))return bt(e,0);if(e.gte(ri)||!n)return gn(e,t);if(e.eq(hn))return 0 .toFixed(t)}return e=vn(e),e.lt(rn)?nt(e,t).replace(/([^(?:e|F)]*)$/,"-$1"):pe(e,t)+"\u207B\xB9"}function he(e){return e=new l(e),e.sign<0?"-"+he(e.neg()):e.gte(mn)||e.lte(ni)&&!e.eq(hn)?pe(e):pe(e,0)}function pn(e){return l.lt(e,0)?"-"+pn(l.neg(e)):l.gt(e,2**51)?pe(l.div(e,31536e3))+"y":(e=new l(e).toNumber(),e<60?pe(e)+"s":e<3600?he(Math.floor(e/60))+"m "+pe(e%60)+"s":e<86400?he(Math.floor(e/3600))+"h "+he(Math.floor(e/60)%60)+"m "+he(e%60)+"s":e<31536e3?he(Math.floor(e/84600)%365)+"d "+he(Math.floor(e/3600)%24)+"h "+he(Math.floor(e/60)%60)+"m":he(Math.floor(e/31536e3))+"y "+he(Math.floor(e/84600)%365)+"d "+he(Math.floor(e/3600)%24)+"h")}function ii(e,t,n){e=new l(e);let r=e.toStringWithDecimalPlaces(t);return new l(r).gte(n)&&(r=l.sub(n,Math.pow(.1,t)).toStringWithDecimalPlaces(t)),r}function si(e,t){return pe(e,t,!0)}function vn(e){let t=l.log10(e).ceil();const n=l.div(e,l.pow(10,t));return t=t.neg(),e=new l(10).pow(t).times(n),e}var ai=Object.freeze(Object.defineProperty({__proto__:null,default:l,exponentialFormat:nt,commaFormat:bt,regularFormat:gn,format:pe,formatWhole:he,formatTime:pn,toPlaces:ii,formatSmall:si,invertOOM:vn},Symbol.toStringTag,{value:"Module"}));const{exponentialFormat:oi,commaFormat:li,regularFormat:ui,format:Se,formatWhole:st,formatTime:St,toPlaces:ci,formatSmall:di,invertOOM:fi}=ai;window.Decimal=l;window.exponentialFormat=oi;window.commaFormat=li;window.regularFormat=ui;window.format=Se;window.formatWhole=st;window.formatTime=St;window.toPlaces=ci;window.formatSmall=di;window.invertOOM=fi;function bn(e){let t=e.replace(/([A-Z])/g," $1");return t=t.charAt(0).toUpperCase()+t.slice(1),t}function gi(e){return(e[0]+e.slice(1).replace(/[A-Z]/g,t=>`-${t}`)).toLowerCase()}function Pt(e){return typeof e=="function"}var Z=(e=>(e.Up="Up",e.Down="Down",e.Left="Left",e.Right="Right",e.Default="Up",e))(Z||{});const at=Symbol("DoNotCache");function E(e,t){const n=e[t];Pt(n)&&n.length===0&&!n[at]?e[t]=P(n.bind(e)):Pt(n)&&(e[t]=n.bind(e),e[t][at]=!0)}function Et(e){return Pt(e)&&!e[at]&&(e=P(e)),e}const Pe=Symbol("Component"),Ee=Symbol("GatherProps");let mi=0;function It(e="feature-"){return e+mi++}var Xe=(e=>(e[e.Visible=0]="Visible",e[e.Hidden=1]="Hidden",e[e.None=2]="None",e))(Xe||{});function yn(e){const t=c(e);return t!==2&&t!==!1}function _n(e){return c(e)===1}function ee(e){return e[at]=!0,e}function ce(e,t,n){e[t]===void 0&&n!=null&&(e[t]=n)}function Nn(e,...t){const n=[],r=i=>{Object.keys(i).forEach(s=>{const o=i[s];o!=null&&typeof o=="object"&&(t.includes(o.type)?n.push(o):!(o instanceof l)&&!te(o)&&r(o))})};return r(e),n}var J=window.state=Ct({lastTenTicks:[],hasNaN:!1,NaNPath:[],errors:Ye([])});const De={variables:{"--foreground":"#dfdfdf","--background":"#0f0f0f","--feature-foreground":"#0f0f0f","--tooltip-background":"rgba(0, 0, 0, 0.75)","--raised-background":"#0f0f0f","--points":"#ffffff","--locked":"#bf8f8f","--highlighted":"#333","--bought":"#77bf5f","--danger":"rgb(220, 53, 69)","--link":"#02f2f2","--outline":"#dfdfdf","--accent1":"#627a82","--accent2":"#658262","--accent3":"#7c6282","--border-radius":"15px","--modal-border":"solid 2px var(--color)","--feature-margin":"0px"},floatingTabs:!0,mergeAdjacent:!0,showPin:!0};var qt=(e=>(e.Classic="classic",e.Paper="paper",e.Nordic="nordic",e.Aqua="aqua",e))(qt||{}),At={classic:De,paper:{...De,variables:{...De.variables,"--background":"#2a323d","--feature-foreground":"#000","--raised-background":"#333c4a","--locked":"#3a3e45","--bought":"#5C8A58","--outline":"#333c4a","--border-radius":"4px","--modal-border":"","--feature-margin":"5px"},floatingTabs:!1},nordic:{...De,variables:{...De.variables,"--foreground":"#D8DEE9","--background":"#2E3440","--feature-foreground":"#000","--raised-background":"#3B4252","--points":"#E5E9F0","--locked":"#4c566a","--highlighted":"#434c5e","--bought":"#8FBCBB","--danger":"#D08770","--link":"#88C0D0","--outline":"#3B4252","--accent1":"#B48EAD","--accent2":"#A3BE8C","--accent3":"#EBCB8B","--border-radius":"4px","--modal-border":"solid 2px #3B4252","--feature-margin":"5px"},floatingTabs:!1},aqua:{...De,variables:{...De.variables,"--foreground":"#bfdfff","--background":"#001f3f","--tooltip-background":"rgba(0, 15, 31, 0.75)","--raised-background":"#001f3f","--points":"#dfefff","--locked":"#c4a7b3","--outline":"#bfdfff"}}};const se=cn();"fonts"in document&&(document.fonts.onloadingdone=()=>se.emit("fontsLoaded"));var hi=Object.freeze(Object.defineProperty({__proto__:null,globalBus:se},Symbol.toStringTag,{value:"Module"}));function wn(e={}){return Object.assign({id:`${A.id}-0`,name:"Default Save",tabs:A.initialTabs.slice(),time:Date.now(),autosave:!0,offlineProd:!0,offlineTime:0,timePlayed:0,keepGoing:!1,modID:A.id,modVersion:A.versionNumber,layers:{}},e)}function fe(e){const t=Ce.compressToUTF16(Lt(e!=null?e:x));return localStorage.setItem((e!=null?e:x).id,t),t}async function pi(){bi();try{let e=localStorage.getItem(ne.active);if(e==null){await qe(Je());return}if(e[0]!=="{")if(e[0]==="e")e=decodeURIComponent(escape(atob(e)));else if(e[0]==="\u1BE1")e=Ce.decompressFromUTF16(e);else throw"Unable to determine save encoding";const t=JSON.parse(e);if(t.modID!==A.id){await qe(Je());return}t.id=ne.active,await qe(t)}catch(e){console.error(`Failed to load save. Falling back to new save. -`,e),await qe(Je())}}function Je(){const e=mt(),t=wn({id:e});return fe(t),ne.saves.push(e),t}function mt(){let e,t=0;do e=`${A.id}-${t++}`;while(localStorage.getItem(e)!=null);return e}const Bt=F(!1);async function qe(e){console.info("Loading save",e),Bt.value=!0;const{layers:t,removeLayer:n,addLayer:r}=await it(()=>Promise.resolve().then(function(){return ca}),void 0),{fixOldSave:i,getInitialLayers:s}=await it(()=>Promise.resolve().then(function(){return ou}),void 0);for(const o in t){const u=t[o];u&&n(u)}s(e).forEach(o=>r(o,e)),e=wn(e),e.offlineProd&&e.time!=null&&e.time&&e.devSpeed!==0&&(e.offlineTime==null&&(e.offlineTime=0),e.offlineTime+=Math.min(e.offlineTime+(Date.now()-e.time)/1e3,A.offlineLimit*3600)),e.time=Date.now(),e.modVersion!==A.versionNumber&&(i(e.modVersion,e),e.modVersion=A.versionNumber),Object.assign(x,e),ne.active=x.id,se.emit("onLoad")}setInterval(()=>{x.autosave&&fe()},1e3);window.onbeforeunload=()=>{x.autosave&&fe()};window.save=fe;const vi=window.hardReset=async()=>{await qe(Je())};window.deleteLowerSaves=()=>{const e=Object.values(ne.saves).indexOf(x.id)+1;Object.values(ne.saves).slice(e).forEach(t=>localStorage.removeItem(t)),ne.saves=ne.saves.slice(0,e)};const ot=Ye({active:"",saves:[],showTPS:!0,theme:qt.Nordic,unthrottled:!1,alignUnits:!1});_e(ot,e=>{const t=Ce.compressToUTF16(JSON.stringify(e));localStorage.setItem(A.id,t)},{deep:!0});var ne=window.settings=ot;window.hardResetSettings=()=>{const e={active:"",saves:[],showTPS:!0,theme:qt.Nordic,alignUnits:!1};se.emit("loadSettings",e),Object.assign(ot,e),vi()};function bi(){try{let e=localStorage.getItem(A.id);if(e!=null&&e!==""){if(e[0]!=="{")if(e[0]==="e")e=decodeURIComponent(escape(atob(e)));else if(e[0]==="\u1BE1")e=Ce.decompressFromUTF16(e);else{console.warn("Unable to determine settings encoding",e);return}const t=JSON.parse(e);typeof t=="object"&&Object.assign(ot,t)}se.emit("loadSettings",ot)}catch{}}const yi=Ye([]),Cn=Ye([]);function _i(e){Cn.push(e)}const Ni=Ye([]);function ue(e,t="span"){return typeof e=="function"?q({render:e}):typeof e=="string"?e.length>0?(e=e.trim(),e.charAt(0)!=="<"&&(e=`<${t}>${e}`),q({template:e})):q({render:()=>({})}):e}function ut(e){if(Mt(e))return typeof e=="function"?e():ue(e);const t=e[Pe];return y(t,e[Ee](),null)}function ht(e){if(Mt(e))return typeof e=="function"?e():typeof e=="string"?y(j,null,[e]):y(e,null,null);const t=e[Pe];return y(t,e[Ee](),null)}function Mt(e){return typeof e=="string"?!0:typeof e=="object"?e==null?!1:"render"in e||"component"in e:typeof e=="function"&&e[at]===!0}function kn(e,t){const n=F(null),r=F(void 0);function i(u){n.value||(n.value=setInterval(o,250)),r.value=u}function s(){n.value&&(clearInterval(n.value),n.value=null)}function o(){t&&t.value?t.value():e&&e.value&&e.value(r.value)}return ln(s),{start:i,stop:s,handleHolding:o}}function wi(e,t="div"){const n=be();return Be(()=>{n.value=ue(ye(e),t)}),n}function Qe(e,t="div"){const n=be(null);return Be(()=>{const r=ye(e);n.value=r==""||r==null?null:ue(r,t)}),n}function ye(e){return c(c(e))}function B(...e){return e.includes(Object)||e.push(Object),e}function Ci(e){return Object.keys(e).reduce((t,n)=>(t[gi(n)]=e[n],t),{})}const ki=q({__name:"Context",emits:["updateNodes"],setup(e,{emit:t}){var b;const n=F({}),r=new ResizeObserver(u),i=F(null);lt(()=>{const v=i.value;v!=null&&r.observe(v)});let s=!0,o=F((b=i.value)==null?void 0:b.getBoundingClientRect());function u(){s&&(s=!1,Ue(()=>{var v;o.value=(v=i.value)==null?void 0:v.getBoundingClientRect(),Object.values(n.value).filter(N=>N).forEach(N=>N.rect=N.element.getBoundingClientRect()),t("updateNodes",n.value),s=!0}))}se.on("fontsLoaded",u);const d={attributes:!1,childList:!0,subtree:!1};ft(Ut,(v,N)=>{const k=new MutationObserver(()=>g(v));k.observe(N,d),n.value[v]={element:N,observer:k,rect:N.getBoundingClientRect()},u()}),ft(zt,v=>{var N;(N=n.value[v])==null||N.observer.disconnect(),n.value[v]=void 0,u()}),ft(Gt,n),ft(jt,o);function g(v){const N=n.value[v];N!=null&&(N.rect=N.element.getBoundingClientRect(),t("updateNodes",n.value))}return(v,N)=>(p(),_(j,null,[Te(v.$slots,"default",{},void 0,!0),m("div",{ref_key:"resizeListener",ref:i,class:"resize-listener"},null,512)],64))}});var Sn=z(ki,[["__scopeId","data-v-2b1dc1bc"]]);const Si=["onPointerdown"],Ii={class:"modal-wrapper"},Mi={class:"modal-container"},$i={class:"modal-header"},xi={class:"modal-body"},Fi={class:"modal-footer"},Ti=m("div",{class:"modal-default-flex-grow"},null,-1),je=q({__name:"Modal",props:{modelValue:{type:Boolean}},emits:["update:modelValue"],setup(e,{expose:t,emit:n}){const i=de(e),s=P(()=>c(i.modelValue)||u.value);function o(){n("update:modelValue",!1)}const u=F(!1),d=F(null),g=P(()=>{var b,v;return(v=(b=d.value)==null?void 0:b.nodes)!=null?v:null});return t({isOpen:s,nodes:g}),(b,v)=>(p(),L(qn,{to:"#modal-root"},[y(un,{name:"modal",onBeforeEnter:v[0]||(v[0]=N=>u.value=!0),onAfterLeave:v[1]||(v[1]=N=>u.value=!1)},{default:V(()=>[Dt(m("div",Oe({class:"modal-mask",onPointerdown:rt(o,["self"])},b.$attrs),[m("div",Ii,[m("div",Mi,[m("div",$i,[Te(b.$slots,"header",{shown:c(s)},()=>[T(" default header ")])]),m("div",xi,[y(Sn,{ref_key:"contextRef",ref:d},{default:V(()=>[Te(b.$slots,"body",{shown:c(s)},()=>[T(" default body ")])]),_:3},512)]),m("div",Fi,[Te(b.$slots,"footer",{shown:c(s)},()=>[m("div",{class:"modal-default-footer"},[Ti,m("button",{class:"button modal-default-button",onClick:o}," Close ")])])])])])],16,Si),[[Rn,e.modelValue]])]),_:3})]))}}),Re=Symbol("ProxyState");function He(e,t={}){const n=t;let r=!1,i=!1;function s(){return r||(i&&console.error("Cyclical dependency detected. Cannot evaluate lazy proxy."),i=!0,Object.assign(n,e.call(n,n)),r=!0),n}return new Proxy(n,{get(o,u){if(u===Re)return s();const d=s()[u];return d!=null&&typeof d=="object"&&Fe in d?d[Fe]:d},set(o,u,d){return s()[u]=d,!0},has(o,u){return u===Re?!0:Reflect.has(s(),u)},ownKeys(){return Reflect.ownKeys(s())},getOwnPropertyDescriptor(o,u){return r||(Object.assign(n,e.call(n,n)),r=!0),Object.getOwnPropertyDescriptor(o,u)}})}const In=l.ln(10);function pt(e){return e}function tt(e,...t){const n=t.find(r=>w(r));return n==null?(console.error("Could not invert due to no input being a variable"),0):n.invert(e)}function Pi(e,t){return w(t)?t.invert(l.neg(e)):(console.error("Could not invert due to no input being a variable"),0)}function Ei(e,t){return w(t)?t.isIntegrable()?a.neg(t.getIntegralFormula(e)):(console.error("Could not integrate due to variable not being integrable"),a.constant(0)):(console.error("Could not integrate due to no input being a variable"),a.constant(0))}function Oi(e){return a.neg(e)}function Vi(e,t,n){return w(t)?t.invert(l.sub(e,K(n))):w(n)?n.invert(l.sub(e,K(t))):(console.error("Could not invert due to no input being a variable"),0)}function Di(e,t,n){var r,i;if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const s=t.getIntegralFormula(e);return a.times(n,(r=t.innermostVariable)!=null?r:0).add(s)}else if(w(n)){if(!n.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const s=n.getIntegralFormula(e);return a.times(t,(i=n.innermostVariable)!=null?i:0).add(s)}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function Li(e,t,n){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const r=t.getIntegralFormula(e);return a.add(r,n)}else if(w(n)){if(!n.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const r=n.getIntegralFormula(e);return a.add(r,t)}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function Ri(e,t,n){return w(t)?t.invert(l.add(e,K(n))):w(n)?n.invert(l.sub(K(t),e)):(console.error("Could not invert due to no input being a variable"),0)}function qi(e,t,n){var r,i;if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const s=t.getIntegralFormula(e);return a.sub(s,a.times(n,(r=t.innermostVariable)!=null?r:0))}else if(w(n)){if(!n.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const s=n.getIntegralFormula(e);return a.times(t,(i=n.innermostVariable)!=null?i:0).sub(s)}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function Ai(e,t,n){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const r=t.getIntegralFormula(e);return a.sub(r,n)}else if(w(n)){if(!n.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const r=n.getIntegralFormula(e);return a.sub(r,t)}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function Bi(e,t,n){return w(t)?t.invert(l.div(e,K(n))):w(n)?n.invert(l.div(e,K(t))):(console.error("Could not invert due to no input being a variable"),0)}function Ui(e,t,n){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const r=t.getIntegralFormula(e);return a.times(r,n)}else if(w(n)){if(!n.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const r=n.getIntegralFormula(e);return a.times(r,t)}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function zi(e,t,n){return w(t)?a.div(e,n):w(n)?a.div(e,t):(console.error("Could not apply substitution due to no input being a variable"),a.constant(0))}function Gi(e,t,n){return w(t)?t.invert(l.mul(e,K(n))):w(n)?n.invert(l.div(K(t),e)):(console.error("Could not invert due to no input being a variable"),0)}function ji(e,t,n){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const r=t.getIntegralFormula(e);return a.div(r,n)}else if(w(n)){if(!n.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const r=n.getIntegralFormula(e);return a.div(t,r)}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function Hi(e,t,n){return w(t)?a.mul(e,n):w(n)?a.mul(e,t):(console.error("Could not apply substitution due to no input being a variable"),a.constant(0))}function Wi(e,t){return w(t)?t.invert(l.recip(e)):(console.error("Could not invert due to no input being a variable"),0)}function Ji(e,t){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const n=t.getIntegralFormula(e);return a.ln(n)}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function Zi(e,t){return w(t)?t.invert(l.pow10(e)):(console.error("Could not invert due to no input being a variable"),0)}function Ki(e){return l.ln(e).sub(1).times(e).div(In)}function Yi(e,t){if(w(t)){const n=In.times(e);return t.invert(n.div(n.div(Math.E).lambertw()))}return console.error("Could not invert due to no input being a variable"),0}function Xi(e,t){return w(t)?t.isIntegrable()?new a({inputs:[t.getIntegralFormula(e)],evaluate:Ki,invert:Yi}):(console.error("Could not integrate due to variable not being integrable"),a.constant(0)):(console.error("Could not integrate due to no input being a variable"),a.constant(0))}function Qi(e,t,n){return w(t)?t.invert(l.pow(K(n),e)):w(n)?n.invert(l.root(K(t),e)):(console.error("Could not invert due to no input being a variable"),0)}function es(e,t){return l.ln(e).sub(1).times(e).div(l.ln(t))}function ts(e,t,n){if(w(t)){const r=l.ln(K(n)).times(e);return t.invert(r.div(r.div(Math.E).lambertw()))}return console.error("Could not invert due to no input being a variable"),0}function ns(e,t,n){return w(t)?t.isIntegrable()?new a({inputs:[t.getIntegralFormula(e),n],evaluate:es,invert:ts}):(console.error("Could not integrate due to variable not being integrable"),a.constant(0)):(console.error("Could not integrate due to no input being a variable"),a.constant(0))}function rs(e,t){return w(t)?t.invert(l.pow(2,e)):(console.error("Could not invert due to no input being a variable"),0)}function is(e){return l.ln(e).sub(1).times(e).div(l.ln(2))}function ss(e,t){if(w(t)){const n=l.ln(2).times(e);return t.invert(n.div(n.div(Math.E).lambertw()))}return console.error("Could not invert due to no input being a variable"),0}function as(e,t){return w(t)?t.isIntegrable()?new a({inputs:[t.getIntegralFormula(e)],evaluate:is,invert:ss}):(console.error("Could not integrate due to variable not being integrable"),a.constant(0)):(console.error("Could not integrate due to no input being a variable"),a.constant(0))}function os(e,t){return w(t)?t.invert(l.exp(e)):(console.error("Could not invert due to no input being a variable"),0)}function ls(e){return l.ln(e).sub(1).times(e)}function us(e,t){return w(t)?t.invert(l.div(e,l.div(e,Math.E).lambertw())):(console.error("Could not invert due to no input being a variable"),0)}function cs(e,t){return w(t)?t.isIntegrable()?new a({inputs:[t.getIntegralFormula(e)],evaluate:ls,invert:us}):(console.error("Could not integrate due to variable not being integrable"),a.constant(0)):(console.error("Could not integrate due to no input being a variable"),a.constant(0))}function ds(e,t,n){return w(t)?t.invert(l.root(e,K(n))):w(n)?n.invert(l.ln(e).div(l.ln(K(t)))):(console.error("Could not invert due to no input being a variable"),0)}function fs(e,t,n){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const r=t.getIntegralFormula(e),i=a.add(n,1);return a.pow(r,i).div(i)}else if(w(n)){if(!n.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const r=n.getIntegralFormula(e);return a.pow(t,r).div(a.ln(t))}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function gs(e,t){return w(t)?t.invert(l.root(e,10)):(console.error("Could not invert due to no input being a variable"),0)}function ms(e,t){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const n=t.getIntegralFormula(e);return a.pow10(n).div(a.ln(10))}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function hs(e,t,n){return w(t)?t.invert(l.ln(e).div(l.ln(K(n)))):w(n)?n.invert(l.root(K(t),e)):(console.error("Could not invert due to no input being a variable"),0)}function ps(e,t,n){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const r=t.getIntegralFormula(e);return a.pow(n,r).div(a.ln(n))}else if(w(n)){if(!n.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const r=n.getIntegralFormula(e),i=a.add(t,1);return a.pow(r,i).div(i)}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function vs(e,t,n){return w(t)?t.invert(l.root(e,l.recip(K(n)))):w(n)?n.invert(l.ln(K(t)).div(l.ln(e))):(console.error("Could not invert due to no input being a variable"),0)}function bs(e,t,n){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const r=t.getIntegralFormula(e);return a.pow(r,a.recip(n).add(1)).times(n).div(a.add(n,1))}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function ys(e,t){return w(t)?t.invert(l.ln(e)):(console.error("Could not invert due to no input being a variable"),0)}function _s(e,t){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const n=t.getIntegralFormula(e);return a.exp(n)}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function Ns(e,t=2,n=l.fromComponents_noNormalize(1,0,1)){const r=l.minabs(t,1e308).toNumber();return l.tetrate(e,r,n)}function ws(e,t,n,r){return w(t)?t.invert(l.ssqrt(e)):(console.error("Could not invert due to no input being a variable"),0)}function Cs(e,t=2,n=l.fromComponents_noNormalize(1,0,1)){const r=l.minabs(t,1e308).toNumber();return l.iteratedexp(e,r,new l(n))}function ks(e,t,n,r){return w(t)?t.invert(l.iteratedlog(e,Math.E,l.minabs(1e308,K(n)).toNumber())):(console.error("Could not invert due to no input being a variable"),0)}function Ss(e,t=10,n=2){const r=l.minabs(n,1e308).toNumber();return l.iteratedlog(e,t,r)}function Is(e,t=10){const n=l.minabs(t,1e308).toNumber();return l.slog(e,n)}function Ms(e,t,n){return w(t)?t.invert(l.tetrate(e,l.minabs(1e308,K(n)).toNumber())):(console.error("Could not invert due to no input being a variable"),0)}function $s(e,t,n){const r=l.minabs(t,1e308).toNumber();return l.layeradd(e,r,n)}function xs(e,t,n,r){return w(t)?t.invert(l.layeradd(e,l.minabs(1e308,K(n)).negate().toNumber())):(console.error("Could not invert due to no input being a variable"),0)}function Fs(e,t){return w(t)?t.invert(l.pow(Math.E,e).times(e)):(console.error("Could not invert due to no input being a variable"),0)}function Ts(e,t){return w(t)?t.invert(l.tetrate(e,2)):(console.error("Could not invert due to no input being a variable"),0)}function Ps(e,t,n){const r=l.minabs(t,1e308).toNumber();return l.pentate(e,r,n)}function Es(e,t){return w(t)?t.invert(l.asin(e)):(console.error("Could not invert due to no input being a variable"),0)}function Os(e,t){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const n=t.getIntegralFormula(e);return a.cos(n).neg()}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function Vs(e,t){return w(t)?t.invert(l.acos(e)):(console.error("Could not invert due to no input being a variable"),0)}function Ds(e,t){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const n=t.getIntegralFormula(e);return a.sin(n)}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function Ls(e,t){return w(t)?t.invert(l.atan(e)):(console.error("Could not invert due to no input being a variable"),0)}function Rs(e,t){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const n=t.getIntegralFormula(e);return a.cos(n).ln().neg()}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function qs(e,t){return w(t)?t.invert(l.sin(e)):(console.error("Could not invert due to no input being a variable"),0)}function As(e,t){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const n=t.getIntegralFormula(e);return a.asin(n).times(n).add(a.sqrt(a.sub(1,a.pow(n,2))))}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function Bs(e,t){return w(t)?t.invert(l.cos(e)):(console.error("Could not invert due to no input being a variable"),0)}function Us(e,t){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const n=t.getIntegralFormula(e);return a.acos(n).times(n).sub(a.sqrt(a.sub(1,a.pow(n,2))))}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function zs(e,t){return w(t)?t.invert(l.tan(e)):(console.error("Could not invert due to no input being a variable"),0)}function Gs(e,t){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const n=t.getIntegralFormula(e);return a.atan(n).times(n).sub(a.ln(a.pow(n,2).add(1)).div(2))}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function js(e,t){return w(t)?t.invert(l.asinh(e)):(console.error("Could not invert due to no input being a variable"),0)}function Hs(e,t){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const n=t.getIntegralFormula(e);return a.cosh(n)}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function Ws(e,t){return w(t)?t.invert(l.acosh(e)):(console.error("Could not invert due to no input being a variable"),0)}function Js(e,t){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const n=t.getIntegralFormula(e);return a.sinh(n)}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function Zs(e,t){return w(t)?t.invert(l.atanh(e)):(console.error("Could not invert due to no input being a variable"),0)}function Ks(e,t){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const n=t.getIntegralFormula(e);return a.cosh(n).ln()}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function Ys(e,t){return w(t)?t.invert(l.sinh(e)):(console.error("Could not invert due to no input being a variable"),0)}function Xs(e,t){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const n=t.getIntegralFormula(e);return a.asinh(n).times(n).sub(a.pow(n,2).add(1).sqrt())}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function Qs(e,t){return w(t)?t.invert(l.cosh(e)):(console.error("Could not invert due to no input being a variable"),0)}function ea(e,t){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const n=t.getIntegralFormula(e);return a.acosh(n).times(n).sub(a.add(n,1).sqrt().times(a.sub(n,1).sqrt()))}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function ta(e,t){return w(t)?t.invert(l.tanh(e)):(console.error("Could not invert due to no input being a variable"),0)}function na(e,t){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const n=t.getIntegralFormula(e);return a.atanh(n).times(n).add(a.sub(1,a.pow(n,2)).ln().div(2))}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function et(e){return(t,n)=>new a({inputs:[t,n],evaluate:e,invert:pt})}function w(e){return e instanceof H&&e.hasVariable()}function K(e,t){return e instanceof H?e.evaluate(t):c(e)}function ra(){return a.pow(this,2).div(2)}function ia(){return this}const X=class{constructor(e){this.negate=this.neg,this.negated=this.neg,this.sgn=this.sign,this.plus=this.add,this.subtract=this.sub,this.minus=this.sub,this.multiply=this.mul,this.times=this.mul,this.divide=this.div,this.divideBy=this.div,this.dividedBy=this.div,this.reciprocal=this.recip,this.reciprocate=this.recip,this.logarithm=this.log;let t;"inputs"in e&&(e.inputs=e.inputs.map(n=>typeof n=="object"&&Fe in n?n[Fe]:n)),"variable"in e?(typeof e.variable=="object"&&Fe in e.variable&&(e.variable=e.variable[Fe]),t=this.setupVariable(e)):"evaluate"in e?t=this.setupFormula(e):t=this.setupConstant(e),this.inputs=t.inputs,this.internalVariables=t.internalVariables,this.innermostVariable=t.innermostVariable,this.internalEvaluate=t.internalEvaluate,this.internalInvert=t.internalInvert,this.internalIntegrate=t.internalIntegrate,this.internalIntegrateInner=t.internalIntegrateInner,this.applySubstitution=t.applySubstitution}setupVariable({variable:e}){return{inputs:[e],internalVariables:1,innermostVariable:e,internalIntegrate:ra,internalIntegrateInner:ia,applySubstitution:pt}}setupConstant({inputs:e}){return e.length!==1&&console.error("Evaluate function is required if inputs is not length 1"),{inputs:e,internalVariables:0}}setupFormula(e){var N,k;const{inputs:t,evaluate:n,invert:r,integrate:i,integrateInner:s,applySubstitution:o}=e,u=t.reduce((I,C)=>I+(C instanceof X?C.internalVariables:0),0),d=t.find(I=>I instanceof X&&I.hasVariable()),g=u===1?d==null?void 0:d.innermostVariable:void 0,b=(N=d==null?void 0:d.isInvertible())!=null?N:!1,v=(k=d==null?void 0:d.isIntegrable())!=null?k:!1;return{inputs:t,internalEvaluate:n,internalInvert:b?r:void 0,internalIntegrate:v?i:void 0,internalIntegrateInner:s,applySubstitution:o,innermostVariable:g,internalVariables:u}}isInvertible(){return this.hasVariable()&&(this.internalInvert!=null||this.internalEvaluate==null)}isIntegrable(){return this.hasVariable()&&this.internalIntegrate!=null}isIntegralInvertible(){return this.isIntegrable()?this.getIntegralFormula().isInvertible():!1}hasVariable(){return this.internalVariables===1}evaluate(e){var t,n,r;return(r=(n=(t=this.internalEvaluate)==null?void 0:t.call(this,...this.inputs.map(i=>K(i,e))))!=null?n:this.hasVariable()?e:null)!=null?r:K(this.inputs[0])}equals(e){return this.inputs.length===e.inputs.length&&this.inputs.every((t,n)=>t instanceof X&&e.inputs[n]instanceof X?t.equals(e.inputs[n]):!(t instanceof X)&&!(e.inputs[n]instanceof X)&&l.eq(c(t),c(e.inputs[n])))&&this.internalEvaluate===e.internalEvaluate&&this.internalInvert===e.internalInvert&&this.internalIntegrate===e.internalIntegrate&&this.internalVariables===e.internalVariables}static constant(e){return new a({inputs:[e]})}static variable(e){return new a({variable:e})}static step(e,t,n){const r=n(a.variable(0)),i=Et(t);function s(u){return l.lt(u,c(i))?u:l.add(r.evaluate(l.sub(u,c(i))),c(i))}function o(u,d){return w(d)&&r.isInvertible()?(l.gt(u,c(i))&&(u=l.add(r.invert(l.sub(u,c(i))),c(i))),d.invert(u)):(console.error("Could not invert due to no input being a variable"),0)}return new a({inputs:[e],evaluate:s,invert:r.isInvertible()&&r.hasVariable()?o:void 0})}static if(e,t,n,r){const i=F(0),s=a.variable(i),o=n(s),u=r==null?void 0:r(s),d=Et(t);function g(v){return c(d)?(i.value=v,o.evaluate()):u?(i.value=v,u.evaluate()):v}function b(v,N){return!w(N)||!o.isInvertible()||u!=null&&!u.isInvertible()?(console.error("Could not invert due to no input being a variable"),0):c(d)?N.invert(o.invert(v)):u?N.invert(u.invert(v)):N.invert(v)}return new a({inputs:[e],evaluate:g,invert:o.isInvertible()&&o.hasVariable()?b:void 0})}static conditional(e,t,n,r){return a.if(e,t,n,r)}static abs(e){return new a({inputs:[e],evaluate:l.abs})}static neg(e){return new a({inputs:[e],evaluate:l.neg,invert:Pi,applySubstitution:Oi,integrate:Ei})}static sign(e){return new a({inputs:[e],evaluate:l.sign})}static round(e){return new a({inputs:[e],evaluate:l.round,invert:tt})}static floor(e){return new a({inputs:[e],evaluate:l.floor,invert:tt})}static ceil(e){return new a({inputs:[e],evaluate:l.ceil,invert:tt})}static trunc(e){return new a({inputs:[e],evaluate:l.trunc,invert:tt})}static add(e,t){return new a({inputs:[e,t],evaluate:l.add,invert:Vi,integrate:Di,integrateInner:Li,applySubstitution:pt})}static sub(e,t){return new a({inputs:[e,t],evaluate:l.sub,invert:Ri,integrate:qi,integrateInner:Ai,applySubstitution:pt})}static mul(e,t){return new a({inputs:[e,t],evaluate:l.mul,invert:Bi,integrate:Ui,applySubstitution:zi})}static div(e,t){return new a({inputs:[e,t],evaluate:l.div,invert:Gi,integrate:ji,applySubstitution:Hi})}static recip(e){return new a({inputs:[e],evaluate:l.recip,invert:Wi,integrate:Ji})}static clamp(e,t,n){return new a({inputs:[e,t,n],evaluate:l.clamp,invert:tt})}static pLog10(e){return new a({inputs:[e],evaluate:l.pLog10})}static absLog10(e){return new a({inputs:[e],evaluate:l.absLog10})}static log10(e){return new a({inputs:[e],evaluate:l.log10,invert:Zi,integrate:Xi})}static log(e,t){return new a({inputs:[e,t],evaluate:l.log,invert:Qi,integrate:ns})}static log2(e){return new a({inputs:[e],evaluate:l.log2,invert:rs,integrate:as})}static ln(e){return new a({inputs:[e],evaluate:l.ln,invert:os,integrate:cs})}static pow(e,t){return new a({inputs:[e,t],evaluate:l.pow,invert:ds,integrate:fs})}static pow10(e){return new a({inputs:[e],evaluate:l.pow10,invert:gs,integrate:ms})}static pow_base(e,t){return new a({inputs:[e,t],evaluate:l.pow_base,invert:hs,integrate:ps})}static root(e,t){return new a({inputs:[e,t],evaluate:l.root,invert:vs,integrate:bs})}static factorial(e){return new a({inputs:[e],evaluate:l.factorial})}static gamma(e){return new a({inputs:[e],evaluate:l.gamma})}static lngamma(e){return new a({inputs:[e],evaluate:l.lngamma})}static exp(e){return new a({inputs:[e],evaluate:l.exp,invert:ys,integrate:_s})}static sqr(e){return a.pow(e,2)}static sqrt(e){return a.root(e,2)}static cube(e){return a.pow(e,3)}static cbrt(e){return a.root(e,3)}static tetrate(e,t=2,n=l.fromComponents_noNormalize(1,0,1)){return new a({inputs:[e,t,n],evaluate:Ns,invert:ws})}static iteratedexp(e,t=2,n=l.fromComponents_noNormalize(1,0,1)){return new a({inputs:[e,t,n],evaluate:Cs,invert:ks})}static iteratedlog(e,t=10,n=1){return new a({inputs:[e,t,n],evaluate:Ss})}static slog(e,t=10){return new a({inputs:[e,t],evaluate:Is,invert:Ms})}static layeradd10(e,t){return new a({inputs:[e,t],evaluate:l.layeradd10})}static layeradd(e,t,n=10){return new a({inputs:[e,t,n],evaluate:$s,invert:xs})}static lambertw(e){return new a({inputs:[e],evaluate:l.lambertw,invert:Fs})}static ssqrt(e){return new a({inputs:[e],evaluate:l.ssqrt,invert:Ts})}static pentate(e,t=2,n=l.fromComponents_noNormalize(1,0,1)){return new a({inputs:[e,t,n],evaluate:Ps})}static sin(e){return new a({inputs:[e],evaluate:l.sin,invert:qs,integrate:Os})}static cos(e){return new a({inputs:[e],evaluate:l.cos,invert:Bs,integrate:Ds})}static tan(e){return new a({inputs:[e],evaluate:l.tan,invert:zs,integrate:Rs})}static asin(e){return new a({inputs:[e],evaluate:l.asin,invert:Es,integrate:As})}static acos(e){return new a({inputs:[e],evaluate:l.acos,invert:Vs,integrate:Us})}static atan(e){return new a({inputs:[e],evaluate:l.atan,invert:Ls,integrate:Gs})}static sinh(e){return new a({inputs:[e],evaluate:l.sinh,invert:Ys,integrate:Hs})}static cosh(e){return new a({inputs:[e],evaluate:l.cosh,invert:Qs,integrate:Js})}static tanh(e){return new a({inputs:[e],evaluate:l.tanh,invert:ta,integrate:Ks})}static asinh(e){return new a({inputs:[e],evaluate:l.asinh,invert:js,integrate:Xs})}static acosh(e){return new a({inputs:[e],evaluate:l.acosh,invert:Ws,integrate:ea})}static atanh(e){return new a({inputs:[e],evaluate:l.atanh,invert:Zs,integrate:na})}step(e,t){return a.step(this,e,t)}if(e,t){return a.if(this,e,t)}conditional(e,t){return a.if(this,e,t)}abs(){return a.abs(this)}neg(){return a.neg(this)}sign(){return a.sign(this)}round(){return a.round(this)}floor(){return a.floor(this)}ceil(){return a.ceil(this)}trunc(){return a.trunc(this)}add(e){return a.add(this,e)}sub(e){return a.sub(this,e)}mul(e){return a.mul(this,e)}div(e){return a.div(this,e)}recip(){return a.recip(this)}max(e){return a.max(this,e)}min(e){return a.min(this,e)}maxabs(e){return a.maxabs(this,e)}minabs(e){return a.minabs(this,e)}clamp(e,t){return a.clamp(this,e,t)}clampMin(e){return a.clampMin(this,e)}clampMax(e){return a.clampMax(this,e)}pLog10(){return a.pLog10(this)}absLog10(){return a.absLog10(this)}log10(){return a.log10(this)}log(e){return a.log(this,e)}log2(){return a.log2(this)}ln(){return a.ln(this)}pow(e){return a.pow(this,e)}pow10(){return a.pow10(this)}pow_base(e){return a.pow_base(this,e)}root(e){return a.root(this,e)}factorial(){return a.factorial(this)}gamma(){return a.gamma(this)}lngamma(){return a.lngamma(this)}exp(){return a.exp(this)}sqr(){return a.pow(this,2)}sqrt(){return a.root(this,2)}cube(){return a.pow(this,3)}cbrt(){return a.root(this,3)}tetrate(e=2,t=l.fromComponents_noNormalize(1,0,1)){return a.tetrate(this,e,t)}iteratedexp(e=2,t=l.fromComponents_noNormalize(1,0,1)){return a.iteratedexp(this,e,t)}iteratedlog(e=10,t=1){return a.iteratedlog(this,e,t)}slog(e=10){return a.slog(this,e)}layeradd10(e){return a.layeradd10(this,e)}layeradd(e,t){return a.layeradd(this,e,t)}lambertw(){return a.lambertw(this)}ssqrt(){return a.ssqrt(this)}pentate(e=2,t=l.fromComponents_noNormalize(1,0,1)){return a.pentate(this,e,t)}sin(){return a.sin(this)}cos(){return a.cos(this)}tan(){return a.tan(this)}asin(){return a.asin(this)}acos(){return a.acos(this)}atan(){return a.atan(this)}sinh(){return a.sinh(this)}cosh(){return a.cosh(this)}tanh(){return a.tanh(this)}asinh(){return a.asinh(this)}acosh(){return a.acosh(this)}atanh(){return a.atanh(this)}};let H=X;H.negate=X.neg;H.negated=X.neg;H.sgn=X.sign;H.plus=X.add;H.subtract=X.sub;H.minus=X.sub;H.multiply=X.mul;H.times=X.mul;H.divide=X.div;H.divideBy=X.div;H.dividedBy=X.div;H.reciprocal=X.recip;H.reciprocate=X.recip;H.max=et(l.max);H.min=et(l.min);H.minabs=et(l.minabs);H.maxabs=et(l.maxabs);H.clampMin=et(l.clampMin);H.clampMax=et(l.clampMax);H.logarithm=X.log;class a extends H{invert(t){return this.internalInvert&&this.hasVariable()?this.internalInvert.call(this,t,...this.inputs):this.inputs.length===1&&this.hasVariable()?t:(console.error("Cannot invert non-invertible formula"),0)}evaluateIntegral(t){return this.isIntegrable()?this.getIntegralFormula().evaluate(t):(console.error("Cannot evaluate integral of formula without integral"),0)}invertIntegral(t){return!this.isIntegrable()||!this.getIntegralFormula().isInvertible()?(console.error("Cannot invert integral of formula without invertible integral"),0):this.getIntegralFormula().invert(t)}calculateConstantOfIntegration(){const t=this.getIntegralFormula().evaluate(1),n=l.add(this.evaluate(0),this.evaluate(1)).div(2);return l.sub(n,t)}getIntegralFormula(t){if(this.integralFormula!=null&&t==null)return this.integralFormula;if(t==null){if(this.applySubstitution==null){if(t=[],this.internalIntegrate==null)return console.error("Cannot integrate formula with non-integrable operation"),a.constant(0);let n=this.internalIntegrate.call(this,t,...this.inputs);t.forEach(r=>n=r(n)),this.integralFormula=n}else if(this.internalIntegrate)this.integralFormula=this.internalIntegrate.call(this,void 0,...this.inputs);else if(this.inputs.length===1&&this.internalEvaluate==null&&this.hasVariable())this.integralFormula=this;else return console.error("Cannot integrate formula without variable"),a.constant(0);return this.integralFormula}else return this.applySubstitution==null?(console.error("Cannot have two complex operations in an integrable formula"),a.constant(0)):(t.push(n=>this.applySubstitution.call(this,n,...this.inputs)),this.internalIntegrateInner?this.internalIntegrateInner.call(this,t,...this.inputs):this.internalIntegrate?this.internalIntegrate.call(this,t,...this.inputs):this.inputs.length===1&&this.internalEvaluate==null&&this.hasVariable()?this:(console.error("Cannot integrate formula without variable"),a.constant(0)))}}const Ze=Symbol("PersistentState"),Ge=Symbol("DefaultValue"),yt=Symbol("StackTrace"),Ot=Symbol("Deleted"),Fe=Symbol("NonPersistent"),Ae=Symbol("SaveDataPath"),Vt=Symbol("SkipPersistence");function sa(){var e,t;return(t=(e=new Error().stack)==null?void 0:e.split(` +`)));function s(){let o=Lt(x);switch(A.exportEncoding){default:console.warn(`Unknown save encoding: ${A.exportEncoding}. Defaulting to lz`);case"lz":o=Ce.compressToUTF16(o);break;case"base64":o=btoa(unescape(encodeURIComponent(o)));break;case"plain":break}console.log(o);const c=document.createElement("textarea");c.value=o,document.body.appendChild(c),c.select(),c.setSelectionRange(0,99999),document.execCommand("copy"),document.body.removeChild(c)}return lt(()=>{x.autosave=!1,x.devSpeed=0}),(o,c)=>(p(),_("div",Cr,[m("h1",kr,D(u(n).name)+": "+D(u(n).message),1),m("div",Sr,[u(n).cause?(p(),_("div",Ir,[(p(!0),_(j,null,Le(u(i)[0],d=>(p(),_("div",{key:d},D(d),1))),128))])):$("",!0),u(n).stack?(p(),_("div",{key:1,style:ge(u(n).cause?"margin-top: 10px":"")},[(p(!0),_(j,null,Le(u(r)[0],d=>(p(),_("div",{key:d},D(d),1))),128))],4)):$("",!0)]),m("div",Mr,[T(" Check the console for more details, and consider sharing it with the developers on "),m("a",{href:u(A).discordLink||"https://discord.gg/yJ4fjnjU54",class:"discord-link"},"discord",8,$r),T("! "),y(Rt,{onClick:s,class:"button",style:{display:"inline-flex"}},{default:V(()=>[xr,Fr]),_:1}),Tr,e.errors.length>1?(p(),_("div",Pr,Or)):$("",!0),(p(!0),_(j,null,Le(e.errors.slice(1),(d,g)=>(p(),_("div",{key:g,style:{"margin-top":"20px"}},[m("details",Vr,[m("summary",null,D(d.name)+": "+D(d.message),1),d.cause?(p(),_("div",Dr,[(p(!0),_(j,null,Le(u(i)[g+1],b=>(p(),_("div",{key:b},D(b),1))),128))])):$("",!0),d.stack?(p(),_("div",Lr,[(p(!0),_(j,null,Le(u(r)[g+1],b=>(p(),_("div",{key:b},D(b),1))),128))])):$("",!0)])]))),128))])]))}});var dn=z(Rr,[["__scopeId","data-v-ac351c02"]]);class qr{constructor(t){this.map=new Map,this.first=void 0,this.last=void 0,this.maxSize=t}get size(){return this.map.size}get(t){const n=this.map.get(t);if(n!==void 0)return n!==this.first&&(n===this.last?(this.last=n.prev,this.last.next=void 0):(n.prev.next=n.next,n.next.prev=n.prev),n.next=this.first,this.first.prev=n,this.first=n),n.value}set(t,n){if(this.maxSize<1)return;if(this.map.has(t))throw new Error("Cannot update existing keys in the cache");const r=new Ar(t,n);for(this.first===void 0?(this.first=r,this.last=r):(r.next=this.first,this.first.prev=r,this.first=r),this.map.set(t,r);this.map.size>this.maxSize;){const i=this.last;this.map.delete(i.key),this.last=i.prev,this.last.next=void 0}}}class Ar{constructor(t,n){this.next=void 0,this.prev=void 0,this.key=t,this.value=n}}const Ft=17,Br=9e15,Ur=Math.log10(9e15),zr=1/9e15,Gr=308,jr=-324,en=5,Hr=(1<<10)-1,Wr=function(){const e=[];for(let n=jr+1;n<=Gr;n++)e.push(Number("1e"+n));const t=323;return function(n){return e[n+t]}}(),Ve=[2,Math.E,3,4,5,6,7,8,9,10],Jr=[[1,1.0891180521811203,1.1789767925673957,1.2701455431742086,1.3632090180450092,1.4587818160364217,1.5575237916251419,1.6601571006859253,1.767485818836978,1.8804192098842727,2],[1,1.1121114330934079,1.231038924931609,1.3583836963111375,1.4960519303993531,1.6463542337511945,1.8121385357018724,1.996971324618307,2.2053895545527546,2.4432574483385254,Math.E],[1,1.1187738849693603,1.2464963939368214,1.38527004705667,1.5376664685821402,1.7068895236551784,1.897001227148399,2.1132403089001035,2.362480153784171,2.6539010333870774,3],[1,1.1367350847096405,1.2889510672956703,1.4606478703324786,1.6570295196661111,1.8850062585672889,2.1539465047453485,2.476829779693097,2.872061932789197,3.3664204535587183,4],[1,1.1494592900767588,1.319708228183931,1.5166291280087583,1.748171114438024,2.0253263297298045,2.3636668498288547,2.7858359149579424,3.3257226212448145,4.035730287722532,5],[1,1.159225940787673,1.343712473580932,1.5611293155111927,1.8221199554561318,2.14183924486326,2.542468319282638,3.0574682501653316,3.7390572020926873,4.6719550537360774,6],[1,1.1670905356972596,1.3632807444991446,1.5979222279405536,1.8842640123816674,2.2416069644878687,2.69893426559423,3.3012632110403577,4.121250340630164,5.281493033448316,7],[1,1.1736630594087796,1.379783782386201,1.6292821855668218,1.9378971836180754,2.3289975651071977,2.8384347394720835,3.5232708454565906,4.478242031114584,5.868592169644505,8],[1,1.1793017514670474,1.394054150657457,1.65664127441059,1.985170999970283,2.4069682290577457,2.9647310119960752,3.7278665320924946,4.814462547283592,6.436522247411611,9],[1,1.1840100246247336,1.4061375836156955,1.6802272208863964,2.026757028388619,2.4770056063449646,3.080525271755482,3.9191964192627284,5.135152840833187,6.989961179534715,10]],Zr=[[-1,-.9194161097107025,-.8335625019330468,-.7425599821143978,-.6466611521029437,-.5462617907227869,-.4419033816638769,-.3342645487554494,-.224140440909962,-.11241087890006762,0],[-1,-.90603157029014,-.80786507256596,-.7064666939634,-.60294836853664,-.49849837513117,-.39430303318768,-.29147201034755,-.19097820800866,-.09361896280296,0],[-1,-.9021579584316141,-.8005762598234203,-.6964780623319391,-.5911906810998454,-.486050182576545,-.3823089430815083,-.28106046722897615,-.1831906535795894,-.08935809204418144,0],[-1,-.8917227442365535,-.781258746326964,-.6705130326902455,-.5612813129406509,-.4551067709033134,-.35319256652135966,-.2563741554088552,-.1651412821106526,-.0796919581982668,0],[-1,-.8843387974366064,-.7678744063886243,-.6529563724510552,-.5415870994657841,-.4352842206588936,-.33504449124791424,-.24138853420685147,-.15445285440944467,-.07409659641336663,0],[-1,-.8786709358426346,-.7577735191184886,-.6399546189952064,-.527284921869926,-.4211627631006314,-.3223479611761232,-.23107655627789858,-.1472057700818259,-.07035171210706326,0],[-1,-.8740862815291583,-.7497032990976209,-.6297119746181752,-.5161838335958787,-.41036238255751956,-.31277212146489963,-.2233976621705518,-.1418697367979619,-.06762117662323441,0],[-1,-.8702632331800649,-.7430366914122081,-.6213373075161548,-.5072025698095242,-.40171437727184167,-.30517930701410456,-.21736343968190863,-.137710238299109,-.06550774483471955,0],[-1,-.8670016295947213,-.7373984232432306,-.6143173985094293,-.49973884395492807,-.394584953527678,-.2989649949848695,-.21245647317021688,-.13434688362382652,-.0638072667348083,0],[-1,-.8641642839543857,-.732534623168535,-.6083127477059322,-.4934049257184696,-.3885773075899922,-.29376029055315767,-.2083678561173622,-.13155653399373268,-.062401588652553186,0]];let h=function(t){return l.fromValue_noAlloc(t)},O=function(e,t,n){return l.fromComponents(e,t,n)},R=function(t,n,r){return l.fromComponents_noNormalize(t,n,r)};const xe=function(t,n){const r=n+1,i=Math.ceil(Math.log10(Math.abs(t))),s=Math.round(t*Math.pow(10,r-i))*Math.pow(10,i-r);return parseFloat(s.toFixed(Math.max(r-i,0)))},Tt=function(e){return Math.sign(e)*Math.log10(Math.abs(e))},Kr=function(e){if(!isFinite(e))return e;if(e<-50)return e===Math.trunc(e)?Number.NEGATIVE_INFINITY:0;let t=1;for(;e<10;)t=t*e,++e;e-=1;let n=.9189385332046727;n=n+(e+.5)*Math.log(e),n=n-e;const r=e*e;let i=e;return n=n+1/(12*i),i=i*r,n=n+1/(360*i),i=i*r,n=n+1/(1260*i),i=i*r,n=n+1/(1680*i),i=i*r,n=n+1/(1188*i),i=i*r,n=n+691/(360360*i),i=i*r,n=n+7/(1092*i),i=i*r,n=n+3617/(122400*i),Math.exp(n)/t},fn=.5671432904097838,tn=function(e,t=1e-10){let n,r;if(!Number.isFinite(e)||e===0)return e;if(e===1)return fn;e<10?n=0:n=Math.log(e)-Math.log(Math.log(e));for(let i=0;i<100;++i){if(r=(e*Math.exp(-n)+n*n)/(n+1),Math.abs(r-n).5?1:-1;if(Math.random()*20<1)return R(t,0,1);const n=Math.floor(Math.random()*(e+1));let r=n===0?Math.random()*616-308:Math.random()*16;Math.random()>.9&&(r=Math.trunc(r));let i=Math.pow(10,r);return Math.random()>.9&&(i=Math.trunc(i)),O(t,n,i)}static affordGeometricSeries_core(e,t,n,r){const i=t.mul(n.pow(r));return f.floor(e.div(i).mul(n.sub(1)).add(1).log10().div(n.log10()))}static sumGeometricSeries_core(e,t,n,r){return t.mul(n.pow(r)).mul(f.sub(1,n.pow(e))).div(f.sub(1,n))}static affordArithmeticSeries_core(e,t,n,r){const s=t.add(r.mul(n)).sub(n.div(2)),o=s.pow(2);return s.neg().add(o.add(n.mul(e).mul(2)).sqrt()).div(n).floor()}static sumArithmeticSeries_core(e,t,n,r){const i=t.add(r.mul(n));return e.div(2).mul(i.mul(2).plus(e.sub(1).mul(n)))}static efficiencyOfPurchase_core(e,t,n){return e.div(t).add(e.div(n))}normalize(){if(this.sign===0||this.mag===0&&this.layer===0)return this.sign=0,this.mag=0,this.layer=0,this;if(this.layer===0&&this.mag<0&&(this.mag=-this.mag,this.sign=-this.sign),this.layer===0&&this.mag=Br)return this.layer+=1,this.mag=t*Math.log10(e),this;for(;e0;)this.layer-=1,this.layer===0?this.mag=Math.pow(10,this.mag):(this.mag=t*Math.pow(10,e),e=Math.abs(this.mag),t=Math.sign(this.mag));return this.layer===0&&(this.mag<0?(this.mag=-this.mag,this.sign=-this.sign):this.mag===0&&(this.sign=0)),this}fromComponents(e,t,n){return this.sign=e,this.layer=t,this.mag=n,this.normalize(),this}fromComponents_noNormalize(e,t,n){return this.sign=e,this.layer=t,this.mag=n,this}fromMantissaExponent(e,t){return this.layer=1,this.sign=Math.sign(e),e=Math.abs(e),this.mag=t+Math.log10(e),this.normalize(),this}fromMantissaExponent_noNormalize(e,t){return this.fromMantissaExponent(e,t),this}fromDecimal(e){return this.sign=e.sign,this.layer=e.layer,this.mag=e.mag,this}fromNumber(e){return this.mag=Math.abs(e),this.sign=Math.sign(e),this.layer=0,this.normalize(),this}fromString(e){const t=e,n=f.fromStringCache.get(t);if(n!==void 0)return this.fromDecimal(n);e=e.replace(",","");const r=e.split("^^^");if(r.length===2){const I=parseFloat(r[0]),C=parseFloat(r[1]),G=r[1].split(";");let Y=1;if(G.length===2&&(Y=parseFloat(G[1]),isFinite(Y)||(Y=1)),isFinite(I)&&isFinite(C)){const S=f.pentate(I,C,Y);return this.sign=S.sign,this.layer=S.layer,this.mag=S.mag,f.fromStringCache.maxSize>=1&&f.fromStringCache.set(t,f.fromDecimal(this)),this}}const i=e.split("^^");if(i.length===2){const I=parseFloat(i[0]),C=parseFloat(i[1]),G=i[1].split(";");let Y=1;if(G.length===2&&(Y=parseFloat(G[1]),isFinite(Y)||(Y=1)),isFinite(I)&&isFinite(C)){const S=f.tetrate(I,C,Y);return this.sign=S.sign,this.layer=S.layer,this.mag=S.mag,f.fromStringCache.maxSize>=1&&f.fromStringCache.set(t,f.fromDecimal(this)),this}}const s=e.split("^");if(s.length===2){const I=parseFloat(s[0]),C=parseFloat(s[1]);if(isFinite(I)&&isFinite(C)){const G=f.pow(I,C);return this.sign=G.sign,this.layer=G.layer,this.mag=G.mag,f.fromStringCache.maxSize>=1&&f.fromStringCache.set(t,f.fromDecimal(this)),this}}e=e.trim().toLowerCase();let o,c,d=e.split("pt");if(d.length===2){o=10,c=parseFloat(d[0]),d[1]=d[1].replace("(",""),d[1]=d[1].replace(")","");let I=parseFloat(d[1]);if(isFinite(I)||(I=1),isFinite(o)&&isFinite(c)){const C=f.tetrate(o,c,I);return this.sign=C.sign,this.layer=C.layer,this.mag=C.mag,f.fromStringCache.maxSize>=1&&f.fromStringCache.set(t,f.fromDecimal(this)),this}}if(d=e.split("p"),d.length===2){o=10,c=parseFloat(d[0]),d[1]=d[1].replace("(",""),d[1]=d[1].replace(")","");let I=parseFloat(d[1]);if(isFinite(I)||(I=1),isFinite(o)&&isFinite(c)){const C=f.tetrate(o,c,I);return this.sign=C.sign,this.layer=C.layer,this.mag=C.mag,f.fromStringCache.maxSize>=1&&f.fromStringCache.set(t,f.fromDecimal(this)),this}}const g=e.split("e"),b=g.length-1;if(b===0){const I=parseFloat(e);if(isFinite(I))return this.fromNumber(I),f.fromStringCache.size>=1&&f.fromStringCache.set(t,f.fromDecimal(this)),this}else if(b===1){const I=parseFloat(e);if(isFinite(I)&&I!==0)return this.fromNumber(I),f.fromStringCache.maxSize>=1&&f.fromStringCache.set(t,f.fromDecimal(this)),this}const v=e.split("e^");if(v.length===2){this.sign=1,v[0].charAt(0)=="-"&&(this.sign=-1);let I="";for(let C=0;C=43&&G<=57||G===101)I+=v[1].charAt(C);else return this.layer=parseFloat(I),this.mag=parseFloat(v[1].substr(C+1)),this.normalize(),f.fromStringCache.maxSize>=1&&f.fromStringCache.set(t,f.fromDecimal(this)),this}}if(b<1)return this.sign=0,this.layer=0,this.mag=0,f.fromStringCache.maxSize>=1&&f.fromStringCache.set(t,f.fromDecimal(this)),this;const N=parseFloat(g[0]);if(N===0)return this.sign=0,this.layer=0,this.mag=0,f.fromStringCache.maxSize>=1&&f.fromStringCache.set(t,f.fromDecimal(this)),this;let k=parseFloat(g[g.length-1]);if(b>=2){const I=parseFloat(g[g.length-2]);isFinite(I)&&(k*=Math.sign(I),k+=Tt(I))}if(!isFinite(N))this.sign=g[0]==="-"?-1:1,this.layer=b,this.mag=k;else if(b===1)this.sign=Math.sign(N),this.layer=1,this.mag=k+Math.log10(Math.abs(N));else if(this.sign=Math.sign(N),this.layer=b,b===2){const I=f.mul(O(1,2,k),h(N));return this.sign=I.sign,this.layer=I.layer,this.mag=I.mag,f.fromStringCache.maxSize>=1&&f.fromStringCache.set(t,f.fromDecimal(this)),this}else this.mag=k;return this.normalize(),f.fromStringCache.maxSize>=1&&f.fromStringCache.set(t,f.fromDecimal(this)),this}fromValue(e){return e instanceof f?this.fromDecimal(e):typeof e=="number"?this.fromNumber(e):typeof e=="string"?this.fromString(e):(this.sign=0,this.layer=0,this.mag=0,this)}toNumber(){return Number.isFinite(this.layer)?this.layer===0?this.sign*this.mag:this.layer===1?this.sign*Math.pow(10,this.mag):this.mag>0?this.sign>0?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:0:Number.NaN}mantissaWithDecimalPlaces(e){return isNaN(this.m)?Number.NaN:this.m===0?0:xe(this.m,e)}magnitudeWithDecimalPlaces(e){return isNaN(this.mag)?Number.NaN:this.mag===0?0:xe(this.mag,e)}toString(){return isNaN(this.layer)||isNaN(this.sign)||isNaN(this.mag)?"NaN":this.mag===Number.POSITIVE_INFINITY||this.layer===Number.POSITIVE_INFINITY?this.sign===1?"Infinity":"-Infinity":this.layer===0?this.mag<1e21&&this.mag>1e-7||this.mag===0?(this.sign*this.mag).toString():this.m+"e"+this.e:this.layer===1?this.m+"e"+this.e:this.layer<=en?(this.sign===-1?"-":"")+"e".repeat(this.layer)+this.mag:(this.sign===-1?"-":"")+"(e^"+this.layer+")"+this.mag}toExponential(e){return this.layer===0?(this.sign*this.mag).toExponential(e):this.toStringWithDecimalPlaces(e)}toFixed(e){return this.layer===0?(this.sign*this.mag).toFixed(e):this.toStringWithDecimalPlaces(e)}toPrecision(e){return this.e<=-7?this.toExponential(e-1):e>this.e?this.toFixed(e-this.exponent-1):this.toExponential(e-1)}valueOf(){return this.toString()}toJSON(){return this.toString()}toStringWithDecimalPlaces(e){return this.layer===0?this.mag<1e21&&this.mag>1e-7||this.mag===0?(this.sign*this.mag).toFixed(e):xe(this.m,e)+"e"+xe(this.e,e):this.layer===1?xe(this.m,e)+"e"+xe(this.e,e):this.layer<=en?(this.sign===-1?"-":"")+"e".repeat(this.layer)+xe(this.mag,e):(this.sign===-1?"-":"")+"(e^"+this.layer+")"+xe(this.mag,e)}abs(){return R(this.sign===0?0:1,this.layer,this.mag)}neg(){return R(-this.sign,this.layer,this.mag)}negate(){return this.neg()}negated(){return this.neg()}sgn(){return this.sign}round(){return this.mag<0?f.dZero:this.layer===0?O(this.sign,0,Math.round(this.mag)):this}floor(){return this.mag<0?f.dZero:this.layer===0?O(this.sign,0,Math.floor(this.mag)):this}ceil(){return this.mag<0?f.dZero:this.layer===0?O(this.sign,0,Math.ceil(this.mag)):this}trunc(){return this.mag<0?f.dZero:this.layer===0?O(this.sign,0,Math.trunc(this.mag)):this}add(e){const t=h(e);if(!Number.isFinite(this.layer))return this;if(!Number.isFinite(t.layer)||this.sign===0)return t;if(t.sign===0)return this;if(this.sign===-t.sign&&this.layer===t.layer&&this.mag===t.mag)return R(0,0,0);let n,r;if(this.layer>=2||t.layer>=2)return this.maxabs(t);if(f.cmpabs(this,t)>0?(n=this,r=t):(n=t,r=this),n.layer===0&&r.layer===0)return f.fromNumber(n.sign*n.mag+r.sign*r.mag);const i=n.layer*Math.sign(n.mag),s=r.layer*Math.sign(r.mag);if(i-s>=2)return n;if(i===0&&s===-1){if(Math.abs(r.mag-Math.log10(n.mag))>Ft)return n;{const o=Math.pow(10,Math.log10(n.mag)-r.mag),c=r.sign+n.sign*o;return O(Math.sign(c),1,r.mag+Math.log10(Math.abs(c)))}}if(i===1&&s===0){if(Math.abs(n.mag-Math.log10(r.mag))>Ft)return n;{const o=Math.pow(10,n.mag-Math.log10(r.mag)),c=r.sign+n.sign*o;return O(Math.sign(c),1,Math.log10(r.mag)+Math.log10(Math.abs(c)))}}if(Math.abs(n.mag-r.mag)>Ft)return n;{const o=Math.pow(10,n.mag-r.mag),c=r.sign+n.sign*o;return O(Math.sign(c),1,r.mag+Math.log10(Math.abs(c)))}}plus(e){return this.add(e)}sub(e){return this.add(h(e).neg())}subtract(e){return this.sub(e)}minus(e){return this.sub(e)}mul(e){const t=h(e);if(!Number.isFinite(this.layer))return this;if(!Number.isFinite(t.layer))return t;if(this.sign===0||t.sign===0)return R(0,0,0);if(this.layer===t.layer&&this.mag===-t.mag)return R(this.sign*t.sign,0,1);let n,r;if(this.layer>t.layer||this.layer==t.layer&&Math.abs(this.mag)>Math.abs(t.mag)?(n=this,r=t):(n=t,r=this),n.layer===0&&r.layer===0)return f.fromNumber(n.sign*r.sign*n.mag*r.mag);if(n.layer>=3||n.layer-r.layer>=2)return O(n.sign*r.sign,n.layer,n.mag);if(n.layer===1&&r.layer===0)return O(n.sign*r.sign,1,n.mag+Math.log10(r.mag));if(n.layer===1&&r.layer===1)return O(n.sign*r.sign,1,n.mag+r.mag);if(n.layer===2&&r.layer===1){const i=O(Math.sign(n.mag),n.layer-1,Math.abs(n.mag)).add(O(Math.sign(r.mag),r.layer-1,Math.abs(r.mag)));return O(n.sign*r.sign,i.layer+1,i.sign*i.mag)}if(n.layer===2&&r.layer===2){const i=O(Math.sign(n.mag),n.layer-1,Math.abs(n.mag)).add(O(Math.sign(r.mag),r.layer-1,Math.abs(r.mag)));return O(n.sign*r.sign,i.layer+1,i.sign*i.mag)}throw Error("Bad arguments to mul: "+this+", "+e)}multiply(e){return this.mul(e)}times(e){return this.mul(e)}div(e){const t=h(e);return this.mul(t.recip())}divide(e){return this.div(e)}divideBy(e){return this.div(e)}dividedBy(e){return this.div(e)}recip(){return this.mag===0?f.dNaN:this.layer===0?O(this.sign,0,1/this.mag):O(this.sign,this.layer,-this.mag)}reciprocal(){return this.recip()}reciprocate(){return this.recip()}cmp(e){const t=h(e);return this.sign>t.sign?1:this.sign0?this.layer:-this.layer,r=t.mag>0?t.layer:-t.layer;return n>r?1:nt.mag?1:this.mag0?t:this}clamp(e,t){return this.max(e).min(t)}clampMin(e){return this.max(e)}clampMax(e){return this.min(e)}cmp_tolerance(e,t){const n=h(e);return this.eq_tolerance(n,t)?0:this.cmp(n)}compare_tolerance(e,t){return this.cmp_tolerance(e,t)}eq_tolerance(e,t){const n=h(e);if(t==null&&(t=1e-7),this.sign!==n.sign||Math.abs(this.layer-n.layer)>1)return!1;let r=this.mag,i=n.mag;return this.layer>n.layer&&(i=Tt(i)),this.layer0?O(Math.sign(this.mag),this.layer-1,Math.abs(this.mag)):O(1,0,Math.log10(this.mag))}log10(){return this.sign<=0?f.dNaN:this.layer>0?O(Math.sign(this.mag),this.layer-1,Math.abs(this.mag)):O(this.sign,0,Math.log10(this.mag))}log(e){return e=h(e),this.sign<=0||e.sign<=0||e.sign===1&&e.layer===0&&e.mag===1?f.dNaN:this.layer===0&&e.layer===0?O(this.sign,0,Math.log(this.mag)/Math.log(e.mag)):f.div(this.log10(),e.log10())}log2(){return this.sign<=0?f.dNaN:this.layer===0?O(this.sign,0,Math.log2(this.mag)):this.layer===1?O(Math.sign(this.mag),0,Math.abs(this.mag)*3.321928094887362):this.layer===2?O(Math.sign(this.mag),1,Math.abs(this.mag)+.5213902276543247):O(Math.sign(this.mag),this.layer-1,Math.abs(this.mag))}ln(){return this.sign<=0?f.dNaN:this.layer===0?O(this.sign,0,Math.log(this.mag)):this.layer===1?O(Math.sign(this.mag),0,Math.abs(this.mag)*2.302585092994046):this.layer===2?O(Math.sign(this.mag),1,Math.abs(this.mag)+.36221568869946325):O(Math.sign(this.mag),this.layer-1,Math.abs(this.mag))}logarithm(e){return this.log(e)}pow(e){const t=h(e),n=this,r=t;if(n.sign===0)return r.eq(0)?R(1,0,1):n;if(n.sign===1&&n.layer===0&&n.mag===1)return n;if(r.sign===0)return R(1,0,1);if(r.sign===1&&r.layer===0&&r.mag===1)return n;const i=n.absLog10().mul(r).pow10();return this.sign===-1?Math.abs(r.toNumber()%2)%2===1?i.neg():Math.abs(r.toNumber()%2)%2===0?i:f.dNaN:i}pow10(){if(!Number.isFinite(this.layer)||!Number.isFinite(this.mag))return f.dNaN;let e=this;if(e.layer===0){const t=Math.pow(10,e.sign*e.mag);if(Number.isFinite(t)&&Math.abs(t)>=.1)return O(1,0,t);if(e.sign===0)return f.dOne;e=R(e.sign,e.layer+1,Math.log10(e.mag))}return e.sign>0&&e.mag>=0?O(e.sign,e.layer+1,e.mag):e.sign<0&&e.mag>=0?O(-e.sign,e.layer+1,-e.mag):f.dOne}pow_base(e){return h(e).pow(this)}root(e){const t=h(e);return this.pow(t.recip())}factorial(){return this.mag<0?this.add(1).gamma():this.layer===0?this.add(1).gamma():this.layer===1?f.exp(f.mul(this,f.ln(this).sub(1))):f.exp(this)}gamma(){if(this.mag<0)return this.recip();if(this.layer===0){if(this.lt(R(1,0,24)))return f.fromNumber(Kr(this.sign*this.mag));const e=this.mag-1;let t=.9189385332046727;t=t+(e+.5)*Math.log(e),t=t-e;const n=e*e;let r=e,i=12*r,s=1/i,o=t+s;if(o===t||(t=o,r=r*n,i=360*r,s=1/i,o=t-s,o===t))return f.exp(t);t=o,r=r*n,i=1260*r;let c=1/i;return t=t+c,r=r*n,i=1680*r,c=1/i,t=t-c,f.exp(t)}else return this.layer===1?f.exp(f.mul(this,f.ln(this).sub(1))):f.exp(this)}lngamma(){return this.gamma().ln()}exp(){return this.mag<0?f.dOne:this.layer===0&&this.mag<=709.7?f.fromNumber(Math.exp(this.sign*this.mag)):this.layer===0?O(1,1,this.sign*Math.log10(Math.E)*this.mag):this.layer===1?O(1,2,this.sign*(Math.log10(.4342944819032518)+this.mag)):O(1,this.layer+1,this.sign*this.mag)}sqr(){return this.pow(2)}sqrt(){if(this.layer===0)return f.fromNumber(Math.sqrt(this.sign*this.mag));if(this.layer===1)return O(1,2,Math.log10(this.mag)-.3010299956639812);{const e=f.div(R(this.sign,this.layer-1,this.mag),R(1,0,2));return e.layer+=1,e.normalize(),e}}cube(){return this.pow(3)}cbrt(){return this.pow(1/3)}tetrate(e=2,t=R(1,0,1)){if(e===1)return f.pow(this,t);if(e===0)return new f(t);if(this.eq(f.dOne))return f.dOne;if(this.eq(-1))return f.pow(this,t);if(e===Number.POSITIVE_INFINITY){const i=this.toNumber();if(i<=1.444667861009766&&i>=.06598803584531254){if(i>1.444667861009099)return f.fromNumber(Math.E);const s=f.ln(this).neg();return s.lambertw().div(s)}else return i>1.444667861009766?f.fromNumber(Number.POSITIVE_INFINITY):f.dNaN}if(this.eq(f.dZero)){let i=Math.abs((e+1)%2);return i>1&&(i=2-i),f.fromNumber(i)}if(e<0)return f.iteratedlog(t,this,-e);t=h(t);const n=e;e=Math.trunc(e);const r=n-e;if(this.gt(f.dZero)&&this.lte(1.444667861009766)){e=Math.min(1e4,e);for(let i=0;i3)return R(t.sign,t.layer+(e-i-1),t.mag);if(i>1e4)return t}return t}iteratedexp(e=2,t=R(1,0,1)){return this.tetrate(e,t)}iteratedlog(e=10,t=1){if(t<0)return f.tetrate(e,-t,this);e=h(e);let n=f.fromDecimal(this);const r=t;t=Math.trunc(t);const i=r-t;if(n.layer-e.layer>3){const s=Math.min(t,n.layer-e.layer-3);t-=s,n.layer-=s}for(let s=0;s1e4)return n}return i>0&&i<1&&(e.eq(10)?n=n.layeradd10(-i):n=n.layeradd(-i,e)),n}slog(e=10,t=100){let n=.001,r=!1,i=!1,s=this.slog_internal(e).toNumber();for(let o=1;o1&&i!=d&&(r=!0),i=d,r?n/=2:n*=2,n=Math.abs(n)*(d?-1:1),s+=n,n===0)break}return f.fromNumber(s)}slog_internal(e=10){if(e=h(e),e.lte(f.dZero)||e.eq(f.dOne))return f.dNaN;if(e.lt(f.dOne))return this.eq(f.dOne)?f.dZero:this.eq(f.dZero)?f.dNegOne:f.dNaN;if(this.mag<0||this.eq(f.dZero))return f.dNegOne;let t=0,n=f.fromDecimal(this);if(n.layer-e.layer>3){const r=n.layer-e.layer-3;t+=r,n.layer-=r}for(let r=0;r<100;++r)if(n.lt(f.dZero))n=f.pow(e,n),t-=1;else{if(n.lte(f.dOne))return f.fromNumber(t+f.slog_critical(e.toNumber(),n.toNumber()));t+=1,n=f.log(n,e)}return f.fromNumber(t)}static slog_critical(e,t){return e>10?t-1:f.critical_section(e,t,Zr)}static tetrate_critical(e,t){return f.critical_section(e,t,Jr)}static critical_section(e,t,n){t*=10,t<0&&(t=0),t>10&&(t=10),e<2&&(e=2),e>10&&(e=10);let r=0,i=0;for(let o=0;oe){const c=(e-Ve[o])/(Ve[o+1]-Ve[o]);r=n[o][Math.floor(t)]*(1-c)+n[o+1][Math.floor(t)]*c,i=n[o][Math.ceil(t)]*(1-c)+n[o+1][Math.ceil(t)]*c;break}const s=t-Math.floor(t);return r<=0||i<=0?r*(1-s)+i*s:Math.pow(e,Math.log(r)/Math.log(e)*(1-s)+Math.log(i)/Math.log(e)*s)}layeradd10(e){e=f.fromValue_noAlloc(e).toNumber();const t=f.fromDecimal(this);if(e>=1){t.mag<0&&t.layer>0?(t.sign=0,t.mag=0,t.layer=0):t.sign===-1&&t.layer==0&&(t.sign=1,t.mag=-t.mag);const n=Math.trunc(e);e-=n,t.layer+=n}if(e<=-1){const n=Math.trunc(e);if(e-=n,t.layer+=n,t.layer<0)for(let r=0;r<100;++r){if(t.layer++,t.mag=Math.log10(t.mag),!isFinite(t.mag))return t.sign===0&&(t.sign=1),t.layer<0&&(t.layer=0),t.normalize();if(t.layer>=0)break}}for(;t.layer<0;)t.layer++,t.mag=Math.log10(t.mag);return t.sign===0&&(t.sign=1,t.mag===0&&t.layer>=1&&(t.layer-=1,t.mag=1)),t.normalize(),e!==0?t.layeradd(e,10):t}layeradd(e,t){const r=this.slog(t).toNumber()+e;return r>=0?f.tetrate(t,r):Number.isFinite(r)?r>=-1?f.log(f.tetrate(t,r+1),t):f.log(f.log(f.tetrate(t,r+2),t),t):f.dNaN}lambertw(){if(this.lt(-.3678794411710499))throw Error("lambertw is unimplemented for results less than -1, sorry!");if(this.mag<0)return f.fromNumber(tn(this.toNumber()));if(this.layer===0)return f.fromNumber(tn(this.sign*this.mag));if(this.layer===1)return nn(this);if(this.layer===2)return nn(this);if(this.layer>=3)return R(this.sign,this.layer-1,this.mag);throw new Error("Unhandled behavior in lambertw()")}ssqrt(){if(this.sign==1&&this.layer>=3)return R(this.sign,this.layer-1,this.mag);const e=this.ln();return e.div(e.lambertw())}pentate(e=2,t=R(1,0,1)){t=h(t);const n=e;e=Math.trunc(e);const r=n-e;r!==0&&(t.eq(f.dOne)?(++e,t=f.fromNumber(r)):this.eq(10)?t=t.layeradd10(r):t=t.layeradd(r,this));for(let i=0;i10)return t}return t}sin(){return this.mag<0?this:this.layer===0?f.fromNumber(Math.sin(this.sign*this.mag)):R(0,0,0)}cos(){return this.mag<0?f.dOne:this.layer===0?f.fromNumber(Math.cos(this.sign*this.mag)):R(0,0,0)}tan(){return this.mag<0?this:this.layer===0?f.fromNumber(Math.tan(this.sign*this.mag)):R(0,0,0)}asin(){return this.mag<0?this:this.layer===0?f.fromNumber(Math.asin(this.sign*this.mag)):R(Number.NaN,Number.NaN,Number.NaN)}acos(){return this.mag<0?f.fromNumber(Math.acos(this.toNumber())):this.layer===0?f.fromNumber(Math.acos(this.sign*this.mag)):R(Number.NaN,Number.NaN,Number.NaN)}atan(){return this.mag<0?this:this.layer===0?f.fromNumber(Math.atan(this.sign*this.mag)):f.fromNumber(Math.atan(this.sign*(1/0)))}sinh(){return this.exp().sub(this.negate().exp()).div(2)}cosh(){return this.exp().add(this.negate().exp()).div(2)}tanh(){return this.sinh().div(this.cosh())}asinh(){return f.ln(this.add(this.sqr().add(1).sqrt()))}acosh(){return f.ln(this.add(this.sqr().sub(1).sqrt()))}atanh(){return this.abs().gte(1)?R(Number.NaN,Number.NaN,Number.NaN):f.ln(this.add(1).div(f.fromNumber(1).sub(this))).div(2)}ascensionPenalty(e){return e===0?this:this.root(f.pow(10,e))}egg(){return this.add(9)}lessThanOrEqualTo(e){return this.cmp(e)<1}lessThan(e){return this.cmp(e)<0}greaterThanOrEqualTo(e){return this.cmp(e)>-1}greaterThan(e){return this.cmp(e)>0}};let l=f;l.fromStringCache=new qr(Hr);l.dZero=R(0,0,0);l.dOne=R(1,0,1);l.dNegOne=R(-1,0,1);l.dTwo=R(1,0,2);l.dTen=R(1,0,10);l.dNaN=R(Number.NaN,Number.NaN,Number.NaN);l.dInf=R(1,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY);l.dNegInf=R(-1,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY);l.dNumberMax=O(1,0,Number.MAX_VALUE);l.dNumberMin=O(1,0,Number.MIN_VALUE);h=l.fromValue_noAlloc;O=l.fromComponents;R=l.fromComponents_noNormalize;l.fromMantissaExponent;l.fromMantissaExponent_noNormalize;const Yr=new l(1);function nt(e,t,n=!0){let r=l.log10(e).floor(),i=l.div(e,l.pow(10,r));i.toStringWithDecimalPlaces(t)==="10"&&(i=Yr,r=r.add(1));const s=r.gte(1e9)?pe(r,Math.max(Math.max(t,3),A.defaultDecimalsShown)):r.gte(1e4)?bt(r,0):r.toStringWithDecimalPlaces(0);return n?i.toStringWithDecimalPlaces(t)+"e"+s:"e"+s}function bt(e,t){if(e==null)return"NaN";if(e=new l(e),e.mag<.001)return 0 .toFixed(t);const r=e.toStringWithDecimalPlaces(t).split(".");return r[0]=r[0].replace(/(\d)(?=(\d\d\d)+(?!\d))/g,"$1,"),r.length==1?r[0]:r[0]+"."+r[1]}function gn(e,t){return e==null?"NaN":(e=new l(e),e.mag<1e-4?0 .toFixed(t):(e.mag<.1&&t!==0&&(t=Math.max(Math.max(t,e.log10().negate().ceil().toNumber()),A.defaultDecimalsShown)),e.toStringWithDecimalPlaces(t)))}const Xr=new l("eeee1000"),Qr=new l("e100000"),rn=new l("e1000"),mn=new l(1e9),ei=new l(1e6),ti=new l(1e3),ni=new l(.98),ri=new l(.001),hn=new l(0);function pe(e,t,n){if(t==null&&(t=A.defaultDecimalsShown),n=n!=null?n:A.defaultShowSmall,e=new l(e),isNaN(e.sign)||isNaN(e.layer)||isNaN(e.mag))return"NaN";if(e.sign<0)return"-"+pe(e.neg(),t);if(e.mag===Number.POSITIVE_INFINITY)return"Infinity";if(e.gte(Xr)){const r=e.slog();return r.gte(ei)?"F"+pe(r.floor()):l.pow(10,r.sub(r.floor())).toStringWithDecimalPlaces(3)+"F"+bt(r.floor(),0)}else{if(e.gte(Qr))return nt(e,0,!1);if(e.gte(rn))return nt(e,0);if(e.gte(mn))return nt(e,t);if(e.gte(ti))return bt(e,0);if(e.gte(ri)||!n)return gn(e,t);if(e.eq(hn))return 0 .toFixed(t)}return e=vn(e),e.lt(rn)?nt(e,t).replace(/([^(?:e|F)]*)$/,"-$1"):pe(e,t)+"\u207B\xB9"}function he(e){return e=new l(e),e.sign<0?"-"+he(e.neg()):e.gte(mn)||e.lte(ni)&&!e.eq(hn)?pe(e):pe(e,0)}function pn(e){return l.lt(e,0)?"-"+pn(l.neg(e)):l.gt(e,2**51)?pe(l.div(e,31536e3))+"y":(e=new l(e).toNumber(),e<60?pe(e)+"s":e<3600?he(Math.floor(e/60))+"m "+pe(e%60)+"s":e<86400?he(Math.floor(e/3600))+"h "+he(Math.floor(e/60)%60)+"m "+he(e%60)+"s":e<31536e3?he(Math.floor(e/84600)%365)+"d "+he(Math.floor(e/3600)%24)+"h "+he(Math.floor(e/60)%60)+"m":he(Math.floor(e/31536e3))+"y "+he(Math.floor(e/84600)%365)+"d "+he(Math.floor(e/3600)%24)+"h")}function ii(e,t,n){e=new l(e);let r=e.toStringWithDecimalPlaces(t);return new l(r).gte(n)&&(r=l.sub(n,Math.pow(.1,t)).toStringWithDecimalPlaces(t)),r}function si(e,t){return pe(e,t,!0)}function vn(e){let t=l.log10(e).ceil();const n=l.div(e,l.pow(10,t));return t=t.neg(),e=new l(10).pow(t).times(n),e}var ai=Object.freeze(Object.defineProperty({__proto__:null,default:l,exponentialFormat:nt,commaFormat:bt,regularFormat:gn,format:pe,formatWhole:he,formatTime:pn,toPlaces:ii,formatSmall:si,invertOOM:vn},Symbol.toStringTag,{value:"Module"}));const{exponentialFormat:oi,commaFormat:li,regularFormat:ui,format:Se,formatWhole:st,formatTime:St,toPlaces:ci,formatSmall:di,invertOOM:fi}=ai;window.Decimal=l;window.exponentialFormat=oi;window.commaFormat=li;window.regularFormat=ui;window.format=Se;window.formatWhole=st;window.formatTime=St;window.toPlaces=ci;window.formatSmall=di;window.invertOOM=fi;function bn(e){let t=e.replace(/([A-Z])/g," $1");return t=t.charAt(0).toUpperCase()+t.slice(1),t}function gi(e){return(e[0]+e.slice(1).replace(/[A-Z]/g,t=>`-${t}`)).toLowerCase()}function Pt(e){return typeof e=="function"}var Z=(e=>(e.Up="Up",e.Down="Down",e.Left="Left",e.Right="Right",e.Default="Up",e))(Z||{});const at=Symbol("DoNotCache");function E(e,t){const n=e[t];Pt(n)&&n.length===0&&!n[at]?e[t]=P(n.bind(e)):Pt(n)&&(e[t]=n.bind(e),e[t][at]=!0)}function Et(e){return Pt(e)&&!e[at]&&(e=P(e)),e}const Pe=Symbol("Component"),Ee=Symbol("GatherProps");let mi=0;function It(e="feature-"){return e+mi++}var Xe=(e=>(e[e.Visible=0]="Visible",e[e.Hidden=1]="Hidden",e[e.None=2]="None",e))(Xe||{});function yn(e){const t=u(e);return t!==2&&t!==!1}function _n(e){return u(e)===1}function ee(e){return e[at]=!0,e}function ce(e,t,n){e[t]===void 0&&n!=null&&(e[t]=n)}function Nn(e,...t){const n=[],r=i=>{Object.keys(i).forEach(s=>{const o=i[s];o!=null&&typeof o=="object"&&(t.includes(o.type)?n.push(o):!(o instanceof l)&&!te(o)&&r(o))})};return r(e),n}var J=window.state=Ct({lastTenTicks:[],hasNaN:!1,NaNPath:[],errors:Ye([])});const De={variables:{"--foreground":"#dfdfdf","--background":"#0f0f0f","--feature-foreground":"#0f0f0f","--tooltip-background":"rgba(0, 0, 0, 0.75)","--raised-background":"#0f0f0f","--points":"#ffffff","--locked":"#bf8f8f","--highlighted":"#333","--bought":"#77bf5f","--danger":"rgb(220, 53, 69)","--link":"#02f2f2","--outline":"#dfdfdf","--accent1":"#627a82","--accent2":"#658262","--accent3":"#7c6282","--border-radius":"15px","--modal-border":"solid 2px var(--color)","--feature-margin":"0px"},floatingTabs:!0,mergeAdjacent:!0,showPin:!0};var qt=(e=>(e.Classic="classic",e.Paper="paper",e.Nordic="nordic",e.Aqua="aqua",e))(qt||{}),At={classic:De,paper:{...De,variables:{...De.variables,"--background":"#2a323d","--feature-foreground":"#000","--raised-background":"#333c4a","--locked":"#3a3e45","--bought":"#5C8A58","--outline":"#333c4a","--border-radius":"4px","--modal-border":"","--feature-margin":"5px"},floatingTabs:!1},nordic:{...De,variables:{...De.variables,"--foreground":"#D8DEE9","--background":"#2E3440","--feature-foreground":"#000","--raised-background":"#3B4252","--points":"#E5E9F0","--locked":"#4c566a","--highlighted":"#434c5e","--bought":"#8FBCBB","--danger":"#D08770","--link":"#88C0D0","--outline":"#3B4252","--accent1":"#B48EAD","--accent2":"#A3BE8C","--accent3":"#EBCB8B","--border-radius":"4px","--modal-border":"solid 2px #3B4252","--feature-margin":"5px"},floatingTabs:!1},aqua:{...De,variables:{...De.variables,"--foreground":"#bfdfff","--background":"#001f3f","--tooltip-background":"rgba(0, 15, 31, 0.75)","--raised-background":"#001f3f","--points":"#dfefff","--locked":"#c4a7b3","--outline":"#bfdfff"}}};const se=cn();"fonts"in document&&(document.fonts.onloadingdone=()=>se.emit("fontsLoaded"));var hi=Object.freeze(Object.defineProperty({__proto__:null,globalBus:se},Symbol.toStringTag,{value:"Module"}));function wn(e={}){return Object.assign({id:`${A.id}-0`,name:"Default Save",tabs:A.initialTabs.slice(),time:Date.now(),autosave:!0,offlineProd:!0,offlineTime:0,timePlayed:0,keepGoing:!1,modID:A.id,modVersion:A.versionNumber,layers:{}},e)}function fe(e){const t=Ce.compressToUTF16(Lt(e!=null?e:x));return localStorage.setItem((e!=null?e:x).id,t),t}async function pi(){bi();try{let e=localStorage.getItem(ne.active);if(e==null){await qe(Je());return}if(e[0]!=="{")if(e[0]==="e")e=decodeURIComponent(escape(atob(e)));else if(e[0]==="\u1BE1")e=Ce.decompressFromUTF16(e);else throw"Unable to determine save encoding";const t=JSON.parse(e);if(t.modID!==A.id){await qe(Je());return}t.id=ne.active,await qe(t)}catch(e){console.error(`Failed to load save. Falling back to new save. +`,e),await qe(Je())}}function Je(){const e=mt(),t=wn({id:e});return fe(t),ne.saves.push(e),t}function mt(){let e,t=0;do e=`${A.id}-${t++}`;while(localStorage.getItem(e)!=null);return e}const Bt=F(!1);async function qe(e){console.info("Loading save",e),Bt.value=!0;const{layers:t,removeLayer:n,addLayer:r}=await it(()=>Promise.resolve().then(function(){return ca}),void 0),{fixOldSave:i,getInitialLayers:s}=await it(()=>Promise.resolve().then(function(){return ou}),void 0);for(const o in t){const c=t[o];c&&n(c)}s(e).forEach(o=>r(o,e)),e=wn(e),e.offlineProd&&e.time!=null&&e.time&&e.devSpeed!==0&&(e.offlineTime==null&&(e.offlineTime=0),e.offlineTime+=Math.min(e.offlineTime+(Date.now()-e.time)/1e3,A.offlineLimit*3600)),e.time=Date.now(),e.modVersion!==A.versionNumber&&(i(e.modVersion,e),e.modVersion=A.versionNumber),Object.assign(x,e),ne.active=x.id,se.emit("onLoad")}setInterval(()=>{x.autosave&&fe()},1e3);window.onbeforeunload=()=>{x.autosave&&fe()};window.save=fe;const vi=window.hardReset=async()=>{await qe(Je())};window.deleteLowerSaves=()=>{const e=Object.values(ne.saves).indexOf(x.id)+1;Object.values(ne.saves).slice(e).forEach(t=>localStorage.removeItem(t)),ne.saves=ne.saves.slice(0,e)};const ot=Ye({active:"",saves:[],showTPS:!0,theme:qt.Nordic,unthrottled:!1,alignUnits:!1});_e(ot,e=>{const t=Ce.compressToUTF16(JSON.stringify(e));localStorage.setItem(A.id,t)},{deep:!0});var ne=window.settings=ot;window.hardResetSettings=()=>{const e={active:"",saves:[],showTPS:!0,theme:qt.Nordic,alignUnits:!1};se.emit("loadSettings",e),Object.assign(ot,e),vi()};function bi(){try{let e=localStorage.getItem(A.id);if(e!=null&&e!==""){if(e[0]!=="{")if(e[0]==="e")e=decodeURIComponent(escape(atob(e)));else if(e[0]==="\u1BE1")e=Ce.decompressFromUTF16(e);else{console.warn("Unable to determine settings encoding",e);return}const t=JSON.parse(e);typeof t=="object"&&Object.assign(ot,t)}se.emit("loadSettings",ot)}catch{}}const yi=Ye([]),Cn=Ye([]);function _i(e){Cn.push(e)}const Ni=Ye([]);function ue(e,t="span"){return typeof e=="function"?q({render:e}):typeof e=="string"?e.length>0?(e=e.trim(),e.charAt(0)!=="<"&&(e=`<${t}>${e}`),q({template:e})):q({render:()=>({})}):e}function ut(e){if(Mt(e))return typeof e=="function"?e():ue(e);const t=e[Pe];return y(t,e[Ee](),null)}function ht(e){if(Mt(e))return typeof e=="function"?e():typeof e=="string"?y(j,null,[e]):y(e,null,null);const t=e[Pe];return y(t,e[Ee](),null)}function Mt(e){return typeof e=="string"?!0:typeof e=="object"?e==null?!1:"render"in e||"component"in e:typeof e=="function"&&e[at]===!0}function kn(e,t){const n=F(null),r=F(void 0);function i(c){n.value||(n.value=setInterval(o,250)),r.value=c}function s(){n.value&&(clearInterval(n.value),n.value=null)}function o(){t&&t.value?t.value():e&&e.value&&e.value(r.value)}return ln(s),{start:i,stop:s,handleHolding:o}}function wi(e,t="div"){const n=be();return Be(()=>{n.value=ue(ye(e),t)}),n}function Qe(e,t="div"){const n=be(null);return Be(()=>{const r=ye(e);n.value=r==""||r==null?null:ue(r,t)}),n}function ye(e){return u(u(e))}function B(...e){return e.includes(Object)||e.push(Object),e}function Ci(e){return Object.keys(e).reduce((t,n)=>(t[gi(n)]=e[n],t),{})}const ki=q({__name:"Context",emits:["updateNodes"],setup(e,{emit:t}){var b;const n=F({}),r=new ResizeObserver(c),i=F(null);lt(()=>{const v=i.value;v!=null&&r.observe(v)});let s=!0,o=F((b=i.value)==null?void 0:b.getBoundingClientRect());function c(){s&&(s=!1,Ue(()=>{var v;o.value=(v=i.value)==null?void 0:v.getBoundingClientRect(),Object.values(n.value).filter(N=>N).forEach(N=>N.rect=N.element.getBoundingClientRect()),t("updateNodes",n.value),s=!0}))}se.on("fontsLoaded",c);const d={attributes:!1,childList:!0,subtree:!1};ft(Ut,(v,N)=>{const k=new MutationObserver(()=>g(v));k.observe(N,d),n.value[v]={element:N,observer:k,rect:N.getBoundingClientRect()},c()}),ft(zt,v=>{var N;(N=n.value[v])==null||N.observer.disconnect(),n.value[v]=void 0,c()}),ft(Gt,n),ft(jt,o);function g(v){const N=n.value[v];N!=null&&(N.rect=N.element.getBoundingClientRect(),t("updateNodes",n.value))}return(v,N)=>(p(),_(j,null,[Te(v.$slots,"default",{},void 0,!0),m("div",{ref_key:"resizeListener",ref:i,class:"resize-listener"},null,512)],64))}});var Sn=z(ki,[["__scopeId","data-v-2b1dc1bc"]]);const Si=["onPointerdown"],Ii={class:"modal-wrapper"},Mi={class:"modal-container"},$i={class:"modal-header"},xi={class:"modal-body"},Fi={class:"modal-footer"},Ti=m("div",{class:"modal-default-flex-grow"},null,-1),je=q({__name:"Modal",props:{modelValue:{type:Boolean}},emits:["update:modelValue"],setup(e,{expose:t,emit:n}){const i=de(e),s=P(()=>u(i.modelValue)||c.value);function o(){n("update:modelValue",!1)}const c=F(!1),d=F(null),g=P(()=>{var b,v;return(v=(b=d.value)==null?void 0:b.nodes)!=null?v:null});return t({isOpen:s,nodes:g}),(b,v)=>(p(),L(qn,{to:"#modal-root"},[y(un,{name:"modal",onBeforeEnter:v[0]||(v[0]=N=>c.value=!0),onAfterLeave:v[1]||(v[1]=N=>c.value=!1)},{default:V(()=>[Dt(m("div",Oe({class:"modal-mask",onPointerdown:rt(o,["self"])},b.$attrs),[m("div",Ii,[m("div",Mi,[m("div",$i,[Te(b.$slots,"header",{shown:u(s)},()=>[T(" default header ")])]),m("div",xi,[y(Sn,{ref_key:"contextRef",ref:d},{default:V(()=>[Te(b.$slots,"body",{shown:u(s)},()=>[T(" default body ")])]),_:3},512)]),m("div",Fi,[Te(b.$slots,"footer",{shown:u(s)},()=>[m("div",{class:"modal-default-footer"},[Ti,m("button",{class:"button modal-default-button",onClick:o}," Close ")])])])])])],16,Si),[[Rn,e.modelValue]])]),_:3})]))}}),Re=Symbol("ProxyState");function He(e,t={}){const n=t;let r=!1,i=!1;function s(){return r||(i&&console.error("Cyclical dependency detected. Cannot evaluate lazy proxy."),i=!0,Object.assign(n,e.call(n,n)),r=!0),n}return new Proxy(n,{get(o,c){if(c===Re)return s();const d=s()[c];return d!=null&&typeof d=="object"&&Fe in d?d[Fe]:d},set(o,c,d){return s()[c]=d,!0},has(o,c){return c===Re?!0:Reflect.has(s(),c)},ownKeys(){return Reflect.ownKeys(s())},getOwnPropertyDescriptor(o,c){return r||(Object.assign(n,e.call(n,n)),r=!0),Object.getOwnPropertyDescriptor(o,c)}})}const In=l.ln(10);function pt(e){return e}function tt(e,...t){const n=t.find(r=>w(r));return n==null?(console.error("Could not invert due to no input being a variable"),0):n.invert(e)}function Pi(e,t){return w(t)?t.invert(l.neg(e)):(console.error("Could not invert due to no input being a variable"),0)}function Ei(e,t){return w(t)?t.isIntegrable()?a.neg(t.getIntegralFormula(e)):(console.error("Could not integrate due to variable not being integrable"),a.constant(0)):(console.error("Could not integrate due to no input being a variable"),a.constant(0))}function Oi(e){return a.neg(e)}function Vi(e,t,n){return w(t)?t.invert(l.sub(e,K(n))):w(n)?n.invert(l.sub(e,K(t))):(console.error("Could not invert due to no input being a variable"),0)}function Di(e,t,n){var r,i;if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const s=t.getIntegralFormula(e);return a.times(n,(r=t.innermostVariable)!=null?r:0).add(s)}else if(w(n)){if(!n.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const s=n.getIntegralFormula(e);return a.times(t,(i=n.innermostVariable)!=null?i:0).add(s)}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function Li(e,t,n){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const r=t.getIntegralFormula(e);return a.add(r,n)}else if(w(n)){if(!n.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const r=n.getIntegralFormula(e);return a.add(r,t)}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function Ri(e,t,n){return w(t)?t.invert(l.add(e,K(n))):w(n)?n.invert(l.sub(K(t),e)):(console.error("Could not invert due to no input being a variable"),0)}function qi(e,t,n){var r,i;if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const s=t.getIntegralFormula(e);return a.sub(s,a.times(n,(r=t.innermostVariable)!=null?r:0))}else if(w(n)){if(!n.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const s=n.getIntegralFormula(e);return a.times(t,(i=n.innermostVariable)!=null?i:0).sub(s)}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function Ai(e,t,n){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const r=t.getIntegralFormula(e);return a.sub(r,n)}else if(w(n)){if(!n.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const r=n.getIntegralFormula(e);return a.sub(r,t)}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function Bi(e,t,n){return w(t)?t.invert(l.div(e,K(n))):w(n)?n.invert(l.div(e,K(t))):(console.error("Could not invert due to no input being a variable"),0)}function Ui(e,t,n){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const r=t.getIntegralFormula(e);return a.times(r,n)}else if(w(n)){if(!n.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const r=n.getIntegralFormula(e);return a.times(r,t)}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function zi(e,t,n){return w(t)?a.div(e,n):w(n)?a.div(e,t):(console.error("Could not apply substitution due to no input being a variable"),a.constant(0))}function Gi(e,t,n){return w(t)?t.invert(l.mul(e,K(n))):w(n)?n.invert(l.div(K(t),e)):(console.error("Could not invert due to no input being a variable"),0)}function ji(e,t,n){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const r=t.getIntegralFormula(e);return a.div(r,n)}else if(w(n)){if(!n.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const r=n.getIntegralFormula(e);return a.div(t,r)}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function Hi(e,t,n){return w(t)?a.mul(e,n):w(n)?a.mul(e,t):(console.error("Could not apply substitution due to no input being a variable"),a.constant(0))}function Wi(e,t){return w(t)?t.invert(l.recip(e)):(console.error("Could not invert due to no input being a variable"),0)}function Ji(e,t){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const n=t.getIntegralFormula(e);return a.ln(n)}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function Zi(e,t){return w(t)?t.invert(l.pow10(e)):(console.error("Could not invert due to no input being a variable"),0)}function Ki(e){return l.ln(e).sub(1).times(e).div(In)}function Yi(e,t){if(w(t)){const n=In.times(e);return t.invert(n.div(n.div(Math.E).lambertw()))}return console.error("Could not invert due to no input being a variable"),0}function Xi(e,t){return w(t)?t.isIntegrable()?new a({inputs:[t.getIntegralFormula(e)],evaluate:Ki,invert:Yi}):(console.error("Could not integrate due to variable not being integrable"),a.constant(0)):(console.error("Could not integrate due to no input being a variable"),a.constant(0))}function Qi(e,t,n){return w(t)?t.invert(l.pow(K(n),e)):w(n)?n.invert(l.root(K(t),e)):(console.error("Could not invert due to no input being a variable"),0)}function es(e,t){return l.ln(e).sub(1).times(e).div(l.ln(t))}function ts(e,t,n){if(w(t)){const r=l.ln(K(n)).times(e);return t.invert(r.div(r.div(Math.E).lambertw()))}return console.error("Could not invert due to no input being a variable"),0}function ns(e,t,n){return w(t)?t.isIntegrable()?new a({inputs:[t.getIntegralFormula(e),n],evaluate:es,invert:ts}):(console.error("Could not integrate due to variable not being integrable"),a.constant(0)):(console.error("Could not integrate due to no input being a variable"),a.constant(0))}function rs(e,t){return w(t)?t.invert(l.pow(2,e)):(console.error("Could not invert due to no input being a variable"),0)}function is(e){return l.ln(e).sub(1).times(e).div(l.ln(2))}function ss(e,t){if(w(t)){const n=l.ln(2).times(e);return t.invert(n.div(n.div(Math.E).lambertw()))}return console.error("Could not invert due to no input being a variable"),0}function as(e,t){return w(t)?t.isIntegrable()?new a({inputs:[t.getIntegralFormula(e)],evaluate:is,invert:ss}):(console.error("Could not integrate due to variable not being integrable"),a.constant(0)):(console.error("Could not integrate due to no input being a variable"),a.constant(0))}function os(e,t){return w(t)?t.invert(l.exp(e)):(console.error("Could not invert due to no input being a variable"),0)}function ls(e){return l.ln(e).sub(1).times(e)}function us(e,t){return w(t)?t.invert(l.div(e,l.div(e,Math.E).lambertw())):(console.error("Could not invert due to no input being a variable"),0)}function cs(e,t){return w(t)?t.isIntegrable()?new a({inputs:[t.getIntegralFormula(e)],evaluate:ls,invert:us}):(console.error("Could not integrate due to variable not being integrable"),a.constant(0)):(console.error("Could not integrate due to no input being a variable"),a.constant(0))}function ds(e,t,n){return w(t)?t.invert(l.root(e,K(n))):w(n)?n.invert(l.ln(e).div(l.ln(K(t)))):(console.error("Could not invert due to no input being a variable"),0)}function fs(e,t,n){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const r=t.getIntegralFormula(e),i=a.add(n,1);return a.pow(r,i).div(i)}else if(w(n)){if(!n.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const r=n.getIntegralFormula(e);return a.pow(t,r).div(a.ln(t))}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function gs(e,t){return w(t)?t.invert(l.root(e,10)):(console.error("Could not invert due to no input being a variable"),0)}function ms(e,t){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const n=t.getIntegralFormula(e);return a.pow10(n).div(a.ln(10))}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function hs(e,t,n){return w(t)?t.invert(l.ln(e).div(l.ln(K(n)))):w(n)?n.invert(l.root(K(t),e)):(console.error("Could not invert due to no input being a variable"),0)}function ps(e,t,n){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const r=t.getIntegralFormula(e);return a.pow(n,r).div(a.ln(n))}else if(w(n)){if(!n.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const r=n.getIntegralFormula(e),i=a.add(t,1);return a.pow(r,i).div(i)}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function vs(e,t,n){return w(t)?t.invert(l.root(e,l.recip(K(n)))):w(n)?n.invert(l.ln(K(t)).div(l.ln(e))):(console.error("Could not invert due to no input being a variable"),0)}function bs(e,t,n){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const r=t.getIntegralFormula(e);return a.pow(r,a.recip(n).add(1)).times(n).div(a.add(n,1))}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function ys(e,t){return w(t)?t.invert(l.ln(e)):(console.error("Could not invert due to no input being a variable"),0)}function _s(e,t){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const n=t.getIntegralFormula(e);return a.exp(n)}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function Ns(e,t=2,n=l.fromComponents_noNormalize(1,0,1)){const r=l.minabs(t,1e308).toNumber();return l.tetrate(e,r,n)}function ws(e,t,n,r){return w(t)?t.invert(l.ssqrt(e)):(console.error("Could not invert due to no input being a variable"),0)}function Cs(e,t=2,n=l.fromComponents_noNormalize(1,0,1)){const r=l.minabs(t,1e308).toNumber();return l.iteratedexp(e,r,new l(n))}function ks(e,t,n,r){return w(t)?t.invert(l.iteratedlog(e,Math.E,l.minabs(1e308,K(n)).toNumber())):(console.error("Could not invert due to no input being a variable"),0)}function Ss(e,t=10,n=2){const r=l.minabs(n,1e308).toNumber();return l.iteratedlog(e,t,r)}function Is(e,t=10){const n=l.minabs(t,1e308).toNumber();return l.slog(e,n)}function Ms(e,t,n){return w(t)?t.invert(l.tetrate(e,l.minabs(1e308,K(n)).toNumber())):(console.error("Could not invert due to no input being a variable"),0)}function $s(e,t,n){const r=l.minabs(t,1e308).toNumber();return l.layeradd(e,r,n)}function xs(e,t,n,r){return w(t)?t.invert(l.layeradd(e,l.minabs(1e308,K(n)).negate().toNumber())):(console.error("Could not invert due to no input being a variable"),0)}function Fs(e,t){return w(t)?t.invert(l.pow(Math.E,e).times(e)):(console.error("Could not invert due to no input being a variable"),0)}function Ts(e,t){return w(t)?t.invert(l.tetrate(e,2)):(console.error("Could not invert due to no input being a variable"),0)}function Ps(e,t,n){const r=l.minabs(t,1e308).toNumber();return l.pentate(e,r,n)}function Es(e,t){return w(t)?t.invert(l.asin(e)):(console.error("Could not invert due to no input being a variable"),0)}function Os(e,t){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const n=t.getIntegralFormula(e);return a.cos(n).neg()}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function Vs(e,t){return w(t)?t.invert(l.acos(e)):(console.error("Could not invert due to no input being a variable"),0)}function Ds(e,t){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const n=t.getIntegralFormula(e);return a.sin(n)}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function Ls(e,t){return w(t)?t.invert(l.atan(e)):(console.error("Could not invert due to no input being a variable"),0)}function Rs(e,t){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const n=t.getIntegralFormula(e);return a.cos(n).ln().neg()}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function qs(e,t){return w(t)?t.invert(l.sin(e)):(console.error("Could not invert due to no input being a variable"),0)}function As(e,t){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const n=t.getIntegralFormula(e);return a.asin(n).times(n).add(a.sqrt(a.sub(1,a.pow(n,2))))}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function Bs(e,t){return w(t)?t.invert(l.cos(e)):(console.error("Could not invert due to no input being a variable"),0)}function Us(e,t){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const n=t.getIntegralFormula(e);return a.acos(n).times(n).sub(a.sqrt(a.sub(1,a.pow(n,2))))}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function zs(e,t){return w(t)?t.invert(l.tan(e)):(console.error("Could not invert due to no input being a variable"),0)}function Gs(e,t){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const n=t.getIntegralFormula(e);return a.atan(n).times(n).sub(a.ln(a.pow(n,2).add(1)).div(2))}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function js(e,t){return w(t)?t.invert(l.asinh(e)):(console.error("Could not invert due to no input being a variable"),0)}function Hs(e,t){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const n=t.getIntegralFormula(e);return a.cosh(n)}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function Ws(e,t){return w(t)?t.invert(l.acosh(e)):(console.error("Could not invert due to no input being a variable"),0)}function Js(e,t){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const n=t.getIntegralFormula(e);return a.sinh(n)}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function Zs(e,t){return w(t)?t.invert(l.atanh(e)):(console.error("Could not invert due to no input being a variable"),0)}function Ks(e,t){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const n=t.getIntegralFormula(e);return a.cosh(n).ln()}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function Ys(e,t){return w(t)?t.invert(l.sinh(e)):(console.error("Could not invert due to no input being a variable"),0)}function Xs(e,t){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const n=t.getIntegralFormula(e);return a.asinh(n).times(n).sub(a.pow(n,2).add(1).sqrt())}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function Qs(e,t){return w(t)?t.invert(l.cosh(e)):(console.error("Could not invert due to no input being a variable"),0)}function ea(e,t){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const n=t.getIntegralFormula(e);return a.acosh(n).times(n).sub(a.add(n,1).sqrt().times(a.sub(n,1).sqrt()))}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function ta(e,t){return w(t)?t.invert(l.tanh(e)):(console.error("Could not invert due to no input being a variable"),0)}function na(e,t){if(w(t)){if(!t.isIntegrable())return console.error("Could not integrate due to variable not being integrable"),a.constant(0);const n=t.getIntegralFormula(e);return a.atanh(n).times(n).add(a.sub(1,a.pow(n,2)).ln().div(2))}return console.error("Could not integrate due to no input being a variable"),a.constant(0)}function et(e){return(t,n)=>new a({inputs:[t,n],evaluate:e,invert:pt})}function w(e){return e instanceof H&&e.hasVariable()}function K(e,t){return e instanceof H?e.evaluate(t):u(e)}function ra(){return a.pow(this,2).div(2)}function ia(){return this}const X=class{constructor(e){this.negate=this.neg,this.negated=this.neg,this.sgn=this.sign,this.plus=this.add,this.subtract=this.sub,this.minus=this.sub,this.multiply=this.mul,this.times=this.mul,this.divide=this.div,this.divideBy=this.div,this.dividedBy=this.div,this.reciprocal=this.recip,this.reciprocate=this.recip,this.logarithm=this.log;let t;"inputs"in e&&(e.inputs=e.inputs.map(n=>typeof n=="object"&&Fe in n?n[Fe]:n)),"variable"in e?(typeof e.variable=="object"&&Fe in e.variable&&(e.variable=e.variable[Fe]),t=this.setupVariable(e)):"evaluate"in e?t=this.setupFormula(e):t=this.setupConstant(e),this.inputs=t.inputs,this.internalVariables=t.internalVariables,this.innermostVariable=t.innermostVariable,this.internalEvaluate=t.internalEvaluate,this.internalInvert=t.internalInvert,this.internalIntegrate=t.internalIntegrate,this.internalIntegrateInner=t.internalIntegrateInner,this.applySubstitution=t.applySubstitution}setupVariable({variable:e}){return{inputs:[e],internalVariables:1,innermostVariable:e,internalIntegrate:ra,internalIntegrateInner:ia,applySubstitution:pt}}setupConstant({inputs:e}){return e.length!==1&&console.error("Evaluate function is required if inputs is not length 1"),{inputs:e,internalVariables:0}}setupFormula(e){var N,k;const{inputs:t,evaluate:n,invert:r,integrate:i,integrateInner:s,applySubstitution:o}=e,c=t.reduce((I,C)=>I+(C instanceof X?C.internalVariables:0),0),d=t.find(I=>I instanceof X&&I.hasVariable()),g=c===1?d==null?void 0:d.innermostVariable:void 0,b=(N=d==null?void 0:d.isInvertible())!=null?N:!1,v=(k=d==null?void 0:d.isIntegrable())!=null?k:!1;return{inputs:t,internalEvaluate:n,internalInvert:b?r:void 0,internalIntegrate:v?i:void 0,internalIntegrateInner:s,applySubstitution:o,innermostVariable:g,internalVariables:c}}isInvertible(){return this.hasVariable()&&(this.internalInvert!=null||this.internalEvaluate==null)}isIntegrable(){return this.hasVariable()&&this.internalIntegrate!=null}isIntegralInvertible(){return this.isIntegrable()?this.getIntegralFormula().isInvertible():!1}hasVariable(){return this.internalVariables===1}evaluate(e){var t,n,r;return(r=(n=(t=this.internalEvaluate)==null?void 0:t.call(this,...this.inputs.map(i=>K(i,e))))!=null?n:this.hasVariable()?e:null)!=null?r:K(this.inputs[0])}equals(e){return this.inputs.length===e.inputs.length&&this.inputs.every((t,n)=>t instanceof X&&e.inputs[n]instanceof X?t.equals(e.inputs[n]):!(t instanceof X)&&!(e.inputs[n]instanceof X)&&l.eq(u(t),u(e.inputs[n])))&&this.internalEvaluate===e.internalEvaluate&&this.internalInvert===e.internalInvert&&this.internalIntegrate===e.internalIntegrate&&this.internalVariables===e.internalVariables}static constant(e){return new a({inputs:[e]})}static variable(e){return new a({variable:e})}static step(e,t,n){const r=n(a.variable(0)),i=Et(t);function s(c){return l.lt(c,u(i))?c:l.add(r.evaluate(l.sub(c,u(i))),u(i))}function o(c,d){return w(d)&&r.isInvertible()?(l.gt(c,u(i))&&(c=l.add(r.invert(l.sub(c,u(i))),u(i))),d.invert(c)):(console.error("Could not invert due to no input being a variable"),0)}return new a({inputs:[e],evaluate:s,invert:r.isInvertible()&&r.hasVariable()?o:void 0})}static if(e,t,n,r){const i=F(0),s=a.variable(i),o=n(s),c=r==null?void 0:r(s),d=Et(t);function g(v){return u(d)?(i.value=v,o.evaluate()):c?(i.value=v,c.evaluate()):v}function b(v,N){return!w(N)||!o.isInvertible()||c!=null&&!c.isInvertible()?(console.error("Could not invert due to no input being a variable"),0):u(d)?N.invert(o.invert(v)):c?N.invert(c.invert(v)):N.invert(v)}return new a({inputs:[e],evaluate:g,invert:o.isInvertible()&&o.hasVariable()?b:void 0})}static conditional(e,t,n,r){return a.if(e,t,n,r)}static abs(e){return new a({inputs:[e],evaluate:l.abs})}static neg(e){return new a({inputs:[e],evaluate:l.neg,invert:Pi,applySubstitution:Oi,integrate:Ei})}static sign(e){return new a({inputs:[e],evaluate:l.sign})}static round(e){return new a({inputs:[e],evaluate:l.round,invert:tt})}static floor(e){return new a({inputs:[e],evaluate:l.floor,invert:tt})}static ceil(e){return new a({inputs:[e],evaluate:l.ceil,invert:tt})}static trunc(e){return new a({inputs:[e],evaluate:l.trunc,invert:tt})}static add(e,t){return new a({inputs:[e,t],evaluate:l.add,invert:Vi,integrate:Di,integrateInner:Li,applySubstitution:pt})}static sub(e,t){return new a({inputs:[e,t],evaluate:l.sub,invert:Ri,integrate:qi,integrateInner:Ai,applySubstitution:pt})}static mul(e,t){return new a({inputs:[e,t],evaluate:l.mul,invert:Bi,integrate:Ui,applySubstitution:zi})}static div(e,t){return new a({inputs:[e,t],evaluate:l.div,invert:Gi,integrate:ji,applySubstitution:Hi})}static recip(e){return new a({inputs:[e],evaluate:l.recip,invert:Wi,integrate:Ji})}static clamp(e,t,n){return new a({inputs:[e,t,n],evaluate:l.clamp,invert:tt})}static pLog10(e){return new a({inputs:[e],evaluate:l.pLog10})}static absLog10(e){return new a({inputs:[e],evaluate:l.absLog10})}static log10(e){return new a({inputs:[e],evaluate:l.log10,invert:Zi,integrate:Xi})}static log(e,t){return new a({inputs:[e,t],evaluate:l.log,invert:Qi,integrate:ns})}static log2(e){return new a({inputs:[e],evaluate:l.log2,invert:rs,integrate:as})}static ln(e){return new a({inputs:[e],evaluate:l.ln,invert:os,integrate:cs})}static pow(e,t){return new a({inputs:[e,t],evaluate:l.pow,invert:ds,integrate:fs})}static pow10(e){return new a({inputs:[e],evaluate:l.pow10,invert:gs,integrate:ms})}static pow_base(e,t){return new a({inputs:[e,t],evaluate:l.pow_base,invert:hs,integrate:ps})}static root(e,t){return new a({inputs:[e,t],evaluate:l.root,invert:vs,integrate:bs})}static factorial(e){return new a({inputs:[e],evaluate:l.factorial})}static gamma(e){return new a({inputs:[e],evaluate:l.gamma})}static lngamma(e){return new a({inputs:[e],evaluate:l.lngamma})}static exp(e){return new a({inputs:[e],evaluate:l.exp,invert:ys,integrate:_s})}static sqr(e){return a.pow(e,2)}static sqrt(e){return a.root(e,2)}static cube(e){return a.pow(e,3)}static cbrt(e){return a.root(e,3)}static tetrate(e,t=2,n=l.fromComponents_noNormalize(1,0,1)){return new a({inputs:[e,t,n],evaluate:Ns,invert:ws})}static iteratedexp(e,t=2,n=l.fromComponents_noNormalize(1,0,1)){return new a({inputs:[e,t,n],evaluate:Cs,invert:ks})}static iteratedlog(e,t=10,n=1){return new a({inputs:[e,t,n],evaluate:Ss})}static slog(e,t=10){return new a({inputs:[e,t],evaluate:Is,invert:Ms})}static layeradd10(e,t){return new a({inputs:[e,t],evaluate:l.layeradd10})}static layeradd(e,t,n=10){return new a({inputs:[e,t,n],evaluate:$s,invert:xs})}static lambertw(e){return new a({inputs:[e],evaluate:l.lambertw,invert:Fs})}static ssqrt(e){return new a({inputs:[e],evaluate:l.ssqrt,invert:Ts})}static pentate(e,t=2,n=l.fromComponents_noNormalize(1,0,1)){return new a({inputs:[e,t,n],evaluate:Ps})}static sin(e){return new a({inputs:[e],evaluate:l.sin,invert:qs,integrate:Os})}static cos(e){return new a({inputs:[e],evaluate:l.cos,invert:Bs,integrate:Ds})}static tan(e){return new a({inputs:[e],evaluate:l.tan,invert:zs,integrate:Rs})}static asin(e){return new a({inputs:[e],evaluate:l.asin,invert:Es,integrate:As})}static acos(e){return new a({inputs:[e],evaluate:l.acos,invert:Vs,integrate:Us})}static atan(e){return new a({inputs:[e],evaluate:l.atan,invert:Ls,integrate:Gs})}static sinh(e){return new a({inputs:[e],evaluate:l.sinh,invert:Ys,integrate:Hs})}static cosh(e){return new a({inputs:[e],evaluate:l.cosh,invert:Qs,integrate:Js})}static tanh(e){return new a({inputs:[e],evaluate:l.tanh,invert:ta,integrate:Ks})}static asinh(e){return new a({inputs:[e],evaluate:l.asinh,invert:js,integrate:Xs})}static acosh(e){return new a({inputs:[e],evaluate:l.acosh,invert:Ws,integrate:ea})}static atanh(e){return new a({inputs:[e],evaluate:l.atanh,invert:Zs,integrate:na})}step(e,t){return a.step(this,e,t)}if(e,t){return a.if(this,e,t)}conditional(e,t){return a.if(this,e,t)}abs(){return a.abs(this)}neg(){return a.neg(this)}sign(){return a.sign(this)}round(){return a.round(this)}floor(){return a.floor(this)}ceil(){return a.ceil(this)}trunc(){return a.trunc(this)}add(e){return a.add(this,e)}sub(e){return a.sub(this,e)}mul(e){return a.mul(this,e)}div(e){return a.div(this,e)}recip(){return a.recip(this)}max(e){return a.max(this,e)}min(e){return a.min(this,e)}maxabs(e){return a.maxabs(this,e)}minabs(e){return a.minabs(this,e)}clamp(e,t){return a.clamp(this,e,t)}clampMin(e){return a.clampMin(this,e)}clampMax(e){return a.clampMax(this,e)}pLog10(){return a.pLog10(this)}absLog10(){return a.absLog10(this)}log10(){return a.log10(this)}log(e){return a.log(this,e)}log2(){return a.log2(this)}ln(){return a.ln(this)}pow(e){return a.pow(this,e)}pow10(){return a.pow10(this)}pow_base(e){return a.pow_base(this,e)}root(e){return a.root(this,e)}factorial(){return a.factorial(this)}gamma(){return a.gamma(this)}lngamma(){return a.lngamma(this)}exp(){return a.exp(this)}sqr(){return a.pow(this,2)}sqrt(){return a.root(this,2)}cube(){return a.pow(this,3)}cbrt(){return a.root(this,3)}tetrate(e=2,t=l.fromComponents_noNormalize(1,0,1)){return a.tetrate(this,e,t)}iteratedexp(e=2,t=l.fromComponents_noNormalize(1,0,1)){return a.iteratedexp(this,e,t)}iteratedlog(e=10,t=1){return a.iteratedlog(this,e,t)}slog(e=10){return a.slog(this,e)}layeradd10(e){return a.layeradd10(this,e)}layeradd(e,t){return a.layeradd(this,e,t)}lambertw(){return a.lambertw(this)}ssqrt(){return a.ssqrt(this)}pentate(e=2,t=l.fromComponents_noNormalize(1,0,1)){return a.pentate(this,e,t)}sin(){return a.sin(this)}cos(){return a.cos(this)}tan(){return a.tan(this)}asin(){return a.asin(this)}acos(){return a.acos(this)}atan(){return a.atan(this)}sinh(){return a.sinh(this)}cosh(){return a.cosh(this)}tanh(){return a.tanh(this)}asinh(){return a.asinh(this)}acosh(){return a.acosh(this)}atanh(){return a.atanh(this)}};let H=X;H.negate=X.neg;H.negated=X.neg;H.sgn=X.sign;H.plus=X.add;H.subtract=X.sub;H.minus=X.sub;H.multiply=X.mul;H.times=X.mul;H.divide=X.div;H.divideBy=X.div;H.dividedBy=X.div;H.reciprocal=X.recip;H.reciprocate=X.recip;H.max=et(l.max);H.min=et(l.min);H.minabs=et(l.minabs);H.maxabs=et(l.maxabs);H.clampMin=et(l.clampMin);H.clampMax=et(l.clampMax);H.logarithm=X.log;class a extends H{invert(t){return this.internalInvert&&this.hasVariable()?this.internalInvert.call(this,t,...this.inputs):this.inputs.length===1&&this.hasVariable()?t:(console.error("Cannot invert non-invertible formula"),0)}evaluateIntegral(t){return this.isIntegrable()?this.getIntegralFormula().evaluate(t):(console.error("Cannot evaluate integral of formula without integral"),0)}invertIntegral(t){return!this.isIntegrable()||!this.getIntegralFormula().isInvertible()?(console.error("Cannot invert integral of formula without invertible integral"),0):this.getIntegralFormula().invert(t)}calculateConstantOfIntegration(){const t=this.getIntegralFormula().evaluate(1),n=l.add(this.evaluate(0),this.evaluate(1)).div(2);return l.sub(n,t)}getIntegralFormula(t){if(this.integralFormula!=null&&t==null)return this.integralFormula;if(t==null){if(this.applySubstitution==null){if(t=[],this.internalIntegrate==null)return console.error("Cannot integrate formula with non-integrable operation"),a.constant(0);let n=this.internalIntegrate.call(this,t,...this.inputs);t.forEach(r=>n=r(n)),this.integralFormula=n}else if(this.internalIntegrate)this.integralFormula=this.internalIntegrate.call(this,void 0,...this.inputs);else if(this.inputs.length===1&&this.internalEvaluate==null&&this.hasVariable())this.integralFormula=this;else return console.error("Cannot integrate formula without variable"),a.constant(0);return this.integralFormula}else return this.applySubstitution==null?(console.error("Cannot have two complex operations in an integrable formula"),a.constant(0)):(t.push(n=>this.applySubstitution.call(this,n,...this.inputs)),this.internalIntegrateInner?this.internalIntegrateInner.call(this,t,...this.inputs):this.internalIntegrate?this.internalIntegrate.call(this,t,...this.inputs):this.inputs.length===1&&this.internalEvaluate==null&&this.hasVariable()?this:(console.error("Cannot integrate formula without variable"),a.constant(0)))}}const Ze=Symbol("PersistentState"),Ge=Symbol("DefaultValue"),yt=Symbol("StackTrace"),Ot=Symbol("Deleted"),Fe=Symbol("NonPersistent"),Ae=Symbol("SaveDataPath"),Vt=Symbol("SkipPersistence");function sa(){var e,t;return(t=(e=new Error().stack)==null?void 0:e.split(` `).slice(3,5).map(n=>n.trim()).join(` `))!=null?t:""}function sn(e,t){var n;l.isNaN(t)&&(J.hasNaN||(x.autosave=!1,J.hasNaN=!0,J.NaNPath=e[Ae],J.NaNPersistent=e),console.error(`Attempted to save NaN value to ${(n=e[Ae])==null?void 0:n.join(".")}`)),e[Ze].value=t}function ct(e,t=!0){const n=te(e)?e:F(e);te(e)&&(e=e.value);const r=P({get(){return n.value},set(s){t?sn(i,s):i[Ze].value=s}});r[Ge]=e;const i={get value(){return n.value},set value(s){t?sn(i,s):i[Ze].value=s},__v_isRef:!0,[Ze]:n,[Ge]:e,[yt]:sa(),[Ot]:!1,[Fe]:r,[Ae]:void 0};return ve.length===0?console.warn("Creating a persistent ref outside of a layer. This is not officially supported",i,` Created at: -`+i[yt]):Ke[ve[ve.length-1]].add(i),i}function aa(e){return e!=null&&typeof e=="object"&&Ze in e}se.on("addLayer",(e,t)=>{const n=[],r=(i,s=[])=>{let o=!1;return Object.keys(i).forEach(u=>{let d=i[u];if(d!=null&&typeof d=="object"){if(d[Vt]===!0)return;if(Re in d&&(d=d[Re]),aa(d)){if(o=!0,d[Ot]){console.warn("Deleted persistent ref present in returned object. Ignoring...",d,` +`+i[yt]):Ke[ve[ve.length-1]].add(i),i}function aa(e){return e!=null&&typeof e=="object"&&Ze in e}se.on("addLayer",(e,t)=>{const n=[],r=(i,s=[])=>{let o=!1;return Object.keys(i).forEach(c=>{let d=i[c];if(d!=null&&typeof d=="object"){if(d[Vt]===!0)return;if(Re in d&&(d=d[Re]),aa(d)){if(o=!0,d[Ot]){console.warn("Deleted persistent ref present in returned object. Ignoring...",d,` Created at: -`+d[yt]);return}Ke[e.id].delete(d);const g=[e.id,...s,u];d[Ae]!=null&&JSON.stringify(g)!==JSON.stringify(d[Ae])&&console.error(`Persistent ref is being saved to \`${g.join(".")}\` when it's already present at \`${d[Ae].join(".")}\`.`,"This can cause unexpected behavior when loading saves between updates."),d[Ae]=g;const b=s.reduce((N,k)=>(k in N||(N[k]={}),N[k]),t),v=b[u];b[u]=d[Ze],An(b)?v!=null?b[u]=v:b[u]=d[Ge]:v!=null?b[u].value=v:b[u].value=d[Ge]}else!(d instanceof l)&&!(d instanceof a)&&!te(d)&&!n.includes(d)&&(typeof d.type=="symbol"&&n.push(d),r(d,[...s,u])&&(Yt(d)&&!Yt(i)?console.warn("Found array that contains persistent values when adding layer. Keep in mind changing the order of elements in the array will mess with existing player saves.",Re in i?i[Re]:i,u):o=!0))}}),o};r(e[Re]),Ke[e.id].forEach(i=>{i[Ot]||console.error(`Created persistent ref in ${e.id} without registering it to the layer!`,`Make sure to include everything persistent in the returned object. +`+d[yt]);return}Ke[e.id].delete(d);const g=[e.id,...s,c];d[Ae]!=null&&JSON.stringify(g)!==JSON.stringify(d[Ae])&&console.error(`Persistent ref is being saved to \`${g.join(".")}\` when it's already present at \`${d[Ae].join(".")}\`.`,"This can cause unexpected behavior when loading saves between updates."),d[Ae]=g;const b=s.reduce((N,k)=>(k in N||(N[k]={}),N[k]),t),v=b[c];b[c]=d[Ze],An(b)?v!=null?b[c]=v:b[c]=d[Ge]:v!=null?b[c].value=v:b[c].value=d[Ge]}else!(d instanceof l)&&!(d instanceof a)&&!te(d)&&!n.includes(d)&&(typeof d.type=="symbol"&&n.push(d),r(d,[...s,c])&&(Yt(d)&&!Yt(i)?console.warn("Found array that contains persistent values when adding layer. Keep in mind changing the order of elements in the array will mess with existing player saves.",Re in i?i[Re]:i,c):o=!0))}}),o};r(e[Re]),Ke[e.id].forEach(i=>{i[Ot]||console.error(`Created persistent ref in ${e.id} without registering it to the layer!`,`Make sure to include everything persistent in the returned object. Created at: `+i[yt])}),Ke[e.id].clear()});const Ut=Symbol("RegisterNode"),zt=Symbol("UnregisterNode"),Gt=Symbol("Nodes"),jt=Symbol("Bounds"),le=Ct({});window.layers=le;const Ke={},ve=[];function Ht(e,t){return He(()=>{const n={},r=n.emitter=cn();if(n.on=r.on.bind(r),n.emit=r.emit.bind(r),n.nodes=F({}),n.id=e,ve.push(e),Ke[e]=new Set,n.minimized=ct(!1,!1),Object.assign(n,t.call(n,n)),ve[ve.length-1]==null||ve[ve.length-1]!==e)throw new Error(`Adding layers stack in invalid state. This should not happen Stack: ${ve} -Trying to pop ${n.id}`);ve.pop(),E(n,"color"),E(n,"display"),E(n,"classes"),E(n,"style"),E(n,"name"),ce(n,"name",n.id),E(n,"minWidth"),ce(n,"minWidth",600),E(n,"minimizable"),ce(n,"minimizable",!0),E(n,"minimizedDisplay");const i=n.style;return n.style=P(()=>{var o,u;let s=c(n.minWidth);return(typeof s=="number"||!Number.isNaN(parseInt(s)))&&(s=s+"px"),[(o=c(i))!=null?o:"",(u=n.minimized)!=null&&u.value?{flexGrow:"0",flexShrink:"0",width:"60px",minWidth:"",flexBasis:"",margin:"0"}:{flexGrow:"",flexShrink:"",width:"",minWidth:s,flexBasis:s,margin:""}]}),n})}function Mn(e,t){if(console.info("Adding layer",e.id),le[e.id]){console.error("Attempted to add layer with same ID as existing layer",e.id,le[e.id]);return}ce(t,"layers",{}),t.layers[e.id]==null&&(t.layers[e.id]={}),le[e.id]=e,se.emit("addLayer",e,t.layers[e.id])}function oa(e){return le[e]}function $n(e){console.info("Removing layer",e.id),se.emit("removeLayer",e),le[e.id]=void 0}function la(e){$n(e),Mn(e,x)}function ua(e){const t=F(!1);return{openModal:()=>t.value=!0,modal:ee(()=>y(je,{modelValue:t.value,"onUpdate:modelValue":n=>t.value=n},{header:()=>y("h2",null,[c(e.name)]),body:c(e.display)}))}}se.on("update",function(t){Object.values(le).forEach(n=>{n==null||n.emit("preUpdate",t)}),Object.values(le).forEach(n=>{n==null||n.emit("update",t)}),Object.values(le).forEach(n=>{n==null||n.emit("postUpdate",t)})});var ca=Object.freeze(Object.defineProperty({__proto__:null,RegisterNodeInjectionKey:Ut,UnregisterNodeInjectionKey:zt,NodesInjectionKey:Gt,BoundsInjectionKey:jt,layers:le,persistentRefs:Ke,addingLayers:ve,createLayer:Ht,addLayer:Mn,getLayer:oa,removeLayer:$n,reloadLayer:la,setupLayerModal:ua},Symbol.toStringTag,{value:"Module"}));const da=q({components:{Context:Sn,ErrorVue:dn},props:{index:{type:Number,required:!0},display:{type:B(Object,String,Function),required:!0},minimizedDisplay:B(Object,String,Function),minimized:{type:Object,required:!0},name:{type:B(String),required:!0},color:B(String),minimizable:B(Boolean),nodes:{type:Object,required:!0}},emits:["setMinimized"],setup(e){const{display:t,index:n,minimized:r,minimizedDisplay:i}=de(e),s=wi(t),o=Qe(i),u=P(()=>A.allowGoBack&&n.value>0&&!ye(r));function d(){x.tabs.splice(c(e.index),1/0)}function g(v){e.nodes.value=v}const b=F([]);return Bn((v,N,k)=>(console.warn(`Error caught in "${e.name}" layer`,v,N,k),b.value.push(v instanceof Error?v:new Error(JSON.stringify(v))),!1)),{component:s,minimizedComponent:o,showGoBack:u,updateNodes:g,unref:c,goBack:d,errors:b}}}),fa={key:1};function ga(e,t,n,r,i,s){const o=ze("ErrorVue"),u=ze("Context");return e.errors.length>0?(p(),L(o,{key:0,errors:e.errors},null,8,["errors"])):(p(),_("div",Oe({key:1,class:"layer-container",style:{"--layer-color":e.unref(e.color)}},e.$attrs),[e.showGoBack?(p(),_("button",{key:0,class:"goBack",onClick:t[0]||(t[0]=(...d)=>e.goBack&&e.goBack(...d))},"\u274C")):$("",!0),e.unref(e.minimized)?(p(),_("button",{key:1,class:"layer-tab minimized",onClick:t[1]||(t[1]=d=>e.$emit("setMinimized",!1))},[e.minimizedComponent?(p(),L(ie(e.minimizedComponent),{key:0})):(p(),_("div",fa,D(e.unref(e.name)),1))])):(p(),_("div",{key:2,class:ae(["layer-tab",{showGoBack:e.showGoBack}])},[y(u,{onUpdateNodes:e.updateNodes},{default:V(()=>[(p(),L(ie(e.component)))]),_:1},8,["onUpdateNodes"])],2)),e.unref(e.minimizable)?(p(),_("button",{key:3,class:"minimize",onClick:t[2]||(t[2]=d=>e.$emit("setMinimized",!0))}," \u25BC ")):$("",!0)],16))}var ma=z(da,[["render",ga],["__scopeId","data-v-a9f5b1da"]]);const xn=e=>(Ie("data-v-4b4bda40"),e=e(),Me(),e),ha=xn(()=>m("h2",null,"Changelog",-1)),pa=xn(()=>m("details",{open:""},[m("summary",null,[T("v0.0 Initial Commit - "),m("time",null,"2021-09-04")]),T(" This is the first release :D "),m("ul",null,[m("li",{class:"feature"},"Did everything"),m("li",{class:"fix"},"Had some fun"),m("li",{class:"breaking"},"Removed everything"),m("li",{class:"balancing"},"Created some bugs to fix later")])],-1)),va=q({__name:"Changelog",setup(e,{expose:t}){const n=F(!1);return t({open(){n.value=!0}}),(r,i)=>(p(),L(je,{modelValue:n.value,"onUpdate:modelValue":i[0]||(i[0]=s=>n.value=s)},{header:V(()=>[ha]),body:V(()=>[pa]),_:1},8,["modelValue"]))}});var ba=z(va,[["__scopeId","data-v-4b4bda40"]]),ya=q({props:{element:Object,display:{type:B(Object,String,Function),required:!0},style:B(Object,String,Array),classes:B(Object),direction:B(String),xoffset:B(String),yoffset:B(String),pinned:Object},setup(e){const{element:t,display:n,pinned:r}=de(e),i=F(!1),s=P(()=>(ye(r)||i.value)&&o.value),o=Qe(n),u=be(ue(ee(()=>{const b=ye(t);return b==null?"":ht(b)})));function d(b){const v=r;b.shiftKey&&v&&(v.value=!v.value,b.stopPropagation(),b.preventDefault())}const g=P(()=>ye(r)&&At[ne.theme].showPin);return{Direction:Z,isHovered:i,isShown:s,comp:o,elementComp:u,unref:c,togglePinned:d,showPin:g}}});const _a={key:0,class:"material-icons pinned"};function Na(e,t,n,r,i,s){return p(),_("div",{class:ae(["tooltip-container",{shown:e.isShown}]),onMouseenter:t[0]||(t[0]=o=>e.isHovered=!0),onMouseleave:t[1]||(t[1]=o=>e.isHovered=!1),onClickCapture:t[2]||(t[2]=(...o)=>e.togglePinned&&e.togglePinned(...o))},[Te(e.$slots,"default",{},void 0,!0),e.elementComp?(p(),L(ie(e.elementComp),{key:0})):$("",!0),y(un,{name:"fade"},{default:V(()=>{var o;return[e.isShown?(p(),_("div",{key:0,class:ae(["tooltip",{top:e.unref(e.direction)===e.Direction.Up,left:e.unref(e.direction)===e.Direction.Left,right:e.unref(e.direction)===e.Direction.Right,bottom:e.unref(e.direction)===e.Direction.Down,...e.unref(e.classes)}]),style:ge([{"--xoffset":e.unref(e.xoffset)||"0px","--yoffset":e.unref(e.yoffset)||"0px"},(o=e.unref(e.style))!=null?o:{}])},[e.showPin?(p(),_("span",_a,"push_pin")):$("",!0),e.comp?(p(),L(ie(e.comp),{key:1})):$("",!0)],6)):$("",!0)]}),_:1})],34)}var Q=z(ya,[["render",Na],["__scopeId","data-v-6102fa3a"]]);const We=e=>(Ie("data-v-10effbe8"),e=e(),Me(),e),wa={class:"info-modal-header"},Ca=["src","alt"],ka={class:"info-modal-title"},Sa={key:0},Ia={key:0},Ma={key:0},$a=We(()=>m("div",null," Made in Profectus, by thepaperpilot with inspiration from Acameada and Jacorb ",-1)),xa=We(()=>m("br",null,null,-1)),Fa=We(()=>m("br",null,null,-1)),Ta=["href"],Pa=We(()=>m("span",{class:"material-icons info-modal-discord"},"discord",-1)),Ea=We(()=>m("div",null,[m("a",{href:"https://discord.gg/yJ4fjnjU54",class:"info-modal-discord-link",target:"_blank"},[m("span",{class:"material-icons info-modal-discord"},"discord"),T(" Profectus & Friends ")])],-1)),Oa=We(()=>m("div",null,[m("a",{href:"https://discord.gg/F3xveHV",class:"info-modal-discord-link",target:"_blank"},[m("span",{class:"material-icons info-modal-discord"},"discord"),T(" The Modding Tree ")])],-1)),Va=We(()=>m("br",null,null,-1));var Da=q({__name:"Info",props:{changelog:null},setup(e,{expose:t}){const n=e,{title:r,logo:i,author:s,discordName:o,discordLink:u,versionNumber:d,versionTitle:g}=A,b=de(n),v=F(!1),N=P(()=>St(x.timePlayed)),k=P(()=>ue(ee(()=>y(j,null,[Cn.map(ut)]))));t({open(){v.value=!0}});function I(){var C;(C=c(b.changelog))==null||C.open()}return(C,G)=>(p(),L(je,{modelValue:v.value,"onUpdate:modelValue":G[0]||(G[0]=Y=>v.value=Y)},{header:V(()=>[m("div",wa,[c(i)?(p(),_("img",{key:0,class:"info-modal-logo",src:c(i),alt:c(r)},null,8,Ca)):$("",!0),m("div",ka,[m("h2",null,D(c(r)),1),m("h4",null,[T(" v"+D(c(d)),1),c(g)?(p(),_("span",Sa,": "+D(c(g)),1)):$("",!0)])])])]),body:V(({shown:Y})=>[Y?(p(),_("div",Ia,[c(s)?(p(),_("div",Ma,"By "+D(c(s)),1)):$("",!0),$a,xa,m("div",{class:"link",onClick:I},"Changelog"),Fa,m("div",null,[c(u)?(p(),_("a",{key:0,href:c(u),class:"info-modal-discord-link",target:"_blank"},[Pa,T(" "+D(c(o)),1)],8,Ta)):$("",!0)]),Ea,Oa,Va,m("div",null,"Time Played: "+D(c(N)),1),(p(),L(ie(c(k))))])):$("",!0)]),_:1},8,["modelValue"]))}});var La=z(Da,[["__scopeId","data-v-10effbe8"]]);const Ra={class:"field"},qa={key:0,class:"field-title"},Fn=q({__name:"Select",props:{title:null,modelValue:null,options:null,placeholder:null,closeOnSelect:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){var o;const n=e,r=Qe(ke(n,"title"),"span"),i=F((o=n.options.find(u=>u.value===n.modelValue))!=null?o:null);_e(ke(n,"modelValue"),u=>{var d;ye(i)!==u&&(i.value=(d=n.options.find(g=>g.value===u))!=null?d:null)});function s(u){t("update:modelValue",u.value)}return(u,d)=>(p(),_("div",Ra,[c(r)?(p(),_("span",qa,[(p(),L(ie(c(r))))])):$("",!0),y(c(Hn),{options:e.options,modelValue:i.value,"onUpdate:modelValue":[d[0]||(d[0]=g=>i.value=g),s],min:1,"label-by":"label",placeholder:e.placeholder,"close-on-select":e.closeOnSelect},null,8,["options","modelValue","placeholder","close-on-select"])]))}});const Aa={class:"field"},Ba=q({__name:"Toggle",props:{title:null,modelValue:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,r=P(()=>{var s;return ue((s=c(n.title))!=null?s:"","span")}),i=P({get(){return!!n.modelValue},set(s){t("update:modelValue",s)}});return(s,o)=>(p(),_("label",Aa,[Dt(m("input",{type:"checkbox",class:"toggle","onUpdate:modelValue":o[0]||(o[0]=u=>te(i)?i.value=u:null)},null,512),[[Un,c(i)]]),(p(),L(ie(c(r))))]))}});var we=z(Ba,[["__scopeId","data-v-11046116"]]);const Ua={class:"header"},za=m("h2",null,"Settings",-1),Ga={class:"option-tabs"},ja={key:0},Ha={key:1};var Wa=q({__name:"Options",setup(e,{expose:t}){const n=F(!1),r=F("behaviour");function i(oe){return oe==r.value}function s(oe){r.value=oe}t({isTab:i,setTab:s,save:fe,open(){n.value=!0}});const o=Object.keys(At).map(oe=>({label:bn(oe),value:oe})),u=P(()=>ue(ee(()=>y(j,null,[yi.map(ut)])))),{showTPS:d,theme:g,unthrottled:b,alignUnits:v}=de(ne),{autosave:N,offlineProd:k}=de(x),I=P({get(){return x.devSpeed===0},set(oe){x.devSpeed=oe?0:null}}),C=ee(()=>y("span",{class:"option-title"},[T("Unthrottled"),y("desc",null,[T("Allow the game to run as fast as possible. Not battery friendly.")])])),G=ee(()=>y("span",{class:"option-title"},[T("Offline Production"),y(Q,{display:"Save-specific",direction:Z.Right},{default:()=>[T("*")]}),y("desc",null,[T("Simulate production that occurs while the game is closed.")])])),Y=ee(()=>y("span",{class:"option-title"},[T("Autosave"),y(Q,{display:"Save-specific",direction:Z.Right},{default:()=>[T("*")]}),y("desc",null,[T("Automatically save the game every second or when the game is closed.")])])),S=ee(()=>y("span",{class:"option-title"},[T("Pause game"),y(Q,{display:"Save-specific",direction:Z.Right},{default:()=>[T("*")]}),y("desc",null,[T("Stop everything from moving.")])])),M=ee(()=>y("span",{class:"option-title"},[T("Theme"),y("desc",null,[T("How the game looks.")])])),U=ee(()=>y("span",{class:"option-title"},[T("Show TPS"),y("desc",null,[T("Show TPS meter at the bottom-left corner of the page.")])])),Ne=ee(()=>y("span",{class:"option-title"},[T("Align modifier units"),y("desc",null,[T("Align numbers to the beginning of the unit in modifier view.")])]));return(oe,W)=>(p(),L(je,{modelValue:n.value,"onUpdate:modelValue":W[10]||(W[10]=re=>n.value=re)},{header:V(()=>[m("div",Ua,[za,m("div",Ga,[m("button",{class:ae({selected:i("behaviour")}),onClick:W[0]||(W[0]=re=>s("behaviour"))},"Behaviour",2),m("button",{class:ae({selected:i("appearance")}),onClick:W[1]||(W[1]=re=>s("appearance"))},"Appearance",2)])])]),body:V(()=>[i("behaviour")?(p(),_("div",ja,[y(we,{title:c(C),modelValue:c(b),"onUpdate:modelValue":W[2]||(W[2]=re=>te(b)?b.value=re:null)},null,8,["title","modelValue"]),c(A).enablePausing?(p(),L(we,{key:0,title:c(S),modelValue:c(I),"onUpdate:modelValue":W[3]||(W[3]=re=>te(I)?I.value=re:null)},null,8,["title","modelValue"])):$("",!0),y(we,{title:c(G),modelValue:c(k),"onUpdate:modelValue":W[4]||(W[4]=re=>te(k)?k.value=re:null)},null,8,["title","modelValue"]),y(we,{title:c(Y),modelValue:c(N),"onUpdate:modelValue":W[5]||(W[5]=re=>te(N)?N.value=re:null)},null,8,["title","modelValue"]),c(N)?$("",!0):(p(),L(Rt,{key:1,class:"button save-button",onClick:W[6]||(W[6]=re=>c(fe)())},{default:V(()=>[T("Manually save")]),_:1}))])):$("",!0),i("appearance")?(p(),_("div",Ha,[y(Fn,{title:c(M),options:c(o),modelValue:c(g),"onUpdate:modelValue":W[7]||(W[7]=re=>te(g)?g.value=re:null)},null,8,["title","options","modelValue"]),(p(),L(ie(c(u)))),y(we,{title:c(U),modelValue:c(d),"onUpdate:modelValue":W[8]||(W[8]=re=>te(d)?d.value=re:null)},null,8,["title","modelValue"]),y(we,{title:c(Ne),modelValue:c(v),"onUpdate:modelValue":W[9]||(W[9]=re=>te(v)?v.value=re:null)},null,8,["title","modelValue"])])):$("",!0)]),_:1},8,["modelValue"]))}});const Ja=["onSubmit"],Za={class:"field"},Ka={key:0,class:"field-title"},Ya=["placeholder"],Xa=q({__name:"Text",props:{title:null,modelValue:null,textArea:{type:Boolean},placeholder:null,maxHeight:null,submitOnBlur:{type:Boolean}},emits:["update:modelValue","submit","cancel"],setup(e,{emit:t}){const n=e,r=Qe(ke(n,"title"),"span"),i=be(null);lt(()=>{var d;(d=i.value)==null||d.focus()});const s=P({get(){var d;return(d=c(n.modelValue))!=null?d:""},set(d){t("update:modelValue",d)}});function o(){t("submit")}function u(){n.submitOnBlur!==!1?t("submit"):t("cancel")}return(d,g)=>(p(),_("form",{onSubmit:rt(o,["prevent"])},[m("div",Za,[c(r)?(p(),_("span",Ka,[(p(),L(ie(c(r))))])):$("",!0),e.textArea?(p(),L(c(Jn),{key:1,modelValue:c(s),"onUpdate:modelValue":g[0]||(g[0]=b=>te(s)?s.value=b:null),placeholder:e.placeholder,maxHeight:e.maxHeight,onBlur:u,ref_key:"field",ref:i},null,8,["modelValue","placeholder","maxHeight"])):Dt((p(),_("input",{key:2,type:"text","onUpdate:modelValue":g[1]||(g[1]=b=>te(s)?s.value=b:null),placeholder:e.placeholder,class:ae({fullWidth:!e.title}),onBlur:u,ref_key:"field",ref:i},null,42,Ya)),[[zn,c(s)]])])],40,Ja))}});var Tn=z(Xa,[["__scopeId","data-v-90bd4994"]]);const Qa={key:0},eo=["onClick","disabled"],to={key:0},no=["onClick"],ro=q({__name:"DangerButton",props:{disabled:{type:Boolean},skipConfirm:{type:Boolean}},emits:["click","confirmingChanged"],setup(e,{emit:t}){const r=de(e),i=F(!1);_e(i,u=>{t("confirmingChanged",u)});function s(){if(c(r.skipConfirm)){t("click");return}i.value&&t("click"),i.value=!i.value}function o(){i.value=!1}return(u,d)=>(p(),_("span",{class:ae(["container",{confirming:i.value}])},[i.value?(p(),_("span",Qa,"Are you sure?")):$("",!0),m("button",{onClick:rt(s,["stop"]),class:"button danger",disabled:e.disabled},[i.value?(p(),_("span",to,"Yes")):Te(u.$slots,"default",{key:1},void 0,!0)],8,eo),i.value?(p(),_("button",{key:1,class:"button",onClick:rt(o,["stop"])},"No",8,no)):$("",!0)],2))}});var io=z(ro,[["__scopeId","data-v-2f8ef34c"]]);const $e=e=>(Ie("data-v-32313015"),e=e(),Me(),e),so=$e(()=>m("div",{class:"handle material-icons"},"drag_handle",-1)),ao={key:0,class:"actions"},oo=$e(()=>m("span",{class:"material-icons"},"content_paste",-1)),lo=$e(()=>m("span",{class:"material-icons"},"content_copy",-1)),uo=$e(()=>m("span",{class:"material-icons"},"edit",-1)),co=$e(()=>m("span",{class:"material-icons",style:{margin:"-2px"}},"delete",-1)),fo={key:1,class:"actions"},go=$e(()=>m("span",{class:"material-icons"},"check",-1)),mo=$e(()=>m("span",{class:"material-icons"},"close",-1)),ho={key:2,class:"details"},po={class:"save-version"},vo=$e(()=>m("br",null,null,-1)),bo={key:0},yo={key:3,class:"details"},_o={key:4,class:"details error"},No=$e(()=>m("br",null,null,-1)),wo=q({__name:"Save",props:{save:null},emits:["export","open","duplicate","delete","editName"],setup(e,{emit:t}){const n=e,{save:r}=de(n),i=new Intl.DateTimeFormat("en-US",{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}),s=F(!1),o=F(!1),u=F("");_e(s,()=>{var v;return u.value=(v=r.value.name)!=null?v:""});const d=P(()=>r.value!=null&&r.value.id===x.id),g=P(()=>{var v;return d.value?x.time:(v=r.value!=null&&r.value.time)!=null?v:0});function b(){t("editName",u.value),s.value=!1}return(v,N)=>(p(),_("div",{class:ae(["save",{active:c(d)}])},[so,s.value?(p(),_("div",fo,[m("button",{onClick:b,class:"button"},[y(Q,{display:"Save",direction:c(Z).Left,class:"info"},{default:V(()=>[go]),_:1},8,["direction"])]),m("button",{onClick:N[5]||(N[5]=k=>s.value=!s.value),class:"button"},[y(Q,{display:"Cancel",direction:c(Z).Left,class:"info"},{default:V(()=>[mo]),_:1},8,["direction"])])])):(p(),_("div",ao,[c(r).error==null&&!o.value?(p(),L(Rt,{key:0,onClick:N[0]||(N[0]=k=>t("export")),class:"button",left:""},{default:V(()=>[y(Q,{display:"Export",direction:c(Z).Left,class:"info"},{default:V(()=>[oo]),_:1},8,["direction"])]),_:1})):$("",!0),c(r).error==null&&!o.value?(p(),_("button",{key:1,onClick:N[1]||(N[1]=k=>t("duplicate")),class:"button"},[y(Q,{display:"Duplicate",direction:c(Z).Left,class:"info"},{default:V(()=>[lo]),_:1},8,["direction"])])):$("",!0),c(r).error==null&&!o.value?(p(),_("button",{key:2,onClick:N[2]||(N[2]=k=>s.value=!s.value),class:"button"},[y(Q,{display:"Edit Name",direction:c(Z).Left,class:"info"},{default:V(()=>[uo]),_:1},8,["direction"])])):$("",!0),y(io,{disabled:c(d),onClick:N[3]||(N[3]=k=>t("delete")),onConfirmingChanged:N[4]||(N[4]=k=>o.value=k)},{default:V(()=>[y(Q,{display:"Delete",direction:c(Z).Left,class:"info"},{default:V(()=>[co]),_:1},8,["direction"])]),_:1},8,["disabled"])])),c(r).error==null&&!s.value?(p(),_("div",ho,[m("button",{class:"button open",onClick:N[6]||(N[6]=k=>t("open"))},[m("h3",null,D(c(r).name),1)]),m("span",po,"v"+D(c(r).modVersion),1),vo,c(g)?(p(),_("div",bo,"Last played "+D(c(i).format(c(g))),1)):$("",!0)])):c(r).error==null&&s.value?(p(),_("div",yo,[y(Tn,{modelValue:u.value,"onUpdate:modelValue":N[7]||(N[7]=k=>u.value=k),class:"editname",onSubmit:b},null,8,["modelValue"])])):(p(),_("div",_o,[T(" Error: Failed to load save with id "+D(c(r).id),1),No,T(D(c(r).error),1)]))],2))}});var Co=z(wo,[["__scopeId","data-v-32313015"]]);const Wt=e=>(Ie("data-v-2a4275be"),e=e(),Me(),e),ko=Wt(()=>m("h2",null,"Saves Manager",-1)),So={class:"modal-footer"},Io={class:"field"},Mo=Wt(()=>m("span",{class:"field-title"},"Create Save",-1)),$o={class:"field-buttons"},xo={class:"footer"},Fo=Wt(()=>m("div",{style:{"flex-grow":"1"}},null,-1)),To=q({__name:"SavesManager",setup(e,{expose:t}){const n=F(!1),r=F(null);t({open(){n.value=!0}});const i=F(!1),s=F(""),o=F(null);_e(s,S=>{S?Ue(()=>{try{if(S[0]!=="{")if(S[0]==="e")S=decodeURIComponent(escape(atob(S)));else if(S[0]==="\u1BE1")S=Ce.decompressFromUTF16(S);else{console.warn("Unable to determine preset encoding",S),i.value=!0;return}const M=JSON.parse(S);if(typeof M!="object"){i.value=!0;return}const U=mt();M.id=U,fe(M),s.value="",i.value=!1,ne.saves.push(U)}catch{i.value=!0}}):i.value=!1});let u={},d=F(Object.keys(u).reduce((S,M)=>(S.push({label:M.split("/").slice(-1)[0].slice(0,-4),value:u[M]}),S),[]));const g=Ct({});function b(S){if(g[S]==null){let M=localStorage.getItem(S);if(M==null)g[S]={error:"Save doesn't exist in localStorage",id:S};else if(M==="dW5kZWZpbmVk")g[S]={error:"Save is undefined",id:S};else try{if(M[0]!=="{")if(M[0]==="e")M=decodeURIComponent(escape(atob(M)));else if(M[0]==="\u1BE1")M=Ce.decompressFromUTF16(M);else return console.warn("Unable to determine preset encoding",M),i.value=!0,g[S]={error:"Unable to determine preset encoding",id:S},g[S];g[S]={...JSON.parse(M),id:S}}catch(U){g[S]={error:U,id:S},console.warn(`SavesManager: Failed to load info about save with id ${S}: +Trying to pop ${n.id}`);ve.pop(),E(n,"color"),E(n,"display"),E(n,"classes"),E(n,"style"),E(n,"name"),ce(n,"name",n.id),E(n,"minWidth"),ce(n,"minWidth",600),E(n,"minimizable"),ce(n,"minimizable",!0),E(n,"minimizedDisplay");const i=n.style;return n.style=P(()=>{var o,c;let s=u(n.minWidth);return(typeof s=="number"||!Number.isNaN(parseInt(s)))&&(s=s+"px"),[(o=u(i))!=null?o:"",(c=n.minimized)!=null&&c.value?{flexGrow:"0",flexShrink:"0",width:"60px",minWidth:"",flexBasis:"",margin:"0"}:{flexGrow:"",flexShrink:"",width:"",minWidth:s,flexBasis:s,margin:""}]}),n})}function Mn(e,t){if(console.info("Adding layer",e.id),le[e.id]){console.error("Attempted to add layer with same ID as existing layer",e.id,le[e.id]);return}ce(t,"layers",{}),t.layers[e.id]==null&&(t.layers[e.id]={}),le[e.id]=e,se.emit("addLayer",e,t.layers[e.id])}function oa(e){return le[e]}function $n(e){console.info("Removing layer",e.id),se.emit("removeLayer",e),le[e.id]=void 0}function la(e){$n(e),Mn(e,x)}function ua(e){const t=F(!1);return{openModal:()=>t.value=!0,modal:ee(()=>y(je,{modelValue:t.value,"onUpdate:modelValue":n=>t.value=n},{header:()=>y("h2",null,[u(e.name)]),body:u(e.display)}))}}se.on("update",function(t){Object.values(le).forEach(n=>{n==null||n.emit("preUpdate",t)}),Object.values(le).forEach(n=>{n==null||n.emit("update",t)}),Object.values(le).forEach(n=>{n==null||n.emit("postUpdate",t)})});var ca=Object.freeze(Object.defineProperty({__proto__:null,RegisterNodeInjectionKey:Ut,UnregisterNodeInjectionKey:zt,NodesInjectionKey:Gt,BoundsInjectionKey:jt,layers:le,persistentRefs:Ke,addingLayers:ve,createLayer:Ht,addLayer:Mn,getLayer:oa,removeLayer:$n,reloadLayer:la,setupLayerModal:ua},Symbol.toStringTag,{value:"Module"}));const da=q({components:{Context:Sn,ErrorVue:dn},props:{index:{type:Number,required:!0},display:{type:B(Object,String,Function),required:!0},minimizedDisplay:B(Object,String,Function),minimized:{type:Object,required:!0},name:{type:B(String),required:!0},color:B(String),minimizable:B(Boolean),nodes:{type:Object,required:!0}},emits:["setMinimized"],setup(e){const{display:t,index:n,minimized:r,minimizedDisplay:i}=de(e),s=wi(t),o=Qe(i),c=P(()=>A.allowGoBack&&n.value>0&&!ye(r));function d(){x.tabs.splice(u(e.index),1/0)}function g(v){e.nodes.value=v}const b=F([]);return Bn((v,N,k)=>(console.warn(`Error caught in "${e.name}" layer`,v,N,k),b.value.push(v instanceof Error?v:new Error(JSON.stringify(v))),!1)),{component:s,minimizedComponent:o,showGoBack:c,updateNodes:g,unref:u,goBack:d,errors:b}}}),fa={key:1};function ga(e,t,n,r,i,s){const o=ze("ErrorVue"),c=ze("Context");return e.errors.length>0?(p(),L(o,{key:0,errors:e.errors},null,8,["errors"])):(p(),_("div",Oe({key:1,class:"layer-container",style:{"--layer-color":e.unref(e.color)}},e.$attrs),[e.showGoBack?(p(),_("button",{key:0,class:"goBack",onClick:t[0]||(t[0]=(...d)=>e.goBack&&e.goBack(...d))},"\u274C")):$("",!0),e.unref(e.minimized)?(p(),_("button",{key:1,class:"layer-tab minimized",onClick:t[1]||(t[1]=d=>e.$emit("setMinimized",!1))},[e.minimizedComponent?(p(),L(ie(e.minimizedComponent),{key:0})):(p(),_("div",fa,D(e.unref(e.name)),1))])):(p(),_("div",{key:2,class:ae(["layer-tab",{showGoBack:e.showGoBack}])},[y(c,{onUpdateNodes:e.updateNodes},{default:V(()=>[(p(),L(ie(e.component)))]),_:1},8,["onUpdateNodes"])],2)),e.unref(e.minimizable)?(p(),_("button",{key:3,class:"minimize",onClick:t[2]||(t[2]=d=>e.$emit("setMinimized",!0))}," \u25BC ")):$("",!0)],16))}var ma=z(da,[["render",ga],["__scopeId","data-v-a9f5b1da"]]);const xn=e=>(Ie("data-v-4b4bda40"),e=e(),Me(),e),ha=xn(()=>m("h2",null,"Changelog",-1)),pa=xn(()=>m("details",{open:""},[m("summary",null,[T("v0.0 Initial Commit - "),m("time",null,"2021-09-04")]),T(" This is the first release :D "),m("ul",null,[m("li",{class:"feature"},"Did everything"),m("li",{class:"fix"},"Had some fun"),m("li",{class:"breaking"},"Removed everything"),m("li",{class:"balancing"},"Created some bugs to fix later")])],-1)),va=q({__name:"Changelog",setup(e,{expose:t}){const n=F(!1);return t({open(){n.value=!0}}),(r,i)=>(p(),L(je,{modelValue:n.value,"onUpdate:modelValue":i[0]||(i[0]=s=>n.value=s)},{header:V(()=>[ha]),body:V(()=>[pa]),_:1},8,["modelValue"]))}});var ba=z(va,[["__scopeId","data-v-4b4bda40"]]),ya=q({props:{element:Object,display:{type:B(Object,String,Function),required:!0},style:B(Object,String,Array),classes:B(Object),direction:B(String),xoffset:B(String),yoffset:B(String),pinned:Object},setup(e){const{element:t,display:n,pinned:r}=de(e),i=F(!1),s=P(()=>(ye(r)||i.value)&&o.value),o=Qe(n),c=be(ue(ee(()=>{const b=ye(t);return b==null?"":ht(b)})));function d(b){const v=r;b.shiftKey&&v&&(v.value=!v.value,b.stopPropagation(),b.preventDefault())}const g=P(()=>ye(r)&&At[ne.theme].showPin);return{Direction:Z,isHovered:i,isShown:s,comp:o,elementComp:c,unref:u,togglePinned:d,showPin:g}}});const _a={key:0,class:"material-icons pinned"};function Na(e,t,n,r,i,s){return p(),_("div",{class:ae(["tooltip-container",{shown:e.isShown}]),onMouseenter:t[0]||(t[0]=o=>e.isHovered=!0),onMouseleave:t[1]||(t[1]=o=>e.isHovered=!1),onClickCapture:t[2]||(t[2]=(...o)=>e.togglePinned&&e.togglePinned(...o))},[Te(e.$slots,"default",{},void 0,!0),e.elementComp?(p(),L(ie(e.elementComp),{key:0})):$("",!0),y(un,{name:"fade"},{default:V(()=>{var o;return[e.isShown?(p(),_("div",{key:0,class:ae(["tooltip",{top:e.unref(e.direction)===e.Direction.Up,left:e.unref(e.direction)===e.Direction.Left,right:e.unref(e.direction)===e.Direction.Right,bottom:e.unref(e.direction)===e.Direction.Down,...e.unref(e.classes)}]),style:ge([{"--xoffset":e.unref(e.xoffset)||"0px","--yoffset":e.unref(e.yoffset)||"0px"},(o=e.unref(e.style))!=null?o:{}])},[e.showPin?(p(),_("span",_a,"push_pin")):$("",!0),e.comp?(p(),L(ie(e.comp),{key:1})):$("",!0)],6)):$("",!0)]}),_:1})],34)}var Q=z(ya,[["render",Na],["__scopeId","data-v-6102fa3a"]]);const We=e=>(Ie("data-v-10effbe8"),e=e(),Me(),e),wa={class:"info-modal-header"},Ca=["src","alt"],ka={class:"info-modal-title"},Sa={key:0},Ia={key:0},Ma={key:0},$a=We(()=>m("div",null," Made in Profectus, by thepaperpilot with inspiration from Acameada and Jacorb ",-1)),xa=We(()=>m("br",null,null,-1)),Fa=We(()=>m("br",null,null,-1)),Ta=["href"],Pa=We(()=>m("span",{class:"material-icons info-modal-discord"},"discord",-1)),Ea=We(()=>m("div",null,[m("a",{href:"https://discord.gg/yJ4fjnjU54",class:"info-modal-discord-link",target:"_blank"},[m("span",{class:"material-icons info-modal-discord"},"discord"),T(" Profectus & Friends ")])],-1)),Oa=We(()=>m("div",null,[m("a",{href:"https://discord.gg/F3xveHV",class:"info-modal-discord-link",target:"_blank"},[m("span",{class:"material-icons info-modal-discord"},"discord"),T(" The Modding Tree ")])],-1)),Va=We(()=>m("br",null,null,-1));var Da=q({__name:"Info",props:{changelog:null},setup(e,{expose:t}){const n=e,{title:r,logo:i,author:s,discordName:o,discordLink:c,versionNumber:d,versionTitle:g}=A,b=de(n),v=F(!1),N=P(()=>St(x.timePlayed)),k=P(()=>ue(ee(()=>y(j,null,[Cn.map(ut)]))));t({open(){v.value=!0}});function I(){var C;(C=u(b.changelog))==null||C.open()}return(C,G)=>(p(),L(je,{modelValue:v.value,"onUpdate:modelValue":G[0]||(G[0]=Y=>v.value=Y)},{header:V(()=>[m("div",wa,[u(i)?(p(),_("img",{key:0,class:"info-modal-logo",src:u(i),alt:u(r)},null,8,Ca)):$("",!0),m("div",ka,[m("h2",null,D(u(r)),1),m("h4",null,[T(" v"+D(u(d)),1),u(g)?(p(),_("span",Sa,": "+D(u(g)),1)):$("",!0)])])])]),body:V(({shown:Y})=>[Y?(p(),_("div",Ia,[u(s)?(p(),_("div",Ma,"By "+D(u(s)),1)):$("",!0),$a,xa,m("div",{class:"link",onClick:I},"Changelog"),Fa,m("div",null,[u(c)?(p(),_("a",{key:0,href:u(c),class:"info-modal-discord-link",target:"_blank"},[Pa,T(" "+D(u(o)),1)],8,Ta)):$("",!0)]),Ea,Oa,Va,m("div",null,"Time Played: "+D(u(N)),1),(p(),L(ie(u(k))))])):$("",!0)]),_:1},8,["modelValue"]))}});var La=z(Da,[["__scopeId","data-v-10effbe8"]]);const Ra={class:"field"},qa={key:0,class:"field-title"},Fn=q({__name:"Select",props:{title:null,modelValue:null,options:null,placeholder:null,closeOnSelect:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){var o;const n=e,r=Qe(ke(n,"title"),"span"),i=F((o=n.options.find(c=>c.value===n.modelValue))!=null?o:null);_e(ke(n,"modelValue"),c=>{var d;ye(i)!==c&&(i.value=(d=n.options.find(g=>g.value===c))!=null?d:null)});function s(c){t("update:modelValue",c.value)}return(c,d)=>(p(),_("div",Ra,[u(r)?(p(),_("span",qa,[(p(),L(ie(u(r))))])):$("",!0),y(u(Hn),{options:e.options,modelValue:i.value,"onUpdate:modelValue":[d[0]||(d[0]=g=>i.value=g),s],min:1,"label-by":"label",placeholder:e.placeholder,"close-on-select":e.closeOnSelect},null,8,["options","modelValue","placeholder","close-on-select"])]))}});const Aa={class:"field"},Ba=q({__name:"Toggle",props:{title:null,modelValue:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,r=P(()=>{var s;return ue((s=u(n.title))!=null?s:"","span")}),i=P({get(){return!!n.modelValue},set(s){t("update:modelValue",s)}});return(s,o)=>(p(),_("label",Aa,[Dt(m("input",{type:"checkbox",class:"toggle","onUpdate:modelValue":o[0]||(o[0]=c=>te(i)?i.value=c:null)},null,512),[[Un,u(i)]]),(p(),L(ie(u(r))))]))}});var we=z(Ba,[["__scopeId","data-v-11046116"]]);const Ua={class:"header"},za=m("h2",null,"Settings",-1),Ga={class:"option-tabs"},ja={key:0},Ha={key:1};var Wa=q({__name:"Options",setup(e,{expose:t}){const n=F(!1),r=F("behaviour");function i(oe){return oe==r.value}function s(oe){r.value=oe}t({isTab:i,setTab:s,save:fe,open(){n.value=!0}});const o=Object.keys(At).map(oe=>({label:bn(oe),value:oe})),c=P(()=>ue(ee(()=>y(j,null,[yi.map(ut)])))),{showTPS:d,theme:g,unthrottled:b,alignUnits:v}=de(ne),{autosave:N,offlineProd:k}=de(x),I=P({get(){return x.devSpeed===0},set(oe){x.devSpeed=oe?0:null}}),C=ee(()=>y("span",{class:"option-title"},[T("Unthrottled"),y("desc",null,[T("Allow the game to run as fast as possible. Not battery friendly.")])])),G=ee(()=>y("span",{class:"option-title"},[T("Offline Production"),y(Q,{display:"Save-specific",direction:Z.Right},{default:()=>[T("*")]}),y("desc",null,[T("Simulate production that occurs while the game is closed.")])])),Y=ee(()=>y("span",{class:"option-title"},[T("Autosave"),y(Q,{display:"Save-specific",direction:Z.Right},{default:()=>[T("*")]}),y("desc",null,[T("Automatically save the game every second or when the game is closed.")])])),S=ee(()=>y("span",{class:"option-title"},[T("Pause game"),y(Q,{display:"Save-specific",direction:Z.Right},{default:()=>[T("*")]}),y("desc",null,[T("Stop everything from moving.")])])),M=ee(()=>y("span",{class:"option-title"},[T("Theme"),y("desc",null,[T("How the game looks.")])])),U=ee(()=>y("span",{class:"option-title"},[T("Show TPS"),y("desc",null,[T("Show TPS meter at the bottom-left corner of the page.")])])),Ne=ee(()=>y("span",{class:"option-title"},[T("Align modifier units"),y("desc",null,[T("Align numbers to the beginning of the unit in modifier view.")])]));return(oe,W)=>(p(),L(je,{modelValue:n.value,"onUpdate:modelValue":W[10]||(W[10]=re=>n.value=re)},{header:V(()=>[m("div",Ua,[za,m("div",Ga,[m("button",{class:ae({selected:i("behaviour")}),onClick:W[0]||(W[0]=re=>s("behaviour"))},"Behaviour",2),m("button",{class:ae({selected:i("appearance")}),onClick:W[1]||(W[1]=re=>s("appearance"))},"Appearance",2)])])]),body:V(()=>[i("behaviour")?(p(),_("div",ja,[y(we,{title:u(C),modelValue:u(b),"onUpdate:modelValue":W[2]||(W[2]=re=>te(b)?b.value=re:null)},null,8,["title","modelValue"]),u(A).enablePausing?(p(),L(we,{key:0,title:u(S),modelValue:u(I),"onUpdate:modelValue":W[3]||(W[3]=re=>te(I)?I.value=re:null)},null,8,["title","modelValue"])):$("",!0),y(we,{title:u(G),modelValue:u(k),"onUpdate:modelValue":W[4]||(W[4]=re=>te(k)?k.value=re:null)},null,8,["title","modelValue"]),y(we,{title:u(Y),modelValue:u(N),"onUpdate:modelValue":W[5]||(W[5]=re=>te(N)?N.value=re:null)},null,8,["title","modelValue"]),u(N)?$("",!0):(p(),L(Rt,{key:1,class:"button save-button",onClick:W[6]||(W[6]=re=>u(fe)())},{default:V(()=>[T("Manually save")]),_:1}))])):$("",!0),i("appearance")?(p(),_("div",Ha,[y(Fn,{title:u(M),options:u(o),modelValue:u(g),"onUpdate:modelValue":W[7]||(W[7]=re=>te(g)?g.value=re:null)},null,8,["title","options","modelValue"]),(p(),L(ie(u(c)))),y(we,{title:u(U),modelValue:u(d),"onUpdate:modelValue":W[8]||(W[8]=re=>te(d)?d.value=re:null)},null,8,["title","modelValue"]),y(we,{title:u(Ne),modelValue:u(v),"onUpdate:modelValue":W[9]||(W[9]=re=>te(v)?v.value=re:null)},null,8,["title","modelValue"])])):$("",!0)]),_:1},8,["modelValue"]))}});const Ja=["onSubmit"],Za={class:"field"},Ka={key:0,class:"field-title"},Ya=["placeholder"],Xa=q({__name:"Text",props:{title:null,modelValue:null,textArea:{type:Boolean},placeholder:null,maxHeight:null,submitOnBlur:{type:Boolean}},emits:["update:modelValue","submit","cancel"],setup(e,{emit:t}){const n=e,r=Qe(ke(n,"title"),"span"),i=be(null);lt(()=>{var d;(d=i.value)==null||d.focus()});const s=P({get(){var d;return(d=u(n.modelValue))!=null?d:""},set(d){t("update:modelValue",d)}});function o(){t("submit")}function c(){n.submitOnBlur!==!1?t("submit"):t("cancel")}return(d,g)=>(p(),_("form",{onSubmit:rt(o,["prevent"])},[m("div",Za,[u(r)?(p(),_("span",Ka,[(p(),L(ie(u(r))))])):$("",!0),e.textArea?(p(),L(u(Jn),{key:1,modelValue:u(s),"onUpdate:modelValue":g[0]||(g[0]=b=>te(s)?s.value=b:null),placeholder:e.placeholder,maxHeight:e.maxHeight,onBlur:c,ref_key:"field",ref:i},null,8,["modelValue","placeholder","maxHeight"])):Dt((p(),_("input",{key:2,type:"text","onUpdate:modelValue":g[1]||(g[1]=b=>te(s)?s.value=b:null),placeholder:e.placeholder,class:ae({fullWidth:!e.title}),onBlur:c,ref_key:"field",ref:i},null,42,Ya)),[[zn,u(s)]])])],40,Ja))}});var Tn=z(Xa,[["__scopeId","data-v-90bd4994"]]);const Qa={key:0},eo=["onClick","disabled"],to={key:0},no=["onClick"],ro=q({__name:"DangerButton",props:{disabled:{type:Boolean},skipConfirm:{type:Boolean}},emits:["click","confirmingChanged"],setup(e,{emit:t}){const r=de(e),i=F(!1);_e(i,c=>{t("confirmingChanged",c)});function s(){if(u(r.skipConfirm)){t("click");return}i.value&&t("click"),i.value=!i.value}function o(){i.value=!1}return(c,d)=>(p(),_("span",{class:ae(["container",{confirming:i.value}])},[i.value?(p(),_("span",Qa,"Are you sure?")):$("",!0),m("button",{onClick:rt(s,["stop"]),class:"button danger",disabled:e.disabled},[i.value?(p(),_("span",to,"Yes")):Te(c.$slots,"default",{key:1},void 0,!0)],8,eo),i.value?(p(),_("button",{key:1,class:"button",onClick:rt(o,["stop"])},"No",8,no)):$("",!0)],2))}});var io=z(ro,[["__scopeId","data-v-2f8ef34c"]]);const $e=e=>(Ie("data-v-32313015"),e=e(),Me(),e),so=$e(()=>m("div",{class:"handle material-icons"},"drag_handle",-1)),ao={key:0,class:"actions"},oo=$e(()=>m("span",{class:"material-icons"},"content_paste",-1)),lo=$e(()=>m("span",{class:"material-icons"},"content_copy",-1)),uo=$e(()=>m("span",{class:"material-icons"},"edit",-1)),co=$e(()=>m("span",{class:"material-icons",style:{margin:"-2px"}},"delete",-1)),fo={key:1,class:"actions"},go=$e(()=>m("span",{class:"material-icons"},"check",-1)),mo=$e(()=>m("span",{class:"material-icons"},"close",-1)),ho={key:2,class:"details"},po={class:"save-version"},vo=$e(()=>m("br",null,null,-1)),bo={key:0},yo={key:3,class:"details"},_o={key:4,class:"details error"},No=$e(()=>m("br",null,null,-1)),wo=q({__name:"Save",props:{save:null},emits:["export","open","duplicate","delete","editName"],setup(e,{emit:t}){const n=e,{save:r}=de(n),i=new Intl.DateTimeFormat("en-US",{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}),s=F(!1),o=F(!1),c=F("");_e(s,()=>{var v;return c.value=(v=r.value.name)!=null?v:""});const d=P(()=>r.value!=null&&r.value.id===x.id),g=P(()=>{var v;return d.value?x.time:(v=r.value!=null&&r.value.time)!=null?v:0});function b(){t("editName",c.value),s.value=!1}return(v,N)=>(p(),_("div",{class:ae(["save",{active:u(d)}])},[so,s.value?(p(),_("div",fo,[m("button",{onClick:b,class:"button"},[y(Q,{display:"Save",direction:u(Z).Left,class:"info"},{default:V(()=>[go]),_:1},8,["direction"])]),m("button",{onClick:N[5]||(N[5]=k=>s.value=!s.value),class:"button"},[y(Q,{display:"Cancel",direction:u(Z).Left,class:"info"},{default:V(()=>[mo]),_:1},8,["direction"])])])):(p(),_("div",ao,[u(r).error==null&&!o.value?(p(),L(Rt,{key:0,onClick:N[0]||(N[0]=k=>t("export")),class:"button",left:""},{default:V(()=>[y(Q,{display:"Export",direction:u(Z).Left,class:"info"},{default:V(()=>[oo]),_:1},8,["direction"])]),_:1})):$("",!0),u(r).error==null&&!o.value?(p(),_("button",{key:1,onClick:N[1]||(N[1]=k=>t("duplicate")),class:"button"},[y(Q,{display:"Duplicate",direction:u(Z).Left,class:"info"},{default:V(()=>[lo]),_:1},8,["direction"])])):$("",!0),u(r).error==null&&!o.value?(p(),_("button",{key:2,onClick:N[2]||(N[2]=k=>s.value=!s.value),class:"button"},[y(Q,{display:"Edit Name",direction:u(Z).Left,class:"info"},{default:V(()=>[uo]),_:1},8,["direction"])])):$("",!0),y(io,{disabled:u(d),onClick:N[3]||(N[3]=k=>t("delete")),onConfirmingChanged:N[4]||(N[4]=k=>o.value=k)},{default:V(()=>[y(Q,{display:"Delete",direction:u(Z).Left,class:"info"},{default:V(()=>[co]),_:1},8,["direction"])]),_:1},8,["disabled"])])),u(r).error==null&&!s.value?(p(),_("div",ho,[m("button",{class:"button open",onClick:N[6]||(N[6]=k=>t("open"))},[m("h3",null,D(u(r).name),1)]),m("span",po,"v"+D(u(r).modVersion),1),vo,u(g)?(p(),_("div",bo,"Last played "+D(u(i).format(u(g))),1)):$("",!0)])):u(r).error==null&&s.value?(p(),_("div",yo,[y(Tn,{modelValue:c.value,"onUpdate:modelValue":N[7]||(N[7]=k=>c.value=k),class:"editname",onSubmit:b},null,8,["modelValue"])])):(p(),_("div",_o,[T(" Error: Failed to load save with id "+D(u(r).id),1),No,T(D(u(r).error),1)]))],2))}});var Co=z(wo,[["__scopeId","data-v-32313015"]]);const Wt=e=>(Ie("data-v-2a4275be"),e=e(),Me(),e),ko=Wt(()=>m("h2",null,"Saves Manager",-1)),So={class:"modal-footer"},Io={class:"field"},Mo=Wt(()=>m("span",{class:"field-title"},"Create Save",-1)),$o={class:"field-buttons"},xo={class:"footer"},Fo=Wt(()=>m("div",{style:{"flex-grow":"1"}},null,-1)),To=q({__name:"SavesManager",setup(e,{expose:t}){const n=F(!1),r=F(null);t({open(){n.value=!0}});const i=F(!1),s=F(""),o=F(null);_e(s,S=>{S?Ue(()=>{try{if(S[0]!=="{")if(S[0]==="e")S=decodeURIComponent(escape(atob(S)));else if(S[0]==="\u1BE1")S=Ce.decompressFromUTF16(S);else{console.warn("Unable to determine preset encoding",S),i.value=!0;return}const M=JSON.parse(S);if(typeof M!="object"){i.value=!0;return}const U=mt();M.id=U,fe(M),s.value="",i.value=!1,ne.saves.push(U)}catch{i.value=!0}}):i.value=!1});let c={},d=F(Object.keys(c).reduce((S,M)=>(S.push({label:M.split("/").slice(-1)[0].slice(0,-4),value:c[M]}),S),[]));const g=Ct({});function b(S){if(g[S]==null){let M=localStorage.getItem(S);if(M==null)g[S]={error:"Save doesn't exist in localStorage",id:S};else if(M==="dW5kZWZpbmVk")g[S]={error:"Save is undefined",id:S};else try{if(M[0]!=="{")if(M[0]==="e")M=decodeURIComponent(escape(atob(M)));else if(M[0]==="\u1BE1")M=Ce.decompressFromUTF16(M);else return console.warn("Unable to determine preset encoding",M),i.value=!0,g[S]={error:"Unable to determine preset encoding",id:S},g[S];g[S]={...JSON.parse(M),id:S}}catch(U){g[S]={error:U,id:S},console.warn(`SavesManager: Failed to load info about save with id ${S}: ${U} -${M}`)}}return g[S]}_e(n,S=>{S&&Object.keys(g).forEach(M=>delete g[M])});const v=P(()=>ne.saves.reduce((S,M)=>(S[M]=b(M),S),{}));function N(S){let M;switch(x.id===S?M=Lt(x):M=JSON.stringify(v.value[S]),A.exportEncoding){default:console.warn(`Unknown save encoding: ${A.exportEncoding}. Defaulting to lz`);case"lz":M=Ce.compressToUTF16(M);break;case"base64":M=btoa(unescape(encodeURIComponent(M)));break;case"plain":break}const U=document.createElement("textarea");U.value=M,document.body.appendChild(U),U.select(),U.setSelectionRange(0,99999),document.execCommand("copy"),document.body.removeChild(U)}function k(S){x.id===S&&fe();const M={...v.value[S],id:mt()};fe(M),ne.saves.push(M.id)}function I(S){ne.saves=ne.saves.filter(M=>M!==S),localStorage.removeItem(S),g[S]=void 0}function C(S){v.value[x.id].time=x.time,fe(),g[x.id]=void 0,qe(v.value[S]),g[S]=void 0}function G(S){if(o.value=S,Ue(()=>{o.value=null}),S[0]!=="{")if(S[0]==="e")S=decodeURIComponent(escape(atob(S)));else if(S[0]==="\u1BE1")S=Ce.decompressFromUTF16(S);else{console.warn("Unable to determine preset encoding",S);return}const M=JSON.parse(S);M.id=mt(),fe(M),ne.saves.push(M.id),C(M.id)}function Y(S,M){const U=v.value[S];U!=null&&(U.name=M,x.id===S?(x.name=M,fe()):(fe(U),g[S]=void 0))}return(S,M)=>(p(),L(je,{modelValue:n.value,"onUpdate:modelValue":M[4]||(M[4]=U=>n.value=U),ref_key:"modal",ref:r},{header:V(()=>[ko]),body:V(({shown:U})=>[U?(p(),L(c(Wn),{key:0,list:c(ne).saves,handle:".handle",itemKey:Ne=>Ne},{item:V(({element:Ne})=>[y(Co,{save:c(v)[Ne],onOpen:oe=>C(Ne),onExport:oe=>N(Ne),onEditName:oe=>Y(Ne,oe),onDuplicate:oe=>k(Ne),onDelete:oe=>I(Ne)},null,8,["save","onOpen","onExport","onEditName","onDuplicate","onDelete"])]),_:1},8,["list","itemKey"])):$("",!0)]),footer:V(()=>[m("div",So,[y(Tn,{modelValue:s.value,"onUpdate:modelValue":M[0]||(M[0]=U=>s.value=U),title:"Import Save",placeholder:"Paste your save here!",class:ae({importingFailed:i.value})},null,8,["modelValue","class"]),m("div",Io,[Mo,m("div",$o,[m("button",{class:"button",onClick:M[1]||(M[1]=U=>C(c(Je)().id))},"New Game"),Object.keys(c(d)).length>0?(p(),L(Fn,{key:0,options:c(d),modelValue:o.value,"onUpdate:modelValue":M[2]||(M[2]=U=>G(U)),closeOnSelect:"",placeholder:"Select preset",class:"presets"},null,8,["options","modelValue"])):$("",!0)])]),m("div",xo,[Fo,m("button",{class:"button modal-default-button",onClick:M[3]||(M[3]=U=>n.value=!1)}," Close ")])])]),_:1},8,["modelValue"]))}});var Pn=z(To,[["__scopeId","data-v-2a4275be"]]);const me=e=>(Ie("data-v-47c54e31"),e=e(),Me(),e),Po=["src","alt"],Eo={key:1,class:"title"},Oo=me(()=>m("div",{style:{"flex-grow":"1",cursor:"unset"}},null,-1)),Vo={class:"discord"},Do={class:"discord-links"},Lo={key:0},Ro=["href"],qo=me(()=>m("li",null,[m("a",{href:"https://discord.gg/yJ4fjnjU54",target:"_blank"},"Profectus & Friends")],-1)),Ao=me(()=>m("li",null,[m("a",{href:"https://discord.gg/F3xveHV",target:"_blank"},"The Modding Tree")],-1)),Bo={href:"https://forums.moddingtree.com/",target:"_blank"},Uo=me(()=>m("span",{class:"material-icons"},"forum",-1)),zo=me(()=>m("span",{class:"material-icons"},"info",-1)),Go=me(()=>m("span",{class:"material-icons"},"library_books",-1)),jo=me(()=>m("span",{class:"material-icons"},"settings",-1)),Ho=me(()=>m("span",{class:"material-icons"},"library_books",-1)),Wo=me(()=>m("span",{class:"material-icons"},"settings",-1)),Jo=me(()=>m("span",{class:"material-icons"},"info",-1)),Zo={href:"https://forums.moddingtree.com/",target:"_blank"},Ko=me(()=>m("span",{class:"material-icons"},"forum",-1)),Yo={class:"discord"},Xo={class:"discord-links"},Qo={key:0},el=["href"],tl=me(()=>m("li",null,[m("a",{href:"https://discord.gg/yJ4fjnjU54",target:"_blank"},"Profectus & Friends")],-1)),nl=me(()=>m("li",null,[m("a",{href:"https://discord.gg/F3xveHV",target:"_blank"},"The Modding Tree")],-1)),rl=q({__name:"Nav",setup(e){const t=F(null),n=F(null),r=F(null),i=F(null),{useHeader:s,banner:o,title:u,discordName:d,discordLink:g,versionNumber:b}=A;function v(){window.open(g,"mywindow")}return(N,k)=>(p(),_(j,null,[c(s)?(p(),_("div",Oe({key:0,class:"nav"},N.$attrs),[c(o)?(p(),_("img",{key:0,src:c(o),class:"banner",alt:c(u)},null,8,Po)):(p(),_("div",Eo,D(c(u)),1)),m("div",{onClick:k[0]||(k[0]=I=>{var C;return(C=i.value)==null?void 0:C.open()}),class:"version-container"},[y(Q,{display:"Changelog",direction:c(Z).Down,class:"version"},{default:V(()=>[m("span",null,"v"+D(c(b)),1)]),_:1},8,["direction"])]),Oo,m("div",Vo,[m("span",{onClick:v,class:"material-icons"},"discord"),m("ul",Do,[c(g)?(p(),_("li",Lo,[m("a",{href:c(g),target:"_blank"},D(c(d)),9,Ro)])):$("",!0),qo,Ao])]),m("div",null,[m("a",Bo,[y(Q,{display:"Forums",direction:c(Z).Down,yoffset:"5px"},{default:V(()=>[Uo]),_:1},8,["direction"])])]),m("div",{onClick:k[1]||(k[1]=I=>{var C;return(C=t.value)==null?void 0:C.open()})},[y(Q,{display:"Info",direction:c(Z).Down,class:"info"},{default:V(()=>[zo]),_:1},8,["direction"])]),m("div",{onClick:k[2]||(k[2]=I=>{var C;return(C=n.value)==null?void 0:C.open()})},[y(Q,{display:"Saves",direction:c(Z).Down,xoffset:"-20px"},{default:V(()=>[Go]),_:1},8,["direction"])]),m("div",{onClick:k[3]||(k[3]=I=>{var C;return(C=r.value)==null?void 0:C.open()})},[y(Q,{display:"Settings",direction:c(Z).Down,xoffset:"-66px"},{default:V(()=>[jo]),_:1},8,["direction"])])],16)):(p(),_("div",Oe({key:1,class:"overlay-nav"},N.$attrs),[m("div",{onClick:k[4]||(k[4]=I=>{var C;return(C=i.value)==null?void 0:C.open()}),class:"version-container"},[y(Q,{display:"Changelog",direction:c(Z).Right,xoffset:"25%",class:"version"},{default:V(()=>[m("span",null,"v"+D(c(b)),1)]),_:1},8,["direction"])]),m("div",{onClick:k[5]||(k[5]=I=>{var C;return(C=n.value)==null?void 0:C.open()})},[y(Q,{display:"Saves",direction:c(Z).Right},{default:V(()=>[Ho]),_:1},8,["direction"])]),m("div",{onClick:k[6]||(k[6]=I=>{var C;return(C=r.value)==null?void 0:C.open()})},[y(Q,{display:"Settings",direction:c(Z).Right},{default:V(()=>[Wo]),_:1},8,["direction"])]),m("div",{onClick:k[7]||(k[7]=I=>{var C;return(C=t.value)==null?void 0:C.open()})},[y(Q,{display:"Info",direction:c(Z).Right},{default:V(()=>[Jo]),_:1},8,["direction"])]),m("div",null,[m("a",Zo,[y(Q,{display:"Forums",direction:c(Z).Right,xoffset:"7px"},{default:V(()=>[Ko]),_:1},8,["direction"])])]),m("div",Yo,[m("span",{onClick:v,class:"material-icons"},"discord"),m("ul",Xo,[c(g)?(p(),_("li",Qo,[m("a",{href:c(g),target:"_blank"},D(c(d)),9,el)])):$("",!0),tl,nl])])],16)),y(La,{ref_key:"info",ref:t,changelog:i.value},null,8,["changelog"]),y(Pn,{ref_key:"savesManager",ref:n},null,512),y(Wa,{ref_key:"options",ref:r},null,512),y(ba,{ref_key:"changelog",ref:i},null,512)],64))}});var En=z(rl,[["__scopeId","data-v-47c54e31"]]);const il={class:"inner-tab"},sl=q({__name:"Game",setup(e){const t=ke(x,"tabs"),n=P(()=>Object.keys(le)),r=A.useHeader;function i(s){const{display:o,minimized:u,name:d,color:g,minimizable:b,nodes:v,minimizedDisplay:N}=s;return{display:o,minimized:u,name:d,color:g,minimizable:b,nodes:v,minimizedDisplay:N}}return(s,o)=>(p(),_("div",{class:ae(["tabs-container",{useHeader:c(r)}])},[(p(!0),_(j,null,Le(c(t),(u,d)=>{var g,b;return p(),_("div",{key:d,class:ae(["tab",c((g=c(le)[u])==null?void 0:g.classes)]),style:ge(c((b=c(le)[u])==null?void 0:b.style))},[d===0&&!c(r)?(p(),L(En,{key:0})):$("",!0),m("div",il,[c(n).includes(u)?(p(),L(ma,Oe({key:0},i(c(le)[u]),{index:d,onSetMinimized:v=>c(le)[u].minimized.value=v}),null,16,["index","onSetMinimized"])):(p(),L(ie(u),{key:1,index:d},null,8,["index"]))])],6)}),128))],2))}});var al=z(sl,[["__scopeId","data-v-dcd207b4"]]);const ol=q({__name:"Spacer",props:{width:{default:"8px"},height:{default:"17px"}},setup(e){return(t,n)=>(p(),_("div",{style:ge({width:e.width,height:e.height})},null,4))}});function On(e,t="points",n=0,r=void 0){const i=te(e)?e:ct(e);if(i.displayName=t,i.precision=n,i.small=r,!te(e)){const s=i[Fe];s.displayName=t,s.precision=n,s.small=r}return i}function ll(e){const t=ct(e.value);return _e(e,n=>{Bt.value||l.gt(n,t.value)&&(t.value=n)}),t}function ul(e){const t=ct(e.value);return _e(e,(n,r)=>{Bt.value||l.gt(n,r)&&(t.value=l.add(t.value,l.sub(n,r)))}),t}const cl=new l("10^^8"),dl=new l("1e100");function fl(e,t){const n=F(0),r=F(0),i=F(0);return se.on("update",o=>{if(r.value=0,l.lte(e.value,dl)){i.value=e.value;return}let u=e.value,d=i.value;if(i.value=u,l.gt(u,d))if(l.gte(u,cl))u=l.slog(u,1e10),d=l.slog(d,1e10),n.value=u.sub(d).div(o),r.value=-1;else for(;l.div(u,d).log(10).div(o).gte("100")&&r.value<=5&&l.gt(d,0);)u=l.log10(u),d=l.log10(d),n.value=u.sub(d).div(o),r.value++}),P(()=>r.value===0?t?Se(t.value,e.precision,e.small)+" "+e.displayName+"/s":"":Se(n.value)+" OOM"+(r.value<0?"^OOM":"^"+r.value)+"s/sec")}function _t(e,t){const n=t!=null?t:e.value;return l.eq(e.precision,0)?st(e.small?n:l.floor(n)):Se(n,e.precision,e.small)}const gl=["x1","y1","x2","y2"],ml=q({__name:"Link",props:{link:null,startNode:null,endNode:null,boundingRect:null},setup(e){const t=e,n=de(t),r=P(()=>{const o=n.startNode.value.rect,u=n.boundingRect.value,d=u?{x:o.x+o.width/2-u.x,y:o.y+o.height/2-u.y}:{x:0,y:0};return n.link.value.offsetStart&&(d.x+=n.link.value.offsetStart.x,d.y+=n.link.value.offsetStart.y),d}),i=P(()=>{const o=n.endNode.value.rect,u=n.boundingRect.value,d=u?{x:o.x+o.width/2-u.x,y:o.y+o.height/2-u.y}:{x:0,y:0};return n.link.value.offsetEnd&&(d.x+=n.link.value.offsetEnd.x,d.y+=n.link.value.offsetEnd.y),d}),s=P(()=>Ci(t.link));return(o,u)=>(p(),_("line",Oe({"stroke-width":"15px",stroke:"white"},c(s),{x1:c(r).x,y1:c(r).y,x2:c(i).x,y2:c(i).y}),null,16,gl))}});const hl=q({__name:"Links",props:{links:null},setup(e){var d;const n=ke(e,"links"),r=F(null),i=vt(Gt,F({})),s=vt(jt,F(void 0)),o=F((d=r.value)==null?void 0:d.getBoundingClientRect());_e(s,()=>{var g;return o.value=(g=r.value)==null?void 0:g.getBoundingClientRect()}),lt(()=>{var g;return o.value=(g=r.value)==null?void 0:g.getBoundingClientRect()});const u=P(()=>{var b,v;const g=i.value;return(v=(b=n.value)==null?void 0:b.filter(N=>{var k,I;return((k=g[N.startNode.id])==null?void 0:k.rect)&&((I=g[N.startNode.id])==null?void 0:I.rect)}))!=null?v:[]});return(g,b)=>(p(),_(j,null,[c(u)?(p(),_("svg",Gn(Oe({key:0},g.$attrs)),[(p(!0),_(j,null,Le(c(u),(v,N)=>(p(),L(ml,{key:N,link:v,boundingRect:o.value,startNode:c(i)[v.startNode.id],endNode:c(i)[v.endNode.id]},null,8,["link","boundingRect","startNode","endNode"]))),128))],16)):$("",!0),m("div",{ref_key:"resizeListener",ref:r,class:"resize-listener"},null,512)],64))}});var pl=z(hl,[["__scopeId","data-v-063f6d6b"]]),vl=q({props:{nodes:{type:B(Array),required:!0},leftSideNodes:B(Array),rightSideNodes:B(Array),branches:B(Array)},components:{Links:pl},setup(e){const{nodes:t,leftSideNodes:n,rightSideNodes:r}=de(e),i=be();Be(()=>{const u=ye(t);i.value=ue(ee(()=>y(j,null,[u.map(d=>y("span",{class:"row tree-row",style:"margin: 50px auto;"},[d.map(ht)]))])))});const s=be();Be(()=>{const u=ye(n);s.value=u?ue(ee(()=>y("span",{class:"left-side-nodes small"},[u.map(ht)]))):""});const o=be();return Be(()=>{const u=ye(r);o.value=u?ue(ee(()=>y("span",{class:"side-nodes small"},[u.map(ht)]))):""}),{unref:c,nodesComp:i,leftNodesComp:s,rightNodesComp:o}}});function bl(e,t,n,r,i,s){const o=ze("Links");return p(),_(j,null,[(p(),L(ie(e.nodesComp))),e.leftNodesComp?(p(),L(ie(e.leftNodesComp),{key:0})):$("",!0),e.rightNodesComp?(p(),L(ie(e.rightNodesComp),{key:1})):$("",!0),e.branches?(p(),L(o,{key:2,links:e.unref(e.branches)},null,8,["links"])):$("",!0)],64)}var yl=z(vl,[["render",bl],["__scopeId","data-v-39ca96d0"]]);const _l={key:0},Nl={key:0,class:"mark star"},wl=["src"],Cl=q({__name:"MarkNode",props:{mark:{type:[Boolean,String]}},setup(e){return(t,n)=>e.mark?(p(),_("div",_l,[e.mark===!0?(p(),_("div",Nl)):(p(),_("img",{key:1,class:"mark",src:e.mark},null,8,wl))])):$("",!0)}});var Vn=z(Cl,[["__scopeId","data-v-2207999f"]]);const kl=q({__name:"Node",props:{id:null},setup(e){const n=de(e),r=vt(Ut,()=>{}),i=vt(zt,()=>{}),s=be(null),o=P(()=>s.value&&s.value.parentElement);return _e([o,n.id],([u,d],[g,b])=>{g&&i(c(b)),u&&r(d,u)}),ln(()=>i(c(n.id))),(u,d)=>(p(),_("div",{class:"node",ref_key:"node",ref:s},null,512))}});var Dn=z(kl,[["__scopeId","data-v-a48cb382"]]);const Sl=q({props:{display:B(Object,String,Function),visibility:{type:B(Number,Boolean),required:!0},style:B(String,Object,Array),classes:B(Object),onClick:Function,onHold:Function,color:B(String),glowColor:B(String),canClick:{type:B(Boolean),required:!0},mark:B(Boolean,String),id:{type:String,required:!0}},components:{MarkNode:Vn,Node:Dn},setup(e){const{onClick:t,onHold:n,display:r}=de(e),i=Qe(r),{start:s,stop:o}=kn(t,n);return{start:s,stop:o,comp:i,unref:c,Visibility:Xe,isCoercableComponent:Mt,isVisible:yn,isHidden:_n}}});function Il(e,t,n,r,i,s){var d;const o=ze("MarkNode"),u=ze("Node");return e.isVisible(e.visibility)?(p(),_("div",{key:0,style:ge({visibility:e.isHidden(e.visibility)?"hidden":void 0}),class:ae({treeNode:!0,can:e.unref(e.canClick),...e.unref(e.classes)}),onClick:t[0]||(t[0]=(...g)=>e.onClick&&e.onClick(...g)),onMousedown:t[1]||(t[1]=(...g)=>e.start&&e.start(...g)),onMouseleave:t[2]||(t[2]=(...g)=>e.stop&&e.stop(...g)),onMouseup:t[3]||(t[3]=(...g)=>e.stop&&e.stop(...g)),onTouchstartPassive:t[4]||(t[4]=(...g)=>e.start&&e.start(...g)),onTouchendPassive:t[5]||(t[5]=(...g)=>e.stop&&e.stop(...g)),onTouchcancelPassive:t[6]||(t[6]=(...g)=>e.stop&&e.stop(...g))},[m("div",{style:ge([{backgroundColor:e.unref(e.color),boxShadow:`-4px -4px 4px rgba(0, 0, 0, 0.25) inset, 0 0 20px ${e.unref(e.glowColor)}`},(d=e.unref(e.style))!=null?d:[]])},[(p(),L(ie(e.unref(e.comp))))],4),y(o,{mark:e.unref(e.mark)},null,8,["mark"]),y(u,{id:e.id},null,8,["id"])],38)):$("",!0)}var Ml=z(Sl,[["render",Il],["__scopeId","data-v-727230a6"]]);const $l=Symbol("TreeNode"),xl=Symbol("Tree");function Fl(e,...t){const n=t.reduce((r,i)=>{var s;return Object.assign(r,(s=i.getPersistentData)==null?void 0:s.call(i))},{});return He(r=>{var o,u,d;const i=(o=e==null?void 0:e.call(r,r))!=null?o:{};i.id=It("treeNode-"),i.type=$l,i[Pe]=Ml;for(const g of t)(u=g.preConstruct)==null||u.call(g,i);Object.assign(n),E(i,"visibility"),ce(i,"visibility",Xe.Visible),E(i,"canClick"),ce(i,"canClick",!0),E(i,"color"),E(i,"display"),E(i,"glowColor"),E(i,"classes"),E(i,"style"),E(i,"mark");for(const g of t)(d=g.postConstruct)==null||d.call(g,i);if(i.onClick){const g=i.onClick.bind(i);i.onClick=function(b){c(i.canClick)!==!1&&g(b)}}if(i.onHold){const g=i.onHold.bind(i);i.onHold=function(){c(i.canClick)!==!1&&g()}}const s=t.reduce((g,b)=>{var v;return Object.assign(g,(v=b.getGatheredProps)==null?void 0:v.call(b,i))},{});return i[Ee]=function(){const{display:g,visibility:b,style:v,classes:N,onClick:k,onHold:I,color:C,glowColor:G,canClick:Y,mark:S,id:M}=this;return{display:g,visibility:b,style:v,classes:N,onClick:k,onHold:I,color:C,glowColor:G,canClick:Y,mark:S,id:M,...s}},i})}function Tl(e){return He(t=>{const n=e.call(t,t);return n.id=It("tree-"),n.type=xl,n[Pe]=yl,n.isResetting=F(!1),n.resettingNode=be(null),n.reset=function(r){var s,o;const i=n;i.isResetting.value=!0,i.resettingNode.value=r,(s=i.resetPropagation)==null||s.call(i,i,r),(o=i.onReset)==null||o.call(i,r),i.isResetting.value=!1,i.resettingNode.value=null},n.links=P(()=>{var i;return(i=c(n.branches))!=null?i:[]}),E(n,"visibility"),ce(n,"visibility",Xe.Visible),E(n,"nodes"),E(n,"leftSideNodes"),E(n,"rightSideNodes"),E(n,"branches"),n[Ee]=function(){const{nodes:r,leftSideNodes:i,rightSideNodes:s,branches:o}=this;return{nodes:r,leftSideNodes:i,rightSideNodes:s,branches:o}},n})}const Pl=function(e,t){const n=[t];let r=[t];if(e.branches!=null){const i=c(e.branches);for(;r.length>0;){const s=[];r.forEach(o=>{i.filter(u=>u.startNode===o||u.endNode===o).map(u=>u.startNode===o?u.endNode:u.startNode).filter(u=>!n.includes(u)).forEach(u=>{var d;s.includes(u)||(s.push(u),(d=u.reset)==null||d.reset())})}),r=s,n.push(...r)}}};function El(e,t=null,n=0){const r=Et(n);return P(()=>t==null||l.gte(e.value,c(r))?_t(e)+" "+e.displayName:`Reach ${l.eq(t.precision,0)?st(c(r)):Se(c(r),t.precision)} ${t.displayName} to unlock (You have ${l.eq(t.precision,0)?st(t.value):Se(t.value,t.precision)})`)}function Ol(e,...t){return He(n=>{var i,s;const r=e.call(n,n);for(const o of t)(i=o.preConstruct)==null||i.call(o,r);r.formula=r.formula(a.variable(r.baseResource)),r.currentGain==null&&(r.currentGain=P(()=>{let o=l.floor(r.formula.evaluate(r.baseResource.value)).max(0);return c(r.buyMax)===!1&&(o=o.min(1)),o})),r.actualGain==null&&(r.actualGain=r.currentGain),r.currentAt==null&&(r.currentAt=P(()=>r.formula.invert(l.floor(c(r.currentGain))))),r.nextAt==null&&(r.nextAt=P(()=>r.formula.invert(l.floor(c(r.currentGain)).add(1)))),r.convert==null&&(r.convert=function(){var u;const o=c(r.currentGain);r.gainResource.value=l.add(r.gainResource.value,o),r.spend(o),(u=r.onConvert)==null||u.call(r,o)}),r.spend==null&&(r.spend=function(){r.baseResource.value=0}),E(r,"currentGain"),E(r,"actualGain"),E(r,"currentAt"),E(r,"nextAt"),E(r,"buyMax"),ce(r,"buyMax",!0);for(const o of t)(s=o.postConstruct)==null||s.call(o,r);return r})}function Vl(e){return Ol(e)}const Ln=e=>(Ie("data-v-5e2d38ce"),e=e(),Me(),e),Dl=Ln(()=>m("div",{class:"key"},"Ctrl",-1)),Ll=Ln(()=>m("div",{class:"key"},"Shift",-1)),Rl={class:"key"},ql=q({__name:"Hotkey",props:{hotkey:null},setup(e){const t=e;let n="",r=!1,i=!1,s=!1;return Be(()=>{n=t.hotkey.key,r=n.startsWith("ctrl+"),r&&(n=n.slice(5)),i=n.startsWith("shift+"),i&&(n=n.slice(6)),s=n.length==1&&n.toLowerCase()!=n.toUpperCase(),s&&(n=n.toUpperCase())}),(o,u)=>(p(),_(j,null,[c(r)?(p(),_(j,{key:0},[Dl,T("+")],64)):$("",!0),c(i)?(p(),_(j,{key:1},[Ll,T("+")],64)):$("",!0),m("div",Rl,D(c(n)),1)],64))}});var Al=z(ql,[["__scopeId","data-v-5e2d38ce"]]);const $t=Ct({}),Jt=Symbol("Hotkey"),an=[")","!","@","#","$","%","^","&","*","("];function Bl(e){return He(t=>{const n=e.call(t,t);return n.type=Jt,E(n,"enabled"),ce(n,"enabled",!0),E(n,"description"),n})}se.on("addLayer",e=>{Nn(e,Jt).forEach(t=>{$t[t.key]=t})});se.on("removeLayer",e=>{Nn(e,Jt).forEach(t=>{$t[t.key]=void 0})});document.onkeydown=function(e){var r;if(((r=e.target)==null?void 0:r.tagName)==="INPUT"||Zt.value&&!x.keepGoing)return;let t=e.key;an.includes(t)?t="shift+"+an.indexOf(t):e.shiftKey&&(t="shift+"+t),e.ctrlKey&&(t="ctrl+"+t);const n=$t[t];n&&c(n.enabled)&&(e.preventDefault(),n.onPress())};_i(ee(()=>{const e=Object.values($t).filter(t=>c(t==null?void 0:t.enabled));return e.length===0?"":y("div",null,[y("br",null,null),y("h4",null,[T("Hotkeys")]),y("div",{style:"column-count: 2"},[e.map(t=>y("div",null,[y(Al,{hotkey:t},null),T(" "),t==null?void 0:t.description]))])])}));const Ul=Symbol("Reset");function zl(e){return He(t=>{const n=e.call(t,t);return n.id=It("reset-"),n.type=Ul,n.reset=function(){var i;const r=s=>{if(s!=null&&typeof s=="object"&&!(s instanceof l)&&!(s instanceof a)){if(Vt in s&&s[Vt]===!0)return;if(Ge in s){const o=s;o.value=o[Ge]}else!(s instanceof l)&&!te(s)&&Object.values(s).forEach(o=>r(o))}};c(n.thingsToReset).forEach(r),se.emit("reset",n),(i=n.onReset)==null||i.call(n)},E(n,"thingsToReset"),n})}const gt={};se.on("removeLayer",e=>{var t;(t=gt[e.id])==null||t.call(gt),gt[e.id]=void 0});const Gl=q({__name:"Sticky",setup(e){const t=F("0"),n=new ResizeObserver(i),r=be(null);function i(){let s=r.value;if(s==null)return;let o=0;for(;s.previousSibling;){const u=s.previousSibling;u.dataset&&"vSticky"in u.dataset&&(o+=u.offsetHeight),s=u}t.value=o+"px"}return Ue(i),document.fonts.ready.then(i),lt(()=>{var o;const s=(o=r.value)==null?void 0:o.parentElement;s&&n.observe(s)}),(s,o)=>(p(),_("div",{class:"sticky",style:ge({top:t.value}),ref_key:"element",ref:r,"data-v-sticky":""},[Te(s.$slots,"default",{},void 0,!0)],4))}});var jl=z(Gl,[["__scopeId","data-v-cccac690"]]);const Hl=q({__name:"Resource",props:{resource:null,color:null},setup(e){const t=e,n=P(()=>_t(t.resource));return(r,i)=>(p(),_("h2",{style:ge({color:e.color,"text-shadow":"0px 0px 10px "+e.color})},D(c(n)),5))}});const Wl={class:"main-display"},Jl={key:0},Zl={key:1},Kl=q({__name:"MainDisplay",props:{resource:null,color:null,classes:null,style:null,effectDisplay:null},setup(e){const n=de(e),r=F(null),i=Qe(n.effectDisplay),s=P(()=>l.lt(n.resource.value,"1e1000"));return(o,u)=>(p(),L(jl,null,{default:V(()=>{var d,g,b,v;return[m("div",{class:ae(["main-display-container",(d=e.classes)!=null?d:{}]),style:ge([{height:`${((b=(g=r.value)==null?void 0:g.$el.clientHeight)!=null?b:0)+50}px`},(v=e.style)!=null?v:{}])},[m("div",Wl,[c(s)?(p(),_("span",Jl,"You have ")):$("",!0),y(Hl,{resource:e.resource,color:e.color||"white"},null,8,["resource","color"]),T(" "+D(e.resource.displayName),1),c(i)?(p(),_("span",Zl,[T(", "),(p(),L(ie(c(i)),{ref_key:"effectRef",ref:r},null,512))])):$("",!0)])],6)]}),_:1}))}});function Yl(e,t){return E(t,"display"),E(t,"classes"),E(t,"style"),E(t,"direction"),ce(t,"direction",Z.Up),E(t,"xoffset"),E(t,"yoffset"),t.pinnable&&(t.pinned=ct(!1,!1)),Ue(()=>{const n=e[Pe];e[Pe]=Q;const r=e[Ee].bind(e);e[Ee]=function(){const{display:s,classes:o,style:u,direction:d,xoffset:g,yoffset:b,pinned:v}=this;return{element:{[Pe]:n,[Ee]:r},display:s,classes:o,style:c(u),direction:d,xoffset:g,yoffset:b,pinned:v}}.bind(t)}),t}var Xl=q({props:{display:{type:B(Object,String,Function),required:!0},visibility:{type:B(Number,Boolean),required:!0},style:B(Object,String,Array),classes:B(Object),onClick:Function,onHold:Function,canClick:{type:B(Boolean),required:!0},small:Boolean,mark:B(Boolean,String),id:{type:String,required:!0}},components:{Node:Dn,MarkNode:Vn},setup(e){const{display:t,onClick:n,onHold:r}=de(e),i=be("");Be(()=>{var b;const u=ye(t);if(u==null){i.value="";return}if(Mt(u)){i.value=ue(u);return}const d=ue((b=u.title)!=null?b:"","h3"),g=ue(u.description,"div");i.value=ue(ee(()=>y("span",null,[u.title!=null?y("div",null,[y(d,null,null)]):null,y(g,null,null)])))});const{start:s,stop:o}=kn(n,r);return{start:s,stop:o,comp:i,Visibility:Xe,isVisible:yn,isHidden:_n,unref:c}}});function Ql(e,t,n,r,i,s){var d;const o=ze("MarkNode"),u=ze("Node");return e.isVisible(e.visibility)?(p(),_("button",{key:0,style:ge([{visibility:e.isHidden(e.visibility)?"hidden":void 0},(d=e.unref(e.style))!=null?d:[]]),onClick:t[0]||(t[0]=(...g)=>e.onClick&&e.onClick(...g)),onMousedown:t[1]||(t[1]=(...g)=>e.start&&e.start(...g)),onMouseleave:t[2]||(t[2]=(...g)=>e.stop&&e.stop(...g)),onMouseup:t[3]||(t[3]=(...g)=>e.stop&&e.stop(...g)),onTouchstartPassive:t[4]||(t[4]=(...g)=>e.start&&e.start(...g)),onTouchendPassive:t[5]||(t[5]=(...g)=>e.stop&&e.stop(...g)),onTouchcancelPassive:t[6]||(t[6]=(...g)=>e.stop&&e.stop(...g)),class:ae({feature:!0,clickable:!0,can:e.unref(e.canClick),locked:!e.unref(e.canClick),small:e.small,...e.unref(e.classes)})},[e.unref(e.comp)?(p(),L(ie(e.unref(e.comp)),{key:0})):$("",!0),y(o,{mark:e.unref(e.mark)},null,8,["mark"]),y(u,{id:e.id},null,8,["id"])],38)):$("",!0)}var eu=z(Xl,[["render",Ql],["__scopeId","data-v-211328c0"]]);const tu=Symbol("Clickable");function nu(e,...t){const n=t.reduce((r,i)=>{var s;return Object.assign(r,(s=i.getPersistentData)==null?void 0:s.call(i))},{});return He(r=>{var o,u,d;const i=(o=e==null?void 0:e.call(r,r))!=null?o:{};i.id=It("clickable-"),i.type=tu,i[Pe]=eu;for(const g of t)(u=g.preConstruct)==null||u.call(g,i);if(Object.assign(i,n),E(i,"visibility"),ce(i,"visibility",Xe.Visible),E(i,"canClick"),ce(i,"canClick",!0),E(i,"classes"),E(i,"style"),E(i,"mark"),E(i,"display"),i.onClick){const g=i.onClick.bind(i);i.onClick=function(b){c(i.canClick)!==!1&&g(b)}}if(i.onHold){const g=i.onHold.bind(i);i.onHold=function(){c(i.canClick)!==!1&&g()}}for(const g of t)(d=g.postConstruct)==null||d.call(g,i);const s=t.reduce((g,b)=>{var v;return Object.assign(g,(v=b.getGatheredProps)==null?void 0:v.call(b,i))},{});return i[Ee]=function(){const{display:g,visibility:b,style:v,classes:N,onClick:k,onHold:I,canClick:C,small:G,mark:Y,id:S}=this;return{display:g,visibility:b,style:c(v),classes:N,onClick:k,onHold:I,canClick:C,small:G,mark:Y,id:S,...s}},i})}function ru(e){return nu(t=>{const n=e.call(t,t);E(n,"showNextAt"),ce(n,"showNextAt",!0),ce(n,"minimumGain",1),n.resetDescription==null?n.resetDescription=P(()=>l.lt(n.conversion.gainResource.value,1e3)?"Reset for ":""):E(n,"resetDescription"),n.display==null&&(n.display=ee(()=>y("span",null,[c(n.resetDescription),y("b",null,[_t(n.conversion.gainResource,l.max(c(n.conversion.actualGain),c(n.minimumGain)))])," ",n.conversion.gainResource.displayName,c(n.showNextAt)!=null?y("div",null,[y("br",null,null),c(n.conversion.buyMax)?"Next:":"Req:"," ",_t(n.conversion.baseResource,!c(n.conversion.buyMax)&&l.gte(c(n.conversion.actualGain),1)?c(n.conversion.currentAt):c(n.conversion.nextAt))," ",n.conversion.baseResource.displayName]):null]))),n.canClick==null&&(n.canClick=P(()=>l.gte(c(n.conversion.actualGain),c(n.minimumGain))));const r=n.onClick;return n.onClick=function(i){c(n.canClick)!==!1&&(n.conversion.convert(),n.tree.reset(n.treeNode),n.resetTime&&(n.resetTime.value=n.resetTime[Ge]),r==null||r(i))},n})}function iu(e){return Fl(t=>{const n=e.call(t,t);return ce(n,"display",bn(n.layerID)),E(n,"append"),{...n,onClick:c(n.append)?function(){if(x.tabs.includes(n.layerID)){const r=x.tabs.lastIndexOf(n.layerID);x.tabs.splice(r,1)}else x.tabs.push(n.layerID)}:function(){x.tabs.splice(1,1,n.layerID)}}})}const on="p",Nt=Ht(on,function(){const e="Prestige",t="#4BDC13",n=On(0,"prestige points"),r=Vl(()=>({formula:g=>g.div(10).sqrt(),baseResource:wt.points,gainResource:n})),i=zl(()=>({thingsToReset:()=>[Nt]})),s=iu(()=>({layerID:on,color:t,reset:i})),o=Yl(s,{display:El(n),pinnable:!0}),u=ru(()=>({conversion:r,tree:wt.tree,treeNode:s})),d=Bl(()=>({description:"Reset for prestige points",key:"p",onPress:u.onClick}));return{name:e,color:t,points:n,tooltip:o,display:ee(()=>y(j,null,[y(Kl,{resource:n,color:t},null),ut(u)])),treeNode:s,hotkey:d}}),wt=Ht("main",function(){const e=On(10),t=ll(e),n=ul(e),r=P(()=>new l(1));se.on("update",o=>{e.value=l.add(e.value,l.times(r.value,o))});const i=fl(e,r),s=Tl(()=>({nodes:[[Nt.treeNode]],branches:[],onReset(){e.value=Xt(this.resettingNode.value)===Xt(Nt.treeNode)?0:10,t.value=e.value,n.value=e.value},resetPropagation:Pl}));return{name:"Tree",links:s.links,display:ee(()=>y(j,null,[x.devSpeed===0?y("div",null,[T("Game Paused")]):null,x.devSpeed!=null&&x.devSpeed!==0&&x.devSpeed!==1?y("div",null,[T("Dev Speed: "),Se(x.devSpeed),T("x")]):null,x.offlineTime!=null&&x.offlineTime!==0?y("div",null,[T("Offline Time: "),St(x.offlineTime)]):null,y("div",null,[l.lt(e.value,"1e1000")?y("span",null,[T("You have ")]):null,y("h2",null,[Se(e.value)]),l.lt(e.value,"1e1e6")?y("span",null,[T(" points")]):null]),l.gt(r.value,0)?y("div",null,[T("("),i.value,T(")")]):null,y(ol,null,null),ut(s)])),points:e,best:t,total:n,oomps:i,tree:s}}),su=e=>[wt,Nt],Zt=P(()=>!1);function au(e,t){}var ou=Object.freeze(Object.defineProperty({__proto__:null,main:wt,getInitialLayers:su,hasWon:Zt,fixOldSave:au},Symbol.toStringTag,{value:"Module"}));const dt=e=>(Ie("data-v-4a50ce42"),e=e(),Me(),e),lu={class:"game-over-modal-header"},uu=["src","alt"],cu={class:"game-over-modal-title"},du=dt(()=>m("h2",null,"Congratulations!",-1)),fu={key:0},gu=dt(()=>m("br",null,null,-1)),mu=dt(()=>m("div",null," Please check the Discord to discuss the game or to check for new content updates! ",-1)),hu=dt(()=>m("br",null,null,-1)),pu=["href"],vu=dt(()=>m("span",{class:"material-icons game-over-modal-discord"},"discord",-1)),bu=q({__name:"GameOverScreen",setup(e){const{title:t,logo:n,discordName:r,discordLink:i,versionNumber:s,versionTitle:o}=A,u=P(()=>St(x.timePlayed)),d=P(()=>Zt.value&&!x.keepGoing),g=ke(x,"autosave");function b(){x.keepGoing=!0}function v(){qe(Je())}return(N,k)=>(p(),L(je,{"model-value":c(d)},{header:V(()=>[m("div",lu,[c(n)?(p(),_("img",{key:0,class:"game-over-modal-logo",src:c(n),alt:c(t)},null,8,uu)):$("",!0),m("div",cu,[du,m("h4",null,"You've beaten "+D(c(t))+" v"+D(c(s))+": "+D(c(o)),1)])])]),body:V(({shown:I})=>[I?(p(),_("div",fu,[m("div",null,"It took you "+D(c(u))+" to beat the game.",1),gu,mu,hu,m("div",null,[m("a",{href:c(i),class:"game-over-modal-discord-link"},[vu,T(" "+D(c(r)),1)],8,pu)]),y(we,{title:"Autosave",modelValue:c(g),"onUpdate:modelValue":k[0]||(k[0]=C=>te(g)?g.value=C:null)},null,8,["modelValue"])])):$("",!0)]),footer:V(()=>[m("div",{class:"game-over-footer"},[m("button",{onClick:b,class:"button"},"Keep Going"),m("button",{onClick:v,class:"button danger"},"Play Again")])]),_:1},8,["model-value"]))}});var yu=z(bu,[["__scopeId","data-v-4a50ce42"]]);const xt=e=>(Ie("data-v-d3bb0716"),e=e(),Me(),e),_u=xt(()=>m("div",{class:"nan-modal-header"},[m("h2",null,"NaN value detected!")],-1)),Nu={key:0},wu=xt(()=>m("br",null,null,-1)),Cu=["href"],ku=xt(()=>m("span",{class:"material-icons nan-modal-discord"},"discord",-1)),Su=xt(()=>m("br",null,null,-1)),Iu={class:"nan-footer"},Mu=q({__name:"NaNScreen",setup(e){const{discordName:t,discordLink:n}=A,r=F(!0),i=F(!0),s=ke(J,"hasNaN"),o=F(null);_e(s,N=>{N?(r.value=x.autosave,i.value=x.devSpeed===0):(x.autosave=r.value,x.devSpeed=i.value?0:null)});const u=P(()=>{var N;return(N=J.NaNPath)==null?void 0:N.join(".")}),d=P(()=>J.NaNPersistent!=null?J.NaNPersistent.value:null);function g(){J.NaNPersistent!=null&&(J.NaNPersistent.value=new l(0),J.hasNaN=!1)}function b(){J.NaNPersistent&&(J.NaNPersistent.value=new l(1),J.hasNaN=!1)}function v(){J.NaNPersistent&&(J.NaNPersistent.value=new l(NaN),J.hasNaN=!1)}return(N,k)=>(p(),_(j,null,[y(je,Oe({modelValue:c(s),"onUpdate:modelValue":k[4]||(k[4]=I=>te(s)?s.value=I:null)},N.$attrs),{header:V(()=>[_u]),body:V(()=>[m("div",null,[T(' Attempted to assign "'+D(c(u))+'" to NaN',1),c(d)?(p(),_("span",Nu,D(" ")+"(previously "+D(c(Se)(c(d)))+")",1)):$("",!0),T(". Auto-saving has been "+D(r.value?"enabled":"disabled")+". Check the console for more details, and consider sharing it with the developers on discord. ",1)]),wu,m("div",null,[m("a",{href:c(n)||"https://discord.gg/yJ4fjnjU54",class:"nan-modal-discord-link"},[ku,T(" "+D(c(t)||"Profectus & Friends"),1)],8,Cu)]),Su,y(we,{title:"Autosave",modelValue:r.value,"onUpdate:modelValue":k[0]||(k[0]=I=>r.value=I)},null,8,["modelValue"]),c(A).enablePausing?(p(),L(we,{key:0,title:"Pause game",modelValue:i.value,"onUpdate:modelValue":k[1]||(k[1]=I=>i.value=I)},null,8,["modelValue"])):$("",!0)]),footer:V(()=>[m("div",Iu,[m("button",{onClick:k[2]||(k[2]=I=>{var C;return(C=o.value)==null?void 0:C.open()}),class:"button"},"Open Saves Manager"),m("button",{onClick:g,class:"button"},"Set to 0"),m("button",{onClick:b,class:"button"},"Set to 1"),c(d)&&c(l).neq(c(d),0)&&c(l).neq(c(d),1)?(p(),_("button",{key:0,onClick:k[3]||(k[3]=I=>s.value=!1),class:"button"}," Set to previous ")):$("",!0),m("button",{onClick:v,class:"button danger"},"Ignore")])]),_:1},16,["modelValue"]),y(Pn,{ref_key:"savesManager",ref:o},null,512)],64))}});var $u=z(Mu,[["__scopeId","data-v-d3bb0716"]]);const xu={key:0,class:"tpsDisplay"},Fu=q({__name:"TPS",setup(e){const t=P(()=>l.div(J.lastTenTicks.length,J.lastTenTicks.reduce((n,r)=>n+r,0)));return(n,r)=>c(t).isNan()?$("",!0):(p(),_("div",xu,"TPS: "+D(c(st)(c(t))),1))}});var Tu=z(Fu,[["__scopeId","data-v-89b89152"]]);var Pu=q({__name:"App",setup(e){const t=A.useHeader,n=P(()=>At[ne.theme].variables),r=ke(ne,"showTPS"),i=ke(J,"errors"),s=P(()=>ue(ee(()=>y(j,null,[Ni.map(ut)]))));return(o,u)=>c(i).length>0?(p(),_("div",{key:0,class:"error-container",style:ge(c(n))},[y(dn,{errors:c(i)},null,8,["errors"])],4)):(p(),_(j,{key:1},[m("div",{id:"modal-root",style:ge(c(n))},null,4),m("div",{class:ae(["app",{useHeader:c(t)}]),style:ge(c(n))},[c(t)?(p(),L(En,{key:0})):$("",!0),y(al),c(c(r))?(p(),L(Tu,{key:1})):$("",!0),y(yu),y($u),(p(),L(ie(c(s))))],6)],64))}});var Eu=z(Pu,[["__scopeId","data-v-bf4e22ac"]]);se.on("setupVue",e=>e.use(Zn));function Ou(e={}){const{immediate:t=!1,onNeedRefresh:n,onOfflineReady:r,onRegistered:i,onRegisteredSW:s,onRegisterError:o}=e;let u,d,g,b;const v=async(k=!0)=>{await g,k&&(u==null||u.addEventListener("controlling",I=>{I.isUpdate&&window.location.reload()})),await(b==null?void 0:b())};async function N(){if("serviceWorker"in navigator){const{Workbox:k,messageSW:I}=await it(()=>import("./workbox-window.4a8794bb.js"),[]);b=async()=>{d&&d.waiting&&await I(d.waiting,{type:"SKIP_WAITING"})},u=new k("./sw.js",{scope:"./",type:"classic"}),u.addEventListener("activated",C=>{C.isUpdate||r==null||r()});{const C=()=>{n==null||n()};u.addEventListener("waiting",C),u.addEventListener("externalwaiting",C)}u.register({immediate:t}).then(C=>{d=C,s?s("./sw.js",C):i==null||i(C)}).catch(C=>{o==null||o(C)})}}return g=N(),v}function Vu(e={}){const{immediate:t=!0,onNeedRefresh:n,onOfflineReady:r,onRegistered:i,onRegisteredSW:s,onRegisterError:o}=e,u=F(!1),d=F(!1);return{updateServiceWorker:Ou({immediate:t,onNeedRefresh(){u.value=!0,n==null||n()},onOfflineReady(){d.value=!0,r==null||r()},onRegistered:i,onRegisteredSW:s,onRegisterError:o}),offlineReady:d,needRefresh:u}}const Kt=console.error;console.error=function(...e){Kt(...e)};window.onerror=function(e,t,n,r,i){return J.errors.push(i instanceof Error?i:new Error(JSON.stringify(i))),Kt(i),!0};window.onunhandledrejection=function(e){J.errors.push(e.reason instanceof Error?e.reason:new Error(JSON.stringify(e.reason))),Kt(e.reason)};document.title=A.title;window.projInfo=A;A.id===""&&console.error("Project ID is empty!","Please select a unique ID for this project in /src/data/projInfo.json");requestAnimationFrame(async()=>{console.log(`%cMade in Profectus%c -Learn more at www.moddingtree.com`,"font-weight: bold; font-size: 24px; color: #A3BE8C; background: #2E3440; padding: 4px 8px; border-radius: 8px;","padding: 4px;"),await pi();const{globalBus:e}=await it(()=>Promise.resolve().then(function(){return hi}),void 0),{startGameLoop:t}=await it(()=>import("./gameLoop.3386607e.js"),["assets/gameLoop.3386607e.js","assets/@fontsource.f66d05e7.css","assets/vue.359c6955.js","assets/lz-string.bfbf8ec3.js","assets/@vue.6f8187b0.js","assets/nanoevents.1080beb7.js","assets/vue-next-select.68e0c605.js","assets/vue-next-select.9e6f4164.css","assets/vuedraggable.055200e5.js","assets/sortablejs.20039f18.js","assets/vue-textarea-autosize.35804eaf.js","assets/vue-toastification.45d39007.js","assets/vue-toastification.4b5f8ac8.css"]),n=window.vue=jn(Eu);n.config.errorHandler=function(r,i,s){console.error(r,s,i)},e.emit("setupVue",n),n.mount("#app"),Ue(()=>{const r=Kn(),{updateServiceWorker:i}=Vu({onNeedRefresh(){r.info("New content available, click here to update.",{timeout:!1,closeOnClick:!1,draggable:!1,icon:{iconClass:"material-icons",iconChildren:"refresh",iconTag:"i"},rtl:!1,onClick(){i()}})},onOfflineReady(){r.info("App ready to work offline")},onRegisterError:console.warn,onRegistered(s){s&&setInterval(()=>s.update(),60*60*1e3)}})}),t()});export{l as D,it as _,J as a,A as b,ou as c,se as g,Bt as l,x as p,ne as s}; +${M}`)}}return g[S]}_e(n,S=>{S&&Object.keys(g).forEach(M=>delete g[M])});const v=P(()=>ne.saves.reduce((S,M)=>(S[M]=b(M),S),{}));function N(S){let M;switch(x.id===S?M=Lt(x):M=JSON.stringify(v.value[S]),A.exportEncoding){default:console.warn(`Unknown save encoding: ${A.exportEncoding}. Defaulting to lz`);case"lz":M=Ce.compressToUTF16(M);break;case"base64":M=btoa(unescape(encodeURIComponent(M)));break;case"plain":break}const U=document.createElement("textarea");U.value=M,document.body.appendChild(U),U.select(),U.setSelectionRange(0,99999),document.execCommand("copy"),document.body.removeChild(U)}function k(S){x.id===S&&fe();const M={...v.value[S],id:mt()};fe(M),ne.saves.push(M.id)}function I(S){ne.saves=ne.saves.filter(M=>M!==S),localStorage.removeItem(S),g[S]=void 0}function C(S){v.value[x.id].time=x.time,fe(),g[x.id]=void 0,qe(v.value[S]),g[S]=void 0}function G(S){if(o.value=S,Ue(()=>{o.value=null}),S[0]!=="{")if(S[0]==="e")S=decodeURIComponent(escape(atob(S)));else if(S[0]==="\u1BE1")S=Ce.decompressFromUTF16(S);else{console.warn("Unable to determine preset encoding",S);return}const M=JSON.parse(S);M.id=mt(),fe(M),ne.saves.push(M.id),C(M.id)}function Y(S,M){const U=v.value[S];U!=null&&(U.name=M,x.id===S?(x.name=M,fe()):(fe(U),g[S]=void 0))}return(S,M)=>(p(),L(je,{modelValue:n.value,"onUpdate:modelValue":M[4]||(M[4]=U=>n.value=U),ref_key:"modal",ref:r},{header:V(()=>[ko]),body:V(({shown:U})=>[U?(p(),L(u(Wn),{key:0,list:u(ne).saves,handle:".handle",itemKey:Ne=>Ne},{item:V(({element:Ne})=>[y(Co,{save:u(v)[Ne],onOpen:oe=>C(Ne),onExport:oe=>N(Ne),onEditName:oe=>Y(Ne,oe),onDuplicate:oe=>k(Ne),onDelete:oe=>I(Ne)},null,8,["save","onOpen","onExport","onEditName","onDuplicate","onDelete"])]),_:1},8,["list","itemKey"])):$("",!0)]),footer:V(()=>[m("div",So,[y(Tn,{modelValue:s.value,"onUpdate:modelValue":M[0]||(M[0]=U=>s.value=U),title:"Import Save",placeholder:"Paste your save here!",class:ae({importingFailed:i.value})},null,8,["modelValue","class"]),m("div",Io,[Mo,m("div",$o,[m("button",{class:"button",onClick:M[1]||(M[1]=U=>C(u(Je)().id))},"New Game"),Object.keys(u(d)).length>0?(p(),L(Fn,{key:0,options:u(d),modelValue:o.value,"onUpdate:modelValue":M[2]||(M[2]=U=>G(U)),closeOnSelect:"",placeholder:"Select preset",class:"presets"},null,8,["options","modelValue"])):$("",!0)])]),m("div",xo,[Fo,m("button",{class:"button modal-default-button",onClick:M[3]||(M[3]=U=>n.value=!1)}," Close ")])])]),_:1},8,["modelValue"]))}});var Pn=z(To,[["__scopeId","data-v-2a4275be"]]);const me=e=>(Ie("data-v-47c54e31"),e=e(),Me(),e),Po=["src","alt"],Eo={key:1,class:"title"},Oo=me(()=>m("div",{style:{"flex-grow":"1",cursor:"unset"}},null,-1)),Vo={class:"discord"},Do={class:"discord-links"},Lo={key:0},Ro=["href"],qo=me(()=>m("li",null,[m("a",{href:"https://discord.gg/yJ4fjnjU54",target:"_blank"},"Profectus & Friends")],-1)),Ao=me(()=>m("li",null,[m("a",{href:"https://discord.gg/F3xveHV",target:"_blank"},"The Modding Tree")],-1)),Bo={href:"https://forums.moddingtree.com/",target:"_blank"},Uo=me(()=>m("span",{class:"material-icons"},"forum",-1)),zo=me(()=>m("span",{class:"material-icons"},"info",-1)),Go=me(()=>m("span",{class:"material-icons"},"library_books",-1)),jo=me(()=>m("span",{class:"material-icons"},"settings",-1)),Ho=me(()=>m("span",{class:"material-icons"},"library_books",-1)),Wo=me(()=>m("span",{class:"material-icons"},"settings",-1)),Jo=me(()=>m("span",{class:"material-icons"},"info",-1)),Zo={href:"https://forums.moddingtree.com/",target:"_blank"},Ko=me(()=>m("span",{class:"material-icons"},"forum",-1)),Yo={class:"discord"},Xo={class:"discord-links"},Qo={key:0},el=["href"],tl=me(()=>m("li",null,[m("a",{href:"https://discord.gg/yJ4fjnjU54",target:"_blank"},"Profectus & Friends")],-1)),nl=me(()=>m("li",null,[m("a",{href:"https://discord.gg/F3xveHV",target:"_blank"},"The Modding Tree")],-1)),rl=q({__name:"Nav",setup(e){const t=F(null),n=F(null),r=F(null),i=F(null),{useHeader:s,banner:o,title:c,discordName:d,discordLink:g,versionNumber:b}=A;function v(){window.open(g,"mywindow")}return(N,k)=>(p(),_(j,null,[u(s)?(p(),_("div",Oe({key:0,class:"nav"},N.$attrs),[u(o)?(p(),_("img",{key:0,src:u(o),class:"banner",alt:u(c)},null,8,Po)):(p(),_("div",Eo,D(u(c)),1)),m("div",{onClick:k[0]||(k[0]=I=>{var C;return(C=i.value)==null?void 0:C.open()}),class:"version-container"},[y(Q,{display:"Changelog",direction:u(Z).Down,class:"version"},{default:V(()=>[m("span",null,"v"+D(u(b)),1)]),_:1},8,["direction"])]),Oo,m("div",Vo,[m("span",{onClick:v,class:"material-icons"},"discord"),m("ul",Do,[u(g)?(p(),_("li",Lo,[m("a",{href:u(g),target:"_blank"},D(u(d)),9,Ro)])):$("",!0),qo,Ao])]),m("div",null,[m("a",Bo,[y(Q,{display:"Forums",direction:u(Z).Down,yoffset:"5px"},{default:V(()=>[Uo]),_:1},8,["direction"])])]),m("div",{onClick:k[1]||(k[1]=I=>{var C;return(C=t.value)==null?void 0:C.open()})},[y(Q,{display:"Info",direction:u(Z).Down,class:"info"},{default:V(()=>[zo]),_:1},8,["direction"])]),m("div",{onClick:k[2]||(k[2]=I=>{var C;return(C=n.value)==null?void 0:C.open()})},[y(Q,{display:"Saves",direction:u(Z).Down,xoffset:"-20px"},{default:V(()=>[Go]),_:1},8,["direction"])]),m("div",{onClick:k[3]||(k[3]=I=>{var C;return(C=r.value)==null?void 0:C.open()})},[y(Q,{display:"Settings",direction:u(Z).Down,xoffset:"-66px"},{default:V(()=>[jo]),_:1},8,["direction"])])],16)):(p(),_("div",Oe({key:1,class:"overlay-nav"},N.$attrs),[m("div",{onClick:k[4]||(k[4]=I=>{var C;return(C=i.value)==null?void 0:C.open()}),class:"version-container"},[y(Q,{display:"Changelog",direction:u(Z).Right,xoffset:"25%",class:"version"},{default:V(()=>[m("span",null,"v"+D(u(b)),1)]),_:1},8,["direction"])]),m("div",{onClick:k[5]||(k[5]=I=>{var C;return(C=n.value)==null?void 0:C.open()})},[y(Q,{display:"Saves",direction:u(Z).Right},{default:V(()=>[Ho]),_:1},8,["direction"])]),m("div",{onClick:k[6]||(k[6]=I=>{var C;return(C=r.value)==null?void 0:C.open()})},[y(Q,{display:"Settings",direction:u(Z).Right},{default:V(()=>[Wo]),_:1},8,["direction"])]),m("div",{onClick:k[7]||(k[7]=I=>{var C;return(C=t.value)==null?void 0:C.open()})},[y(Q,{display:"Info",direction:u(Z).Right},{default:V(()=>[Jo]),_:1},8,["direction"])]),m("div",null,[m("a",Zo,[y(Q,{display:"Forums",direction:u(Z).Right,xoffset:"7px"},{default:V(()=>[Ko]),_:1},8,["direction"])])]),m("div",Yo,[m("span",{onClick:v,class:"material-icons"},"discord"),m("ul",Xo,[u(g)?(p(),_("li",Qo,[m("a",{href:u(g),target:"_blank"},D(u(d)),9,el)])):$("",!0),tl,nl])])],16)),y(La,{ref_key:"info",ref:t,changelog:i.value},null,8,["changelog"]),y(Pn,{ref_key:"savesManager",ref:n},null,512),y(Wa,{ref_key:"options",ref:r},null,512),y(ba,{ref_key:"changelog",ref:i},null,512)],64))}});var En=z(rl,[["__scopeId","data-v-47c54e31"]]);const il={class:"inner-tab"},sl=q({__name:"Game",setup(e){const t=ke(x,"tabs"),n=P(()=>Object.keys(le)),r=A.useHeader;function i(s){const{display:o,minimized:c,name:d,color:g,minimizable:b,nodes:v,minimizedDisplay:N}=s;return{display:o,minimized:c,name:d,color:g,minimizable:b,nodes:v,minimizedDisplay:N}}return(s,o)=>(p(),_("div",{class:ae(["tabs-container",{useHeader:u(r)}])},[(p(!0),_(j,null,Le(u(t),(c,d)=>{var g,b;return p(),_("div",{key:d,class:ae(["tab",u((g=u(le)[c])==null?void 0:g.classes)]),style:ge(u((b=u(le)[c])==null?void 0:b.style))},[d===0&&!u(r)?(p(),L(En,{key:0})):$("",!0),m("div",il,[u(n).includes(c)?(p(),L(ma,Oe({key:0},i(u(le)[c]),{index:d,onSetMinimized:v=>u(le)[c].minimized.value=v}),null,16,["index","onSetMinimized"])):(p(),L(ie(c),{key:1,index:d},null,8,["index"]))])],6)}),128))],2))}});var al=z(sl,[["__scopeId","data-v-dcd207b4"]]);const ol=q({__name:"Spacer",props:{width:{default:"8px"},height:{default:"17px"}},setup(e){return(t,n)=>(p(),_("div",{style:ge({width:e.width,height:e.height})},null,4))}});function On(e,t="points",n=0,r=void 0){const i=te(e)?e:ct(e);if(i.displayName=t,i.precision=n,i.small=r,!te(e)){const s=i[Fe];s.displayName=t,s.precision=n,s.small=r}return i}function ll(e){const t=ct(e.value);return _e(e,n=>{Bt.value||l.gt(n,t.value)&&(t.value=n)}),t}function ul(e){const t=ct(e.value);return _e(e,(n,r)=>{Bt.value||l.gt(n,r)&&(t.value=l.add(t.value,l.sub(n,r)))}),t}const cl=new l("10^^8"),dl=new l("1e100");function fl(e,t){const n=F(0),r=F(0),i=F(0);return se.on("update",o=>{if(r.value=0,l.lte(e.value,dl)){i.value=e.value;return}let c=e.value,d=i.value;if(i.value=c,l.gt(c,d))if(l.gte(c,cl))c=l.slog(c,1e10),d=l.slog(d,1e10),n.value=c.sub(d).div(o),r.value=-1;else for(;l.div(c,d).log(10).div(o).gte("100")&&r.value<=5&&l.gt(d,0);)c=l.log10(c),d=l.log10(d),n.value=c.sub(d).div(o),r.value++}),P(()=>r.value===0?t?Se(t.value,e.precision,e.small)+" "+e.displayName+"/s":"":Se(n.value)+" OOM"+(r.value<0?"^OOM":"^"+r.value)+"s/sec")}function _t(e,t){const n=t!=null?t:e.value;return l.eq(e.precision,0)?st(e.small?n:l.floor(n)):Se(n,e.precision,e.small)}const gl=["x1","y1","x2","y2"],ml=q({__name:"Link",props:{link:null,startNode:null,endNode:null,boundingRect:null},setup(e){const t=e,n=de(t),r=P(()=>{const o=n.startNode.value.rect,c=n.boundingRect.value,d=c?{x:o.x+o.width/2-c.x,y:o.y+o.height/2-c.y}:{x:0,y:0};return n.link.value.offsetStart&&(d.x+=n.link.value.offsetStart.x,d.y+=n.link.value.offsetStart.y),d}),i=P(()=>{const o=n.endNode.value.rect,c=n.boundingRect.value,d=c?{x:o.x+o.width/2-c.x,y:o.y+o.height/2-c.y}:{x:0,y:0};return n.link.value.offsetEnd&&(d.x+=n.link.value.offsetEnd.x,d.y+=n.link.value.offsetEnd.y),d}),s=P(()=>Ci(t.link));return(o,c)=>(p(),_("line",Oe({"stroke-width":"15px",stroke:"white"},u(s),{x1:u(r).x,y1:u(r).y,x2:u(i).x,y2:u(i).y}),null,16,gl))}});const hl=q({__name:"Links",props:{links:null},setup(e){var d;const n=ke(e,"links"),r=F(null),i=vt(Gt,F({})),s=vt(jt,F(void 0)),o=F((d=r.value)==null?void 0:d.getBoundingClientRect());_e(s,()=>{var g;return o.value=(g=r.value)==null?void 0:g.getBoundingClientRect()}),lt(()=>{var g;return o.value=(g=r.value)==null?void 0:g.getBoundingClientRect()});const c=P(()=>{var b,v;const g=i.value;return(v=(b=n.value)==null?void 0:b.filter(N=>{var k,I;return((k=g[N.startNode.id])==null?void 0:k.rect)&&((I=g[N.startNode.id])==null?void 0:I.rect)}))!=null?v:[]});return(g,b)=>(p(),_(j,null,[u(c)?(p(),_("svg",Gn(Oe({key:0},g.$attrs)),[(p(!0),_(j,null,Le(u(c),(v,N)=>(p(),L(ml,{key:N,link:v,boundingRect:o.value,startNode:u(i)[v.startNode.id],endNode:u(i)[v.endNode.id]},null,8,["link","boundingRect","startNode","endNode"]))),128))],16)):$("",!0),m("div",{ref_key:"resizeListener",ref:r,class:"resize-listener"},null,512)],64))}});var pl=z(hl,[["__scopeId","data-v-063f6d6b"]]),vl=q({props:{nodes:{type:B(Array),required:!0},leftSideNodes:B(Array),rightSideNodes:B(Array),branches:B(Array)},components:{Links:pl},setup(e){const{nodes:t,leftSideNodes:n,rightSideNodes:r}=de(e),i=be();Be(()=>{const c=ye(t);i.value=ue(ee(()=>y(j,null,[c.map(d=>y("span",{class:"row tree-row",style:"margin: 50px auto;"},[d.map(ht)]))])))});const s=be();Be(()=>{const c=ye(n);s.value=c?ue(ee(()=>y("span",{class:"left-side-nodes small"},[c.map(ht)]))):""});const o=be();return Be(()=>{const c=ye(r);o.value=c?ue(ee(()=>y("span",{class:"side-nodes small"},[c.map(ht)]))):""}),{unref:u,nodesComp:i,leftNodesComp:s,rightNodesComp:o}}});function bl(e,t,n,r,i,s){const o=ze("Links");return p(),_(j,null,[(p(),L(ie(e.nodesComp))),e.leftNodesComp?(p(),L(ie(e.leftNodesComp),{key:0})):$("",!0),e.rightNodesComp?(p(),L(ie(e.rightNodesComp),{key:1})):$("",!0),e.branches?(p(),L(o,{key:2,links:e.unref(e.branches)},null,8,["links"])):$("",!0)],64)}var yl=z(vl,[["render",bl],["__scopeId","data-v-39ca96d0"]]);const _l={key:0},Nl={key:0,class:"mark star"},wl=["src"],Cl=q({__name:"MarkNode",props:{mark:{type:[Boolean,String]}},setup(e){return(t,n)=>e.mark?(p(),_("div",_l,[e.mark===!0?(p(),_("div",Nl)):(p(),_("img",{key:1,class:"mark",src:e.mark},null,8,wl))])):$("",!0)}});var Vn=z(Cl,[["__scopeId","data-v-2207999f"]]);const kl=q({__name:"Node",props:{id:null},setup(e){const n=de(e),r=vt(Ut,()=>{}),i=vt(zt,()=>{}),s=be(null),o=P(()=>s.value&&s.value.parentElement);return _e([o,n.id],([c,d],[g,b])=>{g&&i(u(b)),c&&r(d,c)}),ln(()=>i(u(n.id))),(c,d)=>(p(),_("div",{class:"node",ref_key:"node",ref:s},null,512))}});var Dn=z(kl,[["__scopeId","data-v-a48cb382"]]);const Sl=q({props:{display:B(Object,String,Function),visibility:{type:B(Number,Boolean),required:!0},style:B(String,Object,Array),classes:B(Object),onClick:Function,onHold:Function,color:B(String),glowColor:B(String),canClick:{type:B(Boolean),required:!0},mark:B(Boolean,String),id:{type:String,required:!0}},components:{MarkNode:Vn,Node:Dn},setup(e){const{onClick:t,onHold:n,display:r}=de(e),i=Qe(r),{start:s,stop:o}=kn(t,n);return{start:s,stop:o,comp:i,unref:u,Visibility:Xe,isCoercableComponent:Mt,isVisible:yn,isHidden:_n}}});function Il(e,t,n,r,i,s){var d;const o=ze("MarkNode"),c=ze("Node");return e.isVisible(e.visibility)?(p(),_("div",{key:0,style:ge({visibility:e.isHidden(e.visibility)?"hidden":void 0}),class:ae({treeNode:!0,can:e.unref(e.canClick),...e.unref(e.classes)}),onClick:t[0]||(t[0]=(...g)=>e.onClick&&e.onClick(...g)),onMousedown:t[1]||(t[1]=(...g)=>e.start&&e.start(...g)),onMouseleave:t[2]||(t[2]=(...g)=>e.stop&&e.stop(...g)),onMouseup:t[3]||(t[3]=(...g)=>e.stop&&e.stop(...g)),onTouchstartPassive:t[4]||(t[4]=(...g)=>e.start&&e.start(...g)),onTouchendPassive:t[5]||(t[5]=(...g)=>e.stop&&e.stop(...g)),onTouchcancelPassive:t[6]||(t[6]=(...g)=>e.stop&&e.stop(...g))},[m("div",{style:ge([{backgroundColor:e.unref(e.color),boxShadow:`-4px -4px 4px rgba(0, 0, 0, 0.25) inset, 0 0 20px ${e.unref(e.glowColor)}`},(d=e.unref(e.style))!=null?d:[]])},[(p(),L(ie(e.unref(e.comp))))],4),y(o,{mark:e.unref(e.mark)},null,8,["mark"]),y(c,{id:e.id},null,8,["id"])],38)):$("",!0)}var Ml=z(Sl,[["render",Il],["__scopeId","data-v-727230a6"]]);const $l=Symbol("TreeNode"),xl=Symbol("Tree");function Fl(e,...t){const n=t.reduce((r,i)=>{var s;return Object.assign(r,(s=i.getPersistentData)==null?void 0:s.call(i))},{});return He(r=>{var o,c,d;const i=(o=e==null?void 0:e.call(r,r))!=null?o:{};i.id=It("treeNode-"),i.type=$l,i[Pe]=Ml;for(const g of t)(c=g.preConstruct)==null||c.call(g,i);Object.assign(n),E(i,"visibility"),ce(i,"visibility",Xe.Visible),E(i,"canClick"),ce(i,"canClick",!0),E(i,"color"),E(i,"display"),E(i,"glowColor"),E(i,"classes"),E(i,"style"),E(i,"mark");for(const g of t)(d=g.postConstruct)==null||d.call(g,i);if(i.onClick){const g=i.onClick.bind(i);i.onClick=function(b){u(i.canClick)!==!1&&g(b)}}if(i.onHold){const g=i.onHold.bind(i);i.onHold=function(){u(i.canClick)!==!1&&g()}}const s=t.reduce((g,b)=>{var v;return Object.assign(g,(v=b.getGatheredProps)==null?void 0:v.call(b,i))},{});return i[Ee]=function(){const{display:g,visibility:b,style:v,classes:N,onClick:k,onHold:I,color:C,glowColor:G,canClick:Y,mark:S,id:M}=this;return{display:g,visibility:b,style:v,classes:N,onClick:k,onHold:I,color:C,glowColor:G,canClick:Y,mark:S,id:M,...s}},i})}function Tl(e){return He(t=>{const n=e.call(t,t);return n.id=It("tree-"),n.type=xl,n[Pe]=yl,n.isResetting=F(!1),n.resettingNode=be(null),n.reset=function(r){var s,o;const i=n;i.isResetting.value=!0,i.resettingNode.value=r,(s=i.resetPropagation)==null||s.call(i,i,r),(o=i.onReset)==null||o.call(i,r),i.isResetting.value=!1,i.resettingNode.value=null},n.links=P(()=>{var i;return(i=u(n.branches))!=null?i:[]}),E(n,"visibility"),ce(n,"visibility",Xe.Visible),E(n,"nodes"),E(n,"leftSideNodes"),E(n,"rightSideNodes"),E(n,"branches"),n[Ee]=function(){const{nodes:r,leftSideNodes:i,rightSideNodes:s,branches:o}=this;return{nodes:r,leftSideNodes:i,rightSideNodes:s,branches:o}},n})}const Pl=function(e,t){var s;const n=u(e.branches);if(n==null)return;const r=[];let i=[t];for(;i.length!=0;){const o=[];for(const c of i)for(const d of n.filter(g=>g.startNode===c))[...r,...i].includes(d.endNode)||(o.push(d.endNode),(s=d.endNode.reset)==null||s.reset());r.push(...i),i=o}};function El(e,t=null,n=0){const r=Et(n);return P(()=>t==null||l.gte(e.value,u(r))?_t(e)+" "+e.displayName:`Reach ${l.eq(t.precision,0)?st(u(r)):Se(u(r),t.precision)} ${t.displayName} to unlock (You have ${l.eq(t.precision,0)?st(t.value):Se(t.value,t.precision)})`)}function Ol(e,...t){return He(n=>{var i,s;const r=e.call(n,n);for(const o of t)(i=o.preConstruct)==null||i.call(o,r);r.formula=r.formula(a.variable(r.baseResource)),r.currentGain==null&&(r.currentGain=P(()=>{let o=l.floor(r.formula.evaluate(r.baseResource.value)).max(0);return u(r.buyMax)===!1&&(o=o.min(1)),o})),r.actualGain==null&&(r.actualGain=r.currentGain),r.currentAt==null&&(r.currentAt=P(()=>r.formula.invert(l.floor(u(r.currentGain))))),r.nextAt==null&&(r.nextAt=P(()=>r.formula.invert(l.floor(u(r.currentGain)).add(1)))),r.convert==null&&(r.convert=function(){var c;const o=u(r.currentGain);r.gainResource.value=l.add(r.gainResource.value,o),r.spend(o),(c=r.onConvert)==null||c.call(r,o)}),r.spend==null&&(r.spend=function(){r.baseResource.value=0}),E(r,"currentGain"),E(r,"actualGain"),E(r,"currentAt"),E(r,"nextAt"),E(r,"buyMax"),ce(r,"buyMax",!0);for(const o of t)(s=o.postConstruct)==null||s.call(o,r);return r})}function Vl(e){return Ol(e)}const Ln=e=>(Ie("data-v-5e2d38ce"),e=e(),Me(),e),Dl=Ln(()=>m("div",{class:"key"},"Ctrl",-1)),Ll=Ln(()=>m("div",{class:"key"},"Shift",-1)),Rl={class:"key"},ql=q({__name:"Hotkey",props:{hotkey:null},setup(e){const t=e;let n="",r=!1,i=!1,s=!1;return Be(()=>{n=t.hotkey.key,r=n.startsWith("ctrl+"),r&&(n=n.slice(5)),i=n.startsWith("shift+"),i&&(n=n.slice(6)),s=n.length==1&&n.toLowerCase()!=n.toUpperCase(),s&&(n=n.toUpperCase())}),(o,c)=>(p(),_(j,null,[u(r)?(p(),_(j,{key:0},[Dl,T("+")],64)):$("",!0),u(i)?(p(),_(j,{key:1},[Ll,T("+")],64)):$("",!0),m("div",Rl,D(u(n)),1)],64))}});var Al=z(ql,[["__scopeId","data-v-5e2d38ce"]]);const $t=Ct({}),Jt=Symbol("Hotkey"),an=[")","!","@","#","$","%","^","&","*","("];function Bl(e){return He(t=>{const n=e.call(t,t);return n.type=Jt,E(n,"enabled"),ce(n,"enabled",!0),E(n,"description"),n})}se.on("addLayer",e=>{Nn(e,Jt).forEach(t=>{$t[t.key]=t})});se.on("removeLayer",e=>{Nn(e,Jt).forEach(t=>{$t[t.key]=void 0})});document.onkeydown=function(e){var r;if(((r=e.target)==null?void 0:r.tagName)==="INPUT"||Zt.value&&!x.keepGoing)return;let t=e.key;an.includes(t)?t="shift+"+an.indexOf(t):e.shiftKey&&(t="shift+"+t),e.ctrlKey&&(t="ctrl+"+t);const n=$t[t];n&&u(n.enabled)&&(e.preventDefault(),n.onPress())};_i(ee(()=>{const e=Object.values($t).filter(t=>u(t==null?void 0:t.enabled));return e.length===0?"":y("div",null,[y("br",null,null),y("h4",null,[T("Hotkeys")]),y("div",{style:"column-count: 2"},[e.map(t=>y("div",null,[y(Al,{hotkey:t},null),T(" "),t==null?void 0:t.description]))])])}));const Ul=Symbol("Reset");function zl(e){return He(t=>{const n=e.call(t,t);return n.id=It("reset-"),n.type=Ul,n.reset=function(){var i;const r=s=>{if(s!=null&&typeof s=="object"&&!(s instanceof l)&&!(s instanceof a)){if(Vt in s&&s[Vt]===!0)return;if(Ge in s){const o=s;o.value=o[Ge]}else!(s instanceof l)&&!te(s)&&Object.values(s).forEach(o=>r(o))}};u(n.thingsToReset).forEach(r),se.emit("reset",n),(i=n.onReset)==null||i.call(n)},E(n,"thingsToReset"),n})}const gt={};se.on("removeLayer",e=>{var t;(t=gt[e.id])==null||t.call(gt),gt[e.id]=void 0});const Gl=q({__name:"Sticky",setup(e){const t=F("0"),n=new ResizeObserver(i),r=be(null);function i(){let s=r.value;if(s==null)return;let o=0;for(;s.previousSibling;){const c=s.previousSibling;c.dataset&&"vSticky"in c.dataset&&(o+=c.offsetHeight),s=c}t.value=o+"px"}return Ue(i),document.fonts.ready.then(i),lt(()=>{var o;const s=(o=r.value)==null?void 0:o.parentElement;s&&n.observe(s)}),(s,o)=>(p(),_("div",{class:"sticky",style:ge({top:t.value}),ref_key:"element",ref:r,"data-v-sticky":""},[Te(s.$slots,"default",{},void 0,!0)],4))}});var jl=z(Gl,[["__scopeId","data-v-cccac690"]]);const Hl=q({__name:"Resource",props:{resource:null,color:null},setup(e){const t=e,n=P(()=>_t(t.resource));return(r,i)=>(p(),_("h2",{style:ge({color:e.color,"text-shadow":"0px 0px 10px "+e.color})},D(u(n)),5))}});const Wl={class:"main-display"},Jl={key:0},Zl={key:1},Kl=q({__name:"MainDisplay",props:{resource:null,color:null,classes:null,style:null,effectDisplay:null},setup(e){const n=de(e),r=F(null),i=Qe(n.effectDisplay),s=P(()=>l.lt(n.resource.value,"1e1000"));return(o,c)=>(p(),L(jl,null,{default:V(()=>{var d,g,b,v;return[m("div",{class:ae(["main-display-container",(d=e.classes)!=null?d:{}]),style:ge([{height:`${((b=(g=r.value)==null?void 0:g.$el.clientHeight)!=null?b:0)+50}px`},(v=e.style)!=null?v:{}])},[m("div",Wl,[u(s)?(p(),_("span",Jl,"You have ")):$("",!0),y(Hl,{resource:e.resource,color:e.color||"white"},null,8,["resource","color"]),T(" "+D(e.resource.displayName),1),u(i)?(p(),_("span",Zl,[T(", "),(p(),L(ie(u(i)),{ref_key:"effectRef",ref:r},null,512))])):$("",!0)])],6)]}),_:1}))}});function Yl(e,t){return E(t,"display"),E(t,"classes"),E(t,"style"),E(t,"direction"),ce(t,"direction",Z.Up),E(t,"xoffset"),E(t,"yoffset"),t.pinnable&&(t.pinned=ct(!1,!1)),Ue(()=>{const n=e[Pe];e[Pe]=Q;const r=e[Ee].bind(e);e[Ee]=function(){const{display:s,classes:o,style:c,direction:d,xoffset:g,yoffset:b,pinned:v}=this;return{element:{[Pe]:n,[Ee]:r},display:s,classes:o,style:u(c),direction:d,xoffset:g,yoffset:b,pinned:v}}.bind(t)}),t}var Xl=q({props:{display:{type:B(Object,String,Function),required:!0},visibility:{type:B(Number,Boolean),required:!0},style:B(Object,String,Array),classes:B(Object),onClick:Function,onHold:Function,canClick:{type:B(Boolean),required:!0},small:Boolean,mark:B(Boolean,String),id:{type:String,required:!0}},components:{Node:Dn,MarkNode:Vn},setup(e){const{display:t,onClick:n,onHold:r}=de(e),i=be("");Be(()=>{var b;const c=ye(t);if(c==null){i.value="";return}if(Mt(c)){i.value=ue(c);return}const d=ue((b=c.title)!=null?b:"","h3"),g=ue(c.description,"div");i.value=ue(ee(()=>y("span",null,[c.title!=null?y("div",null,[y(d,null,null)]):null,y(g,null,null)])))});const{start:s,stop:o}=kn(n,r);return{start:s,stop:o,comp:i,Visibility:Xe,isVisible:yn,isHidden:_n,unref:u}}});function Ql(e,t,n,r,i,s){var d;const o=ze("MarkNode"),c=ze("Node");return e.isVisible(e.visibility)?(p(),_("button",{key:0,style:ge([{visibility:e.isHidden(e.visibility)?"hidden":void 0},(d=e.unref(e.style))!=null?d:[]]),onClick:t[0]||(t[0]=(...g)=>e.onClick&&e.onClick(...g)),onMousedown:t[1]||(t[1]=(...g)=>e.start&&e.start(...g)),onMouseleave:t[2]||(t[2]=(...g)=>e.stop&&e.stop(...g)),onMouseup:t[3]||(t[3]=(...g)=>e.stop&&e.stop(...g)),onTouchstartPassive:t[4]||(t[4]=(...g)=>e.start&&e.start(...g)),onTouchendPassive:t[5]||(t[5]=(...g)=>e.stop&&e.stop(...g)),onTouchcancelPassive:t[6]||(t[6]=(...g)=>e.stop&&e.stop(...g)),class:ae({feature:!0,clickable:!0,can:e.unref(e.canClick),locked:!e.unref(e.canClick),small:e.small,...e.unref(e.classes)})},[e.unref(e.comp)?(p(),L(ie(e.unref(e.comp)),{key:0})):$("",!0),y(o,{mark:e.unref(e.mark)},null,8,["mark"]),y(c,{id:e.id},null,8,["id"])],38)):$("",!0)}var eu=z(Xl,[["render",Ql],["__scopeId","data-v-211328c0"]]);const tu=Symbol("Clickable");function nu(e,...t){const n=t.reduce((r,i)=>{var s;return Object.assign(r,(s=i.getPersistentData)==null?void 0:s.call(i))},{});return He(r=>{var o,c,d;const i=(o=e==null?void 0:e.call(r,r))!=null?o:{};i.id=It("clickable-"),i.type=tu,i[Pe]=eu;for(const g of t)(c=g.preConstruct)==null||c.call(g,i);if(Object.assign(i,n),E(i,"visibility"),ce(i,"visibility",Xe.Visible),E(i,"canClick"),ce(i,"canClick",!0),E(i,"classes"),E(i,"style"),E(i,"mark"),E(i,"display"),i.onClick){const g=i.onClick.bind(i);i.onClick=function(b){u(i.canClick)!==!1&&g(b)}}if(i.onHold){const g=i.onHold.bind(i);i.onHold=function(){u(i.canClick)!==!1&&g()}}for(const g of t)(d=g.postConstruct)==null||d.call(g,i);const s=t.reduce((g,b)=>{var v;return Object.assign(g,(v=b.getGatheredProps)==null?void 0:v.call(b,i))},{});return i[Ee]=function(){const{display:g,visibility:b,style:v,classes:N,onClick:k,onHold:I,canClick:C,small:G,mark:Y,id:S}=this;return{display:g,visibility:b,style:u(v),classes:N,onClick:k,onHold:I,canClick:C,small:G,mark:Y,id:S,...s}},i})}function ru(e){return nu(t=>{const n=e.call(t,t);E(n,"showNextAt"),ce(n,"showNextAt",!0),ce(n,"minimumGain",1),n.resetDescription==null?n.resetDescription=P(()=>l.lt(n.conversion.gainResource.value,1e3)?"Reset for ":""):E(n,"resetDescription"),n.display==null&&(n.display=ee(()=>y("span",null,[u(n.resetDescription),y("b",null,[_t(n.conversion.gainResource,l.max(u(n.conversion.actualGain),u(n.minimumGain)))])," ",n.conversion.gainResource.displayName,u(n.showNextAt)!=null?y("div",null,[y("br",null,null),u(n.conversion.buyMax)?"Next:":"Req:"," ",_t(n.conversion.baseResource,!u(n.conversion.buyMax)&&l.gte(u(n.conversion.actualGain),1)?u(n.conversion.currentAt):u(n.conversion.nextAt))," ",n.conversion.baseResource.displayName]):null]))),n.canClick==null&&(n.canClick=P(()=>l.gte(u(n.conversion.actualGain),u(n.minimumGain))));const r=n.onClick;return n.onClick=function(i){u(n.canClick)!==!1&&(n.conversion.convert(),n.tree.reset(n.treeNode),n.resetTime&&(n.resetTime.value=n.resetTime[Ge]),r==null||r(i))},n})}function iu(e){return Fl(t=>{const n=e.call(t,t);return ce(n,"display",bn(n.layerID)),E(n,"append"),{...n,onClick:u(n.append)?function(){if(x.tabs.includes(n.layerID)){const r=x.tabs.lastIndexOf(n.layerID);x.tabs.splice(r,1)}else x.tabs.push(n.layerID)}:function(){x.tabs.splice(1,1,n.layerID)}}})}const on="p",Nt=Ht(on,function(){const e="Prestige",t="#4BDC13",n=On(0,"prestige points"),r=Vl(()=>({formula:g=>g.div(10).sqrt(),baseResource:wt.points,gainResource:n})),i=zl(()=>({thingsToReset:()=>[Nt]})),s=iu(()=>({layerID:on,color:t,reset:i})),o=Yl(s,{display:El(n),pinnable:!0}),c=ru(()=>({conversion:r,tree:wt.tree,treeNode:s})),d=Bl(()=>({description:"Reset for prestige points",key:"p",onPress:c.onClick}));return{name:e,color:t,points:n,tooltip:o,display:ee(()=>y(j,null,[y(Kl,{resource:n,color:t},null),ut(c)])),treeNode:s,hotkey:d}}),wt=Ht("main",function(){const e=On(10),t=ll(e),n=ul(e),r=P(()=>new l(1));se.on("update",o=>{e.value=l.add(e.value,l.times(r.value,o))});const i=fl(e,r),s=Tl(()=>({nodes:[[Nt.treeNode]],branches:[],onReset(){e.value=Xt(this.resettingNode.value)===Xt(Nt.treeNode)?0:10,t.value=e.value,n.value=e.value},resetPropagation:Pl}));return{name:"Tree",links:s.links,display:ee(()=>y(j,null,[x.devSpeed===0?y("div",null,[T("Game Paused")]):null,x.devSpeed!=null&&x.devSpeed!==0&&x.devSpeed!==1?y("div",null,[T("Dev Speed: "),Se(x.devSpeed),T("x")]):null,x.offlineTime!=null&&x.offlineTime!==0?y("div",null,[T("Offline Time: "),St(x.offlineTime)]):null,y("div",null,[l.lt(e.value,"1e1000")?y("span",null,[T("You have ")]):null,y("h2",null,[Se(e.value)]),l.lt(e.value,"1e1e6")?y("span",null,[T(" points")]):null]),l.gt(r.value,0)?y("div",null,[T("("),i.value,T(")")]):null,y(ol,null,null),ut(s)])),points:e,best:t,total:n,oomps:i,tree:s}}),su=e=>[wt,Nt],Zt=P(()=>!1);function au(e,t){}var ou=Object.freeze(Object.defineProperty({__proto__:null,main:wt,getInitialLayers:su,hasWon:Zt,fixOldSave:au},Symbol.toStringTag,{value:"Module"}));const dt=e=>(Ie("data-v-4a50ce42"),e=e(),Me(),e),lu={class:"game-over-modal-header"},uu=["src","alt"],cu={class:"game-over-modal-title"},du=dt(()=>m("h2",null,"Congratulations!",-1)),fu={key:0},gu=dt(()=>m("br",null,null,-1)),mu=dt(()=>m("div",null," Please check the Discord to discuss the game or to check for new content updates! ",-1)),hu=dt(()=>m("br",null,null,-1)),pu=["href"],vu=dt(()=>m("span",{class:"material-icons game-over-modal-discord"},"discord",-1)),bu=q({__name:"GameOverScreen",setup(e){const{title:t,logo:n,discordName:r,discordLink:i,versionNumber:s,versionTitle:o}=A,c=P(()=>St(x.timePlayed)),d=P(()=>Zt.value&&!x.keepGoing),g=ke(x,"autosave");function b(){x.keepGoing=!0}function v(){qe(Je())}return(N,k)=>(p(),L(je,{"model-value":u(d)},{header:V(()=>[m("div",lu,[u(n)?(p(),_("img",{key:0,class:"game-over-modal-logo",src:u(n),alt:u(t)},null,8,uu)):$("",!0),m("div",cu,[du,m("h4",null,"You've beaten "+D(u(t))+" v"+D(u(s))+": "+D(u(o)),1)])])]),body:V(({shown:I})=>[I?(p(),_("div",fu,[m("div",null,"It took you "+D(u(c))+" to beat the game.",1),gu,mu,hu,m("div",null,[m("a",{href:u(i),class:"game-over-modal-discord-link"},[vu,T(" "+D(u(r)),1)],8,pu)]),y(we,{title:"Autosave",modelValue:u(g),"onUpdate:modelValue":k[0]||(k[0]=C=>te(g)?g.value=C:null)},null,8,["modelValue"])])):$("",!0)]),footer:V(()=>[m("div",{class:"game-over-footer"},[m("button",{onClick:b,class:"button"},"Keep Going"),m("button",{onClick:v,class:"button danger"},"Play Again")])]),_:1},8,["model-value"]))}});var yu=z(bu,[["__scopeId","data-v-4a50ce42"]]);const xt=e=>(Ie("data-v-d3bb0716"),e=e(),Me(),e),_u=xt(()=>m("div",{class:"nan-modal-header"},[m("h2",null,"NaN value detected!")],-1)),Nu={key:0},wu=xt(()=>m("br",null,null,-1)),Cu=["href"],ku=xt(()=>m("span",{class:"material-icons nan-modal-discord"},"discord",-1)),Su=xt(()=>m("br",null,null,-1)),Iu={class:"nan-footer"},Mu=q({__name:"NaNScreen",setup(e){const{discordName:t,discordLink:n}=A,r=F(!0),i=F(!0),s=ke(J,"hasNaN"),o=F(null);_e(s,N=>{N?(r.value=x.autosave,i.value=x.devSpeed===0):(x.autosave=r.value,x.devSpeed=i.value?0:null)});const c=P(()=>{var N;return(N=J.NaNPath)==null?void 0:N.join(".")}),d=P(()=>J.NaNPersistent!=null?J.NaNPersistent.value:null);function g(){J.NaNPersistent!=null&&(J.NaNPersistent.value=new l(0),J.hasNaN=!1)}function b(){J.NaNPersistent&&(J.NaNPersistent.value=new l(1),J.hasNaN=!1)}function v(){J.NaNPersistent&&(J.NaNPersistent.value=new l(NaN),J.hasNaN=!1)}return(N,k)=>(p(),_(j,null,[y(je,Oe({modelValue:u(s),"onUpdate:modelValue":k[4]||(k[4]=I=>te(s)?s.value=I:null)},N.$attrs),{header:V(()=>[_u]),body:V(()=>[m("div",null,[T(' Attempted to assign "'+D(u(c))+'" to NaN',1),u(d)?(p(),_("span",Nu,D(" ")+"(previously "+D(u(Se)(u(d)))+")",1)):$("",!0),T(". Auto-saving has been "+D(r.value?"enabled":"disabled")+". Check the console for more details, and consider sharing it with the developers on discord. ",1)]),wu,m("div",null,[m("a",{href:u(n)||"https://discord.gg/yJ4fjnjU54",class:"nan-modal-discord-link"},[ku,T(" "+D(u(t)||"Profectus & Friends"),1)],8,Cu)]),Su,y(we,{title:"Autosave",modelValue:r.value,"onUpdate:modelValue":k[0]||(k[0]=I=>r.value=I)},null,8,["modelValue"]),u(A).enablePausing?(p(),L(we,{key:0,title:"Pause game",modelValue:i.value,"onUpdate:modelValue":k[1]||(k[1]=I=>i.value=I)},null,8,["modelValue"])):$("",!0)]),footer:V(()=>[m("div",Iu,[m("button",{onClick:k[2]||(k[2]=I=>{var C;return(C=o.value)==null?void 0:C.open()}),class:"button"},"Open Saves Manager"),m("button",{onClick:g,class:"button"},"Set to 0"),m("button",{onClick:b,class:"button"},"Set to 1"),u(d)&&u(l).neq(u(d),0)&&u(l).neq(u(d),1)?(p(),_("button",{key:0,onClick:k[3]||(k[3]=I=>s.value=!1),class:"button"}," Set to previous ")):$("",!0),m("button",{onClick:v,class:"button danger"},"Ignore")])]),_:1},16,["modelValue"]),y(Pn,{ref_key:"savesManager",ref:o},null,512)],64))}});var $u=z(Mu,[["__scopeId","data-v-d3bb0716"]]);const xu={key:0,class:"tpsDisplay"},Fu=q({__name:"TPS",setup(e){const t=P(()=>l.div(J.lastTenTicks.length,J.lastTenTicks.reduce((n,r)=>n+r,0)));return(n,r)=>u(t).isNan()?$("",!0):(p(),_("div",xu,"TPS: "+D(u(st)(u(t))),1))}});var Tu=z(Fu,[["__scopeId","data-v-89b89152"]]);var Pu=q({__name:"App",setup(e){const t=A.useHeader,n=P(()=>At[ne.theme].variables),r=ke(ne,"showTPS"),i=ke(J,"errors"),s=P(()=>ue(ee(()=>y(j,null,[Ni.map(ut)]))));return(o,c)=>u(i).length>0?(p(),_("div",{key:0,class:"error-container",style:ge(u(n))},[y(dn,{errors:u(i)},null,8,["errors"])],4)):(p(),_(j,{key:1},[m("div",{id:"modal-root",style:ge(u(n))},null,4),m("div",{class:ae(["app",{useHeader:u(t)}]),style:ge(u(n))},[u(t)?(p(),L(En,{key:0})):$("",!0),y(al),u(u(r))?(p(),L(Tu,{key:1})):$("",!0),y(yu),y($u),(p(),L(ie(u(s))))],6)],64))}});var Eu=z(Pu,[["__scopeId","data-v-bf4e22ac"]]);se.on("setupVue",e=>e.use(Zn));function Ou(e={}){const{immediate:t=!1,onNeedRefresh:n,onOfflineReady:r,onRegistered:i,onRegisteredSW:s,onRegisterError:o}=e;let c,d,g,b;const v=async(k=!0)=>{await g,k&&(c==null||c.addEventListener("controlling",I=>{I.isUpdate&&window.location.reload()})),await(b==null?void 0:b())};async function N(){if("serviceWorker"in navigator){const{Workbox:k,messageSW:I}=await it(()=>import("./workbox-window.4a8794bb.js"),[]);b=async()=>{d&&d.waiting&&await I(d.waiting,{type:"SKIP_WAITING"})},c=new k("./sw.js",{scope:"./",type:"classic"}),c.addEventListener("activated",C=>{C.isUpdate||r==null||r()});{const C=()=>{n==null||n()};c.addEventListener("waiting",C),c.addEventListener("externalwaiting",C)}c.register({immediate:t}).then(C=>{d=C,s?s("./sw.js",C):i==null||i(C)}).catch(C=>{o==null||o(C)})}}return g=N(),v}function Vu(e={}){const{immediate:t=!0,onNeedRefresh:n,onOfflineReady:r,onRegistered:i,onRegisteredSW:s,onRegisterError:o}=e,c=F(!1),d=F(!1);return{updateServiceWorker:Ou({immediate:t,onNeedRefresh(){c.value=!0,n==null||n()},onOfflineReady(){d.value=!0,r==null||r()},onRegistered:i,onRegisteredSW:s,onRegisterError:o}),offlineReady:d,needRefresh:c}}const Kt=console.error;console.error=function(...e){Kt(...e)};window.onerror=function(e,t,n,r,i){return J.errors.push(i instanceof Error?i:new Error(JSON.stringify(i))),Kt(i),!0};window.onunhandledrejection=function(e){J.errors.push(e.reason instanceof Error?e.reason:new Error(JSON.stringify(e.reason))),Kt(e.reason)};document.title=A.title;window.projInfo=A;A.id===""&&console.error("Project ID is empty!","Please select a unique ID for this project in /src/data/projInfo.json");requestAnimationFrame(async()=>{console.log(`%cMade in Profectus%c +Learn more at www.moddingtree.com`,"font-weight: bold; font-size: 24px; color: #A3BE8C; background: #2E3440; padding: 4px 8px; border-radius: 8px;","padding: 4px;"),await pi();const{globalBus:e}=await it(()=>Promise.resolve().then(function(){return hi}),void 0),{startGameLoop:t}=await it(()=>import("./gameLoop.985d1f90.js"),["assets/gameLoop.985d1f90.js","assets/@fontsource.f66d05e7.css","assets/vue.359c6955.js","assets/lz-string.bfbf8ec3.js","assets/@vue.6f8187b0.js","assets/nanoevents.1080beb7.js","assets/vue-next-select.68e0c605.js","assets/vue-next-select.9e6f4164.css","assets/vuedraggable.055200e5.js","assets/sortablejs.20039f18.js","assets/vue-textarea-autosize.35804eaf.js","assets/vue-toastification.45d39007.js","assets/vue-toastification.4b5f8ac8.css"]),n=window.vue=jn(Eu);n.config.errorHandler=function(r,i,s){console.error(r,s,i)},e.emit("setupVue",n),n.mount("#app"),Ue(()=>{const r=Kn(),{updateServiceWorker:i}=Vu({onNeedRefresh(){r.info("New content available, click here to update.",{timeout:!1,closeOnClick:!1,draggable:!1,icon:{iconClass:"material-icons",iconChildren:"refresh",iconTag:"i"},rtl:!1,onClick(){i()}})},onOfflineReady(){r.info("App ready to work offline")},onRegisterError:console.warn,onRegistered(s){s&&setInterval(()=>s.update(),60*60*1e3)}})}),t()});export{l as D,it as _,J as a,A as b,ou as c,se as g,Bt as l,x as p,ne as s}; diff --git a/index.html b/index.html index 0969aaa..40216d1 100644 --- a/index.html +++ b/index.html @@ -13,7 +13,7 @@ Profectus - + diff --git a/sw.js b/sw.js index 0be82e3..0d0df4b 100644 --- a/sw.js +++ b/sw.js @@ -1 +1 @@ -if(!self.define){let e,s={};const i=(i,n)=>(i=new URL(i+".js",n).href,s[i]||new Promise((s=>{if("document"in self){const e=document.createElement("script");e.src=i,e.onload=s,document.head.appendChild(e)}else e=i,importScripts(i),s()})).then((()=>{let e=s[i];if(!e)throw new Error(`Module ${i} didn’t register its module`);return e})));self.define=(n,r)=>{const l=e||("document"in self?document.currentScript.src:"")||location.href;if(s[l])return;let o={};const a=e=>i(e,l),u={module:{uri:l},exports:o,require:a};s[l]=Promise.all(n.map((e=>u[e]||a(e)))).then((e=>(r(...e),o)))}}define(["./workbox-7369c0e1"],(function(e){"use strict";self.addEventListener("message",(e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()})),e.precacheAndRoute([{url:"apple-touch-icon.png",revision:"26e53bb981d06c8069ffd9d2a14fce0e"},{url:"assets/@fontsource.f66d05e7.css",revision:null},{url:"assets/@vue.6f8187b0.js",revision:null},{url:"assets/gameLoop.3386607e.js",revision:null},{url:"assets/index.0082bab1.css",revision:null},{url:"assets/index.76b82d16.js",revision:null},{url:"assets/lz-string.bfbf8ec3.js",revision:null},{url:"assets/nanoevents.1080beb7.js",revision:null},{url:"assets/sortablejs.20039f18.js",revision:null},{url:"assets/vue-next-select.68e0c605.js",revision:null},{url:"assets/vue-next-select.9e6f4164.css",revision:null},{url:"assets/vue-textarea-autosize.35804eaf.js",revision:null},{url:"assets/vue-toastification.45d39007.js",revision:null},{url:"assets/vue-toastification.4b5f8ac8.css",revision:null},{url:"assets/vue.359c6955.js",revision:null},{url:"assets/vuedraggable.055200e5.js",revision:null},{url:"assets/workbox-window.4a8794bb.js",revision:null},{url:"favicon.ico",revision:"eead31eb5b19fa3bdc34af83d898c0b7"},{url:"favicon.svg",revision:"c8dd2748f1fedd25449164d7dda6aecb"},{url:"index.html",revision:"8da5c3cbc48dbcdb92ea9a5f5310a67b"},{url:"pwa-192x192.png",revision:"a16785d9e890858c5b508e0ef6954aaf"},{url:"pwa-512x512.png",revision:"b84004b93fd62ef6599ff179372861a1"},{url:"favicon.ico",revision:"eead31eb5b19fa3bdc34af83d898c0b7"},{url:"robots.txt",revision:"5e0bd1c281a62a380d7a948085bfe2d1"},{url:"apple-touch-icon.png",revision:"26e53bb981d06c8069ffd9d2a14fce0e"},{url:"pwa-192x192.png",revision:"a16785d9e890858c5b508e0ef6954aaf"},{url:"pwa-512x512.png",revision:"b84004b93fd62ef6599ff179372861a1"},{url:"manifest.webmanifest",revision:"49b9cd04ee2139bfe785f8100ba3f74f"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("index.html")))})); +if(!self.define){let e,s={};const i=(i,n)=>(i=new URL(i+".js",n).href,s[i]||new Promise((s=>{if("document"in self){const e=document.createElement("script");e.src=i,e.onload=s,document.head.appendChild(e)}else e=i,importScripts(i),s()})).then((()=>{let e=s[i];if(!e)throw new Error(`Module ${i} didn’t register its module`);return e})));self.define=(n,r)=>{const l=e||("document"in self?document.currentScript.src:"")||location.href;if(s[l])return;let o={};const a=e=>i(e,l),u={module:{uri:l},exports:o,require:a};s[l]=Promise.all(n.map((e=>u[e]||a(e)))).then((e=>(r(...e),o)))}}define(["./workbox-7369c0e1"],(function(e){"use strict";self.addEventListener("message",(e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()})),e.precacheAndRoute([{url:"apple-touch-icon.png",revision:"26e53bb981d06c8069ffd9d2a14fce0e"},{url:"assets/@fontsource.f66d05e7.css",revision:null},{url:"assets/@vue.6f8187b0.js",revision:null},{url:"assets/gameLoop.985d1f90.js",revision:null},{url:"assets/index.0082bab1.css",revision:null},{url:"assets/index.31e3b26a.js",revision:null},{url:"assets/lz-string.bfbf8ec3.js",revision:null},{url:"assets/nanoevents.1080beb7.js",revision:null},{url:"assets/sortablejs.20039f18.js",revision:null},{url:"assets/vue-next-select.68e0c605.js",revision:null},{url:"assets/vue-next-select.9e6f4164.css",revision:null},{url:"assets/vue-textarea-autosize.35804eaf.js",revision:null},{url:"assets/vue-toastification.45d39007.js",revision:null},{url:"assets/vue-toastification.4b5f8ac8.css",revision:null},{url:"assets/vue.359c6955.js",revision:null},{url:"assets/vuedraggable.055200e5.js",revision:null},{url:"assets/workbox-window.4a8794bb.js",revision:null},{url:"favicon.ico",revision:"eead31eb5b19fa3bdc34af83d898c0b7"},{url:"favicon.svg",revision:"c8dd2748f1fedd25449164d7dda6aecb"},{url:"index.html",revision:"26ea659c01bcebb3f012b467b5a1fbb0"},{url:"pwa-192x192.png",revision:"a16785d9e890858c5b508e0ef6954aaf"},{url:"pwa-512x512.png",revision:"b84004b93fd62ef6599ff179372861a1"},{url:"favicon.ico",revision:"eead31eb5b19fa3bdc34af83d898c0b7"},{url:"robots.txt",revision:"5e0bd1c281a62a380d7a948085bfe2d1"},{url:"apple-touch-icon.png",revision:"26e53bb981d06c8069ffd9d2a14fce0e"},{url:"pwa-192x192.png",revision:"a16785d9e890858c5b508e0ef6954aaf"},{url:"pwa-512x512.png",revision:"b84004b93fd62ef6599ff179372861a1"},{url:"manifest.webmanifest",revision:"49b9cd04ee2139bfe785f8100ba3f74f"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("index.html")))}));