diff --git a/app/package.json b/app/package.json index 62e6e57..a378b08 100644 --- a/app/package.json +++ b/app/package.json @@ -17,6 +17,7 @@ "@tiptap/pm": "^3.28.0", "@tiptap/starter-kit": "^3.28.0", "@tiptap/vue-3": "^3.28.0", + "fecha": "^4.2.3", "sass": "^1.98.0", "sass-embedded": "^1.98.0", "vue": "^3.5.30", diff --git a/app/public/drops/endless-journal/assets/hanken-grotesk-BB3emo1n.woff2 b/app/public/drops/endless-journal/assets/hanken-grotesk-BB3emo1n.woff2 new file mode 100644 index 0000000..fd3c8a2 Binary files /dev/null and b/app/public/drops/endless-journal/assets/hanken-grotesk-BB3emo1n.woff2 differ diff --git a/app/public/drops/endless-journal/assets/hanken-grotesk-NweiADIQ.woff b/app/public/drops/endless-journal/assets/hanken-grotesk-NweiADIQ.woff new file mode 100644 index 0000000..f95aff0 Binary files /dev/null and b/app/public/drops/endless-journal/assets/hanken-grotesk-NweiADIQ.woff differ diff --git a/app/public/drops/endless-journal/assets/hanken-grotesk-italic-C_HjJa0S.woff b/app/public/drops/endless-journal/assets/hanken-grotesk-italic-C_HjJa0S.woff new file mode 100644 index 0000000..c3be08e Binary files /dev/null and b/app/public/drops/endless-journal/assets/hanken-grotesk-italic-C_HjJa0S.woff differ diff --git a/app/public/drops/endless-journal/assets/hanken-grotesk-italic-jl8TIPSn.woff2 b/app/public/drops/endless-journal/assets/hanken-grotesk-italic-jl8TIPSn.woff2 new file mode 100644 index 0000000..290394e Binary files /dev/null and b/app/public/drops/endless-journal/assets/hanken-grotesk-italic-jl8TIPSn.woff2 differ diff --git a/app/public/drops/endless-journal/assets/hanken-grotesk-semibold-TK-BXOrb.woff2 b/app/public/drops/endless-journal/assets/hanken-grotesk-semibold-TK-BXOrb.woff2 new file mode 100644 index 0000000..19e1415 Binary files /dev/null and b/app/public/drops/endless-journal/assets/hanken-grotesk-semibold-TK-BXOrb.woff2 differ diff --git a/app/public/drops/endless-journal/assets/hanken-grotesk-semibold-vPR5A_Tb.woff b/app/public/drops/endless-journal/assets/hanken-grotesk-semibold-vPR5A_Tb.woff new file mode 100644 index 0000000..d6ae07c Binary files /dev/null and b/app/public/drops/endless-journal/assets/hanken-grotesk-semibold-vPR5A_Tb.woff differ diff --git a/app/public/drops/endless-journal/assets/index-CjZd22yH.css b/app/public/drops/endless-journal/assets/index-CjZd22yH.css new file mode 100644 index 0000000..1d5abb0 --- /dev/null +++ b/app/public/drops/endless-journal/assets/index-CjZd22yH.css @@ -0,0 +1 @@ +:root{--ivory:#fefdfc;--ivory-shade:#ecebea;--sand:#f7f4ef;--sand-shade:#b9b7b3;--charcoal:#181818;--charcoal-shade:#2a2a2a;--forest:#053f0a;--forest-shade:#f6fff6;--clay:#fa3812;--clay-shade:#ffefec;--sea:#1253fa;--sea-shade:#f0f8ff;--grey-700:#565656;--grey-600:#747474;--grey-500:#a3a3a3;--grey-400:#d1d1d1}:root .theme-light{--theme-bg:#fefdfc;--theme-fg:#181818;--theme-layout:#f7f4ef;--theme-grey:#747474;--theme-shade:#ecebea;--theme-contrast:#fa3812}:root .theme-dark{--theme-bg:#181818;--theme-fg:#fefdfc;--theme-layout:#f7f4ef;--theme-grey:#a3a3a3;--theme-shade:#2a2a2a;--theme-contrast:#fa3812}:root{--ease-in-quad:cubic-bezier(.55, .085, .68, .53);--ease-in-cubic:cubic-bezier(.55, .055, .675, .19);--ease-in-quart:cubic-bezier(.895, .03, .685, .22);--ease-in-quint:cubic-bezier(.755, .05, .855, .06);--ease-in-expo:cubic-bezier(.95, .05, .795, .035);--ease-in-circ:cubic-bezier(.6, .04, .98, .335);--ease-out-quad:cubic-bezier(.25, .46, .45, .94);--ease-out-cubic:cubic-bezier(.215, .61, .355, 1);--ease-out-quart:cubic-bezier(.165, .84, .44, 1);--ease-out-quint:cubic-bezier(.23, 1, .32, 1);--ease-out-expo:cubic-bezier(.19, 1, .22, 1);--ease-out-circ:cubic-bezier(.075, .82, .165, 1);--ease-in-out-quad:cubic-bezier(.455, .03, .515, .955);--ease-in-out-cubic:cubic-bezier(.645, .045, .355, 1);--ease-in-out-quart:cubic-bezier(.77, 0, .175, 1);--ease-in-out-quint:cubic-bezier(.86, 0, .07, 1);--ease-in-out-expo:cubic-bezier(1, 0, 0, 1);--ease-in-out-circ:cubic-bezier(.785, .135, .15, .86)}:where(:not(html,iframe,canvas,img,svg,video,audio):not(svg *,symbol *)){all:unset;display:revert}*,:before,:after{box-sizing:border-box}a,button{cursor:revert}img{max-block-size:100%;max-inline-size:100%}table{border-collapse:collapse}input,textarea{-webkit-user-select:auto}textarea{white-space:revert}meter{appearance:revert}:where(pre){all:revert}::placeholder{color:unset}::marker{content:initial}:where([hidden]){display:none}:where([contenteditable]:not([contenteditable=false])){-moz-user-modify:read-write;-webkit-user-modify:read-write;overflow-wrap:break-word;-webkit-line-break:after-white-space;-webkit-user-select:auto}:where([draggable=true]){-webkit-user-drag:element}:where(dialog:modal){all:revert}@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;src:url(/drops/endless-journal/assets/instrument-serif-italic-Cnq-0GR0.woff2)format("woff2"),url(/drops/endless-journal/assets/instrument-serif-italic-CpREEq8K.woff)format("woff")}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:400;src:url(/drops/endless-journal/assets/hanken-grotesk-BB3emo1n.woff2)format("woff2"),url(/drops/endless-journal/assets/hanken-grotesk-NweiADIQ.woff)format("woff")}@font-face{font-family:Hanken Grotesk;font-style:italic;font-weight:400;src:url(/drops/endless-journal/assets/hanken-grotesk-italic-jl8TIPSn.woff2)format("woff2"),url(/drops/endless-journal/assets/hanken-grotesk-italic-C_HjJa0S.woff)format("woff")}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:600;src:url(/drops/endless-journal/assets/hanken-grotesk-semibold-TK-BXOrb.woff2)format("woff2"),url(/drops/endless-journal/assets/hanken-grotesk-semibold-vPR5A_Tb.woff)format("woff")}@font-face{font-family:Iosevka Charon Mono;font-style:normal;font-weight:700;src:url(/drops/endless-journal/assets/iosevka-charon-mono-bold-1nweGISG.woff2)format("woff2"),url(/drops/endless-journal/assets/iosevka-charon-mono-bold-DN5oOlAE.woff)format("woff")}:root{--font-serif:"Instrument Serif", serif;--font-sans:"Hanken Grotesk", sans-serif;--font-mono:"Iosevka Charon Mono", monospace;--layout-column-count:12;--layout-column-gap:20px;--layout-margin:20px;--layout-width:calc(100vw - (2 * var(--layout-margin)));--layout-column-width:calc(( var(--layout-width) - ((var(--layout-column-count) - 1) * var(--layout-column-gap)) ) / var(--layout-column-count))}.layout-block,.layout-grid{padding-left:var(--layout-margin);padding-right:var(--layout-margin);width:100%}.layout-grid{grid-template-columns:repeat(var(--layout-column-count), minmax(0, 1fr));grid-gap:var(--layout-column-gap);display:grid}html,html *{scrollbar-width:none!important;-ms-overflow-style:none!important}html::-webkit-scrollbar{width:0!important;height:0!important}html ::-webkit-scrollbar{width:0!important;height:0!important}:root{font-family:var(--font-sans), Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;background:var(--ivory);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;margin:0}.h1,h1{font-family:var(--font-serif);font-size:max(8vw,128px);font-style:italic;font-weight:400;line-height:1}.h2,h2{font-family:var(--font-serif);font-size:max(4vw,64px);font-style:italic;font-weight:400;line-height:1}.h3,h3{font-family:var(--font-serif);font-size:max(3vw,48px);font-style:italic;font-weight:400;line-height:1}.h4,h4{font-family:var(--font-serif);font-size:max(2vw,32px);font-style:italic;font-weight:400;line-height:1}.p,p,a,li{font-family:var(--font-sans);font-size:max(1vw,16px);font-weight:400;line-height:1.25}.label,label,button,pre{font-family:var(--font-mono);text-transform:uppercase;font-size:max(.875vw,14px);font-weight:700;line-height:1}.bold{font-weight:700}#app{min-height:100vh}button{cursor:pointer}::selection{color:var(--theme-bg);background:var(--theme-fg)}::selection{color:var(--theme-bg);background:var(--theme-fg)}.endless-journal-physics{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.endless-journal-physics .container{pointer-events:none;position:absolute;inset:0}.endless-journal{justify-content:center;align-items:center;height:100%;display:flex}.endless-journal .input{border:1px solid var(--theme-fg);opacity:0;position:absolute;top:20vh}.endless-journal .cursor{background:var(--theme-fg);opacity:.2;z-index:2;width:max(.625vw,10px);height:max(6.25vw,100px);animation:1s infinite cursor;position:absolute;top:15vh}.endless-journal .fill-line{padding:0 var(--layout-margin);z-index:2;position:absolute;left:0;right:0}.endless-journal .fill-line h6{text-transform:uppercase;color:var(--theme-grey);font-weight:400}.endless-journal .fill-line .line{background:var(--theme-grey);height:2px;position:absolute;bottom:-1em;left:0;right:0}.endless-journal .fill-line.one{bottom:20vh}.endless-journal .fill-line.two{bottom:40vh}.endless-journal .fill-line.three{bottom:60vh}@keyframes cursor{5%{opacity:0}40%{opacity:0}60%{opacity:.2}95%{opacity:.2}}main.drop{background:var(--theme-bg);color:var(--theme-fg);height:100vh} diff --git a/app/public/drops/endless-journal/assets/index-D22DIc1j.js b/app/public/drops/endless-journal/assets/index-D22DIc1j.js new file mode 100644 index 0000000..a4bf3f2 --- /dev/null +++ b/app/public/drops/endless-journal/assets/index-D22DIc1j.js @@ -0,0 +1 @@ +var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},s=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),c=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},l=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;li[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},u=(n,r,a)=>(a=n==null?{}:e(i(n)),l(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n)),d=e=>a.call(e,`module.exports`)?e[`module.exports`]:l(t({},`__esModule`,{value:!0}),e);(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();function f(e){let t=Object.create(null);for(let n of e.split(`,`))t[n]=1;return e=>e in t}var p={},m=[],h=()=>{},g=()=>!1,_=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),v=e=>e.startsWith(`onUpdate:`),y=Object.assign,b=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)},x=Object.prototype.hasOwnProperty,S=(e,t)=>x.call(e,t),C=Array.isArray,w=e=>j(e)===`[object Map]`,T=e=>j(e)===`[object Set]`,E=e=>j(e)===`[object Date]`,D=e=>typeof e==`function`,O=e=>typeof e==`string`,k=e=>typeof e==`symbol`,A=e=>typeof e==`object`&&!!e,ee=e=>(A(e)||D(e))&&D(e.then)&&D(e.catch),te=Object.prototype.toString,j=e=>te.call(e),M=e=>j(e).slice(8,-1),N=e=>j(e)===`[object Object]`,ne=e=>O(e)&&e!==`NaN`&&e[0]!==`-`&&``+parseInt(e,10)===e,re=f(`,key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted`),ie=e=>{let t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},ae=/-\w/g,P=ie(e=>e.replace(ae,e=>e.slice(1).toUpperCase())),oe=/\B([A-Z])/g,F=ie(e=>e.replace(oe,`-$1`).toLowerCase()),se=ie(e=>e.charAt(0).toUpperCase()+e.slice(1)),ce=ie(e=>e?`on${se(e)}`:``),I=(e,t)=>!Object.is(e,t),le=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},ue=e=>{let t=parseFloat(e);return isNaN(t)?e:t},de,fe=()=>de||=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{};function pe(e){if(C(e)){let t={};for(let n=0;n{if(e){let n=e.split(he);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function ve(e){let t=``;if(O(e))t=e;else if(C(e))for(let n=0;n0&&--this._on===0){if(R===this)R=this.prevScope;else{let e=R;for(;e;){if(e.prevScope===this){e.prevScope=this.prevScope;break}e=e.prevScope}}this.prevScope=void 0}}stop(e){if(this._active){this._active=!1;let t,n;for(t=0,n=this.effects.length;t0)return;if(je){let e=je;for(je=void 0;e;){let t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;for(;Ae;){let t=Ae;for(Ae=void 0;t;){let n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(t){e||=t}t=n}}if(e)throw e}function Fe(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Ie(e){let t,n=e.depsTail,r=n;for(;r;){let e=r.prevDep;r.version===-1?(r===n&&(n=e),ze(r),Be(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=e}e.deps=t,e.depsTail=n}function Le(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Re(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Re(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Ge)||(e.globalVersion=Ge,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Le(e))))return;e.flags|=2;let t=e.dep,n=z,r=B;z=e,B=!0;try{Fe(e);let n=e.fn(e._value);(t.version===0||I(n,e._value))&&(e.flags|=128,e._value=n,t.version++)}catch(e){throw t.version++,e}finally{z=n,B=r,Ie(e),e.flags&=-3}}function ze(e,t=!1){let{dep:n,prevSub:r,nextSub:i}=e;if(r&&(r.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let e=n.computed.deps;e;e=e.nextDep)ze(e,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Be(e){let{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}var B=!0,Ve=[];function He(){Ve.push(B),B=!1}function Ue(){let e=Ve.pop();B=e===void 0||e}function We(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let e=z;z=void 0;try{t()}finally{z=e}}}var Ge=0,Ke=class{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}},qe=class{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(e){if(!z||!B||z===this.computed)return;let t=this.activeLink;if(t===void 0||t.sub!==z)t=this.activeLink=new Ke(z,this),z.deps?(t.prevDep=z.depsTail,z.depsTail.nextDep=t,z.depsTail=t):z.deps=z.depsTail=t,Je(t);else if(t.version===-1&&(t.version=this.version,t.nextDep)){let e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=z.depsTail,t.nextDep=void 0,z.depsTail.nextDep=t,z.depsTail=t,z.deps===t&&(z.deps=e)}return t}trigger(e){this.version++,Ge++,this.notify(e)}notify(e){Ne();try{for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{Pe()}}};function Je(e){if(e.dep.sc++,e.sub.flags&4){let t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let e=t.deps;e;e=e.nextDep)Je(e)}let n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}var Ye=new WeakMap,Xe=Symbol(``),Ze=Symbol(``),Qe=Symbol(``);function V(e,t,n){if(B&&z){let t=Ye.get(e);t||Ye.set(e,t=new Map);let r=t.get(n);r||(t.set(n,r=new qe),r.map=t,r.key=n),r.track()}}function $e(e,t,n,r,i,a){let o=Ye.get(e);if(!o){Ge++;return}let s=e=>{e&&e.trigger()};if(Ne(),t===`clear`)o.forEach(s);else{let i=C(e),a=i&&ne(n);if(i&&n===`length`){let e=Number(r);o.forEach((t,n)=>{(n===`length`||n===Qe||!k(n)&&n>=e)&&s(t)})}else switch((n!==void 0||o.has(void 0))&&s(o.get(n)),a&&s(o.get(Qe)),t){case`add`:i?a&&s(o.get(`length`)):(s(o.get(Xe)),w(e)&&s(o.get(Ze)));break;case`delete`:i||(s(o.get(Xe)),w(e)&&s(o.get(Ze)));break;case`set`:w(e)&&s(o.get(Xe));break}}Pe()}function et(e){let t=U(e);return t===e?t:(V(t,`iterate`,Qe),H(e)?t:t.map(Vt))}function tt(e){return V(e=U(e),`iterate`,Qe),e}function nt(e,t){return Rt(e)?Ht(Lt(e)?Vt(t):t):Vt(t)}var rt={__proto__:null,[Symbol.iterator](){return it(this,Symbol.iterator,e=>nt(this,e))},concat(...e){return et(this).concat(...e.map(e=>C(e)?et(e):e))},entries(){return it(this,`entries`,e=>(e[1]=nt(this,e[1]),e))},every(e,t){return ot(this,`every`,e,t,void 0,arguments)},filter(e,t){return ot(this,`filter`,e,t,e=>e.map(e=>nt(this,e)),arguments)},find(e,t){return ot(this,`find`,e,t,e=>nt(this,e),arguments)},findIndex(e,t){return ot(this,`findIndex`,e,t,void 0,arguments)},findLast(e,t){return ot(this,`findLast`,e,t,e=>nt(this,e),arguments)},findLastIndex(e,t){return ot(this,`findLastIndex`,e,t,void 0,arguments)},forEach(e,t){return ot(this,`forEach`,e,t,void 0,arguments)},includes(...e){return ct(this,`includes`,e)},indexOf(...e){return ct(this,`indexOf`,e)},join(e){return et(this).join(e)},lastIndexOf(...e){return ct(this,`lastIndexOf`,e)},map(e,t){return ot(this,`map`,e,t,void 0,arguments)},pop(){return lt(this,`pop`)},push(...e){return lt(this,`push`,e)},reduce(e,...t){return st(this,`reduce`,e,t)},reduceRight(e,...t){return st(this,`reduceRight`,e,t)},shift(){return lt(this,`shift`)},some(e,t){return ot(this,`some`,e,t,void 0,arguments)},splice(...e){return lt(this,`splice`,e)},toReversed(){return et(this).toReversed()},toSorted(e){return et(this).toSorted(e)},toSpliced(...e){return et(this).toSpliced(...e)},unshift(...e){return lt(this,`unshift`,e)},values(){return it(this,`values`,e=>nt(this,e))}};function it(e,t,n){let r=tt(e),i=r[t]();return r!==e&&!H(e)&&(i._next=i.next,i.next=()=>{let e=i._next();return e.done||(e.value=n(e.value)),e}),i}var at=Array.prototype;function ot(e,t,n,r,i,a){let o=tt(e),s=o!==e&&!H(e),c=o[t];if(c!==at[t]){let t=c.apply(e,a);return s?Vt(t):t}let l=n;o!==e&&(s?l=function(t,r){return n.call(this,nt(e,t),r,e)}:n.length>2&&(l=function(t,r){return n.call(this,t,r,e)}));let u=c.call(o,l,r);return s&&i?i(u):u}function st(e,t,n,r){let i=tt(e),a=i!==e&&!H(e),o=n,s=!1;i!==e&&(a?(s=r.length===0,o=function(t,r,i){return s&&(s=!1,t=nt(e,t)),n.call(this,t,nt(e,r),i,e)}):n.length>3&&(o=function(t,r,i){return n.call(this,t,r,i,e)}));let c=i[t](o,...r);return s?nt(e,c):c}function ct(e,t,n){let r=U(e);V(r,`iterate`,Qe);let i=r[t](...n);return(i===-1||i===!1)&&zt(n[0])?(n[0]=U(n[0]),r[t](...n)):i}function lt(e,t,n=[]){He(),Ne();let r=U(e)[t].apply(e,n);return Pe(),Ue(),r}var ut=f(`__proto__,__v_isRef,__isVue`),dt=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!==`arguments`&&e!==`caller`).map(e=>Symbol[e]).filter(k));function ft(e){k(e)||(e=String(e));let t=U(this);return V(t,`has`,e),t.hasOwnProperty(e)}var pt=class{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){if(t===`__v_skip`)return e.__v_skip;let r=this._isReadonly,i=this._isShallow;if(t===`__v_isReactive`)return!r;if(t===`__v_isReadonly`)return r;if(t===`__v_isShallow`)return i;if(t===`__v_raw`)return n===(r?i?jt:At:i?kt:Ot).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;let a=C(e);if(!r){let e;if(a&&(e=rt[t]))return e;if(t===`hasOwnProperty`)return ft}let o=Reflect.get(e,t,W(e)?e:n);if((k(t)?dt.has(t):ut(t))||(r||V(e,`get`,t),i))return o;if(W(o)){let e=a&&ne(t)?o:o.value;return r&&A(e)?Ft(e):e}return A(o)?r?Ft(o):Nt(o):o}},mt=class extends pt{constructor(e=!1){super(!1,e)}set(e,t,n,r){let i=e[t],a=C(e)&&ne(t);if(!this._isShallow){let e=Rt(i);if(!H(n)&&!Rt(n)&&(i=U(i),n=U(n)),!a&&W(i)&&!W(n))return e||(i.value=n),!0}let o=a?Number(t)e,bt=e=>Reflect.getPrototypeOf(e);function xt(e,t,n){return function(...r){let i=this.__v_raw,a=U(i),o=w(a),s=e===`entries`||e===Symbol.iterator&&o,c=e===`keys`&&o,l=i[e](...r),u=n?yt:t?Ht:Vt;return!t&&V(a,`iterate`,c?Ze:Xe),y(Object.create(l),{next(){let{value:e,done:t}=l.next();return t?{value:e,done:t}:{value:s?[u(e[0]),u(e[1])]:u(e),done:t}}})}}function St(e){return function(...t){return e===`delete`?!1:e===`clear`?void 0:this}}function Ct(e,t){let n={get(n){let r=this.__v_raw,i=U(r),a=U(n);e||(I(n,a)&&V(i,`get`,n),V(i,`get`,a));let{has:o}=bt(i),s=t?yt:e?Ht:Vt;if(o.call(i,n))return s(r.get(n));if(o.call(i,a))return s(r.get(a));r!==i&&r.get(n)},get size(){let t=this.__v_raw;return!e&&V(U(t),`iterate`,Xe),t.size},has(t){let n=this.__v_raw,r=U(n),i=U(t);return e||(I(t,i)&&V(r,`has`,t),V(r,`has`,i)),t===i?n.has(t):n.has(t)||n.has(i)},forEach(n,r){let i=this,a=i.__v_raw,o=U(a),s=t?yt:e?Ht:Vt;return!e&&V(o,`iterate`,Xe),a.forEach((e,t)=>n.call(r,s(e),s(t),i))}};return y(n,e?{add:St(`add`),set:St(`set`),delete:St(`delete`),clear:St(`clear`)}:{add(e){let n=U(this),r=bt(n),i=U(e),a=!t&&!H(e)&&!Rt(e)?i:e;return r.has.call(n,a)||I(e,a)&&r.has.call(n,e)||I(i,a)&&r.has.call(n,i)||(n.add(a),$e(n,`add`,a,a)),this},set(e,n){!t&&!H(n)&&!Rt(n)&&(n=U(n));let r=U(this),{has:i,get:a}=bt(r),o=i.call(r,e);o||=(e=U(e),i.call(r,e));let s=a.call(r,e);return r.set(e,n),o?I(n,s)&&$e(r,`set`,e,n,s):$e(r,`add`,e,n),this},delete(e){let t=U(this),{has:n,get:r}=bt(t),i=n.call(t,e);i||=(e=U(e),n.call(t,e));let a=r?r.call(t,e):void 0,o=t.delete(e);return i&&$e(t,`delete`,e,void 0,a),o},clear(){let e=U(this),t=e.size!==0,n=e.clear();return t&&$e(e,`clear`,void 0,void 0,void 0),n}}),[`keys`,`values`,`entries`,Symbol.iterator].forEach(r=>{n[r]=xt(r,e,t)}),n}function wt(e,t){let n=Ct(e,t);return(t,r,i)=>r===`__v_isReactive`?!e:r===`__v_isReadonly`?e:r===`__v_raw`?t:Reflect.get(S(n,r)&&r in t?n:t,r,i)}var Tt={get:wt(!1,!1)},Et={get:wt(!1,!0)},Dt={get:wt(!0,!1)},Ot=new WeakMap,kt=new WeakMap,At=new WeakMap,jt=new WeakMap;function Mt(e){switch(e){case`Object`:case`Array`:return 1;case`Map`:case`Set`:case`WeakMap`:case`WeakSet`:return 2;default:return 0}}function Nt(e){return Rt(e)?e:It(e,!1,gt,Tt,Ot)}function Pt(e){return It(e,!1,vt,Et,kt)}function Ft(e){return It(e,!0,_t,Dt,At)}function It(e,t,n,r,i){if(!A(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;let a=i.get(e);if(a)return a;let o=Mt(M(e));if(o===0)return e;let s=new Proxy(e,o===2?r:n);return i.set(e,s),s}function Lt(e){return Rt(e)?Lt(e.__v_raw):!!(e&&e.__v_isReactive)}function Rt(e){return!!(e&&e.__v_isReadonly)}function H(e){return!!(e&&e.__v_isShallow)}function zt(e){return e?!!e.__v_raw:!1}function U(e){let t=e&&e.__v_raw;return t?U(t):e}function Bt(e){return!S(e,`__v_skip`)&&Object.isExtensible(e)&&L(e,`__v_skip`,!0),e}var Vt=e=>A(e)?Nt(e):e,Ht=e=>A(e)?Ft(e):e;function W(e){return e?e.__v_isRef===!0:!1}function Ut(e){return Gt(e,!1)}function Wt(e){return Gt(e,!0)}function Gt(e,t){return W(e)?e:new Kt(e,t)}var Kt=class{constructor(e,t){this.dep=new qe,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:U(e),this._value=t?e:Vt(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){let t=this._rawValue,n=this.__v_isShallow||H(e)||Rt(e);e=n?e:U(e),I(e,t)&&(this._rawValue=e,this._value=n?e:Vt(e),this.dep.trigger())}};function qt(e){return W(e)?e.value:e}function G(e){return D(e)?e():qt(e)}var Jt={get:(e,t,n)=>t===`__v_raw`?e:qt(Reflect.get(e,t,n)),set:(e,t,n,r)=>{let i=e[t];return W(i)&&!W(n)?(i.value=n,!0):Reflect.set(e,t,n,r)}};function Yt(e){return Lt(e)?e:new Proxy(e,Jt)}var Xt=class{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new qe(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Ge-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&z!==this)return Me(this,!0),!0}get value(){let e=this.dep.track();return Re(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}};function Zt(e,t,n=!1){let r,i;return D(e)?r=e:(r=e.get,i=e.set),new Xt(r,i,n)}var Qt={},$t=new WeakMap,en=void 0;function tn(e,t=!1,n=en){if(n){let t=$t.get(n);t||$t.set(n,t=[]),t.push(e)}}function nn(e,t,n=p){let{immediate:r,deep:i,once:a,scheduler:o,augmentJob:s,call:c}=n,l=e=>i?e:H(e)||i===!1||i===0?rn(e,1):rn(e),u,d,f,m,g=!1,_=!1;if(W(e)?(d=()=>e.value,g=H(e)):Lt(e)?(d=()=>l(e),g=!0):C(e)?(_=!0,g=e.some(e=>Lt(e)||H(e)),d=()=>e.map(e=>{if(W(e))return e.value;if(Lt(e))return l(e);if(D(e))return c?c(e,2):e()})):d=D(e)?t?c?()=>c(e,2):e:()=>{if(f){He();try{f()}finally{Ue()}}let t=en;en=u;try{return c?c(e,3,[m]):e(m)}finally{en=t}}:h,t&&i){let e=d,t=i===!0?1/0:i;d=()=>rn(e(),t)}let v=Te(),y=()=>{u.stop(),v&&v.active&&b(v.effects,u)};if(a&&t){let e=t;t=(...t)=>{let n=e(...t);return y(),n}}let x=_?Array(e.length).fill(Qt):Qt,S=e=>{if(!(!(u.flags&1)||!u.dirty&&!e))if(t){let n=u.run();if(e||i||g||(_?n.some((e,t)=>I(e,x[t])):I(n,x))){f&&f();let e=en;en=u;try{let e=[n,x===Qt?void 0:_&&x[0]===Qt?[]:x,m];x=n,c?c(t,3,e):t(...e)}finally{en=e}}}else u.run()};return s&&s(S),u=new Oe(d),u.scheduler=o?()=>o(S,!1):S,m=e=>tn(e,!1,u),f=u.onStop=()=>{let e=$t.get(u);if(e){if(c)c(e,4);else for(let t of e)t();$t.delete(u)}},t?r?S(!0):x=u.run():o?o(S.bind(null,!0),!0):u.run(),y.pause=u.pause.bind(u),y.resume=u.resume.bind(u),y.stop=y,y}function rn(e,t=1/0,n){if(t<=0||!A(e)||e.__v_skip||(n||=new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,W(e))rn(e.value,t,n);else if(C(e))for(let r=0;r{rn(e,t,n)});else if(N(e)){for(let r in e)rn(e[r],t,n);for(let r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&rn(e[r],t,n)}return e}function an(e,t,n,r){try{return r?e(...r):e()}catch(e){on(e,t,n)}}function K(e,t,n,r){if(D(e)){let i=an(e,t,n,r);return i&&ee(i)&&i.catch(e=>{on(e,t,n)}),i}if(C(e)){let i=[];for(let a=0;a>>1,i=q[r],a=xn(i);a=xn(n)?q.push(e):q.splice(hn(t),0,e),e.flags|=1,_n()}}function _n(){pn||=fn.then(Sn)}function vn(e){C(e)?ln.push(...e):un&&e.id===-1?un.splice(dn+1,0,e):e.flags&1||(ln.push(e),e.flags|=1),_n()}function yn(e,t,n=cn+1){for(;nxn(e)-xn(t));if(ln.length=0,un){un.push(...e);return}for(un=e,dn=0;dne.id==null?e.flags&2?-1:1/0:e.id;function Sn(e){try{for(cn=0;cn{r._d&&ki(-1);let i=wn(t),a=Ti.length,o;try{o=e(...n)}finally{for(let e=Ti.length;e>a;e--)Di();wn(i),r._d&&ki(1)}return o};return r._n=!0,r._c=!0,r._d=!0,r}function En(e,t){if(J===null)return e;let n=fa(J),r=e.dirs||=[];for(let e=0;e1)return n&&D(t)?t.call(r&&r.proxy):t}}var An=Symbol.for(`v-scx`),jn=()=>kn(An);function Mn(e,t,n){return Nn(e,t,n)}function Nn(e,t,n=p){let{immediate:r,deep:i,flush:a,once:o}=n,s=y({},n),c=t&&r||!t&&a!==`post`,l;if(ra){if(a===`sync`){let e=jn();l=e.__watcherHandles||=[]}else if(!c){let e=()=>{};return e.stop=h,e.resume=h,e.pause=h,e}}let u=Q;s.call=(e,t,n)=>K(e,u,t,n);let d=!1;a===`post`?s.scheduler=e=>{X(e,u&&u.suspense)}:a!==`sync`&&(d=!0,s.scheduler=(e,t)=>{t?e():gn(e)}),s.augmentJob=e=>{t&&(e.flags|=4),d&&(e.flags|=2,u&&(e.id=u.uid,e.i=u))};let f=nn(e,t,s);return ra&&(l?l.push(f):c&&f()),f}function Pn(e,t,n){let r=this.proxy,i=O(e)?e.includes(`.`)?Fn(r,e):()=>r[e]:e.bind(r,r),a;D(t)?a=t:(a=t.handler,n=t);let o=ea(this),s=Nn(i,a.bind(r),n);return o(),s}function Fn(e,t){let n=t.split(`.`);return()=>{let t=e;for(let e=0;ee.__isTeleport,Rn=Symbol(`_leaveCb`);function zn(e,t){e.shapeFlag&6&&e.component?(e.transition=t,zn(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Bn(e){e.ids=[e.ids[0]+e.ids[2]+++`-`,0,0]}function Vn(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}var Hn=new WeakMap;function Un(e,t,n,r,i=!1){if(C(e)){e.forEach((e,a)=>Un(e,t&&(C(t)?t[a]:t),n,r,i));return}if(Gn(r)&&!i){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&Un(e,t,n,r.component.subTree);return}let a=r.shapeFlag&4?fa(r.component):r.el,o=i?null:a,{i:s,r:c}=e,l=t&&t.r,u=s.refs===p?s.refs={}:s.refs,d=s.setupState,f=U(d),m=d===p?g:e=>!Vn(u,e)&&S(f,e),h=(e,t)=>!(t&&Vn(u,t));if(l!=null&&l!==c){if(Wn(t),O(l))u[l]=null,m(l)&&(d[l]=null);else if(W(l)){let e=t;h(l,e.k)&&(l.value=null),e.k&&(u[e.k]=null)}}if(D(c))an(c,s,12,[o,u]);else{let t=O(c),r=W(c);if(t||r){let s=()=>{if(e.f){let n=t?m(c)?d[c]:u[c]:h(c)||!e.k?c.value:u[e.k];if(i)C(n)&&b(n,a);else if(C(n))n.includes(a)||n.push(a);else if(t)u[c]=[a],m(c)&&(d[c]=u[c]);else{let t=[a];h(c,e.k)&&(c.value=t),e.k&&(u[e.k]=t)}}else t?(u[c]=o,m(c)&&(d[c]=o)):r&&(h(c,e.k)&&(c.value=o),e.k&&(u[e.k]=o))};if(o){let t=()=>{s(),Hn.delete(e)};t.id=-1,Hn.set(e,t),X(t,n)}else Wn(e),s()}}}function Wn(e){let t=Hn.get(e);t&&(t.flags|=8,Hn.delete(e))}fe().requestIdleCallback,fe().cancelIdleCallback;var Gn=e=>!!e.type.__asyncLoader,Kn=e=>e.type.__isKeepAlive;function qn(e,t){Yn(e,`a`,t)}function Jn(e,t){Yn(e,`da`,t)}function Yn(e,t,n=Q){let r=e.__wdc||=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()};if(Zn(t,r,n),n){let e=n.parent;for(;e&&e.parent;)Kn(e.parent.vnode)&&Xn(r,t,n,e),e=e.parent}}function Xn(e,t,n,r){let i=Zn(t,e,r,!0);ir(()=>{b(r[t],i)},n)}function Zn(e,t,n=Q,r=!1){if(n){let i=n[e]||(n[e]=[]),a=t.__weh||=(...r)=>{He();let i=ea(n),a=K(t,n,e,r);return i(),Ue(),a};return r?i.unshift(a):i.push(a),a}}var Qn=e=>(t,n=Q)=>{(!ra||e===`sp`)&&Zn(e,(...e)=>t(...e),n)},$n=Qn(`bm`),er=Qn(`m`),tr=Qn(`bu`),nr=Qn(`u`),rr=Qn(`bum`),ir=Qn(`um`),ar=Qn(`sp`),or=Qn(`rtg`),sr=Qn(`rtc`);function cr(e,t=Q){Zn(`ec`,e,t)}var lr=Symbol.for(`v-ndc`),ur=e=>e?na(e)?fa(e):ur(e.parent):null,dr=y(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>ur(e.parent),$root:e=>ur(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>br(e),$forceUpdate:e=>e.f||=()=>{gn(e.update)},$nextTick:e=>e.n||=mn.bind(e.proxy),$watch:e=>Pn.bind(e)}),fr=(e,t)=>e!==p&&!e.__isScriptSetup&&S(e,t),pr={get({_:e},t){if(t===`__v_skip`)return!0;let{ctx:n,setupState:r,data:i,props:a,accessCache:o,type:s,appContext:c}=e;if(t[0]!==`$`){let e=o[t];if(e!==void 0)switch(e){case 1:return r[t];case 2:return i[t];case 4:return n[t];case 3:return a[t]}else if(fr(r,t))return o[t]=1,r[t];else if(i!==p&&S(i,t))return o[t]=2,i[t];else if(S(a,t))return o[t]=3,a[t];else if(n!==p&&S(n,t))return o[t]=4,n[t];else hr&&(o[t]=0)}let l=dr[t],u,d;if(l)return t===`$attrs`&&V(e.attrs,`get`,``),l(e);if((u=s.__cssModules)&&(u=u[t]))return u;if(n!==p&&S(n,t))return o[t]=4,n[t];if(d=c.config.globalProperties,S(d,t))return d[t]},set({_:e},t,n){let{data:r,setupState:i,ctx:a}=e;return fr(i,t)?(i[t]=n,!0):r!==p&&S(r,t)?(r[t]=n,!0):S(e.props,t)||t[0]===`$`&&t.slice(1)in e?!1:(a[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:i,props:a,type:o}},s){let c;return!!(n[s]||e!==p&&s[0]!==`$`&&S(e,s)||fr(t,s)||S(a,s)||S(r,s)||S(dr,s)||S(i.config.globalProperties,s)||(c=o.__cssModules)&&c[s])},defineProperty(e,t,n){return n.get==null?S(n,`value`)&&this.set(e,t,n.value,null):e._.accessCache[t]=0,Reflect.defineProperty(e,t,n)}};function mr(e){return C(e)?e.reduce((e,t)=>(e[t]=null,e),{}):e}var hr=!0;function gr(e){let t=br(e),n=e.proxy,r=e.ctx;hr=!1,t.beforeCreate&&vr(t.beforeCreate,e,`bc`);let{data:i,computed:a,methods:o,watch:s,provide:c,inject:l,created:u,beforeMount:d,mounted:f,beforeUpdate:p,updated:m,activated:g,deactivated:_,beforeDestroy:v,beforeUnmount:y,destroyed:b,unmounted:x,render:S,renderTracked:w,renderTriggered:T,errorCaptured:E,serverPrefetch:O,expose:k,inheritAttrs:ee,components:te,directives:j,filters:M}=t;if(l&&_r(l,r,null),o)for(let e in o){let t=o[e];D(t)&&(r[e]=t.bind(n))}if(i){let t=i.call(n,n);A(t)&&(e.data=Nt(t))}if(hr=!0,a)for(let e in a){let t=a[e],i=ma({get:D(t)?t.bind(n,n):D(t.get)?t.get.bind(n,n):h,set:!D(t)&&D(t.set)?t.set.bind(n):h});Object.defineProperty(r,e,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e})}if(s)for(let e in s)yr(s[e],r,n,e);if(c){let e=D(c)?c.call(n):c;Reflect.ownKeys(e).forEach(t=>{On(t,e[t])})}u&&vr(u,e,`c`);function N(e,t){C(t)?t.forEach(t=>e(t.bind(n))):t&&e(t.bind(n))}if(N($n,d),N(er,f),N(tr,p),N(nr,m),N(qn,g),N(Jn,_),N(cr,E),N(sr,w),N(or,T),N(rr,y),N(ir,x),N(ar,O),C(k))if(k.length){let t=e.exposed||={};k.forEach(e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t,enumerable:!0})})}else e.exposed||={};S&&e.render===h&&(e.render=S),ee!=null&&(e.inheritAttrs=ee),te&&(e.components=te),j&&(e.directives=j),O&&Bn(e)}function _r(e,t,n=h){C(e)&&(e=Tr(e));for(let n in e){let r=e[n],i;i=A(r)?`default`in r?kn(r.from||n,r.default,!0):kn(r.from||n):kn(r),W(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e}):t[n]=i}}function vr(e,t,n){K(C(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,n)}function yr(e,t,n,r){let i=r.includes(`.`)?Fn(n,r):()=>n[r];if(O(e)){let n=t[e];D(n)&&Mn(i,n)}else if(D(e))Mn(i,e.bind(n));else if(A(e))if(C(e))e.forEach(e=>yr(e,t,n,r));else{let r=D(e.handler)?e.handler.bind(n):t[e.handler];D(r)&&Mn(i,r,e)}}function br(e){let t=e.type,{mixins:n,extends:r}=t,{mixins:i,optionsCache:a,config:{optionMergeStrategies:o}}=e.appContext,s=a.get(t),c;return s?c=s:!i.length&&!n&&!r?c=t:(c={},i.length&&i.forEach(e=>xr(c,e,o,!0)),xr(c,t,o)),A(t)&&a.set(t,c),c}function xr(e,t,n,r=!1){let{mixins:i,extends:a}=t;a&&xr(e,a,n,!0),i&&i.forEach(t=>xr(e,t,n,!0));for(let i in t)if(!(r&&i===`expose`)){let r=Sr[i]||n&&n[i];e[i]=r?r(e[i],t[i]):t[i]}return e}var Sr={data:Cr,props:Dr,emits:Dr,methods:Er,computed:Er,beforeCreate:Y,created:Y,beforeMount:Y,mounted:Y,beforeUpdate:Y,updated:Y,beforeDestroy:Y,beforeUnmount:Y,destroyed:Y,unmounted:Y,activated:Y,deactivated:Y,errorCaptured:Y,serverPrefetch:Y,components:Er,directives:Er,watch:Or,provide:Cr,inject:wr};function Cr(e,t){return t?e?function(){return y(D(e)?e.call(this,this):e,D(t)?t.call(this,this):t)}:t:e}function wr(e,t){return Er(Tr(e),Tr(t))}function Tr(e){if(C(e)){let t={};for(let n=0;nt===`modelValue`||t===`model-value`?e.modelModifiers:e[`${t}Modifiers`]||e[`${P(t)}Modifiers`]||e[`${F(t)}Modifiers`];function Pr(e,t,...n){if(e.isUnmounted)return;let r=e.vnode.props||p,i=n,a=t.startsWith(`update:`),o=a&&Nr(r,t.slice(7));o&&(o.trim&&(i=n.map(e=>O(e)?e.trim():e)),o.number&&(i=n.map(ue)));let s,c=r[s=ce(t)]||r[s=ce(P(t))];!c&&a&&(c=r[s=ce(F(t))]),c&&K(c,e,6,i);let l=r[s+`Once`];if(l){if(!e.emitted)e.emitted={};else if(e.emitted[s])return;e.emitted[s]=!0,K(l,e,6,i)}}var Fr=new WeakMap;function Ir(e,t,n=!1){let r=n?Fr:t.emitsCache,i=r.get(e);if(i!==void 0)return i;let a=e.emits,o={},s=!1;if(!D(e)){let r=e=>{let n=Ir(e,t,!0);n&&(s=!0,y(o,n))};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}return!a&&!s?(A(e)&&r.set(e,null),null):(C(a)?a.forEach(e=>o[e]=null):y(o,a),A(e)&&r.set(e,o),o)}function Lr(e,t){return!e||!_(t)?!1:(t=t.slice(2),t=t===`Once`?t:t.replace(/Once$/,``),S(e,t[0].toLowerCase()+t.slice(1))||S(e,F(t))||S(e,t))}function Rr(e){let{type:t,vnode:n,proxy:r,withProxy:i,propsOptions:[a],slots:o,attrs:s,emit:c,render:l,renderCache:u,props:d,data:f,setupState:p,ctx:m,inheritAttrs:h}=e,g=wn(e),_,y;try{if(n.shapeFlag&4){let e=i||r,t=e;_=Ui(l.call(t,e,u,d,p,f,m)),y=s}else{let e=t;_=Ui(e.length>1?e(d,{attrs:s,slots:o,emit:c}):e(d,null)),y=t.props?s:zr(s)}}catch(t){Ti.length=0,on(t,e,1),_=Li(Ci)}let b=_;if(y&&h!==!1){let e=Object.keys(y),{shapeFlag:t}=b;e.length&&t&7&&(a&&e.some(v)&&(y=Br(y,a)),b=Bi(b,y,!1,!0))}return n.dirs&&(b=Bi(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(n.dirs):n.dirs),n.transition&&zn(b,n.transition),_=b,wn(g),_}var zr=e=>{let t;for(let n in e)(n===`class`||n===`style`||_(n))&&((t||={})[n]=e[n]);return t},Br=(e,t)=>{let n={};for(let r in e)(!v(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Vr(e,t,n){let{props:r,children:i,component:a}=e,{props:o,children:s,patchFlag:c}=t,l=a.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?Hr(r,o,l):!!o;if(c&8){let e=t.dynamicProps;for(let t=0;tObject.create(Gr),qr=e=>Object.getPrototypeOf(e)===Gr;function Jr(e,t,n,r=!1){let i={},a=Kr();e.propsDefaults=Object.create(null),Xr(e,t,i,a);for(let t in e.propsOptions[0])t in i||(i[t]=void 0);n?e.props=r?i:Pt(i):e.type.props?e.props=i:e.props=a,e.attrs=a}function Yr(e,t,n,r){let{props:i,attrs:a,vnode:{patchFlag:o}}=e,s=U(i),[c]=e.propsOptions,l=!1;if((r||o>0)&&!(o&16)){if(o&8){let n=e.vnode.dynamicProps;for(let r=0;r{c=!0;let[n,r]=$r(e,t,!0);y(o,n),r&&s.push(...r)};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}if(!a&&!c)return A(e)&&r.set(e,m),m;if(C(a))for(let e=0;ee===`_`||e===`_ctx`||e===`$stable`,ni=e=>C(e)?e.map(Ui):[Ui(e)],ri=(e,t,n)=>{if(t._n)return t;let r=Tn((...e)=>ni(t(...e)),n);return r._c=!1,r},ii=(e,t,n)=>{let r=e._ctx;for(let n in e){if(ti(n))continue;let i=e[n];if(D(i))t[n]=ri(n,i,r);else if(i!=null){let e=ni(i);t[n]=()=>e}}},ai=(e,t)=>{let n=ni(t);e.slots.default=()=>n},oi=(e,t,n)=>{for(let r in t)(n||!ti(r))&&(e[r]=t[r])},si=(e,t,n)=>{let r=e.slots=Kr();if(e.vnode.shapeFlag&32){let e=t._;e?(oi(r,t,n),n&&L(r,`_`,e,!0)):ii(t,r)}else t&&ai(e,t)},ci=(e,t,n)=>{let{vnode:r,slots:i}=e,a=!0,o=p;if(r.shapeFlag&32){let e=t._;e?n&&e===1?a=!1:oi(i,t,n):(a=!t.$stable,ii(t,i)),o=t}else t&&(ai(e,t),o={default:1});if(a)for(let e in i)!ti(e)&&o[e]==null&&delete i[e]},X=bi;function li(e){return ui(e)}function ui(e,t){let n=fe();n.__VUE__=!0;let{insert:r,remove:i,patchProp:a,createElement:o,createText:s,createComment:c,setText:l,setElementText:u,parentNode:d,nextSibling:f,setScopeId:g=h,insertStaticContent:_}=e,v=(e,t,n,r=null,i=null,a=null,o=void 0,s=null,c=!!t.dynamicChildren)=>{if(e===t)return;e&&!Ni(e,t)&&(r=ue(e),F(e,i,a,!0),e=null),t.patchFlag===-2&&(c=!1,t.dynamicChildren=null);let{type:l,ref:u,shapeFlag:d}=t;switch(l){case Si:y(e,t,n,r);break;case Ci:b(e,t,n,r);break;case wi:e??x(t,n,r,o);break;case xi:ee(e,t,n,r,i,a,o,s,c);break;default:d&1?w(e,t,n,r,i,a,o,s,c):d&6?te(e,t,n,r,i,a,o,s,c):(d&64||d&128)&&l.process(e,t,n,r,i,a,o,s,c,me)}u!=null&&i?Un(u,e&&e.ref,a,t||e,!t):u==null&&e&&e.ref!=null&&Un(e.ref,null,a,e,!0)},y=(e,t,n,i)=>{if(e==null)r(t.el=s(t.children),n,i);else{let n=t.el=e.el;t.children!==e.children&&l(n,t.children)}},b=(e,t,n,i)=>{e==null?r(t.el=c(t.children||``),n,i):t.el=e.el},x=(e,t,n,r)=>{[e.el,e.anchor]=_(e.children,t,n,r,e.el,e.anchor)},S=({el:e,anchor:t},n,i)=>{let a;for(;e&&e!==t;)a=f(e),r(e,n,i),e=a;r(t,n,i)},C=({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=f(e),i(e),e=n;i(t)},w=(e,t,n,r,i,a,o,s,c)=>{if(t.type===`svg`?o=`svg`:t.type===`math`&&(o=`mathml`),e==null)T(t,n,r,i,a,o,s,c);else{let n=e.el&&e.el._isVueCE?e.el:null;try{n&&n._beginPatch(),O(e,t,i,a,o,s,c)}finally{n&&n._endPatch()}}},T=(e,t,n,i,s,c,l,d)=>{let f,p,{props:m,shapeFlag:h,transition:g,dirs:_}=e;if(f=e.el=o(e.type,c,m&&m.is,m),h&8?u(f,e.children):h&16&&D(e.children,f,null,i,s,di(e,c),l,d),_&&Dn(e,null,i,`created`),E(f,e,e.scopeId,l,i),m){for(let e in m)e!==`value`&&!re(e)&&a(f,e,null,m[e],c,i);`value`in m&&a(f,`value`,null,m.value,c),(p=m.onVnodeBeforeMount)&&qi(p,i,e)}_&&Dn(e,null,i,`beforeMount`);let v=pi(s,g);v&&g.beforeEnter(f),r(f,t,n),((p=m&&m.onVnodeMounted)||v||_)&&X(()=>{try{p&&qi(p,i,e),v&&g.enter(f),_&&Dn(e,null,i,`mounted`)}finally{}},s)},E=(e,t,n,r,i)=>{if(n&&g(e,n),r)for(let t=0;t{for(let l=c;l{let c=t.el=e.el,{patchFlag:l,dynamicChildren:d,dirs:f}=t;l|=e.patchFlag&16;let m=e.props||p,h=t.props||p,g;if(n&&fi(n,!1),(g=h.onVnodeBeforeUpdate)&&qi(g,n,t,e),f&&Dn(t,e,n,`beforeUpdate`),n&&fi(n,!0),d&&(!e.dynamicChildren||e.dynamicChildren.length!==d.length)&&(l=0,s=!1,d=null),(m.innerHTML&&h.innerHTML==null||m.textContent&&h.textContent==null)&&u(c,``),d?k(e.dynamicChildren,d,c,n,r,di(t,i),o):s||ie(e,t,c,null,n,r,di(t,i),o,!1),l>0){if(l&16)A(c,m,h,n,i);else if(l&2&&m.class!==h.class&&a(c,`class`,null,h.class,i),l&4&&a(c,`style`,m.style,h.style,i),l&8){let e=t.dynamicProps;for(let t=0;t{g&&qi(g,n,t,e),f&&Dn(t,e,n,`updated`)},r)},k=(e,t,n,r,i,a,o)=>{for(let s=0;s{if(t!==n){if(t!==p)for(let o in t)!re(o)&&!(o in n)&&a(e,o,t[o],null,i,r);for(let o in n){if(re(o))continue;let s=n[o],c=t[o];s!==c&&o!==`value`&&a(e,o,c,s,i,r)}`value`in n&&a(e,`value`,t.value,n.value,i)}},ee=(e,t,n,i,a,o,c,l,u)=>{let d=t.el=e?e.el:s(``),f=t.anchor=e?e.anchor:s(``),{patchFlag:p,dynamicChildren:m,slotScopeIds:h}=t;h&&(l=l?l.concat(h):h),e==null?(r(d,n,i),r(f,n,i),D(t.children||[],n,f,a,o,c,l,u)):p>0&&p&64&&m&&e.dynamicChildren&&e.dynamicChildren.length===m.length?(k(e.dynamicChildren,m,n,a,o,c,l),(t.key!=null||a&&t===a.subTree)&&mi(e,t,!0)):ie(e,t,n,f,a,o,c,l,u)},te=(e,t,n,r,i,a,o,s,c)=>{t.slotScopeIds=s,e==null?t.shapeFlag&512?i.ctx.activate(t,n,r,o,c):j(t,n,r,i,a,o,c):M(e,t,c)},j=(e,t,n,r,i,a,o)=>{let s=e.component=Xi(e,r,i);if(Kn(e)&&(s.ctx.renderer=me),ia(s,!1,o),s.asyncDep){if(i&&i.registerDep(s,N,o),!e.el){let r=s.subTree=Li(Ci);b(null,r,t,n),e.placeholder=r.el}}else N(s,e,t,n,i,a,o)},M=(e,t,n)=>{let r=t.component=e.component;if(Vr(e,t,n))if(r.asyncDep&&!r.asyncResolved){ne(r,t,n);return}else r.next=t,r.update();else t.el=e.el,r.vnode=t},N=(e,t,n,r,i,a,o)=>{let s=()=>{if(e.isMounted){let{next:t,bu:n,u:r,parent:s,vnode:c}=e;{let n=gi(e);if(n){t&&(t.el=c.el,ne(e,t,o)),n.asyncDep.then(()=>{X(()=>{e.isUnmounted||l()},i)});return}}let u=t,f;fi(e,!1),t?(t.el=c.el,ne(e,t,o)):t=c,n&&le(n),(f=t.props&&t.props.onVnodeBeforeUpdate)&&qi(f,s,t,c),fi(e,!0);let p=Rr(e),m=e.subTree;e.subTree=p,v(m,p,d(m.el),ue(m),e,i,a),t.el=p.el,u===null&&Wr(e,p.el),r&&X(r,i),(f=t.props&&t.props.onVnodeUpdated)&&X(()=>qi(f,s,t,c),i)}else{let o,{el:s,props:c}=t,{bm:l,m:u,parent:d,root:f,type:p}=e,m=Gn(t);if(fi(e,!1),l&&le(l),!m&&(o=c&&c.onVnodeBeforeMount)&&qi(o,d,t),fi(e,!0),s&&ge){let t=()=>{e.subTree=Rr(e),ge(s,e.subTree,e,i,null)};m&&p.__asyncHydrate?p.__asyncHydrate(s,e,t):t()}else{f.ce&&f.ce._hasShadowRoot()&&f.ce._injectChildStyle(p,e.parent?e.parent.type:void 0);let o=e.subTree=Rr(e);v(null,o,n,r,e,i,a),t.el=o.el}if(u&&X(u,i),!m&&(o=c&&c.onVnodeMounted)){let e=t;X(()=>qi(o,d,e),i)}(t.shapeFlag&256||d&&Gn(d.vnode)&&d.vnode.shapeFlag&256)&&e.a&&X(e.a,i),e.isMounted=!0,t=n=r=null}};e.scope.on();let c=e.effect=new Oe(s);e.scope.off();let l=e.update=c.run.bind(c),u=e.job=c.runIfDirty.bind(c);u.i=e,u.id=e.uid,c.scheduler=()=>gn(u),fi(e,!0),l()},ne=(e,t,n)=>{t.component=e;let r=e.vnode.props;e.vnode=t,e.next=null,Yr(e,t.props,r,n),ci(e,t.children,n),He(),yn(e),Ue()},ie=(e,t,n,r,i,a,o,s,c=!1)=>{let l=e&&e.children,d=e?e.shapeFlag:0,f=t.children,{patchFlag:p,shapeFlag:m}=t;if(p>0){if(p&128){P(l,f,n,r,i,a,o,s,c);return}else if(p&256){ae(l,f,n,r,i,a,o,s,c);return}}m&8?(d&16&&L(l,i,a),f!==l&&u(n,f)):d&16?m&16?P(l,f,n,r,i,a,o,s,c):L(l,i,a,!0):(d&8&&u(n,``),m&16&&D(f,n,r,i,a,o,s,c))},ae=(e,t,n,r,i,a,o,s,c)=>{e||=m,t||=m;let l=e.length,u=t.length,d=Math.min(l,u),f;for(f=0;fu?L(e,i,a,!0,!1,d):D(t,n,r,i,a,o,s,c,d)},P=(e,t,n,r,i,a,o,s,c)=>{let l=0,u=t.length,d=e.length-1,f=u-1;for(;l<=d&&l<=f;){let r=e[l],u=t[l]=c?Wi(t[l]):Ui(t[l]);if(Ni(r,u))v(r,u,n,null,i,a,o,s,c);else break;l++}for(;l<=d&&l<=f;){let r=e[d],l=t[f]=c?Wi(t[f]):Ui(t[f]);if(Ni(r,l))v(r,l,n,null,i,a,o,s,c);else break;d--,f--}if(l>d){if(l<=f){let e=f+1,d=ef)for(;l<=d;)F(e[l],i,a,!0),l++;else{let p=l,h=l,g=new Map;for(l=h;l<=f;l++){let e=t[l]=c?Wi(t[l]):Ui(t[l]);e.key!=null&&g.set(e.key,l)}let _,y=0,b=f-h+1,x=!1,S=0,C=Array(b);for(l=0;l=b){F(r,i,a,!0);continue}let u;if(r.key!=null)u=g.get(r.key);else for(_=h;_<=f;_++)if(C[_-h]===0&&Ni(r,t[_])){u=_;break}u===void 0?F(r,i,a,!0):(C[u-h]=l+1,u>=S?S=u:x=!0,v(r,t[u],n,null,i,a,o,s,c),y++)}let w=x?hi(C):m;for(_=w.length-1,l=b-1;l>=0;l--){let e=h+l,d=t[e],f=t[e+1],p=e+1{let{el:s,type:c,transition:l,children:u,shapeFlag:d}=e;if(d&6){oe(e.component.subTree,t,n,a);return}if(d&128){e.suspense.move(t,n,a);return}if(d&64){c.move(e,t,n,me);return}if(c===xi){r(s,t,n);for(let e=0;el.enter(s),o));else{let{leave:a,delayLeave:o,afterLeave:c}=l,u=()=>{e.ctx.isUnmounted?i(s):r(s,t,n)},d=()=>{let e=s._isLeaving||!!s[Rn];s._isLeaving&&s[Rn](!0),l.persisted&&!e?u():a(s,()=>{u(),c&&c()})};o?o(s,u,d):d()}else r(s,t,n)},F=(e,t,n,r=!1,i=!1)=>{let{type:a,props:o,ref:s,children:c,dynamicChildren:l,shapeFlag:u,patchFlag:d,dirs:f,cacheIndex:p,memo:m}=e;if(d===-2&&(i=!1),s!=null&&(He(),Un(s,null,n,e,!0),Ue()),p!=null&&(t.renderCache[p]=void 0),u&256){t.ctx.deactivate(e);return}let h=u&1&&f,g=!Gn(e),_;if(g&&(_=o&&o.onVnodeBeforeUnmount)&&qi(_,t,e),u&6)I(e.component,n,r);else{if(u&128){e.suspense.unmount(n,r);return}h&&Dn(e,null,t,`beforeUnmount`),u&64?e.type.remove(e,t,n,me,r):l&&!l.hasOnce&&(a!==xi||d>0&&d&64)?L(l,t,n,!1,!0):(a===xi&&d&384||!i&&u&16)&&L(c,t,n),r&&se(e)}let v=m!=null&&p==null;(g&&(_=o&&o.onVnodeUnmounted)||h||v)&&X(()=>{_&&qi(_,t,e),h&&Dn(e,null,t,`unmounted`),v&&(e.el=null)},n)},se=e=>{let{type:t,el:n,anchor:r,transition:a}=e;if(t===xi){ce(n,r);return}if(t===wi){C(e);return}let o=()=>{i(n),a&&!a.persisted&&a.afterLeave&&a.afterLeave()};if(e.shapeFlag&1&&a&&!a.persisted){let{leave:t,delayLeave:r}=a,i=()=>t(n,o);r?r(e.el,o,i):i()}else o()},ce=(e,t)=>{let n;for(;e!==t;)n=f(e),i(e),e=n;i(t)},I=(e,t,n)=>{let{bum:r,scope:i,job:a,subTree:o,um:s,m:c,a:l}=e;_i(c),_i(l),r&&le(r),i.stop(),a&&(a.flags|=8,F(o,e,t,n)),s&&X(s,t),X(()=>{e.isUnmounted=!0},t)},L=(e,t,n,r=!1,i=!1,a=0)=>{for(let o=a;o{if(e.shapeFlag&6)return ue(e.component.subTree);if(e.shapeFlag&128)return e.suspense.next();let t=f(e.anchor||e.el),n=t&&t[In];return n?f(n):t},de=!1,pe=(e,t,n)=>{let r;e==null?t._vnode&&(F(t._vnode,null,null,!0),r=t._vnode.component):v(t._vnode||null,e,t,null,null,null,n),t._vnode=e,de||=(de=!0,yn(r),bn(),!1)},me={p:v,um:F,m:oe,r:se,mt:j,mc:D,pc:ie,pbc:k,n:ue,o:e},he,ge;return t&&([he,ge]=t(me)),{render:pe,hydrate:he,createApp:jr(pe,he)}}function di({type:e,props:t},n){return n===`svg`&&e===`foreignObject`||n===`mathml`&&e===`annotation-xml`&&t&&t.encoding&&t.encoding.includes(`html`)?void 0:n}function fi({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function pi(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function mi(e,t,n=!1){let r=e.children,i=t.children;if(C(r)&&C(i))for(let e=0;e>1,e[n[s]]0&&(t[r]=n[a-1]),n[a]=r)}}for(a=n.length,o=n[a-1];a-->0;)n[a]=o,o=t[o];return n}function gi(e){let t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:gi(t)}function _i(e){if(e)for(let t=0;te.__isSuspense;function bi(e,t){t&&t.pendingBranch?C(e)?t.effects.push(...e):t.effects.push(e):vn(e)}var xi=Symbol.for(`v-fgt`),Si=Symbol.for(`v-txt`),Ci=Symbol.for(`v-cmt`),wi=Symbol.for(`v-stc`),Ti=[],Z=null;function Ei(e=!1){Ti.push(Z=e?null:[])}function Di(){Ti.pop(),Z=Ti[Ti.length-1]||null}var Oi=1;function ki(e,t=!1){Oi+=e,e<0&&Z&&t&&(Z.hasOnce=!0)}function Ai(e){return e.dynamicChildren=Oi>0?Z||m:null,Di(),Oi>0&&Z&&Z.push(e),e}function ji(e,t,n,r,i,a){return Ai(Ii(e,t,n,r,i,a,!0))}function Mi(e){return e?e.__v_isVNode===!0:!1}function Ni(e,t){return e.type===t.type&&e.key===t.key}var Pi=({key:e})=>e??null,Fi=({ref:e,ref_key:t,ref_for:n})=>(typeof e==`number`&&(e=``+e),e==null?null:O(e)||W(e)||D(e)?{i:J,r:e,k:t,f:!!n}:e);function Ii(e,t=null,n=null,r=0,i=null,a=e===xi?0:1,o=!1,s=!1){let c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Pi(t),ref:t&&Fi(t),scopeId:Cn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:a,patchFlag:r,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:J};return s?(Gi(c,n),a&128&&e.normalize(c)):n&&(c.shapeFlag|=O(n)?8:16),Oi>0&&!o&&Z&&(c.patchFlag>0||a&6)&&c.patchFlag!==32&&Z.push(c),c}var Li=Ri;function Ri(e,t=null,n=null,r=0,i=null,a=!1){if((!e||e===lr)&&(e=Ci),Mi(e)){let r=Bi(e,t,!0);return n&&Gi(r,n),Oi>0&&!a&&Z&&(r.shapeFlag&6?Z[Z.indexOf(e)]=r:Z.push(r)),r.patchFlag=-2,r}if(pa(e)&&(e=e.__vccOpts),t){t=zi(t);let{class:e,style:n}=t;e&&!O(e)&&(t.class=ve(e)),A(n)&&(zt(n)&&!C(n)&&(n=y({},n)),t.style=pe(n))}let o=O(e)?1:yi(e)?128:Ln(e)?64:A(e)?4:D(e)?2:0;return Ii(e,t,n,r,i,o,a,!0)}function zi(e){return e?zt(e)||qr(e)?y({},e):e:null}function Bi(e,t,n=!1,r=!1){let{props:i,ref:a,patchFlag:o,children:s,transition:c}=e,l=t?Ki(i||{},t):i,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Pi(l),ref:t&&t.ref?n&&a?C(a)?a.concat(Fi(t)):[a,Fi(t)]:Fi(t):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==xi?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Bi(e.ssContent),ssFallback:e.ssFallback&&Bi(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&r&&zn(u,c.clone(u)),u}function Vi(e=` `,t=0){return Li(Si,null,e,t)}function Hi(e,t){let n=Li(wi,null,e);return n.staticCount=t,n}function Ui(e){return e==null||typeof e==`boolean`?Li(Ci):C(e)?Li(xi,null,e.slice()):Mi(e)?Wi(e):Li(Si,null,String(e))}function Wi(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Bi(e)}function Gi(e,t){let n=0,{shapeFlag:r}=e;if(t==null)t=null;else if(C(t))n=16;else if(typeof t==`object`)if(r&65){let n=t.default;n&&(n._c&&(n._d=!1),Gi(e,n()),n._c&&(n._d=!0));return}else{n=32;let r=t._;!r&&!qr(t)?t._ctx=J:r===3&&J&&(J.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(D(t)){if(r&65){Gi(e,{default:t});return}t={default:t,_ctx:J},n=32}else t=String(t),r&64?(n=16,t=[Vi(t)]):n=8;e.children=t,e.shapeFlag|=n}function Ki(...e){let t={};for(let n=0;nQ||J,Qi,$i;{let e=fe(),t=(t,n)=>{let r;return(r=e[t])||(r=e[t]=[]),r.push(n),e=>{r.length>1?r.forEach(t=>t(e)):r[0](e)}};Qi=t(`__VUE_INSTANCE_SETTERS__`,e=>Q=e),$i=t(`__VUE_SSR_SETTERS__`,e=>ra=e)}var ea=e=>{let t=Q;return Qi(e),e.scope.on(),()=>{e.scope.off(),Qi(t)}},ta=()=>{Q&&Q.scope.off(),Qi(null)};function na(e){return e.vnode.shapeFlag&4}var ra=!1;function ia(e,t=!1,n=!1){t&&$i(t);let{props:r,children:i}=e.vnode,a=na(e);Jr(e,r,a,t),si(e,i,n||t);let o=a?aa(e,t):void 0;return t&&$i(!1),o}function aa(e,t){let n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,pr);let{setup:r}=n;if(r){He();let n=e.setupContext=r.length>1?da(e):null,i=ea(e),a=an(r,e,0,[e.props,n]),o=ee(a);if(Ue(),i(),(o||e.sp)&&!Gn(e)&&Bn(e),o){if(a.then(ta,ta),t)return a.then(n=>{oa(e,n,t)}).catch(t=>{on(t,e,0)});e.asyncDep=a}else oa(e,a,t)}else la(e,t)}function oa(e,t,n){D(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:A(t)&&(e.setupState=Yt(t)),la(e,n)}var sa,ca;function la(e,t,n){let r=e.type;if(!e.render){if(!t&&sa&&!r.render){let t=r.template||br(e).template;if(t){let{isCustomElement:n,compilerOptions:i}=e.appContext.config,{delimiters:a,compilerOptions:o}=r;r.render=sa(t,y(y({isCustomElement:n,delimiters:a},i),o))}}e.render=r.render||h,ca&&ca(e)}{let t=ea(e);He();try{gr(e)}finally{Ue(),t()}}}var ua={get(e,t){return V(e,`get`,``),e[t]}};function da(e){return{attrs:new Proxy(e.attrs,ua),slots:e.slots,emit:e.emit,expose:t=>{e.exposed=t||{}}}}function fa(e){return e.exposed?e.exposeProxy||=new Proxy(Yt(Bt(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in dr)return dr[n](e)},has(e,t){return t in e||t in dr}}):e.proxy}function pa(e){return D(e)&&`__vccOpts`in e}var ma=(e,t)=>Zt(e,t,ra),ha=`3.5.40`,ga=void 0,_a=typeof window<`u`&&window.trustedTypes;if(_a)try{ga=_a.createPolicy(`vue`,{createHTML:e=>e})}catch{}var va=ga?e=>ga.createHTML(e):e=>e,ya=`http://www.w3.org/2000/svg`,ba=`http://www.w3.org/1998/Math/MathML`,xa=typeof document<`u`?document:null,Sa=xa&&xa.createElement(`template`),Ca={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{let t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{let i=t===`svg`?xa.createElementNS(ya,e):t===`mathml`?xa.createElementNS(ba,e):n?xa.createElement(e,{is:n}):xa.createElement(e);return e===`select`&&r&&r.multiple!=null&&i.setAttribute(`multiple`,r.multiple),i},createText:e=>xa.createTextNode(e),createComment:e=>xa.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>xa.querySelector(e),setScopeId(e,t){e.setAttribute(t,``)},insertStaticContent(e,t,n,r,i,a){let o=n?n.previousSibling:t.lastChild;if(i&&(i===a||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===a||!(i=i.nextSibling)););else{Sa.innerHTML=va(r===`svg`?`${e}`:r===`mathml`?`${e}`:e);let i=Sa.content;if(r===`svg`||r===`mathml`){let e=i.firstChild;for(;e.firstChild;)i.appendChild(e.firstChild);i.removeChild(e)}t.insertBefore(i,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},wa=Symbol(`_vtc`);function Ta(e,t,n){let r=e[wa];r&&(t=(t?[t,...r]:[...r]).join(` `)),t==null?e.removeAttribute(`class`):n?e.setAttribute(`class`,t):e.className=t}var Ea=Symbol(`_vod`),Da=Symbol(`_vsh`),Oa=Symbol(``),ka=/(?:^|;)\s*display\s*:/;function Aa(e,t,n){let r=e.style,i=O(n),a=!1;if(n&&!i){if(t)if(O(t))for(let e of t.split(`;`)){let t=e.slice(0,e.indexOf(`:`)).trim();n[t]??Ma(r,t,``)}else for(let e in t)n[e]??Ma(r,e,``);for(let i in n){i===`display`&&(a=!0);let o=n[i];o==null?Ma(r,i,``):Ia(e,i,!O(t)&&t?t[i]:void 0,o)||Ma(r,i,o)}}else if(i){if(t!==n){let e=r[Oa];e&&(n+=`;`+e),r.cssText=n,a=ka.test(n)}}else t&&e.removeAttribute(`style`);Ea in e&&(e[Ea]=a?r.display:``,e[Da]&&(r.display=`none`))}var ja=/\s*!important$/;function Ma(e,t,n){if(C(n))n.forEach(n=>Ma(e,t,n));else if(n??=``,t.startsWith(`--`))e.setProperty(t,n);else{let r=Fa(e,t);ja.test(n)?e.setProperty(F(r),n.replace(ja,``),`important`):e[r]=n}}var Na=[`Webkit`,`Moz`,`ms`],Pa={};function Fa(e,t){let n=Pa[t];if(n)return n;let r=P(t);if(r!==`filter`&&r in e)return Pa[t]=r;r=se(r);for(let n=0;nqa||=(Ja.then(()=>qa=0),Date.now());function Xa(e,t){let n=e=>{if(!e._vts)e._vts=Date.now();else if(e._vts<=n.attached)return;let r=n.value;if(C(r)){let n=e.stopImmediatePropagation;e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0};let i=r.slice(),a=[e];for(let n=0;ne.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Qa=(e,t,n,r,i,a)=>{let o=i===`svg`;t===`class`?Ta(e,r,o):t===`style`?Aa(e,n,r):_(t)?v(t)||Ua(e,t,n,r,a):(t[0]===`.`?(t=t.slice(1),!0):t[0]===`^`?(t=t.slice(1),!1):$a(e,t,r,o))?(za(e,t,r),!e.tagName.includes(`-`)&&(t===`value`||t===`checked`||t===`selected`)&&Ra(e,t,r,o,a,t!==`value`)):e._isVueCE&&(eo(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!O(r)))?za(e,P(t),r,a,t):(t===`true-value`?e._trueValue=r:t===`false-value`&&(e._falseValue=r),Ra(e,t,r,o))};function $a(e,t,n,r){if(r)return!!(t===`innerHTML`||t===`textContent`||t in e&&Za(t)&&D(n));if(t===`spellcheck`||t===`draggable`||t===`translate`||t===`autocorrect`||t===`sandbox`&&e.tagName===`IFRAME`||t===`form`||t===`list`&&e.tagName===`INPUT`||t===`type`&&e.tagName===`TEXTAREA`)return!1;if(t===`width`||t===`height`){let t=e.tagName;if(t===`IMG`||t===`VIDEO`||t===`CANVAS`||t===`SOURCE`)return!1}return Za(t)&&O(n)?!1:t in e}function eo(e,t){let n=e._def.props;if(!n)return!1;let r=P(t);return Array.isArray(n)?n.some(e=>P(e)===r):Object.keys(n).some(e=>P(e)===r)}var to=e=>{let t=e.props[`onUpdate:modelValue`]||!1;return C(t)?e=>le(t,e):t};function no(e){e.target.composing=!0}function ro(e){let t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event(`input`)))}var io=Symbol(`_assign`);function ao(e,t,n){return t&&(e=e.trim()),n&&(e=ue(e)),e}var oo={created(e,{modifiers:{lazy:t,trim:n,number:r}},i){e[io]=to(i);let a=r||i.props&&i.props.type===`number`;Ba(e,t?`change`:`input`,t=>{t.target.composing||e[io](ao(e.value,n,a))}),(n||a)&&Ba(e,`change`,()=>{e.value=ao(e.value,n,a)}),t||(Ba(e,`compositionstart`,no),Ba(e,`compositionend`,ro),Ba(e,`change`,ro))},mounted(e,{value:t}){e.value=t??``},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:i,number:a}},o){if(e[io]=to(o),e.composing)return;let s=(a||e.type===`number`)&&!/^0\d/.test(e.value)?ue(e.value):e.value,c=t??``;if(s===c)return;let l=e.getRootNode();(l instanceof Document||l instanceof ShadowRoot)&&l.activeElement===e&&e.type!==`range`&&(r&&t===n||i&&e.value.trim()===c)||(e.value=c)}},so=y({patchProp:Qa},Ca),co;function lo(){return co||=li(so)}var uo=((...e)=>{let t=lo().createApp(...e),{mount:n}=t;return t.mount=e=>{let r=po(e);if(!r)return;let i=t._component;!D(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent=``);let a=n(r,!1,fo(r));return r instanceof Element&&(r.removeAttribute(`v-cloak`),r.setAttribute(`data-v-app`,``)),a},t});function fo(e){if(e instanceof SVGElement)return`svg`;if(typeof MathMLElement==`function`&&e instanceof MathMLElement)return`mathml`}function po(e){return O(e)?document.querySelector(e):e}var mo=s(((e,t)=>{(function(n,r){typeof e==`object`&&typeof t==`object`?t.exports=r():typeof define==`function`&&define.amd?define(`Matter`,[],r):typeof e==`object`?e.Matter=r():n.Matter=r()})(e,function(){return(function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){typeof Symbol<`u`&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:`Module`}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(t&1&&(e=n(e)),t&8||t&4&&typeof e==`object`&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),t&2&&typeof e!=`string`)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,`a`,t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=``,n(n.s=20)})([(function(e,t){var n={};e.exports=n,(function(){n._baseDelta=1e3/60,n._nextId=0,n._seed=0,n._nowStartTime=+new Date,n._warnedOnce={},n._decomp=null,n.extend=function(e,t){var r,i;typeof t==`boolean`?(r=2,i=t):(r=1,i=!0);for(var a=r;a0;t--){var r=Math.floor(n.random()*(t+1)),i=e[t];e[t]=e[r],e[r]=i}return e},n.choose=function(e){return e[Math.floor(n.random()*e.length)]},n.isElement=function(e){return typeof HTMLElement<`u`?e instanceof HTMLElement:!!(e&&e.nodeType&&e.nodeName)},n.isArray=function(e){return Object.prototype.toString.call(e)===`[object Array]`},n.isFunction=function(e){return typeof e==`function`},n.isPlainObject=function(e){return typeof e==`object`&&e.constructor===Object},n.isString=function(e){return toString.call(e)===`[object String]`},n.clamp=function(e,t,n){return en?n:e},n.sign=function(e){return e<0?-1:1},n.now=function(){if(typeof window<`u`&&window.performance){if(window.performance.now)return window.performance.now();if(window.performance.webkitNow)return window.performance.webkitNow()}return Date.now?Date.now():new Date-n._nowStartTime},n.random=function(t,n){return t=t===void 0?0:t,n=n===void 0?1:n,t+e()*(n-t)};var e=function(){return n._seed=(n._seed*9301+49297)%233280,n._seed/233280};n.colorToNumber=function(e){return e=e.replace(`#`,``),e.length==3&&(e=e.charAt(0)+e.charAt(0)+e.charAt(1)+e.charAt(1)+e.charAt(2)+e.charAt(2)),parseInt(e,16)},n.logLevel=1,n.log=function(){console&&n.logLevel>0&&n.logLevel<=3&&console.log.apply(console,[`matter-js:`].concat(Array.prototype.slice.call(arguments)))},n.info=function(){console&&n.logLevel>0&&n.logLevel<=2&&console.info.apply(console,[`matter-js:`].concat(Array.prototype.slice.call(arguments)))},n.warn=function(){console&&n.logLevel>0&&n.logLevel<=3&&console.warn.apply(console,[`matter-js:`].concat(Array.prototype.slice.call(arguments)))},n.warnOnce=function(){var e=Array.prototype.slice.call(arguments).join(` `);n._warnedOnce[e]||(n.warn(e),n._warnedOnce[e]=!0)},n.deprecated=function(e,t,r){e[t]=n.chain(function(){n.warnOnce(`šŸ”… deprecated šŸ”…`,r)},e[t])},n.nextId=function(){return n._nextId++},n.indexOf=function(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0;ne.max.x&&(e.max.x=i.x),i.xe.max.y&&(e.max.y=i.y),i.y0?e.max.x+=n.x:e.min.x+=n.x,n.y>0?e.max.y+=n.y:e.min.y+=n.y)},n.contains=function(e,t){return t.x>=e.min.x&&t.x<=e.max.x&&t.y>=e.min.y&&t.y<=e.max.y},n.overlaps=function(e,t){return e.min.x<=t.max.x&&e.max.x>=t.min.x&&e.max.y>=t.min.y&&e.min.y<=t.max.y},n.translate=function(e,t){e.min.x+=t.x,e.max.x+=t.x,e.min.y+=t.y,e.max.y+=t.y},n.shift=function(e,t){var n=e.max.x-e.min.x,r=e.max.y-e.min.y;e.min.x=t.x,e.max.x=t.x+n,e.min.y=t.y,e.max.y=t.y+r}})()}),(function(e,t){var n={};e.exports=n,(function(){n.create=function(e,t){return{x:e||0,y:t||0}},n.clone=function(e){return{x:e.x,y:e.y}},n.magnitude=function(e){return Math.sqrt(e.x*e.x+e.y*e.y)},n.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y},n.rotate=function(e,t,n){var r=Math.cos(t),i=Math.sin(t);n||={};var a=e.x*r-e.y*i;return n.y=e.x*i+e.y*r,n.x=a,n},n.rotateAbout=function(e,t,n,r){var i=Math.cos(t),a=Math.sin(t);r||={};var o=n.x+((e.x-n.x)*i-(e.y-n.y)*a);return r.y=n.y+((e.x-n.x)*a+(e.y-n.y)*i),r.x=o,r},n.normalise=function(e){var t=n.magnitude(e);return t===0?{x:0,y:0}:{x:e.x/t,y:e.y/t}},n.dot=function(e,t){return e.x*t.x+e.y*t.y},n.cross=function(e,t){return e.x*t.y-e.y*t.x},n.cross3=function(e,t,n){return(t.x-e.x)*(n.y-e.y)-(t.y-e.y)*(n.x-e.x)},n.add=function(e,t,n){return n||={},n.x=e.x+t.x,n.y=e.y+t.y,n},n.sub=function(e,t,n){return n||={},n.x=e.x-t.x,n.y=e.y-t.y,n},n.mult=function(e,t){return{x:e.x*t,y:e.y*t}},n.div=function(e,t){return{x:e.x/t,y:e.y/t}},n.perp=function(e,t){return t=t===!0?-1:1,{x:t*-e.y,y:t*e.x}},n.neg=function(e){return{x:-e.x,y:-e.y}},n.angle=function(e,t){return Math.atan2(t.y-e.y,t.x-e.x)},n._temp=[n.create(),n.create(),n.create(),n.create(),n.create(),n.create()]})()}),(function(e,t,n){var r={};e.exports=r;var i=n(2),a=n(0);(function(){r.create=function(e,t){for(var n=[],r=0;r0)return!1;a=o}return!0},r.scale=function(e,t,n,a){if(t===1&&n===1)return e;a||=r.centre(e);for(var o,s,c=0;c=0?c-1:e.length-1],u=e[c],d=e[(c+1)%e.length],f=t[c0&&(t|=2),t===3)return!1;return t!==0||null},r.hull=function(e){var t=[],n=[],r,a;for(e=e.slice(0),e.sort(function(e,t){var n=e.x-t.x;return n===0?e.y-t.y:n}),a=0;a=2&&i.cross3(n[n.length-2],n[n.length-1],r)<=0;)n.pop();n.push(r)}for(a=e.length-1;a>=0;--a){for(r=e[a];t.length>=2&&i.cross3(t[t.length-2],t[t.length-1],r)<=0;)t.pop();t.push(r)}return t.pop(),n.pop(),t.concat(n)}})()}),(function(e,t,n){var r={};e.exports=r;var i=n(3),a=n(2),o=n(7),s=n(0),c=n(1),l=n(11);(function(){r._timeCorrection=!0,r._inertiaScale=4,r._nextCollidingGroupId=1,r._nextNonCollidingGroupId=-1,r._nextCategory=1,r._baseDelta=1e3/60,r.create=function(t){var n={id:s.nextId(),type:`body`,label:`Body`,parts:[],plugin:{},angle:0,vertices:i.fromPath(`L 0 0 L 40 0 L 40 40 L 0 40`),position:{x:0,y:0},force:{x:0,y:0},torque:0,positionImpulse:{x:0,y:0},constraintImpulse:{x:0,y:0,angle:0},totalContacts:0,speed:0,angularSpeed:0,velocity:{x:0,y:0},angularVelocity:0,isSensor:!1,isStatic:!1,isSleeping:!1,motion:0,sleepThreshold:60,density:.001,restitution:0,friction:.1,frictionStatic:.5,frictionAir:.01,collisionFilter:{category:1,mask:4294967295,group:0},slop:.05,timeScale:1,render:{visible:!0,opacity:1,strokeStyle:null,fillStyle:null,lineWidth:null,sprite:{xScale:1,yScale:1,xOffset:0,yOffset:0}},events:null,bounds:null,chamfer:null,circleRadius:0,positionPrev:null,anglePrev:0,parent:null,axes:null,area:0,mass:0,inertia:0,deltaTime:1e3/60,_original:null},r=s.extend(n,t);return e(r,t),r},r.nextGroup=function(e){return e?r._nextNonCollidingGroupId--:r._nextCollidingGroupId++},r.nextCategory=function(){return r._nextCategory<<=1,r._nextCategory};var e=function(e,t){t||={},r.set(e,{bounds:e.bounds||c.create(e.vertices),positionPrev:e.positionPrev||a.clone(e.position),anglePrev:e.anglePrev||e.angle,vertices:e.vertices,parts:e.parts||[e],isStatic:e.isStatic,isSleeping:e.isSleeping,parent:e.parent||e}),i.rotate(e.vertices,e.angle,e.position),l.rotate(e.axes,e.angle),c.update(e.bounds,e.vertices,e.velocity),r.set(e,{axes:t.axes||e.axes,area:t.area||e.area,mass:t.mass||e.mass,inertia:t.inertia||e.inertia});var n=e.isStatic?`#14151f`:s.choose([`#f19648`,`#f5d259`,`#f55a3c`,`#063e7b`,`#ececd1`]),o=e.isStatic?`#555`:`#ccc`,u=e.isStatic&&e.render.fillStyle===null?1:0;e.render.fillStyle=e.render.fillStyle||n,e.render.strokeStyle=e.render.strokeStyle||o,e.render.lineWidth=e.render.lineWidth||u,e.render.sprite.xOffset+=-(e.bounds.min.x-e.position.x)/(e.bounds.max.x-e.bounds.min.x),e.render.sprite.yOffset+=-(e.bounds.min.y-e.position.y)/(e.bounds.max.y-e.bounds.min.y)};r.set=function(e,t,n){for(var i in typeof t==`string`&&(i=t,t={},t[i]=n),t)if(Object.prototype.hasOwnProperty.call(t,i))switch(n=t[i],i){case`isStatic`:r.setStatic(e,n);break;case`isSleeping`:o.set(e,n);break;case`mass`:r.setMass(e,n);break;case`density`:r.setDensity(e,n);break;case`inertia`:r.setInertia(e,n);break;case`vertices`:r.setVertices(e,n);break;case`position`:r.setPosition(e,n);break;case`angle`:r.setAngle(e,n);break;case`velocity`:r.setVelocity(e,n);break;case`angularVelocity`:r.setAngularVelocity(e,n);break;case`speed`:r.setSpeed(e,n);break;case`angularSpeed`:r.setAngularSpeed(e,n);break;case`parts`:r.setParts(e,n);break;case`centre`:r.setCentre(e,n);break;default:e[i]=n}},r.setStatic=function(e,t){for(var n=0;n0&&a.rotateAbout(s.position,r,e.position,s.position)}},r.setVelocity=function(e,t){var n=e.deltaTime/r._baseDelta;e.positionPrev.x=e.position.x-t.x*n,e.positionPrev.y=e.position.y-t.y*n,e.velocity.x=(e.position.x-e.positionPrev.x)/n,e.velocity.y=(e.position.y-e.positionPrev.y)/n,e.speed=a.magnitude(e.velocity)},r.getVelocity=function(e){var t=r._baseDelta/e.deltaTime;return{x:(e.position.x-e.positionPrev.x)*t,y:(e.position.y-e.positionPrev.y)*t}},r.getSpeed=function(e){return a.magnitude(r.getVelocity(e))},r.setSpeed=function(e,t){r.setVelocity(e,a.mult(a.normalise(r.getVelocity(e)),t))},r.setAngularVelocity=function(e,t){var n=e.deltaTime/r._baseDelta;e.anglePrev=e.angle-t*n,e.angularVelocity=(e.angle-e.anglePrev)/n,e.angularSpeed=Math.abs(e.angularVelocity)},r.getAngularVelocity=function(e){return(e.angle-e.anglePrev)*r._baseDelta/e.deltaTime},r.getAngularSpeed=function(e){return Math.abs(r.getAngularVelocity(e))},r.setAngularSpeed=function(e,t){r.setAngularVelocity(e,s.sign(r.getAngularVelocity(e))*t)},r.translate=function(e,t,n){r.setPosition(e,a.add(e.position,t),n)},r.rotate=function(e,t,n,i){if(!n)r.setAngle(e,e.angle+t,i);else{var a=Math.cos(t),o=Math.sin(t),s=e.position.x-n.x,c=e.position.y-n.y;r.setPosition(e,{x:n.x+(s*a-c*o),y:n.y+(s*o+c*a)},i),r.setAngle(e,e.angle+t,i)}},r.scale=function(e,t,n,a){var o=0,s=0;a||=e.position;for(var u=0;u0&&(o+=d.area,s+=d.inertia),d.position.x=a.x+(d.position.x-a.x)*t,d.position.y=a.y+(d.position.y-a.y)*n,c.update(d.bounds,d.vertices,e.velocity)}e.parts.length>1&&(e.area=o,e.isStatic||(r.setMass(e,e.density*o),r.setInertia(e,s))),e.circleRadius&&(t===n?e.circleRadius*=t:e.circleRadius=null)},r.update=function(e,t){t=(t===void 0?1e3/60:t)*e.timeScale;var n=t*t,o=r._timeCorrection?t/(e.deltaTime||t):1,u=1-e.frictionAir*(t/s._baseDelta),d=(e.position.x-e.positionPrev.x)*o,f=(e.position.y-e.positionPrev.y)*o;e.velocity.x=d*u+e.force.x/e.mass*n,e.velocity.y=f*u+e.force.y/e.mass*n,e.positionPrev.x=e.position.x,e.positionPrev.y=e.position.y,e.position.x+=e.velocity.x,e.position.y+=e.velocity.y,e.deltaTime=t,e.angularVelocity=(e.angle-e.anglePrev)*u*o+e.torque/e.inertia*n,e.anglePrev=e.angle,e.angle+=e.angularVelocity;for(var p=0;p0&&(m.position.x+=e.velocity.x,m.position.y+=e.velocity.y),e.angularVelocity!==0&&(i.rotate(m.vertices,e.angularVelocity,e.position),l.rotate(m.axes,e.angularVelocity),p>0&&a.rotateAbout(m.position,e.angularVelocity,e.position,m.position)),c.update(m.bounds,m.vertices,e.velocity)}},r.updateVelocities=function(e){var t=r._baseDelta/e.deltaTime,n=e.velocity;n.x=(e.position.x-e.positionPrev.x)*t,n.y=(e.position.y-e.positionPrev.y)*t,e.speed=Math.sqrt(n.x*n.x+n.y*n.y),e.angularVelocity=(e.angle-e.anglePrev)*t,e.angularSpeed=Math.abs(e.angularVelocity)},r.applyForce=function(e,t,n){var r={x:t.x-e.position.x,y:t.y-e.position.y};e.force.x+=n.x,e.force.y+=n.y,e.torque+=r.x*n.y-r.y*n.x},r._totalProperties=function(e){for(var t={mass:0,area:0,inertia:0,centre:{x:0,y:0}},n=e.parts.length===1?0:1;n0){n||={},r=t.split(` `);for(var l=0;l0&&c.motion=c.sleepThreshold/n&&r.set(c,!0)):c.sleepCounter>0&&--c.sleepCounter}},r.afterCollisions=function(e){for(var t=r._motionSleepThreshold,n=0;nt&&r.set(c,!1)}}}},r.set=function(e,t){var n=e.isSleeping;t?(e.isSleeping=!0,e.sleepCounter=e.sleepThreshold,e.positionImpulse.x=0,e.positionImpulse.y=0,e.positionPrev.x=e.position.x,e.positionPrev.y=e.position.y,e.anglePrev=e.angle,e.speed=0,e.angularSpeed=0,e.motion=0,n||a.trigger(e,`sleepStart`)):(e.isSleeping=!1,e.sleepCounter=0,n&&a.trigger(e,`sleepEnd`))}})()}),(function(e,t,n){var r={};e.exports=r;var i=n(3),a=n(9);(function(){var e=[],t={overlap:0,axis:null},n={overlap:0,axis:null};r.create=function(e,t){return{pair:null,collided:!1,bodyA:e,bodyB:t,parentA:e.parent,parentB:t.parent,depth:0,normal:{x:0,y:0},tangent:{x:0,y:0},penetration:{x:0,y:0},supports:[null,null],supportCount:0}},r.collides=function(e,o,s){if(r._overlapAxes(t,e.vertices,o.vertices,e.axes),t.overlap<=0||(r._overlapAxes(n,o.vertices,e.vertices,o.axes),n.overlap<=0))return null;var c=s&&s.table[a.id(e,o)],l;c?l=c.collision:(l=r.create(e,o),l.collided=!0,l.bodyA=e.id=0&&(_=-_,v=-v),d.x=_,d.y=v,f.x=-v,f.y=_,p.x=_*h,p.y=v*h,l.depth=h;var x=r._findSupports(e,o,d,1),S=0;if(i.contains(e.vertices,x[0])&&(m[S++]=x[0]),i.contains(e.vertices,x[1])&&(m[S++]=x[1]),S<2){var C=r._findSupports(o,e,d,-1);i.contains(o.vertices,C[0])&&(m[S++]=C[0]),S<2&&i.contains(o.vertices,C[1])&&(m[S++]=C[1])}return S===0&&(m[S++]=x[0]),l.supportCount=S,l},r._overlapAxes=function(e,t,n,r){var i=t.length,a=n.length,o=t[0].x,s=t[0].y,c=n[0].x,l=n[0].y,u=r.length,d=Number.MAX_VALUE,f=0,p,m,h,g,_,v;for(_=0;_w?w=g:gT?T=g:gs.frictionStatic?o.frictionStatic:s.frictionStatic,e.restitution=o.restitution>s.restitution?o.restitution:s.restitution,e.slop=o.slop>s.slop?o.slop:s.slop,e.contactCount=i,t.pair=e;var c=r[0],l=a[0],u=r[1],d=a[1];(d.vertex===c||l.vertex===u)&&(a[1]=l,a[0]=l=d,d=a[1]),l.vertex=c,d.vertex=u},r.setActive=function(e,t,n){t?(e.isActive=!0,e.timeUpdated=n):(e.isActive=!1,e.contactCount=0)},r.id=function(e,t){return e.id0?1:.7),t.damping=t.damping||0,t.angularStiffness=t.angularStiffness||0,t.angleA=t.bodyA?t.bodyA.angle:t.angleA,t.angleB=t.bodyB?t.bodyB.angle:t.angleB,t.plugin={};var o={visible:!0,lineWidth:2,strokeStyle:`#ffffff`,type:`line`,anchors:!0};return t.length===0&&t.stiffness>.1?(o.type=`pin`,o.anchors=!1):t.stiffness<.9&&(o.type=`spring`),t.render=l.extend(o,t.render),t},r.preSolveAll=function(e){for(var t=0;t=1||e.length===0?e.stiffness*t:e.stiffness*t*t,m=e.damping*t,h=a.mult(u,f*p),g=(n?n.inverseMass:0)+(i?i.inverseMass:0),_=g+((n?n.inverseInertia:0)+(i?i.inverseInertia:0)),v,y,b,x,S;if(m>0){var C=a.create();b=a.div(u,d),S=a.sub(i&&a.sub(i.position,i.positionPrev)||C,n&&a.sub(n.position,n.positionPrev)||C),x=a.dot(b,S)}n&&!n.isStatic&&(y=n.inverseMass/g,n.constraintImpulse.x-=h.x*y,n.constraintImpulse.y-=h.y*y,n.position.x-=h.x*y,n.position.y-=h.y*y,m>0&&(n.positionPrev.x-=m*b.x*x*y,n.positionPrev.y-=m*b.y*x*y),v=a.cross(o,h)/_*r._torqueDampen*n.inverseInertia*(1-e.angularStiffness),n.constraintImpulse.angle-=v,n.angle-=v),i&&!i.isStatic&&(y=i.inverseMass/g,i.constraintImpulse.x+=h.x*y,i.constraintImpulse.y+=h.y*y,i.position.x+=h.x*y,i.position.y+=h.y*y,m>0&&(i.positionPrev.x+=m*b.x*x*y,i.positionPrev.y+=m*b.y*x*y),v=a.cross(s,h)/_*r._torqueDampen*i.inverseInertia*(1-e.angularStiffness),i.constraintImpulse.angle+=v,i.angle+=v)}}},r.postSolveAll=function(e){for(var t=0;t0&&(d.position.x+=l.x,d.position.y+=l.y),l.angle!==0&&(i.rotate(d.vertices,l.angle,n.position),c.rotate(d.axes,l.angle),u>0&&a.rotateAbout(d.position,l.angle,n.position,d.position)),s.update(d.bounds,d.vertices,n.velocity)}l.angle*=r._warming,l.x*=r._warming,l.y*=r._warming}}},r.pointAWorld=function(e){return{x:(e.bodyA?e.bodyA.position.x:0)+(e.pointA?e.pointA.x:0),y:(e.bodyA?e.bodyA.position.y:0)+(e.pointA?e.pointA.y:0)}},r.pointBWorld=function(e){return{x:(e.bodyB?e.bodyB.position.x:0)+(e.pointB?e.pointB.x:0),y:(e.bodyB?e.bodyB.position.y:0)+(e.pointB?e.pointB.y:0)}},r.currentLength=function(e){var t=(e.bodyA?e.bodyA.position.x:0)+(e.pointA?e.pointA.x:0),n=(e.bodyA?e.bodyA.position.y:0)+(e.pointA?e.pointA.y:0),r=(e.bodyB?e.bodyB.position.x:0)+(e.pointB?e.pointB.x:0),i=(e.bodyB?e.bodyB.position.y:0)+(e.pointB?e.pointB.y:0),a=t-r,o=n-i;return Math.sqrt(a*a+o*o)}})()}),(function(e,t,n){var r={};e.exports=r;var i=n(2),a=n(0);(function(){r.fromVertices=function(e){for(var t={},n=0;n=1&&a.warn(`Bodies.trapezoid: slope parameter must be < 1.`),s*=.5;var l=(1-s*2)*n,u=n*s,d=u+l,f=d+u,p=s<.5?`L 0 0 L `+u+` `+-r+` L `+d+` `+-r+` L `+f+` 0`:`L 0 0 L `+d+` `+-r+` L `+f+` 0`,m={label:`Trapezoid Body`,position:{x:e,y:t},vertices:i.fromPath(p)};if(c.chamfer){var h=c.chamfer;m.vertices=i.chamfer(m.vertices,h.radius,h.quality,h.qualityMin,h.qualityMax),delete c.chamfer}return o.create(a.extend({},m,c))},r.circle=function(e,t,n,i,o){i||={};var s={label:`Circle Body`,circleRadius:n};o||=25;var c=Math.ceil(Math.max(10,Math.min(o,n)));return c%2==1&&(c+=1),r.polygon(e,t,c,n,a.extend({},s,i))},r.polygon=function(e,t,n,s,c){if(c||={},n<3)return r.circle(e,t,s,c);for(var l=2*Math.PI/n,u=``,d=l*.5,f=0;f0&&i.area(D)1?(h=o.create(a.extend({parts:g.slice(0)},r)),o.setPosition(h,{x:e,y:t}),h):g[0]}})()}),(function(e,t,n){var r={};e.exports=r;var i=n(0),a=n(8);(function(){r.create=function(e){return i.extend({bodies:[],collisions:[],pairs:null},e)},r.setBodies=function(e,t){e.bodies=t.slice(0)},r.clear=function(e){e.bodies=[],e.collisions=[]},r.collisions=function(e){var t=e.pairs,n=e.bodies,i=n.length,o=r.canCollide,s=a.collides,c=e.collisions,l=0,u,d;for(n.sort(r._compareBoundsX),u=0;um)break;if(!(hx.max.y)&&!(_&&(b.isStatic||b.isSleeping))&&o(f.collisionFilter,b.collisionFilter)){var S=b.parts.length;if(y&&S===1){var C=s(f,b,t);C&&(c[l++]=C)}else for(var w=+(v>1),T=+(S>1),E=w;Ex.max.x||p.max.xx.max.y)){var C=s(D,k,t);C&&(c[l++]=C)}}}}}return c.length!==l&&(c.length=l),c},r.canCollide=function(e,t){return e.group===t.group&&e.group!==0?e.group>0:(e.mask&t.category)!==0&&(t.mask&e.category)!==0},r._compareBoundsX=function(e,t){return e.bounds.min.x-t.bounds.min.x}})()}),(function(e,t,n){var r={};e.exports=r;var i=n(0);(function(){r.create=function(e){var t={};return e||i.log(`Mouse.create: element was undefined, defaulting to document.body`,`warn`),t.element=e||document.body,t.absolute={x:0,y:0},t.position={x:0,y:0},t.mousedownPosition={x:0,y:0},t.mouseupPosition={x:0,y:0},t.offset={x:0,y:0},t.scale={x:1,y:1},t.wheelDelta=0,t.button=-1,t.pixelRatio=parseInt(t.element.getAttribute(`data-pixel-ratio`),10)||1,t.sourceEvents={mousemove:null,mousedown:null,mouseup:null,mousewheel:null},t.mousemove=function(e){var n=r._getRelativeMousePosition(e,t.element,t.pixelRatio);e.changedTouches&&(t.button=0,e.preventDefault()),t.absolute.x=n.x,t.absolute.y=n.y,t.position.x=t.absolute.x*t.scale.x+t.offset.x,t.position.y=t.absolute.y*t.scale.y+t.offset.y,t.sourceEvents.mousemove=e},t.mousedown=function(e){var n=r._getRelativeMousePosition(e,t.element,t.pixelRatio);e.changedTouches?(t.button=0,e.preventDefault()):t.button=e.button,t.absolute.x=n.x,t.absolute.y=n.y,t.position.x=t.absolute.x*t.scale.x+t.offset.x,t.position.y=t.absolute.y*t.scale.y+t.offset.y,t.mousedownPosition.x=t.position.x,t.mousedownPosition.y=t.position.y,t.sourceEvents.mousedown=e},t.mouseup=function(e){var n=r._getRelativeMousePosition(e,t.element,t.pixelRatio);e.changedTouches&&e.preventDefault(),t.button=-1,t.absolute.x=n.x,t.absolute.y=n.y,t.position.x=t.absolute.x*t.scale.x+t.offset.x,t.position.y=t.absolute.y*t.scale.y+t.offset.y,t.mouseupPosition.x=t.position.x,t.mouseupPosition.y=t.position.y,t.sourceEvents.mouseup=e},t.mousewheel=function(e){t.wheelDelta=Math.max(-1,Math.min(1,e.wheelDelta||-e.detail)),e.preventDefault(),t.sourceEvents.mousewheel=e},r.setElement(t,t.element),t},r.setElement=function(e,t){e.element=t,t.addEventListener(`mousemove`,e.mousemove,{passive:!0}),t.addEventListener(`mousedown`,e.mousedown,{passive:!0}),t.addEventListener(`mouseup`,e.mouseup,{passive:!0}),t.addEventListener(`wheel`,e.mousewheel,{passive:!1}),t.addEventListener(`touchmove`,e.mousemove,{passive:!1}),t.addEventListener(`touchstart`,e.mousedown,{passive:!1}),t.addEventListener(`touchend`,e.mouseup,{passive:!1})},r.clearSourceEvents=function(e){e.sourceEvents.mousemove=null,e.sourceEvents.mousedown=null,e.sourceEvents.mouseup=null,e.sourceEvents.mousewheel=null,e.wheelDelta=0},r.setOffset=function(e,t){e.offset.x=t.x,e.offset.y=t.y,e.position.x=e.absolute.x*e.scale.x+e.offset.x,e.position.y=e.absolute.y*e.scale.y+e.offset.y},r.setScale=function(e,t){e.scale.x=t.x,e.scale.y=t.y,e.position.x=e.absolute.x*e.scale.x+e.offset.x,e.position.y=e.absolute.y*e.scale.y+e.offset.y},r._getRelativeMousePosition=function(e,t,n){var r=t.getBoundingClientRect(),i=document.documentElement||document.body.parentNode||document.body,a=window.pageXOffset===void 0?i.scrollLeft:window.pageXOffset,o=window.pageYOffset===void 0?i.scrollTop:window.pageYOffset,s=e.changedTouches,c,l;return s?(c=s[0].pageX-r.left-a,l=s[0].pageY-r.top-o):(c=e.pageX-r.left-a,l=e.pageY-r.top-o),{x:c/(t.clientWidth/(t.width||t.clientWidth)*n),y:l/(t.clientHeight/(t.height||t.clientHeight)*n)}}})()}),(function(e,t,n){var r={};e.exports=r;var i=n(0);(function(){r._registry={},r.register=function(e){if(r.isPlugin(e)||i.warn(`Plugin.register:`,r.toString(e),`does not implement all required fields.`),e.name in r._registry){var t=r._registry[e.name],n=r.versionParse(e.version).number,a=r.versionParse(t.version).number;n>a?(i.warn(`Plugin.register:`,r.toString(t),`was upgraded to`,r.toString(e)),r._registry[e.name]=e):n-1},r.isFor=function(e,t){var n=e.for&&r.dependencyParse(e.for);return!e.for||t.name===n.name&&r.versionSatisfies(t.version,n.range)},r.use=function(e,t){if(e.uses=(e.uses||[]).concat(t||[]),e.uses.length===0){i.warn(`Plugin.use:`,r.toString(e),`does not specify any dependencies to install.`);return}for(var n=r.dependencies(e),a=i.topologicalSort(n),o=[],s=0;s0&&i.info(o.join(` `))},r.dependencies=function(e,t){var n=r.dependencyParse(e),a=n.name;if(t||={},!(a in t)){e=r.resolve(e)||e,t[a]=i.map(e.uses||[],function(t){r.isPlugin(t)&&r.register(t);var a=r.dependencyParse(t),o=r.resolve(t);return o&&!r.versionSatisfies(o.version,a.range)?(i.warn(`Plugin.dependencies:`,r.toString(o),`does not satisfy`,r.toString(a),`used by`,r.toString(n)+`.`),o._warned=!0,e._warned=!0):o||(i.warn(`Plugin.dependencies:`,r.toString(t),`used by`,r.toString(n),`could not be resolved.`),e._warned=!0),a.name});for(var o=0;o=|>)?\s*((\d+)\.(\d+)\.(\d+))(-[0-9A-Za-z-+]+)?$/;t.test(e)||i.warn(`Plugin.versionParse:`,e,`is not a valid version or range.`);var n=t.exec(e),r=Number(n[4]),a=Number(n[5]),o=Number(n[6]);return{isRange:!!(n[1]||n[2]),version:n[3],range:e,operator:n[1]||n[2]||``,major:r,minor:a,patch:o,parts:[r,a,o],prerelease:n[7],number:r*1e8+a*1e4+o}},r.versionSatisfies=function(e,t){t||=`*`;var n=r.versionParse(t),i=r.versionParse(e);if(n.isRange){if(n.operator===`*`||e===`*`)return!0;if(n.operator===`>`)return i.number>n.number;if(n.operator===`>=`)return i.number>=n.number;if(n.operator===`~`)return i.major===n.major&&i.minor===n.minor&&i.patch>=n.patch;if(n.operator===`^`)return n.major>0?i.major===n.major&&i.number>=n.number:n.minor>0?i.minor===n.minor&&i.patch>=n.patch:i.patch===n.patch}return e===t||e===`*`}})()}),(function(e,t){var n={};e.exports=n,(function(){n.create=function(e){return{vertex:e,normalImpulse:0,tangentImpulse:0}}})()}),(function(e,t,n){var r={};e.exports=r;var i=n(7),a=n(18),o=n(13),s=n(19),c=n(5),l=n(6),u=n(10),d=n(0),f=n(4);(function(){r._deltaMax=1e3/60,r.create=function(e){e||={};var t=d.extend({positionIterations:6,velocityIterations:4,constraintIterations:2,enableSleeping:!1,events:[],plugin:{},gravity:{x:0,y:1,scale:.001},timing:{timestamp:0,timeScale:1,lastDelta:0,lastElapsed:0,lastUpdatesPerFrame:0}},e);return t.world=e.world||l.create({label:`World`}),t.pairs=e.pairs||s.create(),t.detector=e.detector||o.create(),t.detector.pairs=t.pairs,t.grid={buckets:[]},t.world.gravity=t.gravity,t.broadphase=t.grid,t.metrics={},t},r.update=function(e,t){var n=d.now(),f=e.world,p=e.detector,m=e.pairs,h=e.timing,g=h.timestamp,_;t>r._deltaMax&&d.warnOnce(`Matter.Engine.update: delta argument is recommended to be less than or equal to`,r._deltaMax.toFixed(3),`ms.`),t=t===void 0?d._baseDelta:t,t*=h.timeScale,h.timestamp+=t,h.lastDelta=t;var v={timestamp:h.timestamp,delta:t};c.trigger(e,`beforeUpdate`,v);var y=l.allBodies(f),b=l.allConstraints(f);for(f.isModified&&(o.setBodies(p,y),l.setModified(f,!1,!1,!0)),e.enableSleeping&&i.update(y,t),r._bodiesApplyGravity(y,e.gravity),t>0&&r._bodiesUpdate(y,t),c.trigger(e,`beforeSolve`,v),u.preSolveAll(y),_=0;_0&&c.trigger(e,`collisionStart`,{pairs:m.collisionStart,timestamp:h.timestamp,delta:t});var S=d.clamp(20/e.positionIterations,0,1);for(a.preSolvePosition(m.list),_=0;_0&&c.trigger(e,`collisionActive`,{pairs:m.collisionActive,timestamp:h.timestamp,delta:t}),m.collisionEnd.length>0&&c.trigger(e,`collisionEnd`,{pairs:m.collisionEnd,timestamp:h.timestamp,delta:t}),r._bodiesClearForces(y),c.trigger(e,`afterUpdate`,v),e.timing.lastElapsed=d.now()-n,e},r.merge=function(e,t){if(d.extend(e,t),t.world){e.world=t.world,r.clear(e);for(var n=l.allBodies(e.world),a=0;afe?(f=L>0?L:-L,d=h.friction*(L>0?1:-1)*i,d<-f?d=-f:d>f&&(d=f)):(d=L,f=l);var pe=ne*b-re*y,me=ie*b-ae*y,he=D/(C+_.inverseInertia*pe*pe+v.inverseInertia*me*me),ge=(1+h.restitution)*le*he;if(d*=he,le0&&(M.normalImpulse=0),ge=M.normalImpulse-_e}if(L<-s||L>s)M.tangentImpulse=0;else{var ve=M.tangentImpulse;M.tangentImpulse+=d,M.tangentImpulse<-f&&(M.tangentImpulse=-f),M.tangentImpulse>f&&(M.tangentImpulse=f),d=M.tangentImpulse-ve}var ye=y*ge+x*d,be=b*ge+S*d;_.isStatic||_.isSleeping||(_.positionPrev.x+=ye*_.inverseMass,_.positionPrev.y+=be*_.inverseMass,_.anglePrev+=(ne*be-re*ye)*_.inverseInertia),v.isStatic||v.isSleeping||(v.positionPrev.x-=ye*v.inverseMass,v.positionPrev.y-=be*v.inverseMass,v.anglePrev-=(ie*be-ae*ye)*v.inverseInertia)}}}}})()}),(function(e,t,n){var r={};e.exports=r;var i=n(9),a=n(0);(function(){r.create=function(e){return a.extend({table:{},list:[],collisionStart:[],collisionActive:[],collisionEnd:[]},e)},r.update=function(e,t,n){var r=i.update,a=i.create,o=i.setActive,s=e.table,c=e.list,l=c.length,u=l,d=e.collisionStart,f=e.collisionEnd,p=e.collisionActive,m=t.length,h=0,g=0,_=0,v,y,b;for(b=0;b=n?c[u++]=y:(o(y,!1,n),y.collision.bodyA.sleepCounter>0&&y.collision.bodyB.sleepCounter>0?c[u++]=y:(f[g++]=y,delete s[y.id]));c.length!==u&&(c.length=u),d.length!==h&&(d.length=h),f.length!==g&&(f.length=g),p.length!==_&&(p.length=_)},r.clear=function(e){return e.table={},e.list.length=0,e.collisionStart.length=0,e.collisionActive.length=0,e.collisionEnd.length=0,e}})()}),(function(e,t,n){var r=e.exports=n(21);r.Axes=n(11),r.Bodies=n(12),r.Body=n(4),r.Bounds=n(1),r.Collision=n(8),r.Common=n(0),r.Composite=n(6),r.Composites=n(22),r.Constraint=n(10),r.Contact=n(16),r.Detector=n(13),r.Engine=n(17),r.Events=n(5),r.Grid=n(23),r.Mouse=n(14),r.MouseConstraint=n(24),r.Pair=n(9),r.Pairs=n(19),r.Plugin=n(15),r.Query=n(25),r.Render=n(26),r.Resolver=n(18),r.Runner=n(27),r.SAT=n(28),r.Sleeping=n(7),r.Svg=n(29),r.Vector=n(2),r.Vertices=n(3),r.World=n(30),r.Engine.run=r.Runner.run,r.Common.deprecated(r.Engine,`run`,`Engine.run āž¤ use Matter.Runner.run(engine) instead`)}),(function(e,t,n){var r={};e.exports=r;var i=n(15),a=n(0);(function(){r.name=`matter-js`,r.version=`0.20.0`,r.uses=[],r.used=[],r.use=function(){i.use(r,Array.prototype.slice.call(arguments))},r.before=function(e,t){return e=e.replace(/^Matter./,``),a.chainPathBefore(r,e,t)},r.after=function(e,t){return e=e.replace(/^Matter./,``),a.chainPathAfter(r,e,t)}})()}),(function(e,t,n){var r={};e.exports=r;var i=n(6),a=n(10),o=n(0),s=n(4),c=n(12),l=o.deprecated;(function(){r.stack=function(e,t,n,r,a,o,c){for(var l=i.create({label:`Stack`}),u=e,d=t,f,p=0,m=0;mh&&(h=v),s.translate(_,{x:y*.5,y:v*.5}),u=_.bounds.max.x+a,i.addBody(l,_),f=_,p+=1}else u+=a}d+=h+o,u=e}return l},r.chain=function(e,t,n,r,s,c){for(var l=e.bodies,u=1;u0)for(u=0;u0&&(p=c[u-1+(l-1)*t],i.addConstraint(e,a.create(o.extend({bodyA:p,bodyB:f},s)))),r&&uf)){l=f-l;var m=l,h=n-1-l;if(!(oh))return d===1&&s.translate(u,{x:(o+(n%2==1?1:-1))*p,y:0}),c(e+(u?o*p:0)+o*a,r,o,l,u,d)}})},r.newtonsCradle=function(e,t,n,r,o){for(var s=i.create({label:`Newtons Cradle`}),l=0;lc.bounds.max.x||p.bounds.max.yc.bounds.max.y))){var m=r._getRegion(e,p);if(!p.region||m.id!==p.region.id||i){(!p.region||i)&&(p.region=m);var h=r._regionUnion(m,p.region);for(o=h.startCol;o<=h.endCol;o++)for(s=h.startRow;s<=h.endRow;s++){d=r._getBucketId(o,s),u=l[d];var g=o>=m.startCol&&o<=m.endCol&&s>=m.startRow&&s<=m.endRow,_=o>=p.region.startCol&&o<=p.region.endCol&&s>=p.region.startRow&&s<=p.region.endRow;!g&&_&&_&&u&&r._bucketRemoveBody(e,u,p),(p.region===m||g&&!_||i)&&(u||=r._createBucket(l,d),r._bucketAddBody(e,u,p))}p.region=m,f=!0}}}f&&(e.pairsList=r._createActivePairsList(e))},o(r,`update`,`Grid.update āž¤ replaced by Matter.Detector`),r.clear=function(e){e.buckets={},e.pairs={},e.pairsList=[]},o(r,`clear`,`Grid.clear āž¤ replaced by Matter.Detector`),r._regionUnion=function(e,t){var n=Math.min(e.startCol,t.startCol),i=Math.max(e.endCol,t.endCol),a=Math.min(e.startRow,t.startRow),o=Math.max(e.endRow,t.endRow);return r._createRegion(n,i,a,o)},r._getRegion=function(e,t){var n=t.bounds,i=Math.floor(n.min.x/e.bucketWidth),a=Math.floor(n.max.x/e.bucketWidth),o=Math.floor(n.min.y/e.bucketHeight),s=Math.floor(n.max.y/e.bucketHeight);return r._createRegion(i,a,o,s)},r._createRegion=function(e,t,n,r){return{id:e+`,`+t+`,`+n+`,`+r,startCol:e,endCol:t,startRow:n,endRow:r}},r._getBucketId=function(e,t){return`C`+e+`R`+t},r._createBucket=function(e,t){return e[t]=[]},r._bucketAddBody=function(e,t,n){var r=e.pairs,a=i.id,o=t.length,s;for(s=0;s0?o.push(t):delete n[r[s]];return o}})()}),(function(e,t,n){var r={};e.exports=r;var i=n(3),a=n(7),o=n(14),s=n(5),c=n(13),l=n(10),u=n(6),d=n(0),f=n(1);(function(){r.create=function(e,t){var n=(e?e.mouse:null)||(t?t.mouse:null);n||(e&&e.render&&e.render.canvas?n=o.create(e.render.canvas):t&&t.element?n=o.create(t.element):(n=o.create(),d.warn(`MouseConstraint.create: options.mouse was undefined, options.element was undefined, may not function as expected`)));var i=l.create({label:`Mouse Constraint`,pointA:n.position,pointB:{x:0,y:0},length:.01,stiffness:.1,angularStiffness:1,render:{strokeStyle:`#90EE90`,lineWidth:3}}),a={type:`mouseConstraint`,mouse:n,element:null,body:null,constraint:i,collisionFilter:{category:1,mask:4294967295,group:0}},c=d.extend(a,t);return s.on(e,`beforeUpdate`,function(){var t=u.allBodies(e.world);r.update(c,t),r._triggerEvents(c)}),c},r.update=function(e,t){var n=e.mouse,r=e.constraint,o=e.body;if(n.button===0){if(r.bodyB)a.set(r.bodyB,!1),r.pointA=n.position;else for(var l=0;l1);ui.max.x&&(i.max.x=l.x),c.yi.max.y&&(i.max.y=l.y))}var d=i.max.x-i.min.x+2*n.x,f=i.max.y-i.min.y+2*n.y,p=e.canvas.height,m=e.canvas.width/p,h=d/f,g=1,_=1;h>m?_=h/m:g=m/h,e.options.hasBounds=!0,e.bounds.min.x=i.min.x,e.bounds.max.x=i.min.x+d*g,e.bounds.min.y=i.min.y,e.bounds.max.y=i.min.y+f*_,r&&(e.bounds.min.x+=d*.5-d*g*.5,e.bounds.max.x+=d*.5-d*g*.5,e.bounds.min.y+=f*.5-f*_*.5,e.bounds.max.y+=f*.5-f*_*.5),e.bounds.min.x-=n.x,e.bounds.max.x-=n.x,e.bounds.min.y-=n.y,e.bounds.max.y-=n.y,e.mouse&&(u.setScale(e.mouse,{x:(e.bounds.max.x-e.bounds.min.x)/e.canvas.width,y:(e.bounds.max.y-e.bounds.min.y)/e.canvas.height}),u.setOffset(e.mouse,e.bounds.min))},r.startViewTransform=function(e){var t=e.bounds.max.x-e.bounds.min.x,n=e.bounds.max.y-e.bounds.min.y,r=t/e.options.width,i=n/e.options.height;e.context.setTransform(e.options.pixelRatio/r,0,0,e.options.pixelRatio/i,0,0),e.context.translate(-e.bounds.min.x,-e.bounds.min.y)},r.endViewTransform=function(e){e.context.setTransform(e.options.pixelRatio,0,0,e.options.pixelRatio,0,0)},r.world=function(e,t){var n=a.now(),i=e.engine,d=i.world,f=e.canvas,p=e.context,m=e.options,g=e.timing,_=o.allBodies(d),v=o.allConstraints(d),y=m.wireframes?m.wireframeBackground:m.background,b=[],x=[],S,C={timestamp:i.timing.timestamp};if(c.trigger(e,`beforeRender`,C),e.currentBackground!==y&&h(e,y),p.globalCompositeOperation=`source-in`,p.fillStyle=`transparent`,p.fillRect(0,0,f.width,f.height),p.globalCompositeOperation=`source-over`,m.hasBounds){for(S=0;S<_.length;S++){var w=_[S];s.overlaps(w.bounds,e.bounds)&&b.push(w)}for(S=0;S1);l1);l1);o1);s1);s1);s1);a0)){var u=a.contacts[0].vertex.x,d=a.contacts[0].vertex.y;a.contactCount===2&&(u=(a.contacts[0].vertex.x+a.contacts[1].vertex.x)/2,d=(a.contacts[0].vertex.y+a.contacts[1].vertex.y)/2),o.bodyB===o.supports[0].body||o.bodyA.isStatic===!0?r.moveTo(u-o.normal.x*8,d-o.normal.y*8):r.moveTo(u+o.normal.x*8,d+o.normal.y*8),r.lineTo(u,d)}i.wireframes?r.strokeStyle=`rgba(255,165,0,0.7)`:r.strokeStyle=`orange`,r.lineWidth=1,r.stroke()},r.separations=function(e,t,n){var r=n,i=e.options,a,o,s,c,l;for(r.beginPath(),l=0;lMath.max(r._maxFrameDelta,t.maxFrameTime))&&(d=t.frameDelta||r._frameDeltaFallback),t.frameDeltaSmoothing){t.frameDeltaHistory.push(d),t.frameDeltaHistory=t.frameDeltaHistory.slice(-t.frameDeltaHistorySize);var f=t.frameDeltaHistory.slice(0).sort();d=e(t.frameDeltaHistory.slice(f.length*r._smoothingLowerBound,f.length*r._smoothingUpperBound))||d}t.frameDeltaSnapping&&(d=1e3/Math.round(1e3/d)),t.frameDelta=d,t.timeLastTick=s,t.timeBuffer+=t.frameDelta,t.timeBuffer=o.clamp(t.timeBuffer,0,t.frameDelta+l*r._timeBufferMargin),t.lastUpdatesDeferred=0;var p=t.maxUpdates||Math.ceil(t.maxFrameTime/l),m={timestamp:n.timing.timestamp};i.trigger(t,`beforeTick`,m),i.trigger(t,`tick`,m);for(var h=o.now();l>0&&t.timeBuffer>=l*r._timeBufferMargin;){i.trigger(t,`beforeUpdate`,m),a.update(n,l),i.trigger(t,`afterUpdate`,m),t.timeBuffer-=l,u+=1;var g=o.now()-c,_=o.now()-h,v=g+r._elapsedNextEstimate*_/u;if(u>=p||v>t.maxFrameTime){t.lastUpdatesDeferred=Math.round(Math.max(0,t.timeBuffer/l-r._timeBufferMargin));break}}n.timing.lastUpdatesPerFrame=u,i.trigger(t,`afterTick`,m),t.frameDeltaHistory.length>=100&&(t.lastUpdatesDeferred&&Math.round(t.frameDelta/l)>p?o.warnOnce(`Matter.Runner: runner reached runner.maxUpdates, see docs.`):t.lastUpdatesDeferred&&o.warnOnce(`Matter.Runner: runner reached runner.maxFrameTime, see docs.`),t.isFixed!==void 0&&o.warnOnce(`Matter.Runner: runner.isFixed is now redundant, see docs.`),(t.deltaMin||t.deltaMax)&&o.warnOnce(`Matter.Runner: runner.deltaMin and runner.deltaMax were removed, see docs.`),t.fps!==0&&o.warnOnce(`Matter.Runner: runner.fps was replaced by runner.delta, see docs.`))},r.stop=function(e){r._cancelNextFrame(e)},r._onNextFrame=function(e,t){if(typeof window<`u`&&window.requestAnimationFrame)e.frameRequestId=window.requestAnimationFrame(t);else throw Error(`Matter.Runner: missing required global window.requestAnimationFrame.`);return e.frameRequestId},r._cancelNextFrame=function(e){if(typeof window<`u`&&window.cancelAnimationFrame)window.cancelAnimationFrame(e.frameRequestId);else throw Error(`Matter.Runner: missing required global window.cancelAnimationFrame.`)};var e=function(e){for(var t=0,n=e.length,r=0;r1;if(!f||e!=f.x||t!=f.y){f&&r?(h=f.x,g=f.y):(h=0,g=0);var i={x:h+e,y:g+t};(r||!f)&&(f=i),m.push(i),v=h+e,y=g+t}},x=function(e){var t=e.pathSegTypeAsLetter.toUpperCase();if(t!==`Z`){switch(t){case`M`:case`L`:case`T`:case`C`:case`S`:case`Q`:v=e.x,y=e.y;break;case`H`:v=e.x;break;case`V`:y=e.y;break}b(v,y,e.pathSegType)}};for(r._svgPathToAbsolute(e),o=e.getTotalLength(),l=[],n=0;n{t.exports=function(e,t,n){var i={},a,o;if(typeof t==`string`&&(t=r(t)),Array.isArray(t)){var s={};for(o=0;o_o}),_o,vo=o((()=>{_o=[`xx-small`,`x-small`,`small`,`medium`,`large`,`x-large`,`xx-large`,`larger`,`smaller`]})),yo=s(((e,t)=>{var n=(vo(),d(go).default);t.exports={isSize:function(e){return/^[\d\.]/.test(e)||e.indexOf(`/`)!==-1||n.indexOf(e)!==-1}}})),bo=c({default:()=>xo}),xo,So=o((()=>{xo=[`inherit`,`initial`,`unset`]})),Co=c({default:()=>wo}),wo,To=o((()=>{wo=[`caption`,`icon`,`menu`,`message-box`,`small-caption`,`status-bar`]})),Eo=c({default:()=>Do}),Do,Oo=o((()=>{Do=[`normal`,`bold`,`bolder`,`lighter`,`100`,`200`,`300`,`400`,`500`,`600`,`700`,`800`,`900`]})),ko=c({default:()=>Ao}),Ao,jo=o((()=>{Ao=[`normal`,`italic`,`oblique`]})),Mo=c({default:()=>No}),No,Po=o((()=>{No=[`normal`,`condensed`,`semi-condensed`,`extra-condensed`,`ultra-condensed`,`expanded`,`semi-expanded`,`extra-expanded`,`ultra-expanded`]})),Fo=s(((e,t)=>{var n=ho(),r=yo().isSize,i=m((So(),d(bo).default)),a=m((To(),d(Co).default)),o=m((Oo(),d(Eo).default)),s=m((jo(),d(ko).default)),c=m((Po(),d(Mo).default)),l={normal:1,"small-caps":1},u={serif:1,"sans-serif":1,monospace:1,cursive:1,fantasy:1,"system-ui":1},f={style:`normal`,variant:`normal`,weight:`normal`,stretch:`normal`,size:`1rem`,lineHeight:`normal`,family:`serif`};t.exports=function(e){if(e=n(e,{style:`style fontstyle fontStyle font-style slope distinction`,variant:`variant font-variant fontVariant fontvariant var capitalization`,weight:`weight w font-weight fontWeight fontweight`,stretch:`stretch font-stretch fontStretch fontstretch width`,size:`size s font-size fontSize fontsize height em emSize`,lineHeight:`lh line-height lineHeight lineheight leading`,family:`font family fontFamily font-family fontfamily type typeface face`,system:`system reserved default global`}),e.system)return e.system&&p(e.system,a),e.system;if(p(e.style,s),p(e.variant,l),p(e.weight,o),p(e.stretch,c),e.size??=f.size,typeof e.size==`number`&&(e.size+=`px`),!r)throw Error("Bad size value `"+e.size+"`");e.family||=f.family,Array.isArray(e.family)&&(e.family.length||(e.family=[f.family]),e.family=e.family.map(function(e){return u[e]?e:`"`+e+`"`}).join(`, `));var t=[];return t.push(e.style),e.variant!==e.style&&t.push(e.variant),e.weight!==e.variant&&e.weight!==e.style&&t.push(e.weight),e.stretch!==e.weight&&e.stretch!==e.variant&&e.stretch!==e.style&&t.push(e.stretch),t.push(e.size+(e.lineHeight==null||e.lineHeight===`normal`||e.lineHeight+``==`1`?``:`/`+e.lineHeight)),t.push(e.family),t.filter(Boolean).join(` `)};function p(e,t){if(e&&!t[e]&&!i[e])throw Error("Unknown keyword `"+e+"`");return e}function m(e){for(var t={},n=0;nt[0]-i[0]/2&&(s=i[0]/2,c+=i[1]);return n}function Bo(e,t){return Te()?(Ee(e,t),!0):!1}var Vo=typeof window<`u`&&typeof document<`u`;typeof WorkerGlobalScope<`u`&&globalThis instanceof WorkerGlobalScope;var Ho=e=>e!=null,Uo=Object.prototype.toString,Wo=e=>Uo.call(e)===`[object Object]`;function Go(e,t=!1,n=`Timeout`){return new Promise((r,i)=>{t?setTimeout(i,e,n):setTimeout(r,e)})}function Ko(e){return Array.isArray(e)?e:[e]}function qo(e){return e||Zi()}function Jo(e,t=!0,n){qo(n)?er(e,n):t?e():mn(e)}function Yo(e,t=!1){function n(n,{flush:r=`sync`,deep:i=!1,timeout:a,throwOnTimeout:o}={}){let s=null,c=[new Promise(a=>{s=Mn(e,e=>{n(e)!==t&&(s?s():mn(()=>s?.()),a(e))},{flush:r,deep:i,immediate:!0})})];return a!=null&&c.push(Go(a,o).then(()=>G(e)).finally(()=>s?.())),Promise.race(c)}function r(r,i){if(!W(r))return n(e=>e===r,i);let{flush:a=`sync`,deep:o=!1,timeout:s,throwOnTimeout:c}=i??{},l=null,u=[new Promise(n=>{l=Mn([e,r],([e,r])=>{t!==(e===r)&&(l?l():mn(()=>l?.()),n(e))},{flush:a,deep:o,immediate:!0})})];return s!=null&&u.push(Go(s,c).then(()=>G(e)).finally(()=>(l?.(),G(e)))),Promise.race(u)}function i(e){return n(e=>!!e,e)}function a(e){return r(null,e)}function o(e){return r(void 0,e)}function s(e){return n(Number.isNaN,e)}function c(e,t){return n(t=>{let n=Array.from(t);return n.includes(e)||n.includes(G(e))},t)}function l(e){return u(1,e)}function u(e=1,t){let r=-1;return n(()=>(r+=1,r>=e),t)}return Array.isArray(G(e))?{toMatch:n,toContains:c,changed:l,changedTimes:u,get not(){return Yo(e,!t)}}:{toMatch:n,toBe:r,toBeTruthy:i,toBeNull:a,toBeNaN:s,toBeUndefined:o,changed:l,changedTimes:u,get not(){return Yo(e,!t)}}}function Xo(e){return Yo(e)}function Zo(e,t,n){return Mn(e,t,{...n,immediate:!0})}var Qo=Vo?window:void 0;Vo&&window.document,Vo&&window.navigator,Vo&&window.location;function $o(e){let t=G(e);return t?.$el??t}function es(...e){let t=(e,t,n,r)=>(e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)),n=ma(()=>{let t=Ko(G(e[0])).filter(e=>e!=null);return t.every(e=>typeof e!=`string`)?t:void 0});return Zo(()=>[n.value?.map(e=>$o(e))??[Qo].filter(e=>e!=null),Ko(G(n.value?e[1]:e[0])),Ko(qt(n.value?e[2]:e[1])),G(n.value?e[3]:e[2])],([e,n,r,i],a,o)=>{if(!e?.length||!n?.length||!r?.length)return;let s=Wo(i)?{...i}:i,c=e.flatMap(e=>n.flatMap(n=>r.map(r=>t(e,n,r,s))));o(()=>{c.forEach(e=>e())})},{flush:`post`})}function ts(){let e=Wt(!1),t=Zi();return t&&er(()=>{e.value=!0},t),e}function ns(e){let t=ts();return ma(()=>(t.value,!!e()))}function rs(e,t,n={}){let{window:r=Qo,...i}=n,a,o=ns(()=>r&&`MutationObserver`in r),s=()=>{a&&=(a.disconnect(),void 0)},c=Mn(ma(()=>{let t=Ko(G(e)).map($o).filter(Ho);return new Set(t)}),e=>{s(),o.value&&e.size&&(a=new MutationObserver(t),e.forEach(e=>a.observe(e,i)))},{immediate:!0,flush:`post`}),l=()=>a?.takeRecords(),u=()=>{c(),s()};return Bo(u),{isSupported:o,stop:u,takeRecords:l}}function is(e,t,n={}){let{window:r=Qo,...i}=n,a,o=ns(()=>r&&`ResizeObserver`in r),s=()=>{a&&=(a.disconnect(),void 0)},c=Mn(ma(()=>{let t=G(e);return Array.isArray(t)?t.map(e=>$o(e)):[$o(t)]}),e=>{if(s(),o.value&&r){a=new ResizeObserver(t);for(let t of e)t&&a.observe(t,i)}},{immediate:!0,flush:`post`}),l=()=>{s(),c()};return Bo(l),{isSupported:o,stop:l}}function as(e,t={}){let{reset:n=!0,windowResize:r=!0,windowScroll:i=!0,immediate:a=!0,updateTiming:o=`sync`}=t,s=Wt(0),c=Wt(0),l=Wt(0),u=Wt(0),d=Wt(0),f=Wt(0),p=Wt(0),m=Wt(0);function h(){let t=$o(e);if(!t){n&&(s.value=0,c.value=0,l.value=0,u.value=0,d.value=0,f.value=0,p.value=0,m.value=0);return}let r=t.getBoundingClientRect();s.value=r.height,c.value=r.bottom,l.value=r.left,u.value=r.right,d.value=r.top,f.value=r.width,p.value=r.x,m.value=r.y}function g(){o===`sync`?h():o===`next-frame`&&requestAnimationFrame(()=>h())}return is(e,g),Mn(()=>$o(e),e=>!e&&g()),rs(e,g,{attributeFilter:[`style`,`class`]}),i&&es(`scroll`,g,{capture:!0,passive:!0}),r&&es(`resize`,g,{passive:!0}),Jo(()=>{a&&g()}),{height:s,bottom:c,left:l,right:u,top:d,width:f,x:p,y:m,update:g}}var $={ivory:`#FEFDFC`,"ivory-shade":`#ECEBEA`,sand:`#F7F4EF`,"sand-shade":`#B9B7B3`,charcoal:`#181818`,"charcoal-shade":`#2A2A2A`,forest:`#053F0A`,"forest-shade":`#F6FFF6`,clay:`#FA3812`,"clay-shade":`#FFEFEC`,sea:`#1253FA`,"sea-shade":`#F0F8FF`,"grey-700":`#565656`,"grey-600":`#747474`,"grey-500":`#A3A3A3`,"grey-400":`#D1D1D1`},os={light:{bg:$.ivory,fg:$.charcoal,layout:$.sand,grey:$[`grey-600`],shade:$[`ivory-shade`],contrast:$.clay},dark:{bg:$.charcoal,fg:$.ivory,layout:$.sand,grey:$[`grey-500`],shade:$[`charcoal-shade`],contrast:$.clay}},ss={class:`endless-journal-physics`},cs={__name:`Physics`,props:{input:String},setup(e){let t=e,n=Ut(),r=Ut(),{width:i,height:a}=as(n),o=`!?"',-.:;0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ`.split(``),s=Ut({}),c=e=>{let t=r.value.getContext(`2d`);for(let n=0;n<8;n++)for(let i=0;i<8;i++){let a=n*8+i;if(o[a]){let c=o[a];t.clearRect(0,0,64,64),t.drawImage(e,i*64,n*64,64,64,0,0,64,64),s.value[c]=r.value.toDataURL()}}},l=Ut(),u=Ut(),d=Ut(),f=Ut();er(async()=>{let e=await zo({font:{size:`60px`,family:`monospace`,weight:`700`},step:[64,64],chars:o,color:os.light.fg});c(e);let t=Io.default.Render;d.value=Io.default.Engine,l.value=Io.default.Bodies,u.value=Io.default.Composite,f.value=d.value.create();let r=t.create({element:n.value,engine:f.value,options:{width:i.value,height:a.value,wireframes:!1,background:`transparent`}}),s=l.value.rectangle(i.value/2,a.value+50,i.value,100,{isStatic:!0}),m=l.value.rectangle(-50,a.value/2,100,a.value,{isStatic:!0}),h=l.value.rectangle(i.value,a.value/2,1,a.value,{isStatic:!0});u.value.add(f.value.world,[s,m,h]),t.run(r),p()});let p=()=>{u.value.allBodies(f.value.world).forEach(e=>{e.speed<.05&&!e.isStatic&&Io.default.Body.setStatic(e,!0)}),d.value.update(f.value,1e3/60),requestAnimationFrame(p)};return Mn(()=>t.input,(e,t)=>{if(e?.length>t?.length||e.length&&!t){let t=e.substr(e.length-1).toUpperCase();if(s.value[t]){let e=l.value.rectangle(i.value/2,a.value*.2,32,32,{render:{sprite:{texture:s.value[t],xScale:.5,yScale:.5}}});Io.default.Body.setVelocity(e,{x:Math.random()*40-20,y:30}),u.value.add(f.value.world,[e])}}}),(e,t)=>(Ei(),ji(`div`,ss,[Ii(`canvas`,{width:`64`,height:`64`,ref_key:`canvas`,ref:r,hidden:``},null,512),Ii(`div`,{class:`container`,ref_key:`container`,ref:n},null,512)]))}},ls={class:`endless-journal`},us={__name:`EndlessJournal`,setup(e){let t=Ut(),n=Ut();er(async()=>{await Xo(n).toBeTruthy(),await new Promise(e=>setTimeout(e,50)),n.value.focus()});let r=async()=>{await new Promise(e=>setTimeout(e,50)),n.value.focus()};return(e,i)=>(Ei(),ji(`div`,ls,[En(Ii(`input`,{"onUpdate:modelValue":i[0]||=e=>t.value=e,class:`input`,type:`text`,ref_key:`inputEl`,ref:n,onBlur:r},null,544),[[oo,t.value]]),i[1]||=Hi(`
Intuition
Chaos
Concept
`,4),Li(cs,{input:t.value},null,8,[`input`])]))}},ds={class:`drop theme-light`};uo({__name:`App`,setup(e){return(e,t)=>(Ei(),ji(`main`,ds,[Li(us)]))}}).mount(`#app`); \ No newline at end of file diff --git a/app/public/drops/endless-journal/assets/instrument-serif-italic-Cnq-0GR0.woff2 b/app/public/drops/endless-journal/assets/instrument-serif-italic-Cnq-0GR0.woff2 new file mode 100644 index 0000000..aef8321 Binary files /dev/null and b/app/public/drops/endless-journal/assets/instrument-serif-italic-Cnq-0GR0.woff2 differ diff --git a/app/public/drops/endless-journal/assets/instrument-serif-italic-CpREEq8K.woff b/app/public/drops/endless-journal/assets/instrument-serif-italic-CpREEq8K.woff new file mode 100644 index 0000000..4dc470f Binary files /dev/null and b/app/public/drops/endless-journal/assets/instrument-serif-italic-CpREEq8K.woff differ diff --git a/app/public/drops/endless-journal/assets/iosevka-charon-mono-bold-1nweGISG.woff2 b/app/public/drops/endless-journal/assets/iosevka-charon-mono-bold-1nweGISG.woff2 new file mode 100644 index 0000000..eb7f237 Binary files /dev/null and b/app/public/drops/endless-journal/assets/iosevka-charon-mono-bold-1nweGISG.woff2 differ diff --git a/app/public/drops/endless-journal/assets/iosevka-charon-mono-bold-DN5oOlAE.woff b/app/public/drops/endless-journal/assets/iosevka-charon-mono-bold-DN5oOlAE.woff new file mode 100644 index 0000000..f2fe83d Binary files /dev/null and b/app/public/drops/endless-journal/assets/iosevka-charon-mono-bold-DN5oOlAE.woff differ diff --git a/app/public/drops/endless-journal/favicon.png b/app/public/drops/endless-journal/favicon.png new file mode 100644 index 0000000..792433d Binary files /dev/null and b/app/public/drops/endless-journal/favicon.png differ diff --git a/app/public/drops/endless-journal/index.html b/app/public/drops/endless-journal/index.html new file mode 100644 index 0000000..c144df3 --- /dev/null +++ b/app/public/drops/endless-journal/index.html @@ -0,0 +1,14 @@ + + + + + + + Endless Journal + + + + +
+ + diff --git a/app/public/drops/endless-journal/meta.json b/app/public/drops/endless-journal/meta.json new file mode 100644 index 0000000..d2fa288 --- /dev/null +++ b/app/public/drops/endless-journal/meta.json @@ -0,0 +1,124 @@ +{ + "name": "endless-journal", + "title": "Endless Journal", + "date": "2026-07-20", + "tags": [ + "Process" + ], + "description": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "type": "text", + "text": " Creativity is following the thread of intuition and seeing where it goes. It's about being in the moment and not looking back." + } + ] + }, + { + "type": "paragraph", + "content": [ + { + "type": "text", + "text": "The process of destruction is just as important as the process of creation. Destruction frees the mind and allows it to always stay on the move, constantly reaching new territory." + } + ] + }, + { + "type": "paragraph", + "content": [ + { + "type": "text", + "text": "As you type, the letters will begin to pile up as a mass of objects. These letters no longer signify the words you wrote but progress in the creative process. There are three fill lines to signify this progress:" + } + ] + }, + { + "type": "bulletList", + "content": [ + { + "type": "listItem", + "content": [ + { + "type": "paragraph", + "content": [ + { + "type": "text", + "marks": [ + { + "type": "bold" + } + ], + "text": "Intuition: " + }, + { + "type": "text", + "text": "This first stage is about finding that intuitive thread and simply holding onto it to see where it takes you." + } + ] + } + ] + }, + { + "type": "listItem", + "content": [ + { + "type": "paragraph", + "content": [ + { + "type": "text", + "marks": [ + { + "type": "bold" + } + ], + "text": "Chaos: " + }, + { + "type": "text", + "text": "The second stage is about throwing out every idea your mind relates to that intuitive thread. Nothing is organized yet and that's a good thing. It's ok if you don't feel like you are getting anywhere yet." + } + ] + } + ] + }, + { + "type": "listItem", + "content": [ + { + "type": "paragraph", + "content": [ + { + "type": "text", + "marks": [ + { + "type": "bold" + } + ], + "text": "Concept: " + }, + { + "type": "text", + "text": "By this stage you will hopefully start to take the mass of chaotic ideas and form them into a single core concept. This is the concept you will use to build your creation." + } + ] + } + ] + } + ] + }, + { + "type": "paragraph", + "content": [ + { + "type": "text", + "text": "If a concept still has not shown itself, that's ok, reload and repeat." + } + ] + } + ] + }, + "published": true +} \ No newline at end of file diff --git a/app/public/drops/flowmap/meta.json b/app/public/drops/flowmap/meta.json index 324f202..511bb21 100644 --- a/app/public/drops/flowmap/meta.json +++ b/app/public/drops/flowmap/meta.json @@ -42,5 +42,6 @@ "date": "2026-07-16", "tags": [ "visualization" - ] -} \ No newline at end of file + ], + "published": true +} diff --git a/app/public/manifest.json b/app/public/manifest.json index ccfec55..3d10630 100644 --- a/app/public/manifest.json +++ b/app/public/manifest.json @@ -1,4 +1,4 @@ [ - "flowmap", - "testing" + "endless-journal", + "flowmap" ] \ No newline at end of file diff --git a/app/src/components/Panel.vue b/app/src/components/Panel.vue index 945c101..167ef91 100644 --- a/app/src/components/Panel.vue +++ b/app/src/components/Panel.vue @@ -27,9 +27,10 @@ diff --git a/bin/buildDrops.js b/bin/buildDrops.js new file mode 100644 index 0000000..28c6bad --- /dev/null +++ b/bin/buildDrops.js @@ -0,0 +1,97 @@ +import fs from 'fs' +import path from 'path' +import { fileURLToPath } from 'url' +import { spawn } from 'child_process' + +const __dirname = path.dirname(fileURLToPath(import.meta.url)) +const dropsDir = path.join(__dirname, '../drops') + +/** + * Get all published drops by reading their meta.json files + */ +const getPublishedDrops = () => { + const drops = fs + .readdirSync(dropsDir, { withFileTypes: true }) + .filter((dirent) => dirent.isDirectory()) + .map((dirent) => dirent.name) + + const publishedDrops = drops.filter((dropName) => { + const metaPath = path.join(dropsDir, dropName, 'public/meta.json') + + if (!fs.existsSync(metaPath)) { + console.warn( + `Warning: meta.json not found for drop "${dropName}", skipping...`, + ) + return false + } + + try { + const meta = JSON.parse(fs.readFileSync(metaPath, 'utf-8')) + return meta.published === true + } catch (err) { + console.error( + `Error reading meta.json for drop "${dropName}":`, + err.message, + ) + return false + } + }) + + return publishedDrops +} + +/** + * Build a single drop + */ +const buildDrop = (dropName) => { + return new Promise((resolve, reject) => { + console.log(`Building drop: ${dropName}`) + + const child = spawn('npm', ['run', 'build', '-w', `drops/${dropName}`], { + stdio: 'inherit', + shell: true, + }) + + child.on('close', (code) => { + if (code === 0) { + console.log(`āœ“ Successfully built: ${dropName}`) + resolve() + } else { + reject(new Error(`Failed to build ${dropName} (exit code ${code})`)) + } + }) + + child.on('error', reject) + }) +} + +/** + * Build all published drops + */ +const buildAllPublishedDrops = async () => { + const publishedDrops = getPublishedDrops() + + if (publishedDrops.length === 0) { + console.log('No published drops found.') + return + } + + console.log(`Found ${publishedDrops.length} published drop(s):`, publishedDrops) + console.log('Starting builds...\n') + + for (const dropName of publishedDrops) { + try { + await buildDrop(dropName) + } catch (err) { + console.error(`Error building ${dropName}:`, err.message) + process.exit(1) + } + } + + console.log('\nāœ“ All published drops built successfully!') +} + +buildAllPublishedDrops().catch((err) => { + console.error('Build failed:', err) + process.exit(1) +}) diff --git a/bin/buildManifest.js b/bin/buildManifest.js index d13c8ef..6d89577 100644 --- a/bin/buildManifest.js +++ b/bin/buildManifest.js @@ -4,14 +4,90 @@ import { fileURLToPath } from 'url' const __dirname = path.dirname(fileURLToPath(import.meta.url)) -const dropsDir = path.join(__dirname, '../app/public/drops') +const dropsSourceDir = path.join(__dirname, '../drops') +const dropsPublicDir = path.join(__dirname, '../app/public/drops') const outputPath = path.join(__dirname, '../app/public/manifest.json') -const dropNames = fs - .readdirSync(dropsDir, { withFileTypes: true }) - .filter((dirent) => dirent.isDirectory()) - .map((dirent) => dirent.name) +/** + * Get all published drops by reading their meta.json files from the source drops directory + */ +const getPublishedDrops = () => { + const drops = fs + .readdirSync(dropsSourceDir, { withFileTypes: true }) + .filter((dirent) => dirent.isDirectory()) + .map((dirent) => dirent.name) -fs.writeFileSync(outputPath, JSON.stringify(dropNames, null, 2)) + const publishedDrops = drops.filter((dropName) => { + const metaPath = path.join(dropsSourceDir, dropName, 'public/meta.json') -console.log(`Manifest created with ${dropNames.length} drops:`, dropNames) + if (!fs.existsSync(metaPath)) { + console.warn( + `Warning: meta.json not found for drop "${dropName}", skipping...`, + ) + return false + } + + try { + const meta = JSON.parse(fs.readFileSync(metaPath, 'utf-8')) + return meta.published === true + } catch (err) { + console.error( + `Error reading meta.json for drop "${dropName}":`, + err.message, + ) + return false + } + }) + + return publishedDrops +} + +const publishedDrops = getPublishedDrops() + +// Only include drops that are both published and actually built (exist in public/drops) +const builtPublishedDrops = publishedDrops.filter((dropName) => { + const dropDir = path.join(dropsPublicDir, dropName) + return fs.existsSync(dropDir) +}) + +/** + * Sort drops by date (newest first) + */ +const sortDropsByDate = (dropNames) => { + const dropsWithDates = dropNames.map((dropName) => { + const metaPath = path.join(dropsPublicDir, dropName, 'meta.json') + let date = null + + if (fs.existsSync(metaPath)) { + try { + const meta = JSON.parse(fs.readFileSync(metaPath, 'utf-8')) + date = meta.date || null + } catch (err) { + console.warn( + `Warning: Could not read date from built meta.json for "${dropName}"`, + ) + } + } + + return { name: dropName, date } + }) + + // Sort by date descending (newest first), put drops without dates at the end + dropsWithDates.sort((a, b) => { + if (!a.date && !b.date) return 0 + if (!a.date) return 1 + if (!b.date) return -1 + return new Date(b.date) - new Date(a.date) + }) + + return dropsWithDates.map((drop) => drop.name) +} + +const sortedDrops = sortDropsByDate(builtPublishedDrops) + +fs.writeFileSync(outputPath, JSON.stringify(sortedDrops, null, 2)) + +console.log( + `Manifest created with ${sortedDrops.length} published drop(s) (sorted by date):`, + sortedDrops, +) diff --git a/bin/createDrop.js b/bin/createDrop.js index 42aff94..7933b60 100644 --- a/bin/createDrop.js +++ b/bin/createDrop.js @@ -167,6 +167,8 @@ rl.question('Enter drop name: ', async (name) => { console.log('Running npm install...') await runCommand('npm', ['install']) console.log('npm install complete!') + + await runCommand('npm', ['run dev:drops', kebabName]) } catch (err) { console.error('Error:', err.message) process.exit(1) diff --git a/cms/src/components/MetaEditor.vue b/cms/src/components/MetaEditor.vue index c914876..1ed66bf 100644 --- a/cms/src/components/MetaEditor.vue +++ b/cms/src/components/MetaEditor.vue @@ -38,6 +38,22 @@ /> + +
+ +
+
@@ -124,6 +140,7 @@ const meta = ref({ tags: [], links: [], notes: '', + published: false, }) const loading = ref(true) @@ -310,6 +327,48 @@ onMounted(async () => { } } + .checkbox-group { + .checkbox-label { + display: flex; + align-items: flex-start; + gap: 0.75rem; + cursor: pointer; + padding: 1rem; + border: 1px solid var(--theme-grey); + border-radius: rs(10px); + transition: border-color 0.2s; + + &:hover { + border-color: var(--sea); + } + .checkbox { + width: 20px; + height: 20px; + margin-top: 0.125rem; + cursor: pointer; + accent-color: var(--sea); + + &:checked { + background: var(--theme-contrast); + } + } + .checkbox-text { + display: flex; + flex-direction: column; + gap: 0.25rem; + flex: 1; + + strong { + display: block; + } + + small { + color: var(--theme-grey); + } + } + } + } + .form-actions { display: flex; gap: 1rem; diff --git a/drops/endless-journal/index.html b/drops/endless-journal/index.html new file mode 100644 index 0000000..81d2acc --- /dev/null +++ b/drops/endless-journal/index.html @@ -0,0 +1,13 @@ + + + + + + + Endless Journal + + +
+ + + diff --git a/drops/endless-journal/package.json b/drops/endless-journal/package.json new file mode 100644 index 0000000..9693373 --- /dev/null +++ b/drops/endless-journal/package.json @@ -0,0 +1,23 @@ +{ + "name": "endless-journal", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview" + }, + "dependencies": { + "@vueuse/core": "^14.3.0", + "css-font": "^1.2.0", + "matter-js": "^0.20.0", + "sass": "^1.98.0", + "sass-embedded": "^1.98.0", + "vue": "^3.5.30" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^6.0.5", + "vite": "^8.0.0" + } +} diff --git a/drops/endless-journal/public/favicon.png b/drops/endless-journal/public/favicon.png new file mode 100644 index 0000000..792433d Binary files /dev/null and b/drops/endless-journal/public/favicon.png differ diff --git a/drops/endless-journal/public/meta.json b/drops/endless-journal/public/meta.json new file mode 100644 index 0000000..d2fa288 --- /dev/null +++ b/drops/endless-journal/public/meta.json @@ -0,0 +1,124 @@ +{ + "name": "endless-journal", + "title": "Endless Journal", + "date": "2026-07-20", + "tags": [ + "Process" + ], + "description": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "type": "text", + "text": " Creativity is following the thread of intuition and seeing where it goes. It's about being in the moment and not looking back." + } + ] + }, + { + "type": "paragraph", + "content": [ + { + "type": "text", + "text": "The process of destruction is just as important as the process of creation. Destruction frees the mind and allows it to always stay on the move, constantly reaching new territory." + } + ] + }, + { + "type": "paragraph", + "content": [ + { + "type": "text", + "text": "As you type, the letters will begin to pile up as a mass of objects. These letters no longer signify the words you wrote but progress in the creative process. There are three fill lines to signify this progress:" + } + ] + }, + { + "type": "bulletList", + "content": [ + { + "type": "listItem", + "content": [ + { + "type": "paragraph", + "content": [ + { + "type": "text", + "marks": [ + { + "type": "bold" + } + ], + "text": "Intuition: " + }, + { + "type": "text", + "text": "This first stage is about finding that intuitive thread and simply holding onto it to see where it takes you." + } + ] + } + ] + }, + { + "type": "listItem", + "content": [ + { + "type": "paragraph", + "content": [ + { + "type": "text", + "marks": [ + { + "type": "bold" + } + ], + "text": "Chaos: " + }, + { + "type": "text", + "text": "The second stage is about throwing out every idea your mind relates to that intuitive thread. Nothing is organized yet and that's a good thing. It's ok if you don't feel like you are getting anywhere yet." + } + ] + } + ] + }, + { + "type": "listItem", + "content": [ + { + "type": "paragraph", + "content": [ + { + "type": "text", + "marks": [ + { + "type": "bold" + } + ], + "text": "Concept: " + }, + { + "type": "text", + "text": "By this stage you will hopefully start to take the mass of chaotic ideas and form them into a single core concept. This is the concept you will use to build your creation." + } + ] + } + ] + } + ] + }, + { + "type": "paragraph", + "content": [ + { + "type": "text", + "text": "If a concept still has not shown itself, that's ok, reload and repeat." + } + ] + } + ] + }, + "published": true +} \ No newline at end of file diff --git a/drops/endless-journal/src/App.vue b/drops/endless-journal/src/App.vue new file mode 100644 index 0000000..d42db93 --- /dev/null +++ b/drops/endless-journal/src/App.vue @@ -0,0 +1,18 @@ + + + + + diff --git a/drops/endless-journal/src/components/EndlessJournal.vue b/drops/endless-journal/src/components/EndlessJournal.vue new file mode 100644 index 0000000..7aa9807 --- /dev/null +++ b/drops/endless-journal/src/components/EndlessJournal.vue @@ -0,0 +1,120 @@ + + + + + diff --git a/drops/endless-journal/src/components/Physics.vue b/drops/endless-journal/src/components/Physics.vue new file mode 100644 index 0000000..1941dc8 --- /dev/null +++ b/drops/endless-journal/src/components/Physics.vue @@ -0,0 +1,231 @@ + + + + + diff --git a/drops/endless-journal/src/libs/fontAtlas.js b/drops/endless-journal/src/libs/fontAtlas.js new file mode 100644 index 0000000..a999edf --- /dev/null +++ b/drops/endless-journal/src/libs/fontAtlas.js @@ -0,0 +1,63 @@ +'use strict' + +import stringifyFont from 'css-font/stringify' +const defaultChars = [32, 126] + +export function fontAtlas(options) { + options = options || {} + + let shape = options.shape + ? options.shape + : options.canvas + ? [options.canvas.width, options.canvas.height] + : [512, 512] + const canvas = options.canvas || document.createElement('canvas') + let font = options.font + const step = + typeof options.step === 'number' + ? [options.step, options.step] + : options.step || [32, 32] + let chars = options.chars || defaultChars + + if (font && typeof font !== 'string') font = stringifyFont(font) + + if (!Array.isArray(chars)) { + chars = String(chars).split('') + } else if ( + chars.length === 2 && + typeof chars[0] === 'number' && + typeof chars[1] === 'number' + ) { + const newchars = [] + + for (let i = chars[0], j = 0; i <= chars[1]; i++) { + newchars[j++] = String.fromCharCode(i) + } + + chars = newchars + } + + shape = shape.slice() + canvas.width = shape[0] + canvas.height = shape[1] + + const ctx = canvas.getContext('2d') + + ctx.fillStyle = '#fff' + ctx.fillRect(0, 0, canvas.width, canvas.height) + + ctx.font = font + ctx.textAlign = 'center' + ctx.textBaseline = 'middle' + ctx.fillStyle = options.color || '#000' + + let x = step[0] / 2 + let y = step[1] / 2 + for (let i = 0; i < chars.length; i++) { + ctx.fillText(chars[i], x, y) + if ((x += step[0]) > shape[0] - step[0] / 2) + (x = step[0] / 2), (y += step[1]) + } + + return canvas +} diff --git a/drops/endless-journal/src/libs/math.js b/drops/endless-journal/src/libs/math.js new file mode 100644 index 0000000..62183bd --- /dev/null +++ b/drops/endless-journal/src/libs/math.js @@ -0,0 +1,20 @@ +export function clamp(min, input, max) { + return Math.max(min, Math.min(input, max)); +} + +export function mapRange(in_min, in_max, input, out_min, out_max) { + return ((input - in_min) * (out_max - out_min)) / (in_max - in_min) + out_min; +} + +export function lerp(start, end, amt) { + return (1 - amt) * start + amt * end; +} + +export function truncate(value, decimals) { + return parseFloat(value.toFixed(decimals)); +} + +export function wrapValue(value, lowBound, highBound) { + const range = highBound - lowBound; + return ((((value - lowBound) % range) + range) % range) + lowBound; +} diff --git a/drops/endless-journal/src/main.js b/drops/endless-journal/src/main.js new file mode 100644 index 0000000..91e76b3 --- /dev/null +++ b/drops/endless-journal/src/main.js @@ -0,0 +1,6 @@ +import '@shared/styles/shared.scss' +import './styles/main.scss' +import { createApp } from 'vue' +import App from './App.vue' + +createApp(App).mount('#app') diff --git a/drops/endless-journal/src/styles/main.scss b/drops/endless-journal/src/styles/main.scss new file mode 100644 index 0000000..7089c0f --- /dev/null +++ b/drops/endless-journal/src/styles/main.scss @@ -0,0 +1 @@ +/* Drop specific styles */ diff --git a/drops/endless-journal/vite.config.js b/drops/endless-journal/vite.config.js new file mode 100644 index 0000000..d321eba --- /dev/null +++ b/drops/endless-journal/vite.config.js @@ -0,0 +1,21 @@ +import { fileURLToPath, URL } from 'node:url' +import { defineConfig, mergeConfig } from 'vite' +import sharedConfig from '../../shared/vite.config.js' + +export default defineConfig( + mergeConfig(sharedConfig, { + resolve: { + alias: { + '@': fileURLToPath(new URL('./src', import.meta.url)), + '@shared': fileURLToPath( + new URL('../../shared', import.meta.url), + ), + }, + }, + base: '/drops/endless-journal/', + build: { + outDir: '../../app/public/drops/endless-journal', + emptyOutDir: true, + }, + }), +) diff --git a/drops/flowmap/public/meta.json b/drops/flowmap/public/meta.json index 324f202..511bb21 100644 --- a/drops/flowmap/public/meta.json +++ b/drops/flowmap/public/meta.json @@ -42,5 +42,6 @@ "date": "2026-07-16", "tags": [ "visualization" - ] -} \ No newline at end of file + ], + "published": true +} diff --git a/drops/testing/public/meta.json b/drops/testing/public/meta.json index 6f20c8e..e8e8854 100644 --- a/drops/testing/public/meta.json +++ b/drops/testing/public/meta.json @@ -39,7 +39,7 @@ } ] }, - "date": "2026-07-16", + "date": "2026-07-17", "tags": [ "tag1", "tag2", @@ -51,5 +51,6 @@ "url": "https://github.com/username/repo" } ], - "notes": "Any additional notes or thoughts about this drop" -} \ No newline at end of file + "notes": "Any additional notes or thoughts about this drop", + "published": false +} diff --git a/package-lock.json b/package-lock.json index a62b1ae..c1cb7d6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,6 +21,7 @@ "@tiptap/pm": "^3.28.0", "@tiptap/starter-kit": "^3.28.0", "@tiptap/vue-3": "^3.28.0", + "fecha": "^4.2.3", "sass": "^1.98.0", "sass-embedded": "^1.98.0", "vue": "^3.5.30", @@ -47,6 +48,21 @@ "vite": "^8.0.0" } }, + "drops/endless-journal": { + "version": "0.0.0", + "dependencies": { + "@vueuse/core": "^14.3.0", + "css-font": "^1.2.0", + "matter-js": "^0.20.0", + "sass": "^1.98.0", + "sass-embedded": "^1.98.0", + "vue": "^3.5.30" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^6.0.5", + "vite": "^8.0.0" + } + }, "drops/flowmap": { "version": "0.0.0", "dependencies": { @@ -1725,6 +1741,59 @@ "integrity": "sha512-ysOGlgTFbN2/Y6Cg3Iye8YKulHw+R2fNXHrgSmXISQdMnomY6eNDprVdW9R5xBguEqI954+S6709UyiO7B+6OQ==", "license": "MIT" }, + "node_modules/css-font": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-font/-/css-font-1.2.0.tgz", + "integrity": "sha512-V4U4Wps4dPDACJ4WpgofJ2RT5Yqwe1lEH6wlOOaIxMi0gTjdIijsc5FmxQlZ7ZZyKQkkutqqvULOp07l9c7ssA==", + "license": "MIT", + "dependencies": { + "css-font-size-keywords": "^1.0.0", + "css-font-stretch-keywords": "^1.0.1", + "css-font-style-keywords": "^1.0.1", + "css-font-weight-keywords": "^1.0.0", + "css-global-keywords": "^1.0.1", + "css-system-font-keywords": "^1.0.0", + "pick-by-alias": "^1.2.0", + "string-split-by": "^1.0.0", + "unquote": "^1.1.0" + } + }, + "node_modules/css-font-size-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-font-size-keywords/-/css-font-size-keywords-1.0.0.tgz", + "integrity": "sha512-Q+svMDbMlelgCfH/RVDKtTDaf5021O486ZThQPIpahnIjUkMUslC+WuOQSWTgGSrNCH08Y7tYNEmmy0hkfMI8Q==", + "license": "MIT" + }, + "node_modules/css-font-stretch-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/css-font-stretch-keywords/-/css-font-stretch-keywords-1.0.1.tgz", + "integrity": "sha512-KmugPO2BNqoyp9zmBIUGwt58UQSfyk1X5DbOlkb2pckDXFSAfjsD5wenb88fNrD6fvS+vu90a/tsPpb9vb0SLg==", + "license": "MIT" + }, + "node_modules/css-font-style-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/css-font-style-keywords/-/css-font-style-keywords-1.0.1.tgz", + "integrity": "sha512-0Fn0aTpcDktnR1RzaBYorIxQily85M2KXRpzmxQPgh8pxUN9Fcn00I8u9I3grNr1QXVgCl9T5Imx0ZwKU973Vg==", + "license": "MIT" + }, + "node_modules/css-font-weight-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-font-weight-keywords/-/css-font-weight-keywords-1.0.0.tgz", + "integrity": "sha512-5So8/NH+oDD+EzsnF4iaG4ZFHQ3vaViePkL1ZbZ5iC/KrsCY+WHq/lvOgrtmuOQ9pBBZ1ADGpaf+A4lj1Z9eYA==", + "license": "MIT" + }, + "node_modules/css-global-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/css-global-keywords/-/css-global-keywords-1.0.1.tgz", + "integrity": "sha512-X1xgQhkZ9n94WDwntqst5D/FKkmiU0GlJSFZSV3kLvyJ1WC5VeyoXDOuleUD+SIuH9C7W05is++0Woh0CGfKjQ==", + "license": "MIT" + }, + "node_modules/css-system-font-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-system-font-keywords/-/css-system-font-keywords-1.0.0.tgz", + "integrity": "sha512-1umTtVd/fXS25ftfjB71eASCrYhilmEsvDEI6wG/QplnmlfmVM5HkZ/ZX46DT5K3eblFPgLUHt5BRCb0YXkSFA==", + "license": "MIT" + }, "node_modules/csstype": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", @@ -1746,6 +1815,10 @@ "integrity": "sha512-m6WCKt/erDXcw+70IJXnG7M3awwQPAsZvJGX5zY7beBqpELw6RDGkYVU0W43AFxye4pDZ5i2Lbyc/NNGqwjUVQ==", "license": "Apache-2.0" }, + "node_modules/endless-journal": { + "resolved": "drops/endless-journal", + "link": true + }, "node_modules/entities": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz", @@ -1787,6 +1860,12 @@ } } }, + "node_modules/fecha": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", + "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==", + "license": "MIT" + }, "node_modules/fflate": { "version": "0.6.10", "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.6.10.tgz", @@ -2193,6 +2272,12 @@ "url": "https://github.com/sponsors/sxzz" } }, + "node_modules/matter-js": { + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/matter-js/-/matter-js-0.20.0.tgz", + "integrity": "sha512-iC9fYR7zVT3HppNnsFsp9XOoQdQN2tUyfaKg4CHLH8bN+j6GT4Gw7IH2rP0tflAebrHFw730RR3DkVSZRX8hwA==", + "license": "MIT" + }, "node_modules/mlly": { "version": "1.8.2", "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.8.2.tgz", @@ -2265,6 +2350,12 @@ "integrity": "sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g==", "license": "MIT" }, + "node_modules/parenthesis": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/parenthesis/-/parenthesis-3.1.8.tgz", + "integrity": "sha512-KF/U8tk54BgQewkJPvB4s/US3VQY68BRDpH638+7O/n58TpnwiwnOtGIOsT2/i+M78s61BBpeC83STB88d8sqw==", + "license": "MIT" + }, "node_modules/pathe": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", @@ -2277,6 +2368,12 @@ "integrity": "sha512-LjgdTytVFXeUgtHZr9WYViYSM/g8MkcTPYDlPa3cDqMirHjKiSZPYd6DoL7pK8AJQr+uWkQvCjHNdiMqsrJs+g==", "license": "MIT" }, + "node_modules/pick-by-alias": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pick-by-alias/-/pick-by-alias-1.2.0.tgz", + "integrity": "sha512-ESj2+eBxhGrcA1azgHs7lARG5+5iLakc/6nlfbpjcLl00HuuUOIuORhYXN4D1HfvMSKuVtFQjAlnwi1JHEeDIw==", + "license": "MIT" + }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", @@ -2999,6 +3096,15 @@ "integrity": "sha512-hNKz8phvYLPEcRkeG1rsGmV5ChMjKDAWU7/OJJdDErPBNChQXxCo3WZurGpnWc6gZhAzEPFad1aVgyOANH1sMw==", "license": "MIT" }, + "node_modules/string-split-by": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string-split-by/-/string-split-by-1.0.0.tgz", + "integrity": "sha512-KaJKY+hfpzNyet/emP81PJA9hTVSfxNLS9SFTWxdCnnW1/zOOwiV248+EfoX7IQFcBaOp4G5YE6xTJMF+pLg6A==", + "license": "MIT", + "dependencies": { + "parenthesis": "^3.1.5" + } + }, "node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -3188,6 +3294,12 @@ "url": "https://github.com/sponsors/sxzz" } }, + "node_modules/unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==", + "license": "MIT" + }, "node_modules/varint": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", diff --git a/package.json b/package.json index a7d8321..94a7ec0 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ ], "scripts": { "create": "node bin/createDrop", - "build:drops": "npm run build -w drops && node bin/buildManifest", + "build:drops": "node bin/buildDrops && node bin/buildManifest", "dev:drops": "node bin/dev.js", "dev": "npm run build:drops && npm run dev -w app", "build": "npm run build:drops && npm run build -w app" diff --git a/shared/RichText.vue b/shared/RichText.vue index 5bd1b06..44ffe2d 100644 --- a/shared/RichText.vue +++ b/shared/RichText.vue @@ -36,6 +36,17 @@ const editor = useEditor({ .rich-text { font-family: inherit; + .tiptap > * { + margin-top: 1em; + margin-bottom: 1em; + + &:first-child { + margin-top: 0; + } + &:last-child { + margin-bottom: 0; + } + } h1 { margin: 2em 0 1em; @include label; diff --git a/template/public/meta.json b/template/public/meta.json index 286b448..2561abc 100644 --- a/template/public/meta.json +++ b/template/public/meta.json @@ -3,5 +3,6 @@ "title": "$NAME", "date": "2026-07-16", "tags": ["tag1", "tag2", "tag3"], - "description": "A brief description of what this drop does" + "description": "A brief description of what this drop does", + "published": false }