diff --git a/assets/index.69fccd36.js b/assets/index.98b605e4.js
similarity index 88%
rename from assets/index.69fccd36.js
rename to assets/index.98b605e4.js
index 5c80977..725ff72 100644
--- a/assets/index.69fccd36.js
+++ b/assets/index.98b605e4.js
@@ -10,7 +10,7 @@ Created at:
`+s[Nn])}),Wt[e.id].clear()});const Ln=Symbol("RegisterNode"),Gn=Symbol("UnregisterNode"),Hn=Symbol("Nodes"),Qn=Symbol("Bounds"),Oe=Sn({});window.layers=Oe;const Wt={},st=[];function Tt(e,t){return Qe(()=>{const n={},i=n.emitter=gi();if(n.on=i.on.bind(i),n.emit=i.emit.bind(i),n.nodes=q({}),n.id=e,st.push(e),Wt[e]=new Set,n.minimized=Be(!1),Object.assign(n,t.call(n)),st[st.length-1]==null||st[st.length-1]!==e)throw`Adding layers stack in invalid state. This should not happen
Stack: ${st}
Trying to pop ${n.id}`;return st.pop(),T(n,"color"),T(n,"display"),T(n,"name"),Te(n,"name",n.id),T(n,"minWidth"),Te(n,"minWidth",600),T(n,"minimizable"),Te(n,"minimizable",!0),n})}function Oi(e,t){if(console.info("Adding layer",e.id),Oe[e.id]){console.error("Attempted to add layer with same ID as existing layer",e.id,Oe[e.id]);return}Te(t,"layers",{}),t.layers[e.id]==null&&(t.layers[e.id]={}),Oe[e.id]=e,pe.emit("addLayer",e,t.layers[e.id])}function Ll(e){return Oe[e]}function qi(e){console.info("Removing layer",e.id),pe.emit("removeLayer",e),Oe[e.id]=void 0}function Gl(e){qi(e),Oi(e,A)}function Hl(e){const t=q(!1);return{openModal:()=>t.value=!0,modal:R(()=>u(rt,{modelValue:t.value,"onUpdate:modelValue":n=>t.value=n},{header:()=>u("h2",null,[o(e.name)]),body:o(e.display)}))}}pe.on("update",function(t){Object.values(Oe).forEach(n=>{n==null||n.emit("preUpdate",t)}),Object.values(Oe).forEach(n=>{n==null||n.emit("update",t)}),Object.values(Oe).forEach(n=>{n==null||n.emit("postUpdate",t)})});var Ql=Object.freeze(Object.defineProperty({__proto__:null,RegisterNodeInjectionKey:Ln,UnregisterNodeInjectionKey:Gn,NodesInjectionKey:Hn,BoundsInjectionKey:Qn,layers:Oe,persistentRefs:Wt,addingLayers:st,createLayer:Tt,addLayer:Oi,getLayer:Ll,removeLayer:qi,reloadLayer:Gl,setupLayerModal:Hl},Symbol.toStringTag,{value:"Module"}));const zl={},jl={class:"notif"};function Kl(e,t){return v(),M("div",jl,"!")}var ai=ne(zl,[["render",Kl],["__scopeId","data-v-66323fd4"]]);const Bn=e=>(wt("data-v-1a86f696"),e=e(),kt(),e),Wl={key:0,class:"day feature dontMerge opened"},Jl={class:"date"},Xl=h("Dec"),Yl=Bn(()=>f("br",null,null,-1)),Zl={class:"date"},ea=h("Dec"),ta=Bn(()=>f("br",null,null,-1)),na=Bn(()=>f("div",{class:"doors"},null,-1)),ia={class:"date"},sa=h("Dec"),la=Bn(()=>f("br",null,null,-1)),aa={key:0,class:"material-icons lock"},oa=L({__name:"Day",props:{day:null,symbol:null,opened:null,recentlyUpdated:null,shouldNotify:null},emits:["openLore","openLayer","unlockLayer"],setup(e,{emit:t}){const n=e,i=S(()=>l.gte(Q.day.value,n.day)&&new Date().getMonth()===11&&new Date().getDate()>=n.day);function s(){i.value&&t("unlockLayer")}return(a,r)=>e.opened.value?(v(),M("div",Wl,[u(An,{appear:"",name:"door"},{default:U(()=>[f("div",{class:"doors",onClick:r[0]||(r[0]=c=>t("openLayer"))},[f("div",Jl,[Xl,Yl,h(W(e.day),1)]),f("div",Zl,[ea,ta,h(W(e.day),1)])])]),_:1}),f("div",{class:"icon",style:Ie({backgroundImage:`url(${e.symbol})`})},null,4),f("div",{class:"lore",onClick:r[1]||(r[1]=c=>t("openLore"))},"?"),o(e.shouldNotify)?(v(),G(ai,{key:0})):B("",!0)])):(v(),M("div",{key:1,class:we(["day feature dontMerge",{can:o(i),locked:!o(i),canOpen:o(i)}]),onClick:s},[na,f("div",ia,[sa,la,h(W(e.day),1)]),o(i)?B("",!0):(v(),M("div",aa,"lock")),o(i)?(v(),G(ai,{key:1})):B("",!0)],2))}});var ra=ne(oa,[["__scopeId","data-v-1a86f696"]]);const ua=L({__name:"Collapsible",props:{collapsed:null,display:null,content:null},setup(e){const t=e,n=Cn(ot(t,"display")),i=Cn(ot(t,"content"));return(s,a)=>(v(),G(Kt,{class:"collapsible-container"},{default:U(()=>[f("button",{onClick:a[0]||(a[0]=r=>e.collapsed.value=!e.collapsed.value),class:"feature collapsible-toggle"},[(v(),G(ye(o(n))))]),e.collapsed.value?B("",!0):(v(),G(ye(o(i)),{key:0}))]),_:1}))}});var ca=ne(ua,[["__scopeId","data-v-a72c16aa"]]);const da={key:0},ma={key:0,class:"mark star"},fa=["src"],pa=L({__name:"MarkNode",props:{mark:{type:[Boolean,String]}},setup(e){return(t,n)=>e.mark?(v(),M("div",da,[e.mark===!0?(v(),M("div",ma)):(v(),M("img",{key:1,class:"mark",src:e.mark},null,8,fa))])):B("",!0)}});var xn=ne(pa,[["__scopeId","data-v-2207999f"]]);const ha=L({__name:"Node",props:{id:null},setup(e){const n=Re(e),i=bn(Ln,()=>{}),s=bn(Gn,()=>{}),a=tt(null),r=S(()=>a.value&&a.value.parentElement);return at([r,n.id],([c,m],[d,b])=>{d&&s(o(b)),c&&i(m,c)}),fi(()=>s(o(n.id))),(c,m)=>(v(),M("div",{class:"node",ref_key:"node",ref:a},null,512))}});var mn=ne(ha,[["__scopeId","data-v-a48cb382"]]);const ga=L({props:{progress:{type:D(String,Object,Number),required:!0},width:{type:D(Number),required:!0},height:{type:D(Number),required:!0},direction:{type:D(String),required:!0},display:D(Object,String,Function),visibility:{type:D(Number),required:!0},style:D(Object,String,Array),classes:D(Object),borderStyle:D(Object,String,Array),textStyle:D(Object,String,Array),baseStyle:D(Object,String,Array),fillStyle:D(Object,String,Array),mark:D(Boolean,String),id:{type:String,required:!0}},components:{MarkNode:xn,Node:mn},setup(e){const{progress:t,width:n,height:i,direction:s,display:a}=Re(e),r=S(()=>{let d=t.value instanceof l?t.value.toNumber():Number(t.value);return(1-Math.min(Math.max(d,0),1))*100}),c=S(()=>{const d={width:Ee(n)+.5+"px",height:Ee(i)+.5+"px"};switch(o(s)){case se.Up:d.clipPath=`inset(${r.value}% 0% 0% 0%)`,d.width=Ee(n)+1+"px";break;case se.Down:d.clipPath=`inset(0% 0% ${r.value}% 0%)`,d.width=Ee(n)+1+"px";break;case se.Right:d.clipPath=`inset(0% ${r.value}% 0% 0%)`;break;case se.Left:d.clipPath=`inset(0% 0% 0% ${r.value} + '%)`;break;case se.Default:d.clipPath="inset(0% 50% 0% 0%)";break}return d}),m=xt(a);return{normalizedProgress:r,barStyle:c,component:m,unref:o,Visibility:Ae}}});function va(e,t,n,i,s,a){var m,d,b,_,y,g,w;const r=Bt("MarkNode"),c=Bt("Node");return e.unref(e.visibility)!==e.Visibility.None?(v(),M("div",{key:0,style:Ie([{width:e.unref(e.width)+"px",height:e.unref(e.height)+"px",visibility:e.unref(e.visibility)===e.Visibility.Hidden?"hidden":void 0},(m=e.unref(e.style))!=null?m:{}]),class:we({bar:!0,...e.unref(e.classes)})},[f("div",{class:"overlayTextContainer border",style:Ie([{width:e.unref(e.width)+"px",height:e.unref(e.height)+"px"},(d=e.unref(e.borderStyle))!=null?d:{}])},[e.component?(v(),M("span",{key:0,class:"overlayText",style:Ie(e.unref(e.textStyle))},[(v(),G(ye(e.component)))],4)):B("",!0)],4),f("div",{class:"border",style:Ie([{width:e.unref(e.width)+"px",height:e.unref(e.height)+"px"},(b=e.unref(e.style))!=null?b:{},(_=e.unref(e.baseStyle))!=null?_:{},(y=e.unref(e.borderStyle))!=null?y:{}])},[f("div",{class:"fill",style:Ie([e.barStyle,(g=e.unref(e.style))!=null?g:{},(w=e.unref(e.fillStyle))!=null?w:{}])},null,4)],4),u(r,{mark:e.unref(e.mark)},null,8,["mark"]),u(c,{id:e.id},null,8,["id"])],6)):B("",!0)}var ya=ne(ga,[["render",va],["__scopeId","data-v-02d0d7b2"]]);const ba=Symbol("Bar");function un(e){return Qe(()=>{const t=e();return t.id=Jt("bar-"),t.type=ba,t[Pt]=ya,T(t,"visibility"),Te(t,"visibility",Ae.Visible),T(t,"width"),T(t,"height"),T(t,"direction"),T(t,"style"),T(t,"classes"),T(t,"borderStyle"),T(t,"baseStyle"),T(t,"textStyle"),T(t,"fillStyle"),T(t,"progress"),T(t,"display"),T(t,"mark"),t[Ft]=function(){const{progress:n,width:i,height:s,direction:a,display:r,visibility:c,style:m,classes:d,borderStyle:b,textStyle:_,baseStyle:y,fillStyle:g,mark:w,id:k}=this;return{progress:n,width:i,height:s,direction:a,display:r,visibility:c,style:o(m),classes:d,borderStyle:b,textStyle:_,baseStyle:y,fillStyle:g,mark:w,id:k}},t})}var _a=L({props:{display:{type:D(Object,String,Function),required:!0},visibility:{type:D(Number),required:!0},style:D(Object,String,Array),classes:D(Object),onClick:Function,onHold:Function,canClick:{type:D(Boolean),required:!0},small:Boolean,mark:D(Boolean,String),id:{type:String,required:!0},isHolding:Object},components:{Node:mn,MarkNode:xn},setup(e){const{display:t,onClick:n,onHold:i}=Re(e),s=tt("");Je(()=>{const c=Ee(t);if(c==null){s.value="";return}if(_t(c)){s.value=Z(c);return}const m=Z(c.title||"","h3"),d=Z(c.description,"div");s.value=Z(R(()=>u("span",null,[c.title?u("div",null,[u(m,null,null)]):null,u(d,null,null)])))});const{start:a,stop:r}=Ri(n,i,e.isHolding);return{start:a,stop:r,comp:s,Visibility:Ae,unref:o}}});function wa(e,t,n,i,s,a){var m;const r=Bt("MarkNode"),c=Bt("Node");return e.unref(e.visibility)!==e.Visibility.None?(v(),M("button",{key:0,style:Ie([{visibility:e.unref(e.visibility)===e.Visibility.Hidden?"hidden":void 0},(m=e.unref(e.style))!=null?m:[]]),onClick:t[0]||(t[0]=(...d)=>e.onClick&&e.onClick(...d)),onMousedown:t[1]||(t[1]=(...d)=>e.start&&e.start(...d)),onMouseleave:t[2]||(t[2]=(...d)=>e.stop&&e.stop(...d)),onMouseup:t[3]||(t[3]=(...d)=>e.stop&&e.stop(...d)),onTouchstartPassive:t[4]||(t[4]=(...d)=>e.start&&e.start(...d)),onTouchendPassive:t[5]||(t[5]=(...d)=>e.stop&&e.stop(...d)),onTouchcancelPassive:t[6]||(t[6]=(...d)=>e.stop&&e.stop(...d)),class:we({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)?(v(),G(ye(e.unref(e.comp)),{key:0})):B("",!0),u(r,{mark:e.unref(e.mark)},null,8,["mark"]),u(c,{id:e.id},null,8,["id"])],38)):B("",!0)}var Ui=ne(_a,[["render",wa],["__scopeId","data-v-8cedd7da"]]);const ka=Symbol("Clickable");function Pe(e){return Qe(()=>{var n;const t=(n=e==null?void 0:e())!=null?n:{};if(t.id=Jt("clickable-"),t.type=ka,t[Pt]=Ui,t.isHolding=q(!1),T(t,"visibility"),Te(t,"visibility",Ae.Visible),T(t,"canClick"),Te(t,"canClick",!0),T(t,"classes"),T(t,"style"),T(t,"mark"),T(t,"display"),t.onClick){const i=t.onClick.bind(t);t.onClick=function(s){o(t.canClick)&&i(s)}}if(t.onHold){const i=t.onHold.bind(t);t.onHold=function(){o(t.canClick)&&i()}}return t[Ft]=function(){const{display:i,visibility:s,style:a,classes:r,onClick:c,onHold:m,isHolding:d,canClick:b,small:_,mark:y,id:g}=this;return{display:i,visibility:s,style:o(a),classes:r,onClick:c,onHold:m,isHolding:d,canClick:b,small:_,mark:y,id:g}},t})}function pt(e,t="points",n=0,i=void 0){const s=Me(e)?e:Be(e);return s.displayName=t,s.precision=n,s.small=i,s}function Ca(e){const t=Be(e.value);return at(e,(n,i)=>{l.gt(n,i)&&(t.value=l.add(t.value,l.sub(n,i)))}),t}new l("10^^8");new l("1e100");function fn(e,t){const n=t!=null?t:e.value;return l.eq(e.precision,0)?K(e.small?n:l.floor(n)):te(n,e.precision,e.small)}const Na=["x1","y1","x2","y2"],Sa=L({__name:"Link",props:{link:null,startNode:null,endNode:null,boundingRect:null},setup(e){const n=Re(e),i=S(()=>{const a=n.startNode.value.rect,r=n.boundingRect.value,c=r?{x:a.x+a.width/2-r.x,y:a.y+a.height/2-r.y}:{x:0,y:0};return n.link.value.offsetStart&&(c.x+=n.link.value.offsetStart.x,c.y+=n.link.value.offsetStart.y),c}),s=S(()=>{const a=n.endNode.value.rect,r=n.boundingRect.value,c=r?{x:a.x+a.width/2-r.x,y:a.y+a.height/2-r.y}:{x:0,y:0};return n.link.value.offsetEnd&&(c.x+=n.link.value.offsetEnd.x,c.y+=n.link.value.offsetEnd.y),c});return(a,r)=>(v(),M("line",Gt({"stroke-width":"15px",stroke:"white"},e.link,{x1:o(i).x,y1:o(i).y,x2:o(s).x,y2:o(s).y}),null,16,Na))}});const Ma=L({__name:"Links",props:{links:null},setup(e){var m;const n=ot(e,"links"),i=q(null),s=bn(Hn,q({})),a=bn(Qn,q(void 0)),r=q((m=i.value)==null?void 0:m.getBoundingClientRect());at(a,()=>{var d;return r.value=(d=i.value)==null?void 0:d.getBoundingClientRect()}),Mn(()=>{var d;return r.value=(d=i.value)==null?void 0:d.getBoundingClientRect()});const c=S(()=>{var b,_;const d=s.value;return(_=(b=n.value)==null?void 0:b.filter(y=>{var g,w;return((g=d[y.startNode.id])==null?void 0:g.rect)&&((w=d[y.startNode.id])==null?void 0:w.rect)}))!=null?_:[]});return(d,b)=>(v(),M(F,null,[o(c)?(v(),M("svg",ds(Gt({key:0},d.$attrs)),[(v(!0),M(F,null,hi(o(c),(_,y)=>(v(),G(Sa,{key:y,link:_,boundingRect:r.value,startNode:o(s)[_.startNode.id],endNode:o(s)[_.endNode.id]},null,8,["link","boundingRect","startNode","endNode"]))),128))],16)):B("",!0),f("div",{ref_key:"resizeListener",ref:i,class:"resize-listener"},null,512)],64))}});var Ia=ne(Ma,[["__scopeId","data-v-063f6d6b"]]);L({props:{nodes:{type:D(Array),required:!0},leftSideNodes:D(Array),rightSideNodes:D(Array),branches:D(Array)},components:{Links:Ia},setup(e){const{nodes:t,leftSideNodes:n,rightSideNodes:i}=Re(e),s=tt();Je(()=>{const c=Ee(t);s.value=Z(R(()=>u(F,null,[c.map(m=>u("span",{class:"row tree-row",style:"margin: 50px auto;"},[m.map(lt)]))])))});const a=tt();Je(()=>{const c=Ee(n);a.value=c?Z(R(()=>u("span",{class:"left-side-nodes small"},[c.map(lt)]))):""});const r=tt();return Je(()=>{const c=Ee(i);r.value=c?Z(R(()=>u("span",{class:"side-nodes small"},[c.map(lt)]))):""}),{unref:o,nodesComp:s,leftNodesComp:a,rightNodesComp:r}}});L({props:{display:D(Object,String,Function),visibility:{type:D(Number),required:!0},style:D(String,Object,Array),classes:D(Object),onClick:Function,onHold:Function,color:D(String),glowColor:D(String),canClick:{type:D(Boolean),required:!0},mark:D(Boolean,String),id:{type:String,required:!0}},components:{MarkNode:xn,Node:mn},setup(e){const{onClick:t,onHold:n,display:i}=Re(e),s=xt(i),{start:a,stop:r}=Ri(t,n);return{start:a,stop:r,comp:s,unref:o,Visibility:Ae,isCoercableComponent:_t}}});function zn(e){const t=[],n={};let i=!1;function s(){return i||(t.push(...e()),n.base=t.map(c=>qe(c.base)),n.baseText=t.map(c=>qe(c.baseText)),n.visible=t.map(c=>qe(c.visible)),i=!0),t}const a=Be({});return[R(()=>{const c=s();let m=!0;const d=c.map((b,_)=>{var k,P,le;if(o(n.visible[_])===!1)return null;const y=u("h3",{onClick:()=>a.value[_]=!a.value[_],style:"cursor: pointer"},[u("span",{class:"modifier-toggle"+(o(a.value[_])?" collapsed":"")},[h("\u25BC")]),b.title,b.subtitle?u("span",{class:"subtitle"},[h(" ("),b.subtitle,h(")")]):null]),g=o(a.value[_])?null:u(F,null,[u("div",{class:"modifier-container"},[u("span",{class:"modifier-amount"},[te((k=o(n.base[_]))!=null?k:1),b.unit]),u("span",{class:"modifier-description"},[lt((P=o(n.baseText[_]))!=null?P:"Base")])]),lt(o(b.modifier.description))]),w=!m;return m=!1,u(F,null,[w?u("br",null,null):null,u("div",null,[y,u("br",null,null),g,u("hr",null,null),h("Total: "),te(b.modifier.apply((le=o(n.base[_]))!=null?le:1)),b.unit])])});return u(F,null,[d])}),a]}function Vi(e){const t=Object.values(e).reverse(),n=Be(!0),i=S(()=>t.filter(m=>m.earned.value===!1)),{firstFeature:s,collapsedContent:a,hasCollapsedContent:r}=El(t,m=>m.earned.value),c=R(()=>{const m=[...i.value];return s.value&&m.push(s.value),Al(...m,R(()=>In(u(ca,{collapsed:n,content:a,display:n.value?"Show other completed milestones":"Hide other completed milestones"},null),[[pi,o(r)]])))});return{collapseMilestones:n,display:c}}function Pn(e){const t=Ca(e.resource),n=()=>{var c,m;if(Q.day.value!==e.day)return 1;let a=l.add(t.value,1),r=e.goal;return((m=(c=e.usingLog)==null?void 0:c.value)!=null?m:A.usingLog)&&(a=a.log10(),r=l.log10(r)),l.div(a,r)},i=un(()=>({direction:se.Right,width:600,height:25,fillStyle:{backgroundColor:e.color},textStyle:e.textColor?{color:e.textColor}:void 0,progress:n,display:R(()=>Q.day.value===e.day?u(F,null,[Le(t.value),h("/"),Le(e.goal)]):"")})),s=R(()=>u(F,null,[u("div",null,[Q.day.value===e.day?u(F,null,[h("Reach "),Le(e.goal),h(" total "),e.resource.displayName,h(" to complete the day")]):u(F,null,[e.name,h(" Complete!")]),e.modal?u(F,null,[" ",h("-")," ",u("button",{class:"button",style:"display: inline-block;",onClick:()=>e.modal.show.value=!0},[h("Check Modifiers")])]):void 0]),me(i),e.modal?me(e.modal.display):void 0]));return Je(()=>{Q.day.value===e.day&&l.gte(t.value,e.goal)&&Q.completeDay()}),{total:t,trackerDisplay:s}}const Aa=Symbol("Buyable");function Ke(e){const t=Be(0);return Qe(()=>{var a,r,c;const n=e();if(n.canPurchase==null&&(n.resource==null||n.cost==null))throw console.warn("Cannot create buyable without a canPurchase property or a resource and cost property",n),"Cannot create buyable without a canPurchase property or a resource and cost property";n.id=Jt("buyable-"),n.type=Aa,n[Pt]=Ui,n.amount=t,n.amount[rn]=(a=n.initialValue)!=null?a:0,n.canAfford=S(()=>{const m=n,d=o(m.cost);return m.resource!=null&&d!=null&&l.gte(m.resource.value,d)}),n.canPurchase==null&&(n.canPurchase=S(()=>o(n.visibility)===Ae.Visible&&o(n.canAfford)&&l.lt(n.amount.value,o(n.purchaseLimit)))),n.maxed=S(()=>l.gte(n.amount.value,o(n.purchaseLimit))),T(n,"classes");const i=n.classes;n.classes=S(()=>{const m=o(i)||{};return n.maxed.value&&(m.bought=!0),m}),T(n,"canPurchase"),n.canClick=n.canPurchase,n.onClick=n.purchase=(c=(r=n.onClick)!=null?r:n.purchase)!=null?c:function(){var b;const m=n;if(!o(m.canPurchase))return;const d=o(m.cost);m.cost!=null&&m.resource!=null&&(m.resource.value=l.sub(m.resource.value,d),m.amount.value=l.add(m.amount.value,1)),(b=m.onPurchase)==null||b.call(m,d)},T(n,"display");const s=n.display;return n.display=R(()=>{const m=o(s);if(_t(m)){const d=Z(m);return u(d,null,null)}if(m!=null&&n.cost!=null&&n.resource!=null){const d=n,b=Z(m.title||"","h3"),_=Z(m.description||""),y=Z(m.effectDisplay||"");return u("span",null,[m.title?u("div",null,[u(b,null,null)]):null,m.description?u(_,null,null):null,m.showAmount===!1?null:u("div",null,[u("br",null,null),o(d.purchaseLimit)===l.dInf?u(F,null,[h("Amount: "),K(d.amount.value)]):u(F,null,[h("Amount: "),K(d.amount.value),h(" /")," ",K(o(d.purchaseLimit))])]),m.effectDisplay?u("div",null,[u("br",null,null),h("Currently: "),u(y,null,null)]):null,d.cost&&!d.maxed.value?u("div",null,[h("Cost: "),te(o(d.cost)||0)," ",n.resource.displayName]):null])}return""}),T(n,"visibility"),Te(n,"visibility",Ae.Visible),T(n,"cost"),T(n,"resource"),T(n,"purchaseLimit"),Te(n,"purchaseLimit",l.dInf),T(n,"style"),T(n,"mark"),T(n,"small"),n[Ft]=function(){const{display:m,visibility:d,style:b,classes:_,onClick:y,canClick:g,small:w,mark:k,id:P}=this;return{display:m,visibility:d,style:o(b),classes:_,onClick:y,canClick:g,small:w,mark:k,id:P}},n})}const Fn=Sn({}),jn=Symbol("Hotkey");function qn(e){return Qe(()=>{const t=e();return t.type=jn,T(t,"enabled"),Te(t,"enabled",!0),T(t,"description"),t})}pe.on("addLayer",e=>{Mi(e,jn).forEach(t=>{Fn[t.key]=t})});pe.on("removeLayer",e=>{Mi(e,jn).forEach(t=>{Fn[t.key]=void 0})});document.onkeydown=function(e){var i;if(((i=e.target)==null?void 0:i.tagName)==="INPUT"||Jn.value&&!A.keepGoing)return;let t=e.key;e.shiftKey&&(t="shift+"+t),e.ctrlKey&&(t="ctrl+"+t);const n=Fn[t];n&&o(n.enabled)&&(e.preventDefault(),n.onPress())};Nl(R(()=>{const e=Object.values(Fn).filter(t=>o(t==null?void 0:t.enabled));return e.length===0?"":u("div",null,[u("br",null,null),u("h4",null,[h("Hotkeys")]),e.map(t=>u("div",null,[t==null?void 0:t.key,h(": "),t==null?void 0:t.description]))])}));const Ea=L({__name:"Sticky",setup(e){const t=q("0"),n=new ResizeObserver(s),i=tt(null);function s(){let a=i.value;if(a==null)return;let r=0;for(;a.previousSibling;){const c=a.previousSibling;c.dataset&&"vSticky"in c.dataset&&(r+=c.offsetHeight),a=c}t.value=r+"px"}return Lt(s),document.fonts.ready.then(s),Mn(()=>{var r;const a=(r=i.value)==null?void 0:r.parentElement;a&&n.observe(a)}),(a,r)=>(v(),M("div",{class:"sticky",style:Ie({top:t.value}),ref_key:"element",ref:i,"data-v-sticky":""},[ft(a.$slots,"default",{},void 0,!0)],4))}});var Ba=ne(Ea,[["__scopeId","data-v-cccac690"]]);const xa=L({__name:"Resource",props:{resource:null,color:null},setup(e){const t=e,n=S(()=>fn(t.resource));return(i,s)=>(v(),M("h2",{style:Ie({color:e.color,"text-shadow":"0px 0px 10px "+e.color})},W(o(n)),5))}});const Pa={class:"main-display"},Fa={key:0},Ta={key:1},Ra=h(", "),$a={key:2},Da=f("br",null,null,-1),Vt=L({__name:"MainDisplay",props:{resource:null,color:null,classes:null,style:null,effectDisplay:null,productionDisplay:null},setup(e){const n=Re(e),i=q(null),s=xt(n.effectDisplay),a=xt(n.productionDisplay),r=S(()=>l.lt(n.resource.value,"1e1000"));return(c,m)=>(v(),G(Ba,null,{default:U(()=>{var d,b,_,y;return[f("div",{class:we(["main-display-container",(d=e.classes)!=null?d:{}]),style:Ie([{height:`${((_=(b=i.value)==null?void 0:b.$el.clientHeight)!=null?_:0)+50}px`},(y=e.style)!=null?y:{}])},[f("div",Pa,[o(r)?(v(),M("span",Fa,"You have ")):B("",!0),u(xa,{resource:e.resource,color:e.color||"white"},null,8,["resource","color"]),h(" "+W(e.resource.displayName),1),o(s)?(v(),M("span",Ta,[Ra,(v(),G(ye(o(s)),{ref_key:"effectRef",ref:i},null,512))])):B("",!0),o(a)?(v(),M("span",$a,[Da,(v(),G(ye(o(a)),{ref_key:"effectRef",ref:i},null,512))])):B("",!0)])],6)]}),_:1}))}});var Oa=L({props:{display:{type:D(String,Object,Function),required:!0},visibility:{type:D(Number),required:!0},style:D(String,Object,Array),classes:D(Object),resource:Object,cost:D(String,Object,Number),canPurchase:{type:D(Boolean),required:!0},bought:{type:D(Boolean),required:!0},mark:D(Boolean,String),id:{type:String,required:!0},purchase:{type:Function,required:!0}},components:{Node:mn,MarkNode:xn},setup(e){const{display:t,cost:n}=Re(e),i=tt("");return Je(()=>{const s=Ee(t);if(s==null){i.value="";return}if(_t(s)){i.value=Z(s);return}const a=Ee(n),r=Z(s.title||"","h3"),c=Z(s.description,"div"),m=Z(s.effectDisplay||"");i.value=Z(R(()=>{var d;return u("span",null,[s.title?u("div",null,[u(r,null,null)]):null,u(c,null,null),s.effectDisplay?u("div",null,[h("Currently: "),u(m,null,null)]):null,e.resource!=null&&s.showCost!==!1?u(F,null,[u("br",null,null),h("Cost: "),e.resource&&fn(e.resource,a)," ",(d=e.resource)==null?void 0:d.displayName]):null])}))}),{component:i,unref:o,Visibility:Ae}}});const qa=["disabled"];function Ua(e,t,n,i,s,a){var m;const r=Bt("MarkNode"),c=Bt("Node");return e.unref(e.visibility)!==e.Visibility.None?(v(),M("button",{key:0,style:Ie([{visibility:e.unref(e.visibility)===e.Visibility.Hidden?"hidden":void 0},(m=e.unref(e.style))!=null?m:{}]),onClick:t[0]||(t[0]=(...d)=>e.purchase&&e.purchase(...d)),class:we({feature:!0,upgrade:!0,can:e.unref(e.canPurchase),locked:!e.unref(e.canPurchase),bought:e.unref(e.bought),...e.unref(e.classes)}),disabled:!e.unref(e.canPurchase)},[e.unref(e.component)?(v(),G(ye(e.unref(e.component)),{key:0})):B("",!0),u(r,{mark:e.unref(e.mark)},null,8,["mark"]),u(c,{id:e.id},null,8,["id"])],14,qa)):B("",!0)}var Va=ne(Oa,[["render",Ua],["__scopeId","data-v-7f411ac8"]]);const La=Symbol("Upgrade");function de(e){const t=Be(!1);return Qe(()=>{const n=e();return n.id=Jt("upgrade-"),n.type=La,n[Pt]=Va,n.canAfford==null&&(n.resource==null||n.cost==null)&&console.warn("Error: can't create upgrade without a canAfford property or a resource and cost property",n),n.bought=t,n.canAfford==null?n.canAfford=S(()=>{const i=n;return i.resource!=null&&i.cost!=null&&l.gte(i.resource.value,o(i.cost))}):T(n,"canAfford"),n.canPurchase=S(()=>o(n.visibility)===Ae.Visible&&o(n.canAfford)&&!o(n.bought)),n.purchase=function(){var s;const i=n;!o(i.canPurchase)||(i.resource!=null&&i.cost!=null&&(i.resource.value=l.sub(i.resource.value,o(i.cost))),t.value=!0,(s=i.onPurchase)==null||s.call(i))},T(n,"visibility"),Te(n,"visibility",Ae.Visible),T(n,"classes"),T(n,"style"),T(n,"display"),T(n,"mark"),T(n,"cost"),T(n,"resource"),n[Ft]=function(){const{display:i,visibility:s,style:a,classes:r,resource:c,cost:m,canPurchase:d,bought:b,mark:_,id:y,purchase:g}=this;return{display:i,visibility:s,style:o(a),classes:r,resource:c,cost:m,canPurchase:d,bought:b,mark:_,id:y,purchase:g}},n})}function oe(e){return Qe(()=>{const{addend:t,description:n,enabled:i}=e(),s=qe(t),a=qe(n),r=i==null?void 0:qe(i);return{apply:c=>l.add(c,o(s)),revert:c=>l.sub(c,o(s)),enabled:r,description:n==null?void 0:R(()=>u("div",{class:"modifier-container"},[u("span",{class:"modifier-amount"},[l.gte(o(s),0)?"+":"",te(o(s))]),o(a)?u("span",{class:"modifier-description"},[lt(o(a))]):null]))}})}function O(e){return Qe(()=>{const{multiplier:t,description:n,enabled:i}=e(),s=qe(t),a=qe(n),r=i==null?void 0:qe(i);return{apply:c=>l.times(c,o(s)),revert:c=>l.div(c,o(s)),enabled:r,description:n==null?void 0:R(()=>u("div",{class:"modifier-container"},[u("span",{class:"modifier-amount"},[h("x"),te(o(s))]),o(a)?u("span",{class:"modifier-description"},[lt(o(a))]):null]))}})}function Li(e){return Qe(()=>{const{exponent:t,description:n,enabled:i,supportLowNumbers:s}=e(),a=qe(t),r=qe(n),c=i==null?void 0:qe(i);return{apply:m=>{let d=m;return s&&(d=l.add(d,1)),d=l.pow(d,o(a)),s&&(d=l.sub(d,1)),d},revert:m=>{let d=m;return s&&(d=l.add(d,1)),d=l.root(d,o(a)),s&&(d=l.sub(d,1)),d},enabled:c,description:n==null?void 0:R(()=>u("div",{class:"modifier-container"},[u("span",{class:"modifier-amount"},[h("^"),te(o(a))]),o(r)?u("span",{class:"modifier-description"},[lt(o(r)),s?" (+1 effective)":null]):null]))}})}function re(e){return Qe(()=>{const t=e();return{apply:n=>t.filter(i=>o(i.enabled)!==!1).reduce((i,s)=>s.apply(i),n),revert:t.every(n=>n.revert!=null)?n=>t.filter(i=>o(i.enabled)!==!1).reduceRight((i,s)=>s.revert(i),n):void 0,enabled:S(()=>t.filter(n=>o(n.enabled)!==!1).length>0),description:R(()=>u(F,null,[t.filter(n=>o(n.enabled)!==!1).map(n=>o(n.description)).filter(n=>n).map(lt)]))}})}function Gi(e){return Qe(()=>{const t=e();return t.currentGain==null&&(t.currentGain=S(()=>{let n=t.gainModifier?t.gainModifier.apply(t.scaling.currentGain(t)):t.scaling.currentGain(t);return n=l.floor(n).max(0),o(t.buyMax)||(n=n.min(1)),n})),t.actualGain==null&&(t.actualGain=t.currentGain),t.currentAt==null&&(t.currentAt=S(()=>{let n=t.scaling.currentAt(t);return t.roundUpCost&&(n=l.ceil(n)),n})),t.nextAt==null&&(t.nextAt=S(()=>{let n=t.scaling.nextAt(t);return t.roundUpCost&&(n=l.ceil(n)),n})),t.convert==null&&(t.convert=function(){var s;const n=o(t.currentGain),i=o(t.currentAt);t.gainResource.value=l.add(t.gainResource.value,n),t.spend(n,i),(s=t.onConvert)==null||s.call(t,n)}),t.spend==null&&(t.spend=function(){t.baseResource.value=0}),T(t,"currentGain"),T(t,"actualGain"),T(t,"currentAt"),T(t,"nextAt"),T(t,"buyMax"),Te(t,"buyMax",!0),T(t,"roundUpCost"),Te(t,"roundUpCost",!0),t})}function Kn(e,t){const n=qe(e),i=qe(t);return{currentGain(s){let a=o(s.baseResource.value);if(s.costModifier&&(a=s.costModifier.apply(a)),l.lt(a,o(n)))return 0;const r=l.div(a,o(n)).pow(o(i));return r.isNan()?new l(0):r},currentAt(s){let a=o(s.currentGain);return s.gainModifier&&(a=s.gainModifier.revert(a)),a=l.max(0,a).root(o(i)).times(o(n)),s.costModifier&&(a=s.costModifier.revert(a)),a},nextAt(s){let a=l.add(o(s.currentGain),1).floor();return s.gainModifier&&(a=s.gainModifier.revert(a)),a=l.max(0,a).root(o(i)).times(o(n)).max(o(n)),s.costModifier&&(a=s.costModifier.revert(a)),a}}}function Hi(e){return Gi(e)}function Ga(e){return Gi(()=>{const t=e();return Te(t,"buyMax",!1),t.currentGain==null&&(t.currentGain=S(()=>{let n=t.gainModifier?t.gainModifier.apply(t.scaling.currentGain(t)):t.scaling.currentGain(t);return n=l.floor(n).max(t.gainResource.value),o(t.buyMax)||(n=n.min(l.add(t.gainResource.value,1))),n})),t.actualGain==null&&(t.actualGain=S(()=>{let n=l.sub(l.floor(t.scaling.currentGain(t)),t.gainResource.value).max(0);return o(t.buyMax)||(n=n.min(1)),n})),Te(t,"convert",function(){var s;const n=o(t.actualGain),i=o(t.currentAt);t.gainResource.value=t.gainModifier?t.gainModifier.apply(o(t.currentGain)):o(t.currentGain),t.spend(n,i),(s=t.onConvert)==null||s.call(t,n)}),t})}const Ha="boxes",oi=6,We=Tt(Ha,function(){const e="Boxes",t="#964B00",n=pt(0,"boxes"),i=Hi(()=>({scaling:Kn(1e10,1),baseResource:Y.logs,gainResource:n,roundUpCost:!0})),s=Pe(()=>({display:R(()=>u(F,null,[u("span",{style:"font-size: large"},[h("Create "),K(i.currentGain.value),h(" "),n.displayName]),u("br",null,null),u("span",{style:"font-size: large"},[h("Cost:")," ",fn(Y.logs,l.gte(i.actualGain.value,1)?i.currentAt.value:i.nextAt.value)," ",Y.logs.displayName])])),canClick:()=>l.gte(i.actualGain.value,1),onClick(){!o(this.canClick)||i.convert()},style:"width: 600px; min-height: unset"})),a=de(()=>({display:{title:"Carry logs in boxes",description:"Double log gain and unlock a new elf for training"},onPurchase(){Q.days[3].recentlyUpdated.value=!0},resource:n,cost:100})),r=de(()=>({display:{title:"Carry ash in boxes",description:"Double ash gain and unlock a new elf for training"},onPurchase(){Q.days[3].recentlyUpdated.value=!0},resource:n,cost:1e3})),c=de(()=>({display:{title:"Carry coal in boxes",description:"Double coal gain and unlock a new elf for training"},onPurchase(){Q.days[3].recentlyUpdated.value=!0},resource:n,cost:4e3})),m={logsUpgrade:a,ashUpgrade:r,coalUpgrade:c},d=Ke(()=>({display:{title:"Carry more logs",description:"Use boxes to carry even more logs, boosting their gain",effectDisplay:R(()=>u(F,null,[te(l.div(d.amount.value,2).add(1)),h("x")]))},resource:n,cost(){return l.pow(3,d.amount.value).times(100)},visibility:()=>H(a.bought.value)})),b=Ke(()=>({display:{title:"Carry more ash",description:"Use boxes to carry even more ash, boosting its gain",effectDisplay:R(()=>u(F,null,[te(l.div(b.amount.value,2).add(1)),h("x")]))},resource:n,cost(){return l.pow(5,b.amount.value).times(1e3)},visibility:()=>H(r.bought.value)})),_=Ke(()=>({display:{title:"Carry more coal",description:"Use boxes to carry even more coal, boosting its gain",effectDisplay:R(()=>u(F,null,[te(l.div(_.amount.value,2).add(1)),h("x")]))},resource:n,cost(){return l.pow(7,_.amount.value).times(1e3)},visibility:()=>H(c.bought.value)})),y={logBoxesBuyable:d,ashBoxesBuyable:b,coalBoxesBuyable:_},{total:g,trackerDisplay:w}=Pn({resource:n,goal:5e4,name:e,day:oi,color:t});return{name:e,day:oi,color:t,boxes:n,totalBoxes:g,boxesConversion:i,upgrades:m,buyables:y,minWidth:700,display:R(()=>u(F,null,[me(w),u(ve,null,null),u(Vt,{resource:n,color:t,style:"margin-bottom: 0"},null),u(ve,null,null),me(s),u(ve,null,null),De(...Object.values(m)),De(...Object.values(y))]))}});const Qa={class:"field"},za=L({__name:"Toggle",props:{title:null,modelValue:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,i=S(()=>Z(o(n.title)||"","span")),s=S({get(){return!!n.modelValue},set(a){t("update:modelValue",a)}});return(a,r)=>(v(),M("label",Qa,[In(f("input",{type:"checkbox",class:"toggle","onUpdate:modelValue":r[0]||(r[0]=c=>Me(s)?s.value=c:null)},null,512),[[ms,o(s)]]),(v(),G(ye(o(i))))]))}});var At=ne(za,[["__scopeId","data-v-33d57459"]]);const ja={class:"field"},Ka={key:0,class:"field-title"},Wn=L({__name:"Select",props:{title:null,modelValue:null,options:null,placeholder:null,closeOnSelect:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){var r;const n=e,i=xt(ot(n,"title"),"span"),s=q((r=n.options.find(c=>c.value===n.modelValue))!=null?r:null);at(ot(n,"modelValue"),c=>{var m;Ee(s)!==c&&(s.value=(m=n.options.find(d=>d.value===c))!=null?m:null)});function a(c){t("update:modelValue",c.value)}return(c,m)=>(v(),M("div",ja,[o(i)?(v(),M("span",Ka,[(v(),G(ye(o(i))))])):B("",!0),u(o(gs),{options:e.options,modelValue:s.value,"onUpdate:modelValue":[m[0]||(m[0]=d=>s.value=d),a],min:1,"label-by":"label",placeholder:e.placeholder,"close-on-select":e.closeOnSelect},null,8,["options","modelValue","placeholder","close-on-select"])]))}});var Wa=L({props:{visibility:{type:D(Number),required:!0},display:{type:D(String,Object,Function),required:!0},style:D(String,Object,Array),classes:D(Object),earned:{type:D(Boolean),required:!0},id:{type:String,required:!0}},components:{Node:mn},setup(e){const{display:t}=Re(e),n=tt("");return Je(()=>{const i=Ee(t);if(i==null){n.value="";return}if(_t(i)){n.value=Z(i);return}const s=Z(i.requirement,"h3"),a=Z(i.effectDisplay||"","b"),r=Z(i.optionsDisplay||"","span");n.value=Z(R(()=>u("span",null,[u(s,null,null),i.effectDisplay?u("div",null,[u(a,null,null)]):null,i.optionsDisplay?u("div",{class:"equal-spaced"},[u(r,null,null)]):null])))}),{comp:n,unref:o,Visibility:Ae}}});function Ja(e,t,n,i,s,a){var c;const r=Bt("Node");return e.unref(e.visibility)!==e.Visibility.None?(v(),M("div",{key:0,style:Ie([{visibility:e.unref(e.visibility)===e.Visibility.Hidden?"hidden":void 0},(c=e.unref(e.style))!=null?c:{}]),class:we({feature:!0,milestone:!0,done:e.unref(e.earned),...e.unref(e.classes)})},[(v(),G(ye(e.unref(e.comp)))),u(r,{id:e.id},null,8,["id"])],6)):B("",!0)}var Xa=ne(Wa,[["render",Ja],["__scopeId","data-v-f4e8794e"]]);pe.on("setupVue",e=>e.use(vs));const ri=vi(),Ya=Symbol("Milestone");let Et;(function(e){e.All="all",e.Configurable="configurable",e.Incomplete="incomplete",e.None="none"})(Et||(Et={}));function Fe(e){const t=Be(!1);return Qe(()=>{var s;const n=(s=e==null?void 0:e())!=null?s:{};n.id=Jt("milestone-"),n.type=Ya,n[Pt]=Xa,n.earned=t,n.complete=function(){var r;const a=n;if(t.value=!0,(r=a.onComplete)==null||r.call(a),a.display&&o(a.showPopups)===!0){const c=o(a.display),m=Z(_t(c)?c:c.requirement);ri(u(F,null,[u("h3",null,[h("Milestone earned!")]),u("div",null,[u(m,null,null)])]))}},T(n,"visibility"),Te(n,"visibility",Ae.Visible);const i=n.visibility;if(n.visibility=S(()=>{const a=o(n.display);switch(ue.msDisplay){default:case Et.All:return o(i);case Et.Configurable:return o(n.earned)&&!(a!=null&&typeof a=="object"&&"optionsDisplay"in a)?Ae.None:o(i);case Et.Incomplete:return o(n.earned)?Ae.None:o(i);case Et.None:return Ae.None}}),T(n,"style"),T(n,"classes"),T(n,"display"),T(n,"showPopups"),n[Ft]=function(){const{visibility:a,display:r,style:c,classes:m,earned:d,id:b}=this;return{visibility:a,display:r,style:o(c),classes:m,earned:d,id:b}},n.shouldEarn){const a=n;Je(()=>{var r,c;if(ue.active===A.id&&!a.earned.value&&o(a.visibility)===Ae.Visible&&((r=a.shouldEarn)==null?void 0:r.call(a))&&(a.earned.value=!0,(c=a.onComplete)==null||c.call(a),a.display&&o(a.showPopups)===!0)){const m=o(a.display),d=Z(_t(m)?m:m.requirement);ri(u(F,null,[u("h3",null,[h("Milestone earned!")]),u("div",null,[u(d,null,null)])]))}})}return n})}pe.on("loadSettings",e=>{Te(e,"msDisplay",Et.All)});const Za=Object.values(Et).map(e=>({label:Si(e),value:e}));Cl(R(()=>u(Wn,{title:"Show Milestones",options:Za,"onUpdate:modelValue":e=>ue.msDisplay=e,modelValue:ue.msDisplay},null)));const eo=Symbol("Reset");function to(e){return Qe(()=>{const t=e();return t.id=Jt("reset-"),t.type=eo,t.reset=function(){var i;const n=s=>{s&&typeof s=="object"&&(on in s?s[on].value=s[rn]:!(s instanceof l)&&!Me(s)&&Object.values(s).forEach(a=>n(a)))};o(t.thingsToReset).forEach(n),pe.emit("reset",t),(i=t.onReset)==null||i.call(t)},T(t,"thingsToReset"),t})}const vn={};pe.on("removeLayer",e=>{var t;(t=vn[e.id])==null||t.call(vn),vn[e.id]=void 0});const no="paper",ui=5,ie=Tt(no,function(){const e="Paper",t="#E8DCB8",n=pt(0,"paper"),i=pt(S(()=>l.min(l.div(Y.logs.value,1e9),l.div(j.ash.value,1e6))),"pulp"),s=Hi(()=>({scaling:Kn(1,1.2),baseResource:i,gainResource:n,roundUpCost:!0,spend(N,$){Y.logs.value=l.sub(Y.logs.value,l.times($,1e9)),j.ash.value=l.sub(j.ash.value,l.times($,1e6))}})),a=Pe(()=>({display:R(()=>{const N=l.gte(s.actualGain.value,1)?s.currentAt.value:s.nextAt.value;return u(F,null,[u("span",{style:"font-size: large"},[h("Create "),K(s.currentGain.value),h(" "),n.displayName]),u("br",null,null),u("span",{style:"font-size: large"},[h("Cost: "),fn(Y.logs,N),h(" "),i.displayName,h(" ("),K(l.times(N,1e9)),h(" "),Y.logs.displayName,h(";")," ",K(l.times(N,1e6)),h(" "),j.ash.displayName,h(")")])])}),canClick:()=>l.gte(s.actualGain.value,1),onClick(){!o(this.canClick)||s.convert()},style:"width: 600px; min-height: unset"}));function r(N){const $=Ke(()=>({...N,display:{title:N.name,description:`Print a copy of "${N.name}", which ${N.elfName} will use to improve their skills! Each copy printed will reduce the "${N.buyableName}" price scaling by 0.95x and make ${N.elfName} purchase +10% faster!`,effectDisplay:R(()=>u(F,null,[te(l.pow(.95,$.amount.value)),h("x price scaling,")," ",te(l.div($.amount.value,10).add(1)),h("x auto-purchase speed")])),showAmount:!1},resource:n,cost:()=>l.pow(5,$.amount.value).times(10),style:"width: 600px"}));return $}const c=r({name:"Now You're Logging!",elfName:"Holly",buyableName:"Generic Cutters"}),m=r({name:"The Man Who Planted Trees",elfName:"Ivy",buyableName:"Generic Planters"}),d=r({name:"Logjam",elfName:"Hope",buyableName:"Expand Forest"}),b=r({name:"Fahrenheit 451",elfName:"Jack",buyableName:"Heated Cutters"}),_=r({name:"Tillamook Burn Country",elfName:"Mary",buyableName:"Heated Planters"}),y=r({name:"The Garden Tree's Handbook",elfName:"Noel",buyableName:"Fertilized Soil"}),g=r({name:"Firestarter",elfName:"Joy",buyableName:"Small Fire",visibility:()=>H(_e.elves.smallFireElf.bought.value)}),w=r({name:"An Arsonist's Guide to Writer's Homes in New England",elfName:"Faith",buyableName:"Bonfire",visibility:()=>H(_e.elves.bonfireElf.bought.value)}),k=r({name:"Little Fires Everywhere",elfName:"Snowball",buyableName:"Kiln",visibility:()=>H(_e.elves.kilnElf.bought.value)}),P={cuttersBook:c,plantersBook:m,expandersBook:d,heatedCuttersBook:b,heatedPlantersBook:_,fertilizerBook:y,smallFireBook:g,bonfireBook:w,kilnBook:k},{total:le,trackerDisplay:I}=Pn({resource:n,goal:5e3,name:e,day:ui,color:t,textColor:"var(--feature-foreground)"});return{name:e,day:ui,color:t,paper:n,totalPaper:le,paperConversion:s,books:P,minWidth:700,display:R(()=>u(F,null,[me(I),u(ve,null,null),u(Vt,{resource:n,color:t,style:"margin-bottom: 0"},null),u(ve,null,null),me(a),u(ve,null,null),Ti(...Object.values(P))]))}}),io="workshop",Zt=2,Ve=Tt(io,function(){const e="Workshop",t="#D66B02",n="#D66B02",i=pt(0,"foundation progress"),s=Ga(()=>({scaling:Kn(250,1.5),baseResource:Y.logs,gainResource:i,roundUpCost:!0,buyMax:!1,spend($,fe){Y.logs.value=l.sub(Y.logs.value,fe)}})),a=Pe(()=>({display:R(()=>u(F,null,[u("b",{style:"font-size: x-large"},[h("Build part of the foundation")]),u("br",null,null),u("br",null,null),u("span",{style:"font-size: large"},[h("Cost:")," ",fn(Y.logs,l.gte(s.actualGain.value,1)?s.currentAt.value:s.nextAt.value)," ",Y.logs.displayName])])),visibility:()=>H(l.lt(i.value,100)),canClick:()=>l.gte(s.actualGain.value,1)&&l.lt(i.value,100),onClick(){!o(this.canClick)||s.convert()},style:"width: 600px; min-height: unset"})),r=qn(()=>({key:"w",description:"Build part of the foundation.",onPress:()=>{a.canClick.value&&a.onClick()}})),c=S(()=>!_e.milestones[6].earned.value),m=Fe(()=>({display:{requirement:"1% Foundation Completed",effectDisplay:"Trees give 5% more logs for each % of foundation completed"},shouldEarn:()=>l.gte(i.value,1),showPopups:c})),d=Fe(()=>({display:{requirement:"10% Foundation Completed",effectDisplay:"Cut an additional tree per second for each 5% of foundation completed"},shouldEarn:()=>l.gte(i.value,10),visibility:()=>H(m.earned.value),showPopups:c})),b=Fe(()=>({display:{requirement:"20% Foundation Completed",effectDisplay:"Plant an additional tree per second for each 10% of foundation completed"},shouldEarn:()=>l.gte(i.value,20),visibility:()=>H(d.earned.value),showPopups:c})),_=Fe(()=>({display:{requirement:"30% Foundation Completed",effectDisplay:"All automatic tree cutting is doubled"},shouldEarn:()=>l.gte(i.value,30),visibility:()=>H(b.earned.value),showPopups:c})),y=Fe(()=>({display:{requirement:"40% Foundation Completed",effectDisplay:"All automatic tree planting is doubled"},shouldEarn:()=>l.gte(i.value,40),visibility:()=>H(_.earned.value),showPopups:c})),g=Fe(()=>({display:{requirement:"50% Foundation Completed",effectDisplay:"Trees give twice as many logs"},shouldEarn:()=>l.gte(i.value,50),visibility:()=>H(y.earned.value),showPopups:c})),w=Fe(()=>({display:{requirement:"75% Foundation Completed",effectDisplay:"The forest gains an extra tree for every 2% of foundation completed"},shouldEarn:()=>l.gte(i.value,75),visibility:()=>H(g.earned.value),showPopups:c})),k=Fe(()=>({display:{requirement:"100% Foundation Completed",effectDisplay:"Log per tree is raised to the 1.2th power"},shouldEarn:()=>l.gte(i.value,100),visibility:()=>H(w.earned.value),showPopups:c})),P={logGainMilestone1:m,autoCutMilestone1:d,autoPlantMilestone1:b,autoCutMilestone2:_,autoPlantMilestone2:y,logGainMilestone2:g,morePlantsMilestone1:w,logGainMilestone3:k},{collapseMilestones:le,display:I}=Vi(P),N=un(()=>({direction:se.Right,width:600,height:25,fillStyle:`backgroundColor: ${n}`,progress:()=>Q.day.value===Zt?l.div(i.value,100):1,display:R(()=>Q.day.value===Zt?u(F,null,[K(i.value),h("%")]):"")}));return Je(()=>{Q.day.value===Zt&&l.gte(i.value,100)&&Q.completeDay()}),{name:e,day:Zt,color:t,foundationProgress:i,foundationConversion:s,milestones:P,collapseMilestones:le,minWidth:700,buildFoundationHK:r,display:R(()=>u(F,null,[u("div",null,[Q.day.value===Zt?"Complete the foundation to complete the day":`${e} Complete!`]),me(N),u(ve,null,null),u("div",null,[u("span",null,[h("The foundation is ")]),u("h2",{style:`color: ${t}; text-shadow: 0 0 10px ${t}`},[K(i.value)]),h("% completed")]),l.lt(i.value,100)?u(ve,null,null):null,me(a),u(ve,null,null),I()]))}}),so="elves",en=4,_e=Tt(so,function(){const e="Elves",t="red",n="#911D21",s=un(()=>({direction:se.Right,width:600,height:25,fillStyle:`backgroundColor: ${n}`,progress:()=>Q.day.value===en?l.div(he.value,6).times(.8333333333333334).add(l.div(l.add(j.coal.value,1).log10(),l.log10(1e9)).clamp(0,1).div(6)):1,display:R(()=>Q.day.value===en?l.lt(he.value,6)?u(F,null,[K(he.value),h("/6 elves")]):u(F,null,[K(j.coal.value),h("/"),K(1e9),h(" coal")]):"")})),a=to(()=>({thingsToReset:[Y,Ve,j],onReset(){setTimeout(()=>{gt.earned.value?(Y.row1Upgrades.forEach(J=>J.bought.value=!0),Y.row2Upgrades.forEach(J=>J.bought.value=!0)):nt.earned.value&&(Y.row1Upgrades[4].bought.value=!0,Y.row2Upgrades[4].bought.value=!0),Ue.earned.value&&(Ve.foundationProgress.value=100)})}})),r=re(()=>[O(()=>({multiplier:2,description:"6 Elves Trained",enabled:Ne.earned})),O(()=>({multiplier:()=>l.times(ie.books.cuttersBook.amount.value,.1).add(1),description:"Now You're Logging!",enabled:()=>l.gt(ie.books.cuttersBook.amount.value,0)}))]),c=re(()=>[O(()=>({multiplier:2,description:"6 Elves Trained",enabled:Ne.earned})),O(()=>({multiplier:()=>l.times(ie.books.plantersBook.amount.value,.1).add(1),description:"The Man Who Planted Trees",enabled:()=>l.gt(ie.books.plantersBook.amount.value,0)}))]),m=re(()=>[O(()=>({multiplier:2,description:"6 Elves Trained",enabled:Ne.earned})),O(()=>({multiplier:()=>l.times(ie.books.expandersBook.amount.value,.1).add(1),description:"Logjam",enabled:()=>l.gt(ie.books.expandersBook.amount.value,0)}))]),d=re(()=>[O(()=>({multiplier:2,description:"6 Elves Trained",enabled:Ne.earned})),O(()=>({multiplier:()=>l.times(ie.books.heatedCuttersBook.amount.value,.1).add(1),description:"Fahrenheit 451",enabled:()=>l.gt(ie.books.heatedCuttersBook.amount.value,0)}))]),b=re(()=>[O(()=>({multiplier:2,description:"6 Elves Trained",enabled:Ne.earned})),O(()=>({multiplier:()=>l.times(ie.books.heatedPlantersBook.amount.value,.1).add(1),description:"Tillamook Burn Country",enabled:()=>l.gt(ie.books.heatedPlantersBook.amount.value,0)}))]),_=re(()=>[O(()=>({multiplier:2,description:"6 Elves Trained",enabled:Ne.earned})),O(()=>({multiplier:()=>l.times(ie.books.fertilizerBook.amount.value,.1).add(1),description:"The Garden Tree's Handbook",enabled:()=>l.gt(ie.books.fertilizerBook.amount.value,0)}))]),y=re(()=>[O(()=>({multiplier:2,description:"6 Elves Trained",enabled:Ne.earned})),O(()=>({multiplier:()=>l.times(ie.books.smallFireBook.amount.value,.1).add(1),description:"Firestarter",enabled:()=>l.gt(ie.books.smallFireBook.amount.value,0)}))]),g=re(()=>[O(()=>({multiplier:2,description:"6 Elves Trained",enabled:Ne.earned})),O(()=>({multiplier:()=>l.times(ie.books.bonfireBook.amount.value,.1).add(1),description:"An Arsonist's Guide to Writer's Homes in New England",enabled:()=>l.gt(ie.books.bonfireBook.amount.value,0)}))]),w=re(()=>[O(()=>({multiplier:2,description:"6 Elves Trained",enabled:Ne.earned})),O(()=>({multiplier:()=>l.times(ie.books.kilnBook.amount.value,.1).add(1),description:"Little Fires Everywhere",enabled:()=>l.gt(ie.books.kilnBook.amount.value,0)}))]),[k,P]=zn(()=>[{title:"Holly Auto-Buy Frequency",modifier:r,base:10,unit:"/s",visible:ke.cuttersElf.bought},{title:"Ivy Auto-Buy Frequency",modifier:c,base:10,unit:"/s",visible:ke.plantersElf.bought},{title:"Hope Auto-Buy Frequency",modifier:m,base:10,unit:"/s",visible:ke.expandersElf.bought},{title:"Jack Auto-Buy Frequency",modifier:d,base:10,unit:"/s",visible:ke.heatedCuttersElf.bought},{title:"Mary Auto-Buy Frequency",modifier:b,base:10,unit:"/s",visible:ke.heatedPlantersElf.bought},{title:"Noel Auto-Buy Frequency",modifier:_,base:10,unit:"/s",visible:ke.fertilizerElf.bought},{title:"Joy Auto-Buy Frequency",modifier:y,base:10,unit:"/s",visible:ke.smallFireElf.bought},{title:"Faith Auto-Buy Frequency",modifier:g,base:10,unit:"/s",visible:ke.bonfireElf.bought},{title:"Snowball Auto-Buy Frequency",modifier:w,base:10,unit:"/s",visible:ke.kilnElf.bought}]),le=q(!1),I=R(()=>u(rt,{modelValue:le.value,"onUpdate:modelValue":J=>le.value=J},{header:()=>u("h2",null,[e,h(" Modifiers")]),body:k}));function N(J){const vt=S(()=>l.pow(4,he.value).times(1e6)),He=Be(0),$t=J.hasToggle?Be(!1):q(!0),Dt=S(()=>J.cooldownModifier.apply(10));function Xt(x){var yt;if(mt.bought.value){He.value=l.add(He.value,x);const bt=l.recip(Dt.value);for(;l.gte(He.value,bt);)if(J.customCost==null?o(J.buyable.canPurchase):l.gte(J.buyable.resource.value,J.customCost(J.buyable.amount.value)))J.buyable.amount.value=l.add(J.buyable.amount.value,1),He.value=l.sub(He.value,bt),(yt=J.onAutoPurchase)==null||yt.call(J);else{He.value=bt;break}}}const mt=de(()=>({...J,toggle:$t,buyProgress:He,update:Xt,resource:j.coal,cost:vt,computedAutoBuyCooldown:Dt,display:()=>({title:J.name,description:R(()=>u(F,null,[J.description,mt.bought.value?null:u(F,null,[" ",h("Training this elf will require resetting all your progress from days 1-3.")]),mt.bought.value&&J.hasToggle===!0?u(F,null,[u(At,{title:J.toggleDesc,"onUpdate:modelValue":x=>$t.value=x,modelValue:$t.value},null)]):null])),showCost:!mt.bought.value}),style:"width: 190px",onPurchase(){var x;(x=J.onPurchase)==null||x.call(J),a.reset()}}));return mt}const $=N({name:"Holly",description:"Holly will automatically purchase cutters you can afford, without actually spending any logs.",buyable:Y.row1Buyables[0],cooldownModifier:r}),fe=N({name:"Ivy",description:"Ivy will automatically purchase planters you can afford, without actually spending any logs.",buyable:Y.row1Buyables[1],cooldownModifier:c}),ce=N({name:"Hope",description:"Hope will automatically purchase forest expanders you can afford, without actually spending any logs.",buyable:Y.row1Buyables[2],cooldownModifier:m}),Ze=[$,fe,ce],ut=N({name:"Jack",description:"Jack will automatically purchase heated cutters you can afford, without actually spending any coal.",buyable:j.heatedCutters,cooldownModifier:d}),X=N({name:"Mary",description:"Mary will automatically purchase heated planters you can afford, without actually spending any coal.",buyable:j.heatedPlanters,cooldownModifier:b}),ht=N({name:"Noel",description:"Noel will automatically purchase fertilized soil you can afford, without actually spending any ash.",buyable:j.moreFertilizer,cooldownModifier:_}),Rt=[ut,X,ht],ze=N({name:"Joy",description:"Joy will automatically purchase small fires you can afford, without actually spending any logs. You can toggle whether or not to enable the purchased small fires automatically. Small fires will start giving a boost to ash and coal gain.",buyable:j.buildFire,cooldownModifier:y,visibility:()=>H(We.upgrades.logsUpgrade.bought.value),hasToggle:!0,toggleDesc:"Activate auto-purchased small fires",onAutoPurchase(){ze.toggle.value&&(j.activeFires.value=l.add(j.activeFires.value,1))},onPurchase(){Q.days[4].recentlyUpdated.value=!0}}),xe=N({name:"Faith",description:"Faith will automatically purchase bonfires you can afford, without actually spending any small fires. You can toggle whether or not to enable the purchased bonfires automatically. Bonfires will start giving a boost to ash and coal gain.",buyable:j.buildBonfire,cooldownModifier:g,visibility:()=>H(We.upgrades.ashUpgrade.bought.value),hasToggle:!0,toggleDesc:"Activate auto-purchased bonfires",onAutoPurchase(){xe.toggle.value&&(j.activeBonfires.value=l.add(j.activeBonfires.value,1),j.buildFire.amount.value=l.sub(j.buildFire.amount.value,o(this.buyable.cost)),j.activeFires.value=l.sub(j.activeFires.value,o(this.buyable.cost)))},onPurchase(){Q.days[4].recentlyUpdated.value=!0}}),et=N({name:"Snowball",description:"Snowball will automatically purchase kilns you can afford, without actually spending any logs. You can toggle whether or not to enable the purchased kilns automatically. Kilns will start giving a boost to ash and coal gain.",buyable:j.buildKiln,cooldownModifier:w,visibility:()=>H(We.upgrades.coalUpgrade.bought.value),hasToggle:!0,toggleDesc:"Activate auto-purchased kilns",onAutoPurchase(){et.toggle.value&&(j.activeKilns.value=l.add(j.activeKilns.value,1))},onPurchase(){Q.days[4].recentlyUpdated.value=!0}}),Ht=[ze,xe,et],ke={cuttersElf:$,plantersElf:fe,expandersElf:ce,heatedCuttersElf:ut,heatedPlantersElf:X,fertilizerElf:ht,smallFireElf:ze,bonfireElf:xe,kilnElf:et},he=S(()=>Object.values(ke).filter(J=>J.bought.value).length),Ge=Fe(()=>({display:{requirement:"1 Elf Trained",effectDisplay:"Manual cutting and planting can happen twice as often for each trained elf"},shouldEarn:()=>l.gte(he.value,1)})),nt=Fe(()=>({display:{requirement:"2 Elves Trained",effectDisplay:"Research I & II aren't reset after training"},shouldEarn:()=>l.gte(he.value,2),visibility:()=>H(Ge.earned.value)})),je=Fe(()=>({display:{requirement:"3 Elves Trained",effectDisplay:"Coal gain is raised to the 1.25"},shouldEarn:()=>l.gte(he.value,3),visibility:()=>H(nt.earned.value)})),Ce=Fe(()=>({display:{requirement:"4 Elves Trained",effectDisplay:"Trees give twice as many logs"},shouldEarn:()=>l.gte(he.value,4),visibility:()=>H(je.earned.value)})),$e=Fe(()=>({display:{requirement:"5 Elves Trained",effectDisplay:"Forest is twice as large"},shouldEarn:()=>l.gte(he.value,5),visibility:()=>H(Ce.earned.value)})),Ne=Fe(()=>({display:{requirement:"6 Elves Trained",effectDisplay:"Elves work twice as fast"},shouldEarn:()=>l.gte(he.value,6),visibility:()=>H($e.earned.value)})),Ue=Fe(()=>({display:{requirement:"7 Elves Trained",effectDisplay:"Workshop Foundation starts at 100% complete after training"},shouldEarn:()=>l.gte(he.value,7),visibility:()=>H(Ne.earned.value&&Q.day.value>5)})),Se=Fe(()=>({display:{requirement:"8 Elves Trained",effectDisplay:"Forest is twice as large (again)"},shouldEarn:()=>l.gte(he.value,8),visibility:()=>H(Ue.earned.value)})),gt=Fe(()=>({display:{requirement:"9 Elves Trained",effectDisplay:"Trees upgrades aren't reset after training"},shouldEarn:()=>l.gte(he.value,9),visibility:()=>H(Se.earned.value)})),ct=[Ge,nt,je,Ce,$e,Ne,Ue,Se,gt],Nt={manualMilestone:Ge,researchMilestone:nt,coalGainMilestone:je,logGainMilestone:Ce,forestMilestone:$e,elvesMilestone:Ne,foundationMilestone:Ue,forestMilestone2:Se,treeUpgradesMilestone:gt},{collapseMilestones:St,display:dt}=Vi(Nt);return pe.on("update",J=>{l.lt(Q.day.value,en)||Object.values(ke).forEach(vt=>vt.update(J))}),Je(()=>{Q.day.value===en&&l.gte(he.value,6)&&l.gte(j.coal.value,1e9)&&Q.completeDay()}),{name:e,color:t,elves:ke,totalElves:he,milestones:ct,collapseMilestones:St,generalTabCollapsed:P,minWidth:700,display:R(()=>u(F,null,[u("div",null,[Q.day.value===en?`Reach ${K(6)} trained elves and ${K(1e9)} ${j.coal.displayName} to complete the day`:`${e} Complete!`," ",h("-")," ",u("button",{class:"button",style:"display: inline-block;",onClick:()=>le.value=!0},[h("Check Modifiers")])]),me(s),me(I),u(ve,null,null),u("div",{style:"width: 600px"},[De(...Ze),De(...Rt),De(...Ht)]),dt()]))}}),lo="coal",ci=3,j=Tt(lo,function(){const e="Coal",t="#151716",n="#B2BeB5",i="var(--foreground)",s=pt(0,"coal"),a=pt(0,"ash"),r=Be(0),c=S(()=>l.times(r.value,1e3)),m=S(()=>l.times(r.value,.1)),d=S(()=>l.times(r.value,50)),b=Ke(()=>({resource:Y.logs,cost(){let E=l.times($.amount.value,o($.cost)).plus(this.amount.value);return l.gte(E,100)&&(E=l.pow(E,2).div(100)),l.gte(E,1e4)&&(E=l.pow(E,2).div(1e4)),E=l.pow(.95,ie.books.smallFireBook.amount.value).times(E),E.pow(1.5).times(1e4)},display:R(()=>u(F,null,[u("h3",null,[h("Small Fire")]),u("br",null,null),h("Burn 1000 logs for 0.1 coal and 50 ash"),u("br",null,null),u("br",null,null),h("Currently:"),u("br",null,null),h("-"),te(c.value),h(" logs/sec"),u("br",null,null),h("+"),te(m.value),h(" coal/sec"),u("br",null,null),h("+"),te(d.value),h(" ash/sec"),u("br",null,null),u("br",null,null),h("Cost: "),K(o(b.cost)),h(" "),b.resource.displayName])),onPurchase(){r.value=l.add(r.value,1)},style:{color:i,width:"160px"}})),_=Pe(()=>({display:"0",style:{minHeight:"20px",width:"40px",color:i},canClick(){return l.gt(r.value,0)},onClick(){r.value=0}})),y=Pe(()=>({display:"-",style:{minHeight:"20px",width:"40px",color:i},canClick(){return l.gt(r.value,0)},onClick(){r.value=l.sub(r.value,1)}})),g=Pe(()=>({display:"+",style:{minHeight:"20px",width:"40px",color:i},canClick(){return l.lt(r.value,b.amount.value)},onClick(){r.value=l.add(r.value,1)}})),w=Pe(()=>({display:"Max",style:{minHeight:"20px",width:"40px",color:i},canClick(){return l.lt(r.value,b.amount.value)},onClick(){r.value=b.amount.value}})),k=pt(b.amount,"small fires"),P=Be(0),le=S(()=>l.times(P.value,1e4)),I=S(()=>l.times(P.value,10)),N=S(()=>l.times(P.value,1e3)),$=Ke(()=>({resource:k,cost(){return l.pow(.95,ie.books.bonfireBook.amount.value).times(10)},display:R(()=>u(F,null,[u("h3",null,[h("Bonfire")]),u("br",null,null),h("Burn 10,000 logs for 10 coal and 1000 ash"),u("br",null,null),u("br",null,null),h("Currently:"),u("br",null,null),h("-"),te(le.value),h(" logs/sec"),u("br",null,null),h("+"),te(I.value),h(" coal/sec"),u("br",null,null),h("+"),te(N.value),h(" ash/sec"),u("br",null,null),u("br",null,null),h("Cost: "),K(o($.cost)),h(" "),$.resource.displayName])),onPurchase(E){r.value=l.sub(r.value,E).max(0),P.value=l.add(P.value,1)},style:{color:i,width:"160px"}})),fe=Pe(()=>({display:"0",style:{minHeight:"20px",width:"40px",color:i},canClick(){return l.gt(P.value,0)},onClick(){P.value=0}})),ce=Pe(()=>({display:"-",style:{minHeight:"20px",width:"40px",color:i},canClick(){return l.gt(P.value,0)},onClick(){P.value=l.sub(P.value,1)}})),Ze=Pe(()=>({display:"+",style:{minHeight:"20px",width:"40px",color:i},canClick(){return l.lt(P.value,$.amount.value)},onClick(){P.value=l.add(P.value,1)}})),ut=Pe(()=>({display:"Max",style:{minHeight:"20px",width:"40px",color:i},canClick(){return l.lt(P.value,$.amount.value)},onClick(){P.value=$.amount.value}})),X=Be(0),ht=S(()=>l.times(X.value,1e6)),Rt=S(()=>l.times(X.value,1e4)),ze=S(()=>l.times(X.value,1e4)),xe=Ke(()=>({resource:Y.logs,cost(){let E=this.amount.value;return l.gte(E,100)&&(E=l.pow(E,2).div(100)),l.gte(E,1e4)&&(E=l.pow(E,2).div(1e4)),E=l.pow(.95,ie.books.kilnBook.amount.value).times(E),l.pow(1.1,E).times(1e7)},display:R(()=>u(F,null,[u("h3",null,[h("Charcoal Kiln")]),u("br",null,null),h("Burn 1,000,000 logs for 10,000 coal and 10,000 ash"),u("br",null,null),u("br",null,null),h("Currently:"),u("br",null,null),h("-"),te(ht.value),h(" logs/sec"),u("br",null,null),h("+"),te(Rt.value),h(" coal/sec"),u("br",null,null),h("+"),te(ze.value),h(" ash/sec"),u("br",null,null),u("br",null,null),h("Cost: "),K(o(xe.cost)),h(" "),xe.resource.displayName])),onPurchase(){X.value=l.add(X.value,1)},style:{color:i,width:"160px"}})),et=Pe(()=>({display:"0",style:{minHeight:"20px",width:"40px",color:i},canClick(){return l.gt(X.value,0)},onClick(){X.value=0}})),Ht=Pe(()=>({display:"-",style:{minHeight:"20px",width:"40px",color:i},canClick(){return l.gt(X.value,0)},onClick(){X.value=l.sub(X.value,1)}})),ke=Pe(()=>({display:"+",style:{minHeight:"20px",width:"40px",color:i},canClick(){return l.lt(X.value,xe.amount.value)},onClick(){X.value=l.add(X.value,1)}})),he=Pe(()=>({display:"Max",style:{minHeight:"20px",width:"40px",color:i},canClick(){return l.lt(X.value,xe.amount.value)},onClick(){X.value=xe.amount.value}})),Ge=de(()=>({resource:s,cost:5,display:{title:"Warmer Cutters",description:"Cut down twice as many trees/s"},style:{color:i}})),nt=de(()=>({resource:s,cost:5,display:{title:"Warmer Planters",description:"Plant twice as many trees/s"},style:{color:i}})),je=de(()=>({resource:a,cost:5e3,display:{title:"Ashy Soil",description:"Trees give 25% more logs"},style:{color:i}})),Ce=de(()=>({resource:k,cost:10,display:{title:"Bigger Fires",description:"Put all those fires together into a larger blaze"},onPurchase(){k.value=l.add(k.value,this.cost)},style:{color:i}})),$e=[Ge,nt,je,Ce],Ne=de(()=>({resource:s,cost:250,display:{title:"Dedicated Cutter Heaters",description:"Double the bonus from Heated Cutters"},style:{color:i},visibility:()=>H(Ce.bought.value)})),Ue=de(()=>({resource:s,cost:250,display:{title:"Dedicated Planter Heaters",description:"Double the bonus from Heated Planters"},style:{color:i},visibility:()=>H(Ce.bought.value)})),Se=de(()=>({canAfford(){return l.gte(Y.logs.value,1e5)&&l.gte(a.value,1e5)},onPurchase(){Y.logs.value=l.sub(Y.logs.value,1e5),a.value=l.sub(a.value,1e5)},display:R(()=>u(F,null,[u("h3",null,[h("Mulched Soil")]),u("br",null,null),h("Double the bonus from Fertilized Soil"),u("br",null,null),u("br",null,null),h("Cost: "),K(1e5),h(" "),Y.logs.displayName,u("br",null,null),K(1e5),h(" "),a.displayName])),style:{color:i},visibility:()=>H(Ce.bought.value)})),gt=de(()=>({resource:Y.logs,cost:1e7,display:{title:"Efficient Fires",description:"Move the fires underground to keep the coal from turning to ash"},style:{color:i},visibility:()=>H(Ce.bought.value)})),ct=[Ne,Ue,Se,gt],Nt=Ke(()=>({resource:s,cost(){let E=this.amount.value;return l.gte(E,50)&&(E=l.pow(E,2).div(50)),l.gte(E,200)&&(E=l.pow(E,2).div(200)),l.gte(E,2e6)&&(E=l.pow(E,2).div(2e6)),E=l.pow(.95,ie.books.heatedCuttersBook.amount.value).times(E),l.add(E,1).pow(2.5).times(10)},display:{title:"Heated Cutters",description:"Even warmer cutters cut down trees faster",effectDisplay:R(()=>u(F,null,[h("Cutters cut down trees "),te(He.value),h("x faster")]))},style:{color:i},visibility:()=>H(Ge.bought.value)})),St=Ke(()=>({resource:s,cost(){let E=this.amount.value;return l.gte(E,50)&&(E=l.pow(E,2).div(50)),l.gte(E,200)&&(E=l.pow(E,2).div(200)),l.gte(E,2e6)&&(E=l.pow(E,2).div(2e6)),E=l.pow(.95,ie.books.heatedPlantersBook.amount.value).times(E),l.add(E,1).pow(2.5).times(10)},display:{title:"Heated Planters",description:"Even warmer planters plant trees faster",effectDisplay:R(()=>u(F,null,[h("Planters plant trees "),te(Dt.value),h("x faster")]))},style:{color:i},visibility:()=>H(nt.bought.value)})),dt=Ke(()=>({resource:a,cost(){let E=this.amount.value;return l.gte(E,50)&&(E=l.pow(E,2).div(50)),l.gte(E,200)&&(E=l.pow(E,2).div(200)),l.gte(E,2e6)&&(E=l.pow(E,2).div(2e6)),E=l.pow(.95,ie.books.fertilizerBook.amount.value).times(E),l.add(E,1).pow(1.5).times(5e4)},display:{title:"Fertilized Soil",description:"More fertilizer helps trees grow bigger",effectDisplay:R(()=>u(F,null,[h("Trees give "),te(mt.value),h("x more logs")]))},style:{color:i},visibility:()=>H(je.bought.value)})),J=[Nt,St,dt],vt=re(()=>[oe(()=>({addend(){return l.times(Nt.amount.value,.25)},description:"Heated Cutters",enabled(){return l.gt(Nt.amount.value,0)}})),O(()=>({multiplier:2,description:"Dedicated Cutter Heaters",enabled:Ne.bought}))]),He=S(()=>vt.apply(1)),$t=re(()=>[oe(()=>({addend(){return l.times(St.amount.value,.25)},description:"Heated Planters",enabled(){return l.gt(St.amount.value,0)}})),O(()=>({multiplier:2,description:"Dedicated Planter Heaters",enabled:Ue.bought}))]),Dt=S(()=>$t.apply(1)),Xt=re(()=>[oe(()=>({addend(){return l.times(dt.amount.value,.25)},description:"Fertilized Soil",enabled(){return l.gt(dt.amount.value,0)}})),O(()=>({multiplier:2,description:"Mulched Soil",enabled:Se.bought}))]),mt=S(()=>Xt.apply(1)),x=re(()=>[oe(()=>({addend(){return m.value},description:"Small Fires",enabled(){return l.gt(r.value,0)}})),oe(()=>({addend(){return I.value},description:"Bonfires",enabled(){return l.gt(P.value,0)}})),oe(()=>({addend(){return Rt.value},description:"Charcoal Kilns",enabled(){return l.gt(X.value,0)}})),O(()=>({multiplier:2,description:"Carry coal in boxes",enabled:We.upgrades.coalUpgrade.bought})),O(()=>({multiplier:()=>l.div(We.buyables.coalBoxesBuyable.amount.value,2).add(1),description:"Carry more coal",enabled:We.upgrades.coalUpgrade.bought})),O(()=>({multiplier:()=>l.div(b.amount.value,1e4).add(1),description:"Small Fires Synergy",enabled:_e.elves.smallFireElf.bought})),O(()=>({multiplier:()=>l.div($.amount.value,1e3).add(1),description:"Bonfires Synergy",enabled:_e.elves.bonfireElf.bought})),O(()=>({multiplier:()=>l.div(xe.amount.value,100).add(1),description:"Kiln Synergy",enabled:_e.elves.kilnElf.bought})),Li(()=>({exponent:1.25,description:"3 Elves Trained",enabled:_e.milestones[2].earned,supportLowNumbers:!0}))]),yt=S(()=>x.apply(0)),bt=re(()=>[oe(()=>({addend(){return d.value},description:"Small Fires",enabled(){return l.gt(r.value,0)}})),oe(()=>({addend(){return N.value},description:"Bonfires",enabled(){return l.gt(P.value,0)}})),oe(()=>({addend(){return ze.value},description:"Charcoal Kilns",enabled(){return l.gt(X.value,0)}})),O(()=>({multiplier:2,description:"Carry ash in boxes",enabled:We.upgrades.ashUpgrade.bought})),O(()=>({multiplier:()=>l.div(We.buyables.ashBoxesBuyable.amount.value,2).add(1),description:"Carry more ash",enabled:We.upgrades.ashUpgrade.bought})),O(()=>({multiplier:()=>l.div(b.amount.value,1e4).add(1),description:"Small Fires Synergy",enabled:_e.elves.smallFireElf.bought})),O(()=>({multiplier:()=>l.div($.amount.value,1e3).add(1),description:"Bonfires Synergy",enabled:_e.elves.bonfireElf.bought})),O(()=>({multiplier:()=>l.div(xe.amount.value,100).add(1),description:"Kiln Synergy",enabled:_e.elves.kilnElf.bought}))]),Yt=S(()=>bt.apply(0)),hn=re(()=>[oe(()=>({addend(){return l.negate(c.value)},description:"Small Fires",enabled(){return l.gt(r.value,0)}})),oe(()=>({addend(){return l.negate(le.value)},description:"Bonfires",enabled(){return l.gt(P.value,0)}})),oe(()=>({addend(){return l.negate(ht.value)},description:"Charcoal Kilns",enabled(){return l.gt(X.value,0)}}))]),Zn=S(()=>hn.apply(0)),[is,ss]=zn(()=>[{title:"Log Consumption",modifier:hn,base:0,visible(){return l.gt(r.value,0)||l.gt(P.value,0)||l.gt(X.value,0)}},{title:"Coal Gain",modifier:x,base:0,visible(){return l.gt(r.value,0)||l.gt(P.value,0)||l.gt(X.value,0)}},{title:"Ash Gain",modifier:bt,base:0,visible(){return l.gt(r.value,0)||l.gt(P.value,0)||l.gt(X.value,0)}}]),Rn=q(!1),ls=R(()=>u(rt,{modelValue:Rn.value,"onUpdate:modelValue":E=>Rn.value=E},{header:()=>u("h2",null,[e,h(" Modifiers")]),body:is}));pe.on("update",E=>{l.lt(Q.day.value,ci)||l.times(E,Zn.value).negate().gt(Y.logs.value)||(Y.logs.value=l.times(E,Zn.value).plus(Y.logs.value),s.value=l.times(E,yt.value).plus(s.value),a.value=l.times(E,Yt.value).plus(a.value))});const{total:as,trackerDisplay:os}=Pn({resource:s,goal:1e7,name:e,day:ci,color:t,modal:{show:Rn,display:ls}});return{name:e,color:t,coal:s,totalCoal:as,ash:a,activeFires:r,buildFire:b,activeBonfires:P,buildBonfire:$,activeKilns:X,buildKiln:xe,warmerCutters:Ge,warmerPlanters:nt,basicFertilizer:je,unlockBonfire:Ce,dedicatedCutters:Ne,dedicatedPlanters:Ue,betterFertilizer:Se,unlockKiln:gt,heatedCutters:Nt,heatedPlanters:St,moreFertilizer:dt,computedHeatedCutterEffect:He,computedHeatedPlanterEffect:Dt,computedFertilizerEffect:mt,generalTabCollapsed:ss,minWidth:700,display:R(()=>u(F,null,[me(os),u(ve,null,null),u(Vt,{resource:s,color:t,style:"margin-bottom: 0",effectDisplay:l.gt(yt.value,0)?`+${te(yt.value)}/s`:void 0},null),u(ve,null,null),u(Vt,{resource:a,color:n,style:"margin-bottom: 0",effectDisplay:l.gt(Yt.value,0)?`+${te(Yt.value)}/s`:void 0},null),u(ve,null,null),u(Fi,null,{default:()=>[u(Kt,null,{default:()=>[me(b),u("div",null,[K(l.floor(r.value)),h("/"),K(l.floor(b.amount.value))]),De(_,y,g,w)]}),Ce.bought.value?u(F,null,[u(ve,null,null),u(Kt,null,{default:()=>[me($),u("div",null,[K(P.value),h("/"),K($.amount.value)]),De(fe,ce,Ze,ut)]})]):void 0,gt.bought.value?u(F,null,[u(ve,null,null),u(Kt,null,{default:()=>[me(xe),u("div",null,[K(X.value),h("/"),K(xe.amount.value)]),De(et,Ht,ke,he)]})]):void 0]}),u(ve,null,null),De(...$e),De(...ct),De(...J)]))}}),ao="trees",di=1,mi=.1,Y=Tt(ao,function(){const e="Trees",t="#4BDC13",n="green",i=pt(0,"logs"),s=pt(0,"saplings"),a=q(0),r=re(()=>[oe(()=>({addend:()=>l.times(Ze.amount.value,10),description:"Expand Forest",enabled:N.bought})),oe(()=>({addend:()=>l.div(Ve.foundationProgress.value,2),description:"75% Foundation Completed",enabled:Ve.milestones.morePlantsMilestone1.earned})),O(()=>({multiplier:2,description:"5 Elves Trained",enabled:_e.milestones[4].earned})),O(()=>({multiplier:2,description:"8 Elves Trained",enabled:_e.milestones[7].earned}))]),c=pt(S(()=>l.sub(r.apply(10),s.value)),"trees"),m=S(()=>r.apply(10)),d=de(()=>({resource:i,cost:10,display:{title:"Wooden Fingers",description:"Cut down an additional tree per click"}})),b=de(()=>({resource:i,cost:10,display:{title:"Leafy Fingers",description:"Plant an additional tree per click"}})),_=de(()=>({resource:i,cost:25,display:{title:"Automated Knives",description:"Cut down a tree every second"}})),y=de(()=>({resource:i,cost:25,display:{title:"Automated Spade",description:"Plant a tree every second"}})),g=de(()=>({resource:i,cost:40,display:{title:"Research I",description:"Trees give 25% more logs, and unlock more upgrades"}})),w=[d,b,_,y,g],k=de(()=>({resource:i,cost:50,visibility:()=>H(g.bought.value),display:{title:"Sharper Fingers",description:"Manually cut trees twice as often"}})),P=de(()=>({resource:i,cost:50,visibility:()=>H(g.bought.value),display:{title:"Greener Fingers",description:"Manually Plant trees twice as often"}})),le=de(()=>({resource:i,cost:150,visibility:()=>H(g.bought.value),display:{title:"Smart Knives",description:"Each time you manually chop trees, gain 1s of automatic tree chopping production"}})),I=de(()=>({resource:i,cost:150,visibility:()=>H(g.bought.value),display:{title:"Smart Spades",description:"Each time you manually plant trees, gain 1s of automatic tree planting production"}})),N=de(()=>({resource:i,cost:300,visibility:()=>H(g.bought.value),display:{title:"Research II",description:"Trees give 25% more logs, and unlock repeatable purchases"}})),$=[k,P,le,I,N],fe=Ke(()=>({resource:i,cost(){let x=this.amount.value;return l.gte(x,50)&&(x=l.pow(x,2).div(50)),l.gte(x,200)&&(x=l.pow(x,2).div(200)),l.gte(x,2e6)&&(x=l.pow(x,2).div(2e6)),x=l.pow(.95,ie.books.cuttersBook.amount.value).times(x),l.times(100,x).add(200)},display:{title:"Generic Cutters",description:"Each cutter cuts down 1 tree/s"},visibility:()=>H(N.bought.value)})),ce=Ke(()=>({resource:i,cost(){let x=this.amount.value;return l.gte(x,50)&&(x=l.pow(x,2).div(50)),l.gte(x,200)&&(x=l.pow(x,2).div(200)),l.gte(x,2e6)&&(x=l.pow(x,2).div(2e6)),x=l.pow(.95,ie.books.plantersBook.amount.value).times(x),l.times(100,x).add(200)},display:{title:"Generic Planters",description:"Each planter plants 0.5 trees/s"},visibility:()=>H(N.bought.value)})),Ze=Ke(()=>({resource:i,cost(){let x=this.amount.value;return l.gte(x,100)&&(x=l.pow(x,2).div(100)),l.gte(x,1e5)&&(x=l.pow(x,2).div(1e5)),x=l.pow(.95,ie.books.expandersBook.amount.value).times(x),l.pow(l.add(x,1),1.5).times(500)},display:{title:"Expand Forest",description:"Add 10 trees to the forest"},visibility:()=>H(N.bought.value)})),ut=[fe,ce,Ze],X=re(()=>[oe(()=>({addend:1,description:"Wooden Fingers",enabled:d.bought})),oe(()=>({addend:et,description:"Smart Knives",enabled:le.bought}))]),ht=S(()=>X.apply(1)),Rt=re(()=>[O(()=>({multiplier:.5,description:"Sharper Fingers",enabled:k.bought})),O(()=>({multiplier:()=>l.pow(.5,_e.totalElves.value),description:"1 Elf Trained",enabled:_e.milestones[0].earned}))]),ze=S(()=>Rt.apply(1)),xe=re(()=>[oe(()=>({addend:1,description:"Automated Knives",enabled:_.bought})),oe(()=>({addend:fe.amount,description:"Generic Cutters",enabled:N.bought})),oe(()=>({addend:()=>l.div(Ve.foundationProgress.value,5).floor(),description:"10% Foundation Completed",enabled:Ve.milestones.autoCutMilestone1.earned})),O(()=>({multiplier:2,description:"30% Foundation Completed",enabled:Ve.milestones.autoCutMilestone2.earned})),O(()=>({multiplier:2,description:"Warmer Cutters",enabled:j.warmerCutters.bought})),O(()=>({multiplier:j.computedHeatedCutterEffect,description:"Heated Cutters",enabled:()=>l.gt(j.heatedCutters.amount.value,0)}))]),et=S(()=>xe.apply(0)),Ht=re(()=>[oe(()=>({addend:1,description:"Leafy Fingers",enabled:b.bought})),oe(()=>({addend:je,description:"Smart Spades",enabled:I.bought}))]),ke=S(()=>Ht.apply(1)),he=re(()=>[O(()=>({multiplier:.5,description:"Greener Fingers",enabled:P.bought})),O(()=>({multiplier:()=>l.pow(.5,_e.totalElves.value),description:"1 Elf Trained",enabled:_e.milestones[0].earned}))]),Ge=S(()=>he.apply(1)),nt=re(()=>[oe(()=>({addend:1,description:"Automated Spade",enabled:y.bought})),oe(()=>({addend:()=>l.div(ce.amount.value,2),description:"Generic Planters",enabled:N.bought})),oe(()=>({addend:()=>l.div(Ve.foundationProgress.value,10).floor(),description:"20% Foundation Completed",enabled:Ve.milestones.autoPlantMilestone1.earned})),O(()=>({multiplier:2,description:"40% Foundation Completed",enabled:Ve.milestones.autoPlantMilestone2.earned})),O(()=>({multiplier:2,description:"Warmer Planters",enabled:j.warmerPlanters.bought})),O(()=>({multiplier:j.computedHeatedPlanterEffect,description:"Heated Planters",enabled:()=>l.gt(j.heatedPlanters.amount.value,0)}))]),je=S(()=>nt.apply(0)),Ce=re(()=>[O(()=>({multiplier:1.25,description:"Research I",enabled:g.bought})),O(()=>({multiplier:1.25,description:"Research II",enabled:N.bought})),O(()=>({multiplier:()=>l.div(Ve.foundationProgress.value,20).add(1),description:"1% Foundation Completed",enabled:Ve.milestones.logGainMilestone1.earned})),O(()=>({multiplier:2,description:"50% Foundation Completed",enabled:Ve.milestones.logGainMilestone2.earned})),O(()=>({multiplier:1.25,description:"Ashy Soil",enabled:j.basicFertilizer.bought})),O(()=>({multiplier:j.computedFertilizerEffect,description:"Fertilized Soil",enabled:()=>l.gt(j.moreFertilizer.amount.value,0)})),O(()=>({multiplier:2,description:"4 Elves Trained",enabled:_e.milestones[3].earned})),O(()=>({multiplier:2,description:"Carry logs in boxes",enabled:We.upgrades.logsUpgrade.bought})),O(()=>({multiplier:()=>l.div(We.buyables.logBoxesBuyable.amount.value,2).add(1),description:"Carry more logs",enabled:We.upgrades.logsUpgrade.bought})),Li(()=>({exponent:1.2,description:"100% Foundation Completed",enabled:Ve.milestones.logGainMilestone3.earned}))]),$e=Be(0),Ne=un(()=>({direction:se.Right,width:100,height:10,style:"margin-top: 8px",baseStyle:"margin-top: 0",fillStyle:"margin-top: 0; transition-duration: 0s",progress:()=>l.div($e.value,ze.value)})),Ue=Pe(()=>({display:{title:"Cut trees",description:R(()=>u(F,null,[h("Cut down up to "),K(l.floor(ht.value))," ",h("tree"),l.eq(ht.value,1)?"":"s",h(" at once!"),u("br",null,null),me(Ne)]))},style:{minHeight:"80px"},canClick:()=>l.gte(c.value,1)&&l.gte($e.value,ze.value),onClick(){if(l.lt($e.value,ze.value))return;const x=l.floor(l.min(c.value,l.times(ht.value,l.div($e.value,ze.value).floor())));i.value=l.add(i.value,Ce.apply(x)),s.value=l.add(s.value,x),$e.value=0}})),Se=Be(0),gt=un(()=>({direction:se.Right,width:100,height:10,style:"margin-top: 8px",baseStyle:"margin-top: 0",fillStyle:"margin-top: 0; transition-duration: 0s",progress:()=>l.div(Se.value,Ge.value)})),ct=Pe(()=>({display:{title:"Plant trees",description:R(()=>u(F,null,[h("Plant up to "),K(l.floor(ke.value))," ",h("tree"),l.eq(ke.value,1)?"":"s",h(" at once!"),u("br",null,null),me(gt)]))},style:{minHeight:"80px"},canClick:()=>l.gte(s.value,1)&&l.gte(Se.value,Ge.value),onClick(){if(l.lt(Se.value,Ge.value))return;const x=l.floor(l.min(s.value,l.times(ke.value,l.div(Se.value,Ge.value).floor())));s.value=l.sub(s.value,x),Se.value=0}})),[Nt,St]=zn(()=>[{title:"Logs per Tree",modifier:Ce,base:1,visible:g.bought},{title:"Manual Cutting Amount",modifier:X,base:1,visible:d.bought,unit:"/click"},{title:"Manual Cutting Cooldown",modifier:Rt,base:1,visible:d.bought,unit:"s"},{title:"Manual Planting Amount",modifier:Ht,base:1,visible:b.bought,unit:"/click"},{title:"Manual Planting Cooldown",modifier:he,base:1,visible:b.bought,unit:"s"},{title:"Auto Cutting Amount",modifier:xe,base:0,visible:_.bought,unit:"/s"},{title:"Auto Planting Amount",modifier:nt,base:0,visible:y.bought,unit:"/s"},{title:"Forest Size",modifier:r,base:10,visible:N.bought}]),dt=q(!1),J=R(()=>u(rt,{modelValue:dt.value,"onUpdate:modelValue":x=>dt.value=x},{header:()=>u("h2",null,[e,h(" Modifiers")]),body:Nt}));pe.on("update",x=>{if(l.lt(Q.day.value,di))return;l.gte($e.value,ze.value)?$e.value=ze.value:($e.value=l.add($e.value,x),Ue.isHolding.value&&Ue.onClick()),l.gte(Se.value,Ge.value)?Se.value=Ge.value:(Se.value=l.add(Se.value,x),ct.isHolding.value&&ct.onClick());const yt=l.min(c.value,l.times(et.value,x)),bt=l.mul(Ce.apply(1),yt),Yt=l.div(bt,x);a.value=l.mul(Yt,mi).add(l.mul(a.value,l.dOne.sub(mi))),i.value=l.add(i.value,bt),s.value=l.add(s.value,yt);const hn=l.min(s.value,l.times(je.value,x));s.value=l.sub(s.value,hn)});const vt=S(()=>l.sub(et.value,je.value)),He=S(()=>l.sub(je.value,et.value)),$t=qn(()=>({key:"c",description:'Press the "Cut trees" button.',onPress:()=>{Ue.canClick.value&&Ue.onClick()}})),Dt=qn(()=>({key:"p",description:'Press the "Plant trees" button.',onPress:()=>{ct.canClick.value&&ct.onClick()}})),{total:Xt,trackerDisplay:mt}=Pn({resource:i,goal:1e4,name:e,day:di,color:n,modal:{show:dt,display:J}});return{name:e,color:t,logs:i,totalLogs:Xt,trees:c,saplings:s,cutTree:Ue,plantTree:ct,cutTreeHK:$t,plantTreeHK:Dt,row1Upgrades:w,row2Upgrades:$,row1Buyables:ut,manualCutProgress:$e,manualPlantProgress:Se,generalTabCollapsed:St,minWidth:700,display:R(()=>u(F,null,[me(mt),u(ve,null,null),u(Vt,{resource:i,color:t,style:"margin-bottom: 0",productionDisplay:l.gt(et.value,0)?`+${te(a.value)}/s average
equilibrium: +${Ni([[l.mul(Ce.apply(1),et.value),"cutting speed"],[l.mul(Ce.apply(1),je.value),"planting speed"],[l.mul(Ce.apply(1),l.mul(m.value,20)),"forest cap"]],"/s")}`:void 0},null),u(Vt,{resource:s,color:n,style:"margin-bottom: 0",productionDisplay:{[-1]:`${K(vt.value)}/s`,0:void 0,1:`+${K(vt.value)}/s`}[l.compare(vt.value,0)]},null),u(Vt,{resource:c,color:n,style:"margin-bottom: 0",productionDisplay:{[-1]:`${K(He.value)}/s`,0:void 0,1:`+${K(He.value)}/s`}[l.compare(He.value,0)]},null),u(ve,null,null),De(Ue,ct),u("div",null,[h("Tip: You can hold down on actions to perform them automatically")]),u(ve,null,null),De(...w),De(...$),De(...ut)]))}});var Qi="./assets/tree.35808197.png",zi="./assets/sws.714ad454.png",ji="data:image/png;base64,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",Ki="./assets/elf.9fbfa563.png",Wi="./assets/paperStacks.4c96ec8c.png",Ji="data:image/png;base64,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";const Q=Tt("main",function(){const e=Be(1),t=q(!1),n=q(-1),i=q(""),s=q();function a(m){const d=Be(!1),b=Be(!1);return Qe(()=>{const _=m(),y=qe(_.shouldNotify),g=qe(()=>o(y)||o(b));return{..._,opened:d,shouldNotify:g,recentlyUpdated:b,[Pt]:ra,[Ft]:function(){const{day:w,layer:k,symbol:P,opened:le,shouldNotify:I,story:N,completedStory:$,recentlyUpdated:fe}=this;return{day:w,symbol:P,opened:le,recentlyUpdated:fe,shouldNotify:I,onOpenLore(){var ut,X;const ce=Q.day.value>w;n.value=ce?w-1:-1;const Ze=o((X=(ut=Oe[k!=null?k:"trees"])==null?void 0:ut.name)!=null?X:"");i.value=ce?`${Ze} - Completed!`:Ze,s.value=ce?`${N}