@promptctl/cc-candybar 1.95.0 → 1.96.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.mjs +93 -93
- package/package.json +5 -5
- package/schema/cc-candybar.schema.json +46 -42
package/dist/index.mjs
CHANGED
|
@@ -1,69 +1,69 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{createRequire as e}from"node:module";import t from"node:process";import{json as n}from"node:stream/consumers";import r,{createReadStream as i,existsSync as a,statSync as o,watch as s}from"node:fs";import c,{basename as l,dirname as u,join as d}from"node:path";import f,{homedir as p}from"node:os";import{spawn as m,spawnSync as h}from"node:child_process";import g from"node:net";import{open as _,readFile as v,readdir as y,stat as b}from"node:fs/promises";import{clearInterval as x,setInterval as S}from"node:timers";import C from"node:v8";import{URL as ee,URLSearchParams as te,fileURLToPath as ne,pathToFileURL as re}from"node:url";import{parseArgs as w}from"node:util";import ie,{createHash as T}from"node:crypto";import{get as E}from"node:https";import{setTimeout as ae}from"node:timers/promises";import{createInterface as oe}from"node:readline";var se=Object.create,ce=Object.defineProperty,le=Object.getOwnPropertyDescriptor,ue=Object.getOwnPropertyNames,de=Object.getPrototypeOf,fe=Object.prototype.hasOwnProperty,pe=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),me=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=ue(t),a=0,o=i.length,s;a<o;a++)s=i[a],!fe.call(e,s)&&s!==n&&ce(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=le(t,s))||r.enumerable});return e},he=(e,t,n)=>(n=e==null?{}:se(de(e)),me(t||!e||!e.__esModule?ce(n,`default`,{value:e,enumerable:!0}):n,e));function D(e,...t){process.env.CC_CANDYBAR_DEBUG&&console.error(`[DEBUG] ${e}`,...t)}const ge={"click.pbcopy":1e3,"click.open":1e3,"doctor.tmux":1e3,"claude-input.type":1e3},_e=new Map;function ve(e){let t=ge[e];if(t===void 0)return{allowed:!0};let n=_e.get(e);if(n===void 0)return{allowed:!0};let r=Date.now()-n;return r>=t?{allowed:!0}:{allowed:!1,minIntervalMs:t,sinceLastMs:r}}function ye(e){_e.set(e,Date.now())}function be(e){return e.env??process.env}function xe(e,t,n){return{ok:!1,reason:`rate-limited`,stdout:``,stderr:``,exitCode:null,signal:null,error:`rate-limited: ${e} min interval ${t}ms, last start ${n}ms ago`}}let Se=null;function Ce(e){Se=e}function we(e,t){try{process.kill(-e,t)}catch(e){if(e.code!==`ESRCH`)throw e}}async function Te(e){if(e.signal?.aborted)return{ok:!1,reason:`aborted`,stdout:``,stderr:``,exitCode:null,signal:null};let t=ve(e.category);if(!t.allowed)return xe(e.category,t.minIntervalMs,t.sinceLastMs);ye(e.category);let n=Date.now();return Se?.onStart(e.category),new Promise(t=>{let r;try{r=m(e.bin,e.args??[],{cwd:e.cwd,env:be(e),stdio:[`pipe`,`pipe`,`pipe`],detached:!0})}catch(r){Se?.onEnd(e.category,Date.now()-n),t({ok:!1,reason:`spawn-error`,stdout:``,stderr:``,exitCode:null,signal:null,error:r instanceof Error?r.message:String(r)});return}let i=``,a=``,o=!1,s=null,c=null,l=null,u=()=>h(`aborted`),d=t=>{o||(o=!0,s&&clearTimeout(s),c&&clearTimeout(c),e.signal?.removeEventListener(`abort`,u),Se?.onEnd(e.category,Date.now()-n),t())},f=e=>d(()=>t(e)),p=(e,t)=>{try{we(e,t)}catch(e){f({ok:!1,reason:`signal-refused`,stdout:i,stderr:a,exitCode:null,signal:null,error:e instanceof Error?e.message:String(e)})}},h=t=>{l=t,s&&clearTimeout(s),e.signal?.removeEventListener(`abort`,u);let n=r.pid;n!==void 0&&(c=setTimeout(()=>p(n,`SIGKILL`),250),p(n,`SIGTERM`))};r.stdout?.on(`data`,e=>{i+=e.toString(`utf8`)}),r.stderr?.on(`data`,e=>{a+=e.toString(`utf8`)}),r.on(`error`,e=>{f({ok:!1,reason:`spawn-error`,stdout:i,stderr:a,exitCode:null,signal:null,error:e.message})}),r.on(`close`,(e,t)=>{if(l!==null){f({ok:!1,reason:l,stdout:i,stderr:a,exitCode:e,signal:t});return}if(e===0){f({ok:!0,stdout:i,stderr:a,exitCode:e});return}f({ok:!1,reason:t?`signal`:`non-zero`,stdout:i,stderr:a,exitCode:e,signal:t})}),e.timeoutMs&&e.timeoutMs>0&&(s=setTimeout(()=>h(`timeout`),e.timeoutMs)),e.signal?.addEventListener(`abort`,u,{once:!0}),e.stdinInput!==void 0&&r.stdin?r.stdin.end(e.stdinInput):r.stdin&&r.stdin.end()})}function Ee(e){let t=ve(e.category);if(!t.allowed)return xe(e.category,t.minIntervalMs,t.sinceLastMs);ye(e.category);let n=Date.now();Se?.onStart(e.category);let r=[`pipe`,`pipe`,`pipe`];try{let t=h(e.bin,e.args??[],{cwd:e.cwd,env:be(e),input:e.stdinInput,timeout:e.timeoutMs&&e.timeoutMs>0?e.timeoutMs:void 0,stdio:r,encoding:`utf8`});Se?.onEnd(e.category,Date.now()-n);let i=typeof t.stdout==`string`?t.stdout:``,a=typeof t.stderr==`string`?t.stderr:``;if(t.error)return{ok:!1,reason:t.error.code===`ETIMEDOUT`?`timeout`:`spawn-error`,stdout:i,stderr:a,exitCode:null,signal:t.signal??null,error:t.error.message};if(t.status===0)return{ok:!0,stdout:i,stderr:a,exitCode:t.status};let o=e.timeoutMs!==void 0&&e.timeoutMs>0;return{ok:!1,reason:t.signal?o&&t.signal===`SIGTERM`?`timeout`:`signal`:`non-zero`,stdout:i,stderr:a,exitCode:t.status,signal:t.signal??null}}catch(t){return Se?.onEnd(e.category,Date.now()-n),{ok:!1,reason:`spawn-error`,stdout:``,stderr:``,exitCode:null,signal:null,error:t instanceof Error?t.message:String(t)}}}function De(e){let t=ve(e.category);if(!t.allowed)return xe(e.category,t.minIntervalMs,t.sinceLastMs);ye(e.category);let n=Date.now();Se?.onStart(e.category);let r=Oe(e);return Se?.onEnd(e.category,Date.now()-n),r}function Oe(e){let t;try{t=m(e.bin,e.args??[],{cwd:e.cwd,env:be(e),detached:!0,stdio:`ignore`})}catch(e){return{ok:!1,reason:`spawn-error`,stdout:``,stderr:``,exitCode:null,signal:null,error:e instanceof Error?e.message:String(e)}}return t.once(`error`,()=>{}),t.pid===void 0?{ok:!1,reason:`spawn-error`,stdout:``,stderr:``,exitCode:null,signal:null,error:`spawn(${e.bin}): no pid (binary not found or unexecutable)`}:(t.unref(),{ok:!0,stdout:``,stderr:``,exitCode:null})}function ke(e,t,n){let i=`${e}.tmp`,a=n??r.statSync(e,{throwIfNoEntry:!1})?.mode;try{r.writeFileSync(i,t,a===void 0?{}:{mode:a}),r.renameSync(i,e)}catch(e){throw r.rmSync(i,{force:!0}),e}}function Ae(e,t){let n=e[t];return n&&n.length>0?n:void 0}function je(e=process.env){let t=Ae(e,`XDG_STATE_HOME`)??c.join(f.homedir(),`.local`,`state`);return c.join(t,`cc-candybar`)}function O(){let e=Ae(process.env,`XDG_CACHE_HOME`)??c.join(f.homedir(),`.cache`);return c.join(e,`cc-candybar`)}function Me(){return je()}function Ne(){let e=process.env.CC_CANDYBAR_SOCKET;if(e)return e;let t=f.userInfo().uid;return c.join(`/tmp`,`cc-candybar-${t}`,`socket`)}function Pe(e){r.mkdirSync(e,{recursive:!0,mode:448});let t=r.lstatSync(e);if(t.isSymbolicLink())throw Error(`directory is a symlink: ${e}`);if(!t.isDirectory())throw Error(`not a directory: ${e}`);let n=f.userInfo().uid;if(typeof n==`number`&&t.uid!==n)throw Error(`directory is not owned by uid ${n}: ${e} (owner uid=${t.uid})`);if(t.mode&63)throw Error(`directory has unsafe permissions: ${e} (mode=${(t.mode&511).toString(8)}, expected 0700)`)}function Fe(e){Pe(c.dirname(e));for(let t of[e,Ie(e)])try{if(r.lstatSync(t).isSymbolicLink())throw Error(`path is a symlink: ${t}`)}catch(e){if(e.code!==`ENOENT`)throw e}}function Ie(e){return`${e}.lease`}function Le(){return Ie(Ne())}function Re(){return c.join(je(),`session-state.json`)}function ze(){return c.join(je(),`settings-history.json`)}function Be(){let e=process.env.CC_CANDYBAR_DAEMON_REGISTRY_DIR;if(e)return e;let t=f.userInfo().uid;return c.join(`/tmp`,`cc-candybar-${t}`,`daemons`)}function Ve(){return c.join(je(),`spawn.lock`)}function He(){return c.join(je(),`spawn.cooldown`)}function Ue(){return c.join(je(),`spawn.backoff`)}function We(){return c.join(je(),`diagnostics`)}function Ge(e=process.env){return c.join(je(e),`daemon.log`)}var Ke=pe(((e,t)=>{t.exports.Space_Separator=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,t.exports.ID_Start=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,t.exports.ID_Continue=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/})),qe=pe(((e,t)=>{let n=Ke();t.exports={isSpaceSeparator(e){return typeof e==`string`&&n.Space_Separator.test(e)},isIdStartChar(e){return typeof e==`string`&&(e>=`a`&&e<=`z`||e>=`A`&&e<=`Z`||e===`$`||e===`_`||n.ID_Start.test(e))},isIdContinueChar(e){return typeof e==`string`&&(e>=`a`&&e<=`z`||e>=`A`&&e<=`Z`||e>=`0`&&e<=`9`||e===`$`||e===`_`||e===``||e===``||n.ID_Continue.test(e))},isDigit(e){return typeof e==`string`&&/[0-9]/.test(e)},isHexDigit(e){return typeof e==`string`&&/[0-9A-Fa-f]/.test(e)}}})),Je=pe(((e,t)=>{let n=qe(),r,i,a,o,s,c,l,u,d;t.exports=function(e,t){r=String(e),i=`start`,a=[],o=0,s=1,c=0,l=void 0,u=void 0,d=void 0;do l=v(),re[i]();while(l.type!==`eof`);return typeof t==`function`?f({"":d},``,t):d};function f(e,t,n){let r=e[t];if(typeof r==`object`&&r)if(Array.isArray(r))for(let e=0;e<r.length;e++){let t=String(e),i=f(r,t,n);i===void 0?delete r[t]:Object.defineProperty(r,t,{value:i,writable:!0,enumerable:!0,configurable:!0})}else for(let e in r){let t=f(r,e,n);t===void 0?delete r[e]:Object.defineProperty(r,e,{value:t,writable:!0,enumerable:!0,configurable:!0})}return n.call(e,t,r)}let p,m,h,g,_;function v(){for(p=`default`,m=``,h=!1,g=1;;){_=y();let e=x[p]();if(e)return e}}function y(){if(r[o])return String.fromCodePoint(r.codePointAt(o))}function b(){let e=y();return e===`
|
|
2
|
+
import{createRequire as e}from"node:module";import t from"node:process";import{json as n}from"node:stream/consumers";import r,{createReadStream as i,existsSync as a,statSync as o,watch as s}from"node:fs";import c,{basename as l,dirname as u,isAbsolute as d,join as f}from"node:path";import p,{homedir as m}from"node:os";import{spawn as h,spawnSync as g}from"node:child_process";import{parseArgs as _,types as v}from"node:util";import y from"node:net";import{open as b,readFile as x,readdir as S,stat as C}from"node:fs/promises";import{clearInterval as ee,setInterval as te}from"node:timers";import ne from"node:v8";import{URL as re,URLSearchParams as w,fileURLToPath as ie,pathToFileURL as T}from"node:url";import E,{createHash as ae}from"node:crypto";import{get as oe}from"node:https";import{setTimeout as D}from"node:timers/promises";import{createInterface as se}from"node:readline";var ce=Object.create,le=Object.defineProperty,ue=Object.getOwnPropertyDescriptor,de=Object.getOwnPropertyNames,fe=Object.getPrototypeOf,pe=Object.prototype.hasOwnProperty,me=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),he=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=de(t),a=0,o=i.length,s;a<o;a++)s=i[a],!pe.call(e,s)&&s!==n&&le(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=ue(t,s))||r.enumerable});return e},ge=(e,t,n)=>(n=e==null?{}:ce(fe(e)),he(t||!e||!e.__esModule?le(n,`default`,{value:e,enumerable:!0}):n,e));function O(e,...t){process.env.CC_CANDYBAR_DEBUG&&console.error(`[DEBUG] ${e}`,...t)}function _e(e,t){return v.isNativeError(e)?e.code===`ENOENT`&&t!==void 0&&!a(t)?`working directory does not exist: ${t}`:e.message:String(e)}const ve={"click.pbcopy":1e3,"click.open":1e3,"doctor.tmux":1e3,"claude-input.type":1e3},ye=new Map;function be(e){let t=ve[e];if(t===void 0)return{allowed:!0};let n=ye.get(e);if(n===void 0)return{allowed:!0};let r=Date.now()-n;return r>=t?{allowed:!0}:{allowed:!1,minIntervalMs:t,sinceLastMs:r}}function xe(e){ye.set(e,Date.now())}function Se(e){return e.env??process.env}function Ce(e,t,n){return{ok:!1,reason:`rate-limited`,stdout:``,stderr:``,exitCode:null,signal:null,error:`rate-limited: ${e} min interval ${t}ms, last start ${n}ms ago`}}let we=null;function Te(e){we=e}function Ee(e,t){try{process.kill(-e,t)}catch(e){if(e.code!==`ESRCH`)throw e}}async function De(e){if(e.signal?.aborted)return{ok:!1,reason:`aborted`,stdout:``,stderr:``,exitCode:null,signal:null};let t=be(e.category);if(!t.allowed)return Ce(e.category,t.minIntervalMs,t.sinceLastMs);xe(e.category);let n=Date.now();return we?.onStart(e.category),new Promise(t=>{let r;try{r=h(e.bin,e.args??[],{cwd:e.cwd,env:Se(e),stdio:[`pipe`,`pipe`,`pipe`],detached:!0})}catch(r){we?.onEnd(e.category,Date.now()-n),t({ok:!1,reason:`spawn-error`,stdout:``,stderr:``,exitCode:null,signal:null,error:_e(r,e.cwd)});return}let i=``,a=``,o=!1,s=null,c=null,l=null,u=()=>m(`aborted`),d=t=>{o||(o=!0,s&&clearTimeout(s),c&&clearTimeout(c),e.signal?.removeEventListener(`abort`,u),we?.onEnd(e.category,Date.now()-n),t())},f=e=>d(()=>t(e)),p=(e,t)=>{try{Ee(e,t)}catch(e){f({ok:!1,reason:`signal-refused`,stdout:i,stderr:a,exitCode:null,signal:null,error:e instanceof Error?e.message:String(e)})}},m=t=>{l=t,s&&clearTimeout(s),e.signal?.removeEventListener(`abort`,u);let n=r.pid;n!==void 0&&(c=setTimeout(()=>p(n,`SIGKILL`),250),p(n,`SIGTERM`))};r.stdout?.on(`data`,e=>{i+=e.toString(`utf8`)}),r.stderr?.on(`data`,e=>{a+=e.toString(`utf8`)}),r.on(`error`,t=>{f({ok:!1,reason:`spawn-error`,stdout:i,stderr:a,exitCode:null,signal:null,error:_e(t,e.cwd)})}),r.on(`close`,(e,t)=>{if(l!==null){f({ok:!1,reason:l,stdout:i,stderr:a,exitCode:e,signal:t});return}if(e===0){f({ok:!0,stdout:i,stderr:a,exitCode:e});return}f({ok:!1,reason:t?`signal`:`non-zero`,stdout:i,stderr:a,exitCode:e,signal:t})}),e.timeoutMs&&e.timeoutMs>0&&(s=setTimeout(()=>m(`timeout`),e.timeoutMs)),e.signal?.addEventListener(`abort`,u,{once:!0}),e.stdinInput!==void 0&&r.stdin?r.stdin.end(e.stdinInput):r.stdin&&r.stdin.end()})}function Oe(e){let t=be(e.category);if(!t.allowed)return Ce(e.category,t.minIntervalMs,t.sinceLastMs);xe(e.category);let n=Date.now();we?.onStart(e.category);let r=[`pipe`,`pipe`,`pipe`];try{let t=g(e.bin,e.args??[],{cwd:e.cwd,env:Se(e),input:e.stdinInput,timeout:e.timeoutMs&&e.timeoutMs>0?e.timeoutMs:void 0,stdio:r,encoding:`utf8`});we?.onEnd(e.category,Date.now()-n);let i=typeof t.stdout==`string`?t.stdout:``,a=typeof t.stderr==`string`?t.stderr:``;if(t.error)return{ok:!1,reason:t.error.code===`ETIMEDOUT`?`timeout`:`spawn-error`,stdout:i,stderr:a,exitCode:null,signal:t.signal??null,error:_e(t.error,e.cwd)};if(t.status===0)return{ok:!0,stdout:i,stderr:a,exitCode:t.status};let o=e.timeoutMs!==void 0&&e.timeoutMs>0;return{ok:!1,reason:t.signal?o&&t.signal===`SIGTERM`?`timeout`:`signal`:`non-zero`,stdout:i,stderr:a,exitCode:t.status,signal:t.signal??null}}catch(t){return we?.onEnd(e.category,Date.now()-n),{ok:!1,reason:`spawn-error`,stdout:``,stderr:``,exitCode:null,signal:null,error:_e(t,e.cwd)}}}function ke(e){let t=be(e.category);if(!t.allowed)return Ce(e.category,t.minIntervalMs,t.sinceLastMs);xe(e.category);let n=Date.now();we?.onStart(e.category);let r=Ae(e);return we?.onEnd(e.category,Date.now()-n),r}function Ae(e){let t;try{t=h(e.bin,e.args??[],{cwd:e.cwd,env:Se(e),detached:!0,stdio:`ignore`})}catch(t){return{ok:!1,reason:`spawn-error`,stdout:``,stderr:``,exitCode:null,signal:null,error:_e(t,e.cwd)}}return t.once(`error`,()=>{}),t.pid===void 0?{ok:!1,reason:`spawn-error`,stdout:``,stderr:``,exitCode:null,signal:null,error:`spawn(${e.bin}): no pid (binary not found or unexecutable)`}:(t.unref(),{ok:!0,stdout:``,stderr:``,exitCode:null})}function k(e,t,n){let i=`${e}.tmp`,a=n??r.statSync(e,{throwIfNoEntry:!1})?.mode;try{r.writeFileSync(i,t,a===void 0?{}:{mode:a}),r.renameSync(i,e)}catch(e){throw r.rmSync(i,{force:!0}),e}}function je(e,t){let n=e[t];return n&&n.length>0?n:void 0}function Me(e=process.env){let t=je(e,`XDG_STATE_HOME`)??c.join(p.homedir(),`.local`,`state`);return c.join(t,`cc-candybar`)}function Ne(){let e=je(process.env,`XDG_CACHE_HOME`)??c.join(p.homedir(),`.cache`);return c.join(e,`cc-candybar`)}function Pe(){return Me()}function Fe(){let e=process.env.CC_CANDYBAR_SOCKET;if(e)return e;let t=p.userInfo().uid;return c.join(`/tmp`,`cc-candybar-${t}`,`socket`)}function Ie(e){r.mkdirSync(e,{recursive:!0,mode:448});let t=r.lstatSync(e);if(t.isSymbolicLink())throw Error(`directory is a symlink: ${e}`);if(!t.isDirectory())throw Error(`not a directory: ${e}`);let n=p.userInfo().uid;if(typeof n==`number`&&t.uid!==n)throw Error(`directory is not owned by uid ${n}: ${e} (owner uid=${t.uid})`);if(t.mode&63)throw Error(`directory has unsafe permissions: ${e} (mode=${(t.mode&511).toString(8)}, expected 0700)`)}function Le(e){Ie(c.dirname(e));for(let t of[e,Re(e)])try{if(r.lstatSync(t).isSymbolicLink())throw Error(`path is a symlink: ${t}`)}catch(e){if(e.code!==`ENOENT`)throw e}}function Re(e){return`${e}.lease`}function ze(){return Re(Fe())}function Be(){return c.join(Me(),`session-state.json`)}function Ve(){return c.join(Me(),`settings-history.json`)}function He(){let e=process.env.CC_CANDYBAR_DAEMON_REGISTRY_DIR;if(e)return e;let t=p.userInfo().uid;return c.join(`/tmp`,`cc-candybar-${t}`,`daemons`)}function Ue(){return c.join(Me(),`spawn.lock`)}function We(){return c.join(Me(),`spawn.cooldown`)}function Ge(){return c.join(Me(),`spawn.backoff`)}function Ke(){return c.join(Me(),`diagnostics`)}function qe(e=process.env){return c.join(Me(e),`daemon.log`)}var Je=me(((e,t)=>{t.exports.Space_Separator=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,t.exports.ID_Start=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,t.exports.ID_Continue=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/})),Ye=me(((e,t)=>{let n=Je();t.exports={isSpaceSeparator(e){return typeof e==`string`&&n.Space_Separator.test(e)},isIdStartChar(e){return typeof e==`string`&&(e>=`a`&&e<=`z`||e>=`A`&&e<=`Z`||e===`$`||e===`_`||n.ID_Start.test(e))},isIdContinueChar(e){return typeof e==`string`&&(e>=`a`&&e<=`z`||e>=`A`&&e<=`Z`||e>=`0`&&e<=`9`||e===`$`||e===`_`||e===``||e===``||n.ID_Continue.test(e))},isDigit(e){return typeof e==`string`&&/[0-9]/.test(e)},isHexDigit(e){return typeof e==`string`&&/[0-9A-Fa-f]/.test(e)}}})),Xe=me(((e,t)=>{let n=Ye(),r,i,a,o,s,c,l,u,d;t.exports=function(e,t){r=String(e),i=`start`,a=[],o=0,s=1,c=0,l=void 0,u=void 0,d=void 0;do l=v(),re[i]();while(l.type!==`eof`);return typeof t==`function`?f({"":d},``,t):d};function f(e,t,n){let r=e[t];if(typeof r==`object`&&r)if(Array.isArray(r))for(let e=0;e<r.length;e++){let t=String(e),i=f(r,t,n);i===void 0?delete r[t]:Object.defineProperty(r,t,{value:i,writable:!0,enumerable:!0,configurable:!0})}else for(let e in r){let t=f(r,e,n);t===void 0?delete r[e]:Object.defineProperty(r,e,{value:t,writable:!0,enumerable:!0,configurable:!0})}return n.call(e,t,r)}let p,m,h,g,_;function v(){for(p=`default`,m=``,h=!1,g=1;;){_=y();let e=x[p]();if(e)return e}}function y(){if(r[o])return String.fromCodePoint(r.codePointAt(o))}function b(){let e=y();return e===`
|
|
3
3
|
`?(s++,c=0):e?c+=e.length:c++,e&&(o+=e.length),e}let x={default(){switch(_){case` `:case`\v`:case`\f`:case` `:case`\xA0`:case``:case`
|
|
4
4
|
`:case`\r`:case`\u2028`:case`\u2029`:b();return;case`/`:b(),p=`comment`;return;case void 0:return b(),S(`eof`)}if(n.isSpaceSeparator(_)){b();return}return x[i]()},comment(){switch(_){case`*`:b(),p=`multiLineComment`;return;case`/`:b(),p=`singleLineComment`;return}throw T(b())},multiLineComment(){switch(_){case`*`:b(),p=`multiLineCommentAsterisk`;return;case void 0:throw T(b())}b()},multiLineCommentAsterisk(){switch(_){case`*`:b();return;case`/`:b(),p=`default`;return;case void 0:throw T(b())}b(),p=`multiLineComment`},singleLineComment(){switch(_){case`
|
|
5
5
|
`:case`\r`:case`\u2028`:case`\u2029`:b(),p=`default`;return;case void 0:return b(),S(`eof`)}b()},value(){switch(_){case`{`:case`[`:return S(`punctuator`,b());case`n`:return b(),C(`ull`),S(`null`,null);case`t`:return b(),C(`rue`),S(`boolean`,!0);case`f`:return b(),C(`alse`),S(`boolean`,!1);case`-`:case`+`:b()===`-`&&(g=-1),p=`sign`;return;case`.`:m=b(),p=`decimalPointLeading`;return;case`0`:m=b(),p=`zero`;return;case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:m=b(),p=`decimalInteger`;return;case`I`:return b(),C(`nfinity`),S(`numeric`,1/0);case`N`:return b(),C(`aN`),S(`numeric`,NaN);case`"`:case`'`:h=b()===`"`,m=``,p=`string`;return}throw T(b())},identifierNameStartEscape(){if(_!==`u`)throw T(b());b();let e=ne();switch(e){case`$`:case`_`:break;default:if(!n.isIdStartChar(e))throw ae();break}m+=e,p=`identifierName`},identifierName(){switch(_){case`$`:case`_`:case``:case``:m+=b();return;case`\\`:b(),p=`identifierNameEscape`;return}if(n.isIdContinueChar(_)){m+=b();return}return S(`identifier`,m)},identifierNameEscape(){if(_!==`u`)throw T(b());b();let e=ne();switch(e){case`$`:case`_`:case``:case``:break;default:if(!n.isIdContinueChar(e))throw ae();break}m+=e,p=`identifierName`},sign(){switch(_){case`.`:m=b(),p=`decimalPointLeading`;return;case`0`:m=b(),p=`zero`;return;case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:m=b(),p=`decimalInteger`;return;case`I`:return b(),C(`nfinity`),S(`numeric`,g*(1/0));case`N`:return b(),C(`aN`),S(`numeric`,NaN)}throw T(b())},zero(){switch(_){case`.`:m+=b(),p=`decimalPoint`;return;case`e`:case`E`:m+=b(),p=`decimalExponent`;return;case`x`:case`X`:m+=b(),p=`hexadecimal`;return}return S(`numeric`,g*0)},decimalInteger(){switch(_){case`.`:m+=b(),p=`decimalPoint`;return;case`e`:case`E`:m+=b(),p=`decimalExponent`;return}if(n.isDigit(_)){m+=b();return}return S(`numeric`,g*Number(m))},decimalPointLeading(){if(n.isDigit(_)){m+=b(),p=`decimalFraction`;return}throw T(b())},decimalPoint(){switch(_){case`e`:case`E`:m+=b(),p=`decimalExponent`;return}if(n.isDigit(_)){m+=b(),p=`decimalFraction`;return}return S(`numeric`,g*Number(m))},decimalFraction(){switch(_){case`e`:case`E`:m+=b(),p=`decimalExponent`;return}if(n.isDigit(_)){m+=b();return}return S(`numeric`,g*Number(m))},decimalExponent(){switch(_){case`+`:case`-`:m+=b(),p=`decimalExponentSign`;return}if(n.isDigit(_)){m+=b(),p=`decimalExponentInteger`;return}throw T(b())},decimalExponentSign(){if(n.isDigit(_)){m+=b(),p=`decimalExponentInteger`;return}throw T(b())},decimalExponentInteger(){if(n.isDigit(_)){m+=b();return}return S(`numeric`,g*Number(m))},hexadecimal(){if(n.isHexDigit(_)){m+=b(),p=`hexadecimalInteger`;return}throw T(b())},hexadecimalInteger(){if(n.isHexDigit(_)){m+=b();return}return S(`numeric`,g*Number(m))},string(){switch(_){case`\\`:b(),m+=ee();return;case`"`:if(h)return b(),S(`string`,m);m+=b();return;case`'`:if(!h)return b(),S(`string`,m);m+=b();return;case`
|
|
6
6
|
`:case`\r`:throw T(b());case`\u2028`:case`\u2029`:oe(_);break;case void 0:throw T(b())}m+=b()},start(){switch(_){case`{`:case`[`:return S(`punctuator`,b())}p=`value`},beforePropertyName(){switch(_){case`$`:case`_`:m=b(),p=`identifierName`;return;case`\\`:b(),p=`identifierNameStartEscape`;return;case`}`:return S(`punctuator`,b());case`"`:case`'`:h=b()===`"`,p=`string`;return}if(n.isIdStartChar(_)){m+=b(),p=`identifierName`;return}throw T(b())},afterPropertyName(){if(_===`:`)return S(`punctuator`,b());throw T(b())},beforePropertyValue(){p=`value`},afterPropertyValue(){switch(_){case`,`:case`}`:return S(`punctuator`,b())}throw T(b())},beforeArrayValue(){if(_===`]`)return S(`punctuator`,b());p=`value`},afterArrayValue(){switch(_){case`,`:case`]`:return S(`punctuator`,b())}throw T(b())},end(){throw T(b())}};function S(e,t){return{type:e,value:t,line:s,column:c}}function C(e){for(let t of e){if(y()!==t)throw T(b());b()}}function ee(){switch(y()){case`b`:return b(),`\b`;case`f`:return b(),`\f`;case`n`:return b(),`
|
|
7
7
|
`;case`r`:return b(),`\r`;case`t`:return b(),` `;case`v`:return b(),`\v`;case`0`:if(b(),n.isDigit(y()))throw T(b());return`\0`;case`x`:return b(),te();case`u`:return b(),ne();case`
|
|
8
8
|
`:case`\u2028`:case`\u2029`:return b(),``;case`\r`:return b(),y()===`
|
|
9
|
-
`&&b(),``;case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:throw T(b());case void 0:throw T(b())}return b()}function te(){let e=``,t=y();if(!n.isHexDigit(t)||(e+=b(),t=y(),!n.isHexDigit(t)))throw T(b());return e+=b(),String.fromCodePoint(parseInt(e,16))}function ne(){let e=``,t=4;for(;t-- >0;){let t=y();if(!n.isHexDigit(t))throw T(b());e+=b()}return String.fromCodePoint(parseInt(e,16))}let re={start(){if(l.type===`eof`)throw E();w()},beforePropertyName(){switch(l.type){case`identifier`:case`string`:u=l.value,i=`afterPropertyName`;return;case`punctuator`:ie();return;case`eof`:throw E()}},afterPropertyName(){if(l.type===`eof`)throw E();i=`beforePropertyValue`},beforePropertyValue(){if(l.type===`eof`)throw E();w()},beforeArrayValue(){if(l.type===`eof`)throw E();if(l.type===`punctuator`&&l.value===`]`){ie();return}w()},afterPropertyValue(){if(l.type===`eof`)throw E();switch(l.value){case`,`:i=`beforePropertyName`;return;case`}`:ie()}},afterArrayValue(){if(l.type===`eof`)throw E();switch(l.value){case`,`:i=`beforeArrayValue`;return;case`]`:ie()}},end(){}};function w(){let e;switch(l.type){case`punctuator`:switch(l.value){case`{`:e={};break;case`[`:e=[];break}break;case`null`:case`boolean`:case`numeric`:case`string`:e=l.value;break}if(d===void 0)d=e;else{let t=a[a.length-1];Array.isArray(t)?t.push(e):Object.defineProperty(t,u,{value:e,writable:!0,enumerable:!0,configurable:!0})}if(typeof e==`object`&&e)a.push(e),i=Array.isArray(e)?`beforeArrayValue`:`beforePropertyName`;else{let e=a[a.length-1];i=e==null?`end`:Array.isArray(e)?`afterArrayValue`:`afterPropertyValue`}}function ie(){a.pop();let e=a[a.length-1];i=e==null?`end`:Array.isArray(e)?`afterArrayValue`:`afterPropertyValue`}function T(e){return
|
|
9
|
+
`&&b(),``;case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:throw T(b());case void 0:throw T(b())}return b()}function te(){let e=``,t=y();if(!n.isHexDigit(t)||(e+=b(),t=y(),!n.isHexDigit(t)))throw T(b());return e+=b(),String.fromCodePoint(parseInt(e,16))}function ne(){let e=``,t=4;for(;t-- >0;){let t=y();if(!n.isHexDigit(t))throw T(b());e+=b()}return String.fromCodePoint(parseInt(e,16))}let re={start(){if(l.type===`eof`)throw E();w()},beforePropertyName(){switch(l.type){case`identifier`:case`string`:u=l.value,i=`afterPropertyName`;return;case`punctuator`:ie();return;case`eof`:throw E()}},afterPropertyName(){if(l.type===`eof`)throw E();i=`beforePropertyValue`},beforePropertyValue(){if(l.type===`eof`)throw E();w()},beforeArrayValue(){if(l.type===`eof`)throw E();if(l.type===`punctuator`&&l.value===`]`){ie();return}w()},afterPropertyValue(){if(l.type===`eof`)throw E();switch(l.value){case`,`:i=`beforePropertyName`;return;case`}`:ie()}},afterArrayValue(){if(l.type===`eof`)throw E();switch(l.value){case`,`:i=`beforeArrayValue`;return;case`]`:ie()}},end(){}};function w(){let e;switch(l.type){case`punctuator`:switch(l.value){case`{`:e={};break;case`[`:e=[];break}break;case`null`:case`boolean`:case`numeric`:case`string`:e=l.value;break}if(d===void 0)d=e;else{let t=a[a.length-1];Array.isArray(t)?t.push(e):Object.defineProperty(t,u,{value:e,writable:!0,enumerable:!0,configurable:!0})}if(typeof e==`object`&&e)a.push(e),i=Array.isArray(e)?`beforeArrayValue`:`beforePropertyName`;else{let e=a[a.length-1];i=e==null?`end`:Array.isArray(e)?`afterArrayValue`:`afterPropertyValue`}}function ie(){a.pop();let e=a[a.length-1];i=e==null?`end`:Array.isArray(e)?`afterArrayValue`:`afterPropertyValue`}function T(e){return se(e===void 0?`JSON5: invalid end of input at ${s}:${c}`:`JSON5: invalid character '${D(e)}' at ${s}:${c}`)}function E(){return se(`JSON5: invalid end of input at ${s}:${c}`)}function ae(){return c-=5,se(`JSON5: invalid identifier character at ${s}:${c}`)}function oe(e){console.warn(`JSON5: '${D(e)}' in strings is not valid ECMAScript; consider escaping`)}function D(e){let t={"'":`\\'`,'"':`\\"`,"\\":`\\\\`,"\b":`\\b`,"\f":`\\f`,"\n":`\\n`,"\r":`\\r`," ":`\\t`,"\v":`\\v`,"\0":`\\0`,"\u2028":`\\u2028`,"\u2029":`\\u2029`};if(t[e])return t[e];if(e<` `){let t=e.charCodeAt(0).toString(16);return`\\x`+(`00`+t).substring(t.length)}return e}function se(e){let t=SyntaxError(e);return t.lineNumber=s,t.columnNumber=c,t}})),Ze=me(((e,t)=>{let n=Ye();t.exports=function(e,t,r){let i=[],a=``,o,s,c=``,l;if(typeof t==`object`&&t&&!Array.isArray(t)&&(r=t.space,l=t.quote,t=t.replacer),typeof t==`function`)s=t;else if(Array.isArray(t)){o=[];for(let e of t){let t;typeof e==`string`?t=e:(typeof e==`number`||e instanceof String||e instanceof Number)&&(t=String(e)),t!==void 0&&o.indexOf(t)<0&&o.push(t)}}return r instanceof Number?r=Number(r):r instanceof String&&(r=String(r)),typeof r==`number`?r>0&&(r=Math.min(10,Math.floor(r)),c=` `.substr(0,r)):typeof r==`string`&&(c=r.substr(0,10)),u(``,{"":e});function u(e,t){let n=t[e];switch(n!=null&&(typeof n.toJSON5==`function`?n=n.toJSON5(e):typeof n.toJSON==`function`&&(n=n.toJSON(e))),s&&(n=s.call(t,e,n)),n instanceof Number?n=Number(n):n instanceof String?n=String(n):n instanceof Boolean&&(n=n.valueOf()),n){case null:return`null`;case!0:return`true`;case!1:return`false`}if(typeof n==`string`)return d(n,!1);if(typeof n==`number`)return String(n);if(typeof n==`object`)return Array.isArray(n)?m(n):f(n)}function d(e){let t={"'":.1,'"':.2},r={"'":`\\'`,'"':`\\"`,"\\":`\\\\`,"\b":`\\b`,"\f":`\\f`,"\n":`\\n`,"\r":`\\r`," ":`\\t`,"\v":`\\v`,"\0":`\\0`,"\u2028":`\\u2028`,"\u2029":`\\u2029`},i=``;for(let a=0;a<e.length;a++){let o=e[a];switch(o){case`'`:case`"`:t[o]++,i+=o;continue;case`\0`:if(n.isDigit(e[a+1])){i+=`\\x00`;continue}}if(r[o]){i+=r[o];continue}if(o<` `){let e=o.charCodeAt(0).toString(16);i+=`\\x`+(`00`+e).substring(e.length);continue}i+=o}let a=l||Object.keys(t).reduce((e,n)=>t[e]<t[n]?e:n);return i=i.replace(new RegExp(a,`g`),r[a]),a+i+a}function f(e){if(i.indexOf(e)>=0)throw TypeError(`Converting circular structure to JSON5`);i.push(e);let t=a;a+=c;let n=o||Object.keys(e),r=[];for(let t of n){let n=u(t,e);if(n!==void 0){let e=p(t)+`:`;c!==``&&(e+=` `),e+=n,r.push(e)}}let s;if(r.length===0)s=`{}`;else{let e;if(c===``)e=r.join(`,`),s=`{`+e+`}`;else{let n=`,
|
|
10
10
|
`+a;e=r.join(n),s=`{
|
|
11
11
|
`+a+e+`,
|
|
12
12
|
`+t+`}`}}return i.pop(),a=t,s}function p(e){if(e.length===0)return d(e,!0);let t=String.fromCodePoint(e.codePointAt(0));if(!n.isIdStartChar(t))return d(e,!0);for(let r=t.length;r<e.length;r++)if(!n.isIdContinueChar(String.fromCodePoint(e.codePointAt(r))))return d(e,!0);return e}function m(e){if(i.indexOf(e)>=0)throw TypeError(`Converting circular structure to JSON5`);i.push(e);let t=a;a+=c;let n=[];for(let t=0;t<e.length;t++){let r=u(String(t),e);n.push(r===void 0?`null`:r)}let r;if(n.length===0)r=`[]`;else if(c===``)r=`[`+n.join(`,`)+`]`;else{let e=`,
|
|
13
13
|
`+a,i=n.join(e);r=`[
|
|
14
14
|
`+a+i+`,
|
|
15
|
-
`+t+`]`}return i.pop(),a=t,r}}})),Xe=he(pe(((e,t)=>{t.exports={parse:Je(),stringify:Ye()}}))(),1);function Ze({onlyFirst:e=!1}={}){return RegExp(`(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]`,e?void 0:`g`)}const Qe=Ze();function $e(e){if(typeof e!=`string`)throw TypeError(`Expected a \`string\`, got \`${typeof e}\``);return!e.includes(`\x1B`)&&!e.includes(``)?e:e.replace(Qe,``)}const et=[161,161,164,164,167,168,170,170,173,174,176,180,182,186,188,191,198,198,208,208,215,216,222,225,230,230,232,234,236,237,240,240,242,243,247,250,252,252,254,254,257,257,273,273,275,275,283,283,294,295,299,299,305,307,312,312,319,322,324,324,328,331,333,333,338,339,358,359,363,363,462,462,464,464,466,466,468,468,470,470,472,472,474,474,476,476,593,593,609,609,708,708,711,711,713,715,717,717,720,720,728,731,733,733,735,735,768,879,913,929,931,937,945,961,963,969,1025,1025,1040,1103,1105,1105,8208,8208,8211,8214,8216,8217,8220,8221,8224,8226,8228,8231,8240,8240,8242,8243,8245,8245,8251,8251,8254,8254,8308,8308,8319,8319,8321,8324,8364,8364,8451,8451,8453,8453,8457,8457,8467,8467,8470,8470,8481,8482,8486,8486,8491,8491,8531,8532,8539,8542,8544,8555,8560,8569,8585,8585,8592,8601,8632,8633,8658,8658,8660,8660,8679,8679,8704,8704,8706,8707,8711,8712,8715,8715,8719,8719,8721,8721,8725,8725,8730,8730,8733,8736,8739,8739,8741,8741,8743,8748,8750,8750,8756,8759,8764,8765,8776,8776,8780,8780,8786,8786,8800,8801,8804,8807,8810,8811,8814,8815,8834,8835,8838,8839,8853,8853,8857,8857,8869,8869,8895,8895,8978,8978,9312,9449,9451,9547,9552,9587,9600,9615,9618,9621,9632,9633,9635,9641,9650,9651,9654,9655,9660,9661,9664,9665,9670,9672,9675,9675,9678,9681,9698,9701,9711,9711,9733,9734,9737,9737,9742,9743,9756,9756,9758,9758,9792,9792,9794,9794,9824,9825,9827,9829,9831,9834,9836,9837,9839,9839,9886,9887,9919,9919,9926,9933,9935,9939,9941,9953,9955,9955,9960,9961,9963,9969,9972,9972,9974,9977,9979,9980,9982,9983,10045,10045,10102,10111,11094,11097,12872,12879,57344,63743,65024,65039,65533,65533,127232,127242,127248,127277,127280,127337,127344,127373,127375,127376,127387,127404,917760,917999,983040,1048573,1048576,1114109],tt=[12288,12288,65281,65376,65504,65510],nt=[8361,8361,65377,65470,65474,65479,65482,65487,65490,65495,65498,65500,65512,65518],rt=[32,126,162,163,165,166,172,172,175,175,10214,10221,10629,10630],it=[4352,4447,8986,8987,9001,9002,9193,9196,9200,9200,9203,9203,9725,9726,9748,9749,9776,9783,9800,9811,9855,9855,9866,9871,9875,9875,9889,9889,9898,9899,9917,9918,9924,9925,9934,9934,9940,9940,9962,9962,9970,9971,9973,9973,9978,9978,9981,9981,9989,9989,9994,9995,10024,10024,10060,10060,10062,10062,10067,10069,10071,10071,10133,10135,10160,10160,10175,10175,11035,11036,11088,11088,11093,11093,11904,11929,11931,12019,12032,12245,12272,12287,12289,12350,12353,12438,12441,12543,12549,12591,12593,12686,12688,12773,12783,12830,12832,12871,12880,42124,42128,42182,43360,43388,44032,55203,63744,64255,65040,65049,65072,65106,65108,65126,65128,65131,94176,94180,94192,94198,94208,101589,101631,101662,101760,101874,110576,110579,110581,110587,110589,110590,110592,110882,110898,110898,110928,110930,110933,110933,110948,110951,110960,111355,119552,119638,119648,119670,126980,126980,127183,127183,127374,127374,127377,127386,127488,127490,127504,127547,127552,127560,127568,127569,127584,127589,127744,127776,127789,127797,127799,127868,127870,127891,127904,127946,127951,127955,127968,127984,127988,127988,127992,128062,128064,128064,128066,128252,128255,128317,128331,128334,128336,128359,128378,128378,128405,128406,128420,128420,128507,128591,128640,128709,128716,128716,128720,128722,128725,128728,128732,128735,128747,128748,128756,128764,128992,129003,129008,129008,129292,129338,129340,129349,129351,129535,129648,129660,129664,129674,129678,129734,129736,129736,129741,129756,129759,129770,129775,129784,131072,196605,196608,262141],at=(e,t)=>{let n=0,r=Math.floor(e.length/2)-1;for(;n<=r;){let i=Math.floor((n+r)/2),a=i*2;if(t<e[a])r=i-1;else if(t>e[a+1])n=i+1;else return!0}return!1},ot=et[0],st=et.at(-1),ct=tt[0],lt=tt.at(-1);nt[0],nt.at(-1),rt[0],rt.at(-1);const ut=it[0],dt=it.at(-1),ft=19968,[pt,mt]=ht(it);function ht(e){let t=e[0],n=e[1];for(let r=0;r<e.length;r+=2){let i=e[r],a=e[r+1];if(ft>=i&&ft<=a)return[i,a];a-i>n-t&&(t=i,n=a)}return[t,n]}const gt=e=>e<ot||e>st?!1:at(et,e),_t=e=>e<ct||e>lt?!1:at(tt,e),vt=e=>e>=pt&&e<=mt?!0:e<ut||e>dt?!1:at(it,e);function yt(e){if(!Number.isSafeInteger(e))throw TypeError(`Expected a code point, got \`${typeof e}\`.`)}function bt(e,{ambiguousAsWide:t=!1}={}){return yt(e),_t(e)||vt(e)||t&>(e)?2:1}const xt=new Intl.Segmenter,St=RegExp(`[^\\p{Default_Ignorable_Code_Point}\\p{Control}\\p{Format}\\p{Nonspacing_Mark}\\p{Enclosing_Mark}\\p{Surrogate}]`,`v`),Ct=RegExp(`\\p{Spacing_Mark}`,`v`),wt=RegExp(`^\\p{RGI_Emoji}$`,`v`),Tt=/^[\d#*]\u20E3$/,Et=/\p{Extended_Pictographic}/gu;function Dt(e){if(e.length>50)return!1;if(Tt.test(e))return!0;if(e.includes(``)){let t=e.match(Et);return t!==null&&t.length>=2}return!1}function Ot(e){let t=e.search(St);return t===-1?void 0:e.slice(t)}function kt(e){return e>=4352&&e<=4447||e>=43360&&e<=43388}function At(e){return e>=4448&&e<=4519||e>=55216&&e<=55238}function jt(e){return e>=4520&&e<=4607||e>=55243&&e<=55291}function Mt(e){return kt(e)||At(e)||jt(e)}function Nt(e,t){let n=[];for(let t of e)St.test(t)&&n.push(t.codePointAt(0));if(n.length===0)return;let r=0;for(let e=0;e<n.length;e++){let i=n[e];if(!Mt(i)){if(r===0)return;for(let i=e;i<n.length;i++)r+=bt(n[i],t);return r}if(kt(i)&&At(n[e+1])){r+=2,e+=jt(n[e+2])?2:1;continue}r+=bt(i,t)}return r}function Pt(e,t){let n=0,r=!0;for(let i of e){if(r){r=!1;continue}(Ct.test(i)||i>=``&&i<=``)&&(n+=bt(i.codePointAt(0),t))}return n}function Ft(e,t={}){if(typeof e!=`string`||e.length===0)return 0;let{ambiguousIsNarrow:n=!0,countAnsiEscapeCodes:r=!1}=t,i=e;if(!r&&(i.includes(`\x1B`)||i.includes(``))&&(i=$e(i)),i.length===0)return 0;if(/^[\u0020-\u007E]*$/.test(i))return i.length;let a=0,o={ambiguousAsWide:!n};for(let{segment:e}of xt.segment(i)){let t=Ot(e);if(t===void 0)continue;if(wt.test(e)||Dt(e)){a+=2;continue}let n=Nt(t,o);if(n!==void 0){a+=n;continue}let r=t.codePointAt(0);a+=bt(r,o),a+=Pt(t,o)}return a}const It=new Map;function k(e){if(e.length===0)return 0;if(e.length<=64){let t=It.get(e);if(t!==void 0)return t}let t=Ft(e);return e.length<=64&&(It.size>=4096&&It.clear(),It.set(e,t)),t}function Lt(e){return e}function A(e){return e}function Rt(e){return e>0?Math.floor(e):0}function zt(e,t){if(t<=0)return[``,e];if(t>=k(e))return[e,``];let n=0,r=0;for(let i of e){let e=k(i);if(n+e>t)break;n+=e,r+=i.length}let i=e.slice(0,r),a=e.slice(r);return n<t?[i+` `.repeat(t-n),a]:[i,a]}function Bt(e,t){if(t<=0||e.length===0)return[e];let n=[],r=A(0);for(;r<e.length;){let i=Ht(e,r,t);n.push(e.slice(r,i)),r=i}return n}function Vt(e,t,n){let r=0,i=t;for(;i<e.length;){let t=e.codePointAt(i),a=String.fromCodePoint(t),o=k(a);if(r+o>n)break;r+=o,i=A(i+a.length)}return i}function Ht(e,t,n){return A(Math.max(Vt(e,t,n),Ut(e,t)))}function Ut(e,t){return t>=e.length?A(e.length):A(t+(e.codePointAt(t)>65535?2:1))}var Wt=class{name;dark;vars;constructor(e,t,n){this.name=e,this.dark=t,this.vars=new Map(n)}get(e){return this.vars.get(e)}};function Gt(e){return e.toString(16).padStart(2,`0`)}function Kt(e,t){if(!Number.isInteger(t)||t<0||t>255)throw RangeError(`ColorRgba.${e} must be an integer in [0, 255]; got ${t}`)}var j=class e{red;green;blue;alpha;constructor(e,t,n,r=1){if(this.red=e,this.green=t,this.blue=n,this.alpha=r,Kt(`red`,e),Kt(`green`,t),Kt(`blue`,n),!Number.isFinite(r)||r<0||r>1)throw RangeError(`ColorRgba.alpha must be a finite number in [0, 1]; got ${r}`)}get hex(){let e=`#`+Gt(this.red)+Gt(this.green)+Gt(this.blue);return this.alpha===1?e:e+Gt(Math.round(this.alpha*255))}get rgb(){return this.alpha===1?`rgb(${this.red},${this.green},${this.blue})`:`rgba(${this.red},${this.green},${this.blue},${this.alpha})`}get normalized(){return[this.red/255,this.green/255,this.blue/255,this.alpha]}compositeOver(t){if(this.alpha===1)return this;let n=this.alpha;return new e(Math.round(t.red+(this.red-t.red)*n),Math.round(t.green+(this.green-t.green)*n),Math.round(t.blue+(this.blue-t.blue)*n),1)}};const qt=new j(0,0,0);function Jt(e){let t=e=>{let t=e/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4};return .2126*t(e.red)+.7152*t(e.green)+.0722*t(e.blue)}function Yt(e,t){return Xt(Jt(e),Jt(t))}function Xt(e,t){return(Math.max(e,t)+.05)/(Math.min(e,t)+.05)}function Zt(e,t,n){return e.size>=4096&&e.clear(),e.set(t,n),n}function Qt(e,t){let n=e.red-t.red,r=e.green-t.green,i=e.blue-t.blue;return n*n+r*r+i*i}var $t=class{colors;firstIndex;matchCache=new Map;readableCache=new Map;constructor(e,t=0){this.colors=e,this.firstIndex=t}get(e){return this.colors[e-this.firstIndex]}luminanceCache;luminances(){return this.luminanceCache??=this.colors.map(Jt),this.luminanceCache}get size(){return this.colors.length}match(e){let t=`${e.red},${e.green},${e.blue},${e.alpha}`,n=this.matchCache.get(t);if(n!==void 0)return n;let r=0,i=1/0;for(let t=0;t<this.colors.length;t++){let n=this.colors[t],a=Qt(n,e);a<i&&(i=a,r=t)}return Zt(this.matchCache,t,this.firstIndex+r)}matchReadable(e,t,n){let r=`${e.red},${e.green},${e.blue}|${t.red},${t.green},${t.blue}|${n}`,i=this.readableCache.get(r);if(i!==void 0)return i;let a=Jt(t),o=0,s=!1,c=-1/0;for(let t=0;t<this.colors.length;t++){let r=this.colors[t],i=this.luminances()[t],l=Xt(i,a),u=l>=n,d=u?-Qt(r,e):l;(u&&!s||u===s&&d>c)&&(o=t,s=u,c=d)}return Zt(this.readableCache,r,this.firstIndex+o)}matchWhere(e,t){let n=this.colors.map(t=>Qt(t,e)),r=[...n.keys()].sort((e,t)=>n[e]-n[t]).find(e=>t(this.colors[e],this.firstIndex+e));return r===void 0?void 0:this.firstIndex+r}},M;(function(e){e[e.DEFAULT=0]=`DEFAULT`,e[e.STANDARD=1]=`STANDARD`,e[e.EIGHT_BIT=2]=`EIGHT_BIT`,e[e.TRUECOLOR=3]=`TRUECOLOR`,e[e.WINDOWS=4]=`WINDOWS`})(M||={});const en={truecolor:M.TRUECOLOR,256:M.EIGHT_BIT,ansi:M.STANDARD,none:null,0:null,false:null,1:M.STANDARD,true:M.STANDARD,2:M.EIGHT_BIT,3:M.TRUECOLOR,"iTerm.app":M.TRUECOLOR,Apple_Terminal:M.EIGHT_BIT,vscode:M.TRUECOLOR,Tabby:M.TRUECOLOR,"xterm-kitty":M.TRUECOLOR,"xterm-ghostty":M.TRUECOLOR,wezterm:M.TRUECOLOR,alacritty:M.TRUECOLOR,foot:M.TRUECOLOR,contour:M.TRUECOLOR};function tn(e={}){let t=N(e).NO_COLOR;if(t!==void 0&&t!==``)return null;let n=nn(N(e));return n===void 0?rn(e):n}function nn(e){let t=e.FORCE_COLOR;if(t===void 0||t===``)return;let n=en[t];return n===void 0?M.STANDARD:n}function N(e){return e.env??(typeof process<`u`?process.env:{})}function rn(e){let t=N(e);if(!(e.isTTY??(typeof process<`u`?process.stdout?.isTTY??!1:!1)))return null;let n=t.TERM??``;if(n===`dumb`||n===`unknown`)return null;let r=t.COLORTERM;if(r===`truecolor`||r===`24bit`)return M.TRUECOLOR;let i=en[n];if(i!==void 0)return i;let a=t.TERM_PROGRAM;if(a!==void 0){let e=en[a];if(e!==void 0)return e}return/-256(color)?$/i.test(n)?M.EIGHT_BIT:/-truecolor$/i.test(n)?M.TRUECOLOR:(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(n),M.STANDARD)}function an(e,t){return e===`auto`?{colorSystem:tn(t),hyperlinks:(nn(N(t??{}))??null)!==null||rn(t??{})!==null}:{colorSystem:typeof e==`string`?on(e):e,hyperlinks:!0}}function on(e,t){if(e===`auto`)return tn(t);if(Object.hasOwn(en,e))return en[e];throw new sn(`Unknown color depth spec: ${JSON.stringify(e)} (expected "auto", "truecolor", "256", "ansi", or "none")`)}var sn=class extends Error{constructor(e){super(e),this.name=`ColorParseError`}};const cn=new Map;var P=class e{name;type;number;value;downgradeCache=new Map;constructor(e,t,n,r){this.name=e,this.type=t,this.number=n,this.value=r}get isDefault(){return this.type===M.DEFAULT}get fixedValue(){switch(this.type){case M.TRUECOLOR:return this.value;case M.EIGHT_BIT:return this.number<16?void 0:xn.get(this.number);case M.DEFAULT:case M.STANDARD:case M.WINDOWS:return}}get isSystemDefined(){return this.type===M.STANDARD||this.type===M.WINDOWS}getAnsiCodes(e=!0){switch(this.type){case M.DEFAULT:return[e?`39`:`49`];case M.STANDARD:{let t=this.number;return e?t<8?[`${30+t}`]:[`${90+t-8}`]:t<8?[`${40+t}`]:[`${100+t-8}`]}case M.EIGHT_BIT:return[e?`38`:`48`,`5`,`${this.number}`];case M.TRUECOLOR:{let t=this.value;return[e?`38`:`48`,`2`,`${t.red}`,`${t.green}`,`${t.blue}`]}case M.WINDOWS:{let t=this.number;return e?t<8?[`${30+t}`]:[`${90+t-8}`]:t<8?[`${40+t}`]:[`${100+t-8}`]}}}flattenAlpha(t){if(this.type!==M.TRUECOLOR||!this.value)return this;let n=this.value.compositeOver(t);return n===this.value?this:e.fromRgba(n)}downgrade(e){if(this.type===M.DEFAULT||this.type<=e)return this;let t=this.downgradeCache.get(e);if(t)return t;let n=this.performDowngrade(e);return this.downgradeCache.set(e,n),n}getTruecolor(e,t=!0){switch(this.type){case M.TRUECOLOR:return this.value;case M.EIGHT_BIT:return xn.get(this.number);case M.STANDARD:return(e??I).ansiColors.get(this.number);case M.DEFAULT:{let n=e??I;return t?n.foregroundColor:n.backgroundColor}case M.WINDOWS:return(e??I).ansiColors.get(this.number)}}static default(){return new e(`default`,M.DEFAULT)}static fromAnsi(t){let n=t<16?M.STANDARD:M.EIGHT_BIT;return new e(`color(${t})`,n,t)}static fromRgba(t){return new e(t.hex,M.TRUECOLOR,void 0,t)}static fromRgb(t,n,r){return e.fromRgba(new j(t,n,r))}static parse(e){let t=e.toLowerCase().trim(),n=cn.get(t);if(n)return n;let r=pn(t);return cn.set(t,r),r}performDowngrade(t){let n=this.getTruecolor();switch(t){case M.EIGHT_BIT:{let t=Sn.match(n);return e.fromAnsi(t)}case M.STANDARD:{let t=bn.match(n);return new e(`color(${t})`,M.STANDARD,t)}case M.WINDOWS:case M.TRUECOLOR:return this;case M.DEFAULT:return e.default()}}};const ln=/^#([0-9a-f]{6})$/,un=/^#([0-9a-f]{8})$/,dn=/^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/,fn=/^color\((\d{1,3})\)$/;function pn(e){if(e===`default`||e===``)return P.default();let t=wn[e];if(t!==void 0)return new P(e,t<16?M.STANDARD:M.EIGHT_BIT,t);let n=un.exec(e);if(n)return new P(e,M.TRUECOLOR,void 0,F(n[1]));let r=ln.exec(e);if(r)return new P(e,M.TRUECOLOR,void 0,mn(r[1]));let i=dn.exec(e);if(i){let t=parseInt(i[1],10),n=parseInt(i[2],10),r=parseInt(i[3],10);return new P(e,M.TRUECOLOR,void 0,new j(t,n,r))}let a=fn.exec(e);if(a){let t=parseInt(a[1],10);if(t>255)throw new sn(`ColorSpec number ${t} is out of range (0-255)`);return new P(e,t<16?M.STANDARD:M.EIGHT_BIT,t)}throw new sn(`Failed to parse color: "${e}"`)}function mn(e){return new j(parseInt(e.slice(0,2),16),parseInt(e.slice(2,4),16),parseInt(e.slice(4,6),16))}function F(e){return new j(parseInt(e.slice(0,2),16),parseInt(e.slice(2,4),16),parseInt(e.slice(4,6),16),parseInt(e.slice(6,8),16)/255)}function hn(e,t,n=.5){return new j(Math.round(e.red+(t.red-e.red)*n),Math.round(e.green+(t.green-e.green)*n),Math.round(e.blue+(t.blue-e.blue)*n),e.alpha+(t.alpha-e.alpha)*n)}var gn=class{backgroundColor;foregroundColor;ansiColors;palette;constructor(e,t,n,r){this.backgroundColor=e,this.foregroundColor=t,this.ansiColors=n,this.palette=r}};function _n(){return[new j(0,0,0),new j(128,0,0),new j(0,128,0),new j(128,128,0),new j(0,0,128),new j(128,0,128),new j(0,128,128),new j(192,192,192),new j(128,128,128),new j(255,0,0),new j(0,255,0),new j(255,255,0),new j(0,0,255),new j(255,0,255),new j(0,255,255),new j(255,255,255)]}function vn(){let e=_n(),t=[0,95,135,175,215,255];for(let n=0;n<6;n++)for(let r=0;r<6;r++)for(let i=0;i<6;i++)e.push(new j(t[n],t[r],t[i]));for(let t=0;t<24;t++){let n=8+10*t;e.push(new j(n,n,n))}return e}function yn(){return[new j(0,0,0),new j(0,0,128),new j(0,128,0),new j(0,128,128),new j(128,0,0),new j(128,0,128),new j(128,128,0),new j(192,192,192),new j(128,128,128),new j(0,0,255),new j(0,255,0),new j(0,255,255),new j(255,0,0),new j(255,0,255),new j(255,255,0),new j(255,255,255)]}const bn=new $t(_n()),xn=new $t(vn()),Sn=new $t(vn().slice(16),16);new $t(yn());const I=new gn(new j(0,0,0),new j(255,255,255),bn,new Wt(`default`,!0,new Map));function Cn(e){let t=Object.entries(e).filter(([e])=>e.includes(`grey`)).map(([e,t])=>[e.replace(`grey`,`gray`),t]);return{...e,...Object.fromEntries(t)}}const wn=Cn({black:0,red:1,green:2,yellow:3,blue:4,magenta:5,cyan:6,white:7,bright_black:8,bright_red:9,bright_green:10,bright_yellow:11,bright_blue:12,bright_magenta:13,bright_cyan:14,bright_white:15,grey0:16,navy_blue:17,dark_blue:18,blue3:19,blue2:20,blue1:21,dark_green:22,deep_sky_blue4:23,deep_sky_blue5:24,deep_sky_blue6:25,dodger_blue3:26,dodger_blue2:27,green4:28,spring_green4:29,turquoise4:30,deep_sky_blue3:31,deep_sky_blue7:32,dodger_blue1:33,green3:34,spring_green3:35,dark_cyan:36,light_sea_green:37,deep_sky_blue2:38,deep_sky_blue1:39,green5:40,spring_green5:41,spring_green2:42,cyan3:43,dark_turquoise:44,turquoise2:45,green1:46,spring_green6:47,spring_green1:48,medium_spring_green:49,cyan2:50,cyan1:51,dark_red:52,deep_pink4:53,purple4:54,purple5:55,purple3:56,blue_violet:57,orange4:58,grey37:59,medium_purple4:60,slate_blue3:61,slate_blue4:62,royal_blue1:63,chartreuse4:64,dark_sea_green4:65,pale_turquoise4:66,steel_blue:67,steel_blue3:68,cornflower_blue:69,chartreuse3:70,dark_sea_green5:71,cadet_blue:72,cadet_blue2:73,sky_blue3:74,steel_blue1:75,chartreuse5:76,pale_green3:77,sea_green3:78,aquamarine3:79,medium_turquoise:80,steel_blue2:81,chartreuse2:82,sea_green2:83,sea_green1:84,sea_green4:85,aquamarine1:86,dark_slate_gray2:87,dark_red2:88,deep_pink5:89,dark_magenta:90,dark_magenta2:91,dark_violet:92,purple2:93,orange5:94,light_pink4:95,plum4:96,medium_purple3:97,medium_purple5:98,slate_blue1:99,yellow4:100,wheat4:101,grey53:102,light_slate_grey:103,medium_purple:104,light_slate_blue:105,yellow5:106,dark_olive_green3:107,dark_sea_green:108,light_sky_blue3:109,light_sky_blue4:110,sky_blue2:111,chartreuse6:112,dark_olive_green4:113,pale_green4:114,dark_sea_green3:115,dark_slate_gray3:116,sky_blue1:117,chartreuse1:118,light_green:119,light_green2:120,pale_green1:121,aquamarine2:122,dark_slate_gray1:123,red3:124,deep_pink6:125,medium_violet_red:126,magenta3:127,dark_violet2:128,purple:129,dark_orange3:130,indian_red:131,hot_pink3:132,medium_orchid3:133,medium_orchid:134,medium_purple2:135,dark_goldenrod:136,light_salmon3:137,rosy_brown:138,grey63:139,medium_purple6:140,medium_purple1:141,gold3:142,dark_khaki:143,navajo_white3:144,grey69:145,light_steel_blue3:146,light_steel_blue:147,yellow3:148,dark_olive_green5:149,dark_sea_green6:150,dark_sea_green2:151,light_cyan3:152,light_sky_blue1:153,green_yellow:154,dark_olive_green2:155,pale_green2:156,dark_sea_green7:157,dark_sea_green1:158,pale_turquoise1:159,red4:160,deep_pink3:161,deep_pink8:162,magenta4:163,magenta5:164,magenta2:165,dark_orange4:166,indian_red2:167,hot_pink4:168,hot_pink2:169,orchid:170,medium_orchid1:171,orange3:172,light_salmon4:173,light_pink3:174,pink3:175,plum3:176,violet:177,gold4:178,light_goldenrod3:179,tan:180,misty_rose3:181,thistle3:182,plum2:183,yellow6:184,khaki3:185,light_goldenrod2:186,light_yellow3:187,grey84:188,light_steel_blue1:189,yellow2:190,dark_olive_green1:191,dark_olive_green6:192,dark_sea_green8:193,honeydew2:194,light_cyan1:195,red1:196,deep_pink2:197,deep_pink1:198,deep_pink9:199,magenta6:200,magenta1:201,orange_red1:202,indian_red1:203,indian_red3:204,hot_pink5:205,hot_pink:206,medium_orchid2:207,dark_orange:208,salmon1:209,light_coral:210,pale_violet_red1:211,orchid2:212,orchid1:213,orange1:214,sandy_brown:215,light_salmon1:216,light_pink1:217,pink1:218,plum1:219,gold1:220,light_goldenrod4:221,light_goldenrod5:222,navajo_white1:223,misty_rose1:224,thistle1:225,yellow1:226,light_goldenrod1:227,khaki1:228,wheat1:229,cornsilk1:230,grey100:231,grey3:232,grey7:233,grey11:234,grey15:235,grey19:236,grey23:237,grey27:238,grey30:239,grey35:240,grey39:241,grey42:242,grey46:243,grey50:244,grey54:245,grey58:246,grey62:247,grey66:248,grey70:249,grey74:250,grey78:251,grey82:252,grey85:253,grey89:254,grey93:255}),Tn=[`default`,...Object.keys(wn)];var En;const Dn=[`l`,`c`,`h`,`alpha`],On=Object.freeze({hueShift:0,chromaScale:1,lightnessScale:1,lightnessShift:0});Object.freeze({hueShift:0,chromaScale:1,lightnessScale:-1,lightnessShift:1});function kn(e){return e.hueShift%360==0&&e.chromaScale===1&&e.lightnessScale===1&&e.lightnessShift===0}function An(e){return e<=.04045?e/12.92:((e+.055)/1.055)**2.4}function jn(e){return e<=.0031308?12.92*e:1.055*e**(1/2.4)-.055}function Mn(e){return e<0?0:e>1?1:e}const Nn=1e-4,Pn=1e-7,Fn=(e,t)=>e<Pn?0:t,In=(e,t,n)=>e*(1-n)+t*n,L=e=>{let t=e%360;return t<0?t+360:t};function Ln(e,t,n){return e>=-Nn&&e<=1+Nn&&t>=-Nn&&t<=1+Nn&&n>=-Nn&&n<=1+Nn}var R=class{l;c;h;alpha;constructor(e,t,n,r=1){if(this.l=e,this.c=t,this.h=n,this.alpha=r,!Number.isFinite(e))throw RangeError(`Oklch.l must be finite; got ${e}`);if(!Number.isFinite(t))throw RangeError(`Oklch.c must be finite; got ${t}`);if(!Number.isFinite(n))throw RangeError(`Oklch.h must be finite; got ${n}`);if(!Number.isFinite(r)||r<0||r>1)throw RangeError(`Oklch.alpha must be a finite number in [0,1]; got ${r}`)}static fromRgba(e){let[t,n,r,i]=e.normalized,a=An(t),o=An(n),s=An(r),c=.4122214708*a+.5363325363*o+.0514459929*s,l=.2119034982*a+.6806995451*o+.1073969566*s,u=.0883024619*a+.2817188376*o+.6299787005*s,d=Math.cbrt(c),f=Math.cbrt(l),p=Math.cbrt(u),m=.2104542553*d+.793617785*f-.0040720468*p,h=1.9779984951*d-2.428592205*f+.4505937099*p,g=.0259040371*d+.7827717662*f-.808675766*p,_=Math.sqrt(h*h+g*g),v=L(180/Math.PI*Math.atan2(g,h));return new En(m,_,Fn(_,v),i)}toRgba(){let e=Mn(this.l),t=Math.max(0,this.c),n=this.findInGamutChroma(e,t,this.h),{r,g:i,b:a}=this.toLinearRgb(e,n,this.h);return new j(Math.round(Mn(jn(r))*255),Math.round(Mn(jn(i))*255),Math.round(Mn(jn(a))*255),this.alpha)}applyKey(e){if(kn(e))return this;let t=Mn(this.l*e.lightnessScale+e.lightnessShift),n=Math.max(0,this.c*e.chromaScale),r=L(this.h+e.hueShift);return new En(t,n,Fn(n,r),this.alpha)}mix(e,t){if(!(t>=0&&t<=1))throw RangeError(`Oklch.mix: t must be in [0, 1]; got ${t}`);return this.#e(e,t,t,t,t)}mixAxes(e,t){for(let e of Dn){let n=t[e];if(!(n>=0&&n<=1))throw RangeError(`Oklch.mixAxes: ${e} weight must be in [0, 1]; got ${n}`)}return this.#e(e,t.l,t.c,t.h,t.alpha)}#e(e,t,n,r,i){let a=this.c>=Pn,o=e.c>=Pn,s=L(a?this.h:o?e.h:0),c=L(o?e.h:s),l=c-s,u=l<-180?s-360:s,d=l>180?c-360:c,f=In(this.c,e.c,n);return new En(In(this.l,e.l,t),f,Fn(f,L(In(u,d,r))),In(this.alpha,e.alpha,i))}deltaE(e){let t=this.h*Math.PI/180,n=e.h*Math.PI/180;return Math.hypot(this.l-e.l,this.c*Math.cos(t)-e.c*Math.cos(n),this.c*Math.sin(t)-e.c*Math.sin(n))}toLinearRgb(e,t,n){let r=Math.PI/180*n,i=t*Math.cos(r),a=t*Math.sin(r),o=e+.3963377774*i+.2158037573*a,s=e-.1055613458*i-.0638541728*a,c=e-.0894841775*i-1.291485548*a,l=o*o*o,u=s*s*s,d=c*c*c;return{r:4.0767416621*l-3.3077115913*u+.2309699292*d,g:-1.2684380046*l+2.6097574011*u-.3413193965*d,b:-.0041960863*l-.7034186147*u+1.707614701*d}}findInGamutChroma(e,t,n){let r=this.toLinearRgb(e,t,n);if(Ln(r.r,r.g,r.b))return t;let i=0,a=t;for(let t=0;t<24;t++){let t=(i+a)/2,r=this.toLinearRgb(e,t,n);Ln(r.r,r.g,r.b)?i=t:a=t}return i}};En=R;var Rn=class extends Error{ref;constructor(e,t){super(`color reference ${JSON.stringify(e)} did not resolve — ${t}`),this.ref=e,this.name=`ColorRefError`}};const zn=/^#[0-9a-fA-F]{6}([0-9a-fA-F]{2})?$/;function Bn(e){let t=e.trim();if(!zn.test(t))throw new Rn(e,`expected #RRGGBB or #RRGGBBAA`);let n=t.slice(1);return t.length>7?F(n):mn(n)}function Vn(e,t){let n=t.trim();if(n.startsWith(`#`))return Bn(n);let r=e.get(n);if(r===void 0)throw new Rn(t,`no such variable in palette ${JSON.stringify(e.name)}`+Hn(e,n));return r}function Hn(e,t){let n=t.split(`-`),r=[...e.vars.keys()].filter(e=>n.some(t=>t!==``&&e.includes(t))).slice(0,8);return r.length===0?``:`; did you mean: ${r.join(`, `)}`}function z(e){let t=e.red/255,n=e.green/255,r=e.blue/255,i=Math.max(t,n,r),a=Math.min(t,n,r),o=(i+a)/2,s=i-a;if(s===0)return{h:0,s:0,l:o};let c=s/(o>.5?2-i-a:i+a),l;return l=i===t?(n-r)/s%6:i===n?(r-t)/s+2:(t-n)/s+4,l=(l*60+360)%360,{h:l,s:c,l:o}}function Un(e){let t=Math.round(e);return t<0?0:t>255?255:t}function Wn(e){let{h:t,s:n,l:r}=e;if(n===0){let e=Un(r*255);return new j(e,e,e)}let i=(1-Math.abs(2*r-1))*n,a=t/60,o=i*(1-Math.abs(a%2-1)),s=0,c=0,l=0;a<1?[s,c,l]=[i,o,0]:a<2?[s,c,l]=[o,i,0]:a<3?[s,c,l]=[0,i,o]:a<4?[s,c,l]=[0,o,i]:a<5?[s,c,l]=[o,0,i]:[s,c,l]=[i,0,o];let u=r-i/2;return new j(Un((s+u)*255),Un((c+u)*255),Un((l+u)*255))}function Gn(e){return e<0?0:e>1?1:e}function Kn(e,t){let n=z(e);return n.l=Gn(n.l-.1*t),Wn(n)}function qn(e,t=qt){return Jt(Zn(e,t))>.179?new j(0,0,0):new j(255,255,255)}function Jn(e,t,n=4.5,r=M.TRUECOLOR,i=qt){let a=Zn(t,i),o=$n(e,a,n),s=Qn[r];if(s===void 0)return o;let c=Xn(a,r,i);return Yt(Xn(o,r,i),c)>=n?o:s.get(s.matchReadable(o,c,n))}function Yn(e,t,n,r=qt){let i=Zn(e,r),a=e=>Xn(e,t,r);if(n(a(i),a))return i;let o=Qn[t],s=o?.matchWhere(i,e=>n(e,a));return s===void 0?void 0:o.get(s)}function Xn(e,t,n=qt){let r=Zn(e,n),i=Qn[t];return i===void 0?r:i.get(i.match(r))}function Zn(e,t){if(t.alpha!==1)throw RangeError(`a contrast substrate is the opaque surface under a translucent background; got ${t.hex}`);return e.compositeOver(t)}const Qn={[M.EIGHT_BIT]:Sn,[M.STANDARD]:bn};function $n(e,t,n){let r=e.compositeOver(t);if(Yt(r,t)>=n)return r;let i=R.fromRgba(r),a=Jt(t)>.179?0:1;if(Yt(new R(a,i.c,i.h,i.alpha).toRgba(),t)<n)return qn(t);let o=i.l,s=a;for(let e=0;e<20;e++){let e=(o+s)/2;Yt(new R(e,i.c,i.h,i.alpha).toRgba(),t)>=n?s=e:o=e}return new R(s,i.c,i.h,i.alpha).toRgba()}const er={"atom-one-dark":{name:`atom-one-dark`,dark:!0,vars:{accent:`#A378C2`,"accent-darken-1":`#8E65AD`,"accent-darken-2":`#7A5299`,"accent-darken-3":`#674085`,"accent-lighten-1":`#B78BD6`,"accent-lighten-2":`#CC9FEC`,"accent-lighten-3":`#E2B3FF`,"accent-muted":`#4C425E`,background:`#282C34`,"background-darken-1":`#181C23`,"background-darken-2":`#050A14`,"background-darken-3":`#000000`,"background-lighten-1":`#383C44`,"background-lighten-2":`#494D56`,"background-lighten-3":`#5B5F68`,"block-cursor-background":`#61AFEF`,"block-cursor-blurred-background":`#61AFEF4C`,"block-cursor-blurred-foreground":`#ABB2BF`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#61AFEF`,"border-blurred":`#353B47`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#ABB2BF`,error:`#EF6262`,"error-darken-1":`#D84D50`,"error-darken-2":`#C1373E`,"error-darken-3":`#AA1F2E`,"error-lighten-1":`#FF7674`,"error-lighten-2":`#FF8B87`,"error-lighten-3":`#FFA09B`,"error-muted":`#643C41`,"footer-background":`#4F5666`,"footer-description-background":`#00000000`,"footer-description-foreground":`#ABB2BF`,"footer-foreground":`#ABB2BF`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#A378C2`,foreground:`#ABB2BF`,"foreground-darken-1":`#979DAA`,"foreground-darken-2":`#838A96`,"foreground-darken-3":`#707783`,"foreground-disabled":`#ABB2BF60`,"foreground-lighten-1":`#BFC6D3`,"foreground-lighten-2":`#D4DBE8`,"foreground-lighten-3":`#E9F0FE`,"foreground-muted":`#ABB2BF99`,"input-cursor-background":`#ABB2BF`,"input-cursor-foreground":`#282C34`,"input-selection-background":`#77C3FF66`,"link-background":`#00000000`,"link-background-hover":`#61AFEF`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#61AFEF`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#61AFEF`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#61AFEF`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#ABB2BF`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#ABB2BF`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#ABB2BF99`,panel:`#4F5666`,"panel-darken-1":`#3D4453`,"panel-darken-2":`#2C3342`,"panel-darken-3":`#1C2331`,"panel-lighten-1":`#616878`,"panel-lighten-2":`#737A8B`,"panel-lighten-3":`#868E9F`,primary:`#61AFEF`,"primary-background":`#4F5B6A`,"primary-background-darken-1":`#3F4D5D`,"primary-background-darken-2":`#303F50`,"primary-background-darken-3":`#303F50`,"primary-background-lighten-1":`#5E6A77`,"primary-background-lighten-2":`#6E7884`,"primary-background-lighten-3":`#7D8791`,"primary-darken-1":`#489BD9`,"primary-darken-2":`#2C87C4`,"primary-darken-3":`#0074AF`,"primary-lighten-1":`#77C3FF`,"primary-lighten-2":`#8ED8FF`,"primary-lighten-3":`#A4EDFF`,"primary-muted":`#39536C`,scrollbar:`#355674`,"scrollbar-active":`#61AFEF`,"scrollbar-background":`#181C23`,"scrollbar-background-active":`#181C23`,"scrollbar-background-hover":`#181C23`,"scrollbar-corner-color":`#181C23`,"scrollbar-hover":`#3C6589`,secondary:`#C678DD`,"secondary-background":`#5B5567`,"secondary-background-darken-1":`#4D465A`,"secondary-background-darken-2":`#3F374D`,"secondary-background-darken-3":`#3F374D`,"secondary-background-lighten-1":`#6A6475`,"secondary-background-lighten-2":`#787382`,"secondary-background-lighten-3":`#87828F`,"secondary-darken-1":`#B064C7`,"secondary-darken-2":`#9B50B3`,"secondary-darken-3":`#873D9E`,"secondary-lighten-1":`#DB8CF2`,"secondary-lighten-2":`#F1A0FF`,"secondary-lighten-3":`#FFB5FF`,"secondary-muted":`#574266`,success:`#62F062`,"success-darken-1":`#48DA4D`,"success-darken-2":`#29C438`,"success-darken-3":`#00AF22`,"success-lighten-1":`#7AFF76`,"success-lighten-2":`#91FF8A`,"success-lighten-3":`#A8FF9F`,"success-muted":`#396641`,surface:`#3B414D`,"surface-active":`#484E5B`,"surface-darken-1":`#2A303B`,"surface-darken-2":`#1A202B`,"surface-darken-3":`#09101B`,"surface-lighten-1":`#4C525E`,"surface-lighten-2":`#5E6471`,"surface-lighten-3":`#707684`,text:`#FFFFFFDD`,"text-accent":`#C2A5D6`,"text-disabled":`#FFFFFF60`,"text-error":`#F59797`,"text-muted":`#FFFFFF99`,"text-primary":`#96CAF4`,"text-secondary":`#D9A5E8`,"text-success":`#97F597`,"text-warning":`#E9CC92`,warning:`#DDB25B`,"warning-darken-1":`#C79D47`,"warning-darken-2":`#B28A34`,"warning-darken-3":`#9C7721`,"warning-lighten-1":`#F4C66E`,"warning-lighten-2":`#FFDB82`,"warning-lighten-3":`#FFF096`,"warning-muted":`#5E543F`}},"atom-one-light":{name:`atom-one-light`,dark:!1,vars:{accent:`#BE9232`,"accent-darken-1":`#A97E1D`,"accent-darken-2":`#936B01`,"accent-darken-3":`#7E5900`,"accent-lighten-1":`#D5A545`,"accent-lighten-2":`#EBB959`,"accent-lighten-3":`#FFCE6C`,"accent-muted":`#E8DABE`,background:`#FAFAFA`,"background-darken-1":`#E4E4E4`,"background-darken-2":`#CFCFCF`,"background-darken-3":`#BABABA`,"background-lighten-1":`#FFFFFF`,"background-lighten-2":`#FFFFFF`,"background-lighten-3":`#FFFFFF`,"block-cursor-background":`#4078F2`,"block-cursor-blurred-background":`#4078F24C`,"block-cursor-blurred-foreground":`#383A42`,"block-cursor-foreground":`#000000DD`,"block-hover-background":`#00000019`,boost:`#0000000A`,"boost-darken-1":`#0000000A`,"boost-darken-2":`#0000000A`,"boost-darken-3":`#0000000A`,"boost-lighten-1":`#1616160A`,"boost-lighten-2":`#2525250A`,"boost-lighten-3":`#3535350A`,border:`#4078F2`,"border-blurred":`#D8D8D8`,"button-color-foreground":`#000000DD`,"button-foreground":`#383A42`,error:`#F13F3F`,"error-darken-1":`#D9232D`,"error-darken-2":`#C1001D`,"error-darken-3":`#A9000D`,"error-lighten-1":`#FF5650`,"error-lighten-2":`#FF6C62`,"error-lighten-3":`#FF8275`,"error-muted":`#F7C1C1`,"footer-background":`#CCCCCC`,"footer-description-background":`#00000000`,"footer-description-foreground":`#383A42`,"footer-foreground":`#383A42`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#BF9232`,foreground:`#383A42`,"foreground-darken-1":`#272931`,"foreground-darken-2":`#181A21`,"foreground-darken-3":`#040612`,"foreground-disabled":`#383A4260`,"foreground-lighten-1":`#494B53`,"foreground-lighten-2":`#5A5C65`,"foreground-lighten-3":`#6D6F78`,"foreground-muted":`#383A4299`,"input-cursor-background":`#383A42`,"input-cursor-foreground":`#FAFAFA`,"input-selection-background":`#5C8AFF66`,"link-background":`#00000000`,"link-background-hover":`#4078F2`,"link-color":`#000000DD`,"link-color-hover":`#000000DD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#4078F2`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#4078F2`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#4078F2`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#383A42`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#383A42`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#383A4299`,panel:`#CCCCCC`,"panel-darken-1":`#B7B7B7`,"panel-darken-2":`#A3A3A3`,"panel-darken-3":`#8F8F8F`,"panel-lighten-1":`#E1E1E1`,"panel-lighten-2":`#F6F6F6`,"panel-lighten-3":`#FFFFFF`,primary:`#4078F2`,"primary-background":`#4078F2`,"primary-background-darken-1":`#1865DC`,"primary-background-darken-2":`#0053C6`,"primary-background-darken-3":`#0043B1`,"primary-background-lighten-1":`#5C8AFF`,"primary-background-lighten-2":`#759EFF`,"primary-background-lighten-3":`#8DB2FF`,"primary-darken-1":`#1865DC`,"primary-darken-2":`#0053C6`,"primary-darken-3":`#0043B1`,"primary-lighten-1":`#5C8AFF`,"primary-lighten-2":`#759EFF`,"primary-lighten-3":`#8DB2FF`,"primary-muted":`#C2D3F7`,scrollbar:`#A2B8E9`,"scrollbar-active":`#4078F2`,"scrollbar-background":`#E4E4E4`,"scrollbar-background-active":`#E4E4E4`,"scrollbar-background-hover":`#E4E4E4`,"scrollbar-corner-color":`#E4E4E4`,"scrollbar-hover":`#92AEEB`,secondary:`#A626A4`,"secondary-background":`#A626A4`,"secondary-background-darken-1":`#90008F`,"secondary-background-darken-2":`#7B007C`,"secondary-background-darken-3":`#670069`,"secondary-background-lighten-1":`#BB3EB8`,"secondary-background-lighten-2":`#D154CD`,"secondary-background-lighten-3":`#E769E2`,"secondary-darken-1":`#90008F`,"secondary-darken-2":`#7B007C`,"secondary-darken-3":`#670069`,"secondary-lighten-1":`#BB3EB8`,"secondary-lighten-2":`#D154CD`,"secondary-lighten-3":`#E769E2`,"secondary-muted":`#E0BAE0`,success:`#6BF23F`,"success-darken-1":`#52DC25`,"success-darken-2":`#36C600`,"success-darken-3":`#05B100`,"success-lighten-1":`#83FF55`,"success-lighten-2":`#9BFF6B`,"success-lighten-3":`#B2FF80`,"success-muted":`#CFF7C1`,surface:`#E0E0E0`,"surface-active":`#F1F1F1`,"surface-darken-1":`#CACACA`,"surface-darken-2":`#B6B6B6`,"surface-darken-3":`#A2A2A2`,"surface-lighten-1":`#F5F5F5`,"surface-lighten-2":`#FFFFFF`,"surface-lighten-3":`#FFFFFF`,text:`#000000DD`,"text-accent":`#7E6021`,"text-disabled":`#00000060`,"text-error":`#9F2929`,"text-muted":`#00000099`,"text-primary":`#2A4F9F`,"text-secondary":`#6D196C`,"text-success":`#479F29`,"text-warning":`#8E8F24`,warning:`#D7D938`,"warning-darken-1":`#C1C41C`,"warning-darken-2":`#ABAF00`,"warning-darken-3":`#969B00`,"warning-lighten-1":`#EEEE4E`,"warning-lighten-2":`#FFFF64`,"warning-lighten-3":`#FFFF79`,"warning-muted":`#EFF0BF`}},"catppuccin-frappe":{name:`catppuccin-frappe`,dark:!0,vars:{accent:`#F4B8E4`,"accent-darken-1":`#DEA3CE`,"accent-darken-2":`#C98FBA`,"accent-darken-3":`#B47BA5`,"accent-lighten-1":`#FFCCF9`,"accent-lighten-2":`#FFE2FF`,"accent-lighten-3":`#FFF7FF`,"accent-muted":`#6A5B75`,background:`#303446`,"background-darken-1":`#1F2435`,"background-darken-2":`#101424`,"background-darken-3":`#000016`,"background-lighten-1":`#404457`,"background-lighten-2":`#525669`,"background-lighten-3":`#64687C`,"block-cursor-background":`#CA9EE6`,"block-cursor-blurred-background":`#CA9EE64C`,"block-cursor-blurred-foreground":`#C6D0F5`,"block-cursor-foreground":`#292C3C`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#BABBF1`,"border-blurred":`#838BA7`,"button-color-foreground":`#303446`,"button-foreground":`#C6D0F5`,error:`#E68284`,"error-darken-1":`#D06E71`,"error-darken-2":`#BA5A5E`,"error-darken-3":`#A4474C`,"error-lighten-1":`#FD9697`,"error-lighten-2":`#FFAAAB`,"error-lighten-3":`#FFBFBF`,"error-muted":`#664B58`,"footer-background":`#51576D`,"footer-description-background":`#00000000`,"footer-description-foreground":`#C6D0F5`,"footer-foreground":`#C6D0F5`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#F4B8E4`,foreground:`#C6D0F5`,"foreground-darken-1":`#B1BBDF`,"foreground-darken-2":`#9CA7CA`,"foreground-darken-3":`#8993B5`,"foreground-disabled":`#C6D0F560`,"foreground-lighten-1":`#DBE5FF`,"foreground-lighten-2":`#F0FAFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#C6D0F599`,"input-cursor-background":`#F2D5CF`,"input-cursor-foreground":`#232634`,"input-selection-background":`#949CBB4C`,"link-background":`#00000000`,"link-background-hover":`#CA9EE6`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#CA9EE6`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#CA9EE6`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#CA9EE6`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#C6D0F5`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#C6D0F5`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#C6D0F599`,panel:`#51576D`,"panel-darken-1":`#3F455A`,"panel-darken-2":`#2E3448`,"panel-darken-3":`#1D2437`,"panel-lighten-1":`#63697F`,"panel-lighten-2":`#767B93`,"panel-lighten-3":`#898FA7`,primary:`#CA9EE6`,"primary-background":`#625F76`,"primary-background-darken-1":`#54516A`,"primary-background-darken-2":`#47435E`,"primary-background-darken-3":`#47435E`,"primary-background-lighten-1":`#706D82`,"primary-background-lighten-2":`#7E7B8E`,"primary-background-lighten-3":`#8C899A`,"primary-darken-1":`#B58AD0`,"primary-darken-2":`#A076BB`,"primary-darken-3":`#8C63A7`,"primary-lighten-1":`#DFB2FB`,"primary-lighten-2":`#F4C7FF`,"primary-lighten-3":`#FFDCFF`,"primary-muted":`#5E5376`,scrollbar:`#63547B`,"scrollbar-active":`#CA9EE6`,"scrollbar-background":`#1F2435`,"scrollbar-background-active":`#1F2435`,"scrollbar-background-hover":`#1F2435`,"scrollbar-corner-color":`#1F2435`,"scrollbar-hover":`#74618D`,secondary:`#EE9F76`,"secondary-background":`#666067`,"secondary-background-darken-1":`#59525A`,"secondary-background-darken-2":`#4C444D`,"secondary-background-darken-3":`#4C444D`,"secondary-background-lighten-1":`#746E75`,"secondary-background-lighten-2":`#817C82`,"secondary-background-lighten-3":`#8F8A8F`,"secondary-darken-1":`#D88B63`,"secondary-darken-2":`#C27750`,"secondary-darken-3":`#AC643E`,"secondary-lighten-1":`#FFB389`,"secondary-lighten-2":`#FFC89D`,"secondary-lighten-3":`#FFDDB1`,"secondary-muted":`#695454`,success:`#A6D189`,"success-darken-1":`#91BC75`,"success-darken-2":`#7DA762`,"success-darken-3":`#6A9350`,"success-lighten-1":`#BAE69C`,"success-lighten-2":`#CFFBB1`,"success-lighten-3":`#E5FFC5`,"success-muted":`#53635A`,surface:`#414559`,"surface-active":`#4F5267`,"surface-darken-1":`#303447`,"surface-darken-2":`#1F2436`,"surface-darken-3":`#101526`,"surface-lighten-1":`#52566B`,"surface-lighten-2":`#64687E`,"surface-lighten-3":`#777B91`,text:`#FFFFFFDD`,"text-accent":`#F7D0ED`,"text-disabled":`#FFFFFF60`,"text-error":`#EFACAD`,"text-muted":`#FFFFFF99`,"text-primary":`#DCBEEE`,"text-secondary":`#F4BFA4`,"text-success":`#C4E0B1`,"text-warning":`#EDDAB5`,warning:`#E4C890`,"warning-darken-1":`#CFB37C`,"warning-darken-2":`#BA9F69`,"warning-darken-3":`#A58B56`,"warning-lighten-1":`#FADCA4`,"warning-lighten-2":`#FFF2B8`,"warning-lighten-3":`#FFFFCD`,"warning-muted":`#66605C`}},"catppuccin-latte":{name:`catppuccin-latte`,dark:!1,vars:{accent:`#FD640B`,"accent-darken-1":`#E54F00`,"accent-darken-2":`#CC3900`,"accent-darken-3":`#B42200`,"accent-lighten-1":`#FF7825`,"accent-lighten-2":`#FF8D3A`,"accent-lighten-3":`#FFA24F`,"accent-muted":`#F3C6AE`,background:`#EFF1F5`,"background-darken-1":`#D9DBDF`,"background-darken-2":`#C4C6CA`,"background-darken-3":`#B0B2B5`,"background-lighten-1":`#FFFFFF`,"background-lighten-2":`#FFFFFF`,"background-lighten-3":`#FFFFFF`,"block-cursor-background":`#8839EF`,"block-cursor-blurred-background":`#8839EF4C`,"block-cursor-blurred-foreground":`#4C4F69`,"block-cursor-foreground":`#000000DD`,"block-hover-background":`#00000019`,boost:`#0000000A`,"boost-darken-1":`#0000000A`,"boost-darken-2":`#0000000A`,"boost-darken-3":`#0000000A`,"boost-lighten-1":`#1616160A`,"boost-lighten-2":`#2525250A`,"boost-lighten-3":`#3535350A`,border:`#8839EF`,"border-blurred":`#DEE1E7`,"button-color-foreground":`#EFF1F5`,"button-foreground":`#4C4F69`,error:`#D10F39`,"error-darken-1":`#BA0028`,"error-darken-2":`#A20019`,"error-darken-3":`#8A0008`,"error-lighten-1":`#EA324A`,"error-lighten-2":`#FF4B5B`,"error-lighten-3":`#FF626E`,"error-muted":`#E6ADBC`,"footer-background":`#CCD0DA`,"footer-description-background":`#00000000`,"footer-description-foreground":`#4C4F69`,"footer-foreground":`#4C4F69`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FE640B`,foreground:`#4C4F69`,"foreground-darken-1":`#3A3D56`,"foreground-darken-2":`#292D45`,"foreground-darken-3":`#191D34`,"foreground-disabled":`#4C4F6960`,"foreground-lighten-1":`#5E607B`,"foreground-lighten-2":`#70738F`,"foreground-lighten-3":`#8386A2`,"foreground-muted":`#4C4F6999`,"input-cursor-background":`#4C4F69`,"input-cursor-foreground":`#EFF1F5`,"input-selection-background":`#9E4DFF66`,"link-background":`#00000000`,"link-background-hover":`#8839EF`,"link-color":`#000000DD`,"link-color-hover":`#000000DD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#8839EF`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#8839EF`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#8839EF`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#4C4F69`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#4C4F69`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#4C4F6999`,panel:`#CCD0DA`,"panel-darken-1":`#B7BBC5`,"panel-darken-2":`#A3A6B0`,"panel-darken-3":`#8F939C`,"panel-lighten-1":`#E1E5EF`,"panel-lighten-2":`#F6FAFF`,"panel-lighten-3":`#FFFFFF`,primary:`#8839EF`,"primary-background":`#8839EF`,"primary-background-darken-1":`#7122D9`,"primary-background-darken-2":`#5901C3`,"primary-background-darken-3":`#4000AE`,"primary-background-lighten-1":`#9E4DFF`,"primary-background-lighten-2":`#B562FF`,"primary-background-lighten-3":`#CC76FF`,"primary-darken-1":`#7122D9`,"primary-darken-2":`#5901C3`,"primary-darken-3":`#4000AE`,"primary-lighten-1":`#9E4DFF`,"primary-lighten-2":`#B562FF`,"primary-lighten-3":`#CC76FF`,"primary-muted":`#D0B9F3`,scrollbar:`#B89AE5`,"scrollbar-active":`#8839EF`,"scrollbar-background":`#D9DBDF`,"scrollbar-background-active":`#D9DBDF`,"scrollbar-background-hover":`#D9DBDF`,"scrollbar-corner-color":`#D9DBDF`,"scrollbar-hover":`#B08AE7`,secondary:`#DB8A78`,"secondary-background":`#DB8A78`,"secondary-background-darken-1":`#C57665`,"secondary-background-darken-2":`#B06353`,"secondary-background-darken-3":`#9A5041`,"secondary-background-lighten-1":`#F29D8B`,"secondary-background-lighten-2":`#FFB29E`,"secondary-background-lighten-3":`#FFC7B3`,"secondary-darken-1":`#C57665`,"secondary-darken-2":`#B06353`,"secondary-darken-3":`#9A5041`,"secondary-lighten-1":`#F29D8B`,"secondary-lighten-2":`#FFB29E`,"secondary-lighten-3":`#FFC7B3`,"secondary-muted":`#E9D2CF`,success:`#40A02B`,"success-darken-1":`#278B14`,"success-darken-2":`#007800`,"success-darken-3":`#006400`,"success-lighten-1":`#56B43F`,"success-lighten-2":`#6BC952`,"success-lighten-3":`#81DE66`,"success-muted":`#BAD8B8`,surface:`#E6E9EF`,"surface-active":`#F7FAFF`,"surface-darken-1":`#D0D3D9`,"surface-darken-2":`#BCBFC4`,"surface-darken-3":`#A7AAB0`,"surface-lighten-1":`#FBFEFF`,"surface-lighten-2":`#FFFFFF`,"surface-lighten-3":`#FFFFFF`,text:`#000000DD`,"text-accent":`#A74207`,"text-disabled":`#00000060`,"text-error":`#8A0925`,"text-muted":`#00000099`,"text-primary":`#59259D`,"text-secondary":`#915B4F`,"text-success":`#2A691C`,"text-warning":`#935D13`,warning:`#DE8E1D`,"warning-darken-1":`#C77A00`,"warning-darken-2":`#B06700`,"warning-darken-3":`#9A5500`,"warning-lighten-1":`#F6A134`,"warning-lighten-2":`#FFB648`,"warning-lighten-3":`#FFCA5D`,"warning-muted":`#EAD3B4`}},"catppuccin-macchiato":{name:`catppuccin-macchiato`,dark:!0,vars:{accent:`#F5BDE6`,"accent-darken-1":`#DFA8D0`,"accent-darken-2":`#CA94BC`,"accent-darken-3":`#B580A7`,"accent-lighten-1":`#FFD1FB`,"accent-lighten-2":`#FFE7FF`,"accent-lighten-3":`#FFFCFF`,"accent-muted":`#62546D`,background:`#24273A`,"background-darken-1":`#141729`,"background-darken-2":`#00021A`,"background-darken-3":`#000007`,"background-lighten-1":`#34374B`,"background-lighten-2":`#45485C`,"background-lighten-3":`#57596F`,"block-cursor-background":`#C6A0F6`,"block-cursor-blurred-background":`#C6A0F64C`,"block-cursor-blurred-foreground":`#CAD3F5`,"block-cursor-foreground":`#1E2030`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#B7BDF8`,"border-blurred":`#737994`,"button-color-foreground":`#24273A`,"button-foreground":`#CAD3F5`,error:`#ED8796`,"error-darken-1":`#D67382`,"error-darken-2":`#C05F6F`,"error-darken-3":`#AB4C5D`,"error-lighten-1":`#FF9BA9`,"error-lighten-2":`#FFAFBE`,"error-lighten-3":`#FFC4D3`,"error-muted":`#604355`,"footer-background":`#494D64`,"footer-description-background":`#00000000`,"footer-description-foreground":`#CAD3F5`,"footer-foreground":`#CAD3F5`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#F5BDE6`,foreground:`#CAD3F5`,"foreground-darken-1":`#B5BEDF`,"foreground-darken-2":`#A0A9CA`,"foreground-darken-3":`#8C95B5`,"foreground-disabled":`#CAD3F560`,"foreground-lighten-1":`#DFE8FF`,"foreground-lighten-2":`#F4FDFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#CAD3F599`,"input-cursor-background":`#F4DBD6`,"input-cursor-foreground":`#181926`,"input-selection-background":`#838BA74C`,"link-background":`#00000000`,"link-background-hover":`#C6A0F6`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#C6A0F6`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#C6A0F6`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#C6A0F6`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#CAD3F5`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#CAD3F5`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#CAD3F599`,panel:`#494D64`,"panel-darken-1":`#373B51`,"panel-darken-2":`#262B40`,"panel-darken-3":`#161C2F`,"panel-lighten-1":`#5A5E76`,"panel-lighten-2":`#6D7189`,"panel-lighten-3":`#80849D`,primary:`#C6A0F6`,"primary-background":`#59566F`,"primary-background-darken-1":`#4A4762`,"primary-background-darken-2":`#3C3956`,"primary-background-darken-3":`#3C3956`,"primary-background-lighten-1":`#67657C`,"primary-background-lighten-2":`#767488`,"primary-background-lighten-3":`#858395`,"primary-darken-1":`#B08CE0`,"primary-darken-2":`#9C78CB`,"primary-darken-3":`#8865B6`,"primary-lighten-1":`#DBB4FF`,"primary-lighten-2":`#F1C9FF`,"primary-lighten-3":`#FFDEFF`,"primary-muted":`#544B72`,scrollbar:`#5B4D7B`,"scrollbar-active":`#C6A0F6`,"scrollbar-background":`#141729`,"scrollbar-background-active":`#141729`,"scrollbar-background-hover":`#141729`,"scrollbar-corner-color":`#141729`,"scrollbar-hover":`#6D5B8F`,secondary:`#F4A97F`,"secondary-background":`#5F5760`,"secondary-background-darken-1":`#514852`,"secondary-background-darken-2":`#433A44`,"secondary-background-darken-3":`#433A44`,"secondary-background-lighten-1":`#6D666E`,"secondary-background-lighten-2":`#7B757C`,"secondary-background-lighten-3":`#89838A`,"secondary-darken-1":`#DE946B`,"secondary-darken-2":`#C88159`,"secondary-darken-3":`#B26E47`,"secondary-lighten-1":`#FFBD92`,"secondary-lighten-2":`#FFD2A6`,"secondary-lighten-3":`#FFE7BB`,"secondary-muted":`#624E4E`,success:`#A6DA95`,"success-darken-1":`#91C481`,"success-darken-2":`#7DB06E`,"success-darken-3":`#6A9C5B`,"success-lighten-1":`#BAEFA9`,"success-lighten-2":`#CFFFBD`,"success-lighten-3":`#E5FFD2`,"success-muted":`#4B5C55`,surface:`#363A4F`,"surface-active":`#43475D`,"surface-darken-1":`#25293D`,"surface-darken-2":`#151A2D`,"surface-darken-3":`#03061D`,"surface-lighten-1":`#474B60`,"surface-lighten-2":`#595C73`,"surface-lighten-3":`#6B6F86`,text:`#FFFFFFDD`,"text-accent":`#F8D3EE`,"text-disabled":`#FFFFFF60`,"text-error":`#F3AFB9`,"text-muted":`#FFFFFF99`,"text-primary":`#D9C0F9`,"text-secondary":`#F8C6AA`,"text-success":`#C4E6B9`,"text-warning":`#F3E2BF`,warning:`#EED49F`,"warning-darken-1":`#D8BF8B`,"warning-darken-2":`#C3AA77`,"warning-darken-3":`#AE9664`,"warning-lighten-1":`#FFE9B3`,"warning-lighten-2":`#FFFEC7`,"warning-lighten-3":`#FFFFDD`,"warning-muted":`#605A58`}},"catppuccin-mocha":{name:`catppuccin-mocha`,dark:!0,vars:{accent:`#F9B387`,"accent-darken-1":`#E39E73`,"accent-darken-2":`#CD8A60`,"accent-darken-3":`#B7774E`,"accent-lighten-1":`#FFC79A`,"accent-lighten-2":`#FFDCAE`,"accent-lighten-3":`#FFF2C3`,"accent-muted":`#5B4642`,background:`#181825`,"background-darken-1":`#040216`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#272735`,"background-lighten-2":`#373746`,"background-lighten-3":`#484857`,"block-cursor-background":`#F5C2E7`,"block-cursor-blurred-background":`#F5C2E74C`,"block-cursor-blurred-foreground":`#CDD6F4`,"block-cursor-foreground":`#1E1E2E`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#B4BEFE`,"border-blurred":`#585B70`,"button-color-foreground":`#181825`,"button-foreground":`#CDD6F4`,error:`#F28FAD`,"error-darken-1":`#DB7A99`,"error-darken-2":`#C66785`,"error-darken-3":`#B05372`,"error-lighten-1":`#FFA3C1`,"error-lighten-2":`#FFB8D6`,"error-lighten-3":`#FFCDEB`,"error-muted":`#593B4D`,"footer-background":`#45475A`,"footer-description-background":`#00000000`,"footer-description-foreground":`#CDD6F4`,"footer-foreground":`#CDD6F4`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FAB387`,foreground:`#CDD6F4`,"foreground-darken-1":`#B8C1DE`,"foreground-darken-2":`#A3ACC9`,"foreground-darken-3":`#8F98B4`,"foreground-disabled":`#CDD6F460`,"foreground-lighten-1":`#E2EBFF`,"foreground-lighten-2":`#F7FFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#CDD6F499`,"input-cursor-background":`#F5E0DC`,"input-cursor-foreground":`#11111B`,"input-selection-background":`#9399B24C`,"link-background":`#00000000`,"link-background-hover":`#F5C2E7`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#F5C2E7`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#F5C2E7`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#F5C2E7`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#CDD6F4`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#CDD6F4`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#CDD6F499`,panel:`#45475A`,"panel-darken-1":`#333648`,"panel-darken-2":`#232637`,"panel-darken-3":`#131627`,"panel-lighten-1":`#56586C`,"panel-lighten-2":`#696A7F`,"panel-lighten-3":`#7B7D92`,primary:`#F5C2E7`,"primary-background":`#564F5E`,"primary-background-darken-1":`#474050`,"primary-background-darken-2":`#393142`,"primary-background-darken-3":`#393142`,"primary-background-lighten-1":`#655F6C`,"primary-background-lighten-2":`#746E7A`,"primary-background-lighten-3":`#837E88`,"primary-darken-1":`#DFADD1`,"primary-darken-2":`#CA99BD`,"primary-darken-3":`#B585A8`,"primary-lighten-1":`#FFD6FC`,"primary-lighten-2":`#FFECFF`,"primary-lighten-3":`#FFFFFF`,"primary-muted":`#5A4B5F`,scrollbar:`#644E69`,"scrollbar-active":`#F5C2E7`,"scrollbar-background":`#040216`,"scrollbar-background-active":`#040216`,"scrollbar-background-hover":`#040216`,"scrollbar-corner-color":`#040216`,"scrollbar-hover":`#7C627E`,secondary:`#CBA6F7`,"secondary-background":`#504C60`,"secondary-background-darken-1":`#413C52`,"secondary-background-darken-2":`#322D44`,"secondary-background-darken-3":`#322D44`,"secondary-background-lighten-1":`#605C6E`,"secondary-background-lighten-2":`#6F6C7C`,"secondary-background-lighten-3":`#7E7B8A`,"secondary-darken-1":`#B592E1`,"secondary-darken-2":`#A17ECC`,"secondary-darken-3":`#8C6BB7`,"secondary-lighten-1":`#E0BAFF`,"secondary-lighten-2":`#F6CFFF`,"secondary-lighten-3":`#FFE4FF`,"secondary-muted":`#4D4264`,success:`#ABE9B3`,"success-darken-1":`#96D39E`,"success-darken-2":`#82BE8B`,"success-darken-3":`#6EAA77`,"success-lighten-1":`#BFFEC7`,"success-lighten-2":`#D5FFDC`,"success-lighten-3":`#EAFFF2`,"success-muted":`#44564F`,surface:`#313244`,"surface-active":`#3E3F51`,"surface-darken-1":`#202233`,"surface-darken-2":`#111223`,"surface-darken-3":`#000014`,"surface-lighten-1":`#414255`,"surface-lighten-2":`#535467`,"surface-lighten-3":`#65667A`,text:`#FFFFFFDD`,"text-accent":`#FBCCAF`,"text-disabled":`#FFFFFF60`,"text-error":`#F6B5C8`,"text-muted":`#FFFFFF99`,"text-primary":`#F8D6EF`,"text-secondary":`#DCC4F9`,"text-success":`#C7F0CC`,"text-warning":`#FBECCA`,warning:`#FAE3B0`,"warning-darken-1":`#E4CD9B`,"warning-darken-2":`#CEB988`,"warning-darken-3":`#B9A574`,"warning-lighten-1":`#FFF8C4`,"warning-lighten-2":`#FFFFD9`,"warning-lighten-3":`#FFFFEF`,"warning-muted":`#5B544E`}},cyberpunk:{name:`cyberpunk`,dark:!0,vars:{background:`#070714`,"background-darken-1":`#03030A`,"background-darken-2":`#000003`,"background-darken-3":`#000000`,"background-lighten-1":`#11111E`,"background-lighten-2":`#1A1A2B`,"background-lighten-3":`#25253A`,foreground:`#E2E2FF`,"foreground-darken-1":`#CACAE4`,"foreground-darken-2":`#B3B3CC`,"foreground-darken-3":`#9C9CB5`,"foreground-disabled":`#E2E2FF60`,"foreground-lighten-1":`#EEEEFF`,"foreground-lighten-2":`#F6F6FF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#E2E2FF99`,primary:`#00E5FFD9`,"primary-darken-1":`#00CCE6D9`,"primary-darken-2":`#00B2CCD9`,"primary-darken-3":`#0099B3D9`,"primary-lighten-1":`#1AF0FFD9`,"primary-lighten-2":`#33F5FFD9`,"primary-lighten-3":`#4DFAFFD9`,"primary-muted":`#054A5BF4`,"primary-background":`#0A3340`,"primary-background-darken-1":`#072833`,"primary-background-darken-2":`#051E27`,"primary-background-darken-3":`#051E27`,"primary-background-lighten-1":`#0F404F`,"primary-background-lighten-2":`#154E5F`,"primary-background-lighten-3":`#1A5C6F`,secondary:`#FF1E8ECC`,"secondary-darken-1":`#E60A76CC`,"secondary-darken-2":`#CC005FCC`,"secondary-darken-3":`#B20048CC`,"secondary-lighten-1":`#FF3CA2CC`,"secondary-lighten-2":`#FF5AB6CC`,"secondary-lighten-3":`#FF78CACC`,"secondary-muted":`#510E39EF`,"secondary-background":`#3A0A28`,"secondary-background-darken-1":`#2E071F`,"secondary-background-darken-2":`#220517`,"secondary-background-darken-3":`#220517`,"secondary-background-lighten-1":`#470D33`,"secondary-background-lighten-2":`#54103F`,"secondary-background-lighten-3":`#61134B`,accent:`#EEFF00CC`,"accent-darken-1":`#D6E600CC`,"accent-darken-2":`#BECC00CC`,"accent-darken-3":`#A5B200CC`,"accent-lighten-1":`#FFFF26CC`,"accent-lighten-2":`#FFFF4DCC`,"accent-lighten-3":`#FFFF73CC`,"accent-muted":`#4C510EEF`,success:`#39FF14BF`,"success-darken-1":`#23E60ABF`,"success-darken-2":`#0FCC00BF`,"success-darken-3":`#00B200BF`,"success-lighten-1":`#4DFF32BF`,"success-lighten-2":`#69FF5ABF`,"success-lighten-3":`#87FF82BF`,"success-muted":`#164D14F0`,warning:`#FF6E00CC`,"warning-darken-1":`#E65800CC`,"warning-darken-2":`#CC4300CC`,"warning-darken-3":`#B23000CC`,"warning-lighten-1":`#FF8C26CC`,"warning-lighten-2":`#FFA54DCC`,"warning-lighten-3":`#FFBE73CC`,"warning-muted":`#51260EEF`,error:`#FF1133BF`,"error-darken-1":`#E6051EBF`,"error-darken-2":`#CC000CBF`,"error-darken-3":`#B20000BF`,"error-lighten-1":`#FF3758BF`,"error-lighten-2":`#FF5A78BF`,"error-lighten-3":`#FF7D96BF`,"error-muted":`#510A1DF0`,surface:`#0F0F22`,"surface-active":`#161630`,"surface-darken-1":`#08081A`,"surface-darken-2":`#040411`,"surface-darken-3":`#020209`,"surface-lighten-1":`#17172E`,"surface-lighten-2":`#1F1F3C`,"surface-lighten-3":`#28284A`,panel:`#0C0C1E`,"panel-darken-1":`#060614`,"panel-darken-2":`#03030C`,"panel-darken-3":`#010108`,"panel-lighten-1":`#14142C`,"panel-lighten-2":`#1C1C3A`,"panel-lighten-3":`#242448`,scrollbar:`#151535`,"scrollbar-active":`#00E5FFD9`,"scrollbar-background":`#040412`,"scrollbar-background-active":`#040412`,"scrollbar-background-hover":`#040412`,"scrollbar-corner-color":`#040412`,"scrollbar-hover":`#1F1F48`,"block-cursor-background":`#00E5FF`,"block-cursor-blurred-background":`#00E5FF4C`,"block-cursor-blurred-foreground":`#E2E2FF`,"block-cursor-foreground":`#070714`,"block-hover-background":`#00E5FF19`,boost:`#00E5FF0A`,"boost-darken-1":`#00CCE60A`,"boost-darken-2":`#00B2CC0A`,"boost-darken-3":`#0099B30A`,"boost-lighten-1":`#00E5FF0A`,"boost-lighten-2":`#00E5FF0A`,"boost-lighten-3":`#00E5FF0A`,border:`#00E5FFD9`,"border-blurred":`#1A1A35`,"button-color-foreground":`#070714`,"button-foreground":`#E2E2FF`,"footer-background":`#0C0C1E`,"footer-description-background":`#00000000`,"footer-description-foreground":`#E2E2FF`,"footer-foreground":`#E2E2FF`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#00E5FFD9`,"input-cursor-background":`#E2E2FF`,"input-cursor-foreground":`#070714`,"input-selection-background":`#00E5FF40`,"link-background":`#00000000`,"link-background-hover":`#00E5FFD9`,"link-color":`#E2E2FFDD`,"link-color-hover":`#070714`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#00E5FFD9`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#00E5FFD9`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#FF1E8ECC`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#E2E2FF`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#E2E2FF`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#E2E2FF99`,text:`#E2E2FFDD`,"text-accent":`#F4FF66CC`,"text-disabled":`#E2E2FF60`,"text-error":`#FF6677BF`,"text-muted":`#E2E2FF99`,"text-primary":`#66F0FFD9`,"text-secondary":`#FF80B0CC`,"text-success":`#80FF55BF`,"text-warning":`#FFB055CC`}},default:{name:`default`,dark:!0,vars:{accent:`#006FB8`,"accent-darken-1":`#005CA3`,"accent-darken-2":`#004B8F`,"accent-darken-3":`#003A7B`,"accent-lighten-1":`#3081CC`,"accent-lighten-2":`#4C95E2`,"accent-lighten-3":`#64A8F7`,"accent-muted":`#002137`,background:`#000000`,"background-darken-1":`#000000`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#161616`,"background-lighten-2":`#252525`,"background-lighten-3":`#353535`,"block-cursor-background":`#006FB8`,"block-cursor-blurred-background":`#006FB84C`,"block-cursor-blurred-foreground":`#FFFFFF`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#006FB8`,"border-blurred":`#191919`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#FFFFFF`,error:`#7F0000`,"error-darken-1":`#6A0000`,"error-darken-2":`#560000`,"error-darken-3":`#450000`,"error-lighten-1":`#961E12`,"error-lighten-2":`#AD3423`,"error-lighten-3":`#C44934`,"error-muted":`#260000`,"footer-background":`#242E35`,"footer-description-background":`#00000000`,"footer-description-foreground":`#FFFFFF`,"footer-foreground":`#FFFFFF`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#006FB8`,foreground:`#FFFFFF`,"foreground-darken-1":`#E9E9E9`,"foreground-darken-2":`#D4D4D4`,"foreground-darken-3":`#BFBFBF`,"foreground-disabled":`#FFFFFF60`,"foreground-lighten-1":`#FFFFFF`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#FFFFFF99`,"input-cursor-background":`#FFFFFF`,"input-cursor-foreground":`#000000`,"input-selection-background":`#3081CC66`,"link-background":`#00000000`,"link-background-hover":`#006FB8`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#006FB8`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#006FB8`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#006FB8`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#FFFFFF`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#FFFFFF`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#FFFFFF99`,panel:`#242E35`,"panel-darken-1":`#141E24`,"panel-darken-2":`#000D15`,"panel-darken-3":`#000000`,"panel-lighten-1":`#343E45`,"panel-lighten-2":`#454F57`,"panel-lighten-3":`#566169`,primary:`#006FB8`,"primary-background":`#26333D`,"primary-background-darken-1":`#13212C`,"primary-background-darken-2":`#00101B`,"primary-background-darken-3":`#00101B`,"primary-background-lighten-1":`#39454E`,"primary-background-lighten-2":`#4C575F`,"primary-background-lighten-3":`#5F6970`,"primary-darken-1":`#005CA3`,"primary-darken-2":`#004B8F`,"primary-darken-3":`#003A7B`,"primary-lighten-1":`#3081CC`,"primary-lighten-2":`#4C95E2`,"primary-lighten-3":`#64A8F7`,"primary-muted":`#002137`,scrollbar:`#002C49`,"scrollbar-active":`#006FB8`,"scrollbar-background":`#000000`,"scrollbar-background-active":`#000000`,"scrollbar-background-hover":`#000000`,"scrollbar-corner-color":`#000000`,"scrollbar-hover":`#00375C`,secondary:`#762671`,"secondary-background":`#342A33`,"secondary-background-darken-1":`#221721`,"secondary-background-darken-2":`#110510`,"secondary-background-darken-3":`#110510`,"secondary-background-lighten-1":`#463D45`,"secondary-background-lighten-2":`#585057`,"secondary-background-lighten-3":`#6A6269`,"secondary-darken-1":`#620F5E`,"secondary-darken-2":`#4E004C`,"secondary-darken-3":`#3B003A`,"secondary-lighten-1":`#8A3984`,"secondary-lighten-2":`#9E4C97`,"secondary-lighten-3":`#B360AB`,"secondary-muted":`#230B21`,success:`#008000`,"success-darken-1":`#006C00`,"success-darken-2":`#005900`,"success-darken-3":`#004600`,"success-lighten-1":`#29931C`,"success-lighten-2":`#42A832`,"success-lighten-3":`#58BD46`,"success-muted":`#002600`,surface:`#1E1E1E`,"surface-active":`#2A2A2A`,"surface-darken-1":`#0D0D0D`,"surface-darken-2":`#000000`,"surface-darken-3":`#000000`,"surface-lighten-1":`#2D2D2D`,"surface-lighten-2":`#3E3E3E`,"surface-lighten-3":`#4F4F4F`,text:`#FFFFFFDD`,"text-accent":`#569FD0`,"text-disabled":`#FFFFFF60`,"text-error":`#AB5656`,"text-muted":`#FFFFFF99`,"text-primary":`#569FD0`,"text-secondary":`#A46FA1`,"text-success":`#56AB56`,"text-warning":`#ABAB56`,warning:`#7F8000`,"warning-darken-1":`#6B6D00`,"warning-darken-2":`#575A00`,"warning-darken-3":`#454900`,"warning-lighten-1":`#94931E`,"warning-lighten-2":`#A9A734`,"warning-lighten-3":`#BFBB48`,"warning-muted":`#262600`}},dracula:{name:`dracula`,dark:!0,vars:{accent:`#FF79C6`,"accent-darken-1":`#E864B1`,"accent-darken-2":`#D24F9D`,"accent-darken-3":`#BC3989`,"accent-lighten-1":`#FF8DDA`,"accent-lighten-2":`#FFA3F0`,"accent-lighten-3":`#FFB8FF`,"accent-muted":`#684161`,background:`#282A36`,"background-darken-1":`#181A25`,"background-darken-2":`#050716`,"background-darken-3":`#000000`,"background-lighten-1":`#383A46`,"background-lighten-2":`#494B58`,"background-lighten-3":`#5B5D6A`,"block-cursor-background":`#BD93F9`,"block-cursor-blurred-background":`#BD93F94C`,"block-cursor-blurred-foreground":`#F8F8F2`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#BD93F9`,"border-blurred":`#252835`,"button-color-foreground":`#282A36`,"button-foreground":`#F8F8F2`,error:`#FE5555`,"error-darken-1":`#E63E43`,"error-darken-2":`#CE2332`,"error-darken-3":`#B70022`,"error-lighten-1":`#FF6A67`,"error-lighten-2":`#FF807A`,"error-lighten-3":`#FF958D`,"error-muted":`#68363F`,"footer-background":`#313442`,"footer-description-background":`#00000000`,"footer-description-foreground":`#F8F8F2`,"footer-foreground":`#F8F8F2`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FF79C6`,foreground:`#F8F8F2`,"foreground-darken-1":`#E2E2DC`,"foreground-darken-2":`#CDCDC7`,"foreground-darken-3":`#B8B8B3`,"foreground-disabled":`#F8F8F260`,"foreground-lighten-1":`#FFFFFF`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#F8F8F299`,"input-cursor-background":`#F8F8F2`,"input-cursor-foreground":`#282A36`,"input-selection-background":`#D2A7FF66`,"link-background":`#00000000`,"link-background-hover":`#BD93F9`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#BD93F9`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#BD93F9`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#BD93F9`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#F8F8F2`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#F8F8F2`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#F8F8F299`,panel:`#313442`,"panel-darken-1":`#202431`,"panel-darken-2":`#111421`,"panel-darken-3":`#000012`,"panel-lighten-1":`#414453`,"panel-lighten-2":`#535665`,"panel-lighten-3":`#656878`,primary:`#BD93F9`,"primary-background":`#5A566C`,"primary-background-darken-1":`#4C475F`,"primary-background-darken-2":`#3E3953`,"primary-background-darken-3":`#3E3953`,"primary-background-lighten-1":`#696579`,"primary-background-lighten-2":`#777486`,"primary-background-lighten-3":`#868393`,"primary-darken-1":`#A77FE3`,"primary-darken-2":`#936CCE`,"primary-darken-3":`#7E59B9`,"primary-lighten-1":`#D2A7FF`,"primary-lighten-2":`#E8BBFF`,"primary-lighten-3":`#FED0FF`,"primary-muted":`#544970`,scrollbar:`#5A4A79`,"scrollbar-active":`#BD93F9`,"scrollbar-background":`#181A25`,"scrollbar-background-active":`#181A25`,"scrollbar-background-hover":`#181A25`,"scrollbar-corner-color":`#181A25`,"scrollbar-hover":`#6A568F`,secondary:`#6272A4`,"secondary-background":`#4F5261`,"secondary-background-darken-1":`#3F4353`,"secondary-background-darken-2":`#303446`,"secondary-background-darken-3":`#303446`,"secondary-background-lighten-1":`#5E616F`,"secondary-background-lighten-2":`#6E707D`,"secondary-background-lighten-3":`#7D808B`,"secondary-darken-1":`#4E5F90`,"secondary-darken-2":`#3B4D7C`,"secondary-darken-3":`#283C69`,"secondary-lighten-1":`#7584B8`,"secondary-lighten-2":`#8998CD`,"secondary-lighten-3":`#9DACE2`,"secondary-muted":`#393F57`,success:`#50FA7B`,"success-darken-1":`#2FE467`,"success-darken-2":`#00CE53`,"success-darken-3":`#00B83F`,"success-lighten-1":`#6AFF8F`,"success-lighten-2":`#83FFA3`,"success-lighten-3":`#9BFFB8`,"success-muted":`#34684A`,surface:`#2B2E3B`,"surface-active":`#383B48`,"surface-darken-1":`#1B1E2A`,"surface-darken-2":`#0A0D1B`,"surface-darken-3":`#000009`,"surface-lighten-1":`#3B3E4C`,"surface-lighten-2":`#4C4F5D`,"surface-lighten-3":`#5E6170`,text:`#FFFFFFDD`,"text-accent":`#FFA6D9`,"text-disabled":`#FFFFFF60`,"text-error":`#FF8E8E`,"text-muted":`#FFFFFF99`,"text-primary":`#D3B7FB`,"text-secondary":`#97A1C2`,"text-success":`#8BFBA7`,"text-warning":`#FFD09D`,warning:`#FEB86C`,"warning-darken-1":`#E8A358`,"warning-darken-2":`#D18F45`,"warning-darken-3":`#BB7C33`,"warning-lighten-1":`#FFCC7F`,"warning-lighten-2":`#FFE193`,"warning-lighten-3":`#FFF7A7`,"warning-muted":`#685446`}},flexoki:{name:`flexoki`,dark:!0,vars:{accent:`#9B76C8`,"accent-darken-1":`#8663B3`,"accent-darken-2":`#72509E`,"accent-darken-3":`#5F3E8B`,"accent-lighten-1":`#AF89DD`,"accent-lighten-2":`#C49DF2`,"accent-lighten-3":`#D9B1FF`,"accent-muted":`#392D46`,background:`#100F0F`,"background-darken-1":`#000000`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#1F1F1F`,"background-lighten-2":`#2F2E2E`,"background-lighten-3":`#403F3F`,"block-cursor-background":`#205EA6`,"block-cursor-blurred-background":`#205EA64C`,"block-cursor-blurred-foreground":`#FFFCF0`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#205EA6`,"border-blurred":`#171614`,"button-color-foreground":`#FFFCF0`,"button-foreground":`#FFFCF0`,error:`#AE3029`,"error-darken-1":`#981818`,"error-darken-2":`#810007`,"error-darken-3":`#6B0000`,"error-lighten-1":`#C64539`,"error-lighten-2":`#DD594B`,"error-lighten-3":`#F46D5D`,"error-muted":`#3F1816`,"footer-background":`#282726`,"footer-description-background":`#00000000`,"footer-description-foreground":`#FFFCF0`,"footer-foreground":`#FFFCF0`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#9B76C8`,foreground:`#FFFCF0`,"foreground-darken-1":`#E9E6DA`,"foreground-darken-2":`#D4D1C5`,"foreground-darken-3":`#BFBCB1`,"foreground-disabled":`#FFFCF060`,"foreground-lighten-1":`#FFFFFF`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#FFFCF099`,"input-cursor-background":`#FFFCF0`,"input-cursor-foreground":`#5E409D`,"input-selection-background":`#6F6E6959`,"link-background":`#00000000`,"link-background-hover":`#205EA6`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#205EA6`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#205EA6`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#205EA6`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#FFFCF0`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#FFFCF0`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#FFFCF099`,panel:`#282726`,"panel-darken-1":`#181716`,"panel-darken-2":`#040200`,"panel-darken-3":`#000000`,"panel-lighten-1":`#383736`,"panel-lighten-2":`#494846`,"panel-lighten-3":`#5A5958`,primary:`#205EA6`,"primary-background":`#353C45`,"primary-background-darken-1":`#232B35`,"primary-background-darken-2":`#121A25`,"primary-background-darken-3":`#121A25`,"primary-background-lighten-1":`#474D56`,"primary-background-lighten-2":`#595E66`,"primary-background-lighten-3":`#6A6F76`,"primary-darken-1":`#004C91`,"primary-darken-2":`#003B7E`,"primary-darken-3":`#002B6B`,"primary-lighten-1":`#3C70BA`,"primary-lighten-2":`#5383CF`,"primary-lighten-3":`#6996E4`,"primary-muted":`#14263C`,scrollbar:`#0C2542`,"scrollbar-active":`#205EA6`,"scrollbar-background":`#000000`,"scrollbar-background-active":`#000000`,"scrollbar-background-hover":`#000000`,"scrollbar-corner-color":`#000000`,"scrollbar-hover":`#102F53`,secondary:`#24837B`,"secondary-background":`#364140`,"secondary-background-darken-1":`#24302F`,"secondary-background-darken-2":`#13201F`,"secondary-background-darken-3":`#13201F`,"secondary-background-lighten-1":`#485251`,"secondary-background-lighten-2":`#596262`,"secondary-background-lighten-3":`#6B7373`,"secondary-darken-1":`#006F68`,"secondary-darken-2":`#005D56`,"secondary-darken-3":`#004A44`,"secondary-lighten-1":`#3C968E`,"secondary-lighten-2":`#52AAA1`,"secondary-lighten-3":`#67BFB6`,"secondary-muted":`#16312F`,success:`#65800B`,"success-darken-1":`#526D00`,"success-darken-2":`#3E5A00`,"success-darken-3":`#2D4800`,"success-lighten-1":`#7A9324`,"success-lighten-2":`#8EA738`,"success-lighten-3":`#A3BB4C`,"success-muted":`#29300D`,surface:`#1C1B1A`,"surface-active":`#282726`,"surface-darken-1":`#0A0806`,"surface-darken-2":`#000000`,"surface-darken-3":`#000000`,"surface-lighten-1":`#2B2A29`,"surface-lighten-2":`#3B3A39`,"surface-lighten-3":`#4D4B4A`,text:`#FFFFFFDD`,"text-accent":`#BDA4DA`,"text-disabled":`#FFFFFF60`,"text-error":`#CA7671`,"text-muted":`#FFFFFF99`,"text-primary":`#6B94C4`,"text-secondary":`#6EADA7`,"text-success":`#9AAB5D`,"text-warning":`#C8AD57`,warning:`#AC8301`,"warning-darken-1":`#977000`,"warning-darken-2":`#815D00`,"warning-darken-3":`#6C4C00`,"warning-lighten-1":`#C39621`,"warning-lighten-2":`#D9AA37`,"warning-lighten-3":`#F0BE4B`,"warning-muted":`#3F310A`}},gruvbox:{name:`gruvbox`,dark:!0,vars:{accent:`#F9BD2F`,"accent-darken-1":`#E2A811`,"accent-darken-2":`#CB9400`,"accent-darken-3":`#B48100`,"accent-lighten-1":`#FFD146`,"accent-lighten-2":`#FFE65B`,"accent-lighten-3":`#FFFC70`,"accent-muted":`#67542A`,background:`#282828`,"background-darken-1":`#181818`,"background-darken-2":`#040404`,"background-darken-3":`#000000`,"background-lighten-1":`#383838`,"background-lighten-2":`#494949`,"background-lighten-3":`#5A5A5A`,"block-cursor-background":`#85A598`,"block-cursor-blurred-background":`#85A5984C`,"block-cursor-blurred-foreground":`#FBF1C7`,"block-cursor-foreground":`#FBF1C7`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#85A598`,"border-blurred":`#363230`,"button-color-foreground":`#282828`,"button-foreground":`#FBF1C7`,error:`#FA4934`,"error-darken-1":`#E23022`,"error-darken-2":`#C90D10`,"error-darken-3":`#B10000`,"error-lighten-1":`#FF5F45`,"error-lighten-2":`#FF7558`,"error-lighten-3":`#FF8B6B`,"error-muted":`#67312B`,"footer-background":`#504945`,"footer-description-background":`#00000000`,"footer-description-foreground":`#FBF1C7`,"footer-foreground":`#FBF1C7`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FABD2F`,foreground:`#FBF1C7`,"foreground-darken-1":`#E5DBB2`,"foreground-darken-2":`#D0C69E`,"foreground-darken-3":`#BBB28A`,"foreground-disabled":`#FBF1C760`,"foreground-lighten-1":`#FFFFDC`,"foreground-lighten-2":`#FFFFF1`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#FBF1C799`,"input-cursor-background":`#FBF1C7`,"input-cursor-foreground":`#282828`,"input-selection-background":`#689D6A40`,"link-background":`#00000000`,"link-background-hover":`#85A598`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#85A598`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#85A598`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#85A598`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#FBF1C7`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#FBF1C7`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#FBF1C799`,panel:`#504945`,"panel-darken-1":`#3E3834`,"panel-darken-2":`#2E2724`,"panel-darken-3":`#1E1815`,"panel-lighten-1":`#615A56`,"panel-lighten-2":`#746C68`,"panel-lighten-3":`#877F7B`,primary:`#85A598`,"primary-background":`#535755`,"primary-background-darken-1":`#444846`,"primary-background-darken-2":`#353A38`,"primary-background-darken-3":`#353A38`,"primary-background-lighten-1":`#626664`,"primary-background-lighten-2":`#717573`,"primary-background-lighten-3":`#808382`,"primary-darken-1":`#719184`,"primary-darken-2":`#5F7D71`,"primary-darken-3":`#4C6A5F`,"primary-lighten-1":`#98B9AB`,"primary-lighten-2":`#ACCEC0`,"primary-lighten-3":`#C1E3D5`,"primary-muted":`#434D49`,scrollbar:`#43504B`,"scrollbar-active":`#85A598`,"scrollbar-background":`#181818`,"scrollbar-background-active":`#181818`,"scrollbar-background-hover":`#181818`,"scrollbar-corner-color":`#181818`,"scrollbar-hover":`#4E5E58`,secondary:`#A89A85`,"secondary-background":`#585653`,"secondary-background-darken-1":`#494744`,"secondary-background-darken-2":`#3B3935`,"secondary-background-darken-3":`#3B3935`,"secondary-background-lighten-1":`#676562`,"secondary-background-lighten-2":`#757471`,"secondary-background-lighten-3":`#848380`,"secondary-darken-1":`#938671`,"secondary-darken-2":`#80735F`,"secondary-darken-3":`#6D604D`,"secondary-lighten-1":`#BCAE98`,"secondary-lighten-2":`#D1C2AC`,"secondary-lighten-3":`#E6D7C1`,"secondary-muted":`#4E4A43`,success:`#B7BB26`,"success-darken-1":`#A2A601`,"success-darken-2":`#8C9300`,"success-darken-3":`#777F00`,"success-lighten-1":`#CDCF3D`,"success-lighten-2":`#E4E453`,"success-lighten-3":`#FAFA68`,"success-muted":`#535427`,surface:`#3C3836`,"surface-active":`#494543`,"surface-darken-1":`#2B2725`,"surface-darken-2":`#1C1816`,"surface-darken-3":`#0A0300`,"surface-lighten-1":`#4D4846`,"surface-lighten-2":`#5F5A58`,"surface-lighten-3":`#716C6A`,text:`#FFFFFFDD`,"text-accent":`#FBD375`,"text-disabled":`#FFFFFF60`,"text-error":`#FC8679`,"text-muted":`#FFFFFF99`,"text-primary":`#AEC3BB`,"text-secondary":`#C5BCAE`,"text-success":`#D0D26F`,"text-warning":`#FEAB67`,warning:`#FD8019`,"warning-darken-1":`#E56C00`,"warning-darken-2":`#CD5800`,"warning-darken-3":`#B54500`,"warning-lighten-1":`#FF9430`,"warning-lighten-2":`#FFA845`,"warning-lighten-3":`#FFBD5A`,"warning-muted":`#684223`}},monokai:{name:`monokai`,dark:!0,vars:{accent:`#66D9EF`,"accent-darken-1":`#4DC3D9`,"accent-darken-2":`#31AFC4`,"accent-darken-3":`#009BB0`,"accent-lighten-1":`#7DEEFF`,"accent-lighten-2":`#94FFFF`,"accent-lighten-3":`#AAFFFF`,"accent-muted":`#395D5F`,background:`#272822`,"background-darken-1":`#171812`,"background-darken-2":`#020400`,"background-darken-3":`#000000`,"background-lighten-1":`#373831`,"background-lighten-2":`#484942`,"background-lighten-3":`#595A54`,"block-cursor-background":`#AE81FF`,"block-cursor-blurred-background":`#AE81FF4C`,"block-cursor-blurred-foreground":`#D6D6D6`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#AE81FF`,"border-blurred":`#282828`,"button-color-foreground":`#272822`,"button-foreground":`#D6D6D6`,error:`#F82672`,"error-darken-1":`#E1005F`,"error-darken-2":`#C9004E`,"error-darken-3":`#B1003D`,"error-lighten-1":`#FF4484`,"error-lighten-2":`#FF5D98`,"error-lighten-3":`#FF75AC`,"error-muted":`#66273A`,"footer-background":`#3E3D32`,"footer-description-background":`#00000000`,"footer-description-foreground":`#D6D6D6`,"footer-foreground":`#D6D6D6`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#66D9EF`,foreground:`#D6D6D6`,"foreground-darken-1":`#C1C1C1`,"foreground-darken-2":`#ACACAC`,"foreground-darken-3":`#989898`,"foreground-disabled":`#D6D6D660`,"foreground-lighten-1":`#EBEBEB`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#797979`,"input-cursor-background":`#D6D6D6`,"input-cursor-foreground":`#272822`,"input-selection-background":`#575B6190`,"link-background":`#00000000`,"link-background-hover":`#AE81FF`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#AE81FF`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#AE81FF`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#AE81FF`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#D6D6D6`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#D6D6D6`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#797979`,panel:`#3E3D32`,"panel-darken-1":`#2D2C22`,"panel-darken-2":`#1D1C12`,"panel-darken-3":`#0D0B00`,"panel-lighten-1":`#4F4E42`,"panel-lighten-2":`#616054`,"panel-lighten-3":`#737266`,primary:`#AE81FF`,"primary-background":`#58535F`,"primary-background-darken-1":`#494451`,"primary-background-darken-2":`#3B3543`,"primary-background-darken-3":`#3B3543`,"primary-background-lighten-1":`#67626D`,"primary-background-lighten-2":`#75717B`,"primary-background-lighten-3":`#848089`,"primary-darken-1":`#986DE9`,"primary-darken-2":`#835AD3`,"primary-darken-3":`#6E48BE`,"primary-lighten-1":`#C394FF`,"primary-lighten-2":`#D9A9FF`,"primary-lighten-3":`#EFBDFF`,"primary-muted":`#4F4264`,scrollbar:`#534270`,"scrollbar-active":`#AE81FF`,"scrollbar-background":`#171812`,"scrollbar-background-active":`#171812`,"scrollbar-background-hover":`#171812`,"scrollbar-corner-color":`#171812`,"scrollbar-hover":`#624C88`,secondary:`#F82672`,"secondary-background":`#61474D`,"secondary-background-darken-1":`#53373D`,"secondary-background-darken-2":`#46272E`,"secondary-background-darken-3":`#46272E`,"secondary-background-lighten-1":`#6F575D`,"secondary-background-lighten-2":`#7D676C`,"secondary-background-lighten-3":`#8B787C`,"secondary-darken-1":`#E1005F`,"secondary-darken-2":`#C9004E`,"secondary-darken-3":`#B1003D`,"secondary-lighten-1":`#FF4484`,"secondary-lighten-2":`#FF5D98`,"secondary-lighten-3":`#FF75AC`,"secondary-muted":`#66273A`,success:`#A5E22E`,"success-darken-1":`#90CC09`,"success-darken-2":`#7AB700`,"success-darken-3":`#64A300`,"success-lighten-1":`#BBF746`,"success-lighten-2":`#D2FF5D`,"success-lighten-3":`#E8FF72`,"success-muted":`#4D5F25`,surface:`#2E2E2E`,"surface-active":`#3B3B3B`,"surface-darken-1":`#1E1E1E`,"surface-darken-2":`#0D0D0D`,"surface-darken-3":`#000000`,"surface-lighten-1":`#3E3E3E`,"surface-lighten-2":`#4F4F4F`,"surface-lighten-3":`#616161`,text:`#FFFFFFDD`,"text-accent":`#9AE5F4`,"text-disabled":`#FFFFFF60`,"text-error":`#FB6FA1`,"text-muted":`#FFFFFF99`,"text-primary":`#C9ABFF`,"text-secondary":`#FB6FA1`,"text-success":`#C4EB75`,"text-warning":`#FDBA6B`,warning:`#FC971F`,"warning-darken-1":`#E58300`,"warning-darken-2":`#CD6F00`,"warning-darken-3":`#B65D00`,"warning-lighten-1":`#FFAB36`,"warning-lighten-2":`#FFBF4C`,"warning-lighten-3":`#FFD460`,"warning-muted":`#674921`}},nord:{name:`nord`,dark:!0,vars:{accent:`#B48EAD`,"accent-darken-1":`#9F7A98`,"accent-darken-2":`#8B6785`,"accent-darken-3":`#785572`,"accent-lighten-1":`#C8A1C1`,"accent-lighten-2":`#DDB6D6`,"accent-lighten-3":`#F3CAEB`,"accent-muted":`#564F60`,background:`#2E3440`,"background-darken-1":`#1E242F`,"background-darken-2":`#0E141F`,"background-darken-3":`#000010`,"background-lighten-1":`#3E4451`,"background-lighten-2":`#505663`,"background-lighten-3":`#626875`,"block-cursor-background":`#88C0D0`,"block-cursor-blurred-background":`#88C0D04C`,"block-cursor-blurred-foreground":`#D8DEE9`,"block-cursor-foreground":`#2E3440`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#88C0D0`,"border-blurred":`#353C4C`,"button-color-foreground":`#2E3440`,"button-foreground":`#D8DEE9`,error:`#BE616A`,"error-darken-1":`#A94D57`,"error-darken-2":`#933A46`,"error-darken-3":`#7E2735`,"error-lighten-1":`#D4747C`,"error-lighten-2":`#EB8890`,"error-lighten-3":`#FF9CA3`,"error-muted":`#59414C`,"footer-background":`#434C5E`,"footer-description-background":`#00000000`,"footer-description-foreground":`#D8DEE9`,"footer-foreground":`#D8DEE9`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#88C0D0`,foreground:`#D8DEE9`,"foreground-darken-1":`#C3C9D3`,"foreground-darken-2":`#AEB4BF`,"foreground-darken-3":`#9AA0AA`,"foreground-disabled":`#D8DEE960`,"foreground-lighten-1":`#EDF3FE`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#D8DEE999`,"input-cursor-background":`#D8DEE9`,"input-cursor-foreground":`#2E3440`,"input-selection-background":`#81A1C159`,"link-background":`#00000000`,"link-background-hover":`#88C0D0`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#88C0D0`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#88C0D0`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#88C0D0`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#D8DEE9`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#D8DEE9`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#D8DEE999`,panel:`#434C5E`,"panel-darken-1":`#313A4C`,"panel-darken-2":`#212A3A`,"panel-darken-3":`#111B2A`,"panel-lighten-1":`#545D70`,"panel-lighten-2":`#677083`,"panel-lighten-3":`#798396`,primary:`#88C0D0`,"primary-background":`#58646E`,"primary-background-darken-1":`#495661`,"primary-background-darken-2":`#3B4955`,"primary-background-darken-3":`#3B4955`,"primary-background-lighten-1":`#67717B`,"primary-background-lighten-2":`#757F88`,"primary-background-lighten-3":`#848D94`,"primary-darken-1":`#73ABBB`,"primary-darken-2":`#5F97A6`,"primary-darken-3":`#4B8393`,"primary-lighten-1":`#9CD4E5`,"primary-lighten-2":`#B1EAFA`,"primary-lighten-3":`#C6FFFF`,"primary-muted":`#495E6B`,scrollbar:`#48626F`,"scrollbar-active":`#88C0D0`,"scrollbar-background":`#1E242F`,"scrollbar-background-active":`#1E242F`,"scrollbar-background-hover":`#1E242F`,"scrollbar-corner-color":`#1E242F`,"scrollbar-hover":`#53727F`,secondary:`#81A1C1`,"secondary-background":`#57606C`,"secondary-background-darken-1":`#48525F`,"secondary-background-darken-2":`#3A4453`,"secondary-background-darken-3":`#3A4453`,"secondary-background-lighten-1":`#666E79`,"secondary-background-lighten-2":`#757C86`,"secondary-background-lighten-3":`#838A93`,"secondary-darken-1":`#6D8DAC`,"secondary-darken-2":`#597A98`,"secondary-darken-3":`#466784`,"secondary-lighten-1":`#95B5D5`,"secondary-lighten-2":`#A9C9EB`,"secondary-lighten-3":`#BEDEFF`,"secondary-muted":`#465466`,success:`#A3BE8C`,"success-darken-1":`#8FA978`,"success-darken-2":`#7B9565`,"success-darken-3":`#688253`,"success-lighten-1":`#B7D29F`,"success-lighten-2":`#CCE8B4`,"success-lighten-3":`#E1FDC8`,"success-muted":`#515D56`,surface:`#3B4252`,"surface-active":`#484F60`,"surface-darken-1":`#2A3140`,"surface-darken-2":`#1A212F`,"surface-darken-3":`#0A1120`,"surface-lighten-1":`#4C5364`,"surface-lighten-2":`#5E6576`,"surface-lighten-3":`#707889`,text:`#FFFFFFDD`,"text-accent":`#CDB4C8`,"text-disabled":`#FFFFFF60`,"text-error":`#D4969C`,"text-muted":`#FFFFFF99`,"text-primary":`#B0D5DF`,"text-secondary":`#ABC0D6`,"text-success":`#C2D4B3`,"text-warning":`#F1DCB2`,warning:`#EACB8B`,"warning-darken-1":`#D5B677`,"warning-darken-2":`#BFA264`,"warning-darken-3":`#AA8E51`,"warning-lighten-1":`#FFE09E`,"warning-lighten-2":`#FFF5B3`,"warning-lighten-3":`#FFFFC8`,"warning-muted":`#666156`}},"rose-pine":{name:`rose-pine`,dark:!0,vars:{accent:`#EBBCBA`,"accent-darken-1":`#D5A7A5`,"accent-darken-2":`#C09391`,"accent-darken-3":`#AB807E`,"accent-lighten-1":`#FFD0CE`,"accent-lighten-2":`#FFE5E3`,"accent-lighten-3":`#FFFBF9`,"accent-muted":`#584851`,background:`#191724`,"background-darken-1":`#060015`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#282634`,"background-lighten-2":`#383644`,"background-lighten-3":`#4A4756`,"block-cursor-background":`#C4A7E7`,"block-cursor-blurred-background":`#C4A7E74C`,"block-cursor-blurred-foreground":`#E0DEF4`,"block-cursor-foreground":`#191724`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#524F67`,"border-blurred":`#6E6A86`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#E0DEF4`,error:`#EA6F92`,"error-darken-1":`#D45A7E`,"error-darken-2":`#BE466B`,"error-darken-3":`#A83159`,"error-lighten-1":`#FF83A5`,"error-lighten-2":`#FF98BA`,"error-lighten-3":`#FFADCE`,"error-muted":`#583145`,"footer-background":`#26233A`,"footer-description-background":`#00000000`,"footer-description-foreground":`#E0DEF4`,"footer-foreground":`#E0DEF4`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#EBBCBA`,foreground:`#E0DEF4`,"foreground-darken-1":`#CAC9DE`,"foreground-darken-2":`#B6B4C9`,"foreground-darken-3":`#A2A0B4`,"foreground-disabled":`#E0DEF460`,"foreground-lighten-1":`#F5F3FF`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#E0DEF499`,"input-cursor-background":`#F4EDE8`,"input-cursor-foreground":`#191724`,"input-selection-background":`#403D52`,"link-background":`#00000000`,"link-background-hover":`#C4A7E7`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#C4A7E7`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#C4A7E7`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#C4A7E7`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#E0DEF4`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#E0DEF4`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#E0DEF499`,panel:`#26233A`,"panel-darken-1":`#161329`,"panel-darken-2":`#04001A`,"panel-darken-3":`#000008`,"panel-lighten-1":`#36324B`,"panel-lighten-2":`#47435D`,"panel-lighten-3":`#59556F`,primary:`#C4A7E7`,"primary-background":`#504B5D`,"primary-background-darken-1":`#413B4F`,"primary-background-darken-2":`#322C41`,"primary-background-darken-3":`#322C41`,"primary-background-lighten-1":`#605B6B`,"primary-background-lighten-2":`#6F6B7A`,"primary-background-lighten-3":`#7E7B88`,"primary-darken-1":`#AF93D1`,"primary-darken-2":`#9A7FBC`,"primary-darken-3":`#866CA8`,"primary-lighten-1":`#D9BBFC`,"primary-lighten-2":`#EED0FF`,"primary-lighten-3":`#FFE5FF`,"primary-muted":`#4C425E`,scrollbar:`#524269`,"scrollbar-active":`#C4A7E7`,"scrollbar-background":`#060015`,"scrollbar-background-active":`#060015`,"scrollbar-background-hover":`#060015`,"scrollbar-corner-color":`#060015`,"scrollbar-hover":`#65537E`,secondary:`#31748F`,"secondary-background":`#3E4452`,"secondary-background-darken-1":`#2D3443`,"secondary-background-darken-2":`#1C2434`,"secondary-background-darken-3":`#1C2434`,"secondary-background-lighten-1":`#4F5561`,"secondary-background-lighten-2":`#606570`,"secondary-background-lighten-3":`#717680`,"secondary-darken-1":`#17617B`,"secondary-darken-2":`#004F68`,"secondary-darken-3":`#003E56`,"secondary-lighten-1":`#4687A2`,"secondary-lighten-2":`#5B9AB7`,"secondary-lighten-3":`#70AECB`,"secondary-muted":`#203244`,success:`#9CCFD8`,"success-darken-1":`#87BAC3`,"success-darken-2":`#73A5AE`,"success-darken-3":`#60929A`,"success-lighten-1":`#B0E4ED`,"success-lighten-2":`#C5F9FF`,"success-lighten-3":`#DAFFFF`,"success-muted":`#404E5A`,surface:`#1F1D2E`,"surface-active":`#2B293B`,"surface-darken-1":`#100B1E`,"surface-darken-2":`#00000E`,"surface-darken-3":`#000000`,"surface-lighten-1":`#2F2C3E`,"surface-lighten-2":`#3F3D4F`,"surface-lighten-3":`#514E61`,text:`#FFFFFFDD`,"text-accent":`#F1D2D1`,"text-disabled":`#FFFFFF60`,"text-error":`#F19FB7`,"text-muted":`#FFFFFF99`,"text-primary":`#D8C4EF`,"text-secondary":`#77A3B5`,"text-success":`#BDDFE5`,"text-warning":`#F9D6A5`,warning:`#F5C177`,"warning-darken-1":`#DFAC63`,"warning-darken-2":`#C99850`,"warning-darken-3":`#B3853E`,"warning-lighten-1":`#FFD58A`,"warning-lighten-2":`#FFEB9E`,"warning-lighten-3":`#FFFFB3`,"warning-muted":`#5B4A3C`}},"rose-pine-dawn":{name:`rose-pine-dawn`,dark:!1,vars:{accent:`#D6827E`,"accent-darken-1":`#C16E6B`,"accent-darken-2":`#AB5B58`,"accent-darken-3":`#964847`,"accent-lighten-1":`#ED9591`,"accent-lighten-2":`#FFAAA5`,"accent-lighten-3":`#FFBEB9`,"accent-muted":`#EFD1CB`,background:`#FAF4ED`,"background-darken-1":`#E4DED7`,"background-darken-2":`#CFC9C2`,"background-darken-3":`#BAB5AE`,"background-lighten-1":`#FFFFFF`,"background-lighten-2":`#FFFFFF`,"background-lighten-3":`#FFFFFF`,"block-cursor-background":`#575279`,"block-cursor-blurred-background":`#907AA94C`,"block-cursor-blurred-foreground":`#575279`,"block-cursor-foreground":`#FAF4ED`,"block-hover-background":`#00000019`,boost:`#0000000A`,"boost-darken-1":`#0000000A`,"boost-darken-2":`#0000000A`,"boost-darken-3":`#0000000A`,"boost-lighten-1":`#1616160A`,"boost-lighten-2":`#2525250A`,"boost-lighten-3":`#3535350A`,border:`#CECACD`,"border-blurred":`#9893A5`,"button-color-foreground":`#000000DD`,"button-foreground":`#575279`,error:`#B4637A`,"error-darken-1":`#9E5067`,"error-darken-2":`#8A3D55`,"error-darken-3":`#752A43`,"error-lighten-1":`#C9768D`,"error-lighten-2":`#DF8AA0`,"error-lighten-3":`#F59EB5`,"error-muted":`#E5C8CA`,"footer-background":`#F2E9E1`,"footer-description-background":`#00000000`,"footer-description-foreground":`#575279`,"footer-foreground":`#575279`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#D7827E`,foreground:`#575279`,"foreground-darken-1":`#444066`,"foreground-darken-2":`#332F53`,"foreground-darken-3":`#222042`,"foreground-disabled":`#57527960`,"foreground-lighten-1":`#69648C`,"foreground-lighten-2":`#7C76A0`,"foreground-lighten-3":`#9089B4`,"foreground-muted":`#57527999`,"input-cursor-background":`#575279`,"input-cursor-foreground":`#FAF4ED`,"input-selection-background":`#DFDAD9`,"link-background":`#00000000`,"link-background-hover":`#907AA9`,"link-color":`#000000DD`,"link-color-hover":`#000000DD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#907AA9`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#907AA9`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#907AA9`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#575279`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#575279`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#57527999`,panel:`#F2E9E1`,"panel-darken-1":`#DCD3CB`,"panel-darken-2":`#C7BFB7`,"panel-darken-3":`#B3AAA3`,"panel-lighten-1":`#FFFEF6`,"panel-lighten-2":`#FFFFFF`,"panel-lighten-3":`#FFFFFF`,primary:`#907AA9`,"primary-background":`#907AA9`,"primary-background-darken-1":`#7C6795`,"primary-background-darken-2":`#695481`,"primary-background-darken-3":`#56436E`,"primary-background-lighten-1":`#A48DBD`,"primary-background-lighten-2":`#B8A1D2`,"primary-background-lighten-3":`#CDB5E7`,"primary-darken-1":`#7C6795`,"primary-darken-2":`#695481`,"primary-darken-3":`#56436E`,"primary-lighten-1":`#A48DBD`,"primary-lighten-2":`#B8A1D2`,"primary-lighten-3":`#CDB5E7`,"primary-muted":`#DACFD8`,scrollbar:`#C2B6C4`,"scrollbar-active":`#907AA9`,"scrollbar-background":`#E4DED7`,"scrollbar-background-active":`#E4DED7`,"scrollbar-background-hover":`#E4DED7`,"scrollbar-corner-color":`#E4DED7`,"scrollbar-hover":`#BAACC0`,secondary:`#286983`,"secondary-background":`#286983`,"secondary-background-darken-1":`#0A566F`,"secondary-background-darken-2":`#00455D`,"secondary-background-darken-3":`#00344B`,"secondary-background-lighten-1":`#3E7B96`,"secondary-background-lighten-2":`#538FAA`,"secondary-background-lighten-3":`#67A2BE`,"secondary-darken-1":`#0A566F`,"secondary-darken-2":`#00455D`,"secondary-darken-3":`#00344B`,"secondary-lighten-1":`#3E7B96`,"secondary-lighten-2":`#538FAA`,"secondary-lighten-3":`#67A2BE`,"secondary-muted":`#BBCACD`,success:`#56949F`,"success-darken-1":`#41808B`,"success-darken-2":`#2D6D78`,"success-darken-3":`#155B65`,"success-lighten-1":`#6AA7B3`,"success-lighten-2":`#7EBCC7`,"success-lighten-3":`#92D1DC`,"success-muted":`#C8D7D5`,surface:`#FFFAF3`,"surface-active":`#FFFFFF`,"surface-darken-1":`#E9E4DD`,"surface-darken-2":`#D4CFC8`,"surface-darken-3":`#BFBAB4`,"surface-lighten-1":`#FFFFFF`,"surface-lighten-2":`#FFFFFF`,"surface-lighten-3":`#FFFFFF`,text:`#000000DD`,"text-accent":`#8D5553`,"text-disabled":`#00000060`,"text-error":`#764150`,"text-muted":`#00000099`,"text-primary":`#5F506F`,"text-secondary":`#1A4556`,"text-success":`#386168`,"text-warning":`#9A6722`,warning:`#E99D34`,"warning-darken-1":`#D2891D`,"warning-darken-2":`#BC7600`,"warning-darken-3":`#A56300`,"warning-lighten-1":`#FFB148`,"warning-lighten-2":`#FFC55C`,"warning-lighten-3":`#FFDA70`,"warning-muted":`#F5D9B5`}},"rose-pine-moon":{name:`rose-pine-moon`,dark:!0,vars:{accent:`#EA9A97`,"accent-darken-1":`#D48683`,"accent-darken-2":`#BE7270`,"accent-darken-3":`#A95F5E`,"accent-lighten-1":`#FFAEAA`,"accent-lighten-2":`#FFC3BF`,"accent-lighten-3":`#FFD8D4`,"accent-muted":`#5E4553`,background:`#232136`,"background-darken-1":`#131125`,"background-darken-2":`#000017`,"background-darken-3":`#000001`,"background-lighten-1":`#333046`,"background-lighten-2":`#444158`,"background-lighten-3":`#56526A`,"block-cursor-background":`#C4A7E7`,"block-cursor-blurred-background":`#C4A7E74C`,"block-cursor-blurred-foreground":`#E0DEF4`,"block-cursor-foreground":`#232136`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#56526E`,"border-blurred":`#6E6A86`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#E0DEF4`,error:`#EA6F92`,"error-darken-1":`#D45A7E`,"error-darken-2":`#BE466B`,"error-darken-3":`#A83159`,"error-lighten-1":`#FF83A5`,"error-lighten-2":`#FF98BA`,"error-lighten-3":`#FFADCE`,"error-muted":`#5F3851`,"footer-background":`#393552`,"footer-description-background":`#00000000`,"footer-description-foreground":`#E0DEF4`,"footer-foreground":`#E0DEF4`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#EA9A97`,foreground:`#E0DEF4`,"foreground-darken-1":`#CAC9DE`,"foreground-darken-2":`#B6B4C9`,"foreground-darken-3":`#A2A0B4`,"foreground-disabled":`#E0DEF460`,"foreground-lighten-1":`#F5F3FF`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#E0DEF499`,"input-cursor-background":`#F4EDE8`,"input-cursor-foreground":`#232136`,"input-selection-background":`#44415A`,"link-background":`#00000000`,"link-background-hover":`#C4A7E7`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#C4A7E7`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#C4A7E7`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#C4A7E7`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#E0DEF4`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#E0DEF4`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#E0DEF499`,panel:`#393552`,"panel-darken-1":`#282440`,"panel-darken-2":`#17152F`,"panel-darken-3":`#080020`,"panel-lighten-1":`#4A4564`,"panel-lighten-2":`#5C5776`,"panel-lighten-3":`#6F6989`,primary:`#C4A7E7`,"primary-background":`#58536A`,"primary-background-darken-1":`#49445D`,"primary-background-darken-2":`#3B3550`,"primary-background-darken-3":`#3B3550`,"primary-background-lighten-1":`#676277`,"primary-background-lighten-2":`#757184`,"primary-background-lighten-3":`#848091`,"primary-darken-1":`#AF93D1`,"primary-darken-2":`#9A7FBC`,"primary-darken-3":`#866CA8`,"primary-lighten-1":`#D9BBFC`,"primary-lighten-2":`#EED0FF`,"primary-lighten-3":`#FFE5FF`,"primary-muted":`#53496B`,scrollbar:`#594D72`,"scrollbar-active":`#C4A7E7`,"scrollbar-background":`#131125`,"scrollbar-background-active":`#131125`,"scrollbar-background-hover":`#131125`,"scrollbar-corner-color":`#131125`,"scrollbar-hover":`#6B5C86`,secondary:`#3E8FB0`,"secondary-background":`#474F63`,"secondary-background-darken-1":`#374055`,"secondary-background-darken-2":`#273148`,"secondary-background-darken-3":`#273148`,"secondary-background-lighten-1":`#575F71`,"secondary-background-lighten-2":`#676E7E`,"secondary-background-lighten-3":`#787E8C`,"secondary-darken-1":`#237B9B`,"secondary-darken-2":`#006888`,"secondary-darken-3":`#005674`,"secondary-lighten-1":`#54A2C4`,"secondary-lighten-2":`#6AB7D9`,"secondary-lighten-3":`#80CBEE`,"secondary-muted":`#2B425A`,success:`#9CCFD8`,"success-darken-1":`#87BAC3`,"success-darken-2":`#73A5AE`,"success-darken-3":`#60929A`,"success-lighten-1":`#B0E4ED`,"success-lighten-2":`#C5F9FF`,"success-lighten-3":`#DAFFFF`,"success-muted":`#475566`,surface:`#2A273F`,"surface-active":`#37334C`,"surface-darken-1":`#19172E`,"surface-darken-2":`#0A021E`,"surface-darken-3":`#00000F`,"surface-lighten-1":`#3A3750`,"surface-lighten-2":`#4C4862`,"surface-lighten-3":`#5E5975`,text:`#FFFFFFDD`,"text-accent":`#F1BCBA`,"text-disabled":`#FFFFFF60`,"text-error":`#F19FB7`,"text-muted":`#FFFFFF99`,"text-primary":`#D8C4EF`,"text-secondary":`#7FB5CA`,"text-success":`#BDDFE5`,"text-warning":`#F9D6A5`,warning:`#F5C177`,"warning-darken-1":`#DFAC63`,"warning-darken-2":`#C99850`,"warning-darken-3":`#B3853E`,"warning-lighten-1":`#FFD58A`,"warning-lighten-2":`#FFEB9E`,"warning-lighten-3":`#FFFFB3`,"warning-muted":`#625149`}},"solarized-dark":{name:`solarized-dark`,dark:!0,vars:{accent:`#6C71C4`,"accent-darken-1":`#575EAF`,"accent-darken-2":`#424C9A`,"accent-darken-3":`#2D3B87`,"accent-lighten-1":`#8083D9`,"accent-lighten-2":`#9597EE`,"accent-lighten-3":`#AAABFF`,"accent-muted":`#204060`,background:`#002B36`,"background-darken-1":`#001B25`,"background-darken-2":`#000A17`,"background-darken-3":`#000000`,"background-lighten-1":`#143B46`,"background-lighten-2":`#274C58`,"background-lighten-3":`#3A5E6A`,"block-cursor-background":`#268BD2`,"block-cursor-blurred-background":`#268BD24C`,"block-cursor-blurred-foreground":`#839496`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#268BD2`,"border-blurred":`#00303C`,"button-color-foreground":`#FDF6E3`,"button-foreground":`#839496`,error:`#DB322F`,"error-darken-1":`#C3121E`,"error-darken-2":`#AB000D`,"error-darken-3":`#940000`,"error-lighten-1":`#F44940`,"error-lighten-2":`#FF6052`,"error-lighten-3":`#FF7564`,"error-muted":`#422D33`,"footer-background":`#268BD2`,"footer-description-background":`#00000000`,"footer-description-foreground":`#FDF6E3`,"footer-foreground":`#839496`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FDF6E3`,foreground:`#839496`,"foreground-darken-1":`#6F8082`,"foreground-darken-2":`#5D6D6F`,"foreground-darken-3":`#4B5B5D`,"foreground-disabled":`#83949660`,"foreground-lighten-1":`#96A7A9`,"foreground-lighten-2":`#AABCBE`,"foreground-lighten-3":`#BED0D3`,"foreground-muted":`#83949699`,"input-cursor-background":`#839496`,"input-cursor-foreground":`#002B36`,"input-selection-background":`#073642`,"link-background":`#00000000`,"link-background-hover":`#268BD2`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#268BD2`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#268BD2`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#268BD2`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#839496`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#839496`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#83949699`,panel:`#073642`,"panel-darken-1":`#002531`,"panel-darken-2":`#001721`,"panel-darken-3":`#000112`,"panel-lighten-1":`#1D4653`,"panel-lighten-2":`#305865`,"panel-lighten-3":`#436A78`,primary:`#268BD2`,"primary-background":`#2A5667`,"primary-background-darken-1":`#17475A`,"primary-background-darken-2":`#05394D`,"primary-background-darken-3":`#05394D`,"primary-background-lighten-1":`#3D6575`,"primary-background-lighten-2":`#507482`,"primary-background-lighten-3":`#62838F`,"primary-darken-1":`#0077BD`,"primary-darken-2":`#0065A8`,"primary-darken-3":`#005394`,"primary-lighten-1":`#459EE7`,"primary-lighten-2":`#5FB2FD`,"primary-lighten-3":`#77C7FF`,"primary-muted":`#0B4764`,scrollbar:`#0F476A`,"scrollbar-active":`#268BD2`,"scrollbar-background":`#001B25`,"scrollbar-background-active":`#001B25`,"scrollbar-background-hover":`#001B25`,"scrollbar-corner-color":`#001B25`,"scrollbar-hover":`#13537B`,secondary:`#2AA198`,"secondary-background":`#2B5960`,"secondary-background-darken-1":`#184A52`,"secondary-background-darken-2":`#063C44`,"secondary-background-darken-3":`#063C44`,"secondary-background-lighten-1":`#3E676E`,"secondary-background-lighten-2":`#50767C`,"secondary-background-lighten-3":`#63858A`,"secondary-darken-1":`#008C84`,"secondary-darken-2":`#007971`,"secondary-darken-3":`#00665F`,"secondary-lighten-1":`#44B5AB`,"secondary-lighten-2":`#5BCAC0`,"secondary-lighten-3":`#72DFD5`,"secondary-muted":`#0C4E53`,success:`#849900`,"success-darken-1":`#708500`,"success-darken-2":`#5B7200`,"success-darken-3":`#485F00`,"success-lighten-1":`#99AC22`,"success-lighten-2":`#AFC139`,"success-lighten-3":`#C4D64E`,"success-muted":`#274C25`,surface:`#073642`,"surface-active":`#19434F`,"surface-darken-1":`#002531`,"surface-darken-2":`#001721`,"surface-darken-3":`#000112`,"surface-lighten-1":`#1D4653`,"surface-lighten-2":`#305865`,"surface-lighten-3":`#436A78`,text:`#FFFFFFDD`,"text-accent":`#9DA1D8`,"text-disabled":`#FFFFFF60`,"text-error":`#E77775`,"text-muted":`#FFFFFF99`,"text-primary":`#6FB2E1`,"text-secondary":`#72C0BB`,"text-success":`#AEBB56`,"text-warning":`#DC8865`,warning:`#CA4B16`,"warning-darken-1":`#B33600`,"warning-darken-2":`#9C2000`,"warning-darken-3":`#850100`,"warning-lighten-1":`#E25F29`,"warning-lighten-2":`#FA733C`,"warning-lighten-3":`#FF874E`,"warning-muted":`#3C342C`}},"solarized-light":{name:`solarized-light`,dark:!1,vars:{accent:`#6C71C4`,"accent-darken-1":`#575EAF`,"accent-darken-2":`#424C9A`,"accent-darken-3":`#2D3B87`,"accent-lighten-1":`#8083D9`,"accent-lighten-2":`#9597EE`,"accent-lighten-3":`#AAABFF`,"accent-muted":`#D1CED9`,background:`#FDF6E3`,"background-darken-1":`#E7E0CD`,"background-darken-2":`#D2CBB9`,"background-darken-3":`#BDB6A4`,"background-lighten-1":`#FFFFF8`,"background-lighten-2":`#FFFFFF`,"background-lighten-3":`#FFFFFF`,"block-cursor-background":`#268BD2`,"block-cursor-blurred-background":`#268BD24C`,"block-cursor-blurred-foreground":`#586E75`,"block-cursor-foreground":`#000000DD`,"block-hover-background":`#00000019`,boost:`#0000000A`,"boost-darken-1":`#0000000A`,"boost-darken-2":`#0000000A`,"boost-darken-3":`#0000000A`,"boost-lighten-1":`#1616160A`,"boost-lighten-2":`#2525250A`,"boost-lighten-3":`#3535350A`,border:`#268BD2`,"border-blurred":`#E6E0CE`,"button-color-foreground":`#FDF6E3`,"button-foreground":`#586E75`,error:`#DB322F`,"error-darken-1":`#C3121E`,"error-darken-2":`#AB000D`,"error-darken-3":`#940000`,"error-lighten-1":`#F44940`,"error-lighten-2":`#FF6052`,"error-lighten-3":`#FF7564`,"error-muted":`#F3BBAD`,"footer-background":`#268BD2`,"footer-description-background":`#00000000`,"footer-description-foreground":`#FDF6E3`,"footer-foreground":`#586E75`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FDF6E3`,foreground:`#586E75`,"foreground-darken-1":`#465B62`,"foreground-darken-2":`#344950`,"foreground-darken-3":`#23383F`,"foreground-disabled":`#586E7560`,"foreground-lighten-1":`#6A8088`,"foreground-lighten-2":`#7D949B`,"foreground-lighten-3":`#91A8AF`,"foreground-muted":`#586E7599`,"input-cursor-background":`#586E75`,"input-cursor-foreground":`#FDF6E3`,"input-selection-background":`#459EE766`,"link-background":`#00000000`,"link-background-hover":`#268BD2`,"link-color":`#000000DD`,"link-color-hover":`#000000DD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#268BD2`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#268BD2`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#268BD2`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#586E75`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#586E75`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#586E7599`,panel:`#EEE8D5`,"panel-darken-1":`#D8D2C0`,"panel-darken-2":`#C3BEAB`,"panel-darken-3":`#AFA997`,"panel-lighten-1":`#FFFDEA`,"panel-lighten-2":`#FFFFFF`,"panel-lighten-3":`#FFFFFF`,primary:`#268BD2`,"primary-background":`#268BD2`,"primary-background-darken-1":`#0077BD`,"primary-background-darken-2":`#0065A8`,"primary-background-darken-3":`#005394`,"primary-background-lighten-1":`#459EE7`,"primary-background-lighten-2":`#5FB2FD`,"primary-background-lighten-3":`#77C7FF`,"primary-darken-1":`#0077BD`,"primary-darken-2":`#0065A8`,"primary-darken-3":`#005394`,"primary-lighten-1":`#459EE7`,"primary-lighten-2":`#5FB2FD`,"primary-lighten-3":`#77C7FF`,"primary-muted":`#BCD5DD`,scrollbar:`#99BECF`,"scrollbar-active":`#268BD2`,"scrollbar-background":`#E7E0CD`,"scrollbar-background-active":`#E7E0CD`,"scrollbar-background-hover":`#E7E0CD`,"scrollbar-corner-color":`#E7E0CD`,"scrollbar-hover":`#86B5CF`,secondary:`#2AA198`,"secondary-background":`#2AA198`,"secondary-background-darken-1":`#008C84`,"secondary-background-darken-2":`#007971`,"secondary-background-darken-3":`#00665F`,"secondary-background-lighten-1":`#44B5AB`,"secondary-background-lighten-2":`#5BCAC0`,"secondary-background-lighten-3":`#72DFD5`,"secondary-darken-1":`#008C84`,"secondary-darken-2":`#007971`,"secondary-darken-3":`#00665F`,"secondary-lighten-1":`#44B5AB`,"secondary-lighten-2":`#5BCAC0`,"secondary-lighten-3":`#72DFD5`,"secondary-muted":`#BDDCCC`,success:`#849900`,"success-darken-1":`#708500`,"success-darken-2":`#5B7200`,"success-darken-3":`#485F00`,"success-lighten-1":`#99AC22`,"success-lighten-2":`#AFC139`,"success-lighten-3":`#C4D64E`,"success-muted":`#D9DA9E`,surface:`#EEE8D5`,"surface-active":`#FFF9E5`,"surface-darken-1":`#D8D2C0`,"surface-darken-2":`#C3BEAB`,"surface-darken-3":`#AFA997`,"surface-lighten-1":`#FFFDEA`,"surface-lighten-2":`#FFFFFF`,"surface-lighten-3":`#FFFFFF`,text:`#000000DD`,"text-accent":`#474A81`,"text-disabled":`#00000060`,"text-error":`#91211F`,"text-muted":`#00000099`,"text-primary":`#195B8A`,"text-secondary":`#1B6A64`,"text-success":`#576400`,"text-warning":`#85310E`,warning:`#CA4B16`,"warning-darken-1":`#B33600`,"warning-darken-2":`#9C2000`,"warning-darken-3":`#850100`,"warning-lighten-1":`#E25F29`,"warning-lighten-2":`#FA733C`,"warning-lighten-3":`#FF874E`,"warning-muted":`#EEC2A5`}},"svg-export":{name:`svg-export`,dark:!0,vars:{accent:`#56B6C2`,"accent-darken-1":`#3EA1AD`,"accent-darken-2":`#238D99`,"accent-darken-3":`#007A85`,"accent-lighten-1":`#6CCAD6`,"accent-lighten-2":`#81DFEC`,"accent-lighten-3":`#97F5FF`,"accent-muted":`#365356`,background:`#292929`,"background-darken-1":`#191919`,"background-darken-2":`#050505`,"background-darken-3":`#000000`,"background-lighten-1":`#393939`,"background-lighten-2":`#4A4A4A`,"background-lighten-3":`#5C5C5C`,"block-cursor-background":`#61AFEF`,"block-cursor-blurred-background":`#61AFEF4C`,"block-cursor-blurred-foreground":`#C5C8C6`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#61AFEF`,"border-blurred":`#191919`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#C5C8C6`,error:`#CB555A`,"error-darken-1":`#B54048`,"error-darken-2":`#9F2C37`,"error-darken-3":`#891427`,"error-lighten-1":`#E2686C`,"error-lighten-2":`#F97D7F`,"error-lighten-3":`#FF9192`,"error-muted":`#593637`,"footer-background":`#2C343A`,"footer-description-background":`#00000000`,"footer-description-foreground":`#C5C8C6`,"footer-foreground":`#C5C8C6`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#56B6C2`,foreground:`#C5C8C6`,"foreground-darken-1":`#B0B3B1`,"foreground-darken-2":`#9C9F9D`,"foreground-darken-3":`#888B89`,"foreground-disabled":`#C5C8C660`,"foreground-lighten-1":`#D9DCDA`,"foreground-lighten-2":`#EFF2F0`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#C5C8C699`,"input-cursor-background":`#C5C8C6`,"input-cursor-foreground":`#292929`,"input-selection-background":`#77C3FF66`,"link-background":`#00000000`,"link-background-hover":`#61AFEF`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#61AFEF`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#61AFEF`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#61AFEF`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#C5C8C6`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#C5C8C6`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#C5C8C699`,panel:`#2C343A`,"panel-darken-1":`#1C2429`,"panel-darken-2":`#0C141A`,"panel-darken-3":`#000007`,"panel-lighten-1":`#3C444B`,"panel-lighten-2":`#4D565C`,"panel-lighten-3":`#5F686F`,primary:`#61AFEF`,"primary-background":`#4F5A61`,"primary-background-darken-1":`#404B53`,"primary-background-darken-2":`#313D46`,"primary-background-darken-3":`#313D46`,"primary-background-lighten-1":`#5F686F`,"primary-background-lighten-2":`#6E777D`,"primary-background-lighten-3":`#7E858B`,"primary-darken-1":`#489BD9`,"primary-darken-2":`#2C87C4`,"primary-darken-3":`#0074AF`,"primary-lighten-1":`#77C3FF`,"primary-lighten-2":`#8ED8FF`,"primary-lighten-3":`#A4EDFF`,"primary-muted":`#395164`,scrollbar:`#35556E`,"scrollbar-active":`#61AFEF`,"scrollbar-background":`#191919`,"scrollbar-background-active":`#191919`,"scrollbar-background-hover":`#191919`,"scrollbar-corner-color":`#191919`,"scrollbar-hover":`#3D6484`,secondary:`#C678DD`,"secondary-background":`#5C5260`,"secondary-background-darken-1":`#4E4352`,"secondary-background-darken-2":`#403444`,"secondary-background-darken-3":`#403444`,"secondary-background-lighten-1":`#6A616E`,"secondary-background-lighten-2":`#79707C`,"secondary-background-lighten-3":`#87808A`,"secondary-darken-1":`#B064C7`,"secondary-darken-2":`#9B50B3`,"secondary-darken-3":`#873D9E`,"secondary-lighten-1":`#DB8CF2`,"secondary-lighten-2":`#F1A0FF`,"secondary-lighten-3":`#FFB5FF`,"secondary-muted":`#58405F`,success:`#98C379`,"success-darken-1":`#83AE65`,"success-darken-2":`#709A53`,"success-darken-3":`#5C8641`,"success-lighten-1":`#ACD78C`,"success-lighten-2":`#C1EDA0`,"success-lighten-3":`#D6FFB4`,"success-muted":`#4A5741`,surface:`#1E1E1E`,"surface-active":`#2A2A2A`,"surface-darken-1":`#0D0D0D`,"surface-darken-2":`#000000`,"surface-darken-3":`#000000`,"surface-lighten-1":`#2D2D2D`,"surface-lighten-2":`#3E3E3E`,"surface-lighten-3":`#4F4F4F`,text:`#FFFFFFDD`,"text-accent":`#8FCED6`,"text-disabled":`#FFFFFF60`,"text-error":`#DD8E92`,"text-muted":`#FFFFFF99`,"text-primary":`#96CAF4`,"text-secondary":`#D9A5E8`,"text-success":`#BBD7A6`,"text-warning":`#EDD5A7`,warning:`#E4C07B`,"warning-darken-1":`#CFAB67`,"warning-darken-2":`#B99754`,"warning-darken-3":`#A48442`,"warning-lighten-1":`#FBD48E`,"warning-lighten-2":`#FFE9A2`,"warning-lighten-3":`#FFFFB7`,"warning-muted":`#615641`}},"textual-ansi":{name:`textual-ansi`,dark:!0,vars:{accent:`#0000FF`,"accent-darken-1":`#0000FF`,"accent-darken-2":`#0000FF`,"accent-darken-3":`#0000FF`,"accent-lighten-1":`#0000FF`,"accent-lighten-2":`#0000FF`,"accent-lighten-3":`#0000FF`,"accent-muted":`#0178D4`,background:`#121212`,"background-darken-1":`#121212`,"background-darken-2":`#121212`,"background-darken-3":`#121212`,"background-lighten-1":`#121212`,"background-lighten-2":`#121212`,"background-lighten-3":`#121212`,"block-cursor-background":`#000080`,"block-cursor-blurred-background":`#0000804C`,"block-cursor-blurred-foreground":`#E0E0E0`,"block-cursor-foreground":`#E0E0E0`,"block-hover-background":`#00000019`,boost:`#0178D4`,"boost-darken-1":`#0178D4`,"boost-darken-2":`#0178D4`,"boost-darken-3":`#0178D4`,"boost-lighten-1":`#0178D4`,"boost-lighten-2":`#0178D4`,"boost-lighten-3":`#0178D4`,border:`#0000FF`,"border-blurred":`#000080`,"button-color-foreground":`#E0E0E0`,"button-foreground":`#E0E0E0`,error:`#800000`,"error-darken-1":`#800000`,"error-darken-2":`#800000`,"error-darken-3":`#800000`,"error-lighten-1":`#800000`,"error-lighten-2":`#800000`,"error-lighten-3":`#800000`,"error-muted":`#0178D4`,"footer-background":`#121212`,"footer-description-background":`#00000000`,"footer-description-foreground":`#E0E0E0`,"footer-foreground":`#E0E0E0`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#0000FF`,foreground:`#E0E0E0`,"foreground-darken-1":`#E0E0E0`,"foreground-darken-2":`#E0E0E0`,"foreground-darken-3":`#E0E0E0`,"foreground-disabled":`#00000060`,"foreground-lighten-1":`#E0E0E0`,"foreground-lighten-2":`#E0E0E0`,"foreground-lighten-3":`#E0E0E0`,"foreground-muted":`#00000099`,"input-cursor-background":`#121212`,"input-cursor-foreground":`#E0E0E0`,"input-selection-background":`#000080`,"link-background":`#00000000`,"link-background-hover":`#000080`,"link-color":`#E0E0E0`,"link-color-hover":`#0178D4`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#000080`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#000080`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#000080`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#E0E0E0`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#E0E0E0`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#00000099`,panel:`#121212`,"panel-darken-1":`#121212`,"panel-darken-2":`#121212`,"panel-darken-3":`#121212`,"panel-lighten-1":`#121212`,"panel-lighten-2":`#121212`,"panel-lighten-3":`#121212`,primary:`#000080`,"primary-background":`#000080`,"primary-background-darken-1":`#000080`,"primary-background-darken-2":`#000080`,"primary-background-darken-3":`#000080`,"primary-background-lighten-1":`#000080`,"primary-background-lighten-2":`#000080`,"primary-background-lighten-3":`#000080`,"primary-darken-1":`#000080`,"primary-darken-2":`#000080`,"primary-darken-3":`#000080`,"primary-lighten-1":`#000080`,"primary-lighten-2":`#000080`,"primary-lighten-3":`#000080`,"primary-muted":`#0178D4`,scrollbar:`#000080`,"scrollbar-active":`#000080`,"scrollbar-background":`#121212`,"scrollbar-background-active":`#121212`,"scrollbar-background-hover":`#121212`,"scrollbar-corner-color":`#E0E0E0`,"scrollbar-hover":`#000040`,secondary:`#008080`,"secondary-background":`#008080`,"secondary-background-darken-1":`#008080`,"secondary-background-darken-2":`#008080`,"secondary-background-darken-3":`#008080`,"secondary-background-lighten-1":`#008080`,"secondary-background-lighten-2":`#008080`,"secondary-background-lighten-3":`#008080`,"secondary-darken-1":`#008080`,"secondary-darken-2":`#008080`,"secondary-darken-3":`#008080`,"secondary-lighten-1":`#008080`,"secondary-lighten-2":`#008080`,"secondary-lighten-3":`#008080`,"secondary-muted":`#0178D4`,success:`#008000`,"success-darken-1":`#008000`,"success-darken-2":`#008000`,"success-darken-3":`#008000`,"success-lighten-1":`#008000`,"success-lighten-2":`#008000`,"success-lighten-3":`#008000`,"success-muted":`#0178D4`,surface:`#121212`,"surface-active":`#131313`,"surface-darken-1":`#121212`,"surface-darken-2":`#121212`,"surface-darken-3":`#121212`,"surface-lighten-1":`#121212`,"surface-lighten-2":`#121212`,"surface-lighten-3":`#121212`,text:`#E0E0E0`,"text-accent":`#5656FF`,"text-disabled":`#E0E0E0`,"text-error":`#AB5656`,"text-muted":`#E0E0E0`,"text-primary":`#5656AB`,"text-secondary":`#56ABAB`,"text-success":`#56AB56`,"text-warning":`#ABAB56`,warning:`#808000`,"warning-darken-1":`#808000`,"warning-darken-2":`#808000`,"warning-darken-3":`#808000`,"warning-lighten-1":`#808000`,"warning-lighten-2":`#808000`,"warning-lighten-3":`#808000`,"warning-muted":`#0178D4`}},"textual-dark":{name:`textual-dark`,dark:!0,vars:{accent:`#FEA62B`,"accent-darken-1":`#E7920D`,"accent-darken-2":`#CF7E00`,"accent-darken-3":`#B86B00`,"accent-lighten-1":`#FFBA41`,"accent-lighten-2":`#FFCF56`,"accent-lighten-3":`#FFE46B`,"accent-muted":`#593E19`,background:`#121212`,"background-darken-1":`#000000`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#212121`,"background-lighten-2":`#313131`,"background-lighten-3":`#414141`,"block-cursor-background":`#0178D4`,"block-cursor-blurred-background":`#0178D44C`,"block-cursor-blurred-foreground":`#E0E0E0`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#0178D4`,"border-blurred":`#191919`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#E0E0E0`,error:`#B93C5B`,"error-darken-1":`#A32549`,"error-darken-2":`#8D0638`,"error-darken-3":`#780028`,"error-lighten-1":`#D0506D`,"error-lighten-2":`#E76580`,"error-lighten-3":`#FE7993`,"error-muted":`#441E27`,"footer-background":`#242F38`,"footer-description-background":`#00000000`,"footer-description-foreground":`#E0E0E0`,"footer-foreground":`#E0E0E0`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FFA62B`,foreground:`#E0E0E0`,"foreground-darken-1":`#CACACA`,"foreground-darken-2":`#B6B6B6`,"foreground-darken-3":`#A2A2A2`,"foreground-disabled":`#E0E0E060`,"foreground-lighten-1":`#F5F5F5`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#E0E0E099`,"input-cursor-background":`#E0E0E0`,"input-cursor-foreground":`#121212`,"input-selection-background":`#368AE966`,"link-background":`#00000000`,"link-background-hover":`#0178D4`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#0178D4`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#0178D4`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#0178D4`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#E0E0E0`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#E0E0E0`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#E0E0E099`,panel:`#242F38`,"panel-darken-1":`#141F27`,"panel-darken-2":`#000F18`,"panel-darken-3":`#000003`,"panel-lighten-1":`#343F49`,"panel-lighten-2":`#45505A`,"panel-lighten-3":`#57626D`,primary:`#0178D4`,"primary-background":`#33424E`,"primary-background-darken-1":`#21313E`,"primary-background-darken-2":`#0F212F`,"primary-background-darken-3":`#0F212F`,"primary-background-lighten-1":`#45525D`,"primary-background-lighten-2":`#57636D`,"primary-background-lighten-3":`#69747D`,"primary-darken-1":`#0065BE`,"primary-darken-2":`#0053AA`,"primary-darken-3":`#004295`,"primary-lighten-1":`#368AE9`,"primary-lighten-2":`#539EFF`,"primary-lighten-3":`#6DB2FF`,"primary-muted":`#0C304C`,scrollbar:`#003054`,"scrollbar-active":`#0178D4`,"scrollbar-background":`#000000`,"scrollbar-background-active":`#000000`,"scrollbar-background-hover":`#000000`,"scrollbar-corner-color":`#000000`,"scrollbar-hover":`#003C6A`,secondary:`#004578`,"secondary-background":`#333B42`,"secondary-background-darken-1":`#212A31`,"secondary-background-darken-2":`#0F1921`,"secondary-background-darken-3":`#0F1921`,"secondary-background-lighten-1":`#454C52`,"secondary-background-lighten-2":`#575E63`,"secondary-background-lighten-3":`#696F74`,"secondary-darken-1":`#003465`,"secondary-darken-2":`#002452`,"secondary-darken-3":`#001541`,"secondary-lighten-1":`#23568B`,"secondary-lighten-2":`#3B689F`,"secondary-lighten-3":`#507BB3`,"secondary-muted":`#0C2130`,success:`#4EBF71`,"success-darken-1":`#36AA5E`,"success-darken-2":`#18954B`,"success-darken-3":`#008139`,"success-lighten-1":`#64D484`,"success-lighten-2":`#7AE998`,"success-lighten-3":`#8FFFAC`,"success-muted":`#24452E`,surface:`#1E1E1E`,"surface-active":`#2A2A2A`,"surface-darken-1":`#0D0D0D`,"surface-darken-2":`#000000`,"surface-darken-3":`#000000`,"surface-lighten-1":`#2D2D2D`,"surface-lighten-2":`#3E3E3E`,"surface-lighten-3":`#4F4F4F`,text:`#FFFFFFDD`,"text-accent":`#FFC473`,"text-disabled":`#FFFFFF60`,"text-error":`#D17E92`,"text-muted":`#FFFFFF99`,"text-primary":`#57A5E2`,"text-secondary":`#5684A5`,"text-success":`#8AD4A1`,"text-warning":`#FFC473`,warning:`#FEA62B`,"warning-darken-1":`#E7920D`,"warning-darken-2":`#CF7E00`,"warning-darken-3":`#B86B00`,"warning-lighten-1":`#FFBA41`,"warning-lighten-2":`#FFCF56`,"warning-lighten-3":`#FFE46B`,"warning-muted":`#593E19`}},"textual-light":{name:`textual-light`,dark:!1,vars:{accent:`#FEA62B`,"accent-darken-1":`#E7920D`,"accent-darken-2":`#CF7E00`,"accent-darken-3":`#B86B00`,"accent-lighten-1":`#FFBA41`,"accent-lighten-2":`#FFCF56`,"accent-lighten-3":`#FFE46B`,"accent-muted":`#E9CEA9`,background:`#E0E0E0`,"background-darken-1":`#CACACA`,"background-darken-2":`#B6B6B6`,"background-darken-3":`#A2A2A2`,"background-lighten-1":`#F5F5F5`,"background-lighten-2":`#FFFFFF`,"background-lighten-3":`#FFFFFF`,"block-cursor-background":`#004578`,"block-cursor-blurred-background":`#0045784C`,"block-cursor-blurred-foreground":`#1F1F1F`,"block-cursor-foreground":`#000000DD`,"block-hover-background":`#00000019`,boost:`#0000000A`,"boost-darken-1":`#0000000A`,"boost-darken-2":`#0000000A`,"boost-darken-3":`#0000000A`,"boost-lighten-1":`#1616160A`,"boost-lighten-2":`#2525250A`,"boost-lighten-3":`#3535350A`,border:`#004578`,"border-blurred":`#D0D1D0`,"button-color-foreground":`#000000DD`,"button-foreground":`#1F1F1F`,error:`#B93C5B`,"error-darken-1":`#A32549`,"error-darken-2":`#8D0638`,"error-darken-3":`#780028`,"error-lighten-1":`#D0506D`,"error-lighten-2":`#E76580`,"error-lighten-3":`#FE7993`,"error-muted":`#D4AEB8`,"footer-background":`#D0D0D0`,"footer-description-background":`#00000000`,"footer-description-foreground":`#1F1F1F`,"footer-foreground":`#1F1F1F`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#0178D4`,foreground:`#1F1F1F`,"foreground-darken-1":`#0E0E0E`,"foreground-darken-2":`#000000`,"foreground-darken-3":`#000000`,"foreground-disabled":`#1F1F1F60`,"foreground-lighten-1":`#2E2E2E`,"foreground-lighten-2":`#3F3F3F`,"foreground-lighten-3":`#505050`,"foreground-muted":`#1F1F1F99`,"input-cursor-background":`#1F1F1F`,"input-cursor-foreground":`#E0E0E0`,"input-selection-background":`#23568B66`,"link-background":`#00000000`,"link-background-hover":`#004578`,"link-color":`#000000DD`,"link-color-hover":`#000000DD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#004578`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#004578`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#004578`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#1F1F1F`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#1F1F1F`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#1F1F1F99`,panel:`#D0D0D0`,"panel-darken-1":`#BBBBBB`,"panel-darken-2":`#A6A6A6`,"panel-darken-3":`#939393`,"panel-lighten-1":`#E5E5E5`,"panel-lighten-2":`#FAFAFA`,"panel-lighten-3":`#FFFFFF`,primary:`#004578`,"primary-background":`#004578`,"primary-background-darken-1":`#003465`,"primary-background-darken-2":`#002452`,"primary-background-darken-3":`#001541`,"primary-background-lighten-1":`#23568B`,"primary-background-lighten-2":`#3B689F`,"primary-background-lighten-3":`#507BB3`,"primary-darken-1":`#003465`,"primary-darken-2":`#002452`,"primary-darken-3":`#001541`,"primary-lighten-1":`#23568B`,"primary-lighten-2":`#3B689F`,"primary-lighten-3":`#507BB3`,"primary-muted":`#9CB1C0`,scrollbar:`#7994A9`,"scrollbar-active":`#004578`,"scrollbar-background":`#CACACA`,"scrollbar-background-active":`#CACACA`,"scrollbar-background-hover":`#CACACA`,"scrollbar-corner-color":`#CACACA`,"scrollbar-hover":`#6587A1`,secondary:`#0178D4`,"secondary-background":`#0178D4`,"secondary-background-darken-1":`#0065BE`,"secondary-background-darken-2":`#0053AA`,"secondary-background-darken-3":`#004295`,"secondary-background-lighten-1":`#368AE9`,"secondary-background-lighten-2":`#539EFF`,"secondary-background-lighten-3":`#6DB2FF`,"secondary-darken-1":`#0065BE`,"secondary-darken-2":`#0053AA`,"secondary-darken-3":`#004295`,"secondary-lighten-1":`#368AE9`,"secondary-lighten-2":`#539EFF`,"secondary-lighten-3":`#6DB2FF`,"secondary-muted":`#9DC0DC`,success:`#4EBF71`,"success-darken-1":`#36AA5E`,"success-darken-2":`#18954B`,"success-darken-3":`#008139`,"success-lighten-1":`#64D484`,"success-lighten-2":`#7AE998`,"success-lighten-3":`#8FFFAC`,"success-muted":`#B4D6BE`,surface:`#D8D8D8`,"surface-active":`#E8E8E8`,"surface-darken-1":`#C3C3C3`,"surface-darken-2":`#AEAEAE`,"surface-darken-3":`#9A9A9A`,"surface-lighten-1":`#EDEDED`,"surface-lighten-2":`#FFFFFF`,"surface-lighten-3":`#FFFFFF`,text:`#000000DD`,"text-accent":`#A86D1C`,"text-disabled":`#00000060`,"text-error":`#7A273C`,"text-muted":`#00000099`,"text-primary":`#002D4F`,"text-secondary":`#004F8B`,"text-success":`#337E4A`,"text-warning":`#A86D1C`,warning:`#FEA62B`,"warning-darken-1":`#E7920D`,"warning-darken-2":`#CF7E00`,"warning-darken-3":`#B86B00`,"warning-lighten-1":`#FFBA41`,"warning-lighten-2":`#FFCF56`,"warning-lighten-3":`#FFE46B`,"warning-muted":`#E9CEA9`}},"tokyo-night":{name:`tokyo-night`,dark:!0,vars:{accent:`#FE9E64`,"accent-darken-1":`#E78A51`,"accent-darken-2":`#D0763E`,"accent-darken-3":`#BA632C`,"accent-lighten-1":`#FFB277`,"accent-lighten-2":`#FFC78A`,"accent-lighten-3":`#FFDC9E`,"accent-muted":`#5E4238`,background:`#1A1B26`,"background-darken-1":`#070817`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#292A36`,"background-lighten-2":`#3A3A47`,"background-lighten-3":`#4B4B58`,"block-cursor-background":`#BB9AF7`,"block-cursor-blurred-background":`#BB9AF74C`,"block-cursor-blurred-foreground":`#A9B1D6`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#BB9AF7`,"border-blurred":`#1E2235`,"button-color-foreground":`#24283B`,"button-foreground":`#A9B1D6`,error:`#F6768E`,"error-darken-1":`#E0617A`,"error-darken-2":`#C94D68`,"error-darken-3":`#B33856`,"error-lighten-1":`#FF8AA1`,"error-lighten-2":`#FF9FB5`,"error-lighten-3":`#FFB4CA`,"error-muted":`#5C3645`,"footer-background":`#414868`,"footer-description-background":`#00000000`,"footer-description-foreground":`#A9B1D6`,"footer-foreground":`#A9B1D6`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FF9E64`,foreground:`#A9B1D6`,"foreground-darken-1":`#949CC1`,"foreground-darken-2":`#8189AC`,"foreground-darken-3":`#6D7698`,"foreground-disabled":`#A9B1D660`,"foreground-lighten-1":`#BDC5EB`,"foreground-lighten-2":`#D2DAFF`,"foreground-lighten-3":`#E7EFFF`,"foreground-muted":`#A9B1D699`,"input-cursor-background":`#A9B1D6`,"input-cursor-foreground":`#1A1B26`,"input-selection-background":`#D0AEFF66`,"link-background":`#00000000`,"link-background-hover":`#BB9AF7`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#BB9AF7`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#BB9AF7`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#BB9AF7`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#A9B1D6`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#A9B1D6`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#A9B1D699`,panel:`#414868`,"panel-darken-1":`#2F3755`,"panel-darken-2":`#1E2744`,"panel-darken-3":`#0C1733`,"panel-lighten-1":`#53597A`,"panel-lighten-2":`#656B8E`,"panel-lighten-3":`#787EA1`,primary:`#BB9AF7`,"primary-background":`#504D60`,"primary-background-darken-1":`#413D52`,"primary-background-darken-2":`#322E45`,"primary-background-darken-3":`#322E45`,"primary-background-lighten-1":`#605D6E`,"primary-background-lighten-2":`#6F6C7C`,"primary-background-lighten-3":`#7E7C8A`,"primary-darken-1":`#A686E1`,"primary-darken-2":`#9173CC`,"primary-darken-3":`#7D60B7`,"primary-lighten-1":`#D0AEFF`,"primary-lighten-2":`#E5C2FF`,"primary-lighten-3":`#FBD7FF`,"primary-muted":`#4A4164`,scrollbar:`#4F4270`,"scrollbar-active":`#BB9AF7`,"scrollbar-background":`#070817`,"scrollbar-background-active":`#070817`,"scrollbar-background-hover":`#070817`,"scrollbar-corner-color":`#070817`,"scrollbar-hover":`#615187`,secondary:`#7AA2F7`,"secondary-background":`#484E60`,"secondary-background-darken-1":`#383E52`,"secondary-background-darken-2":`#282F45`,"secondary-background-darken-3":`#282F45`,"secondary-background-lighten-1":`#585D6E`,"secondary-background-lighten-2":`#686D7C`,"secondary-background-lighten-3":`#787D8A`,"secondary-darken-1":`#648EE1`,"secondary-darken-2":`#4D7BCC`,"secondary-darken-3":`#3468B7`,"secondary-lighten-1":`#8FB6FF`,"secondary-lighten-2":`#A5CAFF`,"secondary-lighten-3":`#BBDFFF`,"secondary-muted":`#364364`,success:`#9ECE6A`,"success-darken-1":`#89B956`,"success-darken-2":`#75A443`,"success-darken-3":`#619030`,"success-lighten-1":`#B2E37D`,"success-lighten-2":`#C8F891`,"success-lighten-3":`#DDFFA6`,"success-muted":`#41503A`,surface:`#24283B`,"surface-active":`#313448`,"surface-darken-1":`#14182A`,"surface-darken-2":`#00031B`,"surface-darken-3":`#000009`,"surface-lighten-1":`#34384C`,"surface-lighten-2":`#45495E`,"surface-lighten-3":`#575A70`,text:`#FFFFFFDD`,"text-accent":`#FFBE98`,"text-disabled":`#FFFFFF60`,"text-error":`#F9A4B4`,"text-muted":`#FFFFFF99`,"text-primary":`#D2BCF9`,"text-secondary":`#A7C1F9`,"text-success":`#BEDE9C`,"text-warning":`#EACA9B`,warning:`#DFAF68`,"warning-darken-1":`#C99A55`,"warning-darken-2":`#B48742`,"warning-darken-3":`#9E7430`,"warning-lighten-1":`#F6C37B`,"warning-lighten-2":`#FFD88F`,"warning-lighten-3":`#FFEDA3`,"warning-muted":`#554739`}}},tr=Object.freeze(Object.keys(er).sort()),nr=new Map;function rr(){return tr}function ir(e){if(!ar(e))return null;let t=nr.get(e);if(t!==void 0)return t;let n=or(er[e]);return nr.set(e,n),n}function ar(e){return Object.hasOwn(er,e)}function or(e){let t=new Map;for(let[n,r]of Object.entries(e.vars))t.set(n,cr(r,e.name,n));return new Wt(e.name,e.dark,t)}const sr=/^[0-9a-fA-F]+$/;function cr(e,t,n){let r=e.startsWith(`#`)?e.slice(1):e;if(r.length!==6&&r.length!==8||!sr.test(r))throw Error(`Theme ${t}: var ${n} has invalid hex ${JSON.stringify(e)} (expected #RRGGBB or #RRGGBBAA)`);return r.length===6?mn(r):F(r)}const lr=new Set([`error`,`success`,`warning`]);function ur(e){let t=e.indexOf(`-`);return t===-1?e:e.slice(0,t)}function dr(e){return lr.has(ur(e))}function fr(e,t,n){if(kn(t))return new Wt(n??e.name,e.dark,e.vars);let r={...t,hueShift:0},i=new Map;for(let[n,a]of e.vars){let e=dr(n)?r:t;i.set(n,R.fromRgba(a).applyKey(e).toRgba())}let a=i.get(`background`);if(a===void 0)throw Error(`transposePalette: palette "${e.name}" has no "background" var; cannot derive the dark flag without a background color.`);let o=R.fromRgba(a).l<.5;return new Wt(n??e.name,o,i)}const pr={linear:e=>e,step:()=>0},mr=Object.keys(pr);function hr(e){if(!Object.hasOwn(pr,e))throw RangeError(`unknown ramp easing ${JSON.stringify(e)}; expected one of `+mr.map(e=>JSON.stringify(e)).join(`, `));return e}var gr=class{easing;stops;constructor(e,t){if(this.easing=e,this.stops=t,t.length===0)throw RangeError(`a ColorRamp needs at least one stop`);for(let[e,n]of t.entries()){if(!Number.isFinite(n.at))throw RangeError(`ColorRamp stop ${e} has a non-finite position ${n.at}`);let r=t[e-1];if(r!==void 0&&n.at<r.at)throw RangeError(`ColorRamp stops must be in ascending position order; stop ${e} at ${n.at} follows stop ${e-1} at ${r.at}`)}}at(e){if(!Number.isFinite(e))throw RangeError(`ColorRamp.at needs a finite value, got ${e}`);let t=this.stops,n=-1;for(;n+1<t.length&&t[n+1].at<=e;)n++;if(n<0)return t[0].color;let r=t[n];if(n===t.length-1)return r.color;let i=t[n+1],a=pr[this.easing]((e-r.at)/(i.at-r.at));return a<=0?r.color:a>=1?i.color:R.fromRgba(r.color).mix(R.fromRgba(i.color),a).toRgba()}};const _r=[`bold`,`dim`,`italic`,`underline`,`blink`,`blink2`,`reverse`,`conceal`,`strike`,`underline2`,`frame`,`encircle`,`overline`],vr={bold:1,dim:2,italic:3,underline:4,blink:5,blink2:6,reverse:7,conceal:8,strike:9,underline2:21,frame:51,encircle:52,overline:53},yr={b:`bold`,d:`dim`,i:`italic`,u:`underline`,s:`strike`,r:`reverse`,o:`overline`,uu:`underline2`};var br=class extends Error{constructor(e,t){super(e,t),this.name=`StyleSyntaxError`}};const xr=new Map;var B=class e{color;bgcolor;bold;dim;italic;underline;blink;blink2;reverse;conceal;strike;underline2;frame;encircle;overline;link;meta;constructor(e){if(!e){this.color=void 0,this.bgcolor=void 0,this.bold=void 0,this.dim=void 0,this.italic=void 0,this.underline=void 0,this.blink=void 0,this.blink2=void 0,this.reverse=void 0,this.conceal=void 0,this.strike=void 0,this.underline2=void 0,this.frame=void 0,this.encircle=void 0,this.overline=void 0,this.link=void 0,this.meta=void 0;return}this.color=jr(e.color),this.bgcolor=jr(e.bgcolor),this.bold=e.bold,this.dim=e.dim,this.italic=e.italic,this.underline=e.underline,this.blink=e.blink,this.blink2=e.blink2,this.reverse=e.reverse,this.conceal=e.conceal,this.strike=e.strike,this.underline2=e.underline2,this.frame=e.frame,this.encircle=e.encircle,this.overline=e.overline,this.link=e.link,this.meta=e.meta}get isNull(){return this.color===void 0&&this.bgcolor===void 0&&this.bold===void 0&&this.dim===void 0&&this.italic===void 0&&this.underline===void 0&&this.blink===void 0&&this.blink2===void 0&&this.reverse===void 0&&this.conceal===void 0&&this.strike===void 0&&this.underline2===void 0&&this.frame===void 0&&this.encircle===void 0&&this.overline===void 0&&this.link===void 0&&this.meta===void 0}get transparentBackground(){return this.bgcolor===void 0||this.bgcolor.isDefault}get backgroundStyle(){return new e({bgcolor:this.bgcolor})}get withoutColor(){return new e({bold:this.bold,dim:this.dim,italic:this.italic,underline:this.underline,blink:this.blink,blink2:this.blink2,reverse:this.reverse,conceal:this.conceal,strike:this.strike,underline2:this.underline2,frame:this.frame,encircle:this.encircle,overline:this.overline,link:this.link,meta:this.meta})}withLink(t){return new e({color:this.color,bgcolor:this.bgcolor,bold:this.bold,dim:this.dim,italic:this.italic,underline:this.underline,blink:this.blink,blink2:this.blink2,reverse:this.reverse,conceal:this.conceal,strike:this.strike,underline2:this.underline2,frame:this.frame,encircle:this.encircle,overline:this.overline,link:t,meta:this.meta})}clearMetaAndLinks(){return new e({color:this.color,bgcolor:this.bgcolor,bold:this.bold,dim:this.dim,italic:this.italic,underline:this.underline,blink:this.blink,blink2:this.blink2,reverse:this.reverse,conceal:this.conceal,strike:this.strike,underline2:this.underline2,frame:this.frame,encircle:this.encircle,overline:this.overline})}add(t){return!t||t.isNull?this:this.isNull?t:new e({color:t.color??this.color,bgcolor:t.bgcolor??this.bgcolor,bold:t.bold??this.bold,dim:t.dim??this.dim,italic:t.italic??this.italic,underline:t.underline??this.underline,blink:t.blink??this.blink,blink2:t.blink2??this.blink2,reverse:t.reverse??this.reverse,conceal:t.conceal??this.conceal,strike:t.strike??this.strike,underline2:t.underline2??this.underline2,frame:t.frame??this.frame,encircle:t.encircle??this.encircle,overline:t.overline??this.overline,link:t.link??this.link,meta:t.meta&&this.meta?{...this.meta,...t.meta}:t.meta??this.meta})}equals(e){return this===e?!0:this.color?.name===e.color?.name&&this.bgcolor?.name===e.bgcolor?.name&&this.bold===e.bold&&this.dim===e.dim&&this.italic===e.italic&&this.underline===e.underline&&this.blink===e.blink&&this.blink2===e.blink2&&this.reverse===e.reverse&&this.conceal===e.conceal&&this.strike===e.strike&&this.underline2===e.underline2&&this.frame===e.frame&&this.encircle===e.encircle&&this.overline===e.overline&&this.link===e.link}drawnColors(e){let t=qt,n=this.bgcolor?.flattenAlpha(t),r=n?.getTruecolor(void 0,!1)??t,i=this.color?.flattenAlpha(r),a=t=>e===void 0?t:t.downgrade(e);return{color:i===void 0?void 0:a(i),bgcolor:n===void 0?void 0:a(n)}}toSgrCodes(e){if(this.isNull)return``;let t=[],n=this.drawnColors(e);return n.color&&t.push(...n.color.getAnsiCodes(!0)),n.bgcolor&&t.push(...n.bgcolor.getAnsiCodes(!1)),t.push(..._r.filter(e=>this[e]===!0).map(e=>`${vr[e]}`)),t.join(`;`)}toString(){if(this.isNull)return`none`;let e=[];for(let t of _r)this[t]===!1&&e.push(`not ${t}`);for(let t of _r)this[t]===!0&&e.push(t);return this.color&&e.push(this.color.name),this.bgcolor&&e.push(`on ${this.bgcolor.name}`),this.link&&e.push(`link ${this.link}`),e.join(` `)||`none`}static null(){return Sr}static fromColor(t,n){return new e({color:t,bgcolor:n})}static fromMeta(t){return new e({meta:t})}static pickFirst(...e){for(let t of e)if(t!==void 0)return t;throw Error(`All arguments are undefined`)}static combine(e){let t=Sr;for(let n of e)n&&(t=t.add(n));return t}static chain(...t){return e.combine(t)}static normalize(e){return e.trim().replace(/\s+/g,` `)}static parse(t){let n=e.normalize(t);if(n===``||n===`none`)return Sr;let r=xr.get(n);if(r)return r;let i=Ar(n);return xr.set(n,i),i}};const Sr=new B,Cr=/^[a-z][a-z0-9._-]*$/;var wr=class{styles;constructor(e={},t){if(this.styles=new Map,t?.inherit!==!1)for(let[e,t]of Object.entries(Mr))this.styles.set(e,t);for(let[t,n]of Object.entries(e)){if(!Cr.test(t))throw Error(`Invalid style name: "${t}" (must be lowercase, start with letter, contain only letters, digits, ".", "-", "_")`);this.styles.set(t,B.parse(n))}}get(e){return this.styles.get(e)}resolve(e){return e instanceof B?e:this.styles.get(e)??B.parse(e)}has(e){return this.styles.has(e)}};const Tr=new Set(_r),Er=[`not`,`on`,`link`,..._r,...Tn];function Dr(e,t){let n=[],r=Array.from({length:t.length+1},(e,t)=>t);for(let i=1;i<=e.length;i++){let a=[i];for(let o=1;o<=t.length;o++){let s=i>1&&o>1&&e[i-1]===t[o-2]&&e[i-2]===t[o-1];a[o]=Math.min(r[o]+1,a[o-1]+1,r[o-1]+Number(e[i-1]!==t[o-1]),s?n[o-2]+1:1/0)}[n,r]=[r,a]}return r[t.length]}function Or(e,t){let n=e.toLowerCase(),r=Math.max(1,Math.floor(n.length/3)),i=t.filter(e=>Math.abs(e.length-n.length)<=r).map(e=>({name:e,distance:Dr(n,e)})),a=Math.min(r,...i.map(e=>e.distance)),o=i.filter(e=>e.distance===a).map(e=>`"${e.name}"`).sort();return o.length===0?``:` (did you mean ${o.join(` or `)}?)`}function kr(e,t,n){try{return P.parse(e)}catch(r){throw new br(`${t} "${e}"${Or(e,n)}: ${String(r)}`,{cause:r})}}function Ar(e){let t=e.split(/\s+/),n={},r=0;for(;r<t.length;){let e=t[r];if(e===`not`){r++;let e=t[r];if(!e)throw new br(`Expected attribute after "not" in style definition`);let i=yr[e]??e;if(!Tr.has(i))throw new br(`Invalid attribute: "${e}"${Or(e,_r)}`);n[i]=!1,r++;continue}if(e===`on`){r++;let e=t[r];if(!e)throw new br(`Expected color after "on" in style definition`);n.bgcolor=kr(e,`Invalid background color`,Tn),r++;continue}if(e===`link`){r++;let e=t[r];e&&(n.link=e),r++;continue}let i=yr[e]??e;if(Tr.has(i)){n[i]=!0,r++;continue}n.color=kr(e,`Invalid style definition`,Er),r++}return new B(n)}function jr(e){if(e!==void 0)return e instanceof P?e:P.parse(e)}const Mr={none:Sr,reset:new B({color:P.default(),bgcolor:P.default(),bold:!1,dim:!1,italic:!1,underline:!1,blink:!1,blink2:!1,reverse:!1,conceal:!1,strike:!1,underline2:!1,frame:!1,encircle:!1,overline:!1}),bold:new B({bold:!0}),dim:new B({dim:!0}),italic:new B({italic:!0}),underline:new B({underline:!0}),blink:new B({blink:!0}),blink2:new B({blink2:!0}),reverse:new B({reverse:!0}),conceal:new B({conceal:!0}),strike:new B({strike:!0}),underline2:new B({underline2:!0}),frame:new B({frame:!0}),encircle:new B({encircle:!0}),overline:new B({overline:!0}),"table.header":new B({bold:!0}),"table.footer":new B({bold:!0}),"table.cell":Sr,"table.title":new B({italic:!0}),"table.caption":new B({italic:!0,dim:!0}),"repr.str":B.parse(`green`),"repr.number":B.parse(`cyan`),"repr.bool":B.parse(`italic bright_magenta`),"repr.none":B.parse(`italic magenta`),"repr.url":B.parse(`not italic underline bright_blue`),"repr.uuid":B.parse(`bright_yellow`),"repr.error":B.parse(`bold red`),"repr.indent":B.parse(`dim green`),"repr.attrib_name":B.parse(`yellow`),"repr.attrib_value":B.parse(`magenta`),"repr.attrib_equal":B.parse(`bold`),"repr.tag_start":B.parse(`bold`),"repr.tag_name":B.parse(`bright_magenta`),"repr.tag_contents":B.parse(`default`),"repr.tag_end":B.parse(`bold`),"log.time":B.parse(`cyan dim`),"log.message":Sr,"log.path":B.parse(`dim`),"log.line_no":B.parse(`cyan`),"log.level":Sr,"rule.line":B.parse(`green`),"rule.text":B.parse(`bold`),"json.brace":B.parse(`bold`),"json.bool_true":B.parse(`italic bright_green`),"json.bool_false":B.parse(`italic bright_red`),"json.key":B.parse(`bold blue`),"json.null":B.parse(`italic magenta`),"json.number":B.parse(`bold not italic cyan`),"json.str":B.parse(`not bold not italic green`),"markdown.h1":B.parse(`bold underline`),"markdown.h2":B.parse(`bold`),"markdown.h3":B.parse(`bold dim`),"markdown.h4":B.parse(`bold dim italic`),"markdown.code":B.parse(`cyan on grey11`),"markdown.hr":B.parse(`yellow`),"markdown.link":B.parse(`bright_blue`),"markdown.link_url":B.parse(`blue`),"progress.description":Sr,"progress.percentage":B.parse(`cyan`),"progress.remaining":B.parse(`cyan`),"progress.elapsed":B.parse(`cyan`),"progress.spinner":B.parse(`green`),"progress.download":B.parse(`green`),"progress.filesize":B.parse(`green`),"progress.filesize.total":B.parse(`green`),"progress.data.speed":B.parse(`red`),"bar.back":B.parse(`grey23`),"bar.complete":B.parse(`magenta`),"bar.finished":B.parse(`green`),"bar.pulse":B.parse(`magenta`),tree:Sr,"tree.guide":Sr,"status.spinner":B.parse(`green`),"status.message":Sr,prompt:B.parse(`bold`),"prompt.choices":B.parse(`magenta`),"prompt.default":B.parse(`cyan`),"inspect.attr":B.parse(`yellow italic`),"inspect.attr.dunder":B.parse(`yellow italic dim`),"inspect.callable":B.parse(`bold magenta`),"inspect.error":B.parse(`bold red`),"inspect.help":B.parse(`cyan`),"inspect.doc":B.parse(`dim`),"inspect.value.border":B.parse(`green`),"traceback.border":B.parse(`red`),"traceback.text":B.parse(`red`),"traceback.title":B.parse(`bold red`),"traceback.exc_type":B.parse(`bold bright_red`),"traceback.exc_value":Sr,"traceback.offset":B.parse(`bold bright_red`),"scope.border":B.parse(`blue`),"scope.key":B.parse(`italic`),"scope.key.special":B.parse(`dim italic`),pretty:Sr,"iso8601.date":B.parse(`cyan`),"iso8601.time":B.parse(`cyan`),"iso8601.timezone":B.parse(`bright_blue`)},Nr=new wr;var Pr;(function(e){e.BELL=`bell`,e.CARRIAGE_RETURN=`carriage_return`,e.HOME=`home`,e.CLEAR=`clear`,e.SHOW_CURSOR=`show_cursor`,e.HIDE_CURSOR=`hide_cursor`,e.ENABLE_ALT_SCREEN=`enable_alt_screen`,e.DISABLE_ALT_SCREEN=`disable_alt_screen`,e.CURSOR_UP=`cursor_up`,e.CURSOR_DOWN=`cursor_down`,e.CURSOR_FORWARD=`cursor_forward`,e.CURSOR_BACKWARD=`cursor_backward`,e.CURSOR_MOVE_TO_COLUMN=`cursor_move_to_column`,e.CURSOR_MOVE_TO=`cursor_move_to`,e.ERASE_IN_LINE=`erase_in_line`,e.SET_WINDOW_TITLE=`set_window_title`})(Pr||={});var V=class e{text;style;control;constructor(e,t,n){this.text=e,this.style=t,this.control=n}get cellLength(){return this.control?0:k(this.text)}get hasText(){return this.text.length>0}get isControl(){return this.control!==void 0}splitCells(t){if(t>=this.cellLength)return[this,new e(``)];if(t<=0)return[new e(``),this];let[n,r]=zt(this.text,t);return[new e(n,this.style),new e(r,this.style)]}static _line;static line(){return e._line??=new e(`
|
|
15
|
+
`+t+`]`}return i.pop(),a=t,r}}})),Qe=ge(me(((e,t)=>{t.exports={parse:Xe(),stringify:Ze()}}))(),1);function $e({onlyFirst:e=!1}={}){return RegExp(`(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]`,e?void 0:`g`)}const et=$e();function tt(e){if(typeof e!=`string`)throw TypeError(`Expected a \`string\`, got \`${typeof e}\``);return!e.includes(`\x1B`)&&!e.includes(``)?e:e.replace(et,``)}const nt=[161,161,164,164,167,168,170,170,173,174,176,180,182,186,188,191,198,198,208,208,215,216,222,225,230,230,232,234,236,237,240,240,242,243,247,250,252,252,254,254,257,257,273,273,275,275,283,283,294,295,299,299,305,307,312,312,319,322,324,324,328,331,333,333,338,339,358,359,363,363,462,462,464,464,466,466,468,468,470,470,472,472,474,474,476,476,593,593,609,609,708,708,711,711,713,715,717,717,720,720,728,731,733,733,735,735,768,879,913,929,931,937,945,961,963,969,1025,1025,1040,1103,1105,1105,8208,8208,8211,8214,8216,8217,8220,8221,8224,8226,8228,8231,8240,8240,8242,8243,8245,8245,8251,8251,8254,8254,8308,8308,8319,8319,8321,8324,8364,8364,8451,8451,8453,8453,8457,8457,8467,8467,8470,8470,8481,8482,8486,8486,8491,8491,8531,8532,8539,8542,8544,8555,8560,8569,8585,8585,8592,8601,8632,8633,8658,8658,8660,8660,8679,8679,8704,8704,8706,8707,8711,8712,8715,8715,8719,8719,8721,8721,8725,8725,8730,8730,8733,8736,8739,8739,8741,8741,8743,8748,8750,8750,8756,8759,8764,8765,8776,8776,8780,8780,8786,8786,8800,8801,8804,8807,8810,8811,8814,8815,8834,8835,8838,8839,8853,8853,8857,8857,8869,8869,8895,8895,8978,8978,9312,9449,9451,9547,9552,9587,9600,9615,9618,9621,9632,9633,9635,9641,9650,9651,9654,9655,9660,9661,9664,9665,9670,9672,9675,9675,9678,9681,9698,9701,9711,9711,9733,9734,9737,9737,9742,9743,9756,9756,9758,9758,9792,9792,9794,9794,9824,9825,9827,9829,9831,9834,9836,9837,9839,9839,9886,9887,9919,9919,9926,9933,9935,9939,9941,9953,9955,9955,9960,9961,9963,9969,9972,9972,9974,9977,9979,9980,9982,9983,10045,10045,10102,10111,11094,11097,12872,12879,57344,63743,65024,65039,65533,65533,127232,127242,127248,127277,127280,127337,127344,127373,127375,127376,127387,127404,917760,917999,983040,1048573,1048576,1114109],rt=[12288,12288,65281,65376,65504,65510],it=[8361,8361,65377,65470,65474,65479,65482,65487,65490,65495,65498,65500,65512,65518],at=[32,126,162,163,165,166,172,172,175,175,10214,10221,10629,10630],ot=[4352,4447,8986,8987,9001,9002,9193,9196,9200,9200,9203,9203,9725,9726,9748,9749,9776,9783,9800,9811,9855,9855,9866,9871,9875,9875,9889,9889,9898,9899,9917,9918,9924,9925,9934,9934,9940,9940,9962,9962,9970,9971,9973,9973,9978,9978,9981,9981,9989,9989,9994,9995,10024,10024,10060,10060,10062,10062,10067,10069,10071,10071,10133,10135,10160,10160,10175,10175,11035,11036,11088,11088,11093,11093,11904,11929,11931,12019,12032,12245,12272,12287,12289,12350,12353,12438,12441,12543,12549,12591,12593,12686,12688,12773,12783,12830,12832,12871,12880,42124,42128,42182,43360,43388,44032,55203,63744,64255,65040,65049,65072,65106,65108,65126,65128,65131,94176,94180,94192,94198,94208,101589,101631,101662,101760,101874,110576,110579,110581,110587,110589,110590,110592,110882,110898,110898,110928,110930,110933,110933,110948,110951,110960,111355,119552,119638,119648,119670,126980,126980,127183,127183,127374,127374,127377,127386,127488,127490,127504,127547,127552,127560,127568,127569,127584,127589,127744,127776,127789,127797,127799,127868,127870,127891,127904,127946,127951,127955,127968,127984,127988,127988,127992,128062,128064,128064,128066,128252,128255,128317,128331,128334,128336,128359,128378,128378,128405,128406,128420,128420,128507,128591,128640,128709,128716,128716,128720,128722,128725,128728,128732,128735,128747,128748,128756,128764,128992,129003,129008,129008,129292,129338,129340,129349,129351,129535,129648,129660,129664,129674,129678,129734,129736,129736,129741,129756,129759,129770,129775,129784,131072,196605,196608,262141],st=(e,t)=>{let n=0,r=Math.floor(e.length/2)-1;for(;n<=r;){let i=Math.floor((n+r)/2),a=i*2;if(t<e[a])r=i-1;else if(t>e[a+1])n=i+1;else return!0}return!1},ct=nt[0],lt=nt.at(-1),ut=rt[0],dt=rt.at(-1);it[0],it.at(-1),at[0],at.at(-1);const ft=ot[0],pt=ot.at(-1),mt=19968,[ht,gt]=_t(ot);function _t(e){let t=e[0],n=e[1];for(let r=0;r<e.length;r+=2){let i=e[r],a=e[r+1];if(mt>=i&&mt<=a)return[i,a];a-i>n-t&&(t=i,n=a)}return[t,n]}const vt=e=>e<ct||e>lt?!1:st(nt,e),yt=e=>e<ut||e>dt?!1:st(rt,e),bt=e=>e>=ht&&e<=gt?!0:e<ft||e>pt?!1:st(ot,e);function xt(e){if(!Number.isSafeInteger(e))throw TypeError(`Expected a code point, got \`${typeof e}\`.`)}function St(e,{ambiguousAsWide:t=!1}={}){return xt(e),yt(e)||bt(e)||t&&vt(e)?2:1}const Ct=new Intl.Segmenter,wt=RegExp(`[^\\p{Default_Ignorable_Code_Point}\\p{Control}\\p{Format}\\p{Nonspacing_Mark}\\p{Enclosing_Mark}\\p{Surrogate}]`,`v`),Tt=RegExp(`\\p{Spacing_Mark}`,`v`),Et=RegExp(`^\\p{RGI_Emoji}$`,`v`),Dt=/^[\d#*]\u20E3$/,Ot=/\p{Extended_Pictographic}/gu;function kt(e){if(e.length>50)return!1;if(Dt.test(e))return!0;if(e.includes(``)){let t=e.match(Ot);return t!==null&&t.length>=2}return!1}function At(e){let t=e.search(wt);return t===-1?void 0:e.slice(t)}function jt(e){return e>=4352&&e<=4447||e>=43360&&e<=43388}function Mt(e){return e>=4448&&e<=4519||e>=55216&&e<=55238}function Nt(e){return e>=4520&&e<=4607||e>=55243&&e<=55291}function Pt(e){return jt(e)||Mt(e)||Nt(e)}function Ft(e,t){let n=[];for(let t of e)wt.test(t)&&n.push(t.codePointAt(0));if(n.length===0)return;let r=0;for(let e=0;e<n.length;e++){let i=n[e];if(!Pt(i)){if(r===0)return;for(let i=e;i<n.length;i++)r+=St(n[i],t);return r}if(jt(i)&&Mt(n[e+1])){r+=2,e+=Nt(n[e+2])?2:1;continue}r+=St(i,t)}return r}function A(e,t){let n=0,r=!0;for(let i of e){if(r){r=!1;continue}(Tt.test(i)||i>=``&&i<=``)&&(n+=St(i.codePointAt(0),t))}return n}function It(e,t={}){if(typeof e!=`string`||e.length===0)return 0;let{ambiguousIsNarrow:n=!0,countAnsiEscapeCodes:r=!1}=t,i=e;if(!r&&(i.includes(`\x1B`)||i.includes(``))&&(i=tt(i)),i.length===0)return 0;if(/^[\u0020-\u007E]*$/.test(i))return i.length;let a=0,o={ambiguousAsWide:!n};for(let{segment:e}of Ct.segment(i)){let t=At(e);if(t===void 0)continue;if(Et.test(e)||kt(e)){a+=2;continue}let n=Ft(t,o);if(n!==void 0){a+=n;continue}let r=t.codePointAt(0);a+=St(r,o),a+=A(t,o)}return a}const j=new Map;function M(e){if(e.length===0)return 0;if(e.length<=64){let t=j.get(e);if(t!==void 0)return t}let t=It(e);return e.length<=64&&(j.size>=4096&&j.clear(),j.set(e,t)),t}function Lt(e){return e}function Rt(e){return e}function zt(e){return e>0?Math.floor(e):0}function Bt(e,t){if(t<=0)return[``,e];if(t>=M(e))return[e,``];let n=0,r=0;for(let i of e){let e=M(i);if(n+e>t)break;n+=e,r+=i.length}let i=e.slice(0,r),a=e.slice(r);return n<t?[i+` `.repeat(t-n),a]:[i,a]}function Vt(e,t){if(t<=0||e.length===0)return[e];let n=[],r=Rt(0);for(;r<e.length;){let i=Ut(e,r,t);n.push(e.slice(r,i)),r=i}return n}function Ht(e,t,n){let r=0,i=t;for(;i<e.length;){let t=e.codePointAt(i),a=String.fromCodePoint(t),o=M(a);if(r+o>n)break;r+=o,i=Rt(i+a.length)}return i}function Ut(e,t,n){return Rt(Math.max(Ht(e,t,n),Wt(e,t)))}function Wt(e,t){return t>=e.length?Rt(e.length):Rt(t+(e.codePointAt(t)>65535?2:1))}var Gt=class{name;dark;vars;constructor(e,t,n){this.name=e,this.dark=t,this.vars=new Map(n)}get(e){return this.vars.get(e)}};function Kt(e){return e.toString(16).padStart(2,`0`)}function qt(e,t){if(!Number.isInteger(t)||t<0||t>255)throw RangeError(`ColorRgba.${e} must be an integer in [0, 255]; got ${t}`)}var N=class e{red;green;blue;alpha;constructor(e,t,n,r=1){if(this.red=e,this.green=t,this.blue=n,this.alpha=r,qt(`red`,e),qt(`green`,t),qt(`blue`,n),!Number.isFinite(r)||r<0||r>1)throw RangeError(`ColorRgba.alpha must be a finite number in [0, 1]; got ${r}`)}get hex(){let e=`#`+Kt(this.red)+Kt(this.green)+Kt(this.blue);return this.alpha===1?e:e+Kt(Math.round(this.alpha*255))}get rgb(){return this.alpha===1?`rgb(${this.red},${this.green},${this.blue})`:`rgba(${this.red},${this.green},${this.blue},${this.alpha})`}get normalized(){return[this.red/255,this.green/255,this.blue/255,this.alpha]}compositeOver(t){if(this.alpha===1)return this;let n=this.alpha;return new e(Math.round(t.red+(this.red-t.red)*n),Math.round(t.green+(this.green-t.green)*n),Math.round(t.blue+(this.blue-t.blue)*n),1)}};const Jt=new N(0,0,0);function Yt(e){let t=e=>{let t=e/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4};return .2126*t(e.red)+.7152*t(e.green)+.0722*t(e.blue)}function Xt(e,t){return Zt(Yt(e),Yt(t))}function Zt(e,t){return(Math.max(e,t)+.05)/(Math.min(e,t)+.05)}function Qt(e,t,n){return e.size>=4096&&e.clear(),e.set(t,n),n}function $t(e,t){let n=e.red-t.red,r=e.green-t.green,i=e.blue-t.blue;return n*n+r*r+i*i}var en=class{colors;firstIndex;matchCache=new Map;readableCache=new Map;constructor(e,t=0){this.colors=e,this.firstIndex=t}get(e){return this.colors[e-this.firstIndex]}luminanceCache;luminances(){return this.luminanceCache??=this.colors.map(Yt),this.luminanceCache}get size(){return this.colors.length}match(e){let t=`${e.red},${e.green},${e.blue},${e.alpha}`,n=this.matchCache.get(t);if(n!==void 0)return n;let r=0,i=1/0;for(let t=0;t<this.colors.length;t++){let n=this.colors[t],a=$t(n,e);a<i&&(i=a,r=t)}return Qt(this.matchCache,t,this.firstIndex+r)}matchReadable(e,t,n){let r=`${e.red},${e.green},${e.blue}|${t.red},${t.green},${t.blue}|${n}`,i=this.readableCache.get(r);if(i!==void 0)return i;let a=Yt(t),o=0,s=!1,c=-1/0;for(let t=0;t<this.colors.length;t++){let r=this.colors[t],i=this.luminances()[t],l=Zt(i,a),u=l>=n,d=u?-$t(r,e):l;(u&&!s||u===s&&d>c)&&(o=t,s=u,c=d)}return Qt(this.readableCache,r,this.firstIndex+o)}matchWhere(e,t){let n=this.colors.map(t=>$t(t,e)),r=[...n.keys()].sort((e,t)=>n[e]-n[t]).find(e=>t(this.colors[e],this.firstIndex+e));return r===void 0?void 0:this.firstIndex+r}},P;(function(e){e[e.DEFAULT=0]=`DEFAULT`,e[e.STANDARD=1]=`STANDARD`,e[e.EIGHT_BIT=2]=`EIGHT_BIT`,e[e.TRUECOLOR=3]=`TRUECOLOR`,e[e.WINDOWS=4]=`WINDOWS`})(P||={});const F={truecolor:P.TRUECOLOR,256:P.EIGHT_BIT,ansi:P.STANDARD,none:null,0:null,false:null,1:P.STANDARD,true:P.STANDARD,2:P.EIGHT_BIT,3:P.TRUECOLOR,"iTerm.app":P.TRUECOLOR,Apple_Terminal:P.EIGHT_BIT,vscode:P.TRUECOLOR,Tabby:P.TRUECOLOR,"xterm-kitty":P.TRUECOLOR,"xterm-ghostty":P.TRUECOLOR,wezterm:P.TRUECOLOR,alacritty:P.TRUECOLOR,foot:P.TRUECOLOR,contour:P.TRUECOLOR};function tn(e={}){let t=rn(e).NO_COLOR;if(t!==void 0&&t!==``)return null;let n=nn(rn(e));return n===void 0?an(e):n}function nn(e){let t=e.FORCE_COLOR;if(t===void 0||t===``)return;let n=F[t];return n===void 0?P.STANDARD:n}function rn(e){return e.env??(typeof process<`u`?process.env:{})}function an(e){let t=rn(e);if(!(e.isTTY??(typeof process<`u`?process.stdout?.isTTY??!1:!1)))return null;let n=t.TERM??``;if(n===`dumb`||n===`unknown`)return null;let r=t.COLORTERM;if(r===`truecolor`||r===`24bit`)return P.TRUECOLOR;let i=F[n];if(i!==void 0)return i;let a=t.TERM_PROGRAM;if(a!==void 0){let e=F[a];if(e!==void 0)return e}return/-256(color)?$/i.test(n)?P.EIGHT_BIT:/-truecolor$/i.test(n)?P.TRUECOLOR:(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(n),P.STANDARD)}function on(e,t){return e===`auto`?{colorSystem:tn(t),hyperlinks:(nn(rn(t??{}))??null)!==null||an(t??{})!==null}:{colorSystem:typeof e==`string`?sn(e):e,hyperlinks:!0}}function sn(e,t){if(e===`auto`)return tn(t);if(Object.hasOwn(F,e))return F[e];throw new cn(`Unknown color depth spec: ${JSON.stringify(e)} (expected "auto", "truecolor", "256", "ansi", or "none")`)}var cn=class extends Error{constructor(e){super(e),this.name=`ColorParseError`}};const ln=new Map;var un=class e{name;type;number;value;downgradeCache=new Map;constructor(e,t,n,r){this.name=e,this.type=t,this.number=n,this.value=r}get isDefault(){return this.type===P.DEFAULT}get fixedValue(){switch(this.type){case P.TRUECOLOR:return this.value;case P.EIGHT_BIT:return this.number<16?void 0:Sn.get(this.number);case P.DEFAULT:case P.STANDARD:case P.WINDOWS:return}}get isSystemDefined(){return this.type===P.STANDARD||this.type===P.WINDOWS}getAnsiCodes(e=!0){switch(this.type){case P.DEFAULT:return[e?`39`:`49`];case P.STANDARD:{let t=this.number;return e?t<8?[`${30+t}`]:[`${90+t-8}`]:t<8?[`${40+t}`]:[`${100+t-8}`]}case P.EIGHT_BIT:return[e?`38`:`48`,`5`,`${this.number}`];case P.TRUECOLOR:{let t=this.value;return[e?`38`:`48`,`2`,`${t.red}`,`${t.green}`,`${t.blue}`]}case P.WINDOWS:{let t=this.number;return e?t<8?[`${30+t}`]:[`${90+t-8}`]:t<8?[`${40+t}`]:[`${100+t-8}`]}}}flattenAlpha(t){if(this.type!==P.TRUECOLOR||!this.value)return this;let n=this.value.compositeOver(t);return n===this.value?this:e.fromRgba(n)}downgrade(e){if(this.type===P.DEFAULT||this.type<=e)return this;let t=this.downgradeCache.get(e);if(t)return t;let n=this.performDowngrade(e);return this.downgradeCache.set(e,n),n}getTruecolor(e,t=!0){switch(this.type){case P.TRUECOLOR:return this.value;case P.EIGHT_BIT:return Sn.get(this.number);case P.STANDARD:return(e??wn).ansiColors.get(this.number);case P.DEFAULT:{let n=e??wn;return t?n.foregroundColor:n.backgroundColor}case P.WINDOWS:return(e??wn).ansiColors.get(this.number)}}static default(){return new e(`default`,P.DEFAULT)}static fromAnsi(t){let n=t<16?P.STANDARD:P.EIGHT_BIT;return new e(`color(${t})`,n,t)}static fromRgba(t){return new e(t.hex,P.TRUECOLOR,void 0,t)}static fromRgb(t,n,r){return e.fromRgba(new N(t,n,r))}static parse(e){let t=e.toLowerCase().trim(),n=ln.get(t);if(n)return n;let r=mn(t);return ln.set(t,r),r}performDowngrade(t){let n=this.getTruecolor();switch(t){case P.EIGHT_BIT:{let t=Cn.match(n);return e.fromAnsi(t)}case P.STANDARD:{let t=L.match(n);return new e(`color(${t})`,P.STANDARD,t)}case P.WINDOWS:case P.TRUECOLOR:return this;case P.DEFAULT:return e.default()}}};const dn=/^#([0-9a-f]{6})$/,fn=/^#([0-9a-f]{8})$/,pn=/^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/,I=/^color\((\d{1,3})\)$/;function mn(e){if(e===`default`||e===``)return un.default();let t=En[e];if(t!==void 0)return new un(e,t<16?P.STANDARD:P.EIGHT_BIT,t);let n=fn.exec(e);if(n)return new un(e,P.TRUECOLOR,void 0,gn(n[1]));let r=dn.exec(e);if(r)return new un(e,P.TRUECOLOR,void 0,hn(r[1]));let i=pn.exec(e);if(i){let t=parseInt(i[1],10),n=parseInt(i[2],10),r=parseInt(i[3],10);return new un(e,P.TRUECOLOR,void 0,new N(t,n,r))}let a=I.exec(e);if(a){let t=parseInt(a[1],10);if(t>255)throw new cn(`ColorSpec number ${t} is out of range (0-255)`);return new un(e,t<16?P.STANDARD:P.EIGHT_BIT,t)}throw new cn(`Failed to parse color: "${e}"`)}function hn(e){return new N(parseInt(e.slice(0,2),16),parseInt(e.slice(2,4),16),parseInt(e.slice(4,6),16))}function gn(e){return new N(parseInt(e.slice(0,2),16),parseInt(e.slice(2,4),16),parseInt(e.slice(4,6),16),parseInt(e.slice(6,8),16)/255)}function _n(e,t,n=.5){return new N(Math.round(e.red+(t.red-e.red)*n),Math.round(e.green+(t.green-e.green)*n),Math.round(e.blue+(t.blue-e.blue)*n),e.alpha+(t.alpha-e.alpha)*n)}var vn=class{backgroundColor;foregroundColor;ansiColors;palette;constructor(e,t,n,r){this.backgroundColor=e,this.foregroundColor=t,this.ansiColors=n,this.palette=r}};function yn(){return[new N(0,0,0),new N(128,0,0),new N(0,128,0),new N(128,128,0),new N(0,0,128),new N(128,0,128),new N(0,128,128),new N(192,192,192),new N(128,128,128),new N(255,0,0),new N(0,255,0),new N(255,255,0),new N(0,0,255),new N(255,0,255),new N(0,255,255),new N(255,255,255)]}function bn(){let e=yn(),t=[0,95,135,175,215,255];for(let n=0;n<6;n++)for(let r=0;r<6;r++)for(let i=0;i<6;i++)e.push(new N(t[n],t[r],t[i]));for(let t=0;t<24;t++){let n=8+10*t;e.push(new N(n,n,n))}return e}function xn(){return[new N(0,0,0),new N(0,0,128),new N(0,128,0),new N(0,128,128),new N(128,0,0),new N(128,0,128),new N(128,128,0),new N(192,192,192),new N(128,128,128),new N(0,0,255),new N(0,255,0),new N(0,255,255),new N(255,0,0),new N(255,0,255),new N(255,255,0),new N(255,255,255)]}const L=new en(yn()),Sn=new en(bn()),Cn=new en(bn().slice(16),16);new en(xn());const wn=new vn(new N(0,0,0),new N(255,255,255),L,new Gt(`default`,!0,new Map));function Tn(e){let t=Object.entries(e).filter(([e])=>e.includes(`grey`)).map(([e,t])=>[e.replace(`grey`,`gray`),t]);return{...e,...Object.fromEntries(t)}}const En=Tn({black:0,red:1,green:2,yellow:3,blue:4,magenta:5,cyan:6,white:7,bright_black:8,bright_red:9,bright_green:10,bright_yellow:11,bright_blue:12,bright_magenta:13,bright_cyan:14,bright_white:15,grey0:16,navy_blue:17,dark_blue:18,blue3:19,blue2:20,blue1:21,dark_green:22,deep_sky_blue4:23,deep_sky_blue5:24,deep_sky_blue6:25,dodger_blue3:26,dodger_blue2:27,green4:28,spring_green4:29,turquoise4:30,deep_sky_blue3:31,deep_sky_blue7:32,dodger_blue1:33,green3:34,spring_green3:35,dark_cyan:36,light_sea_green:37,deep_sky_blue2:38,deep_sky_blue1:39,green5:40,spring_green5:41,spring_green2:42,cyan3:43,dark_turquoise:44,turquoise2:45,green1:46,spring_green6:47,spring_green1:48,medium_spring_green:49,cyan2:50,cyan1:51,dark_red:52,deep_pink4:53,purple4:54,purple5:55,purple3:56,blue_violet:57,orange4:58,grey37:59,medium_purple4:60,slate_blue3:61,slate_blue4:62,royal_blue1:63,chartreuse4:64,dark_sea_green4:65,pale_turquoise4:66,steel_blue:67,steel_blue3:68,cornflower_blue:69,chartreuse3:70,dark_sea_green5:71,cadet_blue:72,cadet_blue2:73,sky_blue3:74,steel_blue1:75,chartreuse5:76,pale_green3:77,sea_green3:78,aquamarine3:79,medium_turquoise:80,steel_blue2:81,chartreuse2:82,sea_green2:83,sea_green1:84,sea_green4:85,aquamarine1:86,dark_slate_gray2:87,dark_red2:88,deep_pink5:89,dark_magenta:90,dark_magenta2:91,dark_violet:92,purple2:93,orange5:94,light_pink4:95,plum4:96,medium_purple3:97,medium_purple5:98,slate_blue1:99,yellow4:100,wheat4:101,grey53:102,light_slate_grey:103,medium_purple:104,light_slate_blue:105,yellow5:106,dark_olive_green3:107,dark_sea_green:108,light_sky_blue3:109,light_sky_blue4:110,sky_blue2:111,chartreuse6:112,dark_olive_green4:113,pale_green4:114,dark_sea_green3:115,dark_slate_gray3:116,sky_blue1:117,chartreuse1:118,light_green:119,light_green2:120,pale_green1:121,aquamarine2:122,dark_slate_gray1:123,red3:124,deep_pink6:125,medium_violet_red:126,magenta3:127,dark_violet2:128,purple:129,dark_orange3:130,indian_red:131,hot_pink3:132,medium_orchid3:133,medium_orchid:134,medium_purple2:135,dark_goldenrod:136,light_salmon3:137,rosy_brown:138,grey63:139,medium_purple6:140,medium_purple1:141,gold3:142,dark_khaki:143,navajo_white3:144,grey69:145,light_steel_blue3:146,light_steel_blue:147,yellow3:148,dark_olive_green5:149,dark_sea_green6:150,dark_sea_green2:151,light_cyan3:152,light_sky_blue1:153,green_yellow:154,dark_olive_green2:155,pale_green2:156,dark_sea_green7:157,dark_sea_green1:158,pale_turquoise1:159,red4:160,deep_pink3:161,deep_pink8:162,magenta4:163,magenta5:164,magenta2:165,dark_orange4:166,indian_red2:167,hot_pink4:168,hot_pink2:169,orchid:170,medium_orchid1:171,orange3:172,light_salmon4:173,light_pink3:174,pink3:175,plum3:176,violet:177,gold4:178,light_goldenrod3:179,tan:180,misty_rose3:181,thistle3:182,plum2:183,yellow6:184,khaki3:185,light_goldenrod2:186,light_yellow3:187,grey84:188,light_steel_blue1:189,yellow2:190,dark_olive_green1:191,dark_olive_green6:192,dark_sea_green8:193,honeydew2:194,light_cyan1:195,red1:196,deep_pink2:197,deep_pink1:198,deep_pink9:199,magenta6:200,magenta1:201,orange_red1:202,indian_red1:203,indian_red3:204,hot_pink5:205,hot_pink:206,medium_orchid2:207,dark_orange:208,salmon1:209,light_coral:210,pale_violet_red1:211,orchid2:212,orchid1:213,orange1:214,sandy_brown:215,light_salmon1:216,light_pink1:217,pink1:218,plum1:219,gold1:220,light_goldenrod4:221,light_goldenrod5:222,navajo_white1:223,misty_rose1:224,thistle1:225,yellow1:226,light_goldenrod1:227,khaki1:228,wheat1:229,cornsilk1:230,grey100:231,grey3:232,grey7:233,grey11:234,grey15:235,grey19:236,grey23:237,grey27:238,grey30:239,grey35:240,grey39:241,grey42:242,grey46:243,grey50:244,grey54:245,grey58:246,grey62:247,grey66:248,grey70:249,grey74:250,grey78:251,grey82:252,grey85:253,grey89:254,grey93:255}),Dn=[`default`,...Object.keys(En)];var On;const kn=[`l`,`c`,`h`,`alpha`],An=Object.freeze({hueShift:0,chromaScale:1,lightnessScale:1,lightnessShift:0});Object.freeze({hueShift:0,chromaScale:1,lightnessScale:-1,lightnessShift:1});function jn(e){return e.hueShift%360==0&&e.chromaScale===1&&e.lightnessScale===1&&e.lightnessShift===0}function Mn(e){return e<=.04045?e/12.92:((e+.055)/1.055)**2.4}function Nn(e){return e<=.0031308?12.92*e:1.055*e**(1/2.4)-.055}function Pn(e){return e<0?0:e>1?1:e}const Fn=1e-4,R=1e-7,In=(e,t)=>e<R?0:t,Ln=(e,t,n)=>e*(1-n)+t*n,Rn=e=>{let t=e%360;return t<0?t+360:t};function zn(e,t,n){return e>=-Fn&&e<=1+Fn&&t>=-Fn&&t<=1+Fn&&n>=-Fn&&n<=1+Fn}var Bn=class{l;c;h;alpha;constructor(e,t,n,r=1){if(this.l=e,this.c=t,this.h=n,this.alpha=r,!Number.isFinite(e))throw RangeError(`Oklch.l must be finite; got ${e}`);if(!Number.isFinite(t))throw RangeError(`Oklch.c must be finite; got ${t}`);if(!Number.isFinite(n))throw RangeError(`Oklch.h must be finite; got ${n}`);if(!Number.isFinite(r)||r<0||r>1)throw RangeError(`Oklch.alpha must be a finite number in [0,1]; got ${r}`)}static fromRgba(e){let[t,n,r,i]=e.normalized,a=Mn(t),o=Mn(n),s=Mn(r),c=.4122214708*a+.5363325363*o+.0514459929*s,l=.2119034982*a+.6806995451*o+.1073969566*s,u=.0883024619*a+.2817188376*o+.6299787005*s,d=Math.cbrt(c),f=Math.cbrt(l),p=Math.cbrt(u),m=.2104542553*d+.793617785*f-.0040720468*p,h=1.9779984951*d-2.428592205*f+.4505937099*p,g=.0259040371*d+.7827717662*f-.808675766*p,_=Math.sqrt(h*h+g*g),v=Rn(180/Math.PI*Math.atan2(g,h));return new On(m,_,In(_,v),i)}toRgba(){let e=Pn(this.l),t=Math.max(0,this.c),n=this.findInGamutChroma(e,t,this.h),{r,g:i,b:a}=this.toLinearRgb(e,n,this.h);return new N(Math.round(Pn(Nn(r))*255),Math.round(Pn(Nn(i))*255),Math.round(Pn(Nn(a))*255),this.alpha)}applyKey(e){if(jn(e))return this;let t=Pn(this.l*e.lightnessScale+e.lightnessShift),n=Math.max(0,this.c*e.chromaScale),r=Rn(this.h+e.hueShift);return new On(t,n,In(n,r),this.alpha)}mix(e,t){if(!(t>=0&&t<=1))throw RangeError(`Oklch.mix: t must be in [0, 1]; got ${t}`);return this.#e(e,t,t,t,t)}mixAxes(e,t){for(let e of kn){let n=t[e];if(!(n>=0&&n<=1))throw RangeError(`Oklch.mixAxes: ${e} weight must be in [0, 1]; got ${n}`)}return this.#e(e,t.l,t.c,t.h,t.alpha)}#e(e,t,n,r,i){let a=this.c>=R,o=e.c>=R,s=Rn(a?this.h:o?e.h:0),c=Rn(o?e.h:s),l=c-s,u=l<-180?s-360:s,d=l>180?c-360:c,f=Ln(this.c,e.c,n);return new On(Ln(this.l,e.l,t),f,In(f,Rn(Ln(u,d,r))),Ln(this.alpha,e.alpha,i))}deltaE(e){let t=this.h*Math.PI/180,n=e.h*Math.PI/180;return Math.hypot(this.l-e.l,this.c*Math.cos(t)-e.c*Math.cos(n),this.c*Math.sin(t)-e.c*Math.sin(n))}toLinearRgb(e,t,n){let r=Math.PI/180*n,i=t*Math.cos(r),a=t*Math.sin(r),o=e+.3963377774*i+.2158037573*a,s=e-.1055613458*i-.0638541728*a,c=e-.0894841775*i-1.291485548*a,l=o*o*o,u=s*s*s,d=c*c*c;return{r:4.0767416621*l-3.3077115913*u+.2309699292*d,g:-1.2684380046*l+2.6097574011*u-.3413193965*d,b:-.0041960863*l-.7034186147*u+1.707614701*d}}findInGamutChroma(e,t,n){let r=this.toLinearRgb(e,t,n);if(zn(r.r,r.g,r.b))return t;let i=0,a=t;for(let t=0;t<24;t++){let t=(i+a)/2,r=this.toLinearRgb(e,t,n);zn(r.r,r.g,r.b)?i=t:a=t}return i}};On=Bn;var Vn=class extends Error{ref;constructor(e,t){super(`color reference ${JSON.stringify(e)} did not resolve — ${t}`),this.ref=e,this.name=`ColorRefError`}};const Hn=/^#[0-9a-fA-F]{6}([0-9a-fA-F]{2})?$/;function z(e){let t=e.trim();if(!Hn.test(t))throw new Vn(e,`expected #RRGGBB or #RRGGBBAA`);let n=t.slice(1);return t.length>7?gn(n):hn(n)}function Un(e,t){let n=t.trim();if(n.startsWith(`#`))return z(n);let r=e.get(n);if(r===void 0)throw new Vn(t,`no such variable in palette ${JSON.stringify(e.name)}`+Wn(e,n));return r}function Wn(e,t){let n=t.split(`-`),r=[...e.vars.keys()].filter(e=>n.some(t=>t!==``&&e.includes(t))).slice(0,8);return r.length===0?``:`; did you mean: ${r.join(`, `)}`}function Gn(e){let t=e.red/255,n=e.green/255,r=e.blue/255,i=Math.max(t,n,r),a=Math.min(t,n,r),o=(i+a)/2,s=i-a;if(s===0)return{h:0,s:0,l:o};let c=s/(o>.5?2-i-a:i+a),l;return l=i===t?(n-r)/s%6:i===n?(r-t)/s+2:(t-n)/s+4,l=(l*60+360)%360,{h:l,s:c,l:o}}function Kn(e){let t=Math.round(e);return t<0?0:t>255?255:t}function qn(e){let{h:t,s:n,l:r}=e;if(n===0){let e=Kn(r*255);return new N(e,e,e)}let i=(1-Math.abs(2*r-1))*n,a=t/60,o=i*(1-Math.abs(a%2-1)),s=0,c=0,l=0;a<1?[s,c,l]=[i,o,0]:a<2?[s,c,l]=[o,i,0]:a<3?[s,c,l]=[0,i,o]:a<4?[s,c,l]=[0,o,i]:a<5?[s,c,l]=[o,0,i]:[s,c,l]=[i,0,o];let u=r-i/2;return new N(Kn((s+u)*255),Kn((c+u)*255),Kn((l+u)*255))}function Jn(e){return e<0?0:e>1?1:e}function Yn(e,t){let n=Gn(e);return n.l=Jn(n.l-.1*t),qn(n)}function Xn(e,t=Jt){return Yt(er(e,t))>.179?new N(0,0,0):new N(255,255,255)}function Zn(e,t,n=4.5,r=P.TRUECOLOR,i=Jt){let a=er(t,i),o=nr(e,a,n),s=tr[r];if(s===void 0)return o;let c=$n(a,r,i);return Xt($n(o,r,i),c)>=n?o:s.get(s.matchReadable(o,c,n))}function Qn(e,t,n,r=Jt){let i=er(e,r),a=e=>$n(e,t,r);if(n(a(i),a))return i;let o=tr[t],s=o?.matchWhere(i,e=>n(e,a));return s===void 0?void 0:o.get(s)}function $n(e,t,n=Jt){let r=er(e,n),i=tr[t];return i===void 0?r:i.get(i.match(r))}function er(e,t){if(t.alpha!==1)throw RangeError(`a contrast substrate is the opaque surface under a translucent background; got ${t.hex}`);return e.compositeOver(t)}const tr={[P.EIGHT_BIT]:Cn,[P.STANDARD]:L};function nr(e,t,n){let r=e.compositeOver(t);if(Xt(r,t)>=n)return r;let i=Bn.fromRgba(r),a=Yt(t)>.179?0:1;if(Xt(new Bn(a,i.c,i.h,i.alpha).toRgba(),t)<n)return Xn(t);let o=i.l,s=a;for(let e=0;e<20;e++){let e=(o+s)/2;Xt(new Bn(e,i.c,i.h,i.alpha).toRgba(),t)>=n?s=e:o=e}return new Bn(s,i.c,i.h,i.alpha).toRgba()}const rr={"atom-one-dark":{name:`atom-one-dark`,dark:!0,vars:{accent:`#A378C2`,"accent-darken-1":`#8E65AD`,"accent-darken-2":`#7A5299`,"accent-darken-3":`#674085`,"accent-lighten-1":`#B78BD6`,"accent-lighten-2":`#CC9FEC`,"accent-lighten-3":`#E2B3FF`,"accent-muted":`#4C425E`,background:`#282C34`,"background-darken-1":`#181C23`,"background-darken-2":`#050A14`,"background-darken-3":`#000000`,"background-lighten-1":`#383C44`,"background-lighten-2":`#494D56`,"background-lighten-3":`#5B5F68`,"block-cursor-background":`#61AFEF`,"block-cursor-blurred-background":`#61AFEF4C`,"block-cursor-blurred-foreground":`#ABB2BF`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#61AFEF`,"border-blurred":`#353B47`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#ABB2BF`,error:`#EF6262`,"error-darken-1":`#D84D50`,"error-darken-2":`#C1373E`,"error-darken-3":`#AA1F2E`,"error-lighten-1":`#FF7674`,"error-lighten-2":`#FF8B87`,"error-lighten-3":`#FFA09B`,"error-muted":`#643C41`,"footer-background":`#4F5666`,"footer-description-background":`#00000000`,"footer-description-foreground":`#ABB2BF`,"footer-foreground":`#ABB2BF`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#A378C2`,foreground:`#ABB2BF`,"foreground-darken-1":`#979DAA`,"foreground-darken-2":`#838A96`,"foreground-darken-3":`#707783`,"foreground-disabled":`#ABB2BF60`,"foreground-lighten-1":`#BFC6D3`,"foreground-lighten-2":`#D4DBE8`,"foreground-lighten-3":`#E9F0FE`,"foreground-muted":`#ABB2BF99`,"input-cursor-background":`#ABB2BF`,"input-cursor-foreground":`#282C34`,"input-selection-background":`#77C3FF66`,"link-background":`#00000000`,"link-background-hover":`#61AFEF`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#61AFEF`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#61AFEF`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#61AFEF`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#ABB2BF`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#ABB2BF`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#ABB2BF99`,panel:`#4F5666`,"panel-darken-1":`#3D4453`,"panel-darken-2":`#2C3342`,"panel-darken-3":`#1C2331`,"panel-lighten-1":`#616878`,"panel-lighten-2":`#737A8B`,"panel-lighten-3":`#868E9F`,primary:`#61AFEF`,"primary-background":`#4F5B6A`,"primary-background-darken-1":`#3F4D5D`,"primary-background-darken-2":`#303F50`,"primary-background-darken-3":`#303F50`,"primary-background-lighten-1":`#5E6A77`,"primary-background-lighten-2":`#6E7884`,"primary-background-lighten-3":`#7D8791`,"primary-darken-1":`#489BD9`,"primary-darken-2":`#2C87C4`,"primary-darken-3":`#0074AF`,"primary-lighten-1":`#77C3FF`,"primary-lighten-2":`#8ED8FF`,"primary-lighten-3":`#A4EDFF`,"primary-muted":`#39536C`,scrollbar:`#355674`,"scrollbar-active":`#61AFEF`,"scrollbar-background":`#181C23`,"scrollbar-background-active":`#181C23`,"scrollbar-background-hover":`#181C23`,"scrollbar-corner-color":`#181C23`,"scrollbar-hover":`#3C6589`,secondary:`#C678DD`,"secondary-background":`#5B5567`,"secondary-background-darken-1":`#4D465A`,"secondary-background-darken-2":`#3F374D`,"secondary-background-darken-3":`#3F374D`,"secondary-background-lighten-1":`#6A6475`,"secondary-background-lighten-2":`#787382`,"secondary-background-lighten-3":`#87828F`,"secondary-darken-1":`#B064C7`,"secondary-darken-2":`#9B50B3`,"secondary-darken-3":`#873D9E`,"secondary-lighten-1":`#DB8CF2`,"secondary-lighten-2":`#F1A0FF`,"secondary-lighten-3":`#FFB5FF`,"secondary-muted":`#574266`,success:`#62F062`,"success-darken-1":`#48DA4D`,"success-darken-2":`#29C438`,"success-darken-3":`#00AF22`,"success-lighten-1":`#7AFF76`,"success-lighten-2":`#91FF8A`,"success-lighten-3":`#A8FF9F`,"success-muted":`#396641`,surface:`#3B414D`,"surface-active":`#484E5B`,"surface-darken-1":`#2A303B`,"surface-darken-2":`#1A202B`,"surface-darken-3":`#09101B`,"surface-lighten-1":`#4C525E`,"surface-lighten-2":`#5E6471`,"surface-lighten-3":`#707684`,text:`#FFFFFFDD`,"text-accent":`#C2A5D6`,"text-disabled":`#FFFFFF60`,"text-error":`#F59797`,"text-muted":`#FFFFFF99`,"text-primary":`#96CAF4`,"text-secondary":`#D9A5E8`,"text-success":`#97F597`,"text-warning":`#E9CC92`,warning:`#DDB25B`,"warning-darken-1":`#C79D47`,"warning-darken-2":`#B28A34`,"warning-darken-3":`#9C7721`,"warning-lighten-1":`#F4C66E`,"warning-lighten-2":`#FFDB82`,"warning-lighten-3":`#FFF096`,"warning-muted":`#5E543F`}},"atom-one-light":{name:`atom-one-light`,dark:!1,vars:{accent:`#BE9232`,"accent-darken-1":`#A97E1D`,"accent-darken-2":`#936B01`,"accent-darken-3":`#7E5900`,"accent-lighten-1":`#D5A545`,"accent-lighten-2":`#EBB959`,"accent-lighten-3":`#FFCE6C`,"accent-muted":`#E8DABE`,background:`#FAFAFA`,"background-darken-1":`#E4E4E4`,"background-darken-2":`#CFCFCF`,"background-darken-3":`#BABABA`,"background-lighten-1":`#FFFFFF`,"background-lighten-2":`#FFFFFF`,"background-lighten-3":`#FFFFFF`,"block-cursor-background":`#4078F2`,"block-cursor-blurred-background":`#4078F24C`,"block-cursor-blurred-foreground":`#383A42`,"block-cursor-foreground":`#000000DD`,"block-hover-background":`#00000019`,boost:`#0000000A`,"boost-darken-1":`#0000000A`,"boost-darken-2":`#0000000A`,"boost-darken-3":`#0000000A`,"boost-lighten-1":`#1616160A`,"boost-lighten-2":`#2525250A`,"boost-lighten-3":`#3535350A`,border:`#4078F2`,"border-blurred":`#D8D8D8`,"button-color-foreground":`#000000DD`,"button-foreground":`#383A42`,error:`#F13F3F`,"error-darken-1":`#D9232D`,"error-darken-2":`#C1001D`,"error-darken-3":`#A9000D`,"error-lighten-1":`#FF5650`,"error-lighten-2":`#FF6C62`,"error-lighten-3":`#FF8275`,"error-muted":`#F7C1C1`,"footer-background":`#CCCCCC`,"footer-description-background":`#00000000`,"footer-description-foreground":`#383A42`,"footer-foreground":`#383A42`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#BF9232`,foreground:`#383A42`,"foreground-darken-1":`#272931`,"foreground-darken-2":`#181A21`,"foreground-darken-3":`#040612`,"foreground-disabled":`#383A4260`,"foreground-lighten-1":`#494B53`,"foreground-lighten-2":`#5A5C65`,"foreground-lighten-3":`#6D6F78`,"foreground-muted":`#383A4299`,"input-cursor-background":`#383A42`,"input-cursor-foreground":`#FAFAFA`,"input-selection-background":`#5C8AFF66`,"link-background":`#00000000`,"link-background-hover":`#4078F2`,"link-color":`#000000DD`,"link-color-hover":`#000000DD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#4078F2`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#4078F2`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#4078F2`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#383A42`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#383A42`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#383A4299`,panel:`#CCCCCC`,"panel-darken-1":`#B7B7B7`,"panel-darken-2":`#A3A3A3`,"panel-darken-3":`#8F8F8F`,"panel-lighten-1":`#E1E1E1`,"panel-lighten-2":`#F6F6F6`,"panel-lighten-3":`#FFFFFF`,primary:`#4078F2`,"primary-background":`#4078F2`,"primary-background-darken-1":`#1865DC`,"primary-background-darken-2":`#0053C6`,"primary-background-darken-3":`#0043B1`,"primary-background-lighten-1":`#5C8AFF`,"primary-background-lighten-2":`#759EFF`,"primary-background-lighten-3":`#8DB2FF`,"primary-darken-1":`#1865DC`,"primary-darken-2":`#0053C6`,"primary-darken-3":`#0043B1`,"primary-lighten-1":`#5C8AFF`,"primary-lighten-2":`#759EFF`,"primary-lighten-3":`#8DB2FF`,"primary-muted":`#C2D3F7`,scrollbar:`#A2B8E9`,"scrollbar-active":`#4078F2`,"scrollbar-background":`#E4E4E4`,"scrollbar-background-active":`#E4E4E4`,"scrollbar-background-hover":`#E4E4E4`,"scrollbar-corner-color":`#E4E4E4`,"scrollbar-hover":`#92AEEB`,secondary:`#A626A4`,"secondary-background":`#A626A4`,"secondary-background-darken-1":`#90008F`,"secondary-background-darken-2":`#7B007C`,"secondary-background-darken-3":`#670069`,"secondary-background-lighten-1":`#BB3EB8`,"secondary-background-lighten-2":`#D154CD`,"secondary-background-lighten-3":`#E769E2`,"secondary-darken-1":`#90008F`,"secondary-darken-2":`#7B007C`,"secondary-darken-3":`#670069`,"secondary-lighten-1":`#BB3EB8`,"secondary-lighten-2":`#D154CD`,"secondary-lighten-3":`#E769E2`,"secondary-muted":`#E0BAE0`,success:`#6BF23F`,"success-darken-1":`#52DC25`,"success-darken-2":`#36C600`,"success-darken-3":`#05B100`,"success-lighten-1":`#83FF55`,"success-lighten-2":`#9BFF6B`,"success-lighten-3":`#B2FF80`,"success-muted":`#CFF7C1`,surface:`#E0E0E0`,"surface-active":`#F1F1F1`,"surface-darken-1":`#CACACA`,"surface-darken-2":`#B6B6B6`,"surface-darken-3":`#A2A2A2`,"surface-lighten-1":`#F5F5F5`,"surface-lighten-2":`#FFFFFF`,"surface-lighten-3":`#FFFFFF`,text:`#000000DD`,"text-accent":`#7E6021`,"text-disabled":`#00000060`,"text-error":`#9F2929`,"text-muted":`#00000099`,"text-primary":`#2A4F9F`,"text-secondary":`#6D196C`,"text-success":`#479F29`,"text-warning":`#8E8F24`,warning:`#D7D938`,"warning-darken-1":`#C1C41C`,"warning-darken-2":`#ABAF00`,"warning-darken-3":`#969B00`,"warning-lighten-1":`#EEEE4E`,"warning-lighten-2":`#FFFF64`,"warning-lighten-3":`#FFFF79`,"warning-muted":`#EFF0BF`}},"catppuccin-frappe":{name:`catppuccin-frappe`,dark:!0,vars:{accent:`#F4B8E4`,"accent-darken-1":`#DEA3CE`,"accent-darken-2":`#C98FBA`,"accent-darken-3":`#B47BA5`,"accent-lighten-1":`#FFCCF9`,"accent-lighten-2":`#FFE2FF`,"accent-lighten-3":`#FFF7FF`,"accent-muted":`#6A5B75`,background:`#303446`,"background-darken-1":`#1F2435`,"background-darken-2":`#101424`,"background-darken-3":`#000016`,"background-lighten-1":`#404457`,"background-lighten-2":`#525669`,"background-lighten-3":`#64687C`,"block-cursor-background":`#CA9EE6`,"block-cursor-blurred-background":`#CA9EE64C`,"block-cursor-blurred-foreground":`#C6D0F5`,"block-cursor-foreground":`#292C3C`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#BABBF1`,"border-blurred":`#838BA7`,"button-color-foreground":`#303446`,"button-foreground":`#C6D0F5`,error:`#E68284`,"error-darken-1":`#D06E71`,"error-darken-2":`#BA5A5E`,"error-darken-3":`#A4474C`,"error-lighten-1":`#FD9697`,"error-lighten-2":`#FFAAAB`,"error-lighten-3":`#FFBFBF`,"error-muted":`#664B58`,"footer-background":`#51576D`,"footer-description-background":`#00000000`,"footer-description-foreground":`#C6D0F5`,"footer-foreground":`#C6D0F5`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#F4B8E4`,foreground:`#C6D0F5`,"foreground-darken-1":`#B1BBDF`,"foreground-darken-2":`#9CA7CA`,"foreground-darken-3":`#8993B5`,"foreground-disabled":`#C6D0F560`,"foreground-lighten-1":`#DBE5FF`,"foreground-lighten-2":`#F0FAFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#C6D0F599`,"input-cursor-background":`#F2D5CF`,"input-cursor-foreground":`#232634`,"input-selection-background":`#949CBB4C`,"link-background":`#00000000`,"link-background-hover":`#CA9EE6`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#CA9EE6`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#CA9EE6`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#CA9EE6`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#C6D0F5`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#C6D0F5`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#C6D0F599`,panel:`#51576D`,"panel-darken-1":`#3F455A`,"panel-darken-2":`#2E3448`,"panel-darken-3":`#1D2437`,"panel-lighten-1":`#63697F`,"panel-lighten-2":`#767B93`,"panel-lighten-3":`#898FA7`,primary:`#CA9EE6`,"primary-background":`#625F76`,"primary-background-darken-1":`#54516A`,"primary-background-darken-2":`#47435E`,"primary-background-darken-3":`#47435E`,"primary-background-lighten-1":`#706D82`,"primary-background-lighten-2":`#7E7B8E`,"primary-background-lighten-3":`#8C899A`,"primary-darken-1":`#B58AD0`,"primary-darken-2":`#A076BB`,"primary-darken-3":`#8C63A7`,"primary-lighten-1":`#DFB2FB`,"primary-lighten-2":`#F4C7FF`,"primary-lighten-3":`#FFDCFF`,"primary-muted":`#5E5376`,scrollbar:`#63547B`,"scrollbar-active":`#CA9EE6`,"scrollbar-background":`#1F2435`,"scrollbar-background-active":`#1F2435`,"scrollbar-background-hover":`#1F2435`,"scrollbar-corner-color":`#1F2435`,"scrollbar-hover":`#74618D`,secondary:`#EE9F76`,"secondary-background":`#666067`,"secondary-background-darken-1":`#59525A`,"secondary-background-darken-2":`#4C444D`,"secondary-background-darken-3":`#4C444D`,"secondary-background-lighten-1":`#746E75`,"secondary-background-lighten-2":`#817C82`,"secondary-background-lighten-3":`#8F8A8F`,"secondary-darken-1":`#D88B63`,"secondary-darken-2":`#C27750`,"secondary-darken-3":`#AC643E`,"secondary-lighten-1":`#FFB389`,"secondary-lighten-2":`#FFC89D`,"secondary-lighten-3":`#FFDDB1`,"secondary-muted":`#695454`,success:`#A6D189`,"success-darken-1":`#91BC75`,"success-darken-2":`#7DA762`,"success-darken-3":`#6A9350`,"success-lighten-1":`#BAE69C`,"success-lighten-2":`#CFFBB1`,"success-lighten-3":`#E5FFC5`,"success-muted":`#53635A`,surface:`#414559`,"surface-active":`#4F5267`,"surface-darken-1":`#303447`,"surface-darken-2":`#1F2436`,"surface-darken-3":`#101526`,"surface-lighten-1":`#52566B`,"surface-lighten-2":`#64687E`,"surface-lighten-3":`#777B91`,text:`#FFFFFFDD`,"text-accent":`#F7D0ED`,"text-disabled":`#FFFFFF60`,"text-error":`#EFACAD`,"text-muted":`#FFFFFF99`,"text-primary":`#DCBEEE`,"text-secondary":`#F4BFA4`,"text-success":`#C4E0B1`,"text-warning":`#EDDAB5`,warning:`#E4C890`,"warning-darken-1":`#CFB37C`,"warning-darken-2":`#BA9F69`,"warning-darken-3":`#A58B56`,"warning-lighten-1":`#FADCA4`,"warning-lighten-2":`#FFF2B8`,"warning-lighten-3":`#FFFFCD`,"warning-muted":`#66605C`}},"catppuccin-latte":{name:`catppuccin-latte`,dark:!1,vars:{accent:`#FD640B`,"accent-darken-1":`#E54F00`,"accent-darken-2":`#CC3900`,"accent-darken-3":`#B42200`,"accent-lighten-1":`#FF7825`,"accent-lighten-2":`#FF8D3A`,"accent-lighten-3":`#FFA24F`,"accent-muted":`#F3C6AE`,background:`#EFF1F5`,"background-darken-1":`#D9DBDF`,"background-darken-2":`#C4C6CA`,"background-darken-3":`#B0B2B5`,"background-lighten-1":`#FFFFFF`,"background-lighten-2":`#FFFFFF`,"background-lighten-3":`#FFFFFF`,"block-cursor-background":`#8839EF`,"block-cursor-blurred-background":`#8839EF4C`,"block-cursor-blurred-foreground":`#4C4F69`,"block-cursor-foreground":`#000000DD`,"block-hover-background":`#00000019`,boost:`#0000000A`,"boost-darken-1":`#0000000A`,"boost-darken-2":`#0000000A`,"boost-darken-3":`#0000000A`,"boost-lighten-1":`#1616160A`,"boost-lighten-2":`#2525250A`,"boost-lighten-3":`#3535350A`,border:`#8839EF`,"border-blurred":`#DEE1E7`,"button-color-foreground":`#EFF1F5`,"button-foreground":`#4C4F69`,error:`#D10F39`,"error-darken-1":`#BA0028`,"error-darken-2":`#A20019`,"error-darken-3":`#8A0008`,"error-lighten-1":`#EA324A`,"error-lighten-2":`#FF4B5B`,"error-lighten-3":`#FF626E`,"error-muted":`#E6ADBC`,"footer-background":`#CCD0DA`,"footer-description-background":`#00000000`,"footer-description-foreground":`#4C4F69`,"footer-foreground":`#4C4F69`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FE640B`,foreground:`#4C4F69`,"foreground-darken-1":`#3A3D56`,"foreground-darken-2":`#292D45`,"foreground-darken-3":`#191D34`,"foreground-disabled":`#4C4F6960`,"foreground-lighten-1":`#5E607B`,"foreground-lighten-2":`#70738F`,"foreground-lighten-3":`#8386A2`,"foreground-muted":`#4C4F6999`,"input-cursor-background":`#4C4F69`,"input-cursor-foreground":`#EFF1F5`,"input-selection-background":`#9E4DFF66`,"link-background":`#00000000`,"link-background-hover":`#8839EF`,"link-color":`#000000DD`,"link-color-hover":`#000000DD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#8839EF`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#8839EF`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#8839EF`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#4C4F69`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#4C4F69`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#4C4F6999`,panel:`#CCD0DA`,"panel-darken-1":`#B7BBC5`,"panel-darken-2":`#A3A6B0`,"panel-darken-3":`#8F939C`,"panel-lighten-1":`#E1E5EF`,"panel-lighten-2":`#F6FAFF`,"panel-lighten-3":`#FFFFFF`,primary:`#8839EF`,"primary-background":`#8839EF`,"primary-background-darken-1":`#7122D9`,"primary-background-darken-2":`#5901C3`,"primary-background-darken-3":`#4000AE`,"primary-background-lighten-1":`#9E4DFF`,"primary-background-lighten-2":`#B562FF`,"primary-background-lighten-3":`#CC76FF`,"primary-darken-1":`#7122D9`,"primary-darken-2":`#5901C3`,"primary-darken-3":`#4000AE`,"primary-lighten-1":`#9E4DFF`,"primary-lighten-2":`#B562FF`,"primary-lighten-3":`#CC76FF`,"primary-muted":`#D0B9F3`,scrollbar:`#B89AE5`,"scrollbar-active":`#8839EF`,"scrollbar-background":`#D9DBDF`,"scrollbar-background-active":`#D9DBDF`,"scrollbar-background-hover":`#D9DBDF`,"scrollbar-corner-color":`#D9DBDF`,"scrollbar-hover":`#B08AE7`,secondary:`#DB8A78`,"secondary-background":`#DB8A78`,"secondary-background-darken-1":`#C57665`,"secondary-background-darken-2":`#B06353`,"secondary-background-darken-3":`#9A5041`,"secondary-background-lighten-1":`#F29D8B`,"secondary-background-lighten-2":`#FFB29E`,"secondary-background-lighten-3":`#FFC7B3`,"secondary-darken-1":`#C57665`,"secondary-darken-2":`#B06353`,"secondary-darken-3":`#9A5041`,"secondary-lighten-1":`#F29D8B`,"secondary-lighten-2":`#FFB29E`,"secondary-lighten-3":`#FFC7B3`,"secondary-muted":`#E9D2CF`,success:`#40A02B`,"success-darken-1":`#278B14`,"success-darken-2":`#007800`,"success-darken-3":`#006400`,"success-lighten-1":`#56B43F`,"success-lighten-2":`#6BC952`,"success-lighten-3":`#81DE66`,"success-muted":`#BAD8B8`,surface:`#E6E9EF`,"surface-active":`#F7FAFF`,"surface-darken-1":`#D0D3D9`,"surface-darken-2":`#BCBFC4`,"surface-darken-3":`#A7AAB0`,"surface-lighten-1":`#FBFEFF`,"surface-lighten-2":`#FFFFFF`,"surface-lighten-3":`#FFFFFF`,text:`#000000DD`,"text-accent":`#A74207`,"text-disabled":`#00000060`,"text-error":`#8A0925`,"text-muted":`#00000099`,"text-primary":`#59259D`,"text-secondary":`#915B4F`,"text-success":`#2A691C`,"text-warning":`#935D13`,warning:`#DE8E1D`,"warning-darken-1":`#C77A00`,"warning-darken-2":`#B06700`,"warning-darken-3":`#9A5500`,"warning-lighten-1":`#F6A134`,"warning-lighten-2":`#FFB648`,"warning-lighten-3":`#FFCA5D`,"warning-muted":`#EAD3B4`}},"catppuccin-macchiato":{name:`catppuccin-macchiato`,dark:!0,vars:{accent:`#F5BDE6`,"accent-darken-1":`#DFA8D0`,"accent-darken-2":`#CA94BC`,"accent-darken-3":`#B580A7`,"accent-lighten-1":`#FFD1FB`,"accent-lighten-2":`#FFE7FF`,"accent-lighten-3":`#FFFCFF`,"accent-muted":`#62546D`,background:`#24273A`,"background-darken-1":`#141729`,"background-darken-2":`#00021A`,"background-darken-3":`#000007`,"background-lighten-1":`#34374B`,"background-lighten-2":`#45485C`,"background-lighten-3":`#57596F`,"block-cursor-background":`#C6A0F6`,"block-cursor-blurred-background":`#C6A0F64C`,"block-cursor-blurred-foreground":`#CAD3F5`,"block-cursor-foreground":`#1E2030`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#B7BDF8`,"border-blurred":`#737994`,"button-color-foreground":`#24273A`,"button-foreground":`#CAD3F5`,error:`#ED8796`,"error-darken-1":`#D67382`,"error-darken-2":`#C05F6F`,"error-darken-3":`#AB4C5D`,"error-lighten-1":`#FF9BA9`,"error-lighten-2":`#FFAFBE`,"error-lighten-3":`#FFC4D3`,"error-muted":`#604355`,"footer-background":`#494D64`,"footer-description-background":`#00000000`,"footer-description-foreground":`#CAD3F5`,"footer-foreground":`#CAD3F5`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#F5BDE6`,foreground:`#CAD3F5`,"foreground-darken-1":`#B5BEDF`,"foreground-darken-2":`#A0A9CA`,"foreground-darken-3":`#8C95B5`,"foreground-disabled":`#CAD3F560`,"foreground-lighten-1":`#DFE8FF`,"foreground-lighten-2":`#F4FDFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#CAD3F599`,"input-cursor-background":`#F4DBD6`,"input-cursor-foreground":`#181926`,"input-selection-background":`#838BA74C`,"link-background":`#00000000`,"link-background-hover":`#C6A0F6`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#C6A0F6`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#C6A0F6`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#C6A0F6`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#CAD3F5`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#CAD3F5`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#CAD3F599`,panel:`#494D64`,"panel-darken-1":`#373B51`,"panel-darken-2":`#262B40`,"panel-darken-3":`#161C2F`,"panel-lighten-1":`#5A5E76`,"panel-lighten-2":`#6D7189`,"panel-lighten-3":`#80849D`,primary:`#C6A0F6`,"primary-background":`#59566F`,"primary-background-darken-1":`#4A4762`,"primary-background-darken-2":`#3C3956`,"primary-background-darken-3":`#3C3956`,"primary-background-lighten-1":`#67657C`,"primary-background-lighten-2":`#767488`,"primary-background-lighten-3":`#858395`,"primary-darken-1":`#B08CE0`,"primary-darken-2":`#9C78CB`,"primary-darken-3":`#8865B6`,"primary-lighten-1":`#DBB4FF`,"primary-lighten-2":`#F1C9FF`,"primary-lighten-3":`#FFDEFF`,"primary-muted":`#544B72`,scrollbar:`#5B4D7B`,"scrollbar-active":`#C6A0F6`,"scrollbar-background":`#141729`,"scrollbar-background-active":`#141729`,"scrollbar-background-hover":`#141729`,"scrollbar-corner-color":`#141729`,"scrollbar-hover":`#6D5B8F`,secondary:`#F4A97F`,"secondary-background":`#5F5760`,"secondary-background-darken-1":`#514852`,"secondary-background-darken-2":`#433A44`,"secondary-background-darken-3":`#433A44`,"secondary-background-lighten-1":`#6D666E`,"secondary-background-lighten-2":`#7B757C`,"secondary-background-lighten-3":`#89838A`,"secondary-darken-1":`#DE946B`,"secondary-darken-2":`#C88159`,"secondary-darken-3":`#B26E47`,"secondary-lighten-1":`#FFBD92`,"secondary-lighten-2":`#FFD2A6`,"secondary-lighten-3":`#FFE7BB`,"secondary-muted":`#624E4E`,success:`#A6DA95`,"success-darken-1":`#91C481`,"success-darken-2":`#7DB06E`,"success-darken-3":`#6A9C5B`,"success-lighten-1":`#BAEFA9`,"success-lighten-2":`#CFFFBD`,"success-lighten-3":`#E5FFD2`,"success-muted":`#4B5C55`,surface:`#363A4F`,"surface-active":`#43475D`,"surface-darken-1":`#25293D`,"surface-darken-2":`#151A2D`,"surface-darken-3":`#03061D`,"surface-lighten-1":`#474B60`,"surface-lighten-2":`#595C73`,"surface-lighten-3":`#6B6F86`,text:`#FFFFFFDD`,"text-accent":`#F8D3EE`,"text-disabled":`#FFFFFF60`,"text-error":`#F3AFB9`,"text-muted":`#FFFFFF99`,"text-primary":`#D9C0F9`,"text-secondary":`#F8C6AA`,"text-success":`#C4E6B9`,"text-warning":`#F3E2BF`,warning:`#EED49F`,"warning-darken-1":`#D8BF8B`,"warning-darken-2":`#C3AA77`,"warning-darken-3":`#AE9664`,"warning-lighten-1":`#FFE9B3`,"warning-lighten-2":`#FFFEC7`,"warning-lighten-3":`#FFFFDD`,"warning-muted":`#605A58`}},"catppuccin-mocha":{name:`catppuccin-mocha`,dark:!0,vars:{accent:`#F9B387`,"accent-darken-1":`#E39E73`,"accent-darken-2":`#CD8A60`,"accent-darken-3":`#B7774E`,"accent-lighten-1":`#FFC79A`,"accent-lighten-2":`#FFDCAE`,"accent-lighten-3":`#FFF2C3`,"accent-muted":`#5B4642`,background:`#181825`,"background-darken-1":`#040216`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#272735`,"background-lighten-2":`#373746`,"background-lighten-3":`#484857`,"block-cursor-background":`#F5C2E7`,"block-cursor-blurred-background":`#F5C2E74C`,"block-cursor-blurred-foreground":`#CDD6F4`,"block-cursor-foreground":`#1E1E2E`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#B4BEFE`,"border-blurred":`#585B70`,"button-color-foreground":`#181825`,"button-foreground":`#CDD6F4`,error:`#F28FAD`,"error-darken-1":`#DB7A99`,"error-darken-2":`#C66785`,"error-darken-3":`#B05372`,"error-lighten-1":`#FFA3C1`,"error-lighten-2":`#FFB8D6`,"error-lighten-3":`#FFCDEB`,"error-muted":`#593B4D`,"footer-background":`#45475A`,"footer-description-background":`#00000000`,"footer-description-foreground":`#CDD6F4`,"footer-foreground":`#CDD6F4`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FAB387`,foreground:`#CDD6F4`,"foreground-darken-1":`#B8C1DE`,"foreground-darken-2":`#A3ACC9`,"foreground-darken-3":`#8F98B4`,"foreground-disabled":`#CDD6F460`,"foreground-lighten-1":`#E2EBFF`,"foreground-lighten-2":`#F7FFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#CDD6F499`,"input-cursor-background":`#F5E0DC`,"input-cursor-foreground":`#11111B`,"input-selection-background":`#9399B24C`,"link-background":`#00000000`,"link-background-hover":`#F5C2E7`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#F5C2E7`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#F5C2E7`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#F5C2E7`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#CDD6F4`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#CDD6F4`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#CDD6F499`,panel:`#45475A`,"panel-darken-1":`#333648`,"panel-darken-2":`#232637`,"panel-darken-3":`#131627`,"panel-lighten-1":`#56586C`,"panel-lighten-2":`#696A7F`,"panel-lighten-3":`#7B7D92`,primary:`#F5C2E7`,"primary-background":`#564F5E`,"primary-background-darken-1":`#474050`,"primary-background-darken-2":`#393142`,"primary-background-darken-3":`#393142`,"primary-background-lighten-1":`#655F6C`,"primary-background-lighten-2":`#746E7A`,"primary-background-lighten-3":`#837E88`,"primary-darken-1":`#DFADD1`,"primary-darken-2":`#CA99BD`,"primary-darken-3":`#B585A8`,"primary-lighten-1":`#FFD6FC`,"primary-lighten-2":`#FFECFF`,"primary-lighten-3":`#FFFFFF`,"primary-muted":`#5A4B5F`,scrollbar:`#644E69`,"scrollbar-active":`#F5C2E7`,"scrollbar-background":`#040216`,"scrollbar-background-active":`#040216`,"scrollbar-background-hover":`#040216`,"scrollbar-corner-color":`#040216`,"scrollbar-hover":`#7C627E`,secondary:`#CBA6F7`,"secondary-background":`#504C60`,"secondary-background-darken-1":`#413C52`,"secondary-background-darken-2":`#322D44`,"secondary-background-darken-3":`#322D44`,"secondary-background-lighten-1":`#605C6E`,"secondary-background-lighten-2":`#6F6C7C`,"secondary-background-lighten-3":`#7E7B8A`,"secondary-darken-1":`#B592E1`,"secondary-darken-2":`#A17ECC`,"secondary-darken-3":`#8C6BB7`,"secondary-lighten-1":`#E0BAFF`,"secondary-lighten-2":`#F6CFFF`,"secondary-lighten-3":`#FFE4FF`,"secondary-muted":`#4D4264`,success:`#ABE9B3`,"success-darken-1":`#96D39E`,"success-darken-2":`#82BE8B`,"success-darken-3":`#6EAA77`,"success-lighten-1":`#BFFEC7`,"success-lighten-2":`#D5FFDC`,"success-lighten-3":`#EAFFF2`,"success-muted":`#44564F`,surface:`#313244`,"surface-active":`#3E3F51`,"surface-darken-1":`#202233`,"surface-darken-2":`#111223`,"surface-darken-3":`#000014`,"surface-lighten-1":`#414255`,"surface-lighten-2":`#535467`,"surface-lighten-3":`#65667A`,text:`#FFFFFFDD`,"text-accent":`#FBCCAF`,"text-disabled":`#FFFFFF60`,"text-error":`#F6B5C8`,"text-muted":`#FFFFFF99`,"text-primary":`#F8D6EF`,"text-secondary":`#DCC4F9`,"text-success":`#C7F0CC`,"text-warning":`#FBECCA`,warning:`#FAE3B0`,"warning-darken-1":`#E4CD9B`,"warning-darken-2":`#CEB988`,"warning-darken-3":`#B9A574`,"warning-lighten-1":`#FFF8C4`,"warning-lighten-2":`#FFFFD9`,"warning-lighten-3":`#FFFFEF`,"warning-muted":`#5B544E`}},cyberpunk:{name:`cyberpunk`,dark:!0,vars:{background:`#070714`,"background-darken-1":`#03030A`,"background-darken-2":`#000003`,"background-darken-3":`#000000`,"background-lighten-1":`#11111E`,"background-lighten-2":`#1A1A2B`,"background-lighten-3":`#25253A`,foreground:`#E2E2FF`,"foreground-darken-1":`#CACAE4`,"foreground-darken-2":`#B3B3CC`,"foreground-darken-3":`#9C9CB5`,"foreground-disabled":`#E2E2FF60`,"foreground-lighten-1":`#EEEEFF`,"foreground-lighten-2":`#F6F6FF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#E2E2FF99`,primary:`#00E5FFD9`,"primary-darken-1":`#00CCE6D9`,"primary-darken-2":`#00B2CCD9`,"primary-darken-3":`#0099B3D9`,"primary-lighten-1":`#1AF0FFD9`,"primary-lighten-2":`#33F5FFD9`,"primary-lighten-3":`#4DFAFFD9`,"primary-muted":`#054A5BF4`,"primary-background":`#0A3340`,"primary-background-darken-1":`#072833`,"primary-background-darken-2":`#051E27`,"primary-background-darken-3":`#051E27`,"primary-background-lighten-1":`#0F404F`,"primary-background-lighten-2":`#154E5F`,"primary-background-lighten-3":`#1A5C6F`,secondary:`#FF1E8ECC`,"secondary-darken-1":`#E60A76CC`,"secondary-darken-2":`#CC005FCC`,"secondary-darken-3":`#B20048CC`,"secondary-lighten-1":`#FF3CA2CC`,"secondary-lighten-2":`#FF5AB6CC`,"secondary-lighten-3":`#FF78CACC`,"secondary-muted":`#510E39EF`,"secondary-background":`#3A0A28`,"secondary-background-darken-1":`#2E071F`,"secondary-background-darken-2":`#220517`,"secondary-background-darken-3":`#220517`,"secondary-background-lighten-1":`#470D33`,"secondary-background-lighten-2":`#54103F`,"secondary-background-lighten-3":`#61134B`,accent:`#EEFF00CC`,"accent-darken-1":`#D6E600CC`,"accent-darken-2":`#BECC00CC`,"accent-darken-3":`#A5B200CC`,"accent-lighten-1":`#FFFF26CC`,"accent-lighten-2":`#FFFF4DCC`,"accent-lighten-3":`#FFFF73CC`,"accent-muted":`#4C510EEF`,success:`#39FF14BF`,"success-darken-1":`#23E60ABF`,"success-darken-2":`#0FCC00BF`,"success-darken-3":`#00B200BF`,"success-lighten-1":`#4DFF32BF`,"success-lighten-2":`#69FF5ABF`,"success-lighten-3":`#87FF82BF`,"success-muted":`#164D14F0`,warning:`#FF6E00CC`,"warning-darken-1":`#E65800CC`,"warning-darken-2":`#CC4300CC`,"warning-darken-3":`#B23000CC`,"warning-lighten-1":`#FF8C26CC`,"warning-lighten-2":`#FFA54DCC`,"warning-lighten-3":`#FFBE73CC`,"warning-muted":`#51260EEF`,error:`#FF1133BF`,"error-darken-1":`#E6051EBF`,"error-darken-2":`#CC000CBF`,"error-darken-3":`#B20000BF`,"error-lighten-1":`#FF3758BF`,"error-lighten-2":`#FF5A78BF`,"error-lighten-3":`#FF7D96BF`,"error-muted":`#510A1DF0`,surface:`#0F0F22`,"surface-active":`#161630`,"surface-darken-1":`#08081A`,"surface-darken-2":`#040411`,"surface-darken-3":`#020209`,"surface-lighten-1":`#17172E`,"surface-lighten-2":`#1F1F3C`,"surface-lighten-3":`#28284A`,panel:`#0C0C1E`,"panel-darken-1":`#060614`,"panel-darken-2":`#03030C`,"panel-darken-3":`#010108`,"panel-lighten-1":`#14142C`,"panel-lighten-2":`#1C1C3A`,"panel-lighten-3":`#242448`,scrollbar:`#151535`,"scrollbar-active":`#00E5FFD9`,"scrollbar-background":`#040412`,"scrollbar-background-active":`#040412`,"scrollbar-background-hover":`#040412`,"scrollbar-corner-color":`#040412`,"scrollbar-hover":`#1F1F48`,"block-cursor-background":`#00E5FF`,"block-cursor-blurred-background":`#00E5FF4C`,"block-cursor-blurred-foreground":`#E2E2FF`,"block-cursor-foreground":`#070714`,"block-hover-background":`#00E5FF19`,boost:`#00E5FF0A`,"boost-darken-1":`#00CCE60A`,"boost-darken-2":`#00B2CC0A`,"boost-darken-3":`#0099B30A`,"boost-lighten-1":`#00E5FF0A`,"boost-lighten-2":`#00E5FF0A`,"boost-lighten-3":`#00E5FF0A`,border:`#00E5FFD9`,"border-blurred":`#1A1A35`,"button-color-foreground":`#070714`,"button-foreground":`#E2E2FF`,"footer-background":`#0C0C1E`,"footer-description-background":`#00000000`,"footer-description-foreground":`#E2E2FF`,"footer-foreground":`#E2E2FF`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#00E5FFD9`,"input-cursor-background":`#E2E2FF`,"input-cursor-foreground":`#070714`,"input-selection-background":`#00E5FF40`,"link-background":`#00000000`,"link-background-hover":`#00E5FFD9`,"link-color":`#E2E2FFDD`,"link-color-hover":`#070714`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#00E5FFD9`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#00E5FFD9`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#FF1E8ECC`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#E2E2FF`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#E2E2FF`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#E2E2FF99`,text:`#E2E2FFDD`,"text-accent":`#F4FF66CC`,"text-disabled":`#E2E2FF60`,"text-error":`#FF6677BF`,"text-muted":`#E2E2FF99`,"text-primary":`#66F0FFD9`,"text-secondary":`#FF80B0CC`,"text-success":`#80FF55BF`,"text-warning":`#FFB055CC`}},default:{name:`default`,dark:!0,vars:{accent:`#006FB8`,"accent-darken-1":`#005CA3`,"accent-darken-2":`#004B8F`,"accent-darken-3":`#003A7B`,"accent-lighten-1":`#3081CC`,"accent-lighten-2":`#4C95E2`,"accent-lighten-3":`#64A8F7`,"accent-muted":`#002137`,background:`#000000`,"background-darken-1":`#000000`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#161616`,"background-lighten-2":`#252525`,"background-lighten-3":`#353535`,"block-cursor-background":`#006FB8`,"block-cursor-blurred-background":`#006FB84C`,"block-cursor-blurred-foreground":`#FFFFFF`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#006FB8`,"border-blurred":`#191919`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#FFFFFF`,error:`#7F0000`,"error-darken-1":`#6A0000`,"error-darken-2":`#560000`,"error-darken-3":`#450000`,"error-lighten-1":`#961E12`,"error-lighten-2":`#AD3423`,"error-lighten-3":`#C44934`,"error-muted":`#260000`,"footer-background":`#242E35`,"footer-description-background":`#00000000`,"footer-description-foreground":`#FFFFFF`,"footer-foreground":`#FFFFFF`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#006FB8`,foreground:`#FFFFFF`,"foreground-darken-1":`#E9E9E9`,"foreground-darken-2":`#D4D4D4`,"foreground-darken-3":`#BFBFBF`,"foreground-disabled":`#FFFFFF60`,"foreground-lighten-1":`#FFFFFF`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#FFFFFF99`,"input-cursor-background":`#FFFFFF`,"input-cursor-foreground":`#000000`,"input-selection-background":`#3081CC66`,"link-background":`#00000000`,"link-background-hover":`#006FB8`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#006FB8`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#006FB8`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#006FB8`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#FFFFFF`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#FFFFFF`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#FFFFFF99`,panel:`#242E35`,"panel-darken-1":`#141E24`,"panel-darken-2":`#000D15`,"panel-darken-3":`#000000`,"panel-lighten-1":`#343E45`,"panel-lighten-2":`#454F57`,"panel-lighten-3":`#566169`,primary:`#006FB8`,"primary-background":`#26333D`,"primary-background-darken-1":`#13212C`,"primary-background-darken-2":`#00101B`,"primary-background-darken-3":`#00101B`,"primary-background-lighten-1":`#39454E`,"primary-background-lighten-2":`#4C575F`,"primary-background-lighten-3":`#5F6970`,"primary-darken-1":`#005CA3`,"primary-darken-2":`#004B8F`,"primary-darken-3":`#003A7B`,"primary-lighten-1":`#3081CC`,"primary-lighten-2":`#4C95E2`,"primary-lighten-3":`#64A8F7`,"primary-muted":`#002137`,scrollbar:`#002C49`,"scrollbar-active":`#006FB8`,"scrollbar-background":`#000000`,"scrollbar-background-active":`#000000`,"scrollbar-background-hover":`#000000`,"scrollbar-corner-color":`#000000`,"scrollbar-hover":`#00375C`,secondary:`#762671`,"secondary-background":`#342A33`,"secondary-background-darken-1":`#221721`,"secondary-background-darken-2":`#110510`,"secondary-background-darken-3":`#110510`,"secondary-background-lighten-1":`#463D45`,"secondary-background-lighten-2":`#585057`,"secondary-background-lighten-3":`#6A6269`,"secondary-darken-1":`#620F5E`,"secondary-darken-2":`#4E004C`,"secondary-darken-3":`#3B003A`,"secondary-lighten-1":`#8A3984`,"secondary-lighten-2":`#9E4C97`,"secondary-lighten-3":`#B360AB`,"secondary-muted":`#230B21`,success:`#008000`,"success-darken-1":`#006C00`,"success-darken-2":`#005900`,"success-darken-3":`#004600`,"success-lighten-1":`#29931C`,"success-lighten-2":`#42A832`,"success-lighten-3":`#58BD46`,"success-muted":`#002600`,surface:`#1E1E1E`,"surface-active":`#2A2A2A`,"surface-darken-1":`#0D0D0D`,"surface-darken-2":`#000000`,"surface-darken-3":`#000000`,"surface-lighten-1":`#2D2D2D`,"surface-lighten-2":`#3E3E3E`,"surface-lighten-3":`#4F4F4F`,text:`#FFFFFFDD`,"text-accent":`#569FD0`,"text-disabled":`#FFFFFF60`,"text-error":`#AB5656`,"text-muted":`#FFFFFF99`,"text-primary":`#569FD0`,"text-secondary":`#A46FA1`,"text-success":`#56AB56`,"text-warning":`#ABAB56`,warning:`#7F8000`,"warning-darken-1":`#6B6D00`,"warning-darken-2":`#575A00`,"warning-darken-3":`#454900`,"warning-lighten-1":`#94931E`,"warning-lighten-2":`#A9A734`,"warning-lighten-3":`#BFBB48`,"warning-muted":`#262600`}},dracula:{name:`dracula`,dark:!0,vars:{accent:`#FF79C6`,"accent-darken-1":`#E864B1`,"accent-darken-2":`#D24F9D`,"accent-darken-3":`#BC3989`,"accent-lighten-1":`#FF8DDA`,"accent-lighten-2":`#FFA3F0`,"accent-lighten-3":`#FFB8FF`,"accent-muted":`#684161`,background:`#282A36`,"background-darken-1":`#181A25`,"background-darken-2":`#050716`,"background-darken-3":`#000000`,"background-lighten-1":`#383A46`,"background-lighten-2":`#494B58`,"background-lighten-3":`#5B5D6A`,"block-cursor-background":`#BD93F9`,"block-cursor-blurred-background":`#BD93F94C`,"block-cursor-blurred-foreground":`#F8F8F2`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#BD93F9`,"border-blurred":`#252835`,"button-color-foreground":`#282A36`,"button-foreground":`#F8F8F2`,error:`#FE5555`,"error-darken-1":`#E63E43`,"error-darken-2":`#CE2332`,"error-darken-3":`#B70022`,"error-lighten-1":`#FF6A67`,"error-lighten-2":`#FF807A`,"error-lighten-3":`#FF958D`,"error-muted":`#68363F`,"footer-background":`#313442`,"footer-description-background":`#00000000`,"footer-description-foreground":`#F8F8F2`,"footer-foreground":`#F8F8F2`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FF79C6`,foreground:`#F8F8F2`,"foreground-darken-1":`#E2E2DC`,"foreground-darken-2":`#CDCDC7`,"foreground-darken-3":`#B8B8B3`,"foreground-disabled":`#F8F8F260`,"foreground-lighten-1":`#FFFFFF`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#F8F8F299`,"input-cursor-background":`#F8F8F2`,"input-cursor-foreground":`#282A36`,"input-selection-background":`#D2A7FF66`,"link-background":`#00000000`,"link-background-hover":`#BD93F9`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#BD93F9`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#BD93F9`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#BD93F9`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#F8F8F2`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#F8F8F2`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#F8F8F299`,panel:`#313442`,"panel-darken-1":`#202431`,"panel-darken-2":`#111421`,"panel-darken-3":`#000012`,"panel-lighten-1":`#414453`,"panel-lighten-2":`#535665`,"panel-lighten-3":`#656878`,primary:`#BD93F9`,"primary-background":`#5A566C`,"primary-background-darken-1":`#4C475F`,"primary-background-darken-2":`#3E3953`,"primary-background-darken-3":`#3E3953`,"primary-background-lighten-1":`#696579`,"primary-background-lighten-2":`#777486`,"primary-background-lighten-3":`#868393`,"primary-darken-1":`#A77FE3`,"primary-darken-2":`#936CCE`,"primary-darken-3":`#7E59B9`,"primary-lighten-1":`#D2A7FF`,"primary-lighten-2":`#E8BBFF`,"primary-lighten-3":`#FED0FF`,"primary-muted":`#544970`,scrollbar:`#5A4A79`,"scrollbar-active":`#BD93F9`,"scrollbar-background":`#181A25`,"scrollbar-background-active":`#181A25`,"scrollbar-background-hover":`#181A25`,"scrollbar-corner-color":`#181A25`,"scrollbar-hover":`#6A568F`,secondary:`#6272A4`,"secondary-background":`#4F5261`,"secondary-background-darken-1":`#3F4353`,"secondary-background-darken-2":`#303446`,"secondary-background-darken-3":`#303446`,"secondary-background-lighten-1":`#5E616F`,"secondary-background-lighten-2":`#6E707D`,"secondary-background-lighten-3":`#7D808B`,"secondary-darken-1":`#4E5F90`,"secondary-darken-2":`#3B4D7C`,"secondary-darken-3":`#283C69`,"secondary-lighten-1":`#7584B8`,"secondary-lighten-2":`#8998CD`,"secondary-lighten-3":`#9DACE2`,"secondary-muted":`#393F57`,success:`#50FA7B`,"success-darken-1":`#2FE467`,"success-darken-2":`#00CE53`,"success-darken-3":`#00B83F`,"success-lighten-1":`#6AFF8F`,"success-lighten-2":`#83FFA3`,"success-lighten-3":`#9BFFB8`,"success-muted":`#34684A`,surface:`#2B2E3B`,"surface-active":`#383B48`,"surface-darken-1":`#1B1E2A`,"surface-darken-2":`#0A0D1B`,"surface-darken-3":`#000009`,"surface-lighten-1":`#3B3E4C`,"surface-lighten-2":`#4C4F5D`,"surface-lighten-3":`#5E6170`,text:`#FFFFFFDD`,"text-accent":`#FFA6D9`,"text-disabled":`#FFFFFF60`,"text-error":`#FF8E8E`,"text-muted":`#FFFFFF99`,"text-primary":`#D3B7FB`,"text-secondary":`#97A1C2`,"text-success":`#8BFBA7`,"text-warning":`#FFD09D`,warning:`#FEB86C`,"warning-darken-1":`#E8A358`,"warning-darken-2":`#D18F45`,"warning-darken-3":`#BB7C33`,"warning-lighten-1":`#FFCC7F`,"warning-lighten-2":`#FFE193`,"warning-lighten-3":`#FFF7A7`,"warning-muted":`#685446`}},flexoki:{name:`flexoki`,dark:!0,vars:{accent:`#9B76C8`,"accent-darken-1":`#8663B3`,"accent-darken-2":`#72509E`,"accent-darken-3":`#5F3E8B`,"accent-lighten-1":`#AF89DD`,"accent-lighten-2":`#C49DF2`,"accent-lighten-3":`#D9B1FF`,"accent-muted":`#392D46`,background:`#100F0F`,"background-darken-1":`#000000`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#1F1F1F`,"background-lighten-2":`#2F2E2E`,"background-lighten-3":`#403F3F`,"block-cursor-background":`#205EA6`,"block-cursor-blurred-background":`#205EA64C`,"block-cursor-blurred-foreground":`#FFFCF0`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#205EA6`,"border-blurred":`#171614`,"button-color-foreground":`#FFFCF0`,"button-foreground":`#FFFCF0`,error:`#AE3029`,"error-darken-1":`#981818`,"error-darken-2":`#810007`,"error-darken-3":`#6B0000`,"error-lighten-1":`#C64539`,"error-lighten-2":`#DD594B`,"error-lighten-3":`#F46D5D`,"error-muted":`#3F1816`,"footer-background":`#282726`,"footer-description-background":`#00000000`,"footer-description-foreground":`#FFFCF0`,"footer-foreground":`#FFFCF0`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#9B76C8`,foreground:`#FFFCF0`,"foreground-darken-1":`#E9E6DA`,"foreground-darken-2":`#D4D1C5`,"foreground-darken-3":`#BFBCB1`,"foreground-disabled":`#FFFCF060`,"foreground-lighten-1":`#FFFFFF`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#FFFCF099`,"input-cursor-background":`#FFFCF0`,"input-cursor-foreground":`#5E409D`,"input-selection-background":`#6F6E6959`,"link-background":`#00000000`,"link-background-hover":`#205EA6`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#205EA6`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#205EA6`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#205EA6`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#FFFCF0`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#FFFCF0`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#FFFCF099`,panel:`#282726`,"panel-darken-1":`#181716`,"panel-darken-2":`#040200`,"panel-darken-3":`#000000`,"panel-lighten-1":`#383736`,"panel-lighten-2":`#494846`,"panel-lighten-3":`#5A5958`,primary:`#205EA6`,"primary-background":`#353C45`,"primary-background-darken-1":`#232B35`,"primary-background-darken-2":`#121A25`,"primary-background-darken-3":`#121A25`,"primary-background-lighten-1":`#474D56`,"primary-background-lighten-2":`#595E66`,"primary-background-lighten-3":`#6A6F76`,"primary-darken-1":`#004C91`,"primary-darken-2":`#003B7E`,"primary-darken-3":`#002B6B`,"primary-lighten-1":`#3C70BA`,"primary-lighten-2":`#5383CF`,"primary-lighten-3":`#6996E4`,"primary-muted":`#14263C`,scrollbar:`#0C2542`,"scrollbar-active":`#205EA6`,"scrollbar-background":`#000000`,"scrollbar-background-active":`#000000`,"scrollbar-background-hover":`#000000`,"scrollbar-corner-color":`#000000`,"scrollbar-hover":`#102F53`,secondary:`#24837B`,"secondary-background":`#364140`,"secondary-background-darken-1":`#24302F`,"secondary-background-darken-2":`#13201F`,"secondary-background-darken-3":`#13201F`,"secondary-background-lighten-1":`#485251`,"secondary-background-lighten-2":`#596262`,"secondary-background-lighten-3":`#6B7373`,"secondary-darken-1":`#006F68`,"secondary-darken-2":`#005D56`,"secondary-darken-3":`#004A44`,"secondary-lighten-1":`#3C968E`,"secondary-lighten-2":`#52AAA1`,"secondary-lighten-3":`#67BFB6`,"secondary-muted":`#16312F`,success:`#65800B`,"success-darken-1":`#526D00`,"success-darken-2":`#3E5A00`,"success-darken-3":`#2D4800`,"success-lighten-1":`#7A9324`,"success-lighten-2":`#8EA738`,"success-lighten-3":`#A3BB4C`,"success-muted":`#29300D`,surface:`#1C1B1A`,"surface-active":`#282726`,"surface-darken-1":`#0A0806`,"surface-darken-2":`#000000`,"surface-darken-3":`#000000`,"surface-lighten-1":`#2B2A29`,"surface-lighten-2":`#3B3A39`,"surface-lighten-3":`#4D4B4A`,text:`#FFFFFFDD`,"text-accent":`#BDA4DA`,"text-disabled":`#FFFFFF60`,"text-error":`#CA7671`,"text-muted":`#FFFFFF99`,"text-primary":`#6B94C4`,"text-secondary":`#6EADA7`,"text-success":`#9AAB5D`,"text-warning":`#C8AD57`,warning:`#AC8301`,"warning-darken-1":`#977000`,"warning-darken-2":`#815D00`,"warning-darken-3":`#6C4C00`,"warning-lighten-1":`#C39621`,"warning-lighten-2":`#D9AA37`,"warning-lighten-3":`#F0BE4B`,"warning-muted":`#3F310A`}},gruvbox:{name:`gruvbox`,dark:!0,vars:{accent:`#F9BD2F`,"accent-darken-1":`#E2A811`,"accent-darken-2":`#CB9400`,"accent-darken-3":`#B48100`,"accent-lighten-1":`#FFD146`,"accent-lighten-2":`#FFE65B`,"accent-lighten-3":`#FFFC70`,"accent-muted":`#67542A`,background:`#282828`,"background-darken-1":`#181818`,"background-darken-2":`#040404`,"background-darken-3":`#000000`,"background-lighten-1":`#383838`,"background-lighten-2":`#494949`,"background-lighten-3":`#5A5A5A`,"block-cursor-background":`#85A598`,"block-cursor-blurred-background":`#85A5984C`,"block-cursor-blurred-foreground":`#FBF1C7`,"block-cursor-foreground":`#FBF1C7`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#85A598`,"border-blurred":`#363230`,"button-color-foreground":`#282828`,"button-foreground":`#FBF1C7`,error:`#FA4934`,"error-darken-1":`#E23022`,"error-darken-2":`#C90D10`,"error-darken-3":`#B10000`,"error-lighten-1":`#FF5F45`,"error-lighten-2":`#FF7558`,"error-lighten-3":`#FF8B6B`,"error-muted":`#67312B`,"footer-background":`#504945`,"footer-description-background":`#00000000`,"footer-description-foreground":`#FBF1C7`,"footer-foreground":`#FBF1C7`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FABD2F`,foreground:`#FBF1C7`,"foreground-darken-1":`#E5DBB2`,"foreground-darken-2":`#D0C69E`,"foreground-darken-3":`#BBB28A`,"foreground-disabled":`#FBF1C760`,"foreground-lighten-1":`#FFFFDC`,"foreground-lighten-2":`#FFFFF1`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#FBF1C799`,"input-cursor-background":`#FBF1C7`,"input-cursor-foreground":`#282828`,"input-selection-background":`#689D6A40`,"link-background":`#00000000`,"link-background-hover":`#85A598`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#85A598`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#85A598`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#85A598`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#FBF1C7`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#FBF1C7`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#FBF1C799`,panel:`#504945`,"panel-darken-1":`#3E3834`,"panel-darken-2":`#2E2724`,"panel-darken-3":`#1E1815`,"panel-lighten-1":`#615A56`,"panel-lighten-2":`#746C68`,"panel-lighten-3":`#877F7B`,primary:`#85A598`,"primary-background":`#535755`,"primary-background-darken-1":`#444846`,"primary-background-darken-2":`#353A38`,"primary-background-darken-3":`#353A38`,"primary-background-lighten-1":`#626664`,"primary-background-lighten-2":`#717573`,"primary-background-lighten-3":`#808382`,"primary-darken-1":`#719184`,"primary-darken-2":`#5F7D71`,"primary-darken-3":`#4C6A5F`,"primary-lighten-1":`#98B9AB`,"primary-lighten-2":`#ACCEC0`,"primary-lighten-3":`#C1E3D5`,"primary-muted":`#434D49`,scrollbar:`#43504B`,"scrollbar-active":`#85A598`,"scrollbar-background":`#181818`,"scrollbar-background-active":`#181818`,"scrollbar-background-hover":`#181818`,"scrollbar-corner-color":`#181818`,"scrollbar-hover":`#4E5E58`,secondary:`#A89A85`,"secondary-background":`#585653`,"secondary-background-darken-1":`#494744`,"secondary-background-darken-2":`#3B3935`,"secondary-background-darken-3":`#3B3935`,"secondary-background-lighten-1":`#676562`,"secondary-background-lighten-2":`#757471`,"secondary-background-lighten-3":`#848380`,"secondary-darken-1":`#938671`,"secondary-darken-2":`#80735F`,"secondary-darken-3":`#6D604D`,"secondary-lighten-1":`#BCAE98`,"secondary-lighten-2":`#D1C2AC`,"secondary-lighten-3":`#E6D7C1`,"secondary-muted":`#4E4A43`,success:`#B7BB26`,"success-darken-1":`#A2A601`,"success-darken-2":`#8C9300`,"success-darken-3":`#777F00`,"success-lighten-1":`#CDCF3D`,"success-lighten-2":`#E4E453`,"success-lighten-3":`#FAFA68`,"success-muted":`#535427`,surface:`#3C3836`,"surface-active":`#494543`,"surface-darken-1":`#2B2725`,"surface-darken-2":`#1C1816`,"surface-darken-3":`#0A0300`,"surface-lighten-1":`#4D4846`,"surface-lighten-2":`#5F5A58`,"surface-lighten-3":`#716C6A`,text:`#FFFFFFDD`,"text-accent":`#FBD375`,"text-disabled":`#FFFFFF60`,"text-error":`#FC8679`,"text-muted":`#FFFFFF99`,"text-primary":`#AEC3BB`,"text-secondary":`#C5BCAE`,"text-success":`#D0D26F`,"text-warning":`#FEAB67`,warning:`#FD8019`,"warning-darken-1":`#E56C00`,"warning-darken-2":`#CD5800`,"warning-darken-3":`#B54500`,"warning-lighten-1":`#FF9430`,"warning-lighten-2":`#FFA845`,"warning-lighten-3":`#FFBD5A`,"warning-muted":`#684223`}},monokai:{name:`monokai`,dark:!0,vars:{accent:`#66D9EF`,"accent-darken-1":`#4DC3D9`,"accent-darken-2":`#31AFC4`,"accent-darken-3":`#009BB0`,"accent-lighten-1":`#7DEEFF`,"accent-lighten-2":`#94FFFF`,"accent-lighten-3":`#AAFFFF`,"accent-muted":`#395D5F`,background:`#272822`,"background-darken-1":`#171812`,"background-darken-2":`#020400`,"background-darken-3":`#000000`,"background-lighten-1":`#373831`,"background-lighten-2":`#484942`,"background-lighten-3":`#595A54`,"block-cursor-background":`#AE81FF`,"block-cursor-blurred-background":`#AE81FF4C`,"block-cursor-blurred-foreground":`#D6D6D6`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#AE81FF`,"border-blurred":`#282828`,"button-color-foreground":`#272822`,"button-foreground":`#D6D6D6`,error:`#F82672`,"error-darken-1":`#E1005F`,"error-darken-2":`#C9004E`,"error-darken-3":`#B1003D`,"error-lighten-1":`#FF4484`,"error-lighten-2":`#FF5D98`,"error-lighten-3":`#FF75AC`,"error-muted":`#66273A`,"footer-background":`#3E3D32`,"footer-description-background":`#00000000`,"footer-description-foreground":`#D6D6D6`,"footer-foreground":`#D6D6D6`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#66D9EF`,foreground:`#D6D6D6`,"foreground-darken-1":`#C1C1C1`,"foreground-darken-2":`#ACACAC`,"foreground-darken-3":`#989898`,"foreground-disabled":`#D6D6D660`,"foreground-lighten-1":`#EBEBEB`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#797979`,"input-cursor-background":`#D6D6D6`,"input-cursor-foreground":`#272822`,"input-selection-background":`#575B6190`,"link-background":`#00000000`,"link-background-hover":`#AE81FF`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#AE81FF`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#AE81FF`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#AE81FF`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#D6D6D6`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#D6D6D6`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#797979`,panel:`#3E3D32`,"panel-darken-1":`#2D2C22`,"panel-darken-2":`#1D1C12`,"panel-darken-3":`#0D0B00`,"panel-lighten-1":`#4F4E42`,"panel-lighten-2":`#616054`,"panel-lighten-3":`#737266`,primary:`#AE81FF`,"primary-background":`#58535F`,"primary-background-darken-1":`#494451`,"primary-background-darken-2":`#3B3543`,"primary-background-darken-3":`#3B3543`,"primary-background-lighten-1":`#67626D`,"primary-background-lighten-2":`#75717B`,"primary-background-lighten-3":`#848089`,"primary-darken-1":`#986DE9`,"primary-darken-2":`#835AD3`,"primary-darken-3":`#6E48BE`,"primary-lighten-1":`#C394FF`,"primary-lighten-2":`#D9A9FF`,"primary-lighten-3":`#EFBDFF`,"primary-muted":`#4F4264`,scrollbar:`#534270`,"scrollbar-active":`#AE81FF`,"scrollbar-background":`#171812`,"scrollbar-background-active":`#171812`,"scrollbar-background-hover":`#171812`,"scrollbar-corner-color":`#171812`,"scrollbar-hover":`#624C88`,secondary:`#F82672`,"secondary-background":`#61474D`,"secondary-background-darken-1":`#53373D`,"secondary-background-darken-2":`#46272E`,"secondary-background-darken-3":`#46272E`,"secondary-background-lighten-1":`#6F575D`,"secondary-background-lighten-2":`#7D676C`,"secondary-background-lighten-3":`#8B787C`,"secondary-darken-1":`#E1005F`,"secondary-darken-2":`#C9004E`,"secondary-darken-3":`#B1003D`,"secondary-lighten-1":`#FF4484`,"secondary-lighten-2":`#FF5D98`,"secondary-lighten-3":`#FF75AC`,"secondary-muted":`#66273A`,success:`#A5E22E`,"success-darken-1":`#90CC09`,"success-darken-2":`#7AB700`,"success-darken-3":`#64A300`,"success-lighten-1":`#BBF746`,"success-lighten-2":`#D2FF5D`,"success-lighten-3":`#E8FF72`,"success-muted":`#4D5F25`,surface:`#2E2E2E`,"surface-active":`#3B3B3B`,"surface-darken-1":`#1E1E1E`,"surface-darken-2":`#0D0D0D`,"surface-darken-3":`#000000`,"surface-lighten-1":`#3E3E3E`,"surface-lighten-2":`#4F4F4F`,"surface-lighten-3":`#616161`,text:`#FFFFFFDD`,"text-accent":`#9AE5F4`,"text-disabled":`#FFFFFF60`,"text-error":`#FB6FA1`,"text-muted":`#FFFFFF99`,"text-primary":`#C9ABFF`,"text-secondary":`#FB6FA1`,"text-success":`#C4EB75`,"text-warning":`#FDBA6B`,warning:`#FC971F`,"warning-darken-1":`#E58300`,"warning-darken-2":`#CD6F00`,"warning-darken-3":`#B65D00`,"warning-lighten-1":`#FFAB36`,"warning-lighten-2":`#FFBF4C`,"warning-lighten-3":`#FFD460`,"warning-muted":`#674921`}},nord:{name:`nord`,dark:!0,vars:{accent:`#B48EAD`,"accent-darken-1":`#9F7A98`,"accent-darken-2":`#8B6785`,"accent-darken-3":`#785572`,"accent-lighten-1":`#C8A1C1`,"accent-lighten-2":`#DDB6D6`,"accent-lighten-3":`#F3CAEB`,"accent-muted":`#564F60`,background:`#2E3440`,"background-darken-1":`#1E242F`,"background-darken-2":`#0E141F`,"background-darken-3":`#000010`,"background-lighten-1":`#3E4451`,"background-lighten-2":`#505663`,"background-lighten-3":`#626875`,"block-cursor-background":`#88C0D0`,"block-cursor-blurred-background":`#88C0D04C`,"block-cursor-blurred-foreground":`#D8DEE9`,"block-cursor-foreground":`#2E3440`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#88C0D0`,"border-blurred":`#353C4C`,"button-color-foreground":`#2E3440`,"button-foreground":`#D8DEE9`,error:`#BE616A`,"error-darken-1":`#A94D57`,"error-darken-2":`#933A46`,"error-darken-3":`#7E2735`,"error-lighten-1":`#D4747C`,"error-lighten-2":`#EB8890`,"error-lighten-3":`#FF9CA3`,"error-muted":`#59414C`,"footer-background":`#434C5E`,"footer-description-background":`#00000000`,"footer-description-foreground":`#D8DEE9`,"footer-foreground":`#D8DEE9`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#88C0D0`,foreground:`#D8DEE9`,"foreground-darken-1":`#C3C9D3`,"foreground-darken-2":`#AEB4BF`,"foreground-darken-3":`#9AA0AA`,"foreground-disabled":`#D8DEE960`,"foreground-lighten-1":`#EDF3FE`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#D8DEE999`,"input-cursor-background":`#D8DEE9`,"input-cursor-foreground":`#2E3440`,"input-selection-background":`#81A1C159`,"link-background":`#00000000`,"link-background-hover":`#88C0D0`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#88C0D0`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#88C0D0`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#88C0D0`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#D8DEE9`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#D8DEE9`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#D8DEE999`,panel:`#434C5E`,"panel-darken-1":`#313A4C`,"panel-darken-2":`#212A3A`,"panel-darken-3":`#111B2A`,"panel-lighten-1":`#545D70`,"panel-lighten-2":`#677083`,"panel-lighten-3":`#798396`,primary:`#88C0D0`,"primary-background":`#58646E`,"primary-background-darken-1":`#495661`,"primary-background-darken-2":`#3B4955`,"primary-background-darken-3":`#3B4955`,"primary-background-lighten-1":`#67717B`,"primary-background-lighten-2":`#757F88`,"primary-background-lighten-3":`#848D94`,"primary-darken-1":`#73ABBB`,"primary-darken-2":`#5F97A6`,"primary-darken-3":`#4B8393`,"primary-lighten-1":`#9CD4E5`,"primary-lighten-2":`#B1EAFA`,"primary-lighten-3":`#C6FFFF`,"primary-muted":`#495E6B`,scrollbar:`#48626F`,"scrollbar-active":`#88C0D0`,"scrollbar-background":`#1E242F`,"scrollbar-background-active":`#1E242F`,"scrollbar-background-hover":`#1E242F`,"scrollbar-corner-color":`#1E242F`,"scrollbar-hover":`#53727F`,secondary:`#81A1C1`,"secondary-background":`#57606C`,"secondary-background-darken-1":`#48525F`,"secondary-background-darken-2":`#3A4453`,"secondary-background-darken-3":`#3A4453`,"secondary-background-lighten-1":`#666E79`,"secondary-background-lighten-2":`#757C86`,"secondary-background-lighten-3":`#838A93`,"secondary-darken-1":`#6D8DAC`,"secondary-darken-2":`#597A98`,"secondary-darken-3":`#466784`,"secondary-lighten-1":`#95B5D5`,"secondary-lighten-2":`#A9C9EB`,"secondary-lighten-3":`#BEDEFF`,"secondary-muted":`#465466`,success:`#A3BE8C`,"success-darken-1":`#8FA978`,"success-darken-2":`#7B9565`,"success-darken-3":`#688253`,"success-lighten-1":`#B7D29F`,"success-lighten-2":`#CCE8B4`,"success-lighten-3":`#E1FDC8`,"success-muted":`#515D56`,surface:`#3B4252`,"surface-active":`#484F60`,"surface-darken-1":`#2A3140`,"surface-darken-2":`#1A212F`,"surface-darken-3":`#0A1120`,"surface-lighten-1":`#4C5364`,"surface-lighten-2":`#5E6576`,"surface-lighten-3":`#707889`,text:`#FFFFFFDD`,"text-accent":`#CDB4C8`,"text-disabled":`#FFFFFF60`,"text-error":`#D4969C`,"text-muted":`#FFFFFF99`,"text-primary":`#B0D5DF`,"text-secondary":`#ABC0D6`,"text-success":`#C2D4B3`,"text-warning":`#F1DCB2`,warning:`#EACB8B`,"warning-darken-1":`#D5B677`,"warning-darken-2":`#BFA264`,"warning-darken-3":`#AA8E51`,"warning-lighten-1":`#FFE09E`,"warning-lighten-2":`#FFF5B3`,"warning-lighten-3":`#FFFFC8`,"warning-muted":`#666156`}},"rose-pine":{name:`rose-pine`,dark:!0,vars:{accent:`#EBBCBA`,"accent-darken-1":`#D5A7A5`,"accent-darken-2":`#C09391`,"accent-darken-3":`#AB807E`,"accent-lighten-1":`#FFD0CE`,"accent-lighten-2":`#FFE5E3`,"accent-lighten-3":`#FFFBF9`,"accent-muted":`#584851`,background:`#191724`,"background-darken-1":`#060015`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#282634`,"background-lighten-2":`#383644`,"background-lighten-3":`#4A4756`,"block-cursor-background":`#C4A7E7`,"block-cursor-blurred-background":`#C4A7E74C`,"block-cursor-blurred-foreground":`#E0DEF4`,"block-cursor-foreground":`#191724`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#524F67`,"border-blurred":`#6E6A86`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#E0DEF4`,error:`#EA6F92`,"error-darken-1":`#D45A7E`,"error-darken-2":`#BE466B`,"error-darken-3":`#A83159`,"error-lighten-1":`#FF83A5`,"error-lighten-2":`#FF98BA`,"error-lighten-3":`#FFADCE`,"error-muted":`#583145`,"footer-background":`#26233A`,"footer-description-background":`#00000000`,"footer-description-foreground":`#E0DEF4`,"footer-foreground":`#E0DEF4`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#EBBCBA`,foreground:`#E0DEF4`,"foreground-darken-1":`#CAC9DE`,"foreground-darken-2":`#B6B4C9`,"foreground-darken-3":`#A2A0B4`,"foreground-disabled":`#E0DEF460`,"foreground-lighten-1":`#F5F3FF`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#E0DEF499`,"input-cursor-background":`#F4EDE8`,"input-cursor-foreground":`#191724`,"input-selection-background":`#403D52`,"link-background":`#00000000`,"link-background-hover":`#C4A7E7`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#C4A7E7`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#C4A7E7`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#C4A7E7`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#E0DEF4`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#E0DEF4`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#E0DEF499`,panel:`#26233A`,"panel-darken-1":`#161329`,"panel-darken-2":`#04001A`,"panel-darken-3":`#000008`,"panel-lighten-1":`#36324B`,"panel-lighten-2":`#47435D`,"panel-lighten-3":`#59556F`,primary:`#C4A7E7`,"primary-background":`#504B5D`,"primary-background-darken-1":`#413B4F`,"primary-background-darken-2":`#322C41`,"primary-background-darken-3":`#322C41`,"primary-background-lighten-1":`#605B6B`,"primary-background-lighten-2":`#6F6B7A`,"primary-background-lighten-3":`#7E7B88`,"primary-darken-1":`#AF93D1`,"primary-darken-2":`#9A7FBC`,"primary-darken-3":`#866CA8`,"primary-lighten-1":`#D9BBFC`,"primary-lighten-2":`#EED0FF`,"primary-lighten-3":`#FFE5FF`,"primary-muted":`#4C425E`,scrollbar:`#524269`,"scrollbar-active":`#C4A7E7`,"scrollbar-background":`#060015`,"scrollbar-background-active":`#060015`,"scrollbar-background-hover":`#060015`,"scrollbar-corner-color":`#060015`,"scrollbar-hover":`#65537E`,secondary:`#31748F`,"secondary-background":`#3E4452`,"secondary-background-darken-1":`#2D3443`,"secondary-background-darken-2":`#1C2434`,"secondary-background-darken-3":`#1C2434`,"secondary-background-lighten-1":`#4F5561`,"secondary-background-lighten-2":`#606570`,"secondary-background-lighten-3":`#717680`,"secondary-darken-1":`#17617B`,"secondary-darken-2":`#004F68`,"secondary-darken-3":`#003E56`,"secondary-lighten-1":`#4687A2`,"secondary-lighten-2":`#5B9AB7`,"secondary-lighten-3":`#70AECB`,"secondary-muted":`#203244`,success:`#9CCFD8`,"success-darken-1":`#87BAC3`,"success-darken-2":`#73A5AE`,"success-darken-3":`#60929A`,"success-lighten-1":`#B0E4ED`,"success-lighten-2":`#C5F9FF`,"success-lighten-3":`#DAFFFF`,"success-muted":`#404E5A`,surface:`#1F1D2E`,"surface-active":`#2B293B`,"surface-darken-1":`#100B1E`,"surface-darken-2":`#00000E`,"surface-darken-3":`#000000`,"surface-lighten-1":`#2F2C3E`,"surface-lighten-2":`#3F3D4F`,"surface-lighten-3":`#514E61`,text:`#FFFFFFDD`,"text-accent":`#F1D2D1`,"text-disabled":`#FFFFFF60`,"text-error":`#F19FB7`,"text-muted":`#FFFFFF99`,"text-primary":`#D8C4EF`,"text-secondary":`#77A3B5`,"text-success":`#BDDFE5`,"text-warning":`#F9D6A5`,warning:`#F5C177`,"warning-darken-1":`#DFAC63`,"warning-darken-2":`#C99850`,"warning-darken-3":`#B3853E`,"warning-lighten-1":`#FFD58A`,"warning-lighten-2":`#FFEB9E`,"warning-lighten-3":`#FFFFB3`,"warning-muted":`#5B4A3C`}},"rose-pine-dawn":{name:`rose-pine-dawn`,dark:!1,vars:{accent:`#D6827E`,"accent-darken-1":`#C16E6B`,"accent-darken-2":`#AB5B58`,"accent-darken-3":`#964847`,"accent-lighten-1":`#ED9591`,"accent-lighten-2":`#FFAAA5`,"accent-lighten-3":`#FFBEB9`,"accent-muted":`#EFD1CB`,background:`#FAF4ED`,"background-darken-1":`#E4DED7`,"background-darken-2":`#CFC9C2`,"background-darken-3":`#BAB5AE`,"background-lighten-1":`#FFFFFF`,"background-lighten-2":`#FFFFFF`,"background-lighten-3":`#FFFFFF`,"block-cursor-background":`#575279`,"block-cursor-blurred-background":`#907AA94C`,"block-cursor-blurred-foreground":`#575279`,"block-cursor-foreground":`#FAF4ED`,"block-hover-background":`#00000019`,boost:`#0000000A`,"boost-darken-1":`#0000000A`,"boost-darken-2":`#0000000A`,"boost-darken-3":`#0000000A`,"boost-lighten-1":`#1616160A`,"boost-lighten-2":`#2525250A`,"boost-lighten-3":`#3535350A`,border:`#CECACD`,"border-blurred":`#9893A5`,"button-color-foreground":`#000000DD`,"button-foreground":`#575279`,error:`#B4637A`,"error-darken-1":`#9E5067`,"error-darken-2":`#8A3D55`,"error-darken-3":`#752A43`,"error-lighten-1":`#C9768D`,"error-lighten-2":`#DF8AA0`,"error-lighten-3":`#F59EB5`,"error-muted":`#E5C8CA`,"footer-background":`#F2E9E1`,"footer-description-background":`#00000000`,"footer-description-foreground":`#575279`,"footer-foreground":`#575279`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#D7827E`,foreground:`#575279`,"foreground-darken-1":`#444066`,"foreground-darken-2":`#332F53`,"foreground-darken-3":`#222042`,"foreground-disabled":`#57527960`,"foreground-lighten-1":`#69648C`,"foreground-lighten-2":`#7C76A0`,"foreground-lighten-3":`#9089B4`,"foreground-muted":`#57527999`,"input-cursor-background":`#575279`,"input-cursor-foreground":`#FAF4ED`,"input-selection-background":`#DFDAD9`,"link-background":`#00000000`,"link-background-hover":`#907AA9`,"link-color":`#000000DD`,"link-color-hover":`#000000DD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#907AA9`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#907AA9`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#907AA9`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#575279`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#575279`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#57527999`,panel:`#F2E9E1`,"panel-darken-1":`#DCD3CB`,"panel-darken-2":`#C7BFB7`,"panel-darken-3":`#B3AAA3`,"panel-lighten-1":`#FFFEF6`,"panel-lighten-2":`#FFFFFF`,"panel-lighten-3":`#FFFFFF`,primary:`#907AA9`,"primary-background":`#907AA9`,"primary-background-darken-1":`#7C6795`,"primary-background-darken-2":`#695481`,"primary-background-darken-3":`#56436E`,"primary-background-lighten-1":`#A48DBD`,"primary-background-lighten-2":`#B8A1D2`,"primary-background-lighten-3":`#CDB5E7`,"primary-darken-1":`#7C6795`,"primary-darken-2":`#695481`,"primary-darken-3":`#56436E`,"primary-lighten-1":`#A48DBD`,"primary-lighten-2":`#B8A1D2`,"primary-lighten-3":`#CDB5E7`,"primary-muted":`#DACFD8`,scrollbar:`#C2B6C4`,"scrollbar-active":`#907AA9`,"scrollbar-background":`#E4DED7`,"scrollbar-background-active":`#E4DED7`,"scrollbar-background-hover":`#E4DED7`,"scrollbar-corner-color":`#E4DED7`,"scrollbar-hover":`#BAACC0`,secondary:`#286983`,"secondary-background":`#286983`,"secondary-background-darken-1":`#0A566F`,"secondary-background-darken-2":`#00455D`,"secondary-background-darken-3":`#00344B`,"secondary-background-lighten-1":`#3E7B96`,"secondary-background-lighten-2":`#538FAA`,"secondary-background-lighten-3":`#67A2BE`,"secondary-darken-1":`#0A566F`,"secondary-darken-2":`#00455D`,"secondary-darken-3":`#00344B`,"secondary-lighten-1":`#3E7B96`,"secondary-lighten-2":`#538FAA`,"secondary-lighten-3":`#67A2BE`,"secondary-muted":`#BBCACD`,success:`#56949F`,"success-darken-1":`#41808B`,"success-darken-2":`#2D6D78`,"success-darken-3":`#155B65`,"success-lighten-1":`#6AA7B3`,"success-lighten-2":`#7EBCC7`,"success-lighten-3":`#92D1DC`,"success-muted":`#C8D7D5`,surface:`#FFFAF3`,"surface-active":`#FFFFFF`,"surface-darken-1":`#E9E4DD`,"surface-darken-2":`#D4CFC8`,"surface-darken-3":`#BFBAB4`,"surface-lighten-1":`#FFFFFF`,"surface-lighten-2":`#FFFFFF`,"surface-lighten-3":`#FFFFFF`,text:`#000000DD`,"text-accent":`#8D5553`,"text-disabled":`#00000060`,"text-error":`#764150`,"text-muted":`#00000099`,"text-primary":`#5F506F`,"text-secondary":`#1A4556`,"text-success":`#386168`,"text-warning":`#9A6722`,warning:`#E99D34`,"warning-darken-1":`#D2891D`,"warning-darken-2":`#BC7600`,"warning-darken-3":`#A56300`,"warning-lighten-1":`#FFB148`,"warning-lighten-2":`#FFC55C`,"warning-lighten-3":`#FFDA70`,"warning-muted":`#F5D9B5`}},"rose-pine-moon":{name:`rose-pine-moon`,dark:!0,vars:{accent:`#EA9A97`,"accent-darken-1":`#D48683`,"accent-darken-2":`#BE7270`,"accent-darken-3":`#A95F5E`,"accent-lighten-1":`#FFAEAA`,"accent-lighten-2":`#FFC3BF`,"accent-lighten-3":`#FFD8D4`,"accent-muted":`#5E4553`,background:`#232136`,"background-darken-1":`#131125`,"background-darken-2":`#000017`,"background-darken-3":`#000001`,"background-lighten-1":`#333046`,"background-lighten-2":`#444158`,"background-lighten-3":`#56526A`,"block-cursor-background":`#C4A7E7`,"block-cursor-blurred-background":`#C4A7E74C`,"block-cursor-blurred-foreground":`#E0DEF4`,"block-cursor-foreground":`#232136`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#56526E`,"border-blurred":`#6E6A86`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#E0DEF4`,error:`#EA6F92`,"error-darken-1":`#D45A7E`,"error-darken-2":`#BE466B`,"error-darken-3":`#A83159`,"error-lighten-1":`#FF83A5`,"error-lighten-2":`#FF98BA`,"error-lighten-3":`#FFADCE`,"error-muted":`#5F3851`,"footer-background":`#393552`,"footer-description-background":`#00000000`,"footer-description-foreground":`#E0DEF4`,"footer-foreground":`#E0DEF4`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#EA9A97`,foreground:`#E0DEF4`,"foreground-darken-1":`#CAC9DE`,"foreground-darken-2":`#B6B4C9`,"foreground-darken-3":`#A2A0B4`,"foreground-disabled":`#E0DEF460`,"foreground-lighten-1":`#F5F3FF`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#E0DEF499`,"input-cursor-background":`#F4EDE8`,"input-cursor-foreground":`#232136`,"input-selection-background":`#44415A`,"link-background":`#00000000`,"link-background-hover":`#C4A7E7`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#C4A7E7`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#C4A7E7`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#C4A7E7`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#E0DEF4`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#E0DEF4`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#E0DEF499`,panel:`#393552`,"panel-darken-1":`#282440`,"panel-darken-2":`#17152F`,"panel-darken-3":`#080020`,"panel-lighten-1":`#4A4564`,"panel-lighten-2":`#5C5776`,"panel-lighten-3":`#6F6989`,primary:`#C4A7E7`,"primary-background":`#58536A`,"primary-background-darken-1":`#49445D`,"primary-background-darken-2":`#3B3550`,"primary-background-darken-3":`#3B3550`,"primary-background-lighten-1":`#676277`,"primary-background-lighten-2":`#757184`,"primary-background-lighten-3":`#848091`,"primary-darken-1":`#AF93D1`,"primary-darken-2":`#9A7FBC`,"primary-darken-3":`#866CA8`,"primary-lighten-1":`#D9BBFC`,"primary-lighten-2":`#EED0FF`,"primary-lighten-3":`#FFE5FF`,"primary-muted":`#53496B`,scrollbar:`#594D72`,"scrollbar-active":`#C4A7E7`,"scrollbar-background":`#131125`,"scrollbar-background-active":`#131125`,"scrollbar-background-hover":`#131125`,"scrollbar-corner-color":`#131125`,"scrollbar-hover":`#6B5C86`,secondary:`#3E8FB0`,"secondary-background":`#474F63`,"secondary-background-darken-1":`#374055`,"secondary-background-darken-2":`#273148`,"secondary-background-darken-3":`#273148`,"secondary-background-lighten-1":`#575F71`,"secondary-background-lighten-2":`#676E7E`,"secondary-background-lighten-3":`#787E8C`,"secondary-darken-1":`#237B9B`,"secondary-darken-2":`#006888`,"secondary-darken-3":`#005674`,"secondary-lighten-1":`#54A2C4`,"secondary-lighten-2":`#6AB7D9`,"secondary-lighten-3":`#80CBEE`,"secondary-muted":`#2B425A`,success:`#9CCFD8`,"success-darken-1":`#87BAC3`,"success-darken-2":`#73A5AE`,"success-darken-3":`#60929A`,"success-lighten-1":`#B0E4ED`,"success-lighten-2":`#C5F9FF`,"success-lighten-3":`#DAFFFF`,"success-muted":`#475566`,surface:`#2A273F`,"surface-active":`#37334C`,"surface-darken-1":`#19172E`,"surface-darken-2":`#0A021E`,"surface-darken-3":`#00000F`,"surface-lighten-1":`#3A3750`,"surface-lighten-2":`#4C4862`,"surface-lighten-3":`#5E5975`,text:`#FFFFFFDD`,"text-accent":`#F1BCBA`,"text-disabled":`#FFFFFF60`,"text-error":`#F19FB7`,"text-muted":`#FFFFFF99`,"text-primary":`#D8C4EF`,"text-secondary":`#7FB5CA`,"text-success":`#BDDFE5`,"text-warning":`#F9D6A5`,warning:`#F5C177`,"warning-darken-1":`#DFAC63`,"warning-darken-2":`#C99850`,"warning-darken-3":`#B3853E`,"warning-lighten-1":`#FFD58A`,"warning-lighten-2":`#FFEB9E`,"warning-lighten-3":`#FFFFB3`,"warning-muted":`#625149`}},"solarized-dark":{name:`solarized-dark`,dark:!0,vars:{accent:`#6C71C4`,"accent-darken-1":`#575EAF`,"accent-darken-2":`#424C9A`,"accent-darken-3":`#2D3B87`,"accent-lighten-1":`#8083D9`,"accent-lighten-2":`#9597EE`,"accent-lighten-3":`#AAABFF`,"accent-muted":`#204060`,background:`#002B36`,"background-darken-1":`#001B25`,"background-darken-2":`#000A17`,"background-darken-3":`#000000`,"background-lighten-1":`#143B46`,"background-lighten-2":`#274C58`,"background-lighten-3":`#3A5E6A`,"block-cursor-background":`#268BD2`,"block-cursor-blurred-background":`#268BD24C`,"block-cursor-blurred-foreground":`#839496`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#268BD2`,"border-blurred":`#00303C`,"button-color-foreground":`#FDF6E3`,"button-foreground":`#839496`,error:`#DB322F`,"error-darken-1":`#C3121E`,"error-darken-2":`#AB000D`,"error-darken-3":`#940000`,"error-lighten-1":`#F44940`,"error-lighten-2":`#FF6052`,"error-lighten-3":`#FF7564`,"error-muted":`#422D33`,"footer-background":`#268BD2`,"footer-description-background":`#00000000`,"footer-description-foreground":`#FDF6E3`,"footer-foreground":`#839496`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FDF6E3`,foreground:`#839496`,"foreground-darken-1":`#6F8082`,"foreground-darken-2":`#5D6D6F`,"foreground-darken-3":`#4B5B5D`,"foreground-disabled":`#83949660`,"foreground-lighten-1":`#96A7A9`,"foreground-lighten-2":`#AABCBE`,"foreground-lighten-3":`#BED0D3`,"foreground-muted":`#83949699`,"input-cursor-background":`#839496`,"input-cursor-foreground":`#002B36`,"input-selection-background":`#073642`,"link-background":`#00000000`,"link-background-hover":`#268BD2`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#268BD2`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#268BD2`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#268BD2`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#839496`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#839496`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#83949699`,panel:`#073642`,"panel-darken-1":`#002531`,"panel-darken-2":`#001721`,"panel-darken-3":`#000112`,"panel-lighten-1":`#1D4653`,"panel-lighten-2":`#305865`,"panel-lighten-3":`#436A78`,primary:`#268BD2`,"primary-background":`#2A5667`,"primary-background-darken-1":`#17475A`,"primary-background-darken-2":`#05394D`,"primary-background-darken-3":`#05394D`,"primary-background-lighten-1":`#3D6575`,"primary-background-lighten-2":`#507482`,"primary-background-lighten-3":`#62838F`,"primary-darken-1":`#0077BD`,"primary-darken-2":`#0065A8`,"primary-darken-3":`#005394`,"primary-lighten-1":`#459EE7`,"primary-lighten-2":`#5FB2FD`,"primary-lighten-3":`#77C7FF`,"primary-muted":`#0B4764`,scrollbar:`#0F476A`,"scrollbar-active":`#268BD2`,"scrollbar-background":`#001B25`,"scrollbar-background-active":`#001B25`,"scrollbar-background-hover":`#001B25`,"scrollbar-corner-color":`#001B25`,"scrollbar-hover":`#13537B`,secondary:`#2AA198`,"secondary-background":`#2B5960`,"secondary-background-darken-1":`#184A52`,"secondary-background-darken-2":`#063C44`,"secondary-background-darken-3":`#063C44`,"secondary-background-lighten-1":`#3E676E`,"secondary-background-lighten-2":`#50767C`,"secondary-background-lighten-3":`#63858A`,"secondary-darken-1":`#008C84`,"secondary-darken-2":`#007971`,"secondary-darken-3":`#00665F`,"secondary-lighten-1":`#44B5AB`,"secondary-lighten-2":`#5BCAC0`,"secondary-lighten-3":`#72DFD5`,"secondary-muted":`#0C4E53`,success:`#849900`,"success-darken-1":`#708500`,"success-darken-2":`#5B7200`,"success-darken-3":`#485F00`,"success-lighten-1":`#99AC22`,"success-lighten-2":`#AFC139`,"success-lighten-3":`#C4D64E`,"success-muted":`#274C25`,surface:`#073642`,"surface-active":`#19434F`,"surface-darken-1":`#002531`,"surface-darken-2":`#001721`,"surface-darken-3":`#000112`,"surface-lighten-1":`#1D4653`,"surface-lighten-2":`#305865`,"surface-lighten-3":`#436A78`,text:`#FFFFFFDD`,"text-accent":`#9DA1D8`,"text-disabled":`#FFFFFF60`,"text-error":`#E77775`,"text-muted":`#FFFFFF99`,"text-primary":`#6FB2E1`,"text-secondary":`#72C0BB`,"text-success":`#AEBB56`,"text-warning":`#DC8865`,warning:`#CA4B16`,"warning-darken-1":`#B33600`,"warning-darken-2":`#9C2000`,"warning-darken-3":`#850100`,"warning-lighten-1":`#E25F29`,"warning-lighten-2":`#FA733C`,"warning-lighten-3":`#FF874E`,"warning-muted":`#3C342C`}},"solarized-light":{name:`solarized-light`,dark:!1,vars:{accent:`#6C71C4`,"accent-darken-1":`#575EAF`,"accent-darken-2":`#424C9A`,"accent-darken-3":`#2D3B87`,"accent-lighten-1":`#8083D9`,"accent-lighten-2":`#9597EE`,"accent-lighten-3":`#AAABFF`,"accent-muted":`#D1CED9`,background:`#FDF6E3`,"background-darken-1":`#E7E0CD`,"background-darken-2":`#D2CBB9`,"background-darken-3":`#BDB6A4`,"background-lighten-1":`#FFFFF8`,"background-lighten-2":`#FFFFFF`,"background-lighten-3":`#FFFFFF`,"block-cursor-background":`#268BD2`,"block-cursor-blurred-background":`#268BD24C`,"block-cursor-blurred-foreground":`#586E75`,"block-cursor-foreground":`#000000DD`,"block-hover-background":`#00000019`,boost:`#0000000A`,"boost-darken-1":`#0000000A`,"boost-darken-2":`#0000000A`,"boost-darken-3":`#0000000A`,"boost-lighten-1":`#1616160A`,"boost-lighten-2":`#2525250A`,"boost-lighten-3":`#3535350A`,border:`#268BD2`,"border-blurred":`#E6E0CE`,"button-color-foreground":`#FDF6E3`,"button-foreground":`#586E75`,error:`#DB322F`,"error-darken-1":`#C3121E`,"error-darken-2":`#AB000D`,"error-darken-3":`#940000`,"error-lighten-1":`#F44940`,"error-lighten-2":`#FF6052`,"error-lighten-3":`#FF7564`,"error-muted":`#F3BBAD`,"footer-background":`#268BD2`,"footer-description-background":`#00000000`,"footer-description-foreground":`#FDF6E3`,"footer-foreground":`#586E75`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FDF6E3`,foreground:`#586E75`,"foreground-darken-1":`#465B62`,"foreground-darken-2":`#344950`,"foreground-darken-3":`#23383F`,"foreground-disabled":`#586E7560`,"foreground-lighten-1":`#6A8088`,"foreground-lighten-2":`#7D949B`,"foreground-lighten-3":`#91A8AF`,"foreground-muted":`#586E7599`,"input-cursor-background":`#586E75`,"input-cursor-foreground":`#FDF6E3`,"input-selection-background":`#459EE766`,"link-background":`#00000000`,"link-background-hover":`#268BD2`,"link-color":`#000000DD`,"link-color-hover":`#000000DD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#268BD2`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#268BD2`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#268BD2`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#586E75`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#586E75`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#586E7599`,panel:`#EEE8D5`,"panel-darken-1":`#D8D2C0`,"panel-darken-2":`#C3BEAB`,"panel-darken-3":`#AFA997`,"panel-lighten-1":`#FFFDEA`,"panel-lighten-2":`#FFFFFF`,"panel-lighten-3":`#FFFFFF`,primary:`#268BD2`,"primary-background":`#268BD2`,"primary-background-darken-1":`#0077BD`,"primary-background-darken-2":`#0065A8`,"primary-background-darken-3":`#005394`,"primary-background-lighten-1":`#459EE7`,"primary-background-lighten-2":`#5FB2FD`,"primary-background-lighten-3":`#77C7FF`,"primary-darken-1":`#0077BD`,"primary-darken-2":`#0065A8`,"primary-darken-3":`#005394`,"primary-lighten-1":`#459EE7`,"primary-lighten-2":`#5FB2FD`,"primary-lighten-3":`#77C7FF`,"primary-muted":`#BCD5DD`,scrollbar:`#99BECF`,"scrollbar-active":`#268BD2`,"scrollbar-background":`#E7E0CD`,"scrollbar-background-active":`#E7E0CD`,"scrollbar-background-hover":`#E7E0CD`,"scrollbar-corner-color":`#E7E0CD`,"scrollbar-hover":`#86B5CF`,secondary:`#2AA198`,"secondary-background":`#2AA198`,"secondary-background-darken-1":`#008C84`,"secondary-background-darken-2":`#007971`,"secondary-background-darken-3":`#00665F`,"secondary-background-lighten-1":`#44B5AB`,"secondary-background-lighten-2":`#5BCAC0`,"secondary-background-lighten-3":`#72DFD5`,"secondary-darken-1":`#008C84`,"secondary-darken-2":`#007971`,"secondary-darken-3":`#00665F`,"secondary-lighten-1":`#44B5AB`,"secondary-lighten-2":`#5BCAC0`,"secondary-lighten-3":`#72DFD5`,"secondary-muted":`#BDDCCC`,success:`#849900`,"success-darken-1":`#708500`,"success-darken-2":`#5B7200`,"success-darken-3":`#485F00`,"success-lighten-1":`#99AC22`,"success-lighten-2":`#AFC139`,"success-lighten-3":`#C4D64E`,"success-muted":`#D9DA9E`,surface:`#EEE8D5`,"surface-active":`#FFF9E5`,"surface-darken-1":`#D8D2C0`,"surface-darken-2":`#C3BEAB`,"surface-darken-3":`#AFA997`,"surface-lighten-1":`#FFFDEA`,"surface-lighten-2":`#FFFFFF`,"surface-lighten-3":`#FFFFFF`,text:`#000000DD`,"text-accent":`#474A81`,"text-disabled":`#00000060`,"text-error":`#91211F`,"text-muted":`#00000099`,"text-primary":`#195B8A`,"text-secondary":`#1B6A64`,"text-success":`#576400`,"text-warning":`#85310E`,warning:`#CA4B16`,"warning-darken-1":`#B33600`,"warning-darken-2":`#9C2000`,"warning-darken-3":`#850100`,"warning-lighten-1":`#E25F29`,"warning-lighten-2":`#FA733C`,"warning-lighten-3":`#FF874E`,"warning-muted":`#EEC2A5`}},"svg-export":{name:`svg-export`,dark:!0,vars:{accent:`#56B6C2`,"accent-darken-1":`#3EA1AD`,"accent-darken-2":`#238D99`,"accent-darken-3":`#007A85`,"accent-lighten-1":`#6CCAD6`,"accent-lighten-2":`#81DFEC`,"accent-lighten-3":`#97F5FF`,"accent-muted":`#365356`,background:`#292929`,"background-darken-1":`#191919`,"background-darken-2":`#050505`,"background-darken-3":`#000000`,"background-lighten-1":`#393939`,"background-lighten-2":`#4A4A4A`,"background-lighten-3":`#5C5C5C`,"block-cursor-background":`#61AFEF`,"block-cursor-blurred-background":`#61AFEF4C`,"block-cursor-blurred-foreground":`#C5C8C6`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#61AFEF`,"border-blurred":`#191919`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#C5C8C6`,error:`#CB555A`,"error-darken-1":`#B54048`,"error-darken-2":`#9F2C37`,"error-darken-3":`#891427`,"error-lighten-1":`#E2686C`,"error-lighten-2":`#F97D7F`,"error-lighten-3":`#FF9192`,"error-muted":`#593637`,"footer-background":`#2C343A`,"footer-description-background":`#00000000`,"footer-description-foreground":`#C5C8C6`,"footer-foreground":`#C5C8C6`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#56B6C2`,foreground:`#C5C8C6`,"foreground-darken-1":`#B0B3B1`,"foreground-darken-2":`#9C9F9D`,"foreground-darken-3":`#888B89`,"foreground-disabled":`#C5C8C660`,"foreground-lighten-1":`#D9DCDA`,"foreground-lighten-2":`#EFF2F0`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#C5C8C699`,"input-cursor-background":`#C5C8C6`,"input-cursor-foreground":`#292929`,"input-selection-background":`#77C3FF66`,"link-background":`#00000000`,"link-background-hover":`#61AFEF`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#61AFEF`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#61AFEF`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#61AFEF`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#C5C8C6`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#C5C8C6`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#C5C8C699`,panel:`#2C343A`,"panel-darken-1":`#1C2429`,"panel-darken-2":`#0C141A`,"panel-darken-3":`#000007`,"panel-lighten-1":`#3C444B`,"panel-lighten-2":`#4D565C`,"panel-lighten-3":`#5F686F`,primary:`#61AFEF`,"primary-background":`#4F5A61`,"primary-background-darken-1":`#404B53`,"primary-background-darken-2":`#313D46`,"primary-background-darken-3":`#313D46`,"primary-background-lighten-1":`#5F686F`,"primary-background-lighten-2":`#6E777D`,"primary-background-lighten-3":`#7E858B`,"primary-darken-1":`#489BD9`,"primary-darken-2":`#2C87C4`,"primary-darken-3":`#0074AF`,"primary-lighten-1":`#77C3FF`,"primary-lighten-2":`#8ED8FF`,"primary-lighten-3":`#A4EDFF`,"primary-muted":`#395164`,scrollbar:`#35556E`,"scrollbar-active":`#61AFEF`,"scrollbar-background":`#191919`,"scrollbar-background-active":`#191919`,"scrollbar-background-hover":`#191919`,"scrollbar-corner-color":`#191919`,"scrollbar-hover":`#3D6484`,secondary:`#C678DD`,"secondary-background":`#5C5260`,"secondary-background-darken-1":`#4E4352`,"secondary-background-darken-2":`#403444`,"secondary-background-darken-3":`#403444`,"secondary-background-lighten-1":`#6A616E`,"secondary-background-lighten-2":`#79707C`,"secondary-background-lighten-3":`#87808A`,"secondary-darken-1":`#B064C7`,"secondary-darken-2":`#9B50B3`,"secondary-darken-3":`#873D9E`,"secondary-lighten-1":`#DB8CF2`,"secondary-lighten-2":`#F1A0FF`,"secondary-lighten-3":`#FFB5FF`,"secondary-muted":`#58405F`,success:`#98C379`,"success-darken-1":`#83AE65`,"success-darken-2":`#709A53`,"success-darken-3":`#5C8641`,"success-lighten-1":`#ACD78C`,"success-lighten-2":`#C1EDA0`,"success-lighten-3":`#D6FFB4`,"success-muted":`#4A5741`,surface:`#1E1E1E`,"surface-active":`#2A2A2A`,"surface-darken-1":`#0D0D0D`,"surface-darken-2":`#000000`,"surface-darken-3":`#000000`,"surface-lighten-1":`#2D2D2D`,"surface-lighten-2":`#3E3E3E`,"surface-lighten-3":`#4F4F4F`,text:`#FFFFFFDD`,"text-accent":`#8FCED6`,"text-disabled":`#FFFFFF60`,"text-error":`#DD8E92`,"text-muted":`#FFFFFF99`,"text-primary":`#96CAF4`,"text-secondary":`#D9A5E8`,"text-success":`#BBD7A6`,"text-warning":`#EDD5A7`,warning:`#E4C07B`,"warning-darken-1":`#CFAB67`,"warning-darken-2":`#B99754`,"warning-darken-3":`#A48442`,"warning-lighten-1":`#FBD48E`,"warning-lighten-2":`#FFE9A2`,"warning-lighten-3":`#FFFFB7`,"warning-muted":`#615641`}},"textual-ansi":{name:`textual-ansi`,dark:!0,vars:{accent:`#0000FF`,"accent-darken-1":`#0000FF`,"accent-darken-2":`#0000FF`,"accent-darken-3":`#0000FF`,"accent-lighten-1":`#0000FF`,"accent-lighten-2":`#0000FF`,"accent-lighten-3":`#0000FF`,"accent-muted":`#0178D4`,background:`#121212`,"background-darken-1":`#121212`,"background-darken-2":`#121212`,"background-darken-3":`#121212`,"background-lighten-1":`#121212`,"background-lighten-2":`#121212`,"background-lighten-3":`#121212`,"block-cursor-background":`#000080`,"block-cursor-blurred-background":`#0000804C`,"block-cursor-blurred-foreground":`#E0E0E0`,"block-cursor-foreground":`#E0E0E0`,"block-hover-background":`#00000019`,boost:`#0178D4`,"boost-darken-1":`#0178D4`,"boost-darken-2":`#0178D4`,"boost-darken-3":`#0178D4`,"boost-lighten-1":`#0178D4`,"boost-lighten-2":`#0178D4`,"boost-lighten-3":`#0178D4`,border:`#0000FF`,"border-blurred":`#000080`,"button-color-foreground":`#E0E0E0`,"button-foreground":`#E0E0E0`,error:`#800000`,"error-darken-1":`#800000`,"error-darken-2":`#800000`,"error-darken-3":`#800000`,"error-lighten-1":`#800000`,"error-lighten-2":`#800000`,"error-lighten-3":`#800000`,"error-muted":`#0178D4`,"footer-background":`#121212`,"footer-description-background":`#00000000`,"footer-description-foreground":`#E0E0E0`,"footer-foreground":`#E0E0E0`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#0000FF`,foreground:`#E0E0E0`,"foreground-darken-1":`#E0E0E0`,"foreground-darken-2":`#E0E0E0`,"foreground-darken-3":`#E0E0E0`,"foreground-disabled":`#00000060`,"foreground-lighten-1":`#E0E0E0`,"foreground-lighten-2":`#E0E0E0`,"foreground-lighten-3":`#E0E0E0`,"foreground-muted":`#00000099`,"input-cursor-background":`#121212`,"input-cursor-foreground":`#E0E0E0`,"input-selection-background":`#000080`,"link-background":`#00000000`,"link-background-hover":`#000080`,"link-color":`#E0E0E0`,"link-color-hover":`#0178D4`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#000080`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#000080`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#000080`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#E0E0E0`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#E0E0E0`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#00000099`,panel:`#121212`,"panel-darken-1":`#121212`,"panel-darken-2":`#121212`,"panel-darken-3":`#121212`,"panel-lighten-1":`#121212`,"panel-lighten-2":`#121212`,"panel-lighten-3":`#121212`,primary:`#000080`,"primary-background":`#000080`,"primary-background-darken-1":`#000080`,"primary-background-darken-2":`#000080`,"primary-background-darken-3":`#000080`,"primary-background-lighten-1":`#000080`,"primary-background-lighten-2":`#000080`,"primary-background-lighten-3":`#000080`,"primary-darken-1":`#000080`,"primary-darken-2":`#000080`,"primary-darken-3":`#000080`,"primary-lighten-1":`#000080`,"primary-lighten-2":`#000080`,"primary-lighten-3":`#000080`,"primary-muted":`#0178D4`,scrollbar:`#000080`,"scrollbar-active":`#000080`,"scrollbar-background":`#121212`,"scrollbar-background-active":`#121212`,"scrollbar-background-hover":`#121212`,"scrollbar-corner-color":`#E0E0E0`,"scrollbar-hover":`#000040`,secondary:`#008080`,"secondary-background":`#008080`,"secondary-background-darken-1":`#008080`,"secondary-background-darken-2":`#008080`,"secondary-background-darken-3":`#008080`,"secondary-background-lighten-1":`#008080`,"secondary-background-lighten-2":`#008080`,"secondary-background-lighten-3":`#008080`,"secondary-darken-1":`#008080`,"secondary-darken-2":`#008080`,"secondary-darken-3":`#008080`,"secondary-lighten-1":`#008080`,"secondary-lighten-2":`#008080`,"secondary-lighten-3":`#008080`,"secondary-muted":`#0178D4`,success:`#008000`,"success-darken-1":`#008000`,"success-darken-2":`#008000`,"success-darken-3":`#008000`,"success-lighten-1":`#008000`,"success-lighten-2":`#008000`,"success-lighten-3":`#008000`,"success-muted":`#0178D4`,surface:`#121212`,"surface-active":`#131313`,"surface-darken-1":`#121212`,"surface-darken-2":`#121212`,"surface-darken-3":`#121212`,"surface-lighten-1":`#121212`,"surface-lighten-2":`#121212`,"surface-lighten-3":`#121212`,text:`#E0E0E0`,"text-accent":`#5656FF`,"text-disabled":`#E0E0E0`,"text-error":`#AB5656`,"text-muted":`#E0E0E0`,"text-primary":`#5656AB`,"text-secondary":`#56ABAB`,"text-success":`#56AB56`,"text-warning":`#ABAB56`,warning:`#808000`,"warning-darken-1":`#808000`,"warning-darken-2":`#808000`,"warning-darken-3":`#808000`,"warning-lighten-1":`#808000`,"warning-lighten-2":`#808000`,"warning-lighten-3":`#808000`,"warning-muted":`#0178D4`}},"textual-dark":{name:`textual-dark`,dark:!0,vars:{accent:`#FEA62B`,"accent-darken-1":`#E7920D`,"accent-darken-2":`#CF7E00`,"accent-darken-3":`#B86B00`,"accent-lighten-1":`#FFBA41`,"accent-lighten-2":`#FFCF56`,"accent-lighten-3":`#FFE46B`,"accent-muted":`#593E19`,background:`#121212`,"background-darken-1":`#000000`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#212121`,"background-lighten-2":`#313131`,"background-lighten-3":`#414141`,"block-cursor-background":`#0178D4`,"block-cursor-blurred-background":`#0178D44C`,"block-cursor-blurred-foreground":`#E0E0E0`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#0178D4`,"border-blurred":`#191919`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#E0E0E0`,error:`#B93C5B`,"error-darken-1":`#A32549`,"error-darken-2":`#8D0638`,"error-darken-3":`#780028`,"error-lighten-1":`#D0506D`,"error-lighten-2":`#E76580`,"error-lighten-3":`#FE7993`,"error-muted":`#441E27`,"footer-background":`#242F38`,"footer-description-background":`#00000000`,"footer-description-foreground":`#E0E0E0`,"footer-foreground":`#E0E0E0`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FFA62B`,foreground:`#E0E0E0`,"foreground-darken-1":`#CACACA`,"foreground-darken-2":`#B6B6B6`,"foreground-darken-3":`#A2A2A2`,"foreground-disabled":`#E0E0E060`,"foreground-lighten-1":`#F5F5F5`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#E0E0E099`,"input-cursor-background":`#E0E0E0`,"input-cursor-foreground":`#121212`,"input-selection-background":`#368AE966`,"link-background":`#00000000`,"link-background-hover":`#0178D4`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#0178D4`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#0178D4`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#0178D4`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#E0E0E0`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#E0E0E0`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#E0E0E099`,panel:`#242F38`,"panel-darken-1":`#141F27`,"panel-darken-2":`#000F18`,"panel-darken-3":`#000003`,"panel-lighten-1":`#343F49`,"panel-lighten-2":`#45505A`,"panel-lighten-3":`#57626D`,primary:`#0178D4`,"primary-background":`#33424E`,"primary-background-darken-1":`#21313E`,"primary-background-darken-2":`#0F212F`,"primary-background-darken-3":`#0F212F`,"primary-background-lighten-1":`#45525D`,"primary-background-lighten-2":`#57636D`,"primary-background-lighten-3":`#69747D`,"primary-darken-1":`#0065BE`,"primary-darken-2":`#0053AA`,"primary-darken-3":`#004295`,"primary-lighten-1":`#368AE9`,"primary-lighten-2":`#539EFF`,"primary-lighten-3":`#6DB2FF`,"primary-muted":`#0C304C`,scrollbar:`#003054`,"scrollbar-active":`#0178D4`,"scrollbar-background":`#000000`,"scrollbar-background-active":`#000000`,"scrollbar-background-hover":`#000000`,"scrollbar-corner-color":`#000000`,"scrollbar-hover":`#003C6A`,secondary:`#004578`,"secondary-background":`#333B42`,"secondary-background-darken-1":`#212A31`,"secondary-background-darken-2":`#0F1921`,"secondary-background-darken-3":`#0F1921`,"secondary-background-lighten-1":`#454C52`,"secondary-background-lighten-2":`#575E63`,"secondary-background-lighten-3":`#696F74`,"secondary-darken-1":`#003465`,"secondary-darken-2":`#002452`,"secondary-darken-3":`#001541`,"secondary-lighten-1":`#23568B`,"secondary-lighten-2":`#3B689F`,"secondary-lighten-3":`#507BB3`,"secondary-muted":`#0C2130`,success:`#4EBF71`,"success-darken-1":`#36AA5E`,"success-darken-2":`#18954B`,"success-darken-3":`#008139`,"success-lighten-1":`#64D484`,"success-lighten-2":`#7AE998`,"success-lighten-3":`#8FFFAC`,"success-muted":`#24452E`,surface:`#1E1E1E`,"surface-active":`#2A2A2A`,"surface-darken-1":`#0D0D0D`,"surface-darken-2":`#000000`,"surface-darken-3":`#000000`,"surface-lighten-1":`#2D2D2D`,"surface-lighten-2":`#3E3E3E`,"surface-lighten-3":`#4F4F4F`,text:`#FFFFFFDD`,"text-accent":`#FFC473`,"text-disabled":`#FFFFFF60`,"text-error":`#D17E92`,"text-muted":`#FFFFFF99`,"text-primary":`#57A5E2`,"text-secondary":`#5684A5`,"text-success":`#8AD4A1`,"text-warning":`#FFC473`,warning:`#FEA62B`,"warning-darken-1":`#E7920D`,"warning-darken-2":`#CF7E00`,"warning-darken-3":`#B86B00`,"warning-lighten-1":`#FFBA41`,"warning-lighten-2":`#FFCF56`,"warning-lighten-3":`#FFE46B`,"warning-muted":`#593E19`}},"textual-light":{name:`textual-light`,dark:!1,vars:{accent:`#FEA62B`,"accent-darken-1":`#E7920D`,"accent-darken-2":`#CF7E00`,"accent-darken-3":`#B86B00`,"accent-lighten-1":`#FFBA41`,"accent-lighten-2":`#FFCF56`,"accent-lighten-3":`#FFE46B`,"accent-muted":`#E9CEA9`,background:`#E0E0E0`,"background-darken-1":`#CACACA`,"background-darken-2":`#B6B6B6`,"background-darken-3":`#A2A2A2`,"background-lighten-1":`#F5F5F5`,"background-lighten-2":`#FFFFFF`,"background-lighten-3":`#FFFFFF`,"block-cursor-background":`#004578`,"block-cursor-blurred-background":`#0045784C`,"block-cursor-blurred-foreground":`#1F1F1F`,"block-cursor-foreground":`#000000DD`,"block-hover-background":`#00000019`,boost:`#0000000A`,"boost-darken-1":`#0000000A`,"boost-darken-2":`#0000000A`,"boost-darken-3":`#0000000A`,"boost-lighten-1":`#1616160A`,"boost-lighten-2":`#2525250A`,"boost-lighten-3":`#3535350A`,border:`#004578`,"border-blurred":`#D0D1D0`,"button-color-foreground":`#000000DD`,"button-foreground":`#1F1F1F`,error:`#B93C5B`,"error-darken-1":`#A32549`,"error-darken-2":`#8D0638`,"error-darken-3":`#780028`,"error-lighten-1":`#D0506D`,"error-lighten-2":`#E76580`,"error-lighten-3":`#FE7993`,"error-muted":`#D4AEB8`,"footer-background":`#D0D0D0`,"footer-description-background":`#00000000`,"footer-description-foreground":`#1F1F1F`,"footer-foreground":`#1F1F1F`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#0178D4`,foreground:`#1F1F1F`,"foreground-darken-1":`#0E0E0E`,"foreground-darken-2":`#000000`,"foreground-darken-3":`#000000`,"foreground-disabled":`#1F1F1F60`,"foreground-lighten-1":`#2E2E2E`,"foreground-lighten-2":`#3F3F3F`,"foreground-lighten-3":`#505050`,"foreground-muted":`#1F1F1F99`,"input-cursor-background":`#1F1F1F`,"input-cursor-foreground":`#E0E0E0`,"input-selection-background":`#23568B66`,"link-background":`#00000000`,"link-background-hover":`#004578`,"link-color":`#000000DD`,"link-color-hover":`#000000DD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#004578`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#004578`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#004578`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#1F1F1F`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#1F1F1F`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#1F1F1F99`,panel:`#D0D0D0`,"panel-darken-1":`#BBBBBB`,"panel-darken-2":`#A6A6A6`,"panel-darken-3":`#939393`,"panel-lighten-1":`#E5E5E5`,"panel-lighten-2":`#FAFAFA`,"panel-lighten-3":`#FFFFFF`,primary:`#004578`,"primary-background":`#004578`,"primary-background-darken-1":`#003465`,"primary-background-darken-2":`#002452`,"primary-background-darken-3":`#001541`,"primary-background-lighten-1":`#23568B`,"primary-background-lighten-2":`#3B689F`,"primary-background-lighten-3":`#507BB3`,"primary-darken-1":`#003465`,"primary-darken-2":`#002452`,"primary-darken-3":`#001541`,"primary-lighten-1":`#23568B`,"primary-lighten-2":`#3B689F`,"primary-lighten-3":`#507BB3`,"primary-muted":`#9CB1C0`,scrollbar:`#7994A9`,"scrollbar-active":`#004578`,"scrollbar-background":`#CACACA`,"scrollbar-background-active":`#CACACA`,"scrollbar-background-hover":`#CACACA`,"scrollbar-corner-color":`#CACACA`,"scrollbar-hover":`#6587A1`,secondary:`#0178D4`,"secondary-background":`#0178D4`,"secondary-background-darken-1":`#0065BE`,"secondary-background-darken-2":`#0053AA`,"secondary-background-darken-3":`#004295`,"secondary-background-lighten-1":`#368AE9`,"secondary-background-lighten-2":`#539EFF`,"secondary-background-lighten-3":`#6DB2FF`,"secondary-darken-1":`#0065BE`,"secondary-darken-2":`#0053AA`,"secondary-darken-3":`#004295`,"secondary-lighten-1":`#368AE9`,"secondary-lighten-2":`#539EFF`,"secondary-lighten-3":`#6DB2FF`,"secondary-muted":`#9DC0DC`,success:`#4EBF71`,"success-darken-1":`#36AA5E`,"success-darken-2":`#18954B`,"success-darken-3":`#008139`,"success-lighten-1":`#64D484`,"success-lighten-2":`#7AE998`,"success-lighten-3":`#8FFFAC`,"success-muted":`#B4D6BE`,surface:`#D8D8D8`,"surface-active":`#E8E8E8`,"surface-darken-1":`#C3C3C3`,"surface-darken-2":`#AEAEAE`,"surface-darken-3":`#9A9A9A`,"surface-lighten-1":`#EDEDED`,"surface-lighten-2":`#FFFFFF`,"surface-lighten-3":`#FFFFFF`,text:`#000000DD`,"text-accent":`#A86D1C`,"text-disabled":`#00000060`,"text-error":`#7A273C`,"text-muted":`#00000099`,"text-primary":`#002D4F`,"text-secondary":`#004F8B`,"text-success":`#337E4A`,"text-warning":`#A86D1C`,warning:`#FEA62B`,"warning-darken-1":`#E7920D`,"warning-darken-2":`#CF7E00`,"warning-darken-3":`#B86B00`,"warning-lighten-1":`#FFBA41`,"warning-lighten-2":`#FFCF56`,"warning-lighten-3":`#FFE46B`,"warning-muted":`#E9CEA9`}},"tokyo-night":{name:`tokyo-night`,dark:!0,vars:{accent:`#FE9E64`,"accent-darken-1":`#E78A51`,"accent-darken-2":`#D0763E`,"accent-darken-3":`#BA632C`,"accent-lighten-1":`#FFB277`,"accent-lighten-2":`#FFC78A`,"accent-lighten-3":`#FFDC9E`,"accent-muted":`#5E4238`,background:`#1A1B26`,"background-darken-1":`#070817`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#292A36`,"background-lighten-2":`#3A3A47`,"background-lighten-3":`#4B4B58`,"block-cursor-background":`#BB9AF7`,"block-cursor-blurred-background":`#BB9AF74C`,"block-cursor-blurred-foreground":`#A9B1D6`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#BB9AF7`,"border-blurred":`#1E2235`,"button-color-foreground":`#24283B`,"button-foreground":`#A9B1D6`,error:`#F6768E`,"error-darken-1":`#E0617A`,"error-darken-2":`#C94D68`,"error-darken-3":`#B33856`,"error-lighten-1":`#FF8AA1`,"error-lighten-2":`#FF9FB5`,"error-lighten-3":`#FFB4CA`,"error-muted":`#5C3645`,"footer-background":`#414868`,"footer-description-background":`#00000000`,"footer-description-foreground":`#A9B1D6`,"footer-foreground":`#A9B1D6`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FF9E64`,foreground:`#A9B1D6`,"foreground-darken-1":`#949CC1`,"foreground-darken-2":`#8189AC`,"foreground-darken-3":`#6D7698`,"foreground-disabled":`#A9B1D660`,"foreground-lighten-1":`#BDC5EB`,"foreground-lighten-2":`#D2DAFF`,"foreground-lighten-3":`#E7EFFF`,"foreground-muted":`#A9B1D699`,"input-cursor-background":`#A9B1D6`,"input-cursor-foreground":`#1A1B26`,"input-selection-background":`#D0AEFF66`,"link-background":`#00000000`,"link-background-hover":`#BB9AF7`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#BB9AF7`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#BB9AF7`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#BB9AF7`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#A9B1D6`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#A9B1D6`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#A9B1D699`,panel:`#414868`,"panel-darken-1":`#2F3755`,"panel-darken-2":`#1E2744`,"panel-darken-3":`#0C1733`,"panel-lighten-1":`#53597A`,"panel-lighten-2":`#656B8E`,"panel-lighten-3":`#787EA1`,primary:`#BB9AF7`,"primary-background":`#504D60`,"primary-background-darken-1":`#413D52`,"primary-background-darken-2":`#322E45`,"primary-background-darken-3":`#322E45`,"primary-background-lighten-1":`#605D6E`,"primary-background-lighten-2":`#6F6C7C`,"primary-background-lighten-3":`#7E7C8A`,"primary-darken-1":`#A686E1`,"primary-darken-2":`#9173CC`,"primary-darken-3":`#7D60B7`,"primary-lighten-1":`#D0AEFF`,"primary-lighten-2":`#E5C2FF`,"primary-lighten-3":`#FBD7FF`,"primary-muted":`#4A4164`,scrollbar:`#4F4270`,"scrollbar-active":`#BB9AF7`,"scrollbar-background":`#070817`,"scrollbar-background-active":`#070817`,"scrollbar-background-hover":`#070817`,"scrollbar-corner-color":`#070817`,"scrollbar-hover":`#615187`,secondary:`#7AA2F7`,"secondary-background":`#484E60`,"secondary-background-darken-1":`#383E52`,"secondary-background-darken-2":`#282F45`,"secondary-background-darken-3":`#282F45`,"secondary-background-lighten-1":`#585D6E`,"secondary-background-lighten-2":`#686D7C`,"secondary-background-lighten-3":`#787D8A`,"secondary-darken-1":`#648EE1`,"secondary-darken-2":`#4D7BCC`,"secondary-darken-3":`#3468B7`,"secondary-lighten-1":`#8FB6FF`,"secondary-lighten-2":`#A5CAFF`,"secondary-lighten-3":`#BBDFFF`,"secondary-muted":`#364364`,success:`#9ECE6A`,"success-darken-1":`#89B956`,"success-darken-2":`#75A443`,"success-darken-3":`#619030`,"success-lighten-1":`#B2E37D`,"success-lighten-2":`#C8F891`,"success-lighten-3":`#DDFFA6`,"success-muted":`#41503A`,surface:`#24283B`,"surface-active":`#313448`,"surface-darken-1":`#14182A`,"surface-darken-2":`#00031B`,"surface-darken-3":`#000009`,"surface-lighten-1":`#34384C`,"surface-lighten-2":`#45495E`,"surface-lighten-3":`#575A70`,text:`#FFFFFFDD`,"text-accent":`#FFBE98`,"text-disabled":`#FFFFFF60`,"text-error":`#F9A4B4`,"text-muted":`#FFFFFF99`,"text-primary":`#D2BCF9`,"text-secondary":`#A7C1F9`,"text-success":`#BEDE9C`,"text-warning":`#EACA9B`,warning:`#DFAF68`,"warning-darken-1":`#C99A55`,"warning-darken-2":`#B48742`,"warning-darken-3":`#9E7430`,"warning-lighten-1":`#F6C37B`,"warning-lighten-2":`#FFD88F`,"warning-lighten-3":`#FFEDA3`,"warning-muted":`#554739`}}},ir=Object.freeze(Object.keys(rr).sort()),ar=new Map;function or(){return ir}function sr(e){if(!cr(e))return null;let t=ar.get(e);if(t!==void 0)return t;let n=lr(rr[e]);return ar.set(e,n),n}function cr(e){return Object.hasOwn(rr,e)}function lr(e){let t=new Map;for(let[n,r]of Object.entries(e.vars))t.set(n,dr(r,e.name,n));return new Gt(e.name,e.dark,t)}const ur=/^[0-9a-fA-F]+$/;function dr(e,t,n){let r=e.startsWith(`#`)?e.slice(1):e;if(r.length!==6&&r.length!==8||!ur.test(r))throw Error(`Theme ${t}: var ${n} has invalid hex ${JSON.stringify(e)} (expected #RRGGBB or #RRGGBBAA)`);return r.length===6?hn(r):gn(r)}const fr=new Set([`error`,`success`,`warning`]);function pr(e){let t=e.indexOf(`-`);return t===-1?e:e.slice(0,t)}function mr(e){return fr.has(pr(e))}function hr(e,t,n){if(jn(t))return new Gt(n??e.name,e.dark,e.vars);let r={...t,hueShift:0},i=new Map;for(let[n,a]of e.vars){let e=mr(n)?r:t;i.set(n,Bn.fromRgba(a).applyKey(e).toRgba())}let a=i.get(`background`);if(a===void 0)throw Error(`transposePalette: palette "${e.name}" has no "background" var; cannot derive the dark flag without a background color.`);let o=Bn.fromRgba(a).l<.5;return new Gt(n??e.name,o,i)}const gr={linear:e=>e,step:()=>0},_r=Object.keys(gr);function vr(e){if(!Object.hasOwn(gr,e))throw RangeError(`unknown ramp easing ${JSON.stringify(e)}; expected one of `+_r.map(e=>JSON.stringify(e)).join(`, `));return e}var yr=class{easing;stops;constructor(e,t){if(this.easing=e,this.stops=t,t.length===0)throw RangeError(`a ColorRamp needs at least one stop`);for(let[e,n]of t.entries()){if(!Number.isFinite(n.at))throw RangeError(`ColorRamp stop ${e} has a non-finite position ${n.at}`);let r=t[e-1];if(r!==void 0&&n.at<r.at)throw RangeError(`ColorRamp stops must be in ascending position order; stop ${e} at ${n.at} follows stop ${e-1} at ${r.at}`)}}at(e){if(!Number.isFinite(e))throw RangeError(`ColorRamp.at needs a finite value, got ${e}`);let t=this.stops,n=-1;for(;n+1<t.length&&t[n+1].at<=e;)n++;if(n<0)return t[0].color;let r=t[n];if(n===t.length-1)return r.color;let i=t[n+1],a=gr[this.easing]((e-r.at)/(i.at-r.at));return a<=0?r.color:a>=1?i.color:Bn.fromRgba(r.color).mix(Bn.fromRgba(i.color),a).toRgba()}};const br=[`bold`,`dim`,`italic`,`underline`,`blink`,`blink2`,`reverse`,`conceal`,`strike`,`underline2`,`frame`,`encircle`,`overline`],xr={bold:1,dim:2,italic:3,underline:4,blink:5,blink2:6,reverse:7,conceal:8,strike:9,underline2:21,frame:51,encircle:52,overline:53},Sr={b:`bold`,d:`dim`,i:`italic`,u:`underline`,s:`strike`,r:`reverse`,o:`overline`,uu:`underline2`};var Cr=class extends Error{constructor(e,t){super(e,t),this.name=`StyleSyntaxError`}};const wr=new Map;var B=class e{color;bgcolor;bold;dim;italic;underline;blink;blink2;reverse;conceal;strike;underline2;frame;encircle;overline;link;meta;constructor(e){if(!e){this.color=void 0,this.bgcolor=void 0,this.bold=void 0,this.dim=void 0,this.italic=void 0,this.underline=void 0,this.blink=void 0,this.blink2=void 0,this.reverse=void 0,this.conceal=void 0,this.strike=void 0,this.underline2=void 0,this.frame=void 0,this.encircle=void 0,this.overline=void 0,this.link=void 0,this.meta=void 0;return}this.color=Pr(e.color),this.bgcolor=Pr(e.bgcolor),this.bold=e.bold,this.dim=e.dim,this.italic=e.italic,this.underline=e.underline,this.blink=e.blink,this.blink2=e.blink2,this.reverse=e.reverse,this.conceal=e.conceal,this.strike=e.strike,this.underline2=e.underline2,this.frame=e.frame,this.encircle=e.encircle,this.overline=e.overline,this.link=e.link,this.meta=e.meta}get isNull(){return this.color===void 0&&this.bgcolor===void 0&&this.bold===void 0&&this.dim===void 0&&this.italic===void 0&&this.underline===void 0&&this.blink===void 0&&this.blink2===void 0&&this.reverse===void 0&&this.conceal===void 0&&this.strike===void 0&&this.underline2===void 0&&this.frame===void 0&&this.encircle===void 0&&this.overline===void 0&&this.link===void 0&&this.meta===void 0}get transparentBackground(){return this.bgcolor===void 0||this.bgcolor.isDefault}get backgroundStyle(){return new e({bgcolor:this.bgcolor})}get withoutColor(){return new e({bold:this.bold,dim:this.dim,italic:this.italic,underline:this.underline,blink:this.blink,blink2:this.blink2,reverse:this.reverse,conceal:this.conceal,strike:this.strike,underline2:this.underline2,frame:this.frame,encircle:this.encircle,overline:this.overline,link:this.link,meta:this.meta})}withLink(t){return new e({color:this.color,bgcolor:this.bgcolor,bold:this.bold,dim:this.dim,italic:this.italic,underline:this.underline,blink:this.blink,blink2:this.blink2,reverse:this.reverse,conceal:this.conceal,strike:this.strike,underline2:this.underline2,frame:this.frame,encircle:this.encircle,overline:this.overline,link:t,meta:this.meta})}clearMetaAndLinks(){return new e({color:this.color,bgcolor:this.bgcolor,bold:this.bold,dim:this.dim,italic:this.italic,underline:this.underline,blink:this.blink,blink2:this.blink2,reverse:this.reverse,conceal:this.conceal,strike:this.strike,underline2:this.underline2,frame:this.frame,encircle:this.encircle,overline:this.overline})}add(t){return!t||t.isNull?this:this.isNull?t:new e({color:t.color??this.color,bgcolor:t.bgcolor??this.bgcolor,bold:t.bold??this.bold,dim:t.dim??this.dim,italic:t.italic??this.italic,underline:t.underline??this.underline,blink:t.blink??this.blink,blink2:t.blink2??this.blink2,reverse:t.reverse??this.reverse,conceal:t.conceal??this.conceal,strike:t.strike??this.strike,underline2:t.underline2??this.underline2,frame:t.frame??this.frame,encircle:t.encircle??this.encircle,overline:t.overline??this.overline,link:t.link??this.link,meta:t.meta&&this.meta?{...this.meta,...t.meta}:t.meta??this.meta})}equals(e){return this===e?!0:this.color?.name===e.color?.name&&this.bgcolor?.name===e.bgcolor?.name&&this.bold===e.bold&&this.dim===e.dim&&this.italic===e.italic&&this.underline===e.underline&&this.blink===e.blink&&this.blink2===e.blink2&&this.reverse===e.reverse&&this.conceal===e.conceal&&this.strike===e.strike&&this.underline2===e.underline2&&this.frame===e.frame&&this.encircle===e.encircle&&this.overline===e.overline&&this.link===e.link}drawnColors(e){let t=Jt,n=this.bgcolor?.flattenAlpha(t),r=n?.getTruecolor(void 0,!1)??t,i=this.color?.flattenAlpha(r),a=t=>e===void 0?t:t.downgrade(e);return{color:i===void 0?void 0:a(i),bgcolor:n===void 0?void 0:a(n)}}toSgrCodes(e){if(this.isNull)return``;let t=[],n=this.drawnColors(e);return n.color&&t.push(...n.color.getAnsiCodes(!0)),n.bgcolor&&t.push(...n.bgcolor.getAnsiCodes(!1)),t.push(...br.filter(e=>this[e]===!0).map(e=>`${xr[e]}`)),t.join(`;`)}toString(){if(this.isNull)return`none`;let e=[];for(let t of br)this[t]===!1&&e.push(`not ${t}`);for(let t of br)this[t]===!0&&e.push(t);return this.color&&e.push(this.color.name),this.bgcolor&&e.push(`on ${this.bgcolor.name}`),this.link&&e.push(`link ${this.link}`),e.join(` `)||`none`}static null(){return Tr}static fromColor(t,n){return new e({color:t,bgcolor:n})}static fromMeta(t){return new e({meta:t})}static pickFirst(...e){for(let t of e)if(t!==void 0)return t;throw Error(`All arguments are undefined`)}static combine(e){let t=Tr;for(let n of e)n&&(t=t.add(n));return t}static chain(...t){return e.combine(t)}static normalize(e){return e.trim().replace(/\s+/g,` `)}static parse(t){let n=e.normalize(t);if(n===``||n===`none`)return Tr;let r=wr.get(n);if(r)return r;let i=Nr(n);return wr.set(n,i),i}};const Tr=new B,Er=/^[a-z][a-z0-9._-]*$/;var Dr=class{styles;constructor(e={},t){if(this.styles=new Map,t?.inherit!==!1)for(let[e,t]of Object.entries(Fr))this.styles.set(e,t);for(let[t,n]of Object.entries(e)){if(!Er.test(t))throw Error(`Invalid style name: "${t}" (must be lowercase, start with letter, contain only letters, digits, ".", "-", "_")`);this.styles.set(t,B.parse(n))}}get(e){return this.styles.get(e)}resolve(e){return e instanceof B?e:this.styles.get(e)??B.parse(e)}has(e){return this.styles.has(e)}};const Or=new Set(br),kr=[`not`,`on`,`link`,...br,...Dn];function Ar(e,t){let n=[],r=Array.from({length:t.length+1},(e,t)=>t);for(let i=1;i<=e.length;i++){let a=[i];for(let o=1;o<=t.length;o++){let s=i>1&&o>1&&e[i-1]===t[o-2]&&e[i-2]===t[o-1];a[o]=Math.min(r[o]+1,a[o-1]+1,r[o-1]+Number(e[i-1]!==t[o-1]),s?n[o-2]+1:1/0)}[n,r]=[r,a]}return r[t.length]}function jr(e,t){let n=e.toLowerCase(),r=Math.max(1,Math.floor(n.length/3)),i=t.filter(e=>Math.abs(e.length-n.length)<=r).map(e=>({name:e,distance:Ar(n,e)})),a=Math.min(r,...i.map(e=>e.distance)),o=i.filter(e=>e.distance===a).map(e=>`"${e.name}"`).sort();return o.length===0?``:` (did you mean ${o.join(` or `)}?)`}function Mr(e,t,n){try{return un.parse(e)}catch(r){throw new Cr(`${t} "${e}"${jr(e,n)}: ${String(r)}`,{cause:r})}}function Nr(e){let t=e.split(/\s+/),n={},r=0;for(;r<t.length;){let e=t[r];if(e===`not`){r++;let e=t[r];if(!e)throw new Cr(`Expected attribute after "not" in style definition`);let i=Sr[e]??e;if(!Or.has(i))throw new Cr(`Invalid attribute: "${e}"${jr(e,br)}`);n[i]=!1,r++;continue}if(e===`on`){r++;let e=t[r];if(!e)throw new Cr(`Expected color after "on" in style definition`);n.bgcolor=Mr(e,`Invalid background color`,Dn),r++;continue}if(e===`link`){r++;let e=t[r];e&&(n.link=e),r++;continue}let i=Sr[e]??e;if(Or.has(i)){n[i]=!0,r++;continue}n.color=Mr(e,`Invalid style definition`,kr),r++}return new B(n)}function Pr(e){if(e!==void 0)return e instanceof un?e:un.parse(e)}const Fr={none:Tr,reset:new B({color:un.default(),bgcolor:un.default(),bold:!1,dim:!1,italic:!1,underline:!1,blink:!1,blink2:!1,reverse:!1,conceal:!1,strike:!1,underline2:!1,frame:!1,encircle:!1,overline:!1}),bold:new B({bold:!0}),dim:new B({dim:!0}),italic:new B({italic:!0}),underline:new B({underline:!0}),blink:new B({blink:!0}),blink2:new B({blink2:!0}),reverse:new B({reverse:!0}),conceal:new B({conceal:!0}),strike:new B({strike:!0}),underline2:new B({underline2:!0}),frame:new B({frame:!0}),encircle:new B({encircle:!0}),overline:new B({overline:!0}),"table.header":new B({bold:!0}),"table.footer":new B({bold:!0}),"table.cell":Tr,"table.title":new B({italic:!0}),"table.caption":new B({italic:!0,dim:!0}),"repr.str":B.parse(`green`),"repr.number":B.parse(`cyan`),"repr.bool":B.parse(`italic bright_magenta`),"repr.none":B.parse(`italic magenta`),"repr.url":B.parse(`not italic underline bright_blue`),"repr.uuid":B.parse(`bright_yellow`),"repr.error":B.parse(`bold red`),"repr.indent":B.parse(`dim green`),"repr.attrib_name":B.parse(`yellow`),"repr.attrib_value":B.parse(`magenta`),"repr.attrib_equal":B.parse(`bold`),"repr.tag_start":B.parse(`bold`),"repr.tag_name":B.parse(`bright_magenta`),"repr.tag_contents":B.parse(`default`),"repr.tag_end":B.parse(`bold`),"log.time":B.parse(`cyan dim`),"log.message":Tr,"log.path":B.parse(`dim`),"log.line_no":B.parse(`cyan`),"log.level":Tr,"rule.line":B.parse(`green`),"rule.text":B.parse(`bold`),"json.brace":B.parse(`bold`),"json.bool_true":B.parse(`italic bright_green`),"json.bool_false":B.parse(`italic bright_red`),"json.key":B.parse(`bold blue`),"json.null":B.parse(`italic magenta`),"json.number":B.parse(`bold not italic cyan`),"json.str":B.parse(`not bold not italic green`),"markdown.h1":B.parse(`bold underline`),"markdown.h2":B.parse(`bold`),"markdown.h3":B.parse(`bold dim`),"markdown.h4":B.parse(`bold dim italic`),"markdown.code":B.parse(`cyan on grey11`),"markdown.hr":B.parse(`yellow`),"markdown.link":B.parse(`bright_blue`),"markdown.link_url":B.parse(`blue`),"progress.description":Tr,"progress.percentage":B.parse(`cyan`),"progress.remaining":B.parse(`cyan`),"progress.elapsed":B.parse(`cyan`),"progress.spinner":B.parse(`green`),"progress.download":B.parse(`green`),"progress.filesize":B.parse(`green`),"progress.filesize.total":B.parse(`green`),"progress.data.speed":B.parse(`red`),"bar.back":B.parse(`grey23`),"bar.complete":B.parse(`magenta`),"bar.finished":B.parse(`green`),"bar.pulse":B.parse(`magenta`),tree:Tr,"tree.guide":Tr,"status.spinner":B.parse(`green`),"status.message":Tr,prompt:B.parse(`bold`),"prompt.choices":B.parse(`magenta`),"prompt.default":B.parse(`cyan`),"inspect.attr":B.parse(`yellow italic`),"inspect.attr.dunder":B.parse(`yellow italic dim`),"inspect.callable":B.parse(`bold magenta`),"inspect.error":B.parse(`bold red`),"inspect.help":B.parse(`cyan`),"inspect.doc":B.parse(`dim`),"inspect.value.border":B.parse(`green`),"traceback.border":B.parse(`red`),"traceback.text":B.parse(`red`),"traceback.title":B.parse(`bold red`),"traceback.exc_type":B.parse(`bold bright_red`),"traceback.exc_value":Tr,"traceback.offset":B.parse(`bold bright_red`),"scope.border":B.parse(`blue`),"scope.key":B.parse(`italic`),"scope.key.special":B.parse(`dim italic`),pretty:Tr,"iso8601.date":B.parse(`cyan`),"iso8601.time":B.parse(`cyan`),"iso8601.timezone":B.parse(`bright_blue`)},Ir=new Dr;var Lr;(function(e){e.BELL=`bell`,e.CARRIAGE_RETURN=`carriage_return`,e.HOME=`home`,e.CLEAR=`clear`,e.SHOW_CURSOR=`show_cursor`,e.HIDE_CURSOR=`hide_cursor`,e.ENABLE_ALT_SCREEN=`enable_alt_screen`,e.DISABLE_ALT_SCREEN=`disable_alt_screen`,e.CURSOR_UP=`cursor_up`,e.CURSOR_DOWN=`cursor_down`,e.CURSOR_FORWARD=`cursor_forward`,e.CURSOR_BACKWARD=`cursor_backward`,e.CURSOR_MOVE_TO_COLUMN=`cursor_move_to_column`,e.CURSOR_MOVE_TO=`cursor_move_to`,e.ERASE_IN_LINE=`erase_in_line`,e.SET_WINDOW_TITLE=`set_window_title`})(Lr||={});var V=class e{text;style;control;constructor(e,t,n){this.text=e,this.style=t,this.control=n}get cellLength(){return this.control?0:M(this.text)}get hasText(){return this.text.length>0}get isControl(){return this.control!==void 0}splitCells(t){if(t>=this.cellLength)return[this,new e(``)];if(t<=0)return[new e(``),this];let[n,r]=Bt(this.text,t);return[new e(n,this.style),new e(r,this.style)]}static _line;static line(){return e._line??=new e(`
|
|
16
16
|
`)}static*applyStyle(t,n,r){for(let i of t){if(i.isControl){yield i;continue}let t=i.style;n&&(t=n.add(t)),r&&(t=t?t.add(r):r),yield new e(i.text,t,i.control)}}static*filterControl(e,t){for(let n of e)n.isControl===t&&(yield n)}static splitLines(t){let n=[],r=[];for(let i of t){if(i.isControl){r.push(i);continue}let t=i.text;if(!t.includes(`
|
|
17
17
|
`)){r.push(i);continue}let a=t.split(`
|
|
18
18
|
`);for(let t=0;t<a.length;t++){t>0&&(n.push(r),r=[]);let o=a[t];o.length>0&&r.push(new e(o,i.style))}}return r.length>0&&n.push(r),n}static adjustLineLength(t,n,r,i=!0){let a=e.getLineLength(t);if(a===n)return t;if(a<n)return i?[...t,new e(` `.repeat(n-a),r)]:t;let o=[],s=n;for(let e of t){if(e.isControl){o.push(e);continue}let t=e.cellLength;if(t<=s)o.push(e),s-=t;else{let[t]=e.splitCells(Lt(s));o.push(t),s=0;break}}return o}static*cropLines(t,n){let r=Math.max(0,n),i=0;for(let n of t){if(n.isControl){yield n;continue}let t=n.text.split(`
|
|
19
|
-
`);for(let e=0;e<t.length;e++){e>0&&(i=0);let[n]=
|
|
20
|
-
`);yield a===n.text?n:new e(a,n.style)}}static getLineLength(e){let t=0;for(let n of e)n.isControl||(t+=n.cellLength);return t}static getShape(t){if(t.length===0)return[0,0];let n=0;for(let r of t){let t=e.getLineLength(r);t>n&&(n=t)}return[n,t.length]}static*mergeHorizontal(t,n=0){let r=0;for(let e of t)e.lines.length>r&&(r=e.lines.length);let i=n>0?[new e(` `.repeat(n))]:[];for(let n=0;n<r;n++){for(let r=0;r<t.length;r++){r>0&&(yield*i);let a=t[r];yield*e.adjustLineLength(a.lines[n]??[],a.width)}yield e.line()}}static*simplify(t){let n;for(let r of t){if(!n){n=r;continue}
|
|
21
|
-
`,this._tabSize=t?.tabSize??8,this._noWrap=t?.noWrap??!1}get plain(){return this._text}set plain(e){let t
|
|
22
|
-
`,n=this._text,r=[],i=0;for(;;){let e=n.indexOf(t,i);if(e===-1){r.push(this.slice(i));break}r.push(this.slice(i,e)),i=e+t.length}return r}divide(e){if(e.length===0)return[this.copy()];let t=[],n=0;for(let r of e)t.push(this.slice(n,r)),n=r;return t.push(this.slice(n)),t}rstrip(){let e=this._text.replace(/\s+$/,``);return e.length<this._text.length&&(this.plain=e),this}pad(e,t){let n=(t??` `).repeat(e);return this._spans=this._spans.map(t=>t.move(e)),this._text=n+this._text+n,this}padLeft(e,t){let n=t??` `;return this._spans=this._spans.map(t=>t.move(e)),this._text=n.repeat(e)+this._text,this}padRight(e,t){let n=t??` `;return this._text+=n.repeat(e),this}setLength(e){return this._text.length<e?this._text+=` `.repeat(e-this._text.length):this._text.length>e&&(this.plain=this._text.slice(0,e)),this}extendStyle(e){let t=this._text.length;return this._text+=` `.repeat(e),this._spans=this._spans.map(n=>n.end===t?n.extend(e):n),this}truncate(e,t){if(this.cellLength<=e)return this;let n=t?.mode??`right`,r=t?.marker??`…`,i=
|
|
23
|
-
`);for(let e=0;e<i.length;e+=1){let t=i[e],r=e<i.length-1||l,u=
|
|
24
|
-
`),n=0,r=0;for(let e of t){let t=k(e);n=Math.max(n,t);let i=e.split(/\s+/);for(let e of i)e.length>0&&(r=Math.max(r,k(e)))}let i=Rt(e.maxWidth);return{minimum:Math.min(r,i),maximum:Math.min(n,i)}}_expandTabs(e){return e.includes(` `)?e.replace(/\t/g,` `.repeat(this._tabSize)):e}_buildSegments(e,t,n){let r=t=>Math.max(0,Math.min(t,e.length)),i=new Set([0,e.length]);for(let e of this._spans)i.add(r(e.start)),i.add(r(e.end));let a=[...i].sort((e,t)=>e-t),o=new Map(a.map((e,t)=>[e,t])),s=a.slice(0,-1).map(()=>t);for(let e of this._spans){let t=r(e.end),i=ri(n,e.style),c=o.get(r(e.start));for(let e=c;a[e]<t;e++)s[e]=s[e].add(i)}return s.map((t,n)=>new V(e.slice(a[n],a[n+1]),t.isNull?void 0:t))}_justifyLines(e,t,n,r){return r===`full`?e.map((r,i)=>i===e.length-1?r:this._fillLine(r,t,n)):e.map(e=>[...this._justifyLine(e,t,r)])}*_justifyLine(e,t,n){switch(n){case`center`:case`right`:{let r=V.adjustLineLength(e,V.getLineLength(e)-$r(e),void 0,!1),i=Math.max(t-V.getLineLength(r),0),a=n===`center`?Math.floor(i/2):i;a>0&&(yield new V(` `.repeat(a))),yield*r;let o=i-a;o>0&&(yield new V(` `.repeat(o)));break}case`left`:yield*V.adjustLineLength(e,Math.max(t,V.getLineLength(e)));break;default:yield*e;break}}_fillLine(e,t,n){let r=Qr(e),i=r.split(` `);r.endsWith(` `)&&i.pop();let a=i.length-1,o=Array(a).fill(1),s=i.reduce((e,t)=>e+k(t),0)+a;for(let e=0;s<t&&a>0;e=(e+1)%a)o[a-1-e]+=1,s+=1;let c=[],l=0;for(let e=0;e<i.length;e+=1)l+=k(i[e]),c.push(l),l+=1,e<a&&c.push(l);let u=V.divide(e,c),d=(e,t)=>e.filter(e=>e.hasText).at(t)?.style??n,f=[];for(let e=0;e<i.length;e+=1)if(f.push(...u[e*2]),e<a){let t=d(u[e*2],-1),r=d(u[e*2+2],0),i=t.equals(r)?t:n;f.push(new V(` `.repeat(o[e]),i.isNull?void 0:i))}return f}*_fitLine(e,t,n){let r=V.getLineLength(e);if(r-$r(e)<=t){yield*V.adjustLineLength(e,Math.min(r,t),void 0,!1);return}if(n===`ellipsis`&&t>0){yield*V.adjustLineLength(e,t-1,void 0,!1),yield new V(`…`);return}yield*V.adjustLineLength(e,t,void 0,!1)}},oi=class{items;joiner;constructor(e,t){this.items=e,this.joiner=t}*render(e){let t=this.items;if(t.length!==0){yield*this.joiner.join(null,t[0]).render(e);for(let n=0;n<t.length;n++){let r=t[n];yield*r.render(e);let i=n+1<t.length?t[n+1]:null;yield*this.joiner.join(r,i).render(e)}yield V.line()}}};const si={*render(e){}};var ci=class{_text;_style;constructor(e,t){this._text=e,this._style=t}*render(e){yield new V(this._text,this._style)}};function li(e){return{render:e}}function ui(e){return new B({color:e.bgcolor})}function di(e){return e!==void 0&&!e.isDefault?e:void 0}function fi(e){return new B({bgcolor:e}).drawnColors().bgcolor}function*pi(e,t){e!==``&&(yield new V(e,new B({color:fi(t)})))}function mi(e,t){let{color:n,bgcolor:r}=e.drawnColors(t??M.TRUECOLOR);if(n===void 0||r===void 0)return!1;let i=n.fixedValue,a=r.fixedValue;return i!==void 0&&a!==void 0?R.fromRgba(i).deltaE(R.fromRgba(a))<.04:n.number===r.number}const hi=Object.freeze({glyph:``,divider:``,lead:``,tail:``});var gi=class{_glyph;_divider;_lead;_tail;constructor(e=hi){this._glyph=e.glyph,this._divider=e.divider,this._lead=e.lead,this._tail=e.tail}join(e,t){let n=this._glyph,r=this._divider,i=this._lead,a=this._tail;return li(function*(o){let s=e?.edgeStyle(`right`,o),c=di(s?.bgcolor),l=di(t?.edgeStyle(`left`,o).bgcolor);if(c===void 0){l!==void 0&&(yield*pi(i,l));return}if(l===void 0){yield*pi(a,c);return}let u=new B({color:fi(c),bgcolor:l});yield mi(u,o.colorSystem)?new V(r,new B({color:s?.color,bgcolor:c})):new V(n,u)})}},_i=class{_left;_right;_separator;constructor(e){this._left=e?.left??``,this._right=e?.right??``,this._separator=e?.separator??` `}*_emit(e,t,n){if(!(e===null&&t===null)){if(e===null){yield new V(this._left,ui(t.edgeStyle(`left`,n)));return}if(t===null){yield new V(this._right,ui(e.edgeStyle(`right`,n)));return}yield new V(this._right,ui(e.edgeStyle(`right`,n))),this._separator.length>0&&(yield new V(this._separator)),yield new V(this._left,ui(t.edgeStyle(`left`,n)))}}join(e,t){return li(n=>this._emit(e,t,n))}},vi=class{_separator;_style;constructor(e){this._separator=e?.separator??` | `,this._style=e?.style??B.parse(`dim`)}join(e,t){return e===null||t===null?si:new ci(this._separator,this._style)}};function yi(e,t){if(e.isControl||e.text.length===0)return;let n=e.style;return!n||n.isNull?{text:e.text,sgrCodes:``,link:void 0}:{text:e.text,sgrCodes:t.colorSystem===null?``:n.toSgrCodes(t.colorSystem),link:t.hyperlinks?n.link:void 0}}function bi(e,t){let n=[];for(let r of e){let e=yi(r,t);e&&n.push(e)}if(n.length===0)return``;let r=[],i=0;for(;i<n.length;){let e=n[i].sgrCodes,t=i+1;for(;t<n.length&&n[t].sgrCodes===e;)t++;e.length>0&&r.push(`\x1b[${e}m`);let a=i;for(;a<t;){let e=n[a].link,i=a+1;for(;i<t&&n[i].link===e;)i++;if(e){r.push(qr(e));for(let e=a;e<i;e++)r.push(n[e].text);r.push(`\x1B]8;;\x1B\\`)}else for(let e=a;e<i;e++)r.push(n[e].text);a=i}e.length>0&&r.push(`\x1B[0m`),i=t}return r.join(``)}function xi(e,t){let n=t?.width??80,r={};t?.env!==void 0&&(r.env=t.env),t?.isTTY!==void 0&&(r.isTTY=t.isTTY);let i=t?.colorSystem,a=an(i===void 0?M.TRUECOLOR:i,r),o={colorSystem:t?.noColor?null:a.colorSystem,hyperlinks:t?.hyperlinks??a.hyperlinks},s={maxWidth:n,isTerminal:!1,encoding:`utf-8`,asciiOnly:!1,colorSystem:o.colorSystem};return bi(e.render(s),o)}function Si(e,t){let n=[...e.render(t)],r=0;for(let e of n)r+=e.cellLength;return{segments:n,width:r}}const Ci={segments:[],width:0},wi={left:()=>0,justify:()=>0,center:e=>Math.floor(e/2),right:e=>e};function Ti(e,t){return wi[e](t)}function Ei(e,t,n,r){let i=Math.max(0,r-1),a=e===`justify`&&!t&&i>0&&n>0?n:0,o=i>0?Math.floor(a/i):0,s=a-o*i;return Array.from({length:i},(e,t)=>o+ +(t<s))}var Di=class{items;joiner;gap;align;constructor(e,t){this.items=e,this.joiner=t?.joiner,this.gap=t?.gap??0,this.align=t?.align??`left`}*render(e){let t=this.items;if(t.length===0)return;let n=Math.max(1,e.maxWidth),r=this.gap,i=this.joiner,a=t.map(t=>Si(t,e)),o=n=>i?Si(i.join(null,t[n]),e):Ci,s=n=>i?Si(i.join(t[n],null),e):Ci,c=(n,r)=>i?Si(i.join(t[n],t[r]),e):Ci,l=[],u=null,d=r>0?{segments:[new V(` `.repeat(r))],width:r}:Ci;for(let e=0;e<t.length;e++){let t=a[e];if(u===null){let n=o(e),r=s(e),i=n.width>0?[n,t]:[t],a=[i.length-1];u={blocks:i,width:n.width+t.width,lastIndex:e,itemBlockIndices:a},u.endCap=r;continue}let i=u.lastIndex,f=c(i,e),p=s(e),m=(r>0?r:0)+f.width+(r>0?r:0)+t.width;if(u.width+m+p.width<=n)r>0&&u.blocks.push(d),f.width>0&&u.blocks.push(f),r>0&&u.blocks.push(d),u.blocks.push(t),u.itemBlockIndices.push(u.blocks.length-1),u.width+=m,u.lastIndex=e,u.endCap=p;else{let n=u.endCap;n.width>0&&u.blocks.push(n),u.width+=n.width,l.push(u);let r=o(e),i=s(e),a=r.width>0?[r,t]:[t],c=[a.length-1];u={blocks:a,width:r.width+t.width,lastIndex:e,itemBlockIndices:c},u.endCap=i}}let f=u;{let e=f.endCap;e.width>0&&f.blocks.push(e),f.width+=e.width,l.push(f)}let p=this.align;for(let e=0;e<l.length;e++){let t=l[e],r=e===l.length-1,i=Math.max(0,n-t.width),a=Ti(p,i),o=Ei(p,r,i,t.itemBlockIndices.length),s=new Map;t.itemBlockIndices.forEach((e,t)=>s.set(e,t)),a>0&&(yield new V(` `.repeat(a)));for(let e=0;e<t.blocks.length;e++){let n=s.get(e);if(n!==void 0&&n>0){let e=o[n-1];e>0&&(yield new V(` `.repeat(e)))}yield*t.blocks[e].segments}yield V.line()}}measure(e){let t=this.items;if(t.length===0)return{minimum:0,maximum:0};let n=0,r=0;for(let i=0;i<t.length;i++){let a=Si(t[i],e).width,o=this.joiner?Si(this.joiner.join(null,t[i]),e).width:0,s=this.joiner?Si(this.joiner.join(t[i],null),e).width:0;n=Math.max(n,a+o+s),r+=a,i>0&&(r+=this.gap*2,this.joiner&&(r+=Si(this.joiner.join(t[i-1],t[i]),e).width))}return this.joiner&&(r+=Si(this.joiner.join(null,t[0]),e).width,r+=Si(this.joiner.join(t[t.length-1],null),e).width),{minimum:n,maximum:r}}};const Oi=[`primary`,`secondary`,`accent`],ki={"secondary-accent":[`secondary`,`accent`],"primary-secondary":[`primary`,`secondary`],primary:[`primary`]},Ai=`accent`,ji=[0,.5,1],U=e=>e.flatMap(e=>ji.map(t=>({hue:e,tone:t}))),Mi=U(Oi.filter(e=>Object.values(ki).some(t=>t.includes(e)))),Ni=e=>{let t=0,n=.5;for(let r=e;r>0;r>>=1,n/=2)t+=n*(r&1);return t},Pi=[`van-der-corput`,`golden-angle`,`ends-interleaved`,`monotonic`,`uniform`],Fi=e=>typeof e==`string`&&Pi.includes(e),Ii={"van-der-corput":Ni,"golden-angle":e=>e*.6180339887498949%1,"ends-interleaved":(e,t)=>((e%2==0?e/2:t-1-(e-1)/2)+.5)/t,monotonic:(e,t)=>(e+.5)/t,uniform:()=>.5},Li=e=>Ii[e??`van-der-corput`];function Ri(e){let t=0,n=1;for(let{index:r,count:i,distribution:a}of e)t+=a(r,i)*n,n*=.37;return t%1}const zi=(e,t)=>Math.floor(e*t),Bi=(e,t)=>Math.round(e*t)%t;function Vi(e,t,n){let r=e[n(t===void 0?0:t.distribution(t.index,t.count),e.length)];if(r===void 0)throw Error(`vocabularySelect: empty vocabulary`);return r}function Hi(e,t){let n=t.findIndex(e=>e.axis===`cell`),r=n===-1?t:t.slice(0,n);return{hue:Vi(e,r.at(-1),zi),tone:Vi(ji,t[r.length],Bi)}}function Ui(e,t){let n=e.get(t);if(n===void 0)throw Error(`palette "${e.name}" has no "${t}" role; decoration needs it`);return n}function Wi(e,t){let n=Gi.get(e);n===void 0&&(n=new Map,Gi.set(e,n));let r=`${t.hue}|${t.tone}`,i=n.get(r);if(i!==void 0)return i;let a=R.fromRgba(Ui(e,t.hue)),o=R.fromRgba(Ui(e,`surface`)),s=(e,t)=>e.mixAxes(a,{l:t,c:.8,h:1,alpha:0}),c=s(o.mixAxes(R.fromRgba(Ui(e,`background`)),{l:.5,c:0,h:0,alpha:0}),0).mixAxes(s(o,.35),{l:t.tone,c:t.tone,h:t.tone,alpha:0}).toRgba();return n.set(r,c),c}const Gi=new WeakMap,Ki=(e,t,n)=>Wi(e,Hi(t,n)),qi=2.2;function Ji(e,t,n){let r=Yi(e,t,n);if(`refused`in r)throw Error(r.refused);return r.state}function Yi(e,t,n){let r=Xi.get(e);r===void 0&&(r=new Map,Xi.set(e,r));let i=`${t}|${n}`,a=r.get(i);if(a!==void 0)return a;let o=Zi(e,t,n);return r.set(i,o),o}const Xi=new WeakMap;function Zi(e,t,n){let r=Mi.map(t=>Xn(Wi(e,t),M.TRUECOLOR)),i=hn(Ui(e,`surface`),Ui(e,t),.92),a=Ui(e,`foreground`),o=r.reduce((e,t)=>Jn(e,t,qi),a),s=[...Array.from({length:13},(e,t)=>hn(i,a,t/12)),o].find(e=>r.every(t=>Yt(Xn(e,M.TRUECOLOR),t)>=qi));if(s===void 0)return{refused:`palette "${e.name}": "${t}" cannot clear the ${qi} state floor even beyond foreground`};let c=Yn(s,n,(e,t)=>r.every(n=>Yt(e,t(n))>=qi));return c===void 0?{refused:`palette "${e.name}": "${t}" cannot clear the ${qi} state floor on the colours drawn at depth ${M[n]}`}:{state:c}}const Qi=4.5;function $i(e,t,n){let r=ea.get(e);r===void 0&&(r=new Map,ea.set(e,r));let i=`${t.hex}|${n}`,a=r.get(i);if(a!==void 0)return a;let o=qn(t),s=Jn([`background`,`foreground`].map(t=>Ui(e,t)).reduce((e,t)=>Yt(o,t)<Yt(o,e)?t:e),t,Qi,n);return r.set(i,s),s}const ea=new WeakMap,ta={base:.42,perDepth:.14,cap:.75},na={floor:.12,span:.8};function ra(e,t){return Oi[(Oi.indexOf(e)+t)%Oi.length]}const ia={triggerPlane:.1,nestedPlane:.035,nestedTriggerPlane:.08};function aa(e,t,n){let r=`${t.hue}|${t.depth}|${n}`,i=da.get(e);i===void 0&&(i=new Map,da.set(e,i));let a=i.get(r);if(a!==void 0)return a;let o=Ji(e,ra(t.hue,t.depth),n),s=ua(e,t,o,n),c=Yn(sa(e,t).plane,n,(e,t)=>s.every(([n,r])=>oa(e,t(n))>=r));if(c===void 0)throw Error(`palette "${e.name}": the ${t.hue} band at depth ${t.depth} cannot keep its floors on the colours drawn at depth ${M[n]}`);let l={state:o,plane:c};return i.set(r,l),l}const oa=(e,t)=>R.fromRgba(e).deltaE(R.fromRgba(t));function sa(e,t){let n=`${t.hue}|${t.depth}`,r=ca.get(e);r===void 0&&(r=new Map,ca.set(e,r));let i=r.get(n);if(i!==void 0)return i;let a=la(e,t);return r.set(n,a),a}const ca=new WeakMap;function la(e,t){let n=Ji(e,ra(t.hue,t.depth),M.TRUECOLOR),r=Math.min(ta.cap,ta.base+ta.perDepth*t.depth);return{state:n,plane:hn(n,Ui(e,`background`),r)}}function ua(e,t,n,r){let{hue:i,depth:a}=t,o=t=>sa(e,{hue:i,depth:t}).state,s=t=>sa(e,{hue:i,depth:t}).plane,c=e=>Xn(e,M.TRUECOLOR),l=s(a),u=(e,t)=>oa(c(l),c(t))>=e?e:0,d=ra(i,a+1),f=Yi(e,d,r),p=Yi(e,d,M.TRUECOLOR);return[[n,u(ia.triggerPlane,o(a))],...`state`in f&&`state`in p?[[f.state,u(ia.nestedTriggerPlane,p.state)]]:[],...a>0?[[aa(e,{hue:i,depth:a-1},r).plane,u(ia.nestedPlane,s(a-1))]]:[]]}const da=new WeakMap;function fa(e,t,n,r){let i=aa(e,t,r),a=sa(e,t),o=Yn(hn(a.plane,a.state,na.floor+na.span*Ri(n)),r,(e,t)=>e.hex!==t(i.plane).hex&&e.hex!==t(i.state).hex);if(o===void 0)throw Error(`palette "${e.name}": a ${t.hue} band item at depth ${t.depth} is drawn as its plane or its trigger at depth ${M[r]}, and nothing that depth draws is neither`);return o}const pa=e=>({kind:`bar`,progression:e,address:[]}),ma=(e,t)=>({...e,address:[...e.address,t]}),ha=e=>({kind:`band`,band:e,address:[]});function ga(e,t,n){switch(t.kind){case`bar`:return{tint:Ki(e,t.progression,t.address),disclosure:{hue:Ai,depth:0}};case`band`:return{tint:fa(e,t.band,t.address,n),disclosure:{hue:t.band.hue,depth:t.band.depth+1}}}}const _a={dark:`textual-dark`,light:`textual-light`};function va(e){return _a[e]??e}const ya=`textual-dark`;function ba(e,t,n,r,i){let a=t===null?null:i(t);return e??a??n??r}function xa(){return Object.keys(_a)}function Sa(){return[...rr(),...xa()]}function Ca(){return[`bar`,...Sa()]}let wa;function Ta(e){return wa??=new Set(Ca()),wa.has(e)}function Ea(e,t,n,r,i){let a=e=>Object.prototype.hasOwnProperty.call(i,e)?e:null;return ba(e===void 0?null:a(e),t,a(n??r),r,a)}const Da=[`look`,`palette`];function Oa(e){return e!==void 0&&e.includes(`{{`)}function ka(e,t,n,r,i){let a=Oa(n)?{kind:`expression`,source:n}:i(n??r.name);return ba(e===void 0?null:i(e),t,a,r,i)}function Aa(e,t,n){return e.kind===`decided`?e:n(t())}const ja=`none`;function Ma(e,t){let n=t[e];return n===void 0?null:{kind:`decided`,name:e,value:n}}function Na(e,t){return Ma(e,t)??Ma(`none`,t)??{kind:`decided`,name:`none`,value:On}}function Pa(e,t,n,r){return ka(e,t,n,Na(ja,r),e=>Ma(e,r))}const Fa=[`powerline`,`capsule`,`plain`];function Ia(e){return Fa.includes(e)}function La(e,t,n){return ba(e,t,n,`powerline`,e=>Ia(e)?e:null)}const Ra=[`unicode`,`ascii`],za=`unicode`;function Ba(e){return Ra.includes(e)}function Va(e,t,n){return ba(e,t,n,za,e=>Ba(e)?e:null)}const Ha=[`truecolor`,`256`,`ansi`,`none`],Ua=`truecolor`;function Wa(e){return Ha.includes(e)}function Ga(e,t,n){return ba(e,t,n,Ua,e=>Wa(e)?e:null)}function Ka(e){return on(e)??M.DEFAULT}const qa=Object.keys(ki);function Ja(e){return qa.includes(e)}function Ya(e,t,n){return ba(e,t,n,`secondary-accent`,e=>Ja(e)?e:null)}const Xa=`true`,Za=`false`,Qa=[Xa,Za],$a={min:0,max:16};function eo(e){return e===`true`?!0:e===`false`?!1:null}function to(e){if(!/^\d+$/.test(e))return null;let t=Number(e);return t>=$a.min&&t<=$a.max?t:null}function no(e,t,n){return ba(e,t,n,!0,eo)}function ro(e,t,n){return ba(e,t,n,1,to)}var io=class extends Error{constructor(e,t){super(`${e} (at offset ${t})`),this.reason=e,this.offset=t,this.name=`Json5EditError`}};const ao=/[A-Za-z_$\p{L}]/u,oo=/[A-Za-z0-9_$\u200C\u200D\p{L}\p{N}]/u,so=/[A-Za-z0-9_$.+\-\p{L}\p{N}]/u,co=/[\t\n\v\f\r \u00A0\uFEFF\u2028\u2029\p{Zs}]/u;var lo=class{pos=0;constructor(e){this.text=e}peek(){return this.text[this.pos]??``}fail(e){throw new io(e,this.pos)}skipTrivia(){for(;;){let e=this.peek();if(e===``)return;if(co.test(e))this.pos++;else if(e===`/`&&this.text[this.pos+1]===`/`){let e=this.text.indexOf(`
|
|
25
|
-
`,this.pos);this.pos=e===-1?this.text.length:e}else if(e===`/`&&this.text[this.pos+1]===`*`){let e=this.text.indexOf(`*/`,this.pos+2);e===-1&&this.fail(`unterminated block comment`),this.pos=e+2}else return}}expect(e){this.peek()!==e&&this.fail(`expected "${e}"`),this.pos++}value(){this.skipTrivia();let e=this.peek();if(e===`{`)return this.object();if(e===`[`)return this.array();if(e===`"`||e===`'`){let e=this.stringSpan();return{kind:`string`,span:e,value:this.decode(e)}}e===``&&this.fail(`unexpected end of input`);let t=this.pos;for(;this.pos<this.text.length&&
|
|
19
|
+
`);for(let e=0;e<t.length;e++){e>0&&(i=0);let[n]=Bt(t[e],Lt(r-i));i+=M(n),t[e]=n}let a=t.join(`
|
|
20
|
+
`);yield a===n.text?n:new e(a,n.style)}}static getLineLength(e){let t=0;for(let n of e)n.isControl||(t+=n.cellLength);return t}static getShape(t){if(t.length===0)return[0,0];let n=0;for(let r of t){let t=e.getLineLength(r);t>n&&(n=t)}return[n,t.length]}static*mergeHorizontal(t,n=0){let r=0;for(let e of t)e.lines.length>r&&(r=e.lines.length);let i=n>0?[new e(` `.repeat(n))]:[];for(let n=0;n<r;n++){for(let r=0;r<t.length;r++){r>0&&(yield*i);let a=t[r];yield*e.adjustLineLength(a.lines[n]??[],a.width)}yield e.line()}}static*simplify(t){let n;for(let r of t){if(!n){n=r;continue}Rr(n.style,r.style)&&!r.isControl&&!n.isControl?n=new e(n.text+r.text,n.style):(yield n,n=r)}n&&(yield n)}static*stripLinks(t){for(let n of t)n.style?.link?yield new e(n.text,n.style.clearMetaAndLinks(),n.control):yield n}static*stripStyles(t){for(let n of t)yield new e(n.text,void 0,n.control)}static*removeColor(t){for(let n of t)n.style?yield new e(n.text,n.style.withoutColor,n.control):yield n}static divide(e,t){if(t.length===0)return[e];let n=[],r=0,i=0,a=e[r];for(let o of t){let t=[];for(;a&&i+a.cellLength<=o;)a.isControl?t.push(a):(t.push(a),i+=a.cellLength),r++,a=e[r];if(a&&!a.isControl&&i<o){let e=Lt(o-i),[n,r]=a.splitCells(e);n.hasText&&t.push(n),i+=n.cellLength,a=r}n.push(t)}let o=[];for(a?.hasText&&o.push(a),r++;r<e.length;)o.push(e[r]),r++;return o.length>0&&n.push(o),n}static alignTop(t,n,r,i){let a=t.map(t=>e.adjustLineLength(t,n,i)),o=[new e(` `.repeat(n),i)];for(;a.length<r;)a.push([...o]);return a.slice(0,r)}static alignBottom(t,n,r,i){let a=t.map(t=>e.adjustLineLength(t,n,i)),o=[new e(` `.repeat(n),i)],s=Math.max(0,r-a.length),c=[];for(let e=0;e<s;e++)c.push([...o]);return c.push(...a),c.slice(0,r)}static alignMiddle(t,n,r,i){let a=t.map(t=>e.adjustLineLength(t,n,i)),o=[new e(` `.repeat(n),i)],s=Math.max(0,Math.floor((r-a.length)/2)),c=[];for(let e=0;e<s;e++)c.push([...o]);for(c.push(...a);c.length<r;)c.push([...o]);return c.slice(0,r)}static setShape(t,n,r,i){let a=t.map(t=>e.adjustLineLength(t,n,i)),o=[new e(` `.repeat(n),i)];for(;a.length<r;)a.push([...o]);return a.slice(0,r)}static splitAndCropLines(t,n,r=!0,i=!1,a){let o=e.splitLines(t),s=[];for(let t of o){let o=e.adjustLineLength(t,n,a,r);s.push(o),i&&s[s.length-1].push(e.line())}return s}};function Rr(e,t){return e===t?!0:!e||!t?!1:e.equals(t)}function zr(e,t){return(e.theme??Ir).resolve(t)}function Br(e){return{...e,maxWidth:zt(e.maxWidth)}}function Vr(e,t){let n=Br(e);if(Number.isFinite(n.maxWidth))return n;let r=t.measure(n).maximum;if(!Number.isFinite(r))throw RangeError(`maxWidth is unbounded and this renderable has no natural width to fall back on: its content does not implement measure(), or something inside it asked for an unbounded width of its own. Render it at a finite width, or give the content a measure() that reports a finite maximum.`);return{...n,maxWidth:zt(r)}}function*Hr(e){let t=/\s*\S+\s*/y;for(let n=t.exec(e);n!==null;n=t.exec(e))yield n[0]}function Ur(e,t){let n=Vt(e,t);return M(n[0])>t?[``,...n]:n}function Wr(e,t,n){if(t<=0)return[];let r=[],i=e=>{e>0&&r.push(Lt(e))},a=0,o=0;for(let r of Hr(e)){let e=M(r.trimEnd());if(t-a>=e)a+=M(r);else if(n.fold&&e>t){let e=Ur(r,t),n=o;for(let t=0;t<e.length;t+=1){i(n);let r=e[t];t===e.length-1?a=M(r):n+=M(r)}}else i(o),a=M(r);o+=M(r)}return r}const Gr=`\\x1b\\x07\\x9c`,Kr=RegExp(`[${Gr}]`,`g`);function qr(e){return e.replace(Kr,``)}const Jr=new TextEncoder;function Yr(e){let t=2166136261;for(let n of Jr.encode(e))t^=n,t=Math.imul(t,16777619);return(t>>>0).toString(16).padStart(8,`0`)}function Xr(e){let t=qr(e);return`\x1b]8;id=${Yr(t)};${t}\x1b\\`}const Zr=RegExp(`\\x1b\\]8;([^;${Gr}]*);([^${Gr}]*)(?:\\x1b\\\\|\\x07|\\x9c)`);new RegExp(Zr.source,`g`);const Qr=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g;function $r(e){return e.replace(Qr,``)}const ei=/\s+$/;function ti(e){return e.map(e=>e.text).join(``)}function ni(e){return M(ei.exec(ti(e))?.[0]??``)}function ri(e){let t=e.link;if(!t)return e;let n=qr(t);return n===t?e:e.withLink(n)}function ii(e){return e instanceof B?ri(e):e}function ai(e){return e instanceof B?e.isNull:e===``}function oi(e,t){return ri(t instanceof B?t:si(e,t))}function si(e,t){try{return zr(e,t)}catch(n){if(!(n instanceof Cr))throw n;return e.onStyleError?.(n,t),Tr}}var ci=class e{start;end;style;constructor(e,t,n){this.start=e,this.end=t,this.style=n}get hasLength(){return this.end>this.start}toString(){return`Span(${this.start}, ${this.end})`}split(t){return t<=this.start||t>=this.end?[this,void 0]:[new e(this.start,t,this.style),new e(t,this.end,this.style)]}move(t){return new e(this.start+t,this.end+t,this.style)}rightCrop(t){return t>=this.end?this:new e(this.start,Math.min(this.end,t),this.style)}extend(t){return new e(this.start,this.end+t,this.style)}},li=class e{_text;_spans;_style;_justify;_overflow;_end;_tabSize;_noWrap;constructor(e,t){this._text=e?$r(e):``,this._spans=[],this._style=ii(t?.style??Tr),this._justify=t?.justify,this._overflow=t?.overflow,this._end=t?.end??`
|
|
21
|
+
`,this._tabSize=t?.tabSize??8,this._noWrap=t?.noWrap??!1}get plain(){return this._text}set plain(e){let t=$r(e);this._text=t;let n=t.length;this._spans=this._spans.map(e=>e.end>n?new ci(e.start,Math.min(e.end,n),e.style):e).filter(e=>e.start<n)}get length(){return this._text.length}get cellLength(){return M(this._text)}get hasContent(){return this._text.length>0}get style(){return this._style}set style(e){this._style=ii(e)}get justify(){return this._justify}set justify(e){this._justify=e}get overflow(){return this._overflow}set overflow(e){this._overflow=e}get end(){return this._end}set end(e){this._end=e}get noWrap(){return this._noWrap}set noWrap(e){this._noWrap=e}get spans(){return this._spans}resolvedStyle(e){return oi(e,this._style)}edgeStyle(e,t){let n=this.resolvedStyle(t);if(this._text.length===0)return n;let r=e===`left`?0:this._text.length-1,i=n;for(let e of this._spans)e.start<=r&&r<e.end&&(i=i.add(oi(t,e.style)));return i}append(t,n){if(t instanceof e){if(n!==void 0)throw Error(`Style argument must not be provided when appending RichText`);let e=this._text.length;this._text+=t._text;for(let n of t._spans)this._spans.push(n.move(e));return this}let r=$r(t),i=this._text.length;return this._text+=r,this._addSpan(i,this._text.length,n??``),this}contains(t){let n=t instanceof e?t._text:t;return this._text.includes(n)}at(t){let n=t<0?this._text.length+t:t;return this._text[n]===void 0?new e(``):this.slice(n,n+1)}slice(e,t){let n=this._text,r=n.length,i=e??0,a=t??r,o=i<0?Math.max(0,r+i):Math.min(i,r),s=a<0?Math.max(0,r+a):Math.min(a,r);if(o>=s)return this.blankCopy();let c=n.slice(o,s),l=this.blankCopy(c);for(let e of this._spans){let t=Math.max(e.start,o)-o,n=Math.min(e.end,s)-o;t<n&&l._spans.push(new ci(t,n,e.style))}return l}_addSpan(e,t,n){ai(n)||this._spans.push(new ci(e,t,ii(n)))}stylize(e,t,n){let r=this._text.length,i=t===void 0?0:t<0?r+t:t,a=n===void 0?r:n<0?r+n:n;if(i>=a||i>=r||a<=0)return this;let o=Math.max(0,i),s=Math.min(r,a);return this._addSpan(o,s,e),this}highlightRegex(e,t){let n=this._text,r=0,i=e.flags.includes(`g`)?e.flags:e.flags+`g`,a=new RegExp(e.source,i),o;for(;(o=a.exec(n))!==null;){if(o[0].length===0){a.lastIndex++;continue}if(o.groups){let e=0;for(let[t,n]of Object.entries(o.groups))if(n!==void 0){let r=o[0].indexOf(n,e);if(r>=0){let i=o.index+r;this._addSpan(i,i+n.length,t),e=r+n.length}}r++;continue}this._addSpan(o.index,o.index+o[0].length,t??``),r++}return r}highlightWords(e,t,n){let r=n?.caseSensitive!==!1,i=0;for(let n of e){if(n.length===0)continue;let e=n.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),a=r?`g`:`gi`,o=RegExp(`\\b${e}\\b`,a),s;for(;(s=o.exec(this._text))!==null;)this._addSpan(s.index,s.index+s[0].length,t),i++}return i}copy(){let t=new e(this._text,{style:this._style,justify:this._justify,overflow:this._overflow,end:this._end,tabSize:this._tabSize,noWrap:this._noWrap});return t._spans=this._spans.slice(),t}blankCopy(t){return new e(t??``,{style:this._style,justify:this._justify,overflow:this._overflow,end:this._end,tabSize:this._tabSize,noWrap:this._noWrap})}split(e){let t=e??`
|
|
22
|
+
`,n=this._text,r=[],i=0;for(;;){let e=n.indexOf(t,i);if(e===-1){r.push(this.slice(i));break}r.push(this.slice(i,e)),i=e+t.length}return r}divide(e){if(e.length===0)return[this.copy()];let t=[],n=0;for(let r of e)t.push(this.slice(n,r)),n=r;return t.push(this.slice(n)),t}rstrip(){let e=this._text.replace(/\s+$/,``);return e.length<this._text.length&&(this.plain=e),this}pad(e,t){let n=(t??` `).repeat(e);return this._spans=this._spans.map(t=>t.move(e)),this._text=n+this._text+n,this}padLeft(e,t){let n=t??` `;return this._spans=this._spans.map(t=>t.move(e)),this._text=n.repeat(e)+this._text,this}padRight(e,t){let n=t??` `;return this._text+=n.repeat(e),this}setLength(e){return this._text.length<e?this._text+=` `.repeat(e-this._text.length):this._text.length>e&&(this.plain=this._text.slice(0,e)),this}extendStyle(e){let t=this._text.length;return this._text+=` `.repeat(e),this._spans=this._spans.map(n=>n.end===t?n.extend(e):n),this}truncate(e,t){if(this.cellLength<=e)return this;let n=t?.mode??`right`,r=t?.marker??`…`,i=M(r);if(e<=0)return this.plain=``,this;let a=Math.max(0,e-i);if(n===`right`)return this._cropRightTo(a),r&&(this._text+=r),this;if(n===`left`)return this._cropLeftTo(a),r&&(this._spans=this._spans.map(e=>e.move(r.length)),this._text=r+this._text),this;let o=Math.floor(a/2),s=a-o,c=this._cellPrefixCharLength(o),l=this._cellSuffixStartCharIndex(s),u=this._text.slice(0,c),d=this._text.slice(l),f=c,p=l,m=r.length-(p-f),h=[];for(let e of this._spans)e.end<=f?h.push(e):e.start>=p?h.push(e.move(m)):(e.start<f&&h.push(new ci(e.start,f,e.style)),e.end>p&&h.push(new ci(p+m,e.end+m,e.style)));return this._text=u+r+d,this._spans=h,this}_cropRightTo(e){let t=this._cellPrefixCharLength(e);this.plain=this._text.slice(0,t)}_cropLeftTo(e){let t=this._cellSuffixStartCharIndex(e),n=-t;this._spans=this._spans.map(e=>{if(!(e.end<=t))return new ci(Math.max(0,e.start+n),e.end+n,e.style)}).filter(e=>e!==void 0),this._text=this._text.slice(t)}_cellPrefixCharLength(e){let t=0,n=0;for(let r of this._text){let i=M(r);if(t+i>e)break;t+=i,n+=r.length}return n}_cellSuffixStartCharIndex(e){let t=[...this._text],n=0,r=0;for(let i=t.length-1;i>=0;i--){let a=M(t[i]);if(n+a>e)break;n+=a,r+=t[i].length}return this._text.length-r}align(e,t){let n=this.cellLength;if(n>=t)return this;let r=t-n;switch(e){case`left`:this.padRight(r);break;case`right`:this.padLeft(r);break;case`center`:{let e=Math.floor(r/2),t=r-e;this.padLeft(e),this.padRight(t);break}}return this}removeSuffix(e){return this._text.endsWith(e)&&(this.plain=this._text.slice(0,-e.length)),this}appendTokens(e){for(let[t,n]of e)this.append(t,n);return this}static assemble(t,n){let r=new e(``,{style:n?.style});for(let n of t)if(typeof n==`string`)r.append(n);else if(n instanceof e)r.append(n);else{let[e,t]=n;r.append(e,t)}return r}static styled(t,n){let r=new e(t);return r.stylize(n),r}static fromFragments(t,n){let r=new e(``,{end:n?.end??``});for(let e of t){let t=r.length;r.append(e.plain),r.stylize(e.style,t,r.length);for(let n of e.spans)r.stylize(n.style,t+n.start,t+n.end)}return r}*render(e){let t=this._expandTabs(this._text),n=this.resolvedStyle(e),r=this._buildSegments(t,n,e),i=V.splitLines(r),a=zt(Vr(e,this).maxWidth),o=this._overflow??e.overflow??`fold`,s=this._justify??e.justify,c=this._noWrap||(e.noWrap??!1)?zt(1/0):a,l=t.endsWith(`
|
|
23
|
+
`);for(let e=0;e<i.length;e+=1){let t=i[e],r=e<i.length-1||l,u=Wr(ti(t),c,{fold:o===`fold`}),d=V.divide(t,u),f=this._justifyLines(d.map(e=>[...this._fitLine(e,c,o)]),a,n,s);for(let e=0;e<f.length;e+=1)yield*f[e],(e<f.length-1||r)&&(yield V.line())}this._end&&(yield new V(this._end))}measure(e){let t=this._expandTabs(this._text).split(`
|
|
24
|
+
`),n=0,r=0;for(let e of t){let t=M(e);n=Math.max(n,t);let i=e.split(/\s+/);for(let e of i)e.length>0&&(r=Math.max(r,M(e)))}let i=zt(e.maxWidth);return{minimum:Math.min(r,i),maximum:Math.min(n,i)}}_expandTabs(e){return e.includes(` `)?e.replace(/\t/g,` `.repeat(this._tabSize)):e}_buildSegments(e,t,n){let r=t=>Math.max(0,Math.min(t,e.length)),i=new Set([0,e.length]);for(let e of this._spans)i.add(r(e.start)),i.add(r(e.end));let a=[...i].sort((e,t)=>e-t),o=new Map(a.map((e,t)=>[e,t])),s=a.slice(0,-1).map(()=>t);for(let e of this._spans){let t=r(e.end),i=oi(n,e.style),c=o.get(r(e.start));for(let e=c;a[e]<t;e++)s[e]=s[e].add(i)}return s.map((t,n)=>new V(e.slice(a[n],a[n+1]),t.isNull?void 0:t))}_justifyLines(e,t,n,r){return r===`full`?e.map((r,i)=>i===e.length-1?r:this._fillLine(r,t,n)):e.map(e=>[...this._justifyLine(e,t,r)])}*_justifyLine(e,t,n){switch(n){case`center`:case`right`:{let r=V.adjustLineLength(e,V.getLineLength(e)-ni(e),void 0,!1),i=Math.max(t-V.getLineLength(r),0),a=n===`center`?Math.floor(i/2):i;a>0&&(yield new V(` `.repeat(a))),yield*r;let o=i-a;o>0&&(yield new V(` `.repeat(o)));break}case`left`:yield*V.adjustLineLength(e,Math.max(t,V.getLineLength(e)));break;default:yield*e;break}}_fillLine(e,t,n){let r=ti(e),i=r.split(` `);r.endsWith(` `)&&i.pop();let a=i.length-1,o=Array(a).fill(1),s=i.reduce((e,t)=>e+M(t),0)+a;for(let e=0;s<t&&a>0;e=(e+1)%a)o[a-1-e]+=1,s+=1;let c=[],l=0;for(let e=0;e<i.length;e+=1)l+=M(i[e]),c.push(l),l+=1,e<a&&c.push(l);let u=V.divide(e,c),d=(e,t)=>e.filter(e=>e.hasText).at(t)?.style??n,f=[];for(let e=0;e<i.length;e+=1)if(f.push(...u[e*2]),e<a){let t=d(u[e*2],-1),r=d(u[e*2+2],0),i=t.equals(r)?t:n;f.push(new V(` `.repeat(o[e]),i.isNull?void 0:i))}return f}*_fitLine(e,t,n){let r=V.getLineLength(e);if(r-ni(e)<=t){yield*V.adjustLineLength(e,Math.min(r,t),void 0,!1);return}if(n===`ellipsis`&&t>0){yield*V.adjustLineLength(e,t-1,void 0,!1),yield new V(`…`);return}yield*V.adjustLineLength(e,t,void 0,!1)}},ui=class{items;joiner;constructor(e,t){this.items=e,this.joiner=t}*render(e){let t=this.items;if(t.length!==0){yield*this.joiner.join(null,t[0]).render(e);for(let n=0;n<t.length;n++){let r=t[n];yield*r.render(e);let i=n+1<t.length?t[n+1]:null;yield*this.joiner.join(r,i).render(e)}yield V.line()}}};const di={*render(e){}};var fi=class{_text;_style;constructor(e,t){this._text=e,this._style=t}*render(e){yield new V(this._text,this._style)}};function pi(e){return{render:e}}function mi(e){return new B({color:e.bgcolor})}function hi(e){return e!==void 0&&!e.isDefault?e:void 0}function gi(e){return new B({bgcolor:e}).drawnColors().bgcolor}function*_i(e,t){e!==``&&(yield new V(e,new B({color:gi(t)})))}function vi(e,t){let{color:n,bgcolor:r}=e.drawnColors(t??P.TRUECOLOR);if(n===void 0||r===void 0)return!1;let i=n.fixedValue,a=r.fixedValue;return i!==void 0&&a!==void 0?Bn.fromRgba(i).deltaE(Bn.fromRgba(a))<.04:n.number===r.number}const yi=Object.freeze({glyph:``,divider:``,lead:``,tail:``});var bi=class{_glyph;_divider;_lead;_tail;constructor(e=yi){this._glyph=e.glyph,this._divider=e.divider,this._lead=e.lead,this._tail=e.tail}join(e,t){let n=this._glyph,r=this._divider,i=this._lead,a=this._tail;return pi(function*(o){let s=e?.edgeStyle(`right`,o),c=hi(s?.bgcolor),l=hi(t?.edgeStyle(`left`,o).bgcolor);if(c===void 0){l!==void 0&&(yield*_i(i,l));return}if(l===void 0){yield*_i(a,c);return}let u=new B({color:gi(c),bgcolor:l});yield vi(u,o.colorSystem)?new V(r,new B({color:s?.color,bgcolor:c})):new V(n,u)})}},xi=class{_left;_right;_separator;constructor(e){this._left=e?.left??``,this._right=e?.right??``,this._separator=e?.separator??` `}*_emit(e,t,n){if(!(e===null&&t===null)){if(e===null){yield new V(this._left,mi(t.edgeStyle(`left`,n)));return}if(t===null){yield new V(this._right,mi(e.edgeStyle(`right`,n)));return}yield new V(this._right,mi(e.edgeStyle(`right`,n))),this._separator.length>0&&(yield new V(this._separator)),yield new V(this._left,mi(t.edgeStyle(`left`,n)))}}join(e,t){return pi(n=>this._emit(e,t,n))}},Si=class{_separator;_style;constructor(e){this._separator=e?.separator??` | `,this._style=e?.style??B.parse(`dim`)}join(e,t){return e===null||t===null?di:new fi(this._separator,this._style)}};function Ci(e,t){if(e.isControl||e.text.length===0)return;let n=e.style;return!n||n.isNull?{text:e.text,sgrCodes:``,link:void 0}:{text:e.text,sgrCodes:t.colorSystem===null?``:n.toSgrCodes(t.colorSystem),link:t.hyperlinks?n.link:void 0}}function wi(e,t){let n=[];for(let r of e){let e=Ci(r,t);e&&n.push(e)}if(n.length===0)return``;let r=[],i=0;for(;i<n.length;){let e=n[i].sgrCodes,t=i+1;for(;t<n.length&&n[t].sgrCodes===e;)t++;e.length>0&&r.push(`\x1b[${e}m`);let a=i;for(;a<t;){let e=n[a].link,i=a+1;for(;i<t&&n[i].link===e;)i++;if(e){r.push(Xr(e));for(let e=a;e<i;e++)r.push(n[e].text);r.push(`\x1B]8;;\x1B\\`)}else for(let e=a;e<i;e++)r.push(n[e].text);a=i}e.length>0&&r.push(`\x1B[0m`),i=t}return r.join(``)}function Ti(e,t){let n=t?.width??80,r={};t?.env!==void 0&&(r.env=t.env),t?.isTTY!==void 0&&(r.isTTY=t.isTTY);let i=t?.colorSystem,a=on(i===void 0?P.TRUECOLOR:i,r),o={colorSystem:t?.noColor?null:a.colorSystem,hyperlinks:t?.hyperlinks??a.hyperlinks},s={maxWidth:n,isTerminal:!1,encoding:`utf-8`,asciiOnly:!1,colorSystem:o.colorSystem};return wi(e.render(s),o)}function Ei(e,t){let n=[...e.render(t)],r=0;for(let e of n)r+=e.cellLength;return{segments:n,width:r}}const Di={segments:[],width:0},Oi={left:()=>0,justify:()=>0,center:e=>Math.floor(e/2),right:e=>e};function ki(e,t){return Oi[e](t)}function Ai(e,t,n,r){let i=Math.max(0,r-1),a=e===`justify`&&!t&&i>0&&n>0?n:0,o=i>0?Math.floor(a/i):0,s=a-o*i;return Array.from({length:i},(e,t)=>o+ +(t<s))}var ji=class{items;joiner;gap;align;constructor(e,t){this.items=e,this.joiner=t?.joiner,this.gap=t?.gap??0,this.align=t?.align??`left`}*render(e){let t=this.items;if(t.length===0)return;let n=Math.max(1,e.maxWidth),r=this.gap,i=this.joiner,a=t.map(t=>Ei(t,e)),o=n=>i?Ei(i.join(null,t[n]),e):Di,s=n=>i?Ei(i.join(t[n],null),e):Di,c=(n,r)=>i?Ei(i.join(t[n],t[r]),e):Di,l=[],u=null,d=r>0?{segments:[new V(` `.repeat(r))],width:r}:Di;for(let e=0;e<t.length;e++){let t=a[e];if(u===null){let n=o(e),r=s(e),i=n.width>0?[n,t]:[t],a=[i.length-1];u={blocks:i,width:n.width+t.width,lastIndex:e,itemBlockIndices:a},u.endCap=r;continue}let i=u.lastIndex,f=c(i,e),p=s(e),m=(r>0?r:0)+f.width+(r>0?r:0)+t.width;if(u.width+m+p.width<=n)r>0&&u.blocks.push(d),f.width>0&&u.blocks.push(f),r>0&&u.blocks.push(d),u.blocks.push(t),u.itemBlockIndices.push(u.blocks.length-1),u.width+=m,u.lastIndex=e,u.endCap=p;else{let n=u.endCap;n.width>0&&u.blocks.push(n),u.width+=n.width,l.push(u);let r=o(e),i=s(e),a=r.width>0?[r,t]:[t],c=[a.length-1];u={blocks:a,width:r.width+t.width,lastIndex:e,itemBlockIndices:c},u.endCap=i}}let f=u;{let e=f.endCap;e.width>0&&f.blocks.push(e),f.width+=e.width,l.push(f)}let p=this.align;for(let e=0;e<l.length;e++){let t=l[e],r=e===l.length-1,i=Math.max(0,n-t.width),a=ki(p,i),o=Ai(p,r,i,t.itemBlockIndices.length),s=new Map;t.itemBlockIndices.forEach((e,t)=>s.set(e,t)),a>0&&(yield new V(` `.repeat(a)));for(let e=0;e<t.blocks.length;e++){let n=s.get(e);if(n!==void 0&&n>0){let e=o[n-1];e>0&&(yield new V(` `.repeat(e)))}yield*t.blocks[e].segments}yield V.line()}}measure(e){let t=this.items;if(t.length===0)return{minimum:0,maximum:0};let n=0,r=0;for(let i=0;i<t.length;i++){let a=Ei(t[i],e).width,o=this.joiner?Ei(this.joiner.join(null,t[i]),e).width:0,s=this.joiner?Ei(this.joiner.join(t[i],null),e).width:0;n=Math.max(n,a+o+s),r+=a,i>0&&(r+=this.gap*2,this.joiner&&(r+=Ei(this.joiner.join(t[i-1],t[i]),e).width))}return this.joiner&&(r+=Ei(this.joiner.join(null,t[0]),e).width,r+=Ei(this.joiner.join(t[t.length-1],null),e).width),{minimum:n,maximum:r}}};const Mi=[`primary`,`secondary`,`accent`],H={"secondary-accent":[`secondary`,`accent`],"primary-secondary":[`primary`,`secondary`],primary:[`primary`]},Ni=`accent`,Pi=[0,.5,1],Fi=e=>e.flatMap(e=>Pi.map(t=>({hue:e,tone:t}))),Ii=Fi(Mi.filter(e=>Object.values(H).some(t=>t.includes(e)))),Li=e=>{let t=0,n=.5;for(let r=e;r>0;r>>=1,n/=2)t+=n*(r&1);return t},Ri=[`van-der-corput`,`golden-angle`,`ends-interleaved`,`monotonic`,`uniform`],zi=e=>typeof e==`string`&&Ri.includes(e),Bi={"van-der-corput":Li,"golden-angle":e=>e*.6180339887498949%1,"ends-interleaved":(e,t)=>((e%2==0?e/2:t-1-(e-1)/2)+.5)/t,monotonic:(e,t)=>(e+.5)/t,uniform:()=>.5},Vi=e=>Bi[e??`van-der-corput`];function Hi(e){let t=0,n=1;for(let{index:r,count:i,distribution:a}of e)t+=a(r,i)*n,n*=.37;return t%1}const Ui=(e,t)=>Math.floor(e*t),Wi=(e,t)=>Math.round(e*t)%t;function Gi(e,t,n){let r=e[n(t===void 0?0:t.distribution(t.index,t.count),e.length)];if(r===void 0)throw Error(`vocabularySelect: empty vocabulary`);return r}function Ki(e,t){let n=t.findIndex(e=>e.axis===`cell`),r=n===-1?t:t.slice(0,n);return{hue:Gi(e,r.at(-1),Ui),tone:Gi(Pi,t[r.length],Wi)}}function U(e,t){let n=e.get(t);if(n===void 0)throw Error(`palette "${e.name}" has no "${t}" role; decoration needs it`);return n}function qi(e,t){let n=Ji.get(e);n===void 0&&(n=new Map,Ji.set(e,n));let r=`${t.hue}|${t.tone}`,i=n.get(r);if(i!==void 0)return i;let a=Bn.fromRgba(U(e,t.hue)),o=Bn.fromRgba(U(e,`surface`)),s=(e,t)=>e.mixAxes(a,{l:t,c:.8,h:1,alpha:0}),c=s(o.mixAxes(Bn.fromRgba(U(e,`background`)),{l:.5,c:0,h:0,alpha:0}),0).mixAxes(s(o,.35),{l:t.tone,c:t.tone,h:t.tone,alpha:0}).toRgba();return n.set(r,c),c}const Ji=new WeakMap,Yi=(e,t,n)=>qi(e,Ki(t,n)),Xi=2.2;function Zi(e,t,n){let r=Qi(e,t,n);if(`refused`in r)throw Error(r.refused);return r.state}function Qi(e,t,n){let r=$i.get(e);r===void 0&&(r=new Map,$i.set(e,r));let i=`${t}|${n}`,a=r.get(i);if(a!==void 0)return a;let o=ea(e,t,n);return r.set(i,o),o}const $i=new WeakMap;function ea(e,t,n){let r=Ii.map(t=>$n(qi(e,t),P.TRUECOLOR)),i=_n(U(e,`surface`),U(e,t),.92),a=U(e,`foreground`),o=r.reduce((e,t)=>Zn(e,t,Xi),a),s=[...Array.from({length:13},(e,t)=>_n(i,a,t/12)),o].find(e=>r.every(t=>Xt($n(e,P.TRUECOLOR),t)>=Xi));if(s===void 0)return{refused:`palette "${e.name}": "${t}" cannot clear the ${Xi} state floor even beyond foreground`};let c=Qn(s,n,(e,t)=>r.every(n=>Xt(e,t(n))>=Xi));return c===void 0?{refused:`palette "${e.name}": "${t}" cannot clear the ${Xi} state floor on the colours drawn at depth ${P[n]}`}:{state:c}}const ta=4.5;function na(e,t,n){let r=ra.get(e);r===void 0&&(r=new Map,ra.set(e,r));let i=`${t.hex}|${n}`,a=r.get(i);if(a!==void 0)return a;let o=Xn(t),s=Zn([`background`,`foreground`].map(t=>U(e,t)).reduce((e,t)=>Xt(o,t)<Xt(o,e)?t:e),t,ta,n);return r.set(i,s),s}const ra=new WeakMap,ia={base:.42,perDepth:.14,cap:.75},aa={floor:.12,span:.8};function oa(e,t){return Mi[(Mi.indexOf(e)+t)%Mi.length]}const sa={triggerPlane:.1,nestedPlane:.035,nestedTriggerPlane:.08};function ca(e,t,n){let r=`${t.hue}|${t.depth}|${n}`,i=ma.get(e);i===void 0&&(i=new Map,ma.set(e,i));let a=i.get(r);if(a!==void 0)return a;let o=Zi(e,oa(t.hue,t.depth),n),s=pa(e,t,o,n),c=Qn(ua(e,t).plane,n,(e,t)=>s.every(([n,r])=>la(e,t(n))>=r));if(c===void 0)throw Error(`palette "${e.name}": the ${t.hue} band at depth ${t.depth} cannot keep its floors on the colours drawn at depth ${P[n]}`);let l={state:o,plane:c};return i.set(r,l),l}const la=(e,t)=>Bn.fromRgba(e).deltaE(Bn.fromRgba(t));function ua(e,t){let n=`${t.hue}|${t.depth}`,r=da.get(e);r===void 0&&(r=new Map,da.set(e,r));let i=r.get(n);if(i!==void 0)return i;let a=fa(e,t);return r.set(n,a),a}const da=new WeakMap;function fa(e,t){let n=Zi(e,oa(t.hue,t.depth),P.TRUECOLOR),r=Math.min(ia.cap,ia.base+ia.perDepth*t.depth);return{state:n,plane:_n(n,U(e,`background`),r)}}function pa(e,t,n,r){let{hue:i,depth:a}=t,o=t=>ua(e,{hue:i,depth:t}).state,s=t=>ua(e,{hue:i,depth:t}).plane,c=e=>$n(e,P.TRUECOLOR),l=s(a),u=(e,t)=>la(c(l),c(t))>=e?e:0,d=oa(i,a+1),f=Qi(e,d,r),p=Qi(e,d,P.TRUECOLOR);return[[n,u(sa.triggerPlane,o(a))],...`state`in f&&`state`in p?[[f.state,u(sa.nestedTriggerPlane,p.state)]]:[],...a>0?[[ca(e,{hue:i,depth:a-1},r).plane,u(sa.nestedPlane,s(a-1))]]:[]]}const ma=new WeakMap;function ha(e,t,n,r){let i=ca(e,t,r),a=ua(e,t),o=Qn(_n(a.plane,a.state,aa.floor+aa.span*Hi(n)),r,(e,t)=>e.hex!==t(i.plane).hex&&e.hex!==t(i.state).hex);if(o===void 0)throw Error(`palette "${e.name}": a ${t.hue} band item at depth ${t.depth} is drawn as its plane or its trigger at depth ${P[r]}, and nothing that depth draws is neither`);return o}const ga=e=>({kind:`bar`,progression:e,address:[]}),_a=(e,t)=>({...e,address:[...e.address,t]}),va=e=>({kind:`band`,band:e,address:[]});function ya(e,t,n){switch(t.kind){case`bar`:return{tint:Yi(e,t.progression,t.address),disclosure:{hue:Ni,depth:0}};case`band`:return{tint:ha(e,t.band,t.address,n),disclosure:{hue:t.band.hue,depth:t.band.depth+1}}}}const ba={dark:`textual-dark`,light:`textual-light`};function xa(e){return ba[e]??e}const Sa=`textual-dark`;function Ca(e,t,n,r,i){let a=t===null?null:i(t);return e??a??n??r}function wa(){return Object.keys(ba)}function Ta(){return[...or(),...wa()]}function Ea(){return[`bar`,...Ta()]}let Da;function Oa(e){return Da??=new Set(Ea()),Da.has(e)}function ka(e,t,n,r,i){let a=e=>Object.prototype.hasOwnProperty.call(i,e)?e:null;return Ca(e===void 0?null:a(e),t,a(n??r),r,a)}const Aa=[`look`,`palette`];function ja(e){return e!==void 0&&e.includes(`{{`)}function Ma(e,t,n,r,i){let a=ja(n)?{kind:`expression`,source:n}:i(n??r.name);return Ca(e===void 0?null:i(e),t,a,r,i)}function Na(e,t,n){return e.kind===`decided`?e:n(t())}const Pa=`none`;function Fa(e,t){let n=t[e];return n===void 0?null:{kind:`decided`,name:e,value:n}}function Ia(e,t){return Fa(e,t)??Fa(`none`,t)??{kind:`decided`,name:`none`,value:An}}function La(e,t,n,r){return Ma(e,t,n,Ia(Pa,r),e=>Fa(e,r))}const Ra=[`powerline`,`capsule`,`plain`];function za(e){return Ra.includes(e)}function Ba(e,t,n){return Ca(e,t,n,`powerline`,e=>za(e)?e:null)}const Va=[`unicode`,`ascii`],Ha=`unicode`;function Ua(e){return Va.includes(e)}function Wa(e,t,n){return Ca(e,t,n,Ha,e=>Ua(e)?e:null)}const Ga=[`truecolor`,`256`,`ansi`,`none`],Ka=`truecolor`;function qa(e){return Ga.includes(e)}function Ja(e,t,n){return Ca(e,t,n,Ka,e=>qa(e)?e:null)}function Ya(e){return sn(e)??P.DEFAULT}const Xa=Object.keys(H);function Za(e){return Xa.includes(e)}function Qa(e,t,n){return Ca(e,t,n,`secondary-accent`,e=>Za(e)?e:null)}const $a=`true`,eo=`false`,to=[$a,eo],no={min:0,max:16};function ro(e){return e===`true`?!0:e===`false`?!1:null}function io(e){if(!/^\d+$/.test(e))return null;let t=Number(e);return t>=no.min&&t<=no.max?t:null}function ao(e,t,n){return Ca(e,t,n,!0,ro)}function oo(e,t,n){return Ca(e,t,n,1,io)}var so=class extends Error{constructor(e,t){super(`${e} (at offset ${t})`),this.reason=e,this.offset=t,this.name=`Json5EditError`}};const co=/[A-Za-z_$\p{L}]/u,lo=/[A-Za-z0-9_$\u200C\u200D\p{L}\p{N}]/u,uo=/[A-Za-z0-9_$.+\-\p{L}\p{N}]/u,fo=/[\t\n\v\f\r \u00A0\uFEFF\u2028\u2029\p{Zs}]/u;var po=class{pos=0;constructor(e){this.text=e}peek(){return this.text[this.pos]??``}fail(e){throw new so(e,this.pos)}skipTrivia(){for(;;){let e=this.peek();if(e===``)return;if(fo.test(e))this.pos++;else if(e===`/`&&this.text[this.pos+1]===`/`){let e=this.text.indexOf(`
|
|
25
|
+
`,this.pos);this.pos=e===-1?this.text.length:e}else if(e===`/`&&this.text[this.pos+1]===`*`){let e=this.text.indexOf(`*/`,this.pos+2);e===-1&&this.fail(`unterminated block comment`),this.pos=e+2}else return}}expect(e){this.peek()!==e&&this.fail(`expected "${e}"`),this.pos++}value(){this.skipTrivia();let e=this.peek();if(e===`{`)return this.object();if(e===`[`)return this.array();if(e===`"`||e===`'`){let e=this.stringSpan();return{kind:`string`,span:e,value:this.decode(e)}}e===``&&this.fail(`unexpected end of input`);let t=this.pos;for(;this.pos<this.text.length&&uo.test(this.peek());)this.pos++;this.pos===t&&this.fail(`unexpected character "${e}"`);let n={start:t,end:this.pos},r=this.decode(n);return r===null?{kind:`null`,span:n}:typeof r==`boolean`?{kind:`boolean`,span:n,value:r}:typeof r==`number`?{kind:`number`,span:n,value:r}:this.fail(`unexpected word "${this.text.slice(t,this.pos)}"`)}decode(e){try{return Qe.default.parse(this.text.slice(e.start,e.end))}catch(t){throw new so(t.message,e.start)}}stringSpan(){let e=this.pos,t=this.peek();for(this.pos++;;){let n=this.peek();if(n===``&&this.fail(`unterminated string`),n===`\\`){let e=this.text.startsWith(`\r
|
|
26
26
|
`,this.pos+1);this.pos+=e?3:2;continue}if(this.pos++,n===t)return{start:e,end:this.pos};n===`
|
|
27
|
-
`&&this.fail(`unterminated string`)}}key(){let e=this.peek();if(e===`"`||e===`'`){let e=this.stringSpan();return{key:this.decode(e),span:e}}let t=this.pos;for(
|
|
27
|
+
`&&this.fail(`unterminated string`)}}key(){let e=this.peek();if(e===`"`||e===`'`){let e=this.stringSpan();return{key:this.decode(e),span:e}}let t=this.pos;for(co.test(e)||this.fail(`expected an object key`);this.pos<this.text.length&&lo.test(this.peek());)this.pos++;return{key:this.text.slice(t,this.pos),span:{start:t,end:this.pos}}}object(){let e=this.pos;this.expect(`{`);let t=[];for(;this.skipTrivia(),this.peek()!==`}`;){let{key:e,span:n}=this.key();if(t.some(t=>t.key===e))throw new so(`duplicate key "${e}"`,n.start);this.skipTrivia(),this.expect(`:`);let r=this.value();if(t.push({key:e,keySpan:n,value:r,span:{start:n.start,end:r.span.end}}),this.skipTrivia(),this.peek()===`,`){this.pos++;continue}this.peek()!==`}`&&this.fail(`expected "," or "}"`)}return this.expect(`}`),{kind:`object`,span:{start:e,end:this.pos},entries:t}}array(){let e=this.pos;this.expect(`[`);let t=[];for(;this.skipTrivia(),this.peek()!==`]`;){if(t.push(this.value()),this.skipTrivia(),this.peek()===`,`){this.pos++;continue}this.peek()!==`]`&&this.fail(`expected "," or "]"`)}return this.expect(`]`),{kind:`array`,span:{start:e,end:this.pos},elements:t}}};function mo(e){let t=new po(e),n=t.value();return t.skipTrivia(),t.pos!==e.length&&t.fail(`trailing content after the document`),n}function ho(e,t){return e.kind===`object`?e.entries.find(e=>e.key===t):void 0}function go(e,t){let n=e;for(let e of t)n=n===void 0?void 0:ho(n,e)?.value;return n}function _o(e,t){return e.slice(t.span.start,t.span.end)}function vo(e,t){let n=jo(e,t.span.start),r=yo(t),i=e=>r.some(t=>t.start<e&&e<t.end),a=t.span.start;return _o(e,t).split(`
|
|
28
28
|
`).map((e,t)=>{let r=a;return a+=e.length+1,(t>0&&!i(r-1)&&e.startsWith(n)?e.slice(n.length):e).replace(/\r$/,``)}).join(`
|
|
29
|
-
`)}function
|
|
29
|
+
`)}function yo(e){switch(e.kind){case`object`:return e.entries.flatMap(e=>[e.keySpan,...yo(e.value)]);case`array`:return e.elements.flatMap(yo);case`string`:return[e.span];default:return[]}}const bo=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function xo(e){return bo.test(e)?e:JSON.stringify(e)}const So={key:xo,trailingComma:`,`,parse:e=>Qe.default.parse(e)},Co={key:e=>JSON.stringify(e),trailingComma:``,parse:e=>JSON.parse(e)};function wo(e){if(Array.isArray(e))return e.length===0?`[]`:`[\n${e.map(e=>` ${Eo(wo(e),` `,`
|
|
30
30
|
`)},`).join(`
|
|
31
|
-
`)}\n]`;if(typeof e==`object`&&e){let t=Object.entries(e).filter(([,e])=>e!==void 0);return t.length===0?`{}`:`{\n${t.map(([e,t])=>` ${
|
|
31
|
+
`)}\n]`;if(typeof e==`object`&&e){let t=Object.entries(e).filter(([,e])=>e!==void 0);return t.length===0?`{}`:`{\n${t.map(([e,t])=>` ${xo(e)}: ${Eo(wo(t),` `,`
|
|
32
32
|
`)},`).join(`
|
|
33
|
-
`)}\n}`}return JSON.stringify(e)}function
|
|
33
|
+
`)}\n}`}return JSON.stringify(e)}function To(e){return e.includes(`\r
|
|
34
34
|
`)?`\r
|
|
35
35
|
`:`
|
|
36
|
-
`}function
|
|
37
|
-
`).join(`${n}${t}`)}function
|
|
38
|
-
`)}${n.trailingComma}\n}`;return`${n.key(r)}: ${a}`}function
|
|
39
|
-
`,t-1)+1}function
|
|
40
|
-
`)}const es=[`vertical`,`horizontal`],ts={vertical:`row`,horizontal:`cell`};function ns(e){return e.id??e.name}function rs(e){return[...os(e)].flatMap(e=>e.kind===`segment`?[ns(e)]:[])}function is(e,t){if(!t.has(e))return e;let n=2;for(;t.has(`${e}-${n}`);)n++;return`${e}-${n}`}function as(e,t){return e.opens===void 0?e:{...e,opens:{...e.opens,body:t(e.opens.body)}}}function*os(e){yield e;for(let t of us(e))yield*os(t)}const ss=(e,t)=>`${e}.children[${t}]`,cs=e=>`${e}.opens.body`;function*ls(e,t){if(yield[e,t],e.kind===`container`)for(let[n,r]of e.children.entries())yield*ls(r,ss(t,n));else e.opens!==void 0&&(yield*ls(e.opens.body,cs(t)))}function us(e){return e.kind===`container`?e.children:e.opens===void 0?[]:[e.opens.body]}function ds(e){return e===void 0||`text`in e?`text`:`regex`in e?`regex`:`json`}const fs=[`ttl`,`watch_file`,`depends_on`,`key`,`never`];function ps(e){return e.kind!==`literal`&&e.kind!==`input`&&e.kind!==`env`&&e.kind!==`state`}const ms=[`branch`,`sha`,`dirty`,`ahead`,`behind`,`stash`],hs=[`file`,`shell`,`git`],gs=`theme`;function _s(e){return{...e.settings,[gs]:{label:gs,domain:`theme`,default:e.palette??`bar`}}}function vs(e,t){let{domain:n}=e;return n===`bool`?typeof t==`boolean`:n===`theme`?typeof t==`string`&&Ta(t):`min`in n?typeof t==`number`&&Number.isInteger(t)&&t>=n.min&&t<=n.max:typeof t==`string`&&n.includes(t)}function ys(e){return String(e)}function bs(e,t){let{domain:n}=e,r=n===`bool`?t===`true`?!0:t===`false`?!1:t:typeof n==`object`&&`min`in n&&/^-?\d+$/.test(t)?Number(t):t;return vs(e,r)?r:void 0}function xs(e){let{domain:t}=e;return t===`bool`?`true or false`:t===`theme`?`"bar" (the bar's own theme) or an installed theme name`:`min`in t?`an integer from ${t.min} to ${t.max}`:`one of ${t.map(e=>JSON.stringify(e)).join(`, `)}`}const Ss=[`left`,`center`,`right`],Cs=[`right`,`left`,`middle`];function ws(e,t,n,r){let i=n[r];return typeof i==`string`?i:(e.issues.push({path:`${t}.${r}`,message:`${t}.${r} must be a string, got ${As(i)}`,line:W(e.source,[...t.split(`.`),r])}),null)}function Ts(e,t,n,r){let i=n.default;if(i!==void 0){if(!(r===`string`&&typeof i==`string`||r===`number`&&typeof i==`number`||r===`boolean`&&typeof i==`boolean`)){e.issues.push({path:`${t}.default`,message:`default must be a ${r}, got ${As(i)}`,line:W(e.source,[...t.split(`.`),`default`])});return}return i}}function Es(e,t,n,r){let i=n[r];if(i!==void 0){if(typeof i!=`string`){e.issues.push({path:`${t}.${r}`,message:`${t}.${r} must be a string, got ${As(i)}`,line:W(e.source,[...t.split(`.`),r])});return}return i}}function Ds(e,t,n){let r=Es(e,t,n,`palette`);if(r!==void 0){if(!e.allowedPalettes.has(r)){e.issues.push({path:`${t}.palette`,message:`Unknown palette "${r}". Expected one of: ${[...e.allowedPalettes].sort().join(`, `)}`,line:W(e.source,[...t.split(`.`),`palette`])});return}return r}}function Os(e,t,n,r,i){let a=n[r];if(a!==void 0){if(typeof a!=`string`||!i.includes(a)){e.issues.push({path:`${t}.${r}`,message:`${t}.${r} must be one of: ${i.join(`, `)}; got ${G(a)}`,line:W(e.source,[...t.split(`.`),r])});return}return a}}function ks(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function As(e){return e===null?`null`:Array.isArray(e)?`array`:typeof e}function G(e){return typeof e==`string`?JSON.stringify(e):e===void 0?`undefined`:String(e)}function js(e,t,n,r){return ks(r)?(Ps(e,n,r,t.noun,new Set(Object.keys(t.fields))),Ms(e,t.fields,n,r)):(e.issues.push({path:n,message:`${n} must be an object, got ${As(r)}`,line:W(e.source,n.split(`.`))}),null)}function Ms(e,t,n,r){let i=t,a={},o=!0;for(let[t,s]of Object.entries(i)){let i=s.parse(e,n,t,r);i===void 0?s.required&&(o=!1):a[t]=i}return o?a:null}const Ns=new Set;function Ps(e,t,n,r,i,a=Ns){for(let o of Object.keys(n))!i.has(o)&&!a.has(`${t}.${o}`)&&e.issues.push({path:`${t}.${o}`,message:`Unknown ${r} "${o}". Expected one of: ${[...i].join(`, `)}`,line:W(e.source,[...t.split(`.`),o])})}function Fs(e,t,n){return e.issues.push({path:t,message:n,line:W(e.source,t.split(`.`))}),null}function Is(e,t,n,r){if(!ks(r))return e.issues.push({path:n,message:`${t.noun} must be an object, got ${As(r)}`,line:W(e.source,n.split(`.`))}),null;let i=t.arms,a=Object.keys(i),o=Object.keys(r).filter(e=>e in i),s=Object.keys(r).filter(e=>!(e in i));for(let r of s)e.issues.push({path:`${n}.${r}`,message:`Unknown ${t.noun} key "${r}". Expected exactly one of: ${a.join(`, `)}`,line:W(e.source,[...n.split(`.`),r])});if(o.length===0)return e.issues.push({path:n,message:`${t.noun} must declare exactly one of: ${a.join(`, `)}`,line:W(e.source,n.split(`.`))}),null;if(o.length>1)return e.issues.push({path:n,message:`${t.noun} must declare exactly one of: ${a.join(`, `)} (found: ${o.join(`, `)})`,line:W(e.source,n.split(`.`))}),null;let c=o[0];return i[c].parse(e,`${n}.${c}`,r[c])}function Ls(e,t,n,r){if(!ks(r))return e.issues.push({path:n,message:`${n} must be an object, got ${As(r)}`,line:W(e.source,n.split(`.`))}),null;let i=r[t.tag];if(typeof i!=`string`)return e.issues.push({path:`${n}.${t.tag}`,message:`${n}.${t.tag} must be a string, got ${As(i)}`,line:W(e.source,n.split(`.`))}),null;let a=t.arms;if(!(i in a))return e.issues.push({path:`${n}.${t.tag}`,message:`Unknown ${t.noun} "${i}". Expected one of: ${Object.keys(a).join(`, `)}`,line:W(e.source,[...n.split(`.`),t.tag])}),null;let o=a[i],s=e.issues.length,c=o.parse(e,n,r),l=new Set(e.issues.slice(s).map(e=>e.path));return Ps(e,n,r,`${i} ${t.memberNoun} key`,o.keys,l),c}function Rs(e,t,n){return{json:Ys(qs(n),e,t),keys:new Set([e,...Object.keys(n)])}}function zs(e){return(...t)=>e()(...t)}function Bs(e,...t){return(n,r,i)=>{let a=e(n,r,i);if(a===null)return null;for(let e of t){if(e.ok(a))continue;let{field:t,message:i}=e.issue(a),o=t===``?r:`${r}.${t}`;return n.issues.push({path:o,message:i,line:W(n.source,o.split(`.`))}),null}return a}}function K(){return{required:!1,json:{type:`string`},parse:(e,t,n,r)=>Es(e,t,r,n)}}function Vs(){return{required:!1,json:{type:`boolean`},parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0){if(typeof i!=`boolean`){e.issues.push({path:`${t}.${n}`,message:`${n} must be a boolean, got ${As(i)}`,line:W(e.source,[n])});return}return i}}}}function Hs(e){let{min:t,max:n}=e;return{required:!1,json:{type:`integer`,minimum:t,maximum:n},parse:(e,r,i,a)=>{let o=a[i];if(o!==void 0){if(typeof o!=`number`||!Number.isInteger(o)||o<t||o>n){e.issues.push({path:`${r}.${i}`,message:`${i} must be an integer between ${t} and ${n}, got ${G(o)}`,line:W(e.source,[i])});return}return o}}}}function Us(e={}){let{min:t}=e;return{required:!1,json:{type:`number`,...t!==void 0&&{minimum:t}},parse:(e,n,r,i)=>{let a=i[r];if(a!==void 0){if(typeof a!=`number`||!Number.isFinite(a)||t!==void 0&&a<t){let i=t===void 0?`a finite number`:`a finite number >= ${t}`;e.issues.push({path:`${n}.${r}`,message:`${r} must be ${i}, got ${G(a)}`,line:W(e.source,[r])});return}return a}}}}function Ws(){return{required:!1,json:{type:`string`},parse:(e,t,n,r)=>Ds(e,t,r)}}function Gs(){return{required:!0,json:{type:`string`},parse:(e,t,n,r)=>ws(e,t,r,n)??void 0}}function Ks(e){return{required:!1,json:{enum:[...e]},parse:(t,n,r,i)=>Os(t,n,i,r,e)}}function qs(e,t={closed:!0}){let n=e,r={},i=[];for(let[e,t]of Object.entries(n))r[e]=t.json,t.required&&i.push(e);return{type:`object`,properties:r,...i.length>0&&{required:i},...t.closed&&{additionalProperties:!1}}}function Js(e){return qs(e.fields)}function Ys(e,t,n){let r=e,i={[t]:{const:n},...r.properties},a=[t,...r.required??[]];return{...r,properties:i,required:a}}function Xs(e){let t=e.arms;return{anyOf:Object.values(t).map(e=>e.json)}}function Zs(e){let t=e.arms;return{anyOf:Object.entries(t).map(([e,t])=>({type:`object`,properties:{[e]:t.json},required:[e],additionalProperties:!1}))}}const Qs=/^[A-Za-z_][A-Za-z0-9_]*$/;function $s(e){return`#${e+1}`}const ec={rows:{}};function tc(e){return`rows`in e}function nc(e){return Object.fromEntries(e.map((e,t)=>[$s(t),e]))}function rc(e){if(e.kind===`container`&&e.direction===`vertical`){let{kind:t,direction:n,children:r,...i}=e;return{...i,rows:nc(r)}}let{when:t,...n}=e;return{...t!==void 0&&{when:t},rows:nc([n])}}function ic(e){let{rows:t,...n}=e;return{kind:`container`,direction:`vertical`,children:Object.values(t),...n}}function ac(e){return tc(e)?ic(e):e}function*oc(e,t){if(!tc(e)){yield*ls(e,t);return}yield[ic(e),t];for(let[n,r]of Object.entries(e.rows))yield*ls(r,`${t}.rows.${n}`)}function sc(e,t){return tc(e)?{...t,...e,rows:{...t.rows,...e.rows}}:rc(e)}function cc(e){if(!tc(e))return!0;let{rows:t,...n}=e;return Object.values(n).some(e=>e!==void 0)||Object.keys(t).length>0}function lc(e,t){return{globals:{...t.globals,...e.globals??{}},variables:{...t.variables,...e.variables??{}},segments:fc(t.segments,uc(t.segments,e.segments??{})),root:sc(e.root??ec,t.root),actions:{...t.actions,...e.actions??{}},looks:{...t.looks,...e.looks??{}},presets:fc(t.presets,dc(t.presets,e.presets??{})),editGlobals:{...t.editGlobals,...e.editGlobals??{}},helpers:{...t.helpers,...e.helpers??{}}}}function uc(e,t){return Object.fromEntries(Object.entries(t).map(([t,n])=>[t,n.settings===void 0?n:{...n,settings:{...e[t]?.settings,...n.settings}}]))}function dc(e,t){return Object.fromEntries(Object.entries(t).map(([t,n])=>[t,n.globals===void 0?n:{...n,globals:{...e[t]?.globals,...n.globals}}]))}function fc(e,t){return{...e,...Object.fromEntries(Object.entries(t).map(([t,n])=>[t,{...e[t],...n}]))}}const pc=`closed`,mc=`🍫`;function hc(e,t,n){if(t===0)return`${e} needs a display (the clickable text)`;if(t!==1&&t!==n)return`${e} cycles ${n} members; bind one display per member (${n}) or one static display, got ${t}`}function gc(e,t,n,r){let i=hc(e,t.length,n);if(i!==void 0)throw Error(i);return t.length===1?t[0]:t[r]}function _c(e){return e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}function vc(e,t,n,r,i){return{kind:`segment`,name:e,opens:{ref:t,body:n,placement:r},...i!==void 0&&{when:i}}}function yc(e,...t){return`{{ and ${[e,...t].map(bc).join(` `)} }}`}function bc(e){return`(eq .${e.variable} "${_c(e.member)}")`}function xc(e,t,n){return`{{ action "${e}" "${_c(t)}" "${_c(n)}" }}`}function Sc(e,t){return{kind:`state`,key:e,default:t}}function Cc(e,t){return{set:e,cycle:[pc,t]}}const wc={required:!1,json:{enum:[...Ha]},parse:(e,t,n,r)=>{if(r[n]===`auto`){e.issues.push({path:`${t}.${n}`,message:`${t}.${n}: "auto" is not supported — the render daemon runs detached, so terminal detection would read the daemon's environment, not your terminal's. Pick an explicit depth: ${Ha.join(`, `)}`,line:W(e.source,[...t.split(`.`),n])});return}return Os(e,t,r,n,Ha)}},Tc={required:!1,json:{type:`string`},parse:(e,t,n,r)=>{let i=Es(e,t,r,n);return Oa(i)?i:Ds(e,t,r)}},Ec=/^[^\r\n]*\S[^\r\n]*$/u,Dc=RegExp(`^(?:❌|✕)[\\uFE0E\\uFE0F]?$`,`u`),Oc={required:!1,json:{type:`string`,pattern:Ec.source,not:{pattern:Dc.source}},parse:(e,t,n,r)=>{let i=Es(e,t,r,n);if(i===void 0||Ec.test(i)&&!Dc.test(i))return i;e.issues.push({path:`${t}.${n}`,message:`${t}.${n}: must be one line of visible text other than a close glyph ("❌", "✕") — the settings menu needs a glyph to click`,line:W(e.source,[...t.split(`.`),n])})}},kc={default_bg:K(),default_fg:K(),default_empty_value:K(),default_separator:K(),default_truncate_marker:K(),palette:Tc,look:K(),preset:K(),style:Ks(Fa),progression:Ks(qa),autoWrap:Vs(),padding:Hs($a),charset:Ks(Ra),updateNotice:Vs(),colorCompatibility:wc,menuGlyph:Oc},Ac={noun:`globals key`,fields:kc};function jc(e,t){return{required:!1,json:{not:{},description:`not allowed here — ${e}`},parse:(e,n,r,i)=>{i[r]!==void 0&&e.issues.push({path:`${n}.${r}`,message:t(`${n}.${r}`),line:W(e.source,[...n.split(`.`),r])})}}}function Mc(e){return jc(`${e} cannot select a preset`,t=>`${t}: ${e} cannot select a preset. Which preset is active is resolved once, as session pick over globals.preset over "default"; a fragment naming another would be a second authority over that. Set the default arrangement in the top-level globals.preset instead.`)}function Nc(e){return jc(`${e} cannot change the settings menu glyph`,t=>`${t}: ${e} cannot change the settings menu glyph — one menu is shared by every preset. Set it in the top-level globals.menuGlyph instead.`)}const Pc={preset:Mc(`a preset`),menuGlyph:Nc(`a preset`)},Fc={noun:`preset globals key`,fields:{...kc,...Pc}};function Ic(e){return Uc(e)&&!(e in Pc)}const Lc={noun:`editGlobals key`,fields:{...kc,preset:Mc(`the editGlobals fragment`),menuGlyph:Nc(`the editGlobals fragment`)}};function Rc(e,t,n){return n===void 0?{}:js(e,Ac,t,n)??{}}function zc(e,t,n){return js(e,Fc,t,n)??{}}function Bc(){return Js(Fc)}function Vc(e,t,n){return js(e,Lc,t,n)??{}}const Hc=new Set(Object.keys(Ac.fields));function Uc(e){return Hc.has(e)}function Wc(){return[...Hc]}const Gc={padding:1};function Kc(e){let t=new Map;for(let[n,r]of Object.entries(Gc)){let i=e[n];t.set(n,typeof i==`number`?i:r)}return t}function qc(e,t,n,r){return n.cache===void 0?(hs.includes(r)&&e.issues.push({path:`${t}.cache`,message:`${r} variables must declare a cache policy (one of: ${fs.join(`, `)})`,line:W(e.source,t.split(`.`))}),null):Qc(e,`${t}.cache`,n.cache)}function Jc(e,t,n){if(n.cache!==void 0)return Qc(e,`${t}.cache`,n.cache)??void 0}function Yc(e){return{required:!0,json:tl(),parse:(t,n,r,i)=>qc(t,n,i,e)??void 0}}function Xc(){return{required:!1,json:tl(),parse:(e,t,n,r)=>Jc(e,t,r)}}const Zc={noun:`cache`,arms:{ttl:{json:{type:`string`},parse:(e,t,n)=>typeof n==`string`&&rl(n)?{ttl:n}:Fs(e,t,`cache.ttl must be a duration string like "5s", "100ms", "2m", "1h"; got ${G(n)}`)},watch_file:{json:{type:`string`},parse:(e,t,n)=>typeof n==`string`&&n!==``?{watch_file:n}:Fs(e,t,`cache.watch_file must be a non-empty path string, got ${G(n)}`)},depends_on:{json:{type:`array`,items:{type:`string`}},parse:(e,t,n)=>Array.isArray(n)&&n.every(e=>typeof e==`string`)?{depends_on:n}:Fs(e,t,`cache.depends_on must be an array of variable-name strings, got ${G(n)}`)},key:{json:{type:`string`},parse:(e,t,n)=>typeof n==`string`&&n!==``?{key:n}:Fs(e,t,`cache.key must be a non-empty template string, got ${G(n)}`)},never:{json:{const:!0},parse:(e,t,n)=>n===!0?{never:!0}:Fs(e,t,`cache.never must be the literal boolean true, got ${G(n)}`)}}};function Qc(e,t,n){return Is(e,Zc,t,n)}const $c={noun:`time-variable cache`,arms:{ttl:Zc.arms.ttl}};function el(){return{required:!1,json:Zs($c),parse:(e,t,n,r)=>r.cache===void 0?void 0:Is(e,$c,`${t}.cache`,r.cache)??void 0}}function tl(){return Zs(Zc)}const nl=/^(\d+(?:\.\d+)?)(ms|s|m|h)$/;function rl(e){return nl.test(e)}function il(e,t,n){if(n===void 0)return{};if(!ks(n))return e.issues.push({path:t,message:`${t} must be an object, got ${As(n)}`,line:W(e.source,t.split(`.`))}),{};let r={};for(let[i,a]of Object.entries(n)){let n=Ls(e,El,`${t}.${i}`,a);n!==null&&(r[i]=n)}return r}function al(){return{required:!0,json:{type:[`string`,`number`,`boolean`]},parse:(e,t,n,r)=>{let i=r.value;if(typeof i!=`string`&&typeof i!=`number`&&typeof i!=`boolean`){e.issues.push({path:`${t}.value`,message:`literal value must be string|number|boolean, got ${As(i)}`,line:W(e.source,t.split(`.`))});return}return i}}}function ol(){return{required:!0,json:{enum:[...ms]},parse:(e,t,n,r)=>{let i=r.field;if(typeof i!=`string`||!ms.includes(i)){e.issues.push({path:`${t}.field`,message:`git field must be one of: ${ms.join(`, `)}, got ${JSON.stringify(i)}`,line:W(e.source,[...t.split(`.`),`field`])});return}return i}}}function sl(){return{required:!1,json:{type:[`string`,`number`,`boolean`]},parse:(e,t,n,r)=>{let i=r.type;return Ts(e,t,r,i===`number`||i===`boolean`||i===`string`?i:`string`)}}}const cl={noun:`parse`,arms:{text:{json:{const:!0},parse:(e,t,n)=>n===!0?{text:!0}:Fs(e,t,`parse.text must be the literal boolean true, got ${G(n)}`)},regex:{json:{type:`string`},parse:(e,t,n)=>typeof n==`string`?ll(e,t,n):Fs(e,t,`parse.regex must be a pattern string, got ${G(n)}`)},json:{json:{const:!0},parse:(e,t,n)=>n===!0?{json:!0}:Fs(e,t,`parse.json must be the literal boolean true, got ${G(n)}`)}}};function ll(e,t,n){let r;try{new RegExp(n),r=RegExp(`${n}|`).exec(``).length-1}catch(n){return Fs(e,t,`parse.regex is not a valid regular expression: ${n.message}`)}return r>=1?{regex:n}:Fs(e,t,`parse.regex must contain a capture group — its group 1 is the value; got ${JSON.stringify(n)}`)}function ul(){return{required:!1,json:Zs(cl),parse:(e,t,n,r)=>(r.regex!==void 0&&e.issues.push({path:`${t}.regex`,message:`${t}.regex was retired; the regex is the parse step's regex arm now: parse: { regex: ${JSON.stringify(r.regex)} }`,line:W(e.source,[...t.split(`.`),`regex`])}),r.parse===void 0?void 0:Is(e,cl,`${t}.parse`,r.parse)??void 0)}}function dl(){return{required:!1,json:{type:[`string`,`number`,`boolean`,`array`,`object`],description:`The value published when the source fails: a string under the text/regex parse arms, any non-null JSON value under the json arm`},parse:(e,t,n,r)=>ks(r.parse)&&`json`in r.parse?fl(e,t,r.default):Es(e,t,r,`default`)}}function fl(e,t,n){if(n!==void 0)return pl(n)?n:Fs(e,`${t}.default`,`${t}.default must be a JSON value (a json-parsed source's document), got ${G(n)}`)??void 0}function pl(e){return e!==null&&ml(e)}function ml(e){if(e===null)return!0;switch(typeof e){case`string`:case`boolean`:return!0;case`number`:return Number.isFinite(e);case`object`:{if(Array.isArray(e))return e.every(ml);let t=Object.getPrototypeOf(e);return(t===Object.prototype||t===null)&&Object.values(e).every(ml)}default:return!1}}const hl={value:al(),default:K()},gl={path:Gs(),type:Ks([`string`,`number`,`boolean`]),default:sl()},_l={name:Gs(),default:K()},vl={path:Gs(),readMode:Ks([`whole`,`first-line`]),parse:ul(),cache:Yc(`file`),default:dl()},yl={command:Gs(),parse:ul(),cache:Yc(`shell`),default:dl()},bl={template:Gs(),cache:Xc(),default:K()},xl={layout:Gs(),cache:el(),default:K()},Sl={field:ol(),cache:Yc(`git`),default:K()},Cl={key:Gs(),default:K()},wl=`kind`;function Tl(e,t){return{...Rs(wl,e,t),parse:(n,r,i)=>{let a=Ms(n,t,r,i);return a===null?null:{kind:e,...a}}}}const El={tag:wl,noun:`source kind`,memberNoun:`variable`,arms:{literal:Tl(`literal`,hl),input:Tl(`input`,gl),env:Tl(`env`,_l),file:Tl(`file`,vl),shell:Tl(`shell`,yl),template:Tl(`template`,bl),time:Tl(`time`,xl),git:Tl(`git`,Sl),state:Tl(`state`,Cl)}};function Dl(){return Xs(El)}function Ol(){return{type:`object`,additionalProperties:Dl()}}function kl(e){return e.replace(/[^A-Za-z0-9]+/g,`_`)}const Al=`groups.`,jl=`menus.`,Ml=`edit.`,Nl=`candybar.`,Pl=[Al,jl,Ml,Nl];function Fl(e){return Pl.some(t=>e.startsWith(t))}function Il(e){let t=kl(e);return Pl.find(e=>t.startsWith(kl(e)))}function Ll(e,t,n,r){for(let i of[`variables`,`actions`,`segments`])for(let a of Object.keys(t[i]??{}))a.startsWith(n)&&e.issues.push({path:`${i}.${a}`,message:`"${a}" is in the reserved "${n}" namespace (synthesized by ${r}) — rename it`,line:W(e.source,[`root`])})}const Rl=new Map([[`gitTaculous`,`gitaculous`],[`git`,`gitaculous`],[`settings.menu`,`candybar.menu`]]);function zl(e){let t=Rl.get(e);return t===void 0?``:` (the built-in segment "${e}" was renamed to "${t}" — update this reference)`}const Bl=/^[A-Za-z_][A-Za-z0-9_]*$/,Vl={pattern:Bl.source},Hl={anyOf:[{type:`boolean`},{type:`string`},{type:`integer`}]},Ul={type:`object`,additionalProperties:!1,required:[`label`,`domain`,`default`],properties:{label:{type:`string`,pattern:`^[^\\n\\r]+$`},domain:{anyOf:[{const:`bool`},{type:`array`,items:{type:`string`,pattern:`^[^/\\n\\r]+$`},minItems:1,uniqueItems:!0},{type:`object`,additionalProperties:!1,required:[`min`,`max`],properties:{min:{type:`integer`},max:{type:`integer`}}}]},default:Hl}},Wl=[`label`,`domain`,`default`];function Gl(e,t,n){e.issues.push({path:t,message:n,line:W(e.source,t.split(`.`))})}function Kl(e,t,n){if(n===`bool`)return`bool`;if(Array.isArray(n)){let r=n.filter(e=>typeof e==`string`);if(n.length===0||r.length!==n.length)return Gl(e,t,`a list domain must be a non-empty list of words, got ${JSON.stringify(n)}`);if(new Set(r).size!==r.length)return Gl(e,t,`a list domain names each word once, got ${JSON.stringify(n)}`);let i=r.filter(e=>e===``||e.includes(`/`)||/[\n\r]/.test(e));return i.length>0?Gl(e,t,`a list domain's words must be non-empty, slash-free, and newline-free — configure mode writes each on the set-state wire — got ${JSON.stringify(i)}`):r}if(ks(n)){let{min:r,max:i}=n;return Object.keys(n).filter(e=>e!==`min`&&e!==`max`).length===0&&Number.isInteger(r)&&Number.isInteger(i)&&r<=i?{min:r,max:i}:Gl(e,t,`a range domain is { min, max } with integers min ≤ max, got ${JSON.stringify(n)}`)}return Gl(e,t,`domain must be "bool", a list of words, or { min, max }, got ${G(n)}`)}function ql(e,t,n){if(!ks(n))return Gl(e,t,`${t} must be { label, domain, default }, got ${As(n)}`);for(let r of Object.keys(n))Wl.includes(r)||Gl(e,`${t}.${r}`,`Unknown setting key "${r}". Expected one of: ${Wl.join(`, `)}`);let{label:r}=n,i=typeof r==`string`&&r.length>0&&!/[\n\r]/.test(r);i||Gl(e,`${t}.label`,`a setting needs a one-line, non-empty "label" — the name its control shows, spliced into a synthesized template string — got ${G(r)}`);let a=Kl(e,`${t}.domain`,n.domain);if(!i||a===void 0)return;let o={label:r,domain:a,default:n.default};return!Jl(n.default)||!vs(o,n.default)?Gl(e,`${t}.default`,`default must be ${xs(o)}, got ${G(n.default)}`):o}function Jl(e){return typeof e==`boolean`||typeof e==`string`||typeof e==`number`}function Yl(){return{required:!1,json:{type:`object`,propertyNames:{...Vl,not:{const:gs}},additionalProperties:Ul},parse:(e,t,n,r)=>{let i=r[n];if(i===void 0)return;let a=`${t}.${n}`;if(!ks(i))return Gl(e,a,`${a} must be an object of name → { label, domain, default }, got ${As(i)}`);let o=Object.create(null);for(let[t,n]of Object.entries(i)){if(!Bl.test(t)){Gl(e,`${a}.${t}`,`setting name "${t}" is read as .settings.${t} in a template, so it must be an identifier (letters, digits, _; not starting with a digit)`);continue}if(t===`theme`){Gl(e,`${a}.${t}`,`setting "${gs}" is one every placement already has — its default for this segment is segments.<name>.palette, and a placement sets its own with settings: { ${gs}: "<theme>" }`);continue}let r=ql(e,`${a}.${t}`,n);r!==void 0&&(o[t]=r)}return o}}}function Xl(){return{required:!1,json:{type:`string`,minLength:1,pattern:`^[^:/]+$`},parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0)return typeof i==`string`&&i.length>0&&!/[:/]/.test(i)?i:Gl(e,`${t}.${n}`,`a placement "id" must be a non-empty string without "/" or ":", got ${G(i)}`)}}}function Zl(){return{required:!1,json:{type:`object`,propertyNames:Vl,additionalProperties:Hl},parse:(e,t,n,r)=>{let i=r[n];if(i===void 0)return;let a=`${t}.${n}`;if(!ks(i))return Gl(e,a,`a placement's "settings" must be an object of setting name → value, got ${As(i)}`);let o=Object.create(null);for(let[t,n]of Object.entries(i))Jl(n)?o[t]=n:Gl(e,`${a}.${t}`,`setting "${t}" must be a boolean, a word, or a number, got ${As(n)}`);return o}}}function Ql(e){return new Set(Object.keys(e.segments).filter(e=>!Fl(e)))}function $l(e,t,n){if(t===void 0)return{};if(!ks(t))return e.issues.push({path:`segments`,message:`segments must be an object, got ${As(t)}`,line:W(e.source,[`segments`])}),{};let r={};for(let[i,a]of Object.entries(t)){let t=js(e,n.has(i)?au:iu,`segments.${i}`,a);t!==null&&(r[i]=t)}return r}function eu(){return{required:!0,json:{type:`string`},parse:(e,t,n,r)=>r[n]===void 0?Fs(e,`${t}.${n}`,`${t} declares no template — only a segment the bundled default declares may omit it (inheriting the bundled template); a segment of your own needs its own${zl(t.slice(9))}`)??void 0:ws(e,t,r,n)??void 0}}function tu(){return{required:!1,json:{anyOf:[{const:`auto`},{const:`fill`},{type:`integer`,minimum:1}]},parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0){if(i===`auto`)return`auto`;if(i===`fill`)return`fill`;if(typeof i==`number`&&Number.isInteger(i)&&i>0)return i;e.issues.push({path:`${t}.${n}`,message:`width must be "auto", "fill", or a positive integer, got ${G(i)}`,line:W(e.source,[...t.split(`.`),n])})}}}}function nu(){return{required:!1,json:Ol(),parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0)return il(e,`${t}.${n}`,i)}}}const ru={template:eu(),description:K(),width:tu(),justify:Ks(Ss),truncate:Ks(Cs),bg:K(),fg:K(),when:K(),palette:Ws(),vars:nu(),settings:Yl()},iu={noun:`segment key`,fields:ru},au={noun:`segment key`,fields:{...ru,template:K()}},ou=`#/definitions/LayoutNode`,su={kind:`container`,direction:`vertical`,children:[]};function cu(e){return{required:!0,json:{const:e},parse:()=>e}}function lu(){return{required:!0,json:{type:`string`},parse:(e,t,n,r)=>{let i=r[n];return typeof i==`string`&&i.length>0?i:(e.issues.push({path:`${t}.${n}`,message:`a segment node must have a non-empty "name" (a segment name), got ${G(i)}`,line:W(e.source,[`root`])}),``)}}}function uu(){return{required:!0,json:{enum:[...es]},parse:(e,t,n,r)=>{let i=r[n];return typeof i==`string`&&es.includes(i)?i:(e.issues.push({path:`${t}.${n}`,message:`a container "direction" must be one of: ${es.join(`, `)} (got ${JSON.stringify(i)})`,line:W(e.source,[`root`])}),`vertical`)}}}function du(e){return{required:!0,json:{type:`array`,items:{$ref:ou}},parse:(t,n,r,i)=>{let a=i[r];return Array.isArray(a)?a.map((i,a)=>e(t,`${n}.${r}[${a}]`,i)):(t.issues.push({path:`${n}.${r}`,message:`a container must have a "children" array of layout nodes, got ${As(a)}`,line:W(t.source,[`root`])}),[])}}}const fu={noun:`layout-node key`,fields:{kind:cu(`segment`),name:lu(),when:K(),id:Xl(),settings:Zl()}},pu=()=>Ks(Pi),mu={noun:`layout-node key`,fields:{kind:cu(`container`),direction:uu(),children:du(zs(()=>yu)),when:K(),distribution:pu()}};function hu(){return{required:!0,json:{type:`string`},parse:(e,t,n,r)=>{let i=r[n];return typeof i==`string`&&i.length>0?i:(e.issues.push({path:`${t}.${n}`,message:`a "seg" node must have a non-empty segment name, got ${G(i)}`,line:W(e.source,[`root`])}),``)}}}const gu={noun:`layout-node key`,fields:{seg:hu(),when:K(),id:Xl(),settings:Zl()}},_u={noun:`layout-node key`,fields:{h:du(zs(()=>yu)),when:K(),distribution:pu()}},vu={noun:`layout-node key`,fields:{v:du(zs(()=>yu)),when:K(),distribution:pu()}},yu=(e,t,n)=>{if(typeof n==`string`)return n.length===0?(e.issues.push({path:t,message:`a bare-string layout node must be a non-empty segment name`,line:W(e.source,[`root`])}),su):{kind:`segment`,name:n};if(!ks(n))return e.issues.push({path:t,message:`a layout node must be a string (segment name) or an object with "kind" / "seg" / "h" / "v", got ${As(n)}`,line:W(e.source,[`root`])}),su;if(n.kind===`container`)return js(e,mu,t,n)??su;if(n.kind===`segment`)return js(e,fu,t,n)??su;if(n.kind===`cells`)return e.issues.push({path:t,message:`kind: "cells" is no longer supported — use the h-arm spelling instead:
|
|
36
|
+
`}function Eo(e,t,n){return e.split(`
|
|
37
|
+
`).join(`${n}${t}`)}function Do(e,t,n){let[r,...i]=e,a=i.length===0?t:`{\n ${Eo(Do(i,t,n),` `,`
|
|
38
|
+
`)}${n.trailingComma}\n}`;return`${n.key(r)}: ${a}`}function Oo(e,t,n,r){return e.slice(0,t)+r+e.slice(n)}function ko(e,t){return e.lastIndexOf(`
|
|
39
|
+
`,t-1)+1}function Ao(e){return/^[ \t]*$/.test(e)}function jo(e,t){let n=ko(e,t);return/^[ \t]*/.exec(e.slice(n))[0]}function Mo(e,t){return Ao(e.slice(ko(e,t),t))}const No=/(?:\/\/[^\n]*?)?(\r\n|\n|$)/y;function Po(e,t){let n=t;for(;n<e.length&&(e[n]===` `||e[n]===` `);)n++;let r=e[n]===`,`?n+1:-1;for(r!==-1&&(n=r);n<e.length&&(e[n]===` `||e[n]===` `);)n++;No.lastIndex=n;let i=No.exec(e);if(i===null)return{commaEnd:r,line:null};let a=n+i[0].length;return{commaEnd:r,line:{at:a-i[1].length,next:a}}}function Fo(e,t){let{commaEnd:n,line:r}=Po(e,t.end);if(Mo(e,t.start)&&r!==null)return Oo(e,ko(e,t.start),r.next,``);if(n!==-1){let r=n;for(;r<e.length&&e[r]===` `;)r++;return Oo(e,t.start,r,``)}let i=t.start;for(;i>0&&(e[i-1]===` `||e[i-1]===` `);)i--;return e[i-1]===`,`?Oo(e,i-1,t.end,``):Oo(e,t.start,t.end,``)}function Io(e,t,n,r,i){let a=n.commaEnd!==-1,o=a?e:Oo(e,t.end,t.end,`,`),s=n.line.at+ +!a,c=To(e);return Oo(o,s,s,`${c}${i}${Eo(r,i,c)}${a?`,`:``}`)}function Lo(e,t,n,r){let i=t.kind===`object`?t.entries:t.elements,a=i[i.length-1],o=jo(e,t.span.start);if(a===void 0){let i=o+` `,a=To(e);return Oo(e,t.span.start+1,t.span.end-1,`${a}${i}${Eo(n,i,a)}${r.trailingComma}${a}${o}`)}let{commaEnd:s,line:c}=Po(e,a.span.end);if(Mo(e,a.span.start)&&c!==null){let t=e.slice(ko(e,a.span.start),a.span.start);return Io(e,a.span,{commaEnd:s,line:c},n,t)}let l=s===-1?a.span.end:s;return Oo(e,l,l,`${s===-1?`, `:` `}${n}${s===-1?``:`,`}`)}function Ro(e,t,n,r){if(t.length===0)throw new so(`setValue needs a non-empty path`,0);if(/^\s*$/.test(e)){let i=To(e);return`{${i} ${Eo(Do(t,n,r),` `,i)}${r.trailingComma}${i}}${i}`}return zo(e,mo(e),t,n,r)}function zo(e,t,n,r,i){let a=t;for(let t=0;t<n.length;t++){if(a.kind!==`object`)throw new so(`cannot set ${n.join(`.`)}: ${n.slice(0,t).join(`.`)||`the document`} is not an object`,a.span.start);let o=ho(a,n[t]);if(o===void 0)return Lo(e,a,Do(n.slice(t),r,i),i);if(t===n.length-1){let t=jo(e,o.keySpan.start);return Oo(e,o.value.span.start,o.value.span.end,Eo(r,t,To(e)))}a=o.value}throw new so(`unreachable: path exhausted`,0)}function Bo(e,t,n=0){if(t.length===0)throw new so(`deleteValue needs a non-empty path`,0);if(/^\s*$/.test(e))return e;let r=t.slice(0,-1),i=go(mo(e),r),a=i===void 0?void 0:ho(i,t[t.length-1]);if(a===void 0||i?.kind!==`object`)return e;let o=Fo(e,a.span);return r.length>n&&i.entries.length===1?Bo(o,r,n):o}const Vo=[`h`,`v`,`children`];function Ho(e){if(e.kind===`string`)return e.value;if(e.kind!==`object`)return;let t=ho(e,`seg`)?.value,n=ho(e,`kind`)?.value,r=ho(e,`name`)?.value,i=t?.kind===`string`?t.value:n?.kind===`string`&&n.value===`segment`&&r?.kind===`string`?r.value:void 0;if(i===void 0)return;let a=ho(e,`id`)?.value;return a?.kind===`string`?a.value:i}function Uo(e){return e.kind===`object`?Vo.map(t=>ho(e,t)?.value).filter(e=>e?.kind===`array`):[]}function Wo(e){let t=ho(e,`rows`)?.value;return t?.kind===`object`?t.entries:null}function Go(e){if(e.kind!==`object`)return!0;let t=Wo(e);return t===null||t.length>0||e.entries.some(e=>e.key!==`rows`)}function*Ko(e,t){yield{node:e,bareAt:t};for(let t of Uo(e))for(let e of t.elements)yield*Ko(e,null);for(let n of Wo(e)??[])yield*Ko(n.value,t===null?null:[...t,`rows`,n.key])}function qo(e,t){for(let{node:n}of Ko(e,null))if(Ho(n)===t)return!0;return!1}function Jo(e,t,n){let r=go(mo(e),t);if(r===void 0)return null;for(let{node:i,bareAt:a}of Ko(r,t))if(Ho(i)===n)return a===null?{text:e,ref:i}:Jo(Ro(e,a,`{ h: [${_o(e,i)}] }`,So),t,n);return null}function Yo(e,t,n){let r=Jo(e,t,n);return r===null?null:Fo(r.text,r.ref.span)}function Xo(e,t,n,r,i){let a=Jo(e,t,r);if(a===null)return null;let{text:o,ref:s}=a,c=n.id===void 0?JSON.stringify(n.seg):`{ seg: ${JSON.stringify(n.seg)}, id: ${JSON.stringify(n.id)} }`,{commaEnd:l,line:u}=Po(o,s.span.end);if(Mo(o,s.span.start)&&u!==null){let e=o.slice(ko(o,s.span.start),s.span.start);return i===`after`?Io(o,s.span,{commaEnd:l,line:u},c,e):Oo(o,s.span.start,s.span.start,`${c},${To(o)}${e}`)}let d=_o(o,s),f=i===`before`?`${c}, ${d}`:`${d}, ${c}`;return Oo(o,s.span.start,s.span.end,f)}function Zo(e,t,n,r,i){let a=Jo(e,t,n);if(a===null)return null;let{text:o,ref:s}=a,c=`{ ${xo(r)}: ${i} }`;return s.kind===`string`?Oo(o,s.span.start,s.span.end,`{ seg: ${JSON.stringify(s.value)}, settings: ${c} }`):ho(s,`settings`)===void 0?zo(o,s,[`settings`],c,So):zo(o,s,[`settings`,r],i,So)}var Qo=class extends Error{file;issues;warnings;constructor(e,t,n=[]){super(ns(e,t)),this.name=`ConfigError`,this.file=e,this.issues=t,this.warnings=n}};function W(e,t){let n=0,r;for(let i of t){if(i===``||/^\d+$/.test(i))continue;let t=$o(e,n,i);if(t===-1)return r===void 0?void 0:es(e,r);n=t,r=t}return r===void 0?void 0:es(e,r)}function $o(e,t,n){let r=n.replace(/[\\^$.*+?()[\]{}|]/g,`\\$&`),i=RegExp(`(?:["']${r}["']|\\b${r}\\b)\\s*:`,`g`);i.lastIndex=t;let a=i.exec(e);return a?a.index:-1}function es(e,t){let n=1;for(let r=0;r<t&&r<e.length;r++)e.charCodeAt(r)===10&&n++;return n}function ts(e,t){try{return mo(t),null}catch(n){if(!(n instanceof so))throw n;return`${e}:${es(t,n.offset)}: ${n.reason} — the settings menu cannot edit this file until it is fixed`}}function ns(e,t){if(t.length===0)return`${e}: invalid config (no details)`;let n=[`Invalid config in ${e} (${t.length} issue${t.length===1?``:`s`}):`];for(let e of t){let t=[];e.line!==void 0&&t.push(`line ${e.line}${e.col===void 0?``:`:${e.col}`}`),e.path&&t.push(e.path);let r=t.length>0?`[${t.join(` • `)}] `:``;n.push(` ${r}${e.message}`)}return n.join(`
|
|
40
|
+
`)}const rs=[`vertical`,`horizontal`],is={vertical:`row`,horizontal:`cell`};function as(e){return e.id??e.name}function os(e){return[...ls(e)].flatMap(e=>e.kind===`segment`?[as(e)]:[])}function ss(e,t){if(!t.has(e))return e;let n=2;for(;t.has(`${e}-${n}`);)n++;return`${e}-${n}`}function cs(e,t){return e.opens===void 0?e:{...e,opens:{...e.opens,body:t(e.opens.body)}}}function*ls(e){yield e;for(let t of ps(e))yield*ls(t)}const us=(e,t)=>`${e}.children[${t}]`,ds=e=>`${e}.opens.body`;function*fs(e,t){if(yield[e,t],e.kind===`container`)for(let[n,r]of e.children.entries())yield*fs(r,us(t,n));else e.opens!==void 0&&(yield*fs(e.opens.body,ds(t)))}function ps(e){return e.kind===`container`?e.children:e.opens===void 0?[]:[e.opens.body]}function ms(e){return e===void 0||`text`in e?`text`:`regex`in e?`regex`:`json`}const hs=[`ttl`,`watch_file`,`depends_on`,`key`,`never`];function gs(e){return e.kind!==`literal`&&e.kind!==`input`&&e.kind!==`env`&&e.kind!==`state`}const _s=[`branch`,`sha`,`dirty`,`ahead`,`behind`,`stash`],vs=[`file`,`shell`,`git`],ys=`theme`;function bs(e){return{...e.settings,[ys]:{label:ys,domain:`theme`,default:e.palette??`bar`}}}function xs(e){let t=e?.domain;return typeof t==`object`&&`min`in t?t:void 0}function Ss(e,t){return Object.entries(e).flatMap(([n,r])=>{let i=xs(r)?.atLeast;if(i===void 0)return[];let a=t[n],o=t[i];return a>=o?[]:[{setting:n,message:`"${n}" (${a}) is below "${i}" (${o}) — ${r.label} must be at least ${e[i].label}`}]})}function Cs(e,t){let{domain:n}=e;return n===`bool`?typeof t==`boolean`:n===`theme`?typeof t==`string`&&Oa(t):`min`in n?typeof t==`number`&&Number.isInteger(t)&&t>=n.min&&t<=n.max:typeof t==`string`&&n.includes(t)}function ws(e){return String(e)}function Ts(e,t){let{domain:n}=e,r=n===`bool`?t===`true`?!0:t===`false`?!1:t:typeof n==`object`&&`min`in n&&/^-?\d+$/.test(t)?Number(t):t;return Cs(e,r)?r:void 0}function Es(e){let{domain:t}=e;return t===`bool`?`true or false`:t===`theme`?`"bar" (the bar's own theme) or an installed theme name`:`min`in t?`an integer from ${t.min} to ${t.max}`:`one of ${t.map(e=>JSON.stringify(e)).join(`, `)}`}const Ds=[`left`,`center`,`right`],Os=[`right`,`left`,`middle`];function ks(e,t,n,r){let i=n[r];return typeof i==`string`?i:(e.issues.push({path:`${t}.${r}`,message:`${t}.${r} must be a string, got ${Fs(i)}`,line:W(e.source,[...t.split(`.`),r])}),null)}function As(e,t,n,r){let i=n.default;if(i!==void 0){if(!(r===`string`&&typeof i==`string`||r===`number`&&typeof i==`number`||r===`boolean`&&typeof i==`boolean`)){e.issues.push({path:`${t}.default`,message:`default must be a ${r}, got ${Fs(i)}`,line:W(e.source,[...t.split(`.`),`default`])});return}return i}}function js(e,t,n,r){let i=n[r];if(i!==void 0){if(typeof i!=`string`){e.issues.push({path:`${t}.${r}`,message:`${t}.${r} must be a string, got ${Fs(i)}`,line:W(e.source,[...t.split(`.`),r])});return}return i}}function Ms(e,t,n){let r=js(e,t,n,`palette`);if(r!==void 0){if(!e.allowedPalettes.has(r)){e.issues.push({path:`${t}.palette`,message:`Unknown palette "${r}". Expected one of: ${[...e.allowedPalettes].sort().join(`, `)}`,line:W(e.source,[...t.split(`.`),`palette`])});return}return r}}function Ns(e,t,n,r,i){let a=n[r];if(a!==void 0){if(typeof a!=`string`||!i.includes(a)){e.issues.push({path:`${t}.${r}`,message:`${t}.${r} must be one of: ${i.join(`, `)}; got ${G(a)}`,line:W(e.source,[...t.split(`.`),r])});return}return a}}function Ps(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Fs(e){return e===null?`null`:Array.isArray(e)?`array`:typeof e}function G(e){return typeof e==`string`?JSON.stringify(e):e===void 0?`undefined`:String(e)}function Is(e,t,n,r){if(!Ps(r))return e.issues.push({path:n,message:`${n} must be an object, got ${Fs(r)}`,line:W(e.source,n.split(`.`))}),null;let i=Object.entries(t.removed??{}).filter(([e])=>r[e]!==void 0);for(let[t,r]of i)Bs(e,`${n}.${t}`,`${n}.${t} was removed: ${r}`);return zs(e,n,r,t.noun,new Set(Object.keys(t.fields)),new Set(i.map(([e])=>`${n}.${e}`))),Ls(e,t.fields,n,r)}function Ls(e,t,n,r){let i=t,a={},o=!0;for(let[t,s]of Object.entries(i)){let i=s.parse(e,n,t,r);i===void 0?s.required&&(o=!1):a[t]=i}return o?a:null}const Rs=new Set;function zs(e,t,n,r,i,a=Rs){for(let o of Object.keys(n))!i.has(o)&&!a.has(`${t}.${o}`)&&e.issues.push({path:`${t}.${o}`,message:`Unknown ${r} "${o}". Expected one of: ${[...i].join(`, `)}`,line:W(e.source,[...t.split(`.`),o])})}function Bs(e,t,n){return e.issues.push({path:t,message:n,line:W(e.source,t.split(`.`))}),null}function Vs(e,t,n,r){if(!Ps(r))return e.issues.push({path:n,message:`${t.noun} must be an object, got ${Fs(r)}`,line:W(e.source,n.split(`.`))}),null;let i=t.arms,a=Object.keys(i),o=Object.keys(r).filter(e=>e in i),s=Object.keys(r).filter(e=>!(e in i));for(let r of s)e.issues.push({path:`${n}.${r}`,message:`Unknown ${t.noun} key "${r}". Expected exactly one of: ${a.join(`, `)}`,line:W(e.source,[...n.split(`.`),r])});if(o.length===0)return e.issues.push({path:n,message:`${t.noun} must declare exactly one of: ${a.join(`, `)}`,line:W(e.source,n.split(`.`))}),null;if(o.length>1)return e.issues.push({path:n,message:`${t.noun} must declare exactly one of: ${a.join(`, `)} (found: ${o.join(`, `)})`,line:W(e.source,n.split(`.`))}),null;let c=o[0];return i[c].parse(e,`${n}.${c}`,r[c])}function Hs(e,t,n,r){if(!Ps(r))return e.issues.push({path:n,message:`${n} must be an object, got ${Fs(r)}`,line:W(e.source,n.split(`.`))}),null;let i=r[t.tag];if(typeof i!=`string`)return e.issues.push({path:`${n}.${t.tag}`,message:`${n}.${t.tag} must be a string, got ${Fs(i)}`,line:W(e.source,n.split(`.`))}),null;let a=t.arms;if(!(i in a))return e.issues.push({path:`${n}.${t.tag}`,message:`Unknown ${t.noun} "${i}". Expected one of: ${Object.keys(a).join(`, `)}`,line:W(e.source,[...n.split(`.`),t.tag])}),null;let o=a[i],s=e.issues.length,c=o.parse(e,n,r),l=new Set(e.issues.slice(s).map(e=>e.path));return zs(e,n,r,`${i} ${t.memberNoun} key`,o.keys,l),c}function Us(e,t,n){return{json:rc(tc(n),e,t),keys:new Set([e,...Object.keys(n)])}}function Ws(e){return(...t)=>e()(...t)}function Gs(e,...t){return(n,r,i)=>{let a=e(n,r,i);if(a===null)return null;for(let e of t){if(e.ok(a))continue;let{field:t,message:i}=e.issue(a),o=t===``?r:`${r}.${t}`;return n.issues.push({path:o,message:i,line:W(n.source,o.split(`.`))}),null}return a}}function Ks(){return{required:!1,json:{type:`string`},parse:(e,t,n,r)=>js(e,t,r,n)}}function qs(){return{required:!1,json:{type:`boolean`},parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0){if(typeof i!=`boolean`){e.issues.push({path:`${t}.${n}`,message:`${n} must be a boolean, got ${Fs(i)}`,line:W(e.source,[n])});return}return i}}}}function Js(e){let{min:t,max:n}=e;return{required:!1,json:{type:`integer`,minimum:t,maximum:n},parse:(e,r,i,a)=>{let o=a[i];if(o!==void 0){if(typeof o!=`number`||!Number.isInteger(o)||o<t||o>n){e.issues.push({path:`${r}.${i}`,message:`${i} must be an integer between ${t} and ${n}, got ${G(o)}`,line:W(e.source,[i])});return}return o}}}}function Ys(e={}){let{min:t}=e;return{required:!1,json:{type:`number`,...t!==void 0&&{minimum:t}},parse:(e,n,r,i)=>{let a=i[r];if(a!==void 0){if(typeof a!=`number`||!Number.isFinite(a)||t!==void 0&&a<t){let i=t===void 0?`a finite number`:`a finite number >= ${t}`;e.issues.push({path:`${n}.${r}`,message:`${r} must be ${i}, got ${G(a)}`,line:W(e.source,[r])});return}return a}}}}function Xs(){return{required:!1,json:{type:`string`},parse:(e,t,n,r)=>Ms(e,t,r)}}function Zs(){return{required:!0,json:{type:`string`},parse:(e,t,n,r)=>ks(e,t,r,n)??void 0}}function Qs(e,t){return d(t)?null:`${e} must be an absolute path (\`~\` and relative paths are not expanded), got ${JSON.stringify(t)}`}function $s(){return{required:!0,json:{type:`string`,pattern:`^/`},parse:(e,t,n,r)=>{let i=ks(e,t,r,n);if(i===null)return;let a=Qs(`${t}.${n}`,i);return a===null?i:Bs(e,`${t}.${n}`,a)??void 0}}}function ec(e){return{required:!1,json:{enum:[...e]},parse:(t,n,r,i)=>Ns(t,n,i,r,e)}}function tc(e,t={closed:!0}){let n=e,r={},i=[];for(let[e,t]of Object.entries(n))r[e]=t.json,t.required&&i.push(e);return{type:`object`,properties:r,...i.length>0&&{required:i},...t.closed&&{additionalProperties:!1}}}function nc(e){return tc(e.fields)}function rc(e,t,n){let r=e,i={[t]:{const:n},...r.properties},a=[t,...r.required??[]];return{...r,properties:i,required:a}}function ic(e){let t=e.arms;return{anyOf:Object.values(t).map(e=>e.json)}}function ac(e){let t=e.arms;return{anyOf:Object.entries(t).map(([e,t])=>({type:`object`,properties:{[e]:t.json},required:[e],additionalProperties:!1}))}}const oc=/^[A-Za-z_][A-Za-z0-9_]*$/;function sc(e){return`#${e+1}`}const cc={rows:{}};function lc(e){return`rows`in e}function uc(e){return Object.fromEntries(e.map((e,t)=>[sc(t),e]))}function dc(e){if(e.kind===`container`&&e.direction===`vertical`){let{kind:t,direction:n,children:r,...i}=e;return{...i,rows:uc(r)}}let{when:t,...n}=e;return{...t!==void 0&&{when:t},rows:uc([n])}}function fc(e){let{rows:t,...n}=e;return{kind:`container`,direction:`vertical`,children:Object.values(t),...n}}function pc(e){return lc(e)?fc(e):e}function*mc(e,t){if(!lc(e)){yield*fs(e,t);return}yield[fc(e),t];for(let[n,r]of Object.entries(e.rows))yield*fs(r,`${t}.rows.${n}`)}function hc(e,t){return lc(e)?{...t,...e,rows:{...t.rows,...e.rows}}:dc(e)}function gc(e){if(!lc(e))return!0;let{rows:t,...n}=e;return Object.values(n).some(e=>e!==void 0)||Object.keys(t).length>0}function _c(e,t){return{globals:{...t.globals,...e.globals??{}},variables:{...t.variables,...e.variables??{}},segments:bc(t.segments,vc(t.segments,e.segments??{})),root:hc(e.root??cc,t.root),actions:{...t.actions,...e.actions??{}},looks:{...t.looks,...e.looks??{}},presets:bc(t.presets,yc(t.presets,e.presets??{})),editGlobals:{...t.editGlobals,...e.editGlobals??{}},helpers:{...t.helpers,...e.helpers??{}}}}function vc(e,t){return Object.fromEntries(Object.entries(t).map(([t,n])=>[t,n.settings===void 0?n:{...n,settings:{...e[t]?.settings,...n.settings}}]))}function yc(e,t){return Object.fromEntries(Object.entries(t).map(([t,n])=>[t,n.globals===void 0?n:{...n,globals:{...e[t]?.globals,...n.globals}}]))}function bc(e,t){return{...e,...Object.fromEntries(Object.entries(t).map(([t,n])=>[t,{...e[t],...n}]))}}const xc=`closed`,Sc=`🍫`;function Cc(e,t,n){if(t===0)return`${e} needs a display (the clickable text)`;if(t!==1&&t!==n)return`${e} cycles ${n} members; bind one display per member (${n}) or one static display, got ${t}`}function wc(e,t,n,r){let i=Cc(e,t.length,n);if(i!==void 0)throw Error(i);return t.length===1?t[0]:t[r]}function Tc(e){return e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}function Ec(e,t,n,r,i){return{kind:`segment`,name:e,opens:{ref:t,body:n,placement:r},...i!==void 0&&{when:i}}}function Dc(e,...t){return`{{ and ${[e,...t].map(Oc).join(` `)} }}`}function Oc(e){return`(eq .${e.variable} "${Tc(e.member)}")`}function kc(e,t,n){return`{{ action "${e}" "${Tc(t)}" "${Tc(n)}" }}`}function Ac(e,t){return{kind:`state`,key:e,default:t}}function jc(e,t){return{set:e,cycle:[xc,t]}}const Mc={required:!1,json:{enum:[...Ga]},parse:(e,t,n,r)=>{if(r[n]===`auto`){e.issues.push({path:`${t}.${n}`,message:`${t}.${n}: "auto" is not supported — the render daemon runs detached, so terminal detection would read the daemon's environment, not your terminal's. Pick an explicit depth: ${Ga.join(`, `)}`,line:W(e.source,[...t.split(`.`),n])});return}return Ns(e,t,r,n,Ga)}},Nc={required:!1,json:{type:`string`},parse:(e,t,n,r)=>{let i=js(e,t,r,n);return ja(i)?i:Ms(e,t,r)}},Pc=/^[^\r\n]*\S[^\r\n]*$/u,Fc=RegExp(`^(?:❌|✕)[\\uFE0E\\uFE0F]?$`,`u`),Ic={required:!1,json:{type:`string`,pattern:Pc.source,not:{pattern:Fc.source}},parse:(e,t,n,r)=>{let i=js(e,t,r,n);if(i===void 0||Pc.test(i)&&!Fc.test(i))return i;e.issues.push({path:`${t}.${n}`,message:`${t}.${n}: must be one line of visible text other than a close glyph ("❌", "✕") — the settings menu needs a glyph to click`,line:W(e.source,[...t.split(`.`),n])})}},Lc={default_empty_value:Ks(),default_separator:Ks(),palette:Nc,look:Ks(),preset:Ks(),style:ec(Ra),progression:ec(Xa),autoWrap:qs(),padding:Js(no),charset:ec(Va),updateNotice:qs(),colorCompatibility:Mc,menuGlyph:Ic};function Rc(e,t){return{required:!1,json:{not:{},description:`not allowed here — ${e}`},parse:(e,n,r,i)=>{i[r]!==void 0&&e.issues.push({path:`${n}.${r}`,message:t(`${n}.${r}`),line:W(e.source,[...n.split(`.`),r])})}}}function zc(e){return Rc(`${e} cannot select a preset`,t=>`${t}: ${e} cannot select a preset. Which preset is active is resolved once, as session pick over globals.preset over "default"; a fragment naming another would be a second authority over that. Set the default arrangement in the top-level globals.preset instead.`)}function Bc(e){return Rc(`${e} cannot change the settings menu glyph`,t=>`${t}: ${e} cannot change the settings menu glyph — one menu is shared by every preset. Set it in the top-level globals.menuGlyph instead.`)}const Vc={default_bg:"nothing reads it — a segment with no `bg:` wears the decoration tint of its place in the bar. Delete the key, and author `bg:` on the segments that need a fixed colour.",default_fg:"nothing reads it — a segment with no `fg:` wears text chosen for contrast against its background. Delete the key, and author `fg:` on the segments that need a fixed colour.",default_truncate_marker:'nothing reads it — a segment clipped to its `width:` always ends in "…". Delete the key.'},Hc={noun:`globals key`,fields:Lc,removed:Vc},Uc={preset:zc(`a preset`),menuGlyph:Bc(`a preset`)},Wc={noun:`preset globals key`,fields:{...Lc,...Uc},removed:Vc};function Gc(e){return Qc(e)&&!(e in Uc)}const Kc={noun:`editGlobals key`,removed:Vc,fields:{...Lc,preset:zc(`the editGlobals fragment`),menuGlyph:Bc(`the editGlobals fragment`)}};function qc(e,t,n){return n===void 0?{}:Is(e,Hc,t,n)??{}}function Jc(e,t,n){return Is(e,Wc,t,n)??{}}function Yc(){return nc(Wc)}function Xc(e,t,n){return Is(e,Kc,t,n)??{}}const Zc=new Set(Object.keys(Lc));function Qc(e){return Zc.has(e)}function $c(){return[...Zc]}const el={padding:1};function tl(e){let t=new Map;for(let[n,r]of Object.entries(el)){let i=e[n];t.set(n,typeof i==`number`?i:r)}return t}function nl(e,t,n,r){return n.cache===void 0?(vs.includes(r)&&e.issues.push({path:`${t}.cache`,message:`${r} variables must declare a cache policy (one of: ${hs.join(`, `)})`,line:W(e.source,t.split(`.`))}),null):sl(e,`${t}.cache`,n.cache)}function rl(e,t,n){if(n.cache!==void 0)return sl(e,`${t}.cache`,n.cache)??void 0}function il(e){return{required:!0,json:ul(),parse:(t,n,r,i)=>nl(t,n,i,e)??void 0}}function al(){return{required:!1,json:ul(),parse:(e,t,n,r)=>rl(e,t,r)}}const ol={noun:`cache`,arms:{ttl:{json:{type:`string`},parse:(e,t,n)=>typeof n==`string`&&fl(n)?{ttl:n}:Bs(e,t,`cache.ttl must be a duration string like "5s", "100ms", "2m", "1h"; got ${G(n)}`)},watch_file:{json:{type:`string`,pattern:`^/`},parse:(e,t,n)=>{if(typeof n!=`string`)return Bs(e,t,`cache.watch_file must be a path string, got ${G(n)}`);let r=Qs(`cache.watch_file`,n);return r===null?{watch_file:n}:Bs(e,t,r)}},depends_on:{json:{type:`array`,items:{type:`string`}},parse:(e,t,n)=>Array.isArray(n)&&n.every(e=>typeof e==`string`)?{depends_on:n}:Bs(e,t,`cache.depends_on must be an array of variable-name strings, got ${G(n)}`)},key:{json:{type:`string`},parse:(e,t,n)=>typeof n==`string`&&n!==``?{key:n}:Bs(e,t,`cache.key must be a non-empty template string, got ${G(n)}`)},never:{json:{const:!0},parse:(e,t,n)=>n===!0?{never:!0}:Bs(e,t,`cache.never must be the literal boolean true, got ${G(n)}`)}}};function sl(e,t,n){return Vs(e,ol,t,n)}const cl={noun:`time-variable cache`,arms:{ttl:ol.arms.ttl}};function ll(){return{required:!1,json:ac(cl),parse:(e,t,n,r)=>r.cache===void 0?void 0:Vs(e,cl,`${t}.cache`,r.cache)??void 0}}function ul(){return ac(ol)}const dl=/^(\d+(?:\.\d+)?)(ms|s|m|h)$/;function fl(e){return dl.test(e)}function pl(e,t,n){if(n===void 0)return{};if(!Ps(n))return e.issues.push({path:t,message:`${t} must be an object, got ${Fs(n)}`,line:W(e.source,t.split(`.`))}),{};let r={};for(let[i,a]of Object.entries(n)){let n=Hs(e,Fl,`${t}.${i}`,a);n!==null&&(r[i]=n)}return r}function ml(){return{required:!0,json:{type:[`string`,`number`,`boolean`]},parse:(e,t,n,r)=>{let i=r.value;if(typeof i!=`string`&&typeof i!=`number`&&typeof i!=`boolean`){e.issues.push({path:`${t}.value`,message:`literal value must be string|number|boolean, got ${Fs(i)}`,line:W(e.source,t.split(`.`))});return}return i}}}function hl(){return{required:!0,json:{enum:[..._s]},parse:(e,t,n,r)=>{let i=r.field;if(typeof i!=`string`||!_s.includes(i)){e.issues.push({path:`${t}.field`,message:`git field must be one of: ${_s.join(`, `)}, got ${JSON.stringify(i)}`,line:W(e.source,[...t.split(`.`),`field`])});return}return i}}}function gl(){return{required:!1,json:{type:[`string`,`number`,`boolean`]},parse:(e,t,n,r)=>{let i=r.type;return As(e,t,r,i===`number`||i===`boolean`||i===`string`?i:`string`)}}}const _l={noun:`parse`,arms:{text:{json:{const:!0},parse:(e,t,n)=>n===!0?{text:!0}:Bs(e,t,`parse.text must be the literal boolean true, got ${G(n)}`)},regex:{json:{type:`string`},parse:(e,t,n)=>typeof n==`string`?vl(e,t,n):Bs(e,t,`parse.regex must be a pattern string, got ${G(n)}`)},json:{json:{const:!0},parse:(e,t,n)=>n===!0?{json:!0}:Bs(e,t,`parse.json must be the literal boolean true, got ${G(n)}`)}}};function vl(e,t,n){let r;try{new RegExp(n),r=RegExp(`${n}|`).exec(``).length-1}catch(n){return Bs(e,t,`parse.regex is not a valid regular expression: ${n.message}`)}return r>=1?{regex:n}:Bs(e,t,`parse.regex must contain a capture group — its group 1 is the value; got ${JSON.stringify(n)}`)}function yl(){return{required:!1,json:ac(_l),parse:(e,t,n,r)=>(r.regex!==void 0&&e.issues.push({path:`${t}.regex`,message:`${t}.regex was retired; the regex is the parse step's regex arm now: parse: { regex: ${JSON.stringify(r.regex)} }`,line:W(e.source,[...t.split(`.`),`regex`])}),r.parse===void 0?void 0:Vs(e,_l,`${t}.parse`,r.parse)??void 0)}}function bl(){return{required:!1,json:{type:[`string`,`number`,`boolean`,`array`,`object`],description:`The value published when the source fails: a string under the text/regex parse arms, any non-null JSON value under the json arm`},parse:(e,t,n,r)=>Ps(r.parse)&&`json`in r.parse?xl(e,t,r.default):js(e,t,r,`default`)}}function xl(e,t,n){if(n!==void 0)return Sl(n)?n:Bs(e,`${t}.default`,`${t}.default must be a JSON value (a json-parsed source's document), got ${G(n)}`)??void 0}function Sl(e){return e!==null&&Cl(e)}function Cl(e){if(e===null)return!0;switch(typeof e){case`string`:case`boolean`:return!0;case`number`:return Number.isFinite(e);case`object`:{if(Array.isArray(e))return e.every(Cl);let t=Object.getPrototypeOf(e);return(t===Object.prototype||t===null)&&Object.values(e).every(Cl)}default:return!1}}const wl={value:ml(),default:Ks()},Tl={path:Zs(),type:ec([`string`,`number`,`boolean`]),default:gl()},El={name:Zs(),default:Ks()},Dl={path:$s(),readMode:ec([`whole`,`first-line`]),parse:yl(),cache:il(`file`),default:bl()},Ol={command:Zs(),parse:yl(),cache:il(`shell`),default:bl()},kl={template:Zs(),cache:al(),default:Ks()},Al={layout:Zs(),cache:ll(),default:Ks()},jl={field:hl(),cache:il(`git`),default:Ks()},Ml={key:Zs(),default:Ks()},Nl=`kind`;function Pl(e,t){return{...Us(Nl,e,t),parse:(n,r,i)=>{let a=Ls(n,t,r,i);return a===null?null:{kind:e,...a}}}}const Fl={tag:Nl,noun:`source kind`,memberNoun:`variable`,arms:{literal:Pl(`literal`,wl),input:Pl(`input`,Tl),env:Pl(`env`,El),file:Pl(`file`,Dl),shell:Pl(`shell`,Ol),template:Pl(`template`,kl),time:Pl(`time`,Al),git:Pl(`git`,jl),state:Pl(`state`,Ml)}};function Il(){return ic(Fl)}function Ll(){return{type:`object`,additionalProperties:Il()}}function Rl(e){return e.replace(/[^A-Za-z0-9]+/g,`_`)}const zl=`groups.`,Bl=`menus.`,Vl=`edit.`,K=`candybar.`,Hl=[zl,Bl,Vl,K];function Ul(e){return Hl.some(t=>e.startsWith(t))}function Wl(e){let t=Rl(e);return Hl.find(e=>t.startsWith(Rl(e)))}function Gl(e,t,n,r){for(let i of[`variables`,`actions`,`segments`])for(let a of Object.keys(t[i]??{}))a.startsWith(n)&&e.issues.push({path:`${i}.${a}`,message:`"${a}" is in the reserved "${n}" namespace (synthesized by ${r}) — rename it`,line:W(e.source,[`root`])})}const Kl=new Map([[`gitTaculous`,`gitaculous`],[`git`,`gitaculous`],[`settings.menu`,`candybar.menu`]]);function ql(e){let t=Kl.get(e);return t===void 0?``:` (the built-in segment "${e}" was renamed to "${t}" — update this reference)`}const Jl=/^[A-Za-z_][A-Za-z0-9_]*$/,Yl={pattern:Jl.source},Xl={anyOf:[{type:`boolean`},{type:`string`},{type:`integer`}]},Zl={type:`object`,additionalProperties:!1,required:[`label`,`domain`,`default`],properties:{label:{type:`string`,pattern:`^[^\\n\\r]+$`},domain:{anyOf:[{const:`bool`},{type:`array`,items:{type:`string`,pattern:`^[^/\\n\\r]+$`},minItems:1,uniqueItems:!0},{type:`object`,additionalProperties:!1,required:[`min`,`max`],properties:{min:{type:`integer`},max:{type:`integer`},step:{type:`integer`,minimum:1},atLeast:{type:`string`,...Yl}}}]},default:Xl}},Ql=[`label`,`domain`,`default`],$l=[`min`,`max`,`step`,`atLeast`];function eu(e,t,n){e.issues.push({path:t,message:n,line:W(e.source,t.split(`.`))})}function tu(e,t,n){if(n===`bool`)return`bool`;if(Array.isArray(n)){let r=n.filter(e=>typeof e==`string`);if(n.length===0||r.length!==n.length)return eu(e,t,`a list domain must be a non-empty list of words, got ${JSON.stringify(n)}`);if(new Set(r).size!==r.length)return eu(e,t,`a list domain names each word once, got ${JSON.stringify(n)}`);let i=r.filter(e=>e===``||e.includes(`/`)||/[\n\r]/.test(e));return i.length>0?eu(e,t,`a list domain's words must be non-empty, slash-free, and newline-free — configure mode writes each on the set-state wire — got ${JSON.stringify(i)}`):r}if(Ps(n)){let{min:r,max:i,step:a=1,atLeast:o}=n;return Object.keys(n).filter(e=>!$l.includes(e)).length===0&&Number.isInteger(r)&&Number.isInteger(i)&&r<=i&&Number.isInteger(a)&&a>=1&&(o===void 0||typeof o==`string`)?{min:r,max:i,step:a,...o!==void 0&&{atLeast:o}}:eu(e,t,`a range domain is { min, max, step?, atLeast? } with integers min ≤ max, a whole step ≥ 1, and atLeast naming another range setting, got ${JSON.stringify(n)}`)}return eu(e,t,`domain must be "bool", a list of words, or { min, max }, got ${G(n)}`)}function nu(e,t,n){if(!Ps(n))return eu(e,t,`${t} must be { label, domain, default }, got ${Fs(n)}`);for(let r of Object.keys(n))Ql.includes(r)||eu(e,`${t}.${r}`,`Unknown setting key "${r}". Expected one of: ${Ql.join(`, `)}`);let{label:r}=n,i=typeof r==`string`&&r.length>0&&!/[\n\r]/.test(r);i||eu(e,`${t}.label`,`a setting needs a one-line, non-empty "label" — the name its control shows, spliced into a synthesized template string — got ${G(r)}`);let a=tu(e,`${t}.domain`,n.domain);if(!i||a===void 0)return;let o={label:r,domain:a,default:n.default};return!ru(n.default)||!Cs(o,n.default)?eu(e,`${t}.default`,`default must be ${Es(o)}, got ${G(n.default)}`):o}function ru(e){return typeof e==`boolean`||typeof e==`string`||typeof e==`number`}function iu(){return{required:!1,json:{type:`object`,propertyNames:{...Yl,not:{const:ys}},additionalProperties:Zl},parse:(e,t,n,r)=>{let i=r[n];if(i===void 0)return;let a=`${t}.${n}`;if(!Ps(i))return eu(e,a,`${a} must be an object of name → { label, domain, default }, got ${Fs(i)}`);let o=Object.create(null);for(let[t,n]of Object.entries(i)){if(!Jl.test(t)){eu(e,`${a}.${t}`,`setting name "${t}" is read as .settings.${t} in a template, so it must be an identifier (letters, digits, _; not starting with a digit)`);continue}if(t===`theme`){eu(e,`${a}.${t}`,`setting "${ys}" is one every placement already has — its default for this segment is segments.<name>.palette, and a placement sets its own with settings: { ${ys}: "<theme>" }`);continue}let r=nu(e,`${a}.${t}`,n);r!==void 0&&(o[t]=r)}return o}}}function au(){return{required:!1,json:{type:`string`,minLength:1,pattern:`^[^:/]+$`},parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0)return typeof i==`string`&&i.length>0&&!/[:/]/.test(i)?i:eu(e,`${t}.${n}`,`a placement "id" must be a non-empty string without "/" or ":", got ${G(i)}`)}}}function ou(){return{required:!1,json:{type:`object`,propertyNames:Yl,additionalProperties:Xl},parse:(e,t,n,r)=>{let i=r[n];if(i===void 0)return;let a=`${t}.${n}`;if(!Ps(i))return eu(e,a,`a placement's "settings" must be an object of setting name → value, got ${Fs(i)}`);let o=Object.create(null);for(let[t,n]of Object.entries(i))ru(n)?o[t]=n:eu(e,`${a}.${t}`,`setting "${t}" must be a boolean, a word, or a number, got ${Fs(n)}`);return o}}}function su(e){return new Set(Object.keys(e.segments).filter(e=>!Ul(e)))}function cu(e,t,n){if(t===void 0)return{};if(!Ps(t))return e.issues.push({path:`segments`,message:`segments must be an object, got ${Fs(t)}`,line:W(e.source,[`segments`])}),{};let r={};for(let[i,a]of Object.entries(t)){let t=Is(e,n.has(i)?mu:pu,`segments.${i}`,a);t!==null&&(r[i]=t)}return r}function lu(){return{required:!0,json:{type:`string`},parse:(e,t,n,r)=>r[n]===void 0?Bs(e,`${t}.${n}`,`${t} declares no template — only a segment the bundled default declares may omit it (inheriting the bundled template); a segment of your own needs its own${ql(t.slice(9))}`)??void 0:ks(e,t,r,n)??void 0}}function uu(){return{required:!1,json:{anyOf:[{const:`auto`},{const:`fill`},{type:`integer`,minimum:1}]},parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0){if(i===`auto`)return`auto`;if(i===`fill`)return`fill`;if(typeof i==`number`&&Number.isInteger(i)&&i>0)return i;e.issues.push({path:`${t}.${n}`,message:`width must be "auto", "fill", or a positive integer, got ${G(i)}`,line:W(e.source,[...t.split(`.`),n])})}}}}function du(){return{required:!1,json:Ll(),parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0)return pl(e,`${t}.${n}`,i)}}}const fu={template:lu(),description:Ks(),width:uu(),justify:ec(Ds),truncate:ec(Os),bg:Ks(),fg:Ks(),when:Ks(),palette:Xs(),vars:du(),settings:iu()},pu={noun:`segment key`,fields:fu},mu={noun:`segment key`,fields:{...fu,template:Ks()}},hu=`#/definitions/LayoutNode`,gu={kind:`container`,direction:`vertical`,children:[]};function _u(e){return{required:!0,json:{const:e},parse:()=>e}}function vu(){return{required:!0,json:{type:`string`},parse:(e,t,n,r)=>{let i=r[n];return typeof i==`string`&&i.length>0?i:(e.issues.push({path:`${t}.${n}`,message:`a segment node must have a non-empty "name" (a segment name), got ${G(i)}`,line:W(e.source,[`root`])}),``)}}}function yu(){return{required:!0,json:{enum:[...rs]},parse:(e,t,n,r)=>{let i=r[n];return typeof i==`string`&&rs.includes(i)?i:(e.issues.push({path:`${t}.${n}`,message:`a container "direction" must be one of: ${rs.join(`, `)} (got ${JSON.stringify(i)})`,line:W(e.source,[`root`])}),`vertical`)}}}function bu(e){return{required:!0,json:{type:`array`,items:{$ref:hu}},parse:(t,n,r,i)=>{let a=i[r];return Array.isArray(a)?a.map((i,a)=>e(t,`${n}.${r}[${a}]`,i)):(t.issues.push({path:`${n}.${r}`,message:`a container must have a "children" array of layout nodes, got ${Fs(a)}`,line:W(t.source,[`root`])}),[])}}}const xu={noun:`layout-node key`,fields:{kind:_u(`segment`),name:vu(),when:Ks(),id:au(),settings:ou()}},Su=()=>ec(Ri),Cu={noun:`layout-node key`,fields:{kind:_u(`container`),direction:yu(),children:bu(Ws(()=>Ou)),when:Ks(),distribution:Su()}};function wu(){return{required:!0,json:{type:`string`},parse:(e,t,n,r)=>{let i=r[n];return typeof i==`string`&&i.length>0?i:(e.issues.push({path:`${t}.${n}`,message:`a "seg" node must have a non-empty segment name, got ${G(i)}`,line:W(e.source,[`root`])}),``)}}}const Tu={noun:`layout-node key`,fields:{seg:wu(),when:Ks(),id:au(),settings:ou()}},Eu={noun:`layout-node key`,fields:{h:bu(Ws(()=>Ou)),when:Ks(),distribution:Su()}},Du={noun:`layout-node key`,fields:{v:bu(Ws(()=>Ou)),when:Ks(),distribution:Su()}},Ou=(e,t,n)=>{if(typeof n==`string`)return n.length===0?(e.issues.push({path:t,message:`a bare-string layout node must be a non-empty segment name`,line:W(e.source,[`root`])}),gu):{kind:`segment`,name:n};if(!Ps(n))return e.issues.push({path:t,message:`a layout node must be a string (segment name) or an object with "kind" / "seg" / "h" / "v", got ${Fs(n)}`,line:W(e.source,[`root`])}),gu;if(n.kind===`container`)return Is(e,Cu,t,n)??gu;if(n.kind===`segment`)return Is(e,xu,t,n)??gu;if(n.kind===`cells`)return e.issues.push({path:t,message:`kind: "cells" is no longer supported — use the h-arm spelling instead:
|
|
41
41
|
Old: { kind: "cells", segments: ["seg1", "seg2"] }
|
|
42
|
-
New: { h: ["seg1", "seg2"] }`,line:W(e.source,[`root`])}),
|
|
42
|
+
New: { h: ["seg1", "seg2"] }`,line:W(e.source,[`root`])}),gu;if(n.kind===`group`){let r=Is(e,Fu,t,n);return r===null?gu:(e.groups.push({name:r.name,label:r.label,...r.open!==void 0&&{open:r.open},...r.direction!==void 0&&{direction:r.direction},...r.key!==void 0&&{key:r.key},...r.bg!==void 0&&{bg:r.bg},...r.fg!==void 0&&{fg:r.fg},...r.when!==void 0&&{when:r.when},path:t}),Lu(r))}let r=`h`in n,i=`v`in n,a=`seg`in n;if(+!!r+ +!!i+ +!!a>1){let r=[`seg`,`h`,`v`].filter(e=>e in n);return e.issues.push({path:t,message:`a layout node may have exactly one of "seg", "h", or "v" — got ${r.map(e=>`"${e}"`).join(` and `)} together`,line:W(e.source,[`root`])}),gu}if(a){let r=Is(e,Tu,t,n);return r===null?gu:{kind:`segment`,name:r.seg,...r.when!==void 0&&{when:r.when},...r.id!==void 0&&{id:r.id},...r.settings!==void 0&&{settings:r.settings}}}if(r){let r=Is(e,Eu,t,n);return r===null?gu:{kind:`container`,direction:`horizontal`,children:r.h,...r.when!==void 0&&{when:r.when},...r.distribution!==void 0&&{distribution:r.distribution}}}if(i){let r=Is(e,Du,t,n);return r===null?gu:{kind:`container`,direction:`vertical`,children:r.v,...r.when!==void 0&&{when:r.when},...r.distribution!==void 0&&{distribution:r.distribution}}}return e.issues.push({path:`${t}.kind`,message:`a layout node "kind" must be "container", "segment", or "group", or use the terse A-grammar: a bare string, or an object with "seg", "h", or "v" (got ${JSON.stringify(n.kind)})`,line:W(e.source,[`root`])}),gu};function ku(){return{required:!0,json:{type:`object`,propertyNames:{pattern:oc.source},additionalProperties:{$ref:hu}},parse:(e,t,n,r)=>{let i=r[n];if(!Ps(i))return e.issues.push({path:`${t}.${n}`,message:`"rows" must be an object of row name → layout node, got ${Fs(i)}`,line:W(e.source,[...t.split(`.`),n])}),{};let a={};for(let[r,o]of Object.entries(i)){if(!oc.test(r)){e.issues.push({path:`${t}.${n}.${r}`,message:`row name "${r}" must be an identifier (letters, digits, _; not starting with a digit) — it names the row in the config file and merges by name over the bundled default's rows`,line:W(e.source,[...t.split(`.`),n,r])});continue}a[r]=Ou(e,`${t}.${n}.${r}`,o)}return a}}}const Au={noun:`root key`,fields:{rows:ku(),when:Ks(),distribution:Su()}};function ju(e,t,n){return Ps(n)&&`rows`in n?Is(e,Au,t,n)??{rows:{}}:Ou(e,t,n)}function Mu(){return{required:!0,json:{type:`string`,pattern:oc.source},parse:(e,t,n,r)=>{let i=r[n];if(typeof i!=`string`||!oc.test(i)||i===`closed`){e.issues.push({path:`${t}.${n}`,message:`a group "name" must be an identifier (letters, digits, _; not starting with a digit) and not the reserved "${xc}", got ${G(i)}`,line:W(e.source,[`root`])});return}return i}}}function Nu(){return{required:!1,json:{type:`string`,minLength:1},parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0){if(typeof i!=`string`||i===``||i.includes(`/`)){e.issues.push({path:`${t}.${n}`,message:`a group "key" must be a non-empty, slash-free SessionState key, got ${G(i)}`,line:W(e.source,[`root`])});return}return i}}}}function Pu(){return{required:!0,json:{type:`string`,pattern:`^[^\\n\\r]*$`},parse:(e,t,n,r)=>{let i=ks(e,t,r,n);if(i!==null){if(/[\n\r]/.test(i)){e.issues.push({path:`${t}.${n}`,message:`${t}.${n}: group label must not contain newlines`,line:W(e.source,[...t.split(`.`),n])});return}return i}}}}const Fu={noun:`layout-node key`,fields:{kind:_u(`group`),name:Mu(),label:Pu(),open:qs(),direction:ec(rs),key:Nu(),bg:Ks(),fg:Ks(),when:Ks(),distribution:Su(),children:bu(Ws(()=>Ou))}};function Iu(e){return e.key??`groups.`+e.name}function Lu(e){let t=zl+e.name;return Ec(t,{variable:t,key:Iu(e),member:e.name},{kind:`container`,direction:e.direction??`vertical`,children:e.children,...e.distribution!==void 0&&{distribution:e.distribution}},`drop`,e.when)}function Ru(e,t,n){e.issues.push({path:t,message:n,line:W(e.source,[`root`])})}function zu(e,t){Gl(e,t,zl,`group nodes`);let n=e.groups;if(n.length===0)return;let r=new Set;for(let t of n)r.has(t.name)&&Ru(e,t.path,`duplicate group name "${t.name}" — group names must be unique (they name the synthesized state var, action, and toggle segment)`),r.add(t.name);for(let t of n)for(let r of n)t!==r&&t.path.startsWith(`${r.path}.`)&&Iu(t)===Iu(r)&&Ru(e,t.path,`group "${t.name}" shares key "${Iu(t)}" with its ancestor group "${r.name}" — a shared key holds ONE open group, so an ancestor and a descendant cannot share one. Sibling accordions share a key; nested groups use distinct keys.`);let i=new Map;for(let t of n){let n=Iu(t);if(i.has(n)||i.set(n,xc),t.open===!0){let r=i.get(n);r!==`closed`&&Ru(e,t.path,`groups "${r}" and "${t.name}" share key "${n}" and both declare open: true — a shared key holds one open group; pick one`),i.set(n,t.name)}}let a={},o={},s={};for(let e of n){let t=zl+e.name,r=Iu(e),c=n.filter(t=>t!==e&&e.path.startsWith(t.path+`.`)).length,l=` `.repeat(c);a[t]=Ac(r,i.get(r)),o[t]=jc(r,e.name),s[t]={template:kc(t,`${l}${e.label} ▸`,`${l}${e.label} ▾`),...e.bg!==void 0&&{bg:e.bg},...e.fg!==void 0&&{fg:e.fg}}}t.variables={...t.variables??{},...a},t.actions={...t.actions??{},...o},t.segments={...t.segments??{},...s}}var Bu=class extends Error{name=`TemplateError`;kind=`EvalError`;pos;source;constructor(e,t,n={}){super(e),this.pos=t,this.source=n.source}get sourceSnippet(){return this.source?qu(this.source,this.pos):``}toString(){let e=`${this.name}: ${this.message}\n at line ${this.pos.line}, column ${this.pos.column}`,t=this.sourceSnippet;return t?`${e}\n\n${t}`:e}},Vu=class extends Bu{name=`ParseError`;kind=`ParseError`;expected;found;constructor(e,t,n={}){super(e,t,n),this.expected=n.expected,this.found=n.found}},Hu=class extends Bu{name=`EvalError`;kind=`EvalError`},Uu=class extends Hu{name=`FuncNotFoundError`;kind=`FuncNotFoundError`;funcName;suggestions;constructor(e,t,n={}){let r=Ju(e,n.available??[]),i=r.length===0?``:` (did you mean: ${r.join(`, `)}?)`;super(`function ${JSON.stringify(e)} is not registered${i}`,t,n),this.funcName=e,this.suggestions=r}},Wu=class extends Hu{name=`TypeMismatchError`;kind=`TypeMismatchError`;funcName;argIndex;expected;receivedSummary;constructor(e,t,n,r,i,a={}){super(`function ${JSON.stringify(e)} arg ${t}: expected ${n}, but a ${r} flowed in. Pass it through \`unstyled\` (or your engine's flatten function) to convert.`,i,a),this.funcName=e,this.argIndex=t,this.expected=n,this.receivedSummary=r}},Gu=class extends Hu{name=`MissingFieldError`;kind=`MissingFieldError`;path;constructor(e,t,n={}){super(`field "${e.join(`.`)}" not found on receiver`,t,n),this.path=e}},Ku=class extends Hu{name=`FailError`;kind=`FailError`;constructor(e,t={line:0,column:0,offset:0},n={}){super(e,t,n)}};function qu(e,t){let n=e.split(`
|
|
43
43
|
`),r=t.line-1,i=[];if(r-1>=0&&r-1<n.length&&i.push({num:r,text:n[r-1]??``}),r>=0&&r<n.length&&i.push({num:r+1,text:n[r]??``}),r+1<n.length&&i.push({num:r+2,text:n[r+1]??``}),i.length===0)return``;let a=String(i[i.length-1]?.num??1).length,o=[];for(let e of i)if(o.push(` ${String(e.num).padStart(a,` `)} | ${e.text}`),e.num===t.line){let e=` ${` `.repeat(a)} | `,n=` `.repeat(Math.max(0,t.column-1));o.push(`${e}${n}^`)}return o.join(`
|
|
44
|
-
`)}function
|
|
44
|
+
`)}function Ju(e,t){if(t.length===0)return[];let n=t.map(t=>({name:t,dist:Yu(e,t)})).sort((e,t)=>e.dist-t.dist),r=Math.max(2,Math.floor(e.length/2));return n.filter(e=>e.dist<=r).slice(0,3).map(e=>e.name)}function Yu(e,t){if(e===t)return 0;let n=e.length,r=t.length;if(n===0)return r;if(r===0)return n;let i=Array(r+1),a=Array(r+1);for(let e=0;e<=r;e++)i[e]=e;for(let o=1;o<=n;o++){a[0]=o;for(let n=1;n<=r;n++){let r=e[o-1]===t[n-1]?0:1;a[n]=Math.min((a[n-1]??0)+1,(i[n]??0)+1,(i[n-1]??0)+r)}for(let e=0;e<=r;e++)i[e]=a[e]??0}return i[r]??0}function Xu(e){throw Error(`unhandled node kind: ${JSON.stringify(e)}`)}const Zu=new Map([[`if`,`If`],[`else`,`Else`],[`end`,`End`],[`range`,`Range`],[`with`,`With`],[`break`,`Break`],[`continue`,`Continue`],[`define`,`Define`],[`template`,`Template`],[`block`,`Block`],[`true`,`Bool`],[`false`,`Bool`],[`nil`,`Nil`]]),Qu={left:`{{`,right:`}}`};var $u=class{src;leftDelim;rightDelim;offset=0;line=1;column=1;mode=`text`;pending;constructor(e,t=Qu){this.src=e,this.leftDelim=t.left,this.rightDelim=t.right}pos(){return{line:this.line,column:this.column,offset:this.offset}}err(e,t,n={}){return new Vu(e,t,{...n,source:this.src})}next(){if(this.pending){let e=this.pending;return this.pending=void 0,e}return this.read()}peek(){return this.pending||=this.read(),this.pending}read(){switch(this.mode){case`text`:return this.readText();case`action`:return this.readAction();case`done`:return this.makeToken(`EOF`,``,this.pos())}}readText(){if(this.offset>=this.src.length)return this.mode=`done`,this.makeToken(`EOF`,``,this.pos());let e=this.pos(),t=this.offset;for(;t<this.src.length&&!this.src.startsWith(this.leftDelim,t);)t+=1;let n=t<this.src.length&&this.src[t+this.leftDelim.length]===`-`,r=t;if(n)for(;r>this.offset&&ed(this.src[r-1]??``);)--r;if(r>this.offset){let t=this.src.slice(this.offset,r);return this.advanceTo(r),this.makeToken(`Text`,t,e)}return this.advanceTo(t),this.emitLeftDelim(n)}emitLeftDelim(e){let t=this.pos();if(this.advanceBy(this.leftDelim.length),e)for(this.advanceBy(1);ed(this.src[this.offset]??``);)this.advanceBy(1);return this.mode=`action`,this.src.startsWith(`/*`,this.offset)?this.readComment(t,e):this.makeToken(`LeftDelim`,e?`${this.leftDelim}-`:this.leftDelim,t,e?{trimLeft:!0}:{})}readComment(e,t){this.advanceBy(2);let n=this.offset,r=this.src.indexOf(`*/`,this.offset);if(r===-1)throw this.err(`unclosed comment`,e,{expected:`*/${this.rightDelim}`,found:`end of input`});this.advanceTo(r);let i=this.src.slice(n,r).trim();for(this.advanceBy(2);ed(this.src[this.offset]??``);)this.advanceBy(1);let a=!1;if(this.src[this.offset]===`-`&&(a=!0,this.advanceBy(1)),!this.src.startsWith(this.rightDelim,this.offset))throw this.err(`expected \`${this.rightDelim}\` to close comment`,this.pos(),{expected:this.rightDelim,found:this.src[this.offset]??`end of input`});if(this.advanceBy(this.rightDelim.length),a)for(;ed(this.src[this.offset]??``);)this.advanceBy(1);return this.mode=`text`,this.makeToken(`Comment`,i,e,{...t?{trimLeft:!0}:{},...a?{trimRight:!0}:{}})}readAction(){if(this.skipActionSpaces(),this.src.startsWith(`-${this.rightDelim}`,this.offset)){let e=this.pos();for(this.advanceBy(1+this.rightDelim.length),this.mode=`text`;ed(this.src[this.offset]??``);)this.advanceBy(1);return this.makeToken(`RightDelim`,`-${this.rightDelim}`,e,{trimRight:!0})}if(this.src.startsWith(this.rightDelim,this.offset)){let e=this.pos();return this.advanceBy(this.rightDelim.length),this.mode=`text`,this.makeToken(`RightDelim`,this.rightDelim,e)}if(this.offset>=this.src.length)throw this.err(`unclosed action`,this.pos(),{expected:this.rightDelim,found:`end of input`});let e=this.src[this.offset],t=this.pos();switch(e){case`(`:return this.advanceBy(1),this.makeToken(`LeftParen`,`(`,t);case`)`:return this.advanceBy(1),this.makeToken(`RightParen`,`)`,t);case`|`:return this.advanceBy(1),this.makeToken(`Pipe`,`|`,t);case`,`:return this.advanceBy(1),this.makeToken(`Comma`,`,`,t);case`:`:if(this.src[this.offset+1]===`=`)return this.advanceBy(2),this.makeToken(`Declare`,`:=`,t);throw this.err("expected `:=`",t,{expected:`:=`,found:`:`});case`=`:return this.advanceBy(1),this.makeToken(`Assign`,`=`,t);case`"`:return this.readQuotedString(t);case"`":return this.readRawString(t);case`'`:return this.readChar(t)}if(e===`$`)return this.readVariable(t);if(e!==void 0&&(nd(e)||td(e)&&nd(this.src[this.offset+1]??``)||e===`.`&&nd(this.src[this.offset+1]??``)))return this.readNumber(t);if(e===`.`)return this.readDotOrField(t);if(e!==void 0&&sd(e))return this.readIdentifier(t);throw this.err(`unexpected character ${JSON.stringify(e)}`,t,{found:e??`end of input`})}readQuotedString(e){let t=this.offset;for(this.advanceBy(1);this.offset<this.src.length;){let n=this.src[this.offset];if(n===`\\`){this.advanceBy(1),this.offset<this.src.length&&this.advanceBy(1);continue}if(n===`
|
|
45
45
|
`)throw this.err(`newline in interpreted string`,e,{found:`\\n`});if(n===`"`)return this.advanceBy(1),this.makeToken(`String`,this.src.slice(t,this.offset),e);this.advanceBy(1)}throw this.err(`unterminated string literal`,e,{expected:`"`,found:`end of input`})}readRawString(e){let t=this.offset;for(this.advanceBy(1);this.offset<this.src.length;){if(this.src[this.offset]==="`")return this.advanceBy(1),this.makeToken(`String`,this.src.slice(t,this.offset),e);this.advanceBy(1)}throw this.err(`unterminated raw string literal`,e,{expected:"`",found:`end of input`})}readChar(e){let t=this.offset;for(this.advanceBy(1);this.offset<this.src.length;){let n=this.src[this.offset];if(n===`\\`){this.advanceBy(1),this.offset<this.src.length&&this.advanceBy(1);continue}if(n===`
|
|
46
|
-
`)throw this.err(`newline in rune literal`,e,{found:`\\n`});if(n===`'`)return this.advanceBy(1),this.makeToken(`Char`,this.src.slice(t,this.offset),e);this.advanceBy(1)}throw this.err(`unterminated rune literal`,e,{expected:`'`,found:`end of input`})}readNumber(e){let t=this.offset;if(
|
|
46
|
+
`)throw this.err(`newline in rune literal`,e,{found:`\\n`});if(n===`'`)return this.advanceBy(1),this.makeToken(`Char`,this.src.slice(t,this.offset),e);this.advanceBy(1)}throw this.err(`unterminated rune literal`,e,{expected:`'`,found:`end of input`})}readNumber(e){let t=this.offset;if(td(this.src[this.offset]??``)&&this.advanceBy(1),this.src[this.offset]===`0`&&this.offset+1<this.src.length){let n=this.src[this.offset+1];if(n===`x`||n===`X`){for(this.advanceBy(2);rd(this.src[this.offset]??``)||this.src[this.offset]===`_`;)this.advanceBy(1);if(this.src[this.offset]===`.`||this.src[this.offset]===`p`||this.src[this.offset]===`P`)for(;this.isHexFloatTail(this.src[this.offset]??``);)this.advanceBy(1);return this.finishNumber(t,e)}if(n===`o`||n===`O`){for(this.advanceBy(2);id(this.src[this.offset]??``)||this.src[this.offset]===`_`;)this.advanceBy(1);return this.finishNumber(t,e)}if(n===`b`||n===`B`){for(this.advanceBy(2);ad(this.src[this.offset]??``)||this.src[this.offset]===`_`;)this.advanceBy(1);return this.finishNumber(t,e)}}for(;nd(this.src[this.offset]??``)||this.src[this.offset]===`_`;)this.advanceBy(1);if(this.src[this.offset]===`.`)for(this.advanceBy(1);nd(this.src[this.offset]??``)||this.src[this.offset]===`_`;)this.advanceBy(1);if(this.src[this.offset]===`e`||this.src[this.offset]===`E`)for(this.advanceBy(1),td(this.src[this.offset]??``)&&this.advanceBy(1);nd(this.src[this.offset]??``);)this.advanceBy(1);return this.src[this.offset]===`i`&&this.advanceBy(1),this.finishNumber(t,e)}isHexFloatTail(e){return rd(e)||e===`.`||e===`p`||e===`P`||e===`+`||e===`-`||e===`_`}finishNumber(e,t){if(this.offset===e)throw this.err(`expected number`,t,{expected:`digit`});return this.makeToken(`Number`,this.src.slice(e,this.offset),t)}readVariable(e){let t=this.offset;for(this.advanceBy(1);cd(this.src[this.offset]??``);)this.advanceBy(1);for(;this.src[this.offset]===`.`&&sd(this.src[this.offset+1]??``);)for(this.advanceBy(1);cd(this.src[this.offset]??``);)this.advanceBy(1);return this.makeToken(`Variable`,this.src.slice(t,this.offset),e)}readDotOrField(e){let t=this.offset;if(this.advanceBy(1),!sd(this.src[this.offset]??``))return this.makeToken(`Dot`,`.`,e);for(;cd(this.src[this.offset]??``);)this.advanceBy(1);for(;this.src[this.offset]===`.`&&sd(this.src[this.offset+1]??``);)for(this.advanceBy(1);cd(this.src[this.offset]??``);)this.advanceBy(1);return this.makeToken(`Field`,this.src.slice(t,this.offset),e)}readIdentifier(e){let t=this.offset;for(;cd(this.src[this.offset]??``);)this.advanceBy(1);let n=this.src.slice(t,this.offset),r=Zu.get(n);return r?this.makeToken(r,n,e):this.makeToken(`Identifier`,n,e)}skipActionSpaces(){for(;this.offset<this.src.length;){let e=this.src[this.offset];if(e===` `||e===` `||e===`\r`||e===`
|
|
47
47
|
`)this.advanceBy(1);else return}}advanceBy(e){for(let t=0;t<e;t++){let e=this.src[this.offset];this.offset+=1,e===`
|
|
48
|
-
`?(this.line+=1,this.column=1):this.column+=1}}advanceTo(e){for(;this.offset<e;)this.advanceBy(1)}makeToken(e,t,n,r={}){return Object.freeze({type:e,value:t,pos:n,...r.trimLeft===void 0?{}:{trimLeft:r.trimLeft},...r.trimRight===void 0?{}:{trimRight:r.trimRight}})}};function
|
|
49
|
-
`}function
|
|
50
|
-
`;break;case`t`:r+=` `;break;case`r`:r+=`\r`;break;case`\\`:r+=`\\`;break;case`"`:r+=`"`;break;case`'`:r+=`'`;break;case`a`:r+=`\x07`;break;case`b`:r+=`\b`;break;case`f`:r+=`\f`;break;case`v`:r+=`\v`;break;case`0`:case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:{let t=o+(e[i+1]??``)+(e[i+2]??``);i+=2,r+=String.fromCodePoint(Number.parseInt(t,8));break}case`x`:{let t=(e[i+1]??``)+(e[i+2]??``);i+=2,r+=String.fromCodePoint(Number.parseInt(t,16));break}case`u`:{let t=e.slice(i+1,i+5);i+=4,r+=String.fromCodePoint(Number.parseInt(t,16));break}case`U`:{let t=e.slice(i+1,i+9);i+=8,r+=String.fromCodePoint(Number.parseInt(t,16));break}default:throw new Mu(`bad escape sequence \\${o}`,t,{expected:`valid escape sequence`,found:`\\${o}`,source:n})}}return r}function _d(e,t,n){let r=gd(`"${e.slice(1,-1).replace(/"/g,`\\"`)}"`,t,n);if(r.length===0)throw new Mu(`empty rune literal`,t,{source:n});return r.codePointAt(0)??0}function vd(e,t){if(t(e)!==!1)for(let n of yd(e))vd(n,t)}function yd(e){switch(e.type){case`Text`:case`Comment`:case`Dot`:case`Nil`:case`Bool`:case`Number`:case`String`:case`Identifier`:case`Field`:case`Variable`:case`Break`:case`Continue`:return[];case`List`:return e.nodes;case`Chain`:return[e.node];case`Command`:return e.args;case`Pipe`:return[...e.decls,...e.cmds];case`Action`:return[e.pipe];case`If`:case`Range`:case`With`:return e.elseList?[e.pipe,e.list,e.elseList]:[e.pipe,e.list];case`Template`:return e.pipe?[e.pipe]:[];case`Block`:return e.pipe?[e.pipe,e.list]:[e.list];default:return Vu(e)}}const bd=Symbol(`go-template-js.MISSING`);function xd(e,t){if(e==null)return bd;if(e instanceof Map)return e.has(t)?e.get(t):bd;if(Array.isArray(e))return bd;if(typeof e==`object`){let n=e;return t in n?n[t]:bd}return bd}function Sd(e,t){let n=e;for(let e of t){if(n===bd)return bd;n=xd(n,e)}return n}function Cd(e,t){if(Object.is(e,t))return!0;if(e===null||t===null||e===void 0||t===void 0||typeof e!=typeof t)return!1;if(Array.isArray(e)&&Array.isArray(t))return e.length===t.length?e.every((e,n)=>Cd(e,t[n])):!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!t.has(n)||!Cd(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}if(typeof e==`object`&&typeof t==`object`){let n=Object.keys(e),r=Object.keys(t);return n.length===r.length?n.every(n=>Cd(e[n],t[n])):!1}return!1}const wd=new WeakSet;function Td(e){return wd.add(e),e}function Ed(e){return wd.has(e)}function Dd(e){return e==null||e===!1?!1:typeof e==`number`?e!==0&&!Number.isNaN(e):typeof e==`bigint`?e!==0n:typeof e==`string`||Array.isArray(e)?e.length>0:e instanceof Map||e instanceof Set?e.size>0:typeof e==`object`?Object.keys(e).length>0:!!e}function Od(e,t){return{eq:{fn:(e,...t)=>t.some(t=>jd(e,t)),argTypes:[`comparable`]},ne:{fn:(e,t)=>!jd(e,t),argTypes:[`comparable`,`comparable`]},lt:{fn:(e,t)=>Md(e,t)<0,argTypes:[`ordered`,`ordered`]},le:{fn:(e,t)=>Md(e,t)<=0,argTypes:[`ordered`,`ordered`]},gt:{fn:(e,t)=>Md(e,t)>0,argTypes:[`ordered`,`ordered`]},ge:{fn:(e,t)=>Md(e,t)>=0,argTypes:[`ordered`,`ordered`]},len:{fn:e=>Nd(e),argTypes:[`sized`]},index:{fn:(e,...t)=>{let n=e;for(let e of t)n=Pd(n,e);return n},argTypes:[`collection`,`index-key`]},slice:{fn:(e,...t)=>{let n=t.length>=1?t[0]:0,r=t.length>=2?t[1]:void 0;return e.slice(n,r)},argTypes:[`sliceable`,`int`]},print:{fn:(...t)=>Ld(t,e),argTypes:[`stringifiable`],returnType:`string`},println:{fn:(...t)=>`${Ld(t,e)}\n`,argTypes:[`stringifiable`],returnType:`string`},printf:{fn:(n,...r)=>Kd(n,r,e,t),argTypes:[`string`,`stringifiable`],returnType:`string`},toString:{fn:n=>Yd(n,e,t),argTypes:[`value`],returnType:`string`},toStrings:{fn:n=>n.map(n=>Yd(n,e,t)),argTypes:[`list`]},call:{fn:(e,...t)=>e(...t),argTypes:[`callable`,`value`]},html:{fn:(...t)=>Bd(Ld(t,e)),argTypes:[`stringifiable`],returnType:`string`},js:{fn:(...t)=>Ud(Ld(t,e)),argTypes:[`stringifiable`],returnType:`string`},urlquery:{fn:(...t)=>Gd(Ld(t,e)),argTypes:[`stringifiable`],returnType:`string`},not:{fn:e=>!Dd(e),argTypes:[`truthy`]}}}function kd(){return{and:Td({argTypes:[`truthy`],fn:(...e)=>{let t=!0;for(let n of e)if(t=n(),!Dd(t))return t;return t}}),or:Td({argTypes:[`truthy`],fn:(...e)=>{let t=!1;for(let n of e)if(t=n(),Dd(t))return t;return t}})}}function Ad(e,t){return{...Od(e,t),...kd()}}function jd(e,t){return typeof e==`number`&&typeof t==`bigint`?BigInt(e)===t:typeof e==`bigint`&&typeof t==`number`?e===BigInt(t):Cd(e,t)}function Md(e,t){if(typeof e==`bigint`&&typeof t==`bigint`)return e===t?0:e<t?-1:1;if(typeof e==`bigint`||typeof t==`bigint`){let n=typeof e==`bigint`?e:BigInt(Math.trunc(Number(e))),r=typeof t==`bigint`?t:BigInt(Math.trunc(Number(t)));return n===r?0:n<r?-1:1}let n=e,r=t;return n===r?0:n<r?-1:1}function Nd(e){return typeof e==`string`||Array.isArray(e)?e.length:e instanceof Map||e instanceof Set?e.size:Object.keys(e).length}function Pd(e,t){if(Array.isArray(e)){let n=Number(t);if(!Number.isInteger(n))throw Error(`index: array index must be integer, got ${Fd(t)}`);if(n<0||n>=e.length)throw Error(`index: out of range [${n}] with length ${e.length}`);return e[n]}if(e instanceof Map)return e.get(t);if(typeof e==`string`)return e[Number(t)];if(typeof e==`object`&&e){if(typeof t!=`string`)throw Error(`index: object index must be string, got ${Fd(t)}`);return e[t]}throw Error(`index: cannot index ${Fd(e)}`)}function Fd(e){return e===null?`null`:e===void 0?`undefined`:Array.isArray(e)?`array`:e instanceof Map?`Map`:typeof e}function Id(e){return e==null?`<nil>`:typeof e==`string`?`string`:typeof e==`boolean`?`bool`:typeof e==`bigint`?`int64`:typeof e==`number`?Number.isInteger(e)?`int`:`float64`:Array.isArray(e)?`[]interface {}`:e instanceof Map||typeof e==`object`?`map[string]interface {}`:typeof e}function Ld(e,t){let n=``,r=!1;for(let i=0;i<e.length;i++){let a=e[i],o=typeof a==`string`;i>0&&!r&&!o&&(n+=` `),n+=Rd(a,t),r=o}return n}function Rd(e,t){return e==null?`<nil>`:typeof e==`string`?e:t(e)}const zd={"\0":`�`,'"':`"`,"'":`'`,"&":`&`,"<":`<`,">":`>`};function Bd(e){return e.replace(/[\0"'&<>]/g,e=>zd[e]??e)}const Vd={"\\":`\\\\`,"'":`\\'`,'"':`\\"`,"<":`\\u003C`,">":`\\u003E`,"&":`\\u0026`,"=":`\\u003D`},Hd=/^[\p{L}\p{M}\p{N}\p{P}\p{S}]$/u;function Ud(e){let t=``;for(let n of e){let e=Vd[n];if(e!==void 0){t+=e;continue}let r=n.codePointAt(0);if(r<32||r>=128&&!Hd.test(n)){t+=`\\u${r.toString(16).toUpperCase().padStart(4,`0`)}`;continue}t+=n}return t}const Wd=new TextEncoder;function Gd(e){let t=``,n=Wd.encode(e);for(let e of n)e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45||e===46||e===95||e===126?t+=String.fromCharCode(e):e===32?t+=`+`:t+=`%${e.toString(16).toUpperCase().padStart(2,`0`)}`;return t}function Kd(e,t,n,r){let i=``,a=0,o=0;for(;o<e.length;){let s=e[o];if(s!==`%`){i+=s,o+=1;continue}if(e[o+1]===`%`){i+=`%`,o+=2;continue}let c=o+1;for(;c<e.length&&`+-# 0`.includes(e[c]??``);)c+=1;for(;c<e.length&&e[c]!==void 0&&/[0-9]/.test(e[c]);)c+=1;if(e[c]===`.`)for(c+=1;c<e.length&&e[c]!==void 0&&/[0-9]/.test(e[c]);)c+=1;let l=e[c],u=e.slice(o+1,c),d=t[a++];i+=qd(l??``,u,d,n,r),o=c+1}return i}function qd(e,t,n,r,i){switch(e){case`s`:return typeof n==`string`?Jd(t,n):Jd(t,Rd(n,r));case`d`:return typeof n!=`number`&&typeof n!=`bigint`?`%!${e}(${Id(n)}=${Rd(n,r)})`:Jd(t,String(typeof n==`bigint`?n:Math.trunc(n)));case`v`:return Jd(t,Yd(n,r,i));case`q`:return Jd(t,JSON.stringify(Rd(n,r)));case`f`:{if(typeof n!=`number`&&typeof n!=`bigint`)return`%!${e}(${Id(n)}=${Rd(n,r)})`;let i=t.includes(`.`)?Number(t.split(`.`)[1]):6;return Jd(t,Number(n).toFixed(i))}case`t`:return Jd(t,Dd(n)?`true`:`false`);case`x`:if(typeof n==`string`){let e=new TextEncoder().encode(n),r=``;for(let t of e)r+=t.toString(16).padStart(2,`0`);return Jd(t,r)}return typeof n!=`number`&&typeof n!=`bigint`?`%!${e}(${Id(n)}=${Rd(n,r)})`:typeof n==`bigint`?Jd(t,n.toString(16)):Jd(t,Math.trunc(n).toString(16));default:return`%!${e}(${Id(n)}=${Rd(n,r)})`}}function Jd(e,t){let n=e.match(/^([+\-# 0]*)/)?.[1]??``,r=e.slice(n.length).match(/^(\d+)/);if(!r)return t;let i=Number(r[1]);if(t.length>=i)return t;let a=` `.repeat(i-t.length);return n.includes(`-`)?t+a:a+t}function Yd(e,t,n){return e==null?`<nil>`:typeof e==`string`?e:n(e)?t(e):Array.isArray(e)?`[${e.map(e=>Yd(e,t,n)).join(` `)}]`:e instanceof Map?Xd([...e.entries()],t,n):Zd(e)?Xd(Object.entries(e),t,n):String(e)}function Xd(e,t,n){let r=e=>Yd(e,t,n),i=e=>typeof e==`number`||typeof e==`bigint`,a=([e],[t])=>{if(i(e)&&i(t))return e<t?-1:+(e>t);if(i(e)!==i(t))return i(e)?-1:1;let[n,a]=[r(e),r(t)];return n<a?-1:+(n>a)};return`map[${[...e].sort(a).map(([e,t])=>`${r(e)}:${r(t)}`).join(` `)}]`}function Zd(e){if(typeof e!=`object`||!e||Array.isArray(e)||e instanceof Map||e instanceof Set)return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function Qd(e){return{dot:e,root:e,parent:void 0,vars:new Map}}function $d(e,t){return{dot:t,root:e.root,parent:e,vars:new Map}}function ef(e,t){let n=e;for(;n!==void 0;){if(n.vars.has(t))return{found:!0,value:n.vars.get(t)};n=n.parent}return{found:!1}}function tf(e,t,n){e.vars.set(t,n)}const nf=new Set([`default`,`zero`,`error`]);function rf(e){if(e===void 0)return`default`;if(nf.has(e))return e;throw Error(`EngineConfig.missingKey: expected "default" | "zero" | "error", got ${af(e)}`)}function af(e){return typeof e==`string`?JSON.stringify(e):e===null?`null`:e===void 0?`undefined`:typeof e==`bigint`?`${e}n`:typeof e==`number`||typeof e==`boolean`?String(e):typeof e==`symbol`?e.toString():typeof e==`function`?`[Function]`:`[${typeof e}]`}function of(e){if(e!==void 0){if(typeof e!=`object`||!e)throw Error(`EngineConfig.delims: expected { left, right } object, got ${af(e)}`);if(typeof e.left!=`string`||e.left.length===0)throw Error(`EngineConfig.delims.left: expected non-empty string, got ${af(e.left)}`);if(typeof e.right!=`string`||e.right.length===0)throw Error(`EngineConfig.delims.right: expected non-empty string, got ${af(e.right)}`);return{left:e.left,right:e.right}}}const sf=Object.freeze({kind:`break`}),cf=Object.freeze({kind:`continue`}),lf={kind:`none`};let uf;(class e{source;_evaluate;_defines;_referencedFunctions;_referencedCalls;constructor(e,t,n,r,i){this.source=e,this._evaluate=t,this._defines=n,this._referencedFunctions=r,this._referencedCalls=i}static{uf=(t,n,r,i,a)=>new e(t,n,r,i,a)}defines(){return this._defines}evaluate(e){return this._evaluate(e)}referencedFunctions(){return this._referencedFunctions}referencedCalls(){return this._referencedCalls}});function df(e){let t=new Set,n=e=>{vd(e,e=>{e.type===`Identifier`&&t.add(e.ident)})};n(e.root);for(let t of e.ownDefines.values())n(t.list);return t}const ff={kind:`dynamic`};function pf(e){switch(e.type){case`String`:return{kind:`literal`,value:e.value};case`Bool`:return{kind:`literal`,value:e.value};case`Nil`:return{kind:`literal`,value:null};case`Number`:{let t=Mf(e);return typeof t==`number`||typeof t==`bigint`?{kind:`literal`,value:t}:ff}case`Pipe`:{if(e.decls.length!==0||e.cmds.length!==1)return ff;let t=e.cmds[0];if(t===void 0)return ff;let n=t.args[0];return n===void 0||n.type!==`Identifier`?ff:{kind:`call`,name:n.ident,args:t.args.slice(1).map(pf)}}default:return ff}}function mf(e){let t=[],n=e=>{vd(e,e=>{if(e.type!==`Command`)return;let n=e.args[0];if(n===void 0||n.type!==`Identifier`)return;let r=e.args.slice(1).map(pf);t.push({name:n.ident,args:r.map(e=>e.kind===`literal`&&typeof e.value==`string`?e.value:null),argExprs:r})})};n(e.root);for(let t of e.ownDefines.values())n(t.list);return t}var hf=class{fromString;toString;isT;funcs;missingKey;delims;constructor(e){this.fromString=e.fromString;let t=Object.hasOwn(e,`toString`)?e.toString:void 0;this.toString=t??Sf,this.isT=e.isT??gf,this.missingKey=rf(e.missingKey),this.delims=of(e.delims),this.funcs={...Ad(this.toString,this.isT),...e.funcs??{}}}parse(e,t){let n=id(e,this.delims,t);return uf(n.source,e=>this.evalParsed(n,e),n.defines,df(n),mf(n))}compile(e){let t=this.parse(e);return e=>t.evaluate(e)}evaluate(e,t){return e.evaluate(t)}evalParsed(e,t){let n=[],r=Qd(t),i={out:n,defines:e.defines,source:e.source};return this.evalList(e.root,r,i),n}evalList(e,t,n){for(let r of e.nodes)this.evalNode(r,t,n)}evalNode(e,t,n){switch(e.type){case`Text`:n.out.push(this.fromString(e.text));return;case`Comment`:return;case`Action`:{let r=this.evalAction(e,t,n);e.pipe.decls.length===0&&this.emitFromValue(r,n);return}case`List`:this.evalList(e,t,n);return;case`If`:this.evalIf(e,t,n);return;case`Range`:this.evalRange(e,t,n);return;case`With`:this.evalWith(e,t,n);return;case`Break`:throw sf;case`Continue`:throw cf;case`Template`:this.evalTemplateInvoke(e,t,n);return;case`Block`:this.evalBlock(e,t,n);return;case`Pipe`:case`Command`:case`Identifier`:case`Field`:case`Variable`:case`Chain`:case`Dot`:case`Nil`:case`Bool`:case`Number`:case`String`:throw new Nu(`unexpected ${e.type} at statement position`,e.pos,{source:n.source});default:Vu(e)}}evalIf(e,t,n){Dd(this.evalPipe(e.pipe,t,n))?this.evalList(e.list,t,n):e.elseList&&this.evalList(e.elseList,t,n)}evalWith(e,t,n){let r=this.evalPipe(e.pipe,t,n);if(Dd(r)){let i=$d(t,r);this.evalList(e.list,i,n)}else e.elseList&&this.evalList(e.elseList,t,n)}evalRange(e,t,n){let r=this.evalPipeWithoutDecls(e.pipe,t,n),i=e.pipe.decls,a=kf(r);try{if(a.length===0){e.elseList&&this.evalList(e.elseList,t,n);return}for(let[r,o]of a){let a=$d(t,o);if(i.length===1)tf(a,i[0]?.idents[0]??`$`,o);else if(i.length>=2){let e=i[0]?.idents[0]??`$`,t=i[1]?.idents[0]??`$`;tf(a,e,r),tf(a,t,o)}try{this.evalList(e.list,a,n)}catch(e){if(e===cf)continue;throw e}}}catch(e){if(e===sf)return;throw e}}evalTemplateInvoke(e,t,n){let r=nd(n.defines,e.name);if(!r)throw new Nu(`template ${JSON.stringify(e.name)} is not defined`,e.pos,{source:n.source});let i=$d(t,e.pipe?this.evalPipe(e.pipe,t,n):t.dot);this.evalList(r.list,i,{out:n.out,defines:n.defines,source:r.source})}evalBlock(e,t,n){let r=$d(t,e.pipe?this.evalPipe(e.pipe,t,n):t.dot),i=nd(n.defines,e.name)??{list:e.list,source:n.source};this.evalList(i.list,r,{out:n.out,defines:n.defines,source:i.source})}evalAction(e,t,n){return this.evalPipe(e.pipe,t,n)}evalPipe(e,t,n){if(e.cmds.length===0)throw new Nu(`empty pipeline`,e.pos,{source:n.source});let r=this.evalCommand(e.cmds[0],t,n,lf);for(let i=1;i<e.cmds.length;i++){let a=e.cmds[i];r=this.evalCommand(a,t,n,{kind:`value`,value:r})}if(e.decls.length>0)for(let n of e.decls)tf(t,n.idents[0]??`$`,r);return r}evalPipeWithoutDecls(e,t,n){let r={type:`Pipe`,pos:e.pos,decls:[],isAssign:!1,cmds:e.cmds};return this.evalPipe(r,t,n)}evalCommand(e,t,n,r){if(e.args.length===0)throw new Nu(`empty command`,e.pos,{source:n.source});let i=e.args[0];if(i.type!==`Identifier`){if(e.args.length>1)throw new Nu(`cannot apply arguments to a ${i.type} primary; only functions take arguments`,e.pos,{source:n.source});return this.evalPrimary(i,t,n)}let a=this.funcs[i.ident];if(!a)throw new Pu(i.ident,i.pos,{source:n.source,available:Object.keys(this.funcs)});let o=e.args.slice(1),s=Ed(a),c=o.map(e=>s?()=>this.evalPrimary(e,t,n):this.evalPrimary(e,t,n));if(r.kind===`value`){let e=r.value;c.push(s?()=>e:e)}vf(i.ident,a.argTypes,c,e.pos,n.source,this.toString,a.argTypePattern,this.fromString,this.isT);try{return a.fn(...c)}catch(t){throw t instanceof Fu?new Fu(t.funcName,t.argIndex,t.expected,t.receivedSummary,e.pos,{source:n.source}):t instanceof Lu?new Lu(t.message,e.pos,{source:n.source}):t}}evalPrimary(e,t,n){switch(e.type){case`Dot`:return t.dot;case`Nil`:return null;case`Bool`:return e.value;case`Number`:return Mf(e);case`String`:return e.value;case`Field`:return this.resolveFieldChain(t.dot,e.idents,e.pos,n);case`Variable`:return this.resolveVariable(e.idents,t,e.pos,n);case`Identifier`:{let t=this.funcs[e.ident];if(!t)throw new Pu(e.ident,e.pos,{source:n.source,available:Object.keys(this.funcs)});return vf(e.ident,t.argTypes,[],e.pos,n.source,this.toString,t.argTypePattern,this.fromString,this.isT),t.fn()}case`Chain`:return this.resolveFieldChain(this.evalPrimary(e.node,t,n),e.fields,e.pos,n);case`Pipe`:return this.evalPipe(e,t,n);default:throw new Nu(`cannot evaluate ${e.type} as a value`,e.pos,{source:n.source})}}resolveFieldChain(e,t,n,r){let i=Sd(e,t);if(i!==bd)return i;if(this.missingKey===`error`)throw new Iu(t,n,{source:r.source})}resolveVariable(e,t,n,r){let i=e[0]??`$`;if(i===`$`){let i=e.slice(1);return i.length===0?t.root:this.resolveFieldChain(t.root,i,n,r)}let a=ef(t,i);if(!a.found)throw new Nu(`undefined variable ${i}`,n,{source:r.source});let o=e.slice(1);return o.length===0?a.value:this.resolveFieldChain(a.value,o,n,r)}emitFromValue(e,t){if(e==null){t.out.push(this.fromString(`<no value>`));return}if(typeof e==`string`){t.out.push(this.fromString(e));return}if(typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`){t.out.push(this.fromString(String(e)));return}if(this.isT(e)){t.out.push(e);return}t.out.push(this.fromString(Yd(e,this.toString,this.isT)))}};const gf=e=>typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Map);function _f(e){return new hf(e)}function vf(e,t,n,r,i,a=Sf,o,s=xf,c=gf){let l=yf(t,o),u=-1,d=-1;for(let t=0;t<n.length;t++){let o=l(t),f=n[t];if(!bf(o,f,a,c))throw new Fu(e,t+1,Df(o),Of(f),r,{source:i});if(o===`liftable`&&typeof f==`string`&&(n[t]=s(f)),o===`int`?n[t]=Math.trunc(Number(f)):o===`float`&&(n[t]=Number(f)),o===`ordered`){if(u===-1)u=t;else if(!wf(n[u],f))throw new Fu(e,t+1,`${Df(`ordered`)} of the same kind as ${Of(n[u])}`,Of(f),r,{source:i})}if(o===`comparable`){if(d===-1)d=t;else if(!Tf(n[d],f))throw new Fu(e,t+1,`${Df(`comparable`)} of the same kind as ${Of(n[d])}`,Of(f),r,{source:i})}}}function yf(e,t){if(e.length===0)return()=>`value`;if(t===`alternating`){let t=e.length;return n=>e[n%t]}let n=e[e.length-1];return t=>t<e.length?e[t]:n}function bf(e,t,n,r){switch(e){case`truthy`:case`reflective`:case`value`:return!0;case`string`:return typeof t==`string`;case`int`:return typeof t==`number`&&Number.isFinite(t)||typeof t==`bigint`&&Number.isSafeInteger(Number(t));case`float`:return typeof t==`number`||typeof t==`bigint`&&Number.isFinite(Number(t));case`bool`:return typeof t==`boolean`;case`ordered`:return typeof t==`string`||typeof t==`number`||typeof t==`bigint`||typeof t==`boolean`;case`T`:return r(t);case`list`:return Array.isArray(t);case`dict`:return Zd(t);case`sized`:return typeof t==`string`||Array.isArray(t)||t instanceof Map||t instanceof Set||Zd(t);case`comparable`:return t==null||typeof t==`string`||typeof t==`number`||typeof t==`bigint`||typeof t==`boolean`||Array.isArray(t)||t instanceof Map||t instanceof Set||Zd(t);case`callable`:return typeof t==`function`;case`collection`:return typeof t==`string`||Array.isArray(t)||t instanceof Map||Zd(t);case`index-key`:return typeof t==`string`||typeof t==`number`||typeof t==`bigint`;case`sliceable`:return typeof t==`string`||Array.isArray(t);case`stringifiable`:if(typeof t==`string`)return!0;try{return n(t),!0}catch{return!1}case`liftable`:return typeof t==`string`||r(t);case`serializable`:return Cf(t);default:throw Error(`invalid ArgType: ${String(e)}`)}}function xf(e){return e}function Sf(e){if(typeof e==`string`)return e;if(e==null)return`<nil>`;if(typeof e==`number`||typeof e==`bigint`||typeof e==`boolean`)return String(e);throw new Fu(`<engine.toString>`,1,`string (or a consumer-supplied toString that flattens T)`,Of(e),{line:0,column:0,offset:0})}function Cf(e){try{return JSON.stringify(e)!==void 0}catch{return!1}}function wf(e,t){return typeof e==typeof t||typeof e==`number`&&typeof t==`bigint`||typeof e==`bigint`&&typeof t==`number`}function Tf(e,t){let n=Ef(e),r=Ef(t);return n===`nil`||r===`nil`?!0:n===r}function Ef(e){return e==null?`nil`:typeof e==`string`?`string`:typeof e==`number`||typeof e==`bigint`?`number`:typeof e==`boolean`?`boolean`:Array.isArray(e)?`array`:e instanceof Map?`map`:e instanceof Set?`set`:`object`}function Df(e){switch(e){case`int`:return`integer (finite number or safe-integer bigint)`;case`float`:return`float (number, including NaN/Infinity, or finite-convertible bigint)`;case`T`:return`T (consumer-defined fragment)`;case`ordered`:return`orderable primitive`;case`list`:return`list`;case`dict`:return`dict (plain object)`;case`sized`:return`sized value (string, list, map, set, or dict)`;case`comparable`:return`comparable value (orderable primitive, nil, list, dict, Map, or Set)`;case`stringifiable`:return`stringifiable value (string or convertible via the engine's toString)`;case`liftable`:return`liftable value (T or string, the latter lifted via the engine's fromString)`;case`callable`:return`callable (function value)`;case`collection`:return`collection (string, array, Map, or dict)`;case`index-key`:return`index key (number, bigint, or string)`;case`sliceable`:return`sliceable value (string or array)`;case`serializable`:return`JSON-serializable value`;case`truthy`:case`reflective`:case`value`:case`string`:case`bool`:return e;default:throw Error(`invalid ArgType: ${String(e)}`)}}function Of(e){return e===null?`null`:e===void 0?`undefined`:Array.isArray(e)?`array`:e instanceof Map?`Map`:typeof e}function kf(e){return e==null?[]:Array.isArray(e)?e.map((e,t)=>[t,e]):typeof e==`string`?[...e].map((e,t)=>[t,e]):e instanceof Map?Af([...e.entries()]):e instanceof Set?[...e.values()].map((e,t)=>[t,e]):typeof e==`object`?Af(Object.entries(e)):[]}function Af(e){return[...e].sort((e,t)=>jf(e[0],t[0]))}function jf(e,t){if((typeof e==`number`||typeof e==`bigint`)&&(typeof t==`number`||typeof t==`bigint`)){let n=typeof e==`bigint`?Number(e):e,r=typeof t==`bigint`?Number(t):t;return n===r?0:n<r?-1:1}let n=String(e),r=String(t);return n===r?0:n<r?-1:1}function Mf(e){if(e.intValue!==void 0){let t=e.intValue;return t>=BigInt(-(2**53-1))&&t<=BigInt(2**53-1)?Number(t):t}if(e.floatValue!==void 0)return e.floatValue;if(e.complexValue!==void 0)return e.complexValue;throw Error(`internal: NumberNode has none of intValue/floatValue/complexValue — parser invariant violated`)}function Nf(e){if(!/^[+-]?\d+$/.test(e))return 0;let t=Number.parseInt(e,10);return Number.isSafeInteger(t)?t:0}function Pf(e){if(typeof e==`number`)return e;if(typeof e==`bigint`)return Number(e);if(typeof e==`string`){let t=Number.parseFloat(e);return Number.isNaN(t)?0:t}return typeof e==`boolean`?+!!e:0}function Ff(e){if(e===``)return null;let t=1,n=e;return n[0]===`+`?n=n.slice(1):n[0]===`-`&&(t=-1,n=n.slice(1)),n===``?null:/^0x[0-9a-fA-F]+$/i.test(n)?{sign:t,digits:n.slice(2),base:16}:/^0b[01]+$/i.test(n)?{sign:t,digits:n.slice(2),base:2}:/^0o[0-7]+$/i.test(n)?{sign:t,digits:n.slice(2),base:8}:n===`0`?{sign:t,digits:`0`,base:10}:n[0]===`0`?/^0[0-7]+$/.test(n)?{sign:t,digits:n.slice(1),base:8}:null:/^[0-9]+$/.test(n)?{sign:t,digits:n,base:10}:null}function If(e){if(typeof e==`number`){let t=Math.trunc(e);return Number.isSafeInteger(t)?t:0}if(typeof e==`bigint`){let t=Number(e);return Number.isSafeInteger(t)?t:0}if(typeof e==`string`){let t=Ff(e);if(t===null)return 0;let n=t.sign*Number.parseInt(t.digits,t.base);return Number.isSafeInteger(n)?n:0}return typeof e==`boolean`?+!!e:0}function Lf(e){if(typeof e==`bigint`)return e;if(typeof e==`number`)return BigInt(Math.trunc(e));if(typeof e==`string`){let t=Ff(e);if(t===null)return 0n;let n=t.base===16?`0x`:t.base===2?`0b`:t.base===8?`0o`:``,r=BigInt(n+t.digits);return t.sign===-1?-r:r}return typeof e==`boolean`&&e?1n:0n}function Rf(e){if(!/^[+-]?[0-7]+$/.test(e))return 0;let t=e[0]===`-`?-1:1,n=e[0]===`+`||e[0]===`-`?e.slice(1):e,r=t*Number.parseInt(n,8);return Number.isSafeInteger(r)?r:0}function zf(e){return JSON.stringify(e)??`null`}function Bf(){return{atoi:{fn:e=>Nf(e),argTypes:[`string`],returnType:`int`},int:{fn:e=>If(e),argTypes:[`value`],returnType:`int`},int64:{fn:e=>Lf(e),argTypes:[`value`]},float64:{fn:e=>Pf(e),argTypes:[`value`],returnType:`float`},toDecimal:{fn:e=>Rf(e),argTypes:[`string`],returnType:`int`},toRawJson:{fn:e=>zf(e),argTypes:[`serializable`],returnType:`string`}}}const Vf={h:36e11,m:6e10,s:1e9,ms:1e6,us:1e3,µs:1e3,ns:1};function Hf(e){if(e===`0`)return 0;let t=!1,n=e;if(n.startsWith(`-`)?(t=!0,n=n.slice(1)):n.startsWith(`+`)&&(n=n.slice(1)),!n)return NaN;let r=0,i=/^(\d+(?:\.\d+)?)(ns|µs|us|ms|[smh])/;for(;n.length>0;){let e=i.exec(n);if(!e)return NaN;let t=parseFloat(e[1]??`0`),a=e[2];r+=t*Vf[a],n=n.slice(e[0].length)}return t?-r:r}function Uf(e){if(e===0)return`0s`;let t=!1,n=e;n<0&&(t=!0,n=-n);let r;return r=n<Vf.us?`${Math.floor(n)}ns`:n<Vf.ms?Wf(n,Vf.us,3,`µs`):n<Vf.s?Wf(n,Vf.ms,6,`ms`):Gf(n),t?`-${r}`:r}function Wf(e,t,n,r){let i=Math.floor(e/t),a=Math.round(e%t);return a===0?`${i}${r}`:`${i}.${String(a).padStart(n,`0`).replace(/0+$/,``)}${r}`}function Gf(e){let t=Math.floor(e/Vf.h);e-=t*Vf.h;let n=Math.floor(e/Vf.m);e-=n*Vf.m;let r=Math.floor(e/Vf.s),i=e-r*Vf.s,a=i===0?`${r}s`:`${r}.${String(Math.round(i)).padStart(9,`0`).replace(/0+$/,``)}s`;return t>0?`${t}h${n}m${a}`:n>0?`${n}m${a}`:a}function Kf(e){return e*Vf.s}function qf(e){if(e instanceof Date)return e;if(typeof e==`bigint`)return new Date(Number(e)*1e3);if(typeof e==`number`)return new Date(e*1e3);if(typeof e==`string`){let t=new Date(e);if(!Number.isNaN(t.getTime()))return t;throw Error(`sprig: cannot parse date value ${JSON.stringify(e)}`)}throw Error(`sprig: unsupported date type: ${typeof e}`)}function Jf(e,t){let n=t().getTime()-qf(e).getTime();return Uf(Math.round(n/1e3)*1e9)}const Yf=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],Xf=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],Zf=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],Qf=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`];function $f(e){return e<10?`0${e}`:String(e)}function ep(e){return e<10?`00${e}`:e<100?`0${e}`:String(e)}function tp(e){return e<10?` ${e}`:String(e)}function np(e){let t=e>=0?`+`:`-`,n=Math.abs(e);return`${t}${$f(Math.floor(n/60))}${$f(n%60)}`}function rp(e){let t=e>=0?`+`:`-`,n=Math.abs(e);return`${t}${$f(Math.floor(n/60))}:${$f(n%60)}`}function ip(e){return`${e>=0?`+`:`-`}${$f(Math.floor(Math.abs(e)/60))}`}function ap(e){return e===0?`Z`:np(e)}function op(e){return e===0?`Z`:rp(e)}function sp(e){return e===0?`Z`:ip(e)}function cp(e,t,n){let r=e*1e6,i=String(r).padStart(9,`0`).slice(0,t);return n?i.replace(/0+$/,``):i}const lp=[[`.000000000`,e=>`.${cp(e.ms,9,!1)}`],[`.999999999`,e=>{let t=cp(e.ms,9,!0);return t?`.${t}`:``}],[`.000000`,e=>`.${cp(e.ms,6,!1)}`],[`.999999`,e=>{let t=cp(e.ms,6,!0);return t?`.${t}`:``}],[`.000`,e=>`.${ep(e.ms)}`],[`.999`,e=>{let t=ep(e.ms).replace(/0+$/,``);return t?`.${t}`:``}],[`January`,e=>Yf[e.month-1]??`January`],[`Monday`,e=>Zf[e.weekday]??`Monday`],[`Z07:00`,e=>op(e.offsetMinutes)],[`-07:00`,e=>rp(e.offsetMinutes)],[`Z0700`,e=>ap(e.offsetMinutes)],[`-0700`,e=>np(e.offsetMinutes)],[`2006`,e=>String(e.year)],[`Jan`,e=>Xf[e.month-1]??`Jan`],[`Mon`,e=>Qf[e.weekday]??`Mon`],[`MST`,e=>e.tzAbbr],[`-07`,e=>ip(e.offsetMinutes)],[`Z07`,e=>sp(e.offsetMinutes)],[`15`,e=>$f(e.hour)],[`01`,e=>$f(e.month)],[`02`,e=>$f(e.day)],[`_2`,e=>tp(e.day)],[`03`,e=>$f(e.hour12)],[`04`,e=>$f(e.minute)],[`05`,e=>$f(e.second)],[`06`,e=>$f(e.year%100)],[`PM`,e=>e.hour>=12?`PM`:`AM`],[`pm`,e=>e.hour>=12?`pm`:`am`],[`1`,e=>String(e.month)],[`2`,e=>String(e.day)],[`3`,e=>String(e.hour12)],[`4`,e=>String(e.minute)],[`5`,e=>String(e.second)]];function up(e,t){let n=``,r=0;for(;r<e.length;){let i=!1;for(let[a,o]of lp)if(e.startsWith(a,r)){n+=o(t),r+=a.length,i=!0;break}i||(n+=e[r++])}return n}const dp={year:`numeric`,month:`2-digit`,day:`2-digit`,weekday:`long`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1};function fp(e){let t=new Map;for(let n of e)t.set(n.type,n.value);return t}const pp=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`];function mp(e,t){let n;try{new Intl.DateTimeFormat(`en-US`,{timeZone:t}),n=t}catch{n=`UTC`}let r=fp(new Intl.DateTimeFormat(`en-US`,{...dp,timeZone:n}).formatToParts(e)),i=parseInt(r.get(`hour`)??`0`,10)%24,a=fp(new Intl.DateTimeFormat(`en-US`,{timeZone:n,timeZoneName:`short`}).formatToParts(e)).get(`timeZoneName`)??n,o=hp(fp(new Intl.DateTimeFormat(`en-US`,{timeZone:n,timeZoneName:`shortOffset`}).formatToParts(e)).get(`timeZoneName`)??`GMT`),s=pp.indexOf(r.get(`weekday`)??`Sunday`);return{year:parseInt(r.get(`year`)??`2000`,10),month:parseInt(r.get(`month`)??`1`,10),day:parseInt(r.get(`day`)??`1`,10),weekday:s===-1?0:s,hour:i,hour12:i%12||12,minute:parseInt(r.get(`minute`)??`0`,10),second:parseInt(r.get(`second`)??`0`,10),ms:e.getUTCMilliseconds(),tzAbbr:a,offsetMinutes:o}}function hp(e){if(e===`GMT`||e===`UTC`)return 0;let t=e.match(/^GMT([+-])(\d{1,2})(?::(\d{2}))?$/);if(!t)return 0;let n=t[1]===`+`?1:-1,r=parseInt(t[2]??`0`,10),i=parseInt(t[3]??`0`,10);return n*(r*60+i)}function gp(){return Intl.DateTimeFormat().resolvedOptions().timeZone}function _p(e,t){return up(e,mp(qf(t),gp()))}function vp(e,t,n){return up(e,mp(qf(t),n))}function yp(e,t){let n=qf(t),r=Hf(e);return Number.isNaN(r)?n:new Date(n.getTime()+r/1e6)}function bp(e){if(typeof e==`string`){let t=parseInt(e,10);return Number.isNaN(t)?`0s`:Uf(Kf(t))}return typeof e==`bigint`?Uf(Kf(Number(e))):typeof e==`number`?Uf(Kf(e)):`0s`}const xp=36e11*24*365,Sp=36e11*24*30,Cp=36e11*24,wp=36e11,Tp=6e10,Ep=1e9;function Dp(e){let t=Hf(String(e));if(Number.isNaN(t))return`0s`;let n=Math.abs(t);return n>xp?`${Math.floor(n/xp)}y`:n>Sp?`${Math.floor(n/Sp)}mo`:n>Cp?`${Math.floor(n/Cp)}d`:n>wp?`${Math.floor(n/wp)}h`:n>Tp?`${Math.floor(n/Tp)}m`:n>Ep?`${Math.floor(n/Ep)}s`:`0s`}function Op(e){let t=mp(qf(e),gp());return`${t.year}-${String(t.month).padStart(2,`0`)}-${String(t.day).padStart(2,`0`)}`}function kp(e,t){let n=mp(qf(e),t);return`${n.year}-${String(n.month).padStart(2,`0`)}-${String(n.day).padStart(2,`0`)}`}function Ap(e){return e()}const jp=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],Mp=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`];function Np(){return{year:2e3,month:1,day:1,hour:0,minute:0,second:0,ms:0,offsetMinutes:0,isPM:!1,hour12:!1}}function Pp(e,t,n){return[e.slice(t,t+n),t+n]}function Fp(e,t,n,r){let i=t;for(;i<e.length&&i-t<r&&e.charCodeAt(i)>=48&&e.charCodeAt(i)<=57;)i++;if(i-t<n)throw Error(`sprig toDate: expected ${n}-${r} digits at pos ${t}`);return[parseInt(e.slice(t,i),10),i]}function Ip(e,t){for(let[n,r]of jp.entries())if(e.startsWith(r,t))return[n+1,t+r.length];throw Error(`sprig toDate: expected month name at pos ${t}`)}function Lp(e,t){for(let[n,r]of Mp.entries())if(e.startsWith(r,t))return[n+1,t+r.length];throw Error(`sprig toDate: expected short month name at pos ${t}`)}function Rp(e,t){for(let n of[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`])if(e.startsWith(n,t))return t+n.length;throw Error(`sprig toDate: expected weekday name at pos ${t}`)}function zp(e,t){for(let n of[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`])if(e.startsWith(n,t))return t+n.length;throw Error(`sprig toDate: expected short weekday name at pos ${t}`)}function Bp(e,t){if(e[t]===` `){let[n,r]=Fp(e,t+1,1,1);return[n,r]}return Fp(e,t,1,2)}function Vp(e,t,n){let r=e[t]===`+`?1:e[t]===`-`?-1:0;if(r===0)throw Error(`sprig toDate: expected +/- at pos ${t}`);let i=t+1,[a,o]=Fp(e,i,2,2);i=o;let s=0;if(n&&e[i]===`:`){let[t,n]=Fp(e,i+1,2,2);s=t,i=n}else if(!n){let[t,n]=Fp(e,i,2,2);s=t,i=n}return[r*(a*60+s),i]}function Hp(e,t,n,r){if(e[t]===`Z`)return[0,t+1];if(r){let n=e[t]===`+`?1:e[t]===`-`?-1:0;if(n===0)throw Error(`sprig toDate: expected Z or +/- at pos ${t}`);let[r,i]=Fp(e,t+1,2,2);return[n*r*60,i]}return Vp(e,t,n)}function Up(e,t){let n=t;for(;n<e.length&&e.charCodeAt(n)>=65&&e.charCodeAt(n)<=90;)n++;if(n===t)throw Error(`sprig toDate: expected timezone abbreviation at pos ${t}`);return n}function Wp(e,t,n){let[r,i]=Pp(e,t,n),a=parseInt(r.padEnd(9,`0`),10);return[Math.round(a/1e6),i]}function Gp(e,t,n,r){let i={...r};switch(e){case`January`:{let[e,r]=Ip(t,n);return i.month=e,[r,i]}case`Monday`:return[Rp(t,n),i];case`Jan`:{let[e,r]=Lp(t,n);return i.month=e,[r,i]}case`Mon`:return[zp(t,n),i];case`2006`:{let[e,r]=Fp(t,n,4,4);return i.year=e,[r,i]}case`06`:{let[e,r]=Fp(t,n,2,2);return i.year=e<70?2e3+e:1900+e,[r,i]}case`01`:{let[e,r]=Fp(t,n,2,2);return i.month=e,[r,i]}case`1`:{let[e,r]=Fp(t,n,1,2);return i.month=e,[r,i]}case`_2`:{let[e,r]=Bp(t,n);return i.day=e,[r,i]}case`02`:{let[e,r]=Fp(t,n,2,2);return i.day=e,[r,i]}case`2`:{let[e,r]=Fp(t,n,1,2);return i.day=e,[r,i]}case`15`:{let[e,r]=Fp(t,n,2,2);return i.hour=e,[r,i]}case`03`:{let[e,r]=Fp(t,n,2,2);return i.hour=e,i.hour12=!0,[r,i]}case`3`:{let[e,r]=Fp(t,n,1,2);return i.hour=e,i.hour12=!0,[r,i]}case`04`:{let[e,r]=Fp(t,n,2,2);return i.minute=e,[r,i]}case`4`:{let[e,r]=Fp(t,n,1,2);return i.minute=e,[r,i]}case`05`:{let[e,r]=Fp(t,n,2,2);return i.second=e,[r,i]}case`5`:{let[e,r]=Fp(t,n,1,2);return i.second=e,[r,i]}case`PM`:case`pm`:{let e=t.slice(n,n+2).toLowerCase();if(e!==`am`&&e!==`pm`)throw Error(`sprig toDate: expected AM/PM at pos ${n}, got ${JSON.stringify(t.slice(n,n+2))}`);return i.isPM=e===`pm`,i.hour12=!0,[n+2,i]}case`MST`:return[Up(t,n),i];case`-0700`:{let[e,r]=Vp(t,n,!1);return i.offsetMinutes=e,[r,i]}case`-07:00`:{let[e,r]=Vp(t,n,!0);return i.offsetMinutes=e,[r,i]}case`-07`:{let e=t[n]===`+`?1:t[n]===`-`?-1:0;if(e===0)throw Error(`sprig toDate: expected +/- at pos ${n}`);let[r,a]=Fp(t,n+1,2,2);return i.offsetMinutes=e*r*60,[a,i]}case`Z0700`:{let[e,r]=Hp(t,n,!1,!1);return i.offsetMinutes=e,[r,i]}case`Z07:00`:{let[e,r]=Hp(t,n,!0,!1);return i.offsetMinutes=e,[r,i]}case`Z07`:{let[e,r]=Hp(t,n,!1,!0);return i.offsetMinutes=e,[r,i]}case`.000000000`:{if(t[n]!==`.`)throw Error(`sprig toDate: expected . at pos ${n}`);let[e,r]=Wp(t,n+1,9);return i.ms=e,[r,i]}case`.999999999`:{if(t[n]!==`.`)return[n,i];let e=n+1,r=e;for(;r<t.length&&t.charCodeAt(r)>=48&&t.charCodeAt(r)<=57;)r++;let a=t.slice(e,r).padEnd(9,`0`);return i.ms=Math.round(parseInt(a,10)/1e6),[r,i]}case`.000000`:{if(t[n]!==`.`)throw Error(`sprig toDate: expected . at pos ${n}`);let[e,r]=Wp(t,n+1,6);return i.ms=e,[r,i]}case`.999999`:{if(t[n]!==`.`)return[n,i];let e=n+1,r=e;for(;r<t.length&&t.charCodeAt(r)>=48&&t.charCodeAt(r)<=57;)r++;let a=t.slice(e,r).padEnd(9,`0`);return i.ms=Math.round(parseInt(a,10)/1e6),[r,i]}case`.000`:{if(t[n]!==`.`)throw Error(`sprig toDate: expected . at pos ${n}`);let[e,r]=Wp(t,n+1,3);return i.ms=e,[r,i]}case`.999`:{if(t[n]!==`.`)return[n,i];let e=n+1,r=e;for(;r<t.length&&t.charCodeAt(r)>=48&&t.charCodeAt(r)<=57;)r++;let a=t.slice(e,r).padEnd(3,`0`);return i.ms=parseInt(a,10),[r,i]}}throw Error(`sprig toDate: unhandled token ${e}`)}const Kp=`.000000000,.999999999,.000000,.999999,.000,.999,January,Monday,Z07:00,-07:00,Z0700,-0700,2006,Jan,Mon,MST,-07,Z07,15,01,02,_2,03,04,05,06,PM,pm,1,2,3,4,5`.split(`,`);function qp(e,t){let n=0,r=0,i=Np();for(;n<e.length;){let a=!1;for(let o of Kp)if(e.startsWith(o,n)){let[e,s]=Gp(o,t,r,i);r=e,i=s,n+=o.length,a=!0;break}if(!a){let i=e.charAt(n);if(t[r]!==i)throw Error(`sprig toDate: expected ${JSON.stringify(i)} at pos ${r}, got ${JSON.stringify(t[r])}`);n++,r++}}if(r!==t.length)throw Error(`sprig toDate: extra characters at pos ${r}: ${JSON.stringify(t.slice(r))}`);if(i.hour12){let e=i.hour%12;i.hour=i.isPM?e+12:e}let a=Date.UTC(i.year,i.month-1,i.day,i.hour,i.minute,i.second,i.ms)-i.offsetMinutes*60*1e3;return new Date(a)}function Jp(e,t){return qp(e,t)}function Yp(e){return String(Math.floor(qf(e).getTime()/1e3))}function Xp(e=()=>new Date){return{now:{fn:()=>Ap(e),argTypes:[]},date:{fn:(e,t)=>_p(e,t),argTypes:[`string`,`value`]},dateInZone:{fn:(e,t,n)=>vp(e,t,n),argTypes:[`string`,`value`,`string`]},dateModify:{fn:(e,t)=>yp(e,t),argTypes:[`string`,`value`]},htmlDate:{fn:e=>Op(e),argTypes:[`value`]},htmlDateInZone:{fn:(e,t)=>kp(e,t),argTypes:[`value`,`string`]},duration:{fn:e=>bp(e),argTypes:[`value`]},durationRound:{fn:e=>Dp(e),argTypes:[`value`]},toDate:{fn:(e,t)=>Jp(e,t),argTypes:[`string`,`string`]},ago:{fn:t=>Jf(t,e),argTypes:[`value`]},unixEpoch:{fn:e=>Yp(e),argTypes:[`value`]}}}function Zp(e){return e==null||e===!1?!0:typeof e==`number`?e===0||Number.isNaN(e):typeof e==`bigint`?e===0n:typeof e==`string`||Array.isArray(e)?e.length===0:e instanceof Map||e instanceof Set?e.size===0:typeof e==`object`?Object.keys(e).length===0:!1}function Qp(...e){for(let t of e)if(!Zp(t))return t}function $p(e,t){return Zp(t)?e:t}function em(e){return JSON.parse(e)}function tm(e,t,n){return Dd(n)?e:t}function nm(e){return JSON.stringify(e)??`null`}function rm(e){return JSON.stringify(e,null,2)??`null`}function im(){return{default:{fn:(e,t)=>$p(e,t),argTypes:[`value`,`truthy`]},empty:{fn:e=>Zp(e),argTypes:[`truthy`]},coalesce:{fn:(...e)=>Qp(...e),argTypes:[`truthy`]},ternary:{fn:(e,t,n)=>tm(e,t,n),argTypes:[`value`,`value`,`truthy`]},fromJson:{fn:e=>em(e),argTypes:[`string`]},toJson:{fn:e=>nm(e),argTypes:[`serializable`],returnType:`string`},toPrettyJson:{fn:e=>rm(e),argTypes:[`serializable`],returnType:`string`}}}function am(...e){let t={};for(let n=0;n<e.length;n+=2)t[e[n]]=e[n+1];return t}function om(e){if(e.kind!==`call`||e.name!==`dict`||e.args.length%2!=0)return null;let t=[];for(let[n,r]of e.args.entries()){if(r.kind!==`literal`||n%2==0&&typeof r.value!=`string`)return null;t.push(r.value)}return am(...t)}function sm(e,t){return e[t]}function cm(e,t){return t in e}function lm(e){return Object.keys(e)}function um(e,...t){let n={...e};for(let e of t)for(let[t,r]of Object.entries(e))t in n||(n[t]=r);return n}function dm(e,...t){let n={...e};for(let e of t)Object.assign(n,e);return n}function fm(e,...t){let n=new Set(t),r={};for(let[t,i]of Object.entries(e))n.has(t)||(r[t]=i);return r}function pm(e,...t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function mm(e,...t){let n=[];for(let r of t)e in r&&n.push(r[e]);return n}function hm(e,t,n){return e[t]=n,e}function gm(e,t){return delete e[t],e}function _m(e){return Object.values(e)}function vm(){return{dict:{fn:(...e)=>am(...e),argTypes:[`string`,`value`],argTypePattern:`alternating`},get:{fn:(e,t)=>sm(e,t),argTypes:[`dict`,`string`]},set:{fn:(e,t,n)=>hm(e,t,n),argTypes:[`dict`,`string`,`value`]},unset:{fn:(e,t)=>gm(e,t),argTypes:[`dict`,`string`]},keys:{fn:e=>lm(e),argTypes:[`dict`]},values:{fn:e=>_m(e),argTypes:[`dict`]},pluck:{fn:(e,...t)=>mm(e,...t),argTypes:[`string`,`dict`]},pick:{fn:(e,...t)=>pm(e,...t),argTypes:[`dict`,`string`]},omit:{fn:(e,...t)=>fm(e,...t),argTypes:[`dict`,`string`]},hasKey:{fn:(e,t)=>cm(e,t),argTypes:[`dict`,`string`]},merge:{fn:(e,...t)=>um(e,...t),argTypes:[`dict`]},mergeOverwrite:{fn:(e,...t)=>dm(e,...t),argTypes:[`dict`]}}}new TextEncoder,new Map(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567`).map((e,t)=>[e,t])),new TextDecoder,new TextEncoder,new TextDecoder,new TextEncoder;function ym(...e){for(let t of e)if(Zp(t))return!1;return!0}function bm(...e){for(let t of e)if(!Zp(t))return!0;return!1}function xm(e,t){return[...e,t]}function Sm(e,t){let n=Math.max(1,e),r=[];for(let e=0;e<t.length;e+=n)r.push(t.slice(e,e+n));return r}function Cm(e){return e.filter(e=>!Zp(e))}function wm(...e){let t=[];for(let n of e)t.push(...n);return t}const Tm={line:0,column:0,offset:0};function Em(e,t,n,r){return new Fu(e,t,n,r,Tm)}function Dm(...e){if(e.length<3)throw Em(`dig`,0,`at least 3 arguments (...keys, default, dict)`,`${e.length} argument${e.length===1?``:`s`}`);let t=e[e.length-1],n=e[e.length-2],r=e.slice(0,-2);if(!km(t))throw Em(`dig`,e.length-1,`dict`,Am(t));for(let e=0;e<r.length;e++)if(typeof r[e]!=`string`)throw Em(`dig`,e,`string`,Am(r[e]));return Om(t,n,r,e.length)}function Om(e,t,n,r){let i=n[0];if(!Object.hasOwn(e,i))return t;let a=e[i];if(n.length===1)return a;if(!km(a))throw Em(`dig`,r-1,`dict at intermediate key`,Am(a));return Om(a,t,n.slice(1),r)}function km(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Map)&&!(e instanceof Set)}function Am(e){return e===null?`null`:Array.isArray(e)?`array`:e instanceof Map?`Map`:e instanceof Set?`Set`:typeof e}function jm(e){return e[0]}function Mm(e,t){return t.some(t=>Cd(t,e))}function Nm(e){return e.slice(0,-1)}function Pm(e){return e[e.length-1]}function Fm(e){return Array.isArray(e)||typeof e==`string`?e.length:e instanceof Map||e instanceof Set?e.size:Object.keys(e).length}function Im(...e){return e}function Lm(e,t){return[t,...e]}function Rm(e){return e.slice(1)}function zm(e){return[...e].reverse()}function Bm(e,t,n){let r=t===void 0?0:t,i=n===void 0?e.length:n;return e.slice(r,i)}function Vm(e){let t=[];for(let n of e)n!=null&&t.push(String(n));return t.sort()}function Hm(e){let t=[];for(let n of e)t.some(e=>Cd(e,n))||t.push(n);return t}function Um(e,...t){return e.filter(e=>!t.some(t=>Cd(t,e)))}function Wm(){return{list:{fn:(...e)=>Im(...e),argTypes:[`value`]},first:{fn:e=>jm(e),argTypes:[`list`]},last:{fn:e=>Pm(e),argTypes:[`list`]},rest:{fn:e=>Rm(e),argTypes:[`list`]},initial:{fn:e=>Nm(e),argTypes:[`list`]},len:{fn:e=>Fm(e),argTypes:[`sized`]},reverse:{fn:e=>zm(e),argTypes:[`list`]},uniq:{fn:e=>Hm(e),argTypes:[`list`]},without:{fn:(e,...t)=>Um(e,...t),argTypes:[`list`,`value`]},has:{fn:(e,t)=>Mm(e,t),argTypes:[`value`,`list`]},compact:{fn:e=>Cm(e),argTypes:[`list`]},slice:{fn:(e,t,n)=>Bm(e,t,n),argTypes:[`list`,`int`,`int`]},concat:{fn:(...e)=>wm(...e),argTypes:[`list`]},chunk:{fn:(e,t)=>Sm(e,t),argTypes:[`int`,`list`]},prepend:{fn:(e,t)=>Lm(e,t),argTypes:[`list`,`value`]},append:{fn:(e,t)=>xm(e,t),argTypes:[`list`,`value`]},sortAlpha:{fn:e=>Vm(e),argTypes:[`list`],returnType:`list`},push:{fn:(e,t)=>xm(e,t),argTypes:[`list`,`value`]},tuple:{fn:(...e)=>Im(...e),argTypes:[`value`]},dig:{fn:(...e)=>Dm(...e),argTypes:[`value`]},all:{fn:(...e)=>ym(...e),argTypes:[`truthy`],returnType:`bool`},any:{fn:(...e)=>bm(...e),argTypes:[`truthy`],returnType:`bool`}}}function Gm(...e){return e.reduce((e,t)=>e+t,0)}function Km(e){return e+1}function qm(e){return e+1}function Jm(...e){return e.reduce((e,t)=>e+t,0)}function Ym(e){return Math.ceil(e)}function Xm(e,t){return Math.trunc(e/t)}function Zm(e,t){return e/t}function Qm(e){return Math.floor(e)}function $m(...e){return e.reduce((e,t)=>t>e?t:e,-1/0)}function eh(...e){return e.reduce((e,t)=>Math.max(e,t),-1/0)}function th(...e){return e.reduce((e,t)=>t<e?t:e,1/0)}function nh(...e){return e.reduce((e,t)=>Math.min(e,t),1/0)}function rh(e,t){return e%t}function ih(...e){return e.reduce((e,t)=>e*t,1)}function ah(...e){return e.reduce((e,t)=>e*t,1)}function oh(e,t=0){let n=10**t;return Math.sign(e)*Math.round(Math.abs(e)*n)/n}function sh(e,t,n){let r=[];if(t<e){if(n>=0)return r;for(let i=e;i>t;i+=n)r.push(i);return r}if(n<=0)return r;for(let i=e;i<t;i+=n)r.push(i);return r}function ch(...e){let t=1;switch(e.length){case 0:return``;case 1:{let n=e[0];return n<1&&(t=-1),sh(1,n+t,t).join(` `)}case 2:{let t=e[0],n=e[1],r=n<t?-1:1;return sh(t,n+r,r).join(` `)}case 3:{let n=e[0],r=e[1],i=e[2];return i<n&&(t=-1,r>0)?``:sh(n,i+t,r).join(` `)}default:return``}}function lh(e,t){return e-t}function uh(e,t){return e-t}function dh(e){return sh(0,e,e<0?-1:1)}function fh(){return{add:{fn:(...e)=>Gm(...e),argTypes:[`int`]},sub:{fn:(e,t)=>lh(e,t),argTypes:[`int`,`int`]},mul:{fn:(...e)=>ih(...e),argTypes:[`int`]},div:{fn:(e,t)=>Xm(e,t),argTypes:[`int`,`int`]},mod:{fn:(e,t)=>rh(e,t),argTypes:[`int`,`int`]},min:{fn:(...e)=>th(...e),argTypes:[`int`]},max:{fn:(...e)=>$m(...e),argTypes:[`int`]},floor:{fn:e=>Qm(e),argTypes:[`float`]},ceil:{fn:e=>Ym(e),argTypes:[`float`]},round:{fn:(e,t)=>oh(e,t),argTypes:[`float`,`int`]},addf:{fn:(...e)=>Jm(...e),argTypes:[`float`]},subf:{fn:(e,t)=>uh(e,t),argTypes:[`float`,`float`]},mulf:{fn:(...e)=>ah(...e),argTypes:[`float`]},divf:{fn:(e,t)=>Zm(e,t),argTypes:[`float`,`float`]},add1:{fn:e=>Km(e),argTypes:[`int`]},add1f:{fn:e=>qm(e),argTypes:[`float`]},maxf:{fn:(...e)=>eh(...e),argTypes:[`float`]},minf:{fn:(...e)=>nh(...e),argTypes:[`float`]},biggest:{fn:(...e)=>$m(...e),argTypes:[`int`]},seq:{fn:(...e)=>ch(...e),argTypes:[`int`],returnType:`string`},until:{fn:e=>dh(e),argTypes:[`int`],returnType:`list`},untilStep:{fn:(e,t,n)=>sh(e,t,n),argTypes:[`int`,`int`,`int`],returnType:`list`}}}Array.from({length:95},(e,t)=>String.fromCharCode(t+32)).join(``);function ph(e,t){return t.length<=e||e<4?t:`${t.slice(0,e-3)}...`}function mh(e,t,n){return t<7||n.length<t||e<0||e>n.length-t+1?n:`...${n.slice(e,e+t-6)}...`}const q={Invalid:0,Number:1,UpperCase:2,Alphabet:3,Connector:4,Punct:5,Other:6},hh=/^[-_\s]$/,gh=/^\p{P}$/u,_h=/^\p{L}$/u,vh=/^\p{Lu}$/u,yh=/^\p{N}$/u;function bh(e){return e!==void 0&&hh.test(e)}function xh(e){return e!==void 0&&_h.test(e)}function Sh(e){return e!==void 0&&vh.test(e)}function Ch(e){return e!==void 0&&yh.test(e)}function wh(e){return e!==void 0&&gh.test(e)}function Th(e,t){if(t>=e.length)return{word:{wt:q.Invalid,text:``},next:t};let n=e[t],r=t+1;if(bh(n)){for(;r<e.length&&bh(e[r]);)r++;return{word:{wt:q.Connector,text:e.slice(t,r).join(``)},next:r}}if(wh(n)){for(;r<e.length&&wh(e[r]);)r++;return{word:{wt:q.Punct,text:e.slice(t,r).join(``)},next:r}}if(Sh(n)){if(r>=e.length)return{word:{wt:q.UpperCase,text:n},next:r};if(Sh(e[r])){let n=r;for(;n<e.length&&Sh(e[n]);)n++;return n<e.length&&xh(e[n])?{word:{wt:q.UpperCase,text:e.slice(t,n-1).join(``)},next:n-1}:{word:{wt:q.UpperCase,text:e.slice(t,n).join(``)},next:n}}if(xh(e[r])){let n=r+1;for(;n<e.length&&xh(e[n])&&!Sh(e[n]);)n++;return{word:{wt:q.UpperCase,text:e.slice(t,n).join(``)},next:n}}return{word:{wt:q.UpperCase,text:n},next:r}}if(xh(n)){for(;r<e.length&&xh(e[r])&&!Sh(e[r]);)r++;return{word:{wt:q.Alphabet,text:e.slice(t,r).join(``)},next:r}}if(Ch(n)){for(;r<e.length&&Ch(e[r]);)r++;return{word:{wt:q.Number,text:e.slice(t,r).join(``)},next:r}}for(;r<e.length&&!bh(e[r])&&!xh(e[r])&&!Ch(e[r])&&!wh(e[r]);)r++;return{word:{wt:q.Other,text:e.slice(t,r).join(``)},next:r}}function Eh(e,t,n){if(t.wt!==q.UpperCase&&t.wt!==q.Connector){e.push(t.text);return}for(let r of t.text)bh(r)?e.push(n):Sh(r)?e.push(r.toLowerCase()):e.push(r)}function Dh(e,t){if(e.length===0)return``;let n=Array.from(e),r=[],{word:i,next:a}=Th(n,0);for(;a<n.length;){i.wt!==q.Connector&&Eh(r,i,t);let e=i,o=i;if({word:i,next:a}=Th(n,a),e.wt===q.Number){for(;i.wt===q.Alphabet||i.wt===q.Number;)Eh(r,i,t),{word:i,next:a}=Th(n,a);i.wt!==q.Invalid&&i.wt!==q.Punct&&i.wt!==q.Connector&&r.push(t);continue}if(e.wt===q.Connector){Eh(r,o,t);continue}if(e.wt===q.Punct)continue;if(i.wt!==q.Number){i.wt!==q.Connector&&i.wt!==q.Punct&&r.push(t);continue}if(a>=n.length)continue;let s=i;if({word:i,next:a}=Th(n,a),i.wt!==q.Alphabet){Eh(r,s,t),i.wt!==q.Connector&&i.wt!==q.Punct&&r.push(t);continue}for(r.push(t),Eh(r,s,t);i.wt===q.Alphabet||i.wt===q.Number;)Eh(r,i,t),{word:i,next:a}=Th(n,a);i.wt!==q.Invalid&&i.wt!==q.Connector&&i.wt!==q.Punct&&r.push(t)}return Eh(r,i,t),r.join(``).toLowerCase()}function Oh(e){if(e.length===0)return``;let t=Array.from(e),n=[],r=0,i=``;for(;r<t.length;){if(i=t[r],r++,!bh(i)){i=i.toUpperCase();break}n.push(i)}if(r>=t.length)return t.length>0&&n.push(i),n.join(``);for(;r<t.length;){let e=i;if(i=t[r],r++,bh(i)&&bh(e)){n.push(e);continue}bh(e)?i=i.toUpperCase():(i=i.toLowerCase(),n.push(e))}return n.push(i),n.join(``)}function kh(e){return Oh(e)}function Ah(...e){return e.join(` `)}function jh(e,t){return t.includes(e)}function Mh(e,t){return t.startsWith(e)}function Nh(e,t){return t.endsWith(e)}function Ph(e,t){let n=` `.repeat(Math.max(0,e));return t.split(`
|
|
48
|
+
`?(this.line+=1,this.column=1):this.column+=1}}advanceTo(e){for(;this.offset<e;)this.advanceBy(1)}makeToken(e,t,n,r={}){return Object.freeze({type:e,value:t,pos:n,...r.trimLeft===void 0?{}:{trimLeft:r.trimLeft},...r.trimRight===void 0?{}:{trimRight:r.trimRight}})}};function ed(e){return e===` `||e===` `||e===`\r`||e===`
|
|
49
|
+
`}function td(e){return e===`+`||e===`-`}function nd(e){return e>=`0`&&e<=`9`}function rd(e){return nd(e)||e>=`a`&&e<=`f`||e>=`A`&&e<=`F`}function id(e){return e>=`0`&&e<=`7`}function ad(e){return e===`0`||e===`1`}function od(e){return e>=`a`&&e<=`z`||e>=`A`&&e<=`Z`}function sd(e){return od(e)||e===`_`}function cd(e){return sd(e)||nd(e)}let ld,ud;function dd(e,t){return ud(e,t)}var fd=class e{static EMPTY=new e(new Map,void 0);#e;#t;constructor(e,t){this.#e=e,this.#t=t}static{ld=(t,n)=>new e(t,n),ud=(e,t)=>e.#e.get(t)??(e.#t&&ud(e.#t,t))}has(e){return ud(this,e)!==void 0}};function pd(e,t,n=fd.EMPTY){return new md(e,t,n).parseTemplate()}var md=class{lex;buf=[];defines=new Map;inherit;source;rangeDepth=0;constructor(e,t,n){this.source=e,this.inherit=n,this.lex=t?new $u(e,t):new $u(e)}peek(e=0){for(;this.buf.length<=e;)this.buf.push(this.lex.next());return this.buf[e]}next(){return this.buf.length>0?this.buf.shift():this.lex.next()}expect(e,t){let n=this.next();if(n.type!==e)throw this.errAt(n,`expected ${t}`,{expected:t,found:_d(n)});return n}errAt(e,t,n={}){return new Vu(t,e.pos,{...n,source:this.source})}parseTemplate(){let e=this.parseList();if(this.peek().type!==`EOF`){let e=this.peek(),t=this.peek(1);if(e.type===`LeftDelim`&&(t.type===`Else`||t.type===`End`)){let n=t.type===`Else`?`else`:`end`;throw this.errAt(e,`unexpected \`{{${n}}}\` outside of \`if\`, \`range\`, \`with\`, or \`block\``,{found:`{{${n}}}`})}throw this.errAt(e,`unexpected ${_d(e)}`,{found:_d(e)})}return{root:e,defines:ld(this.defines,this.inherit),ownDefines:this.defines,source:this.source}}parseList(){let e=this.peek().pos,t=[];for(;;){let n=this.peek();if(n.type===`EOF`)break;if(n.type===`Text`){this.next(),t.push({type:`Text`,pos:n.pos,text:n.value});continue}if(n.type===`Comment`){this.next();let e=gd(n);t.push({type:`Comment`,pos:n.pos,text:n.value,trim:e});continue}if(n.type===`LeftDelim`){let n=this.peek(1).type;if(n===`Else`||n===`End`)return hd(e,t);let r=this.parseAction();r!==null&&t.push(r);continue}throw this.errAt(n,`unexpected ${_d(n)} at top level`,{found:_d(n)})}return hd(e,t)}parseAction(){let e=this.expect(`LeftDelim`,"`{{`"),t=e.trimLeft===!0,n=this.peek();switch(n.type){case`If`:return this.next(),this.parseBranch(`If`,e.pos,t);case`Range`:return this.next(),this.parseBranch(`Range`,e.pos,t);case`With`:return this.next(),this.parseBranch(`With`,e.pos,t);case`Break`:return this.next(),this.parseBreakOrContinue(`Break`,e.pos,t);case`Continue`:return this.next(),this.parseBreakOrContinue(`Continue`,e.pos,t);case`Template`:return this.next(),this.parseTemplateInvocation(e.pos,t);case`Block`:return this.next(),this.parseBlock(e.pos,t);case`Define`:return this.next(),this.parseDefine(e.pos,t),null;case`RightDelim`:throw this.errAt(n,`empty action`,{expected:`pipeline`});default:{let n=this.parsePipeline(),r=this.expect(`RightDelim`,"`}}`");return{type:`Action`,pos:e.pos,pipe:n,trim:{trimLeft:t,trimRight:r.trimRight===!0}}}}}parseBranch(e,t,n){let r=this.parsePipeline();this.expect(`RightDelim`,"`}}`"),e===`Range`&&(this.rangeDepth+=1);let i=this.parseList();e===`Range`&&--this.rangeDepth;let a=this.parseElsePart(),o={trimLeft:n,trimRight:a.endConsumed?a.endRight:this.consumeEnd()},s=a.list?{pipe:r,list:i,elseList:a.list,trim:o}:{pipe:r,list:i,trim:o};switch(e){case`If`:return{type:`If`,pos:t,...s};case`Range`:return{type:`Range`,pos:t,...s};case`With`:return{type:`With`,pos:t,...s}}}parseBreakOrContinue(e,t,n){if(this.rangeDepth===0)throw new Vu(`{{${e===`Break`?`break`:`continue`}}} outside of {{range}}`,t,{source:this.source});let r={trimLeft:n,trimRight:this.expect(`RightDelim`,"`}}`").trimRight===!0};return e===`Break`?{type:`Break`,pos:t,trim:r}:{type:`Continue`,pos:t,trim:r}}parseElsePart(){if(this.peek().type!==`LeftDelim`||this.peek(1).type!==`Else`)return{list:void 0,endRight:!1,endConsumed:!1};let e=this.next();if(this.next(),this.peek().type===`If`){this.next();let t=this.parseBranch(`If`,e.pos,e.trimLeft===!0);return{list:{type:`List`,pos:e.pos,nodes:[t]},endRight:t.trim.trimRight,endConsumed:!0}}return this.expect(`RightDelim`,"`}}`"),{list:this.parseList(),endRight:!1,endConsumed:!1}}consumeEnd(){return this.expect(`LeftDelim`,"`{{end}}`"),this.expect(`End`,"`end`"),this.expect(`RightDelim`,"`}}`").trimRight===!0}parseTemplateInvocation(e,t){let n=this.parseQuotedName(),r=this.peek().type===`RightDelim`?void 0:this.parsePipeline(),i={trimLeft:t,trimRight:this.expect(`RightDelim`,"`}}`").trimRight===!0};return r?{type:`Template`,pos:e,name:n,pipe:r,trim:i}:{type:`Template`,pos:e,name:n,trim:i}}parseBlock(e,t){let n=this.parseQuotedName(),r=this.peek().type===`RightDelim`?void 0:this.parsePipeline();this.expect(`RightDelim`,"`}}`");let i=this.rangeDepth;this.rangeDepth=0;let a=this.parseList();this.rangeDepth=i;let o={trimLeft:t,trimRight:this.consumeEnd()};return!this.defines.has(n)&&!this.inherit.has(n)&&this.defines.set(n,{list:a,source:this.source}),r?{type:`Block`,pos:e,name:n,pipe:r,list:a,trim:o}:{type:`Block`,pos:e,name:n,list:a,trim:o}}parseDefine(e,t){let n=this.parseQuotedName();this.expect(`RightDelim`,"`}}`");let r=this.rangeDepth;this.rangeDepth=0;let i=this.parseList();if(this.rangeDepth=r,this.consumeEnd(),this.defines.has(n)||this.inherit.has(n))throw new Vu(`redefinition of template ${JSON.stringify(n)}`,i.pos,{source:this.source});this.defines.set(n,{list:i,source:this.source})}parseQuotedName(){let e=this.next();if(e.type!==`String`)throw this.errAt(e,`expected template name (quoted string)`,{expected:`string`,found:_d(e)});return Td(e.value,e.pos,this.source)}parsePipeline(){let e=this.peek().pos,t=this.tryParseDecls(),n=[this.parseCommand()];for(;this.peek().type===`Pipe`;){this.next();let e=this.peek();if(!vd(e.type))throw this.errAt(e,"missing command after `|`",{expected:`command`,found:_d(e)});n.push(this.parseCommand())}return{type:`Pipe`,pos:e,decls:t?.vars??[],isAssign:t?.isAssign??!1,cmds:n}}tryParseDecls(){if(this.peek().type!==`Variable`)return;let e=1;for(;this.peek(e).type===`Comma`;){if(this.peek(e+1).type!==`Variable`)return;e+=2}let t=this.peek(e).type;if(t!==`Declare`&&t!==`Assign`)return;let n=[yd(this.next())];for(;this.peek().type===`Comma`;)this.next(),n.push(yd(this.expect(`Variable`,`$variable`)));return{vars:n,isAssign:this.next().type===`Assign`}}parseCommand(){let e=this.peek().pos,t=[this.parsePrimary()];for(;vd(this.peek().type);)t.push(this.parsePrimary());return{type:`Command`,pos:e,args:t}}parsePrimary(){let e=this.next();switch(e.type){case`Dot`:return{type:`Dot`,pos:e.pos};case`Field`:return{type:`Field`,pos:e.pos,idents:e.value.slice(1).split(`.`)};case`Variable`:return yd(e);case`Identifier`:return{type:`Identifier`,pos:e.pos,ident:e.value};case`String`:return{type:`String`,pos:e.pos,raw:e.value,value:Td(e.value,e.pos,this.source)};case`Number`:return xd(e);case`Char`:return Sd(e,this.source);case`Bool`:return{type:`Bool`,pos:e.pos,value:e.value===`true`};case`Nil`:return{type:`Nil`,pos:e.pos};case`LeftParen`:return this.parseChainOrPipe(e.pos);default:throw this.errAt(e,`expected command argument, found ${_d(e)}`,{expected:`command argument`,found:_d(e)})}}parseChainOrPipe(e){let t=this.parsePipeline(),n=this.expect(`RightParen`,"`)`"),r=[],i=n.pos.offset+1,a=this.peek();return a.type===`Field`&&a.pos.offset===i&&(this.next(),r.push(...a.value.slice(1).split(`.`))),r.length===0?t:{type:`Chain`,pos:e,node:t,fields:r}}};function hd(e,t){return{type:`List`,pos:e,nodes:t}}function gd(e){return{trimLeft:e.trimLeft===!0,trimRight:e.trimRight===!0}}function _d(e){return e.type===`EOF`?`end of input`:e.value||e.type}function vd(e){switch(e){case`Dot`:case`Field`:case`Variable`:case`Identifier`:case`String`:case`Number`:case`Char`:case`Bool`:case`Nil`:case`LeftParen`:return!0;default:return!1}}function yd(e){return{type:`Variable`,pos:e.pos,idents:bd(e.value)}}function bd(e){let t=e.indexOf(`.`);return t===-1?[e]:[e.slice(0,t),...e.slice(t+1).split(`.`)]}function xd(e){let t=e.value,n=t.replace(/_/g,``),r=n.toLowerCase().endsWith(`i`),i=r?n.slice(0,-1):n,a=!r&&(i.includes(`.`)||!i.startsWith(`0x`)&&!i.startsWith(`0X`)&&/[eE]/.test(i)||(i.startsWith(`0x`)||i.startsWith(`0X`))&&/[pP]/.test(i)),o=!r&&!a,s={type:`Number`,pos:e.pos,text:t,isInt:o,isUint:!1,isFloat:a,isComplex:r};if(o){let e=Cd(i);return{...s,intValue:e}}if(a){let e=wd(i);return{...s,floatValue:e}}let c=wd(i);return{...s,complexValue:[0,c]}}function Sd(e,t){let n=Ed(e.value,e.pos,t);return{type:`Number`,pos:e.pos,text:e.value,isInt:!0,isUint:!1,isFloat:!1,isComplex:!1,intValue:BigInt(n)}}function Cd(e){let t=1n,n=e;return n.startsWith(`+`)?n=n.slice(1):n.startsWith(`-`)&&(t=-1n,n=n.slice(1)),t*BigInt(n)}function wd(e){return Number(e)}function Td(e,t,n){if(e.startsWith("`"))return e.slice(1,-1);let r=``;for(let i=1;i<e.length-1;i++){let a=e[i];if(a!==`\\`){r+=a;continue}let o=e[++i];switch(o){case`n`:r+=`
|
|
50
|
+
`;break;case`t`:r+=` `;break;case`r`:r+=`\r`;break;case`\\`:r+=`\\`;break;case`"`:r+=`"`;break;case`'`:r+=`'`;break;case`a`:r+=`\x07`;break;case`b`:r+=`\b`;break;case`f`:r+=`\f`;break;case`v`:r+=`\v`;break;case`0`:case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:{let t=o+(e[i+1]??``)+(e[i+2]??``);i+=2,r+=String.fromCodePoint(Number.parseInt(t,8));break}case`x`:{let t=(e[i+1]??``)+(e[i+2]??``);i+=2,r+=String.fromCodePoint(Number.parseInt(t,16));break}case`u`:{let t=e.slice(i+1,i+5);i+=4,r+=String.fromCodePoint(Number.parseInt(t,16));break}case`U`:{let t=e.slice(i+1,i+9);i+=8,r+=String.fromCodePoint(Number.parseInt(t,16));break}default:throw new Vu(`bad escape sequence \\${o}`,t,{expected:`valid escape sequence`,found:`\\${o}`,source:n})}}return r}function Ed(e,t,n){let r=Td(`"${e.slice(1,-1).replace(/"/g,`\\"`)}"`,t,n);if(r.length===0)throw new Vu(`empty rune literal`,t,{source:n});return r.codePointAt(0)??0}function Dd(e,t){if(t(e)!==!1)for(let n of Od(e))Dd(n,t)}function Od(e){switch(e.type){case`Text`:case`Comment`:case`Dot`:case`Nil`:case`Bool`:case`Number`:case`String`:case`Identifier`:case`Field`:case`Variable`:case`Break`:case`Continue`:return[];case`List`:return e.nodes;case`Chain`:return[e.node];case`Command`:return e.args;case`Pipe`:return[...e.decls,...e.cmds];case`Action`:return[e.pipe];case`If`:case`Range`:case`With`:return e.elseList?[e.pipe,e.list,e.elseList]:[e.pipe,e.list];case`Template`:return e.pipe?[e.pipe]:[];case`Block`:return e.pipe?[e.pipe,e.list]:[e.list];default:return Xu(e)}}const kd=Symbol(`go-template-js.MISSING`);function Ad(e,t){if(e==null)return kd;if(e instanceof Map)return e.has(t)?e.get(t):kd;if(Array.isArray(e))return kd;if(typeof e==`object`){let n=e;return t in n?n[t]:kd}return kd}function jd(e,t){let n=e;for(let e of t){if(n===kd)return kd;n=Ad(n,e)}return n}function Md(e,t){if(Object.is(e,t))return!0;if(e===null||t===null||e===void 0||t===void 0||typeof e!=typeof t)return!1;if(Array.isArray(e)&&Array.isArray(t))return e.length===t.length?e.every((e,n)=>Md(e,t[n])):!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!t.has(n)||!Md(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}if(typeof e==`object`&&typeof t==`object`){let n=Object.keys(e),r=Object.keys(t);return n.length===r.length?n.every(n=>Md(e[n],t[n])):!1}return!1}const Nd=new WeakSet;function Pd(e){return Nd.add(e),e}function Fd(e){return Nd.has(e)}function Id(e){return e==null||e===!1?!1:typeof e==`number`?e!==0&&!Number.isNaN(e):typeof e==`bigint`?e!==0n:typeof e==`string`||Array.isArray(e)?e.length>0:e instanceof Map||e instanceof Set?e.size>0:typeof e==`object`?Object.keys(e).length>0:!!e}function Ld(e,t){return{eq:{fn:(e,...t)=>t.some(t=>Bd(e,t)),argTypes:[`comparable`]},ne:{fn:(e,t)=>!Bd(e,t),argTypes:[`comparable`,`comparable`]},lt:{fn:(e,t)=>Vd(e,t)<0,argTypes:[`ordered`,`ordered`]},le:{fn:(e,t)=>Vd(e,t)<=0,argTypes:[`ordered`,`ordered`]},gt:{fn:(e,t)=>Vd(e,t)>0,argTypes:[`ordered`,`ordered`]},ge:{fn:(e,t)=>Vd(e,t)>=0,argTypes:[`ordered`,`ordered`]},len:{fn:e=>Hd(e),argTypes:[`sized`]},index:{fn:(e,...t)=>{let n=e;for(let e of t)n=Ud(n,e);return n},argTypes:[`collection`,`index-key`]},slice:{fn:(e,...t)=>{let n=t.length>=1?t[0]:0,r=t.length>=2?t[1]:void 0;return e.slice(n,r)},argTypes:[`sliceable`,`int`]},print:{fn:(...t)=>Kd(t,e),argTypes:[`stringifiable`],returnType:`string`},println:{fn:(...t)=>`${Kd(t,e)}\n`,argTypes:[`stringifiable`],returnType:`string`},printf:{fn:(n,...r)=>tf(n,r,e,t),argTypes:[`string`,`stringifiable`],returnType:`string`},toString:{fn:n=>af(n,e,t),argTypes:[`value`],returnType:`string`},toStrings:{fn:n=>n.map(n=>af(n,e,t)),argTypes:[`list`]},call:{fn:(e,...t)=>e(...t),argTypes:[`callable`,`value`]},html:{fn:(...t)=>Yd(Kd(t,e)),argTypes:[`stringifiable`],returnType:`string`},js:{fn:(...t)=>Qd(Kd(t,e)),argTypes:[`stringifiable`],returnType:`string`},urlquery:{fn:(...t)=>ef(Kd(t,e)),argTypes:[`stringifiable`],returnType:`string`},not:{fn:e=>!Id(e),argTypes:[`truthy`]}}}function Rd(){return{and:Pd({argTypes:[`truthy`],fn:(...e)=>{let t=!0;for(let n of e)if(t=n(),!Id(t))return t;return t}}),or:Pd({argTypes:[`truthy`],fn:(...e)=>{let t=!1;for(let n of e)if(t=n(),Id(t))return t;return t}})}}function zd(e,t){return{...Ld(e,t),...Rd()}}function Bd(e,t){return typeof e==`number`&&typeof t==`bigint`?BigInt(e)===t:typeof e==`bigint`&&typeof t==`number`?e===BigInt(t):Md(e,t)}function Vd(e,t){if(typeof e==`bigint`&&typeof t==`bigint`)return e===t?0:e<t?-1:1;if(typeof e==`bigint`||typeof t==`bigint`){let n=typeof e==`bigint`?e:BigInt(Math.trunc(Number(e))),r=typeof t==`bigint`?t:BigInt(Math.trunc(Number(t)));return n===r?0:n<r?-1:1}let n=e,r=t;return n===r?0:n<r?-1:1}function Hd(e){return typeof e==`string`||Array.isArray(e)?e.length:e instanceof Map||e instanceof Set?e.size:Object.keys(e).length}function Ud(e,t){if(Array.isArray(e)){let n=Number(t);if(!Number.isInteger(n))throw Error(`index: array index must be integer, got ${Wd(t)}`);if(n<0||n>=e.length)throw Error(`index: out of range [${n}] with length ${e.length}`);return e[n]}if(e instanceof Map)return e.get(t);if(typeof e==`string`)return e[Number(t)];if(typeof e==`object`&&e){if(typeof t!=`string`)throw Error(`index: object index must be string, got ${Wd(t)}`);return e[t]}throw Error(`index: cannot index ${Wd(e)}`)}function Wd(e){return e===null?`null`:e===void 0?`undefined`:Array.isArray(e)?`array`:e instanceof Map?`Map`:typeof e}function Gd(e){return e==null?`<nil>`:typeof e==`string`?`string`:typeof e==`boolean`?`bool`:typeof e==`bigint`?`int64`:typeof e==`number`?Number.isInteger(e)?`int`:`float64`:Array.isArray(e)?`[]interface {}`:e instanceof Map||typeof e==`object`?`map[string]interface {}`:typeof e}function Kd(e,t){let n=``,r=!1;for(let i=0;i<e.length;i++){let a=e[i],o=typeof a==`string`;i>0&&!r&&!o&&(n+=` `),n+=qd(a,t),r=o}return n}function qd(e,t){return e==null?`<nil>`:typeof e==`string`?e:t(e)}const Jd={"\0":`�`,'"':`"`,"'":`'`,"&":`&`,"<":`<`,">":`>`};function Yd(e){return e.replace(/[\0"'&<>]/g,e=>Jd[e]??e)}const Xd={"\\":`\\\\`,"'":`\\'`,'"':`\\"`,"<":`\\u003C`,">":`\\u003E`,"&":`\\u0026`,"=":`\\u003D`},Zd=/^[\p{L}\p{M}\p{N}\p{P}\p{S}]$/u;function Qd(e){let t=``;for(let n of e){let e=Xd[n];if(e!==void 0){t+=e;continue}let r=n.codePointAt(0);if(r<32||r>=128&&!Zd.test(n)){t+=`\\u${r.toString(16).toUpperCase().padStart(4,`0`)}`;continue}t+=n}return t}const $d=new TextEncoder;function ef(e){let t=``,n=$d.encode(e);for(let e of n)e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45||e===46||e===95||e===126?t+=String.fromCharCode(e):e===32?t+=`+`:t+=`%${e.toString(16).toUpperCase().padStart(2,`0`)}`;return t}function tf(e,t,n,r){let i=``,a=0,o=0;for(;o<e.length;){let s=e[o];if(s!==`%`){i+=s,o+=1;continue}if(e[o+1]===`%`){i+=`%`,o+=2;continue}let c=o+1;for(;c<e.length&&`+-# 0`.includes(e[c]??``);)c+=1;for(;c<e.length&&e[c]!==void 0&&/[0-9]/.test(e[c]);)c+=1;if(e[c]===`.`)for(c+=1;c<e.length&&e[c]!==void 0&&/[0-9]/.test(e[c]);)c+=1;let l=e[c],u=e.slice(o+1,c),d=t[a++];i+=nf(l??``,u,d,n,r),o=c+1}return i}function nf(e,t,n,r,i){switch(e){case`s`:return typeof n==`string`?rf(t,n):rf(t,qd(n,r));case`d`:return typeof n!=`number`&&typeof n!=`bigint`?`%!${e}(${Gd(n)}=${qd(n,r)})`:rf(t,String(typeof n==`bigint`?n:Math.trunc(n)));case`v`:return rf(t,af(n,r,i));case`q`:return rf(t,JSON.stringify(qd(n,r)));case`f`:{if(typeof n!=`number`&&typeof n!=`bigint`)return`%!${e}(${Gd(n)}=${qd(n,r)})`;let i=t.includes(`.`)?Number(t.split(`.`)[1]):6;return rf(t,Number(n).toFixed(i))}case`t`:return rf(t,Id(n)?`true`:`false`);case`x`:if(typeof n==`string`){let e=new TextEncoder().encode(n),r=``;for(let t of e)r+=t.toString(16).padStart(2,`0`);return rf(t,r)}return typeof n!=`number`&&typeof n!=`bigint`?`%!${e}(${Gd(n)}=${qd(n,r)})`:typeof n==`bigint`?rf(t,n.toString(16)):rf(t,Math.trunc(n).toString(16));default:return`%!${e}(${Gd(n)}=${qd(n,r)})`}}function rf(e,t){let n=e.match(/^([+\-# 0]*)/)?.[1]??``,r=e.slice(n.length).match(/^(\d+)/);if(!r)return t;let i=Number(r[1]);if(t.length>=i)return t;let a=` `.repeat(i-t.length);return n.includes(`-`)?t+a:a+t}function af(e,t,n){return e==null?`<nil>`:typeof e==`string`?e:n(e)?t(e):Array.isArray(e)?`[${e.map(e=>af(e,t,n)).join(` `)}]`:e instanceof Map?of([...e.entries()],t,n):sf(e)?of(Object.entries(e),t,n):String(e)}function of(e,t,n){let r=e=>af(e,t,n),i=e=>typeof e==`number`||typeof e==`bigint`,a=([e],[t])=>{if(i(e)&&i(t))return e<t?-1:+(e>t);if(i(e)!==i(t))return i(e)?-1:1;let[n,a]=[r(e),r(t)];return n<a?-1:+(n>a)};return`map[${[...e].sort(a).map(([e,t])=>`${r(e)}:${r(t)}`).join(` `)}]`}function sf(e){if(typeof e!=`object`||!e||Array.isArray(e)||e instanceof Map||e instanceof Set)return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function cf(e){return{dot:e,root:e,parent:void 0,vars:new Map}}function lf(e,t){return{dot:t,root:e.root,parent:e,vars:new Map}}function uf(e,t){let n=e;for(;n!==void 0;){if(n.vars.has(t))return{found:!0,value:n.vars.get(t)};n=n.parent}return{found:!1}}function df(e,t,n){e.vars.set(t,n)}const ff=new Set([`default`,`zero`,`error`]);function pf(e){if(e===void 0)return`default`;if(ff.has(e))return e;throw Error(`EngineConfig.missingKey: expected "default" | "zero" | "error", got ${mf(e)}`)}function mf(e){return typeof e==`string`?JSON.stringify(e):e===null?`null`:e===void 0?`undefined`:typeof e==`bigint`?`${e}n`:typeof e==`number`||typeof e==`boolean`?String(e):typeof e==`symbol`?e.toString():typeof e==`function`?`[Function]`:`[${typeof e}]`}function hf(e){if(e!==void 0){if(typeof e!=`object`||!e)throw Error(`EngineConfig.delims: expected { left, right } object, got ${mf(e)}`);if(typeof e.left!=`string`||e.left.length===0)throw Error(`EngineConfig.delims.left: expected non-empty string, got ${mf(e.left)}`);if(typeof e.right!=`string`||e.right.length===0)throw Error(`EngineConfig.delims.right: expected non-empty string, got ${mf(e.right)}`);return{left:e.left,right:e.right}}}const gf=Object.freeze({kind:`break`}),_f=Object.freeze({kind:`continue`}),vf={kind:`none`};let yf;(class e{source;_evaluate;_defines;_referencedFunctions;_referencedCalls;constructor(e,t,n,r,i){this.source=e,this._evaluate=t,this._defines=n,this._referencedFunctions=r,this._referencedCalls=i}static{yf=(t,n,r,i,a)=>new e(t,n,r,i,a)}defines(){return this._defines}evaluate(e){return this._evaluate(e)}referencedFunctions(){return this._referencedFunctions}referencedCalls(){return this._referencedCalls}});function bf(e){let t=new Set,n=e=>{Dd(e,e=>{e.type===`Identifier`&&t.add(e.ident)})};n(e.root);for(let t of e.ownDefines.values())n(t.list);return t}const xf={kind:`dynamic`};function Sf(e){switch(e.type){case`String`:return{kind:`literal`,value:e.value};case`Bool`:return{kind:`literal`,value:e.value};case`Nil`:return{kind:`literal`,value:null};case`Number`:{let t=Vf(e);return typeof t==`number`||typeof t==`bigint`?{kind:`literal`,value:t}:xf}case`Pipe`:{if(e.decls.length!==0||e.cmds.length!==1)return xf;let t=e.cmds[0];if(t===void 0)return xf;let n=t.args[0];return n===void 0||n.type!==`Identifier`?xf:{kind:`call`,name:n.ident,args:t.args.slice(1).map(Sf)}}default:return xf}}function Cf(e){let t=[],n=e=>{Dd(e,e=>{if(e.type!==`Command`)return;let n=e.args[0];if(n===void 0||n.type!==`Identifier`)return;let r=e.args.slice(1).map(Sf);t.push({name:n.ident,args:r.map(e=>e.kind===`literal`&&typeof e.value==`string`?e.value:null),argExprs:r})})};n(e.root);for(let t of e.ownDefines.values())n(t.list);return t}var wf=class{fromString;toString;isT;funcs;missingKey;delims;constructor(e){this.fromString=e.fromString;let t=Object.hasOwn(e,`toString`)?e.toString:void 0;this.toString=t??jf,this.isT=e.isT??Tf,this.missingKey=pf(e.missingKey),this.delims=hf(e.delims),this.funcs={...zd(this.toString,this.isT),...e.funcs??{}}}parse(e,t){let n=pd(e,this.delims,t);return yf(n.source,e=>this.evalParsed(n,e),n.defines,bf(n),Cf(n))}compile(e){let t=this.parse(e);return e=>t.evaluate(e)}evaluate(e,t){return e.evaluate(t)}evalParsed(e,t){let n=[],r=cf(t),i={out:n,defines:e.defines,source:e.source};return this.evalList(e.root,r,i),n}evalList(e,t,n){for(let r of e.nodes)this.evalNode(r,t,n)}evalNode(e,t,n){switch(e.type){case`Text`:n.out.push(this.fromString(e.text));return;case`Comment`:return;case`Action`:{let r=this.evalAction(e,t,n);e.pipe.decls.length===0&&this.emitFromValue(r,n);return}case`List`:this.evalList(e,t,n);return;case`If`:this.evalIf(e,t,n);return;case`Range`:this.evalRange(e,t,n);return;case`With`:this.evalWith(e,t,n);return;case`Break`:throw gf;case`Continue`:throw _f;case`Template`:this.evalTemplateInvoke(e,t,n);return;case`Block`:this.evalBlock(e,t,n);return;case`Pipe`:case`Command`:case`Identifier`:case`Field`:case`Variable`:case`Chain`:case`Dot`:case`Nil`:case`Bool`:case`Number`:case`String`:throw new Hu(`unexpected ${e.type} at statement position`,e.pos,{source:n.source});default:Xu(e)}}evalIf(e,t,n){Id(this.evalPipe(e.pipe,t,n))?this.evalList(e.list,t,n):e.elseList&&this.evalList(e.elseList,t,n)}evalWith(e,t,n){let r=this.evalPipe(e.pipe,t,n);if(Id(r)){let i=lf(t,r);this.evalList(e.list,i,n)}else e.elseList&&this.evalList(e.elseList,t,n)}evalRange(e,t,n){let r=this.evalPipeWithoutDecls(e.pipe,t,n),i=e.pipe.decls,a=Rf(r);try{if(a.length===0){e.elseList&&this.evalList(e.elseList,t,n);return}for(let[r,o]of a){let a=lf(t,o);if(i.length===1)df(a,i[0]?.idents[0]??`$`,o);else if(i.length>=2){let e=i[0]?.idents[0]??`$`,t=i[1]?.idents[0]??`$`;df(a,e,r),df(a,t,o)}try{this.evalList(e.list,a,n)}catch(e){if(e===_f)continue;throw e}}}catch(e){if(e===gf)return;throw e}}evalTemplateInvoke(e,t,n){let r=dd(n.defines,e.name);if(!r)throw new Hu(`template ${JSON.stringify(e.name)} is not defined`,e.pos,{source:n.source});let i=lf(t,e.pipe?this.evalPipe(e.pipe,t,n):t.dot);this.evalList(r.list,i,{out:n.out,defines:n.defines,source:r.source})}evalBlock(e,t,n){let r=lf(t,e.pipe?this.evalPipe(e.pipe,t,n):t.dot),i=dd(n.defines,e.name)??{list:e.list,source:n.source};this.evalList(i.list,r,{out:n.out,defines:n.defines,source:i.source})}evalAction(e,t,n){return this.evalPipe(e.pipe,t,n)}evalPipe(e,t,n){if(e.cmds.length===0)throw new Hu(`empty pipeline`,e.pos,{source:n.source});let r=this.evalCommand(e.cmds[0],t,n,vf);for(let i=1;i<e.cmds.length;i++){let a=e.cmds[i];r=this.evalCommand(a,t,n,{kind:`value`,value:r})}if(e.decls.length>0)for(let n of e.decls)df(t,n.idents[0]??`$`,r);return r}evalPipeWithoutDecls(e,t,n){let r={type:`Pipe`,pos:e.pos,decls:[],isAssign:!1,cmds:e.cmds};return this.evalPipe(r,t,n)}evalCommand(e,t,n,r){if(e.args.length===0)throw new Hu(`empty command`,e.pos,{source:n.source});let i=e.args[0];if(i.type!==`Identifier`){if(e.args.length>1)throw new Hu(`cannot apply arguments to a ${i.type} primary; only functions take arguments`,e.pos,{source:n.source});return this.evalPrimary(i,t,n)}let a=this.funcs[i.ident];if(!a)throw new Uu(i.ident,i.pos,{source:n.source,available:Object.keys(this.funcs)});let o=e.args.slice(1),s=Fd(a),c=o.map(e=>s?()=>this.evalPrimary(e,t,n):this.evalPrimary(e,t,n));if(r.kind===`value`){let e=r.value;c.push(s?()=>e:e)}Df(i.ident,a.argTypes,c,e.pos,n.source,this.toString,a.argTypePattern,this.fromString,this.isT);try{return a.fn(...c)}catch(t){throw t instanceof Wu?new Wu(t.funcName,t.argIndex,t.expected,t.receivedSummary,e.pos,{source:n.source}):t instanceof Ku?new Ku(t.message,e.pos,{source:n.source}):t}}evalPrimary(e,t,n){switch(e.type){case`Dot`:return t.dot;case`Nil`:return null;case`Bool`:return e.value;case`Number`:return Vf(e);case`String`:return e.value;case`Field`:return this.resolveFieldChain(t.dot,e.idents,e.pos,n);case`Variable`:return this.resolveVariable(e.idents,t,e.pos,n);case`Identifier`:{let t=this.funcs[e.ident];if(!t)throw new Uu(e.ident,e.pos,{source:n.source,available:Object.keys(this.funcs)});return Df(e.ident,t.argTypes,[],e.pos,n.source,this.toString,t.argTypePattern,this.fromString,this.isT),t.fn()}case`Chain`:return this.resolveFieldChain(this.evalPrimary(e.node,t,n),e.fields,e.pos,n);case`Pipe`:return this.evalPipe(e,t,n);default:throw new Hu(`cannot evaluate ${e.type} as a value`,e.pos,{source:n.source})}}resolveFieldChain(e,t,n,r){let i=jd(e,t);if(i!==kd)return i;if(this.missingKey===`error`)throw new Gu(t,n,{source:r.source})}resolveVariable(e,t,n,r){let i=e[0]??`$`;if(i===`$`){let i=e.slice(1);return i.length===0?t.root:this.resolveFieldChain(t.root,i,n,r)}let a=uf(t,i);if(!a.found)throw new Hu(`undefined variable ${i}`,n,{source:r.source});let o=e.slice(1);return o.length===0?a.value:this.resolveFieldChain(a.value,o,n,r)}emitFromValue(e,t){if(e==null){t.out.push(this.fromString(`<no value>`));return}if(typeof e==`string`){t.out.push(this.fromString(e));return}if(typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`){t.out.push(this.fromString(String(e)));return}if(this.isT(e)){t.out.push(e);return}t.out.push(this.fromString(af(e,this.toString,this.isT)))}};const Tf=e=>typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Map);function Ef(e){return new wf(e)}function Df(e,t,n,r,i,a=jf,o,s=Af,c=Tf){let l=Of(t,o),u=-1,d=-1;for(let t=0;t<n.length;t++){let o=l(t),f=n[t];if(!kf(o,f,a,c))throw new Wu(e,t+1,If(o),Lf(f),r,{source:i});if(o===`liftable`&&typeof f==`string`&&(n[t]=s(f)),o===`int`?n[t]=Math.trunc(Number(f)):o===`float`&&(n[t]=Number(f)),o===`ordered`){if(u===-1)u=t;else if(!Nf(n[u],f))throw new Wu(e,t+1,`${If(`ordered`)} of the same kind as ${Lf(n[u])}`,Lf(f),r,{source:i})}if(o===`comparable`){if(d===-1)d=t;else if(!Pf(n[d],f))throw new Wu(e,t+1,`${If(`comparable`)} of the same kind as ${Lf(n[d])}`,Lf(f),r,{source:i})}}}function Of(e,t){if(e.length===0)return()=>`value`;if(t===`alternating`){let t=e.length;return n=>e[n%t]}let n=e[e.length-1];return t=>t<e.length?e[t]:n}function kf(e,t,n,r){switch(e){case`truthy`:case`reflective`:case`value`:return!0;case`string`:return typeof t==`string`;case`int`:return typeof t==`number`&&Number.isFinite(t)||typeof t==`bigint`&&Number.isSafeInteger(Number(t));case`float`:return typeof t==`number`||typeof t==`bigint`&&Number.isFinite(Number(t));case`bool`:return typeof t==`boolean`;case`ordered`:return typeof t==`string`||typeof t==`number`||typeof t==`bigint`||typeof t==`boolean`;case`T`:return r(t);case`list`:return Array.isArray(t);case`dict`:return sf(t);case`sized`:return typeof t==`string`||Array.isArray(t)||t instanceof Map||t instanceof Set||sf(t);case`comparable`:return t==null||typeof t==`string`||typeof t==`number`||typeof t==`bigint`||typeof t==`boolean`||Array.isArray(t)||t instanceof Map||t instanceof Set||sf(t);case`callable`:return typeof t==`function`;case`collection`:return typeof t==`string`||Array.isArray(t)||t instanceof Map||sf(t);case`index-key`:return typeof t==`string`||typeof t==`number`||typeof t==`bigint`;case`sliceable`:return typeof t==`string`||Array.isArray(t);case`stringifiable`:if(typeof t==`string`)return!0;try{return n(t),!0}catch{return!1}case`liftable`:return typeof t==`string`||r(t);case`serializable`:return Mf(t);default:throw Error(`invalid ArgType: ${String(e)}`)}}function Af(e){return e}function jf(e){if(typeof e==`string`)return e;if(e==null)return`<nil>`;if(typeof e==`number`||typeof e==`bigint`||typeof e==`boolean`)return String(e);throw new Wu(`<engine.toString>`,1,`string (or a consumer-supplied toString that flattens T)`,Lf(e),{line:0,column:0,offset:0})}function Mf(e){try{return JSON.stringify(e)!==void 0}catch{return!1}}function Nf(e,t){return typeof e==typeof t||typeof e==`number`&&typeof t==`bigint`||typeof e==`bigint`&&typeof t==`number`}function Pf(e,t){let n=Ff(e),r=Ff(t);return n===`nil`||r===`nil`?!0:n===r}function Ff(e){return e==null?`nil`:typeof e==`string`?`string`:typeof e==`number`||typeof e==`bigint`?`number`:typeof e==`boolean`?`boolean`:Array.isArray(e)?`array`:e instanceof Map?`map`:e instanceof Set?`set`:`object`}function If(e){switch(e){case`int`:return`integer (finite number or safe-integer bigint)`;case`float`:return`float (number, including NaN/Infinity, or finite-convertible bigint)`;case`T`:return`T (consumer-defined fragment)`;case`ordered`:return`orderable primitive`;case`list`:return`list`;case`dict`:return`dict (plain object)`;case`sized`:return`sized value (string, list, map, set, or dict)`;case`comparable`:return`comparable value (orderable primitive, nil, list, dict, Map, or Set)`;case`stringifiable`:return`stringifiable value (string or convertible via the engine's toString)`;case`liftable`:return`liftable value (T or string, the latter lifted via the engine's fromString)`;case`callable`:return`callable (function value)`;case`collection`:return`collection (string, array, Map, or dict)`;case`index-key`:return`index key (number, bigint, or string)`;case`sliceable`:return`sliceable value (string or array)`;case`serializable`:return`JSON-serializable value`;case`truthy`:case`reflective`:case`value`:case`string`:case`bool`:return e;default:throw Error(`invalid ArgType: ${String(e)}`)}}function Lf(e){return e===null?`null`:e===void 0?`undefined`:Array.isArray(e)?`array`:e instanceof Map?`Map`:typeof e}function Rf(e){return e==null?[]:Array.isArray(e)?e.map((e,t)=>[t,e]):typeof e==`string`?[...e].map((e,t)=>[t,e]):e instanceof Map?zf([...e.entries()]):e instanceof Set?[...e.values()].map((e,t)=>[t,e]):typeof e==`object`?zf(Object.entries(e)):[]}function zf(e){return[...e].sort((e,t)=>Bf(e[0],t[0]))}function Bf(e,t){if((typeof e==`number`||typeof e==`bigint`)&&(typeof t==`number`||typeof t==`bigint`)){let n=typeof e==`bigint`?Number(e):e,r=typeof t==`bigint`?Number(t):t;return n===r?0:n<r?-1:1}let n=String(e),r=String(t);return n===r?0:n<r?-1:1}function Vf(e){if(e.intValue!==void 0){let t=e.intValue;return t>=BigInt(-(2**53-1))&&t<=BigInt(2**53-1)?Number(t):t}if(e.floatValue!==void 0)return e.floatValue;if(e.complexValue!==void 0)return e.complexValue;throw Error(`internal: NumberNode has none of intValue/floatValue/complexValue — parser invariant violated`)}function Hf(e){if(!/^[+-]?\d+$/.test(e))return 0;let t=Number.parseInt(e,10);return Number.isSafeInteger(t)?t:0}function Uf(e){if(typeof e==`number`)return e;if(typeof e==`bigint`)return Number(e);if(typeof e==`string`){let t=Number.parseFloat(e);return Number.isNaN(t)?0:t}return typeof e==`boolean`?+!!e:0}function Wf(e){if(e===``)return null;let t=1,n=e;return n[0]===`+`?n=n.slice(1):n[0]===`-`&&(t=-1,n=n.slice(1)),n===``?null:/^0x[0-9a-fA-F]+$/i.test(n)?{sign:t,digits:n.slice(2),base:16}:/^0b[01]+$/i.test(n)?{sign:t,digits:n.slice(2),base:2}:/^0o[0-7]+$/i.test(n)?{sign:t,digits:n.slice(2),base:8}:n===`0`?{sign:t,digits:`0`,base:10}:n[0]===`0`?/^0[0-7]+$/.test(n)?{sign:t,digits:n.slice(1),base:8}:null:/^[0-9]+$/.test(n)?{sign:t,digits:n,base:10}:null}function Gf(e){if(typeof e==`number`){let t=Math.trunc(e);return Number.isSafeInteger(t)?t:0}if(typeof e==`bigint`){let t=Number(e);return Number.isSafeInteger(t)?t:0}if(typeof e==`string`){let t=Wf(e);if(t===null)return 0;let n=t.sign*Number.parseInt(t.digits,t.base);return Number.isSafeInteger(n)?n:0}return typeof e==`boolean`?+!!e:0}function Kf(e){if(typeof e==`bigint`)return e;if(typeof e==`number`)return BigInt(Math.trunc(e));if(typeof e==`string`){let t=Wf(e);if(t===null)return 0n;let n=t.base===16?`0x`:t.base===2?`0b`:t.base===8?`0o`:``,r=BigInt(n+t.digits);return t.sign===-1?-r:r}return typeof e==`boolean`&&e?1n:0n}function qf(e){if(!/^[+-]?[0-7]+$/.test(e))return 0;let t=e[0]===`-`?-1:1,n=e[0]===`+`||e[0]===`-`?e.slice(1):e,r=t*Number.parseInt(n,8);return Number.isSafeInteger(r)?r:0}function Jf(e){return JSON.stringify(e)??`null`}function Yf(){return{atoi:{fn:e=>Hf(e),argTypes:[`string`],returnType:`int`},int:{fn:e=>Gf(e),argTypes:[`value`],returnType:`int`},int64:{fn:e=>Kf(e),argTypes:[`value`]},float64:{fn:e=>Uf(e),argTypes:[`value`],returnType:`float`},toDecimal:{fn:e=>qf(e),argTypes:[`string`],returnType:`int`},toRawJson:{fn:e=>Jf(e),argTypes:[`serializable`],returnType:`string`}}}const Xf={h:36e11,m:6e10,s:1e9,ms:1e6,us:1e3,µs:1e3,ns:1};function Zf(e){if(e===`0`)return 0;let t=!1,n=e;if(n.startsWith(`-`)?(t=!0,n=n.slice(1)):n.startsWith(`+`)&&(n=n.slice(1)),!n)return NaN;let r=0,i=/^(\d+(?:\.\d+)?)(ns|µs|us|ms|[smh])/;for(;n.length>0;){let e=i.exec(n);if(!e)return NaN;let t=parseFloat(e[1]??`0`),a=e[2];r+=t*Xf[a],n=n.slice(e[0].length)}return t?-r:r}function Qf(e){if(e===0)return`0s`;let t=!1,n=e;n<0&&(t=!0,n=-n);let r;return r=n<Xf.us?`${Math.floor(n)}ns`:n<Xf.ms?$f(n,Xf.us,3,`µs`):n<Xf.s?$f(n,Xf.ms,6,`ms`):ep(n),t?`-${r}`:r}function $f(e,t,n,r){let i=Math.floor(e/t),a=Math.round(e%t);return a===0?`${i}${r}`:`${i}.${String(a).padStart(n,`0`).replace(/0+$/,``)}${r}`}function ep(e){let t=Math.floor(e/Xf.h);e-=t*Xf.h;let n=Math.floor(e/Xf.m);e-=n*Xf.m;let r=Math.floor(e/Xf.s),i=e-r*Xf.s,a=i===0?`${r}s`:`${r}.${String(Math.round(i)).padStart(9,`0`).replace(/0+$/,``)}s`;return t>0?`${t}h${n}m${a}`:n>0?`${n}m${a}`:a}function tp(e){return e*Xf.s}function np(e){if(e instanceof Date)return e;if(typeof e==`bigint`)return new Date(Number(e)*1e3);if(typeof e==`number`)return new Date(e*1e3);if(typeof e==`string`){let t=new Date(e);if(!Number.isNaN(t.getTime()))return t;throw Error(`sprig: cannot parse date value ${JSON.stringify(e)}`)}throw Error(`sprig: unsupported date type: ${typeof e}`)}function rp(e,t){let n=t().getTime()-np(e).getTime();return Qf(Math.round(n/1e3)*1e9)}const ip=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],ap=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],op=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],sp=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`];function cp(e){return e<10?`0${e}`:String(e)}function lp(e){return e<10?`00${e}`:e<100?`0${e}`:String(e)}function up(e){return e<10?` ${e}`:String(e)}function dp(e){let t=e>=0?`+`:`-`,n=Math.abs(e);return`${t}${cp(Math.floor(n/60))}${cp(n%60)}`}function fp(e){let t=e>=0?`+`:`-`,n=Math.abs(e);return`${t}${cp(Math.floor(n/60))}:${cp(n%60)}`}function pp(e){return`${e>=0?`+`:`-`}${cp(Math.floor(Math.abs(e)/60))}`}function mp(e){return e===0?`Z`:dp(e)}function hp(e){return e===0?`Z`:fp(e)}function gp(e){return e===0?`Z`:pp(e)}function _p(e,t,n){let r=e*1e6,i=String(r).padStart(9,`0`).slice(0,t);return n?i.replace(/0+$/,``):i}const vp=[[`.000000000`,e=>`.${_p(e.ms,9,!1)}`],[`.999999999`,e=>{let t=_p(e.ms,9,!0);return t?`.${t}`:``}],[`.000000`,e=>`.${_p(e.ms,6,!1)}`],[`.999999`,e=>{let t=_p(e.ms,6,!0);return t?`.${t}`:``}],[`.000`,e=>`.${lp(e.ms)}`],[`.999`,e=>{let t=lp(e.ms).replace(/0+$/,``);return t?`.${t}`:``}],[`January`,e=>ip[e.month-1]??`January`],[`Monday`,e=>op[e.weekday]??`Monday`],[`Z07:00`,e=>hp(e.offsetMinutes)],[`-07:00`,e=>fp(e.offsetMinutes)],[`Z0700`,e=>mp(e.offsetMinutes)],[`-0700`,e=>dp(e.offsetMinutes)],[`2006`,e=>String(e.year)],[`Jan`,e=>ap[e.month-1]??`Jan`],[`Mon`,e=>sp[e.weekday]??`Mon`],[`MST`,e=>e.tzAbbr],[`-07`,e=>pp(e.offsetMinutes)],[`Z07`,e=>gp(e.offsetMinutes)],[`15`,e=>cp(e.hour)],[`01`,e=>cp(e.month)],[`02`,e=>cp(e.day)],[`_2`,e=>up(e.day)],[`03`,e=>cp(e.hour12)],[`04`,e=>cp(e.minute)],[`05`,e=>cp(e.second)],[`06`,e=>cp(e.year%100)],[`PM`,e=>e.hour>=12?`PM`:`AM`],[`pm`,e=>e.hour>=12?`pm`:`am`],[`1`,e=>String(e.month)],[`2`,e=>String(e.day)],[`3`,e=>String(e.hour12)],[`4`,e=>String(e.minute)],[`5`,e=>String(e.second)]];function yp(e,t){let n=``,r=0;for(;r<e.length;){let i=!1;for(let[a,o]of vp)if(e.startsWith(a,r)){n+=o(t),r+=a.length,i=!0;break}i||(n+=e[r++])}return n}const bp={year:`numeric`,month:`2-digit`,day:`2-digit`,weekday:`long`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1};function xp(e){let t=new Map;for(let n of e)t.set(n.type,n.value);return t}const Sp=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`];function Cp(e,t){let n;try{new Intl.DateTimeFormat(`en-US`,{timeZone:t}),n=t}catch{n=`UTC`}let r=xp(new Intl.DateTimeFormat(`en-US`,{...bp,timeZone:n}).formatToParts(e)),i=parseInt(r.get(`hour`)??`0`,10)%24,a=xp(new Intl.DateTimeFormat(`en-US`,{timeZone:n,timeZoneName:`short`}).formatToParts(e)).get(`timeZoneName`)??n,o=wp(xp(new Intl.DateTimeFormat(`en-US`,{timeZone:n,timeZoneName:`shortOffset`}).formatToParts(e)).get(`timeZoneName`)??`GMT`),s=Sp.indexOf(r.get(`weekday`)??`Sunday`);return{year:parseInt(r.get(`year`)??`2000`,10),month:parseInt(r.get(`month`)??`1`,10),day:parseInt(r.get(`day`)??`1`,10),weekday:s===-1?0:s,hour:i,hour12:i%12||12,minute:parseInt(r.get(`minute`)??`0`,10),second:parseInt(r.get(`second`)??`0`,10),ms:e.getUTCMilliseconds(),tzAbbr:a,offsetMinutes:o}}function wp(e){if(e===`GMT`||e===`UTC`)return 0;let t=e.match(/^GMT([+-])(\d{1,2})(?::(\d{2}))?$/);if(!t)return 0;let n=t[1]===`+`?1:-1,r=parseInt(t[2]??`0`,10),i=parseInt(t[3]??`0`,10);return n*(r*60+i)}function Tp(){return Intl.DateTimeFormat().resolvedOptions().timeZone}function Ep(e,t){return yp(e,Cp(np(t),Tp()))}function Dp(e,t,n){return yp(e,Cp(np(t),n))}function Op(e,t){let n=np(t),r=Zf(e);return Number.isNaN(r)?n:new Date(n.getTime()+r/1e6)}function kp(e){if(typeof e==`string`){let t=parseInt(e,10);return Number.isNaN(t)?`0s`:Qf(tp(t))}return typeof e==`bigint`?Qf(tp(Number(e))):typeof e==`number`?Qf(tp(e)):`0s`}const Ap=36e11*24*365,jp=36e11*24*30,Mp=36e11*24,Np=36e11,Pp=6e10,Fp=1e9;function Ip(e){let t=Zf(String(e));if(Number.isNaN(t))return`0s`;let n=Math.abs(t);return n>Ap?`${Math.floor(n/Ap)}y`:n>jp?`${Math.floor(n/jp)}mo`:n>Mp?`${Math.floor(n/Mp)}d`:n>Np?`${Math.floor(n/Np)}h`:n>Pp?`${Math.floor(n/Pp)}m`:n>Fp?`${Math.floor(n/Fp)}s`:`0s`}function Lp(e){let t=Cp(np(e),Tp());return`${t.year}-${String(t.month).padStart(2,`0`)}-${String(t.day).padStart(2,`0`)}`}function Rp(e,t){let n=Cp(np(e),t);return`${n.year}-${String(n.month).padStart(2,`0`)}-${String(n.day).padStart(2,`0`)}`}function zp(e){return e()}const Bp=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],Vp=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`];function Hp(){return{year:2e3,month:1,day:1,hour:0,minute:0,second:0,ms:0,offsetMinutes:0,isPM:!1,hour12:!1}}function Up(e,t,n){return[e.slice(t,t+n),t+n]}function Wp(e,t,n,r){let i=t;for(;i<e.length&&i-t<r&&e.charCodeAt(i)>=48&&e.charCodeAt(i)<=57;)i++;if(i-t<n)throw Error(`sprig toDate: expected ${n}-${r} digits at pos ${t}`);return[parseInt(e.slice(t,i),10),i]}function Gp(e,t){for(let[n,r]of Bp.entries())if(e.startsWith(r,t))return[n+1,t+r.length];throw Error(`sprig toDate: expected month name at pos ${t}`)}function Kp(e,t){for(let[n,r]of Vp.entries())if(e.startsWith(r,t))return[n+1,t+r.length];throw Error(`sprig toDate: expected short month name at pos ${t}`)}function qp(e,t){for(let n of[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`])if(e.startsWith(n,t))return t+n.length;throw Error(`sprig toDate: expected weekday name at pos ${t}`)}function Jp(e,t){for(let n of[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`])if(e.startsWith(n,t))return t+n.length;throw Error(`sprig toDate: expected short weekday name at pos ${t}`)}function Yp(e,t){if(e[t]===` `){let[n,r]=Wp(e,t+1,1,1);return[n,r]}return Wp(e,t,1,2)}function Xp(e,t,n){let r=e[t]===`+`?1:e[t]===`-`?-1:0;if(r===0)throw Error(`sprig toDate: expected +/- at pos ${t}`);let i=t+1,[a,o]=Wp(e,i,2,2);i=o;let s=0;if(n&&e[i]===`:`){let[t,n]=Wp(e,i+1,2,2);s=t,i=n}else if(!n){let[t,n]=Wp(e,i,2,2);s=t,i=n}return[r*(a*60+s),i]}function Zp(e,t,n,r){if(e[t]===`Z`)return[0,t+1];if(r){let n=e[t]===`+`?1:e[t]===`-`?-1:0;if(n===0)throw Error(`sprig toDate: expected Z or +/- at pos ${t}`);let[r,i]=Wp(e,t+1,2,2);return[n*r*60,i]}return Xp(e,t,n)}function Qp(e,t){let n=t;for(;n<e.length&&e.charCodeAt(n)>=65&&e.charCodeAt(n)<=90;)n++;if(n===t)throw Error(`sprig toDate: expected timezone abbreviation at pos ${t}`);return n}function $p(e,t,n){let[r,i]=Up(e,t,n),a=parseInt(r.padEnd(9,`0`),10);return[Math.round(a/1e6),i]}function em(e,t,n,r){let i={...r};switch(e){case`January`:{let[e,r]=Gp(t,n);return i.month=e,[r,i]}case`Monday`:return[qp(t,n),i];case`Jan`:{let[e,r]=Kp(t,n);return i.month=e,[r,i]}case`Mon`:return[Jp(t,n),i];case`2006`:{let[e,r]=Wp(t,n,4,4);return i.year=e,[r,i]}case`06`:{let[e,r]=Wp(t,n,2,2);return i.year=e<70?2e3+e:1900+e,[r,i]}case`01`:{let[e,r]=Wp(t,n,2,2);return i.month=e,[r,i]}case`1`:{let[e,r]=Wp(t,n,1,2);return i.month=e,[r,i]}case`_2`:{let[e,r]=Yp(t,n);return i.day=e,[r,i]}case`02`:{let[e,r]=Wp(t,n,2,2);return i.day=e,[r,i]}case`2`:{let[e,r]=Wp(t,n,1,2);return i.day=e,[r,i]}case`15`:{let[e,r]=Wp(t,n,2,2);return i.hour=e,[r,i]}case`03`:{let[e,r]=Wp(t,n,2,2);return i.hour=e,i.hour12=!0,[r,i]}case`3`:{let[e,r]=Wp(t,n,1,2);return i.hour=e,i.hour12=!0,[r,i]}case`04`:{let[e,r]=Wp(t,n,2,2);return i.minute=e,[r,i]}case`4`:{let[e,r]=Wp(t,n,1,2);return i.minute=e,[r,i]}case`05`:{let[e,r]=Wp(t,n,2,2);return i.second=e,[r,i]}case`5`:{let[e,r]=Wp(t,n,1,2);return i.second=e,[r,i]}case`PM`:case`pm`:{let e=t.slice(n,n+2).toLowerCase();if(e!==`am`&&e!==`pm`)throw Error(`sprig toDate: expected AM/PM at pos ${n}, got ${JSON.stringify(t.slice(n,n+2))}`);return i.isPM=e===`pm`,i.hour12=!0,[n+2,i]}case`MST`:return[Qp(t,n),i];case`-0700`:{let[e,r]=Xp(t,n,!1);return i.offsetMinutes=e,[r,i]}case`-07:00`:{let[e,r]=Xp(t,n,!0);return i.offsetMinutes=e,[r,i]}case`-07`:{let e=t[n]===`+`?1:t[n]===`-`?-1:0;if(e===0)throw Error(`sprig toDate: expected +/- at pos ${n}`);let[r,a]=Wp(t,n+1,2,2);return i.offsetMinutes=e*r*60,[a,i]}case`Z0700`:{let[e,r]=Zp(t,n,!1,!1);return i.offsetMinutes=e,[r,i]}case`Z07:00`:{let[e,r]=Zp(t,n,!0,!1);return i.offsetMinutes=e,[r,i]}case`Z07`:{let[e,r]=Zp(t,n,!1,!0);return i.offsetMinutes=e,[r,i]}case`.000000000`:{if(t[n]!==`.`)throw Error(`sprig toDate: expected . at pos ${n}`);let[e,r]=$p(t,n+1,9);return i.ms=e,[r,i]}case`.999999999`:{if(t[n]!==`.`)return[n,i];let e=n+1,r=e;for(;r<t.length&&t.charCodeAt(r)>=48&&t.charCodeAt(r)<=57;)r++;let a=t.slice(e,r).padEnd(9,`0`);return i.ms=Math.round(parseInt(a,10)/1e6),[r,i]}case`.000000`:{if(t[n]!==`.`)throw Error(`sprig toDate: expected . at pos ${n}`);let[e,r]=$p(t,n+1,6);return i.ms=e,[r,i]}case`.999999`:{if(t[n]!==`.`)return[n,i];let e=n+1,r=e;for(;r<t.length&&t.charCodeAt(r)>=48&&t.charCodeAt(r)<=57;)r++;let a=t.slice(e,r).padEnd(9,`0`);return i.ms=Math.round(parseInt(a,10)/1e6),[r,i]}case`.000`:{if(t[n]!==`.`)throw Error(`sprig toDate: expected . at pos ${n}`);let[e,r]=$p(t,n+1,3);return i.ms=e,[r,i]}case`.999`:{if(t[n]!==`.`)return[n,i];let e=n+1,r=e;for(;r<t.length&&t.charCodeAt(r)>=48&&t.charCodeAt(r)<=57;)r++;let a=t.slice(e,r).padEnd(3,`0`);return i.ms=parseInt(a,10),[r,i]}}throw Error(`sprig toDate: unhandled token ${e}`)}const tm=`.000000000,.999999999,.000000,.999999,.000,.999,January,Monday,Z07:00,-07:00,Z0700,-0700,2006,Jan,Mon,MST,-07,Z07,15,01,02,_2,03,04,05,06,PM,pm,1,2,3,4,5`.split(`,`);function nm(e,t){let n=0,r=0,i=Hp();for(;n<e.length;){let a=!1;for(let o of tm)if(e.startsWith(o,n)){let[e,s]=em(o,t,r,i);r=e,i=s,n+=o.length,a=!0;break}if(!a){let i=e.charAt(n);if(t[r]!==i)throw Error(`sprig toDate: expected ${JSON.stringify(i)} at pos ${r}, got ${JSON.stringify(t[r])}`);n++,r++}}if(r!==t.length)throw Error(`sprig toDate: extra characters at pos ${r}: ${JSON.stringify(t.slice(r))}`);if(i.hour12){let e=i.hour%12;i.hour=i.isPM?e+12:e}let a=Date.UTC(i.year,i.month-1,i.day,i.hour,i.minute,i.second,i.ms)-i.offsetMinutes*60*1e3;return new Date(a)}function rm(e,t){return nm(e,t)}function im(e){return String(Math.floor(np(e).getTime()/1e3))}function am(e=()=>new Date){return{now:{fn:()=>zp(e),argTypes:[]},date:{fn:(e,t)=>Ep(e,t),argTypes:[`string`,`value`]},dateInZone:{fn:(e,t,n)=>Dp(e,t,n),argTypes:[`string`,`value`,`string`]},dateModify:{fn:(e,t)=>Op(e,t),argTypes:[`string`,`value`]},htmlDate:{fn:e=>Lp(e),argTypes:[`value`]},htmlDateInZone:{fn:(e,t)=>Rp(e,t),argTypes:[`value`,`string`]},duration:{fn:e=>kp(e),argTypes:[`value`]},durationRound:{fn:e=>Ip(e),argTypes:[`value`]},toDate:{fn:(e,t)=>rm(e,t),argTypes:[`string`,`string`]},ago:{fn:t=>rp(t,e),argTypes:[`value`]},unixEpoch:{fn:e=>im(e),argTypes:[`value`]}}}function om(e){return e==null||e===!1?!0:typeof e==`number`?e===0||Number.isNaN(e):typeof e==`bigint`?e===0n:typeof e==`string`||Array.isArray(e)?e.length===0:e instanceof Map||e instanceof Set?e.size===0:typeof e==`object`?Object.keys(e).length===0:!1}function sm(...e){for(let t of e)if(!om(t))return t}function cm(e,t){return om(t)?e:t}function lm(e){return JSON.parse(e)}function um(e,t,n){return Id(n)?e:t}function dm(e){return JSON.stringify(e)??`null`}function fm(e){return JSON.stringify(e,null,2)??`null`}function pm(){return{default:{fn:(e,t)=>cm(e,t),argTypes:[`value`,`truthy`]},empty:{fn:e=>om(e),argTypes:[`truthy`]},coalesce:{fn:(...e)=>sm(...e),argTypes:[`truthy`]},ternary:{fn:(e,t,n)=>um(e,t,n),argTypes:[`value`,`value`,`truthy`]},fromJson:{fn:e=>lm(e),argTypes:[`string`]},toJson:{fn:e=>dm(e),argTypes:[`serializable`],returnType:`string`},toPrettyJson:{fn:e=>fm(e),argTypes:[`serializable`],returnType:`string`}}}function mm(...e){let t={};for(let n=0;n<e.length;n+=2)t[e[n]]=e[n+1];return t}function hm(e){if(e.kind!==`call`||e.name!==`dict`||e.args.length%2!=0)return null;let t=[];for(let[n,r]of e.args.entries()){if(r.kind!==`literal`||n%2==0&&typeof r.value!=`string`)return null;t.push(r.value)}return mm(...t)}function gm(e,t){return e[t]}function _m(e,t){return t in e}function vm(e){return Object.keys(e)}function ym(e,...t){let n={...e};for(let e of t)for(let[t,r]of Object.entries(e))t in n||(n[t]=r);return n}function bm(e,...t){let n={...e};for(let e of t)Object.assign(n,e);return n}function xm(e,...t){let n=new Set(t),r={};for(let[t,i]of Object.entries(e))n.has(t)||(r[t]=i);return r}function Sm(e,...t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function Cm(e,...t){let n=[];for(let r of t)e in r&&n.push(r[e]);return n}function wm(e,t,n){return e[t]=n,e}function Tm(e,t){return delete e[t],e}function Em(e){return Object.values(e)}function Dm(){return{dict:{fn:(...e)=>mm(...e),argTypes:[`string`,`value`],argTypePattern:`alternating`},get:{fn:(e,t)=>gm(e,t),argTypes:[`dict`,`string`]},set:{fn:(e,t,n)=>wm(e,t,n),argTypes:[`dict`,`string`,`value`]},unset:{fn:(e,t)=>Tm(e,t),argTypes:[`dict`,`string`]},keys:{fn:e=>vm(e),argTypes:[`dict`]},values:{fn:e=>Em(e),argTypes:[`dict`]},pluck:{fn:(e,...t)=>Cm(e,...t),argTypes:[`string`,`dict`]},pick:{fn:(e,...t)=>Sm(e,...t),argTypes:[`dict`,`string`]},omit:{fn:(e,...t)=>xm(e,...t),argTypes:[`dict`,`string`]},hasKey:{fn:(e,t)=>_m(e,t),argTypes:[`dict`,`string`]},merge:{fn:(e,...t)=>ym(e,...t),argTypes:[`dict`]},mergeOverwrite:{fn:(e,...t)=>bm(e,...t),argTypes:[`dict`]}}}new TextEncoder,new Map(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567`).map((e,t)=>[e,t])),new TextDecoder,new TextEncoder,new TextDecoder,new TextEncoder;function Om(...e){for(let t of e)if(om(t))return!1;return!0}function km(...e){for(let t of e)if(!om(t))return!0;return!1}function Am(e,t){return[...e,t]}function jm(e,t){let n=Math.max(1,e),r=[];for(let e=0;e<t.length;e+=n)r.push(t.slice(e,e+n));return r}function Mm(e){return e.filter(e=>!om(e))}function Nm(...e){let t=[];for(let n of e)t.push(...n);return t}const Pm={line:0,column:0,offset:0};function Fm(e,t,n,r){return new Wu(e,t,n,r,Pm)}function Im(...e){if(e.length<3)throw Fm(`dig`,0,`at least 3 arguments (...keys, default, dict)`,`${e.length} argument${e.length===1?``:`s`}`);let t=e[e.length-1],n=e[e.length-2],r=e.slice(0,-2);if(!Rm(t))throw Fm(`dig`,e.length-1,`dict`,zm(t));for(let e=0;e<r.length;e++)if(typeof r[e]!=`string`)throw Fm(`dig`,e,`string`,zm(r[e]));return Lm(t,n,r,e.length)}function Lm(e,t,n,r){let i=n[0];if(!Object.hasOwn(e,i))return t;let a=e[i];if(n.length===1)return a;if(!Rm(a))throw Fm(`dig`,r-1,`dict at intermediate key`,zm(a));return Lm(a,t,n.slice(1),r)}function Rm(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Map)&&!(e instanceof Set)}function zm(e){return e===null?`null`:Array.isArray(e)?`array`:e instanceof Map?`Map`:e instanceof Set?`Set`:typeof e}function Bm(e){return e[0]}function Vm(e,t){return t.some(t=>Md(t,e))}function Hm(e){return e.slice(0,-1)}function Um(e){return e[e.length-1]}function Wm(e){return Array.isArray(e)||typeof e==`string`?e.length:e instanceof Map||e instanceof Set?e.size:Object.keys(e).length}function Gm(...e){return e}function Km(e,t){return[t,...e]}function qm(e){return e.slice(1)}function Jm(e){return[...e].reverse()}function Ym(e,t,n){let r=t===void 0?0:t,i=n===void 0?e.length:n;return e.slice(r,i)}function Xm(e){let t=[];for(let n of e)n!=null&&t.push(String(n));return t.sort()}function Zm(e){let t=[];for(let n of e)t.some(e=>Md(e,n))||t.push(n);return t}function Qm(e,...t){return e.filter(e=>!t.some(t=>Md(t,e)))}function $m(){return{list:{fn:(...e)=>Gm(...e),argTypes:[`value`]},first:{fn:e=>Bm(e),argTypes:[`list`]},last:{fn:e=>Um(e),argTypes:[`list`]},rest:{fn:e=>qm(e),argTypes:[`list`]},initial:{fn:e=>Hm(e),argTypes:[`list`]},len:{fn:e=>Wm(e),argTypes:[`sized`]},reverse:{fn:e=>Jm(e),argTypes:[`list`]},uniq:{fn:e=>Zm(e),argTypes:[`list`]},without:{fn:(e,...t)=>Qm(e,...t),argTypes:[`list`,`value`]},has:{fn:(e,t)=>Vm(e,t),argTypes:[`value`,`list`]},compact:{fn:e=>Mm(e),argTypes:[`list`]},slice:{fn:(e,t,n)=>Ym(e,t,n),argTypes:[`list`,`int`,`int`]},concat:{fn:(...e)=>Nm(...e),argTypes:[`list`]},chunk:{fn:(e,t)=>jm(e,t),argTypes:[`int`,`list`]},prepend:{fn:(e,t)=>Km(e,t),argTypes:[`list`,`value`]},append:{fn:(e,t)=>Am(e,t),argTypes:[`list`,`value`]},sortAlpha:{fn:e=>Xm(e),argTypes:[`list`],returnType:`list`},push:{fn:(e,t)=>Am(e,t),argTypes:[`list`,`value`]},tuple:{fn:(...e)=>Gm(...e),argTypes:[`value`]},dig:{fn:(...e)=>Im(...e),argTypes:[`value`]},all:{fn:(...e)=>Om(...e),argTypes:[`truthy`],returnType:`bool`},any:{fn:(...e)=>km(...e),argTypes:[`truthy`],returnType:`bool`}}}function eh(...e){return e.reduce((e,t)=>e+t,0)}function th(e){return e+1}function nh(e){return e+1}function rh(...e){return e.reduce((e,t)=>e+t,0)}function ih(e){return Math.ceil(e)}function ah(e,t){return Math.trunc(e/t)}function oh(e,t){return e/t}function sh(e){return Math.floor(e)}function ch(...e){return e.reduce((e,t)=>t>e?t:e,-1/0)}function lh(...e){return e.reduce((e,t)=>Math.max(e,t),-1/0)}function uh(...e){return e.reduce((e,t)=>t<e?t:e,1/0)}function dh(...e){return e.reduce((e,t)=>Math.min(e,t),1/0)}function fh(e,t){return e%t}function ph(...e){return e.reduce((e,t)=>e*t,1)}function mh(...e){return e.reduce((e,t)=>e*t,1)}function hh(e,t=0){let n=10**t;return Math.sign(e)*Math.round(Math.abs(e)*n)/n}function gh(e,t,n){let r=[];if(t<e){if(n>=0)return r;for(let i=e;i>t;i+=n)r.push(i);return r}if(n<=0)return r;for(let i=e;i<t;i+=n)r.push(i);return r}function _h(...e){let t=1;switch(e.length){case 0:return``;case 1:{let n=e[0];return n<1&&(t=-1),gh(1,n+t,t).join(` `)}case 2:{let t=e[0],n=e[1],r=n<t?-1:1;return gh(t,n+r,r).join(` `)}case 3:{let n=e[0],r=e[1],i=e[2];return i<n&&(t=-1,r>0)?``:gh(n,i+t,r).join(` `)}default:return``}}function vh(e,t){return e-t}function yh(e,t){return e-t}function bh(e){return gh(0,e,e<0?-1:1)}function xh(){return{add:{fn:(...e)=>eh(...e),argTypes:[`int`]},sub:{fn:(e,t)=>vh(e,t),argTypes:[`int`,`int`]},mul:{fn:(...e)=>ph(...e),argTypes:[`int`]},div:{fn:(e,t)=>ah(e,t),argTypes:[`int`,`int`]},mod:{fn:(e,t)=>fh(e,t),argTypes:[`int`,`int`]},min:{fn:(...e)=>uh(...e),argTypes:[`int`]},max:{fn:(...e)=>ch(...e),argTypes:[`int`]},floor:{fn:e=>sh(e),argTypes:[`float`]},ceil:{fn:e=>ih(e),argTypes:[`float`]},round:{fn:(e,t)=>hh(e,t),argTypes:[`float`,`int`]},addf:{fn:(...e)=>rh(...e),argTypes:[`float`]},subf:{fn:(e,t)=>yh(e,t),argTypes:[`float`,`float`]},mulf:{fn:(...e)=>mh(...e),argTypes:[`float`]},divf:{fn:(e,t)=>oh(e,t),argTypes:[`float`,`float`]},add1:{fn:e=>th(e),argTypes:[`int`]},add1f:{fn:e=>nh(e),argTypes:[`float`]},maxf:{fn:(...e)=>lh(...e),argTypes:[`float`]},minf:{fn:(...e)=>dh(...e),argTypes:[`float`]},biggest:{fn:(...e)=>ch(...e),argTypes:[`int`]},seq:{fn:(...e)=>_h(...e),argTypes:[`int`],returnType:`string`},until:{fn:e=>bh(e),argTypes:[`int`],returnType:`list`},untilStep:{fn:(e,t,n)=>gh(e,t,n),argTypes:[`int`,`int`,`int`],returnType:`list`}}}Array.from({length:95},(e,t)=>String.fromCharCode(t+32)).join(``);function Sh(e,t){return t.length<=e||e<4?t:`${t.slice(0,e-3)}...`}function Ch(e,t,n){return t<7||n.length<t||e<0||e>n.length-t+1?n:`...${n.slice(e,e+t-6)}...`}const q={Invalid:0,Number:1,UpperCase:2,Alphabet:3,Connector:4,Punct:5,Other:6},wh=/^[-_\s]$/,Th=/^\p{P}$/u,Eh=/^\p{L}$/u,Dh=/^\p{Lu}$/u,Oh=/^\p{N}$/u;function kh(e){return e!==void 0&&wh.test(e)}function Ah(e){return e!==void 0&&Eh.test(e)}function jh(e){return e!==void 0&&Dh.test(e)}function Mh(e){return e!==void 0&&Oh.test(e)}function Nh(e){return e!==void 0&&Th.test(e)}function Ph(e,t){if(t>=e.length)return{word:{wt:q.Invalid,text:``},next:t};let n=e[t],r=t+1;if(kh(n)){for(;r<e.length&&kh(e[r]);)r++;return{word:{wt:q.Connector,text:e.slice(t,r).join(``)},next:r}}if(Nh(n)){for(;r<e.length&&Nh(e[r]);)r++;return{word:{wt:q.Punct,text:e.slice(t,r).join(``)},next:r}}if(jh(n)){if(r>=e.length)return{word:{wt:q.UpperCase,text:n},next:r};if(jh(e[r])){let n=r;for(;n<e.length&&jh(e[n]);)n++;return n<e.length&&Ah(e[n])?{word:{wt:q.UpperCase,text:e.slice(t,n-1).join(``)},next:n-1}:{word:{wt:q.UpperCase,text:e.slice(t,n).join(``)},next:n}}if(Ah(e[r])){let n=r+1;for(;n<e.length&&Ah(e[n])&&!jh(e[n]);)n++;return{word:{wt:q.UpperCase,text:e.slice(t,n).join(``)},next:n}}return{word:{wt:q.UpperCase,text:n},next:r}}if(Ah(n)){for(;r<e.length&&Ah(e[r])&&!jh(e[r]);)r++;return{word:{wt:q.Alphabet,text:e.slice(t,r).join(``)},next:r}}if(Mh(n)){for(;r<e.length&&Mh(e[r]);)r++;return{word:{wt:q.Number,text:e.slice(t,r).join(``)},next:r}}for(;r<e.length&&!kh(e[r])&&!Ah(e[r])&&!Mh(e[r])&&!Nh(e[r]);)r++;return{word:{wt:q.Other,text:e.slice(t,r).join(``)},next:r}}function Fh(e,t,n){if(t.wt!==q.UpperCase&&t.wt!==q.Connector){e.push(t.text);return}for(let r of t.text)kh(r)?e.push(n):jh(r)?e.push(r.toLowerCase()):e.push(r)}function Ih(e,t){if(e.length===0)return``;let n=Array.from(e),r=[],{word:i,next:a}=Ph(n,0);for(;a<n.length;){i.wt!==q.Connector&&Fh(r,i,t);let e=i,o=i;if({word:i,next:a}=Ph(n,a),e.wt===q.Number){for(;i.wt===q.Alphabet||i.wt===q.Number;)Fh(r,i,t),{word:i,next:a}=Ph(n,a);i.wt!==q.Invalid&&i.wt!==q.Punct&&i.wt!==q.Connector&&r.push(t);continue}if(e.wt===q.Connector){Fh(r,o,t);continue}if(e.wt===q.Punct)continue;if(i.wt!==q.Number){i.wt!==q.Connector&&i.wt!==q.Punct&&r.push(t);continue}if(a>=n.length)continue;let s=i;if({word:i,next:a}=Ph(n,a),i.wt!==q.Alphabet){Fh(r,s,t),i.wt!==q.Connector&&i.wt!==q.Punct&&r.push(t);continue}for(r.push(t),Fh(r,s,t);i.wt===q.Alphabet||i.wt===q.Number;)Fh(r,i,t),{word:i,next:a}=Ph(n,a);i.wt!==q.Invalid&&i.wt!==q.Connector&&i.wt!==q.Punct&&r.push(t)}return Fh(r,i,t),r.join(``).toLowerCase()}function Lh(e){if(e.length===0)return``;let t=Array.from(e),n=[],r=0,i=``;for(;r<t.length;){if(i=t[r],r++,!kh(i)){i=i.toUpperCase();break}n.push(i)}if(r>=t.length)return t.length>0&&n.push(i),n.join(``);for(;r<t.length;){let e=i;if(i=t[r],r++,kh(i)&&kh(e)){n.push(e);continue}kh(e)?i=i.toUpperCase():(i=i.toLowerCase(),n.push(e))}return n.push(i),n.join(``)}function Rh(e){return Lh(e)}function zh(...e){return e.join(` `)}function Bh(e,t){return t.includes(e)}function Vh(e,t){return t.startsWith(e)}function Hh(e,t){return t.endsWith(e)}function Uh(e,t){let n=` `.repeat(Math.max(0,e));return t.split(`
|
|
51
51
|
`).map(e=>n+e).join(`
|
|
52
|
-
`)}function
|
|
53
|
-
`,t)}function
|
|
54
|
-
`)){let n=``;for(let i of t.split(/\s+/))i.length!==0&&(n.length===0?n=i:n.length+1+i.length<=e?n+=` ${i}`:(r.push(n),n=i));n.length>0&&r.push(n)}return r.join(t)}function pg(e,t,n){return fg(e,t,n)}function mg(){return{abbrev:{fn:(e,t)=>ph(e,t),argTypes:[`int`,`string`]},abbrevboth:{fn:(e,t,n)=>mh(e,t,n),argTypes:[`int`,`int`,`string`]},camelcase:{fn:e=>kh(e),argTypes:[`string`],returnType:`string`},cat:{fn:(...e)=>Ah(...e),argTypes:[`string`]},contains:{fn:(e,t)=>jh(e,t),argTypes:[`string`,`string`]},hasPrefix:{fn:(e,t)=>Mh(e,t),argTypes:[`string`,`string`]},hasSuffix:{fn:(e,t)=>Nh(e,t),argTypes:[`string`,`string`]},indent:{fn:(e,t)=>Ph(e,t),argTypes:[`int`,`string`]},initials:{fn:e=>Fh(e),argTypes:[`string`]},join:{fn:(e,t)=>Ih(e,t),argTypes:[`string`,`list`]},kebabcase:{fn:e=>Rh(e),argTypes:[`string`],returnType:`string`},lower:{fn:e=>zh(e),argTypes:[`string`]},nindent:{fn:(e,t)=>Bh(e,t),argTypes:[`int`,`string`]},nospace:{fn:e=>Vh(e),argTypes:[`string`],returnType:`string`},plural:{fn:(e,t,n)=>Hh(e,t,n),argTypes:[`string`,`string`,`int`],returnType:`string`},quote:{fn:(...e)=>Uh(...e),argTypes:[`string`]},regexQuoteMeta:{fn:e=>Wh(e),argTypes:[`string`],returnType:`string`},repeat:{fn:(e,t)=>Gh(e,t),argTypes:[`int`,`string`]},replace:{fn:(e,t,n)=>Kh(e,t,n),argTypes:[`string`,`string`,`string`]},snakecase:{fn:e=>qh(e),argTypes:[`string`],returnType:`string`},split:{fn:(e,t)=>Jh(e,t),argTypes:[`string`,`string`]},splitList:{fn:(e,t)=>Yh(e,t),argTypes:[`string`,`string`]},splitn:{fn:(e,t,n)=>Xh(e,t,n),argTypes:[`string`,`int`,`string`],returnType:`dict`},squote:{fn:(...e)=>Qh(...e),argTypes:[`string`]},substr:{fn:(e,t,n)=>$h(e,t,n),argTypes:[`int`,`int`,`string`]},swapcase:{fn:e=>eg(e),argTypes:[`string`],returnType:`string`},title:{fn:e=>rg(e),argTypes:[`string`]},trim:{fn:e=>ig(e),argTypes:[`string`]},trimAll:{fn:(e,t)=>ag(e,t),argTypes:[`string`,`string`]},trimPrefix:{fn:(e,t)=>og(e,t),argTypes:[`string`,`string`]},trimSuffix:{fn:(e,t)=>sg(e,t),argTypes:[`string`,`string`]},trunc:{fn:(e,t)=>cg(e,t),argTypes:[`int`,`string`]},untitle:{fn:e=>lg(e),argTypes:[`string`]},upper:{fn:e=>ug(e),argTypes:[`string`]},wrap:{fn:(e,t)=>dg(e,t),argTypes:[`int`,`string`]},wrapWith:{fn:(e,t,n)=>pg(e,t,n),argTypes:[`int`,`string`,`string`]}}}function hg(e){return e}function gg(e,t,n){return n===void 0?jl+kl(e)+`.`+kl(t):_g(n)}function _g(e){return jl+kl(e)}function vg(e,t){return e+`.`+t}function yg(e){return e+`.page`}const bg=[`closeOnPick`,`paged`,`key`,`distribution`],xg=e=>bg.includes(e),Sg=`"closeOnPick" (bool, default false), "paged" (bool, default true), "key" (string, accordion grouping), "distribution" (one of ${Pi.map(e=>`"${e}"`).join(`, `)}; default "van-der-corput")`;function Cg(e){for(let t of Object.keys(e))if(!xg(t))throw Error(`unknown {{ menu }} option "${t}" — the options dict takes ${Sg}`);let t=(t,n)=>{let r=e[t];if(r===void 0)return n;if(typeof r!=`boolean`)throw Error(`{{ menu }} option "${t}" must be a boolean, got ${JSON.stringify(r)} (e.g. (dict "${t}" ${String(!n)}))`);return r},n=e.key;if(n!==void 0&&typeof n!=`string`)throw Error(`{{ menu }} option "key" must be a string naming the accordion group, got ${JSON.stringify(n)}`);if(n===``)throw Error(`{{ menu }} has an empty accordion key — a shared key must be a non-empty name (or omit "key" for an independent menu)`);let r=e.distribution;if(r!==void 0&&!Fi(r))throw Error(`{{ menu }} option "distribution" must be one of: ${Pi.join(`, `)}; got ${JSON.stringify(r)}`);return{closeOnPick:t(`closeOnPick`,!1),paged:t(`paged`,!0),key:n,distribution:Li(r)}}const wg=`default`,Tg={};function Eg(e){return[...new Set([wg,...Object.keys(e)])]}function Dg(e,t,n){return Ea(void 0,e,t,wg,n)}function Og(e,t){let n={[wg]:Tg,...e}[t];if(n===void 0)throw Error(`Preset "${t}" is not declared in this config — effectivePresetName collapses unknown names to "${wg}", which always resolves; a miss here means a raw name reached this function without going through that resolution`);return n}function kg(e,t){let n=Og(e.presets,t).root??ec;return{node:ic(sc(n,e.root)),path:cc(n)?`presets.${t}.root`:`root`}}function Ag(e,t){return{...e.globals,...Og(e.presets,t).globals}}const jg=`menu`,Mg=`a menu binds its trigger text the way a cycle action binds a display — write {{ menu "applyTheme" "▸" "▾" }} (one per state) or {{ menu "insertHere" "+" }} (one static display for both), with the rare knobs in ONE trailing dict: {{ menu "applyTheme" "▸" "▾" (dict "closeOnPick" true "paged" false "key" "pickers") }} (defaults: closeOnPick false, paged true, no key). The renderer no longer appends ▸/▾ of its own (candybar-settings-ui-aok.4), and the older positional tail ("pageAction" closeOnPick paged "key") was removed — the page cursor is synthesized from the menu's identity`,Ng=e=>e.kind===`call`&&e.name===`dict`,Pg=e=>e.kind===`literal`&&typeof e.value!=`object`,Fg=e=>hc(``,e,2)===void 0;function Ig(e){let t=e=>({kind:`issue`,message:e}),[n,...r]=e.argExprs;if(n===void 0)return t(`with no arguments — it takes an apply-action name and its trigger text (e.g. {{ menu "applyTheme" "▸" "▾" }})`);if(n.kind!==`literal`||typeof n.value!=`string`)return t(`whose apply action is not a string literal — a menu's identity is its apply-action name, which must be a literal so it can be gated at load (e.g. {{ menu "applyTheme" "▸" "▾" }})`);let i=r[r.length-1],a=i!==void 0&&Ng(i)?i:void 0,o=a===void 0?r:r.slice(0,-1);if(o.some(Ng))return t(`whose options (dict …) is not its last argument — ${Mg}`);if(i!==void 0&&a===void 0&&!Pg(i)&&Fg(o.length-1))return t(`whose last argument is neither a literal nor a literal (dict …) — the renderer tells a display from the options dict by the value it evaluates to, so this call could be read as ${o.length} displays or as ${o.length-1} plus options, and both are legal. Make the options explicit as a trailing (dict …) — {{ menu "${n.value}" (printf "…") (printf "…") (dict) }} binds dynamic displays unambiguously — or bind the trigger text as literals`);let s=hc(`whose trigger`,o.length,2);if(s!==void 0)return t(`${s} — ${Mg}`);let c=a===void 0?{}:om(a);if(c===null)return t(`whose options (dict …) is not fully literal — every option value must be a literal so the menu can be gated at load (a dynamic entry like (dict "key" .x) cannot)`);let l;try{l=Cg(c)}catch(e){return t(`with invalid options — ${e.message}`)}let u=l.key;if(u!==void 0){let e=Il(u);if(e!==void 0)return t(`whose accordion key "${u}" lands in the reserved "${e}" namespace — a key is collapsed to an identifier (${JSON.stringify(u)} becomes "${_g(u)}"), so it would share one open-state key with the synthesized accordion that owns that namespace instead of grouping only your own menus. Name the group without the reserved prefix`)}return{kind:`ok`,apply:n.value,options:l}}function Lg(e){let t=_f({fromString:e=>e});try{return t.parse(e).referencedCalls().filter(e=>e.name===jg).map(Ig)}catch{return`parse-failed`}}function Rg(e){let t=_f({fromString:e=>e});try{return t.parse(e).referencedFunctions().has(jg)}catch{return!1}}function zg(e,t,n){e.issues.push({path:t,message:n,line:W(e.source,[`root`])})}function Bg(e,t){Ll(e,t,jl,`{{ menu }} helpers`);for(let[n,r]of Object.entries(t.helpers??{}))Rg(r)&&e.issues.push({path:`helpers.${n}`,message:`helper "${n}" uses {{ menu }}, but a menu must live directly in a segment template — its identity is derived from the segment it sits in, which a shared helper does not have. Inline the {{ menu }} call into each segment that needs it.`,line:W(e.source,[`helpers`,n])});let n=t.segments??{};for(let[t,r]of Object.entries(n))for(let n of[`bg`,`fg`,`when`]){let i=r[n];typeof i==`string`&&Rg(i)&&zg(e,`segments.${t}.${n}`,`segment "${t}" uses {{ menu }} in its "${n}" — a menu is only valid in a segment's "template" (its placement is published only there; "${n}" needs a ${n===`when`?`predicate`:`color`}). Move the {{ menu }} into the template.`)}if(t.root!==void 0)for(let n of os(ac(t.root)))typeof n.when==`string`&&Rg(n.when)&&zg(e,`root`,`a layout node's "when" predicate uses {{ menu }} — a menu is only valid in a segment's "template", not a node predicate. Move it into a segment.`);for(let[t,{template:r}]of Object.entries(n)){if(r===void 0||!Rg(r))continue;let n=Lg(r);if(n!==`parse-failed`)for(let r of n){let n=r.kind===`issue`?r.message:Vg(r.apply);n!==void 0&&zg(e,`segments.${t}`,`segment "${t}" has a {{ menu }} ${n}.`)}}}function Vg(e){if(e===``)return`with an empty apply-action name — an empty member aliases the absent-state sentinel ("") so the menu would render open before any click. Name the apply action`;if(hg(e)===`closed`)return`whose apply action is named "${pc}", which collides with the menu's closed-state sentinel and leaves it unopenable. Rename the action`}function Hg(e,t){let n={},r={},i=new Map,a=new Set,o=(e,n)=>{let r=`segments.${e}`;a.has(`${r}\0${n}`)||(a.add(`${r}\0${n}`),t.push({path:r,message:n}))};for(let t of Eg(e.presets)){let a=new Map,s=new Map;for(let c of os(kg(e,t).node)){if(c.kind!==`segment`)continue;let t=e.segments[c.name];if(t===void 0)continue;i.has(c.name)||i.set(c.name,Lg(t.template));let l=i.get(c.name);if(l===`parse-failed`)continue;let u=ns(c);for(let[e,t]of l.entries()){if(t.kind===`issue`||Vg(t.apply)!==void 0)continue;let{apply:i,options:l}=t,d=hg(i),f=gg(u,i,l.key),p=yg(f),m=l.key===void 0?`ind ${u} ${i}`:`key ${l.key}`,h=[f,p].find(e=>{let t=a.get(e);return t!==void 0&&t!==m});if(h!==void 0){o(c.name,`two {{ menu }} disclosures normalize to the same state key ("${h}") but were declared differently — distinct names that differ only by non-alphanumeric characters (e.g. "a-b" vs "a_b") collapse to one key and would silently share open-state. Rename so they don't collide.`);continue}a.set(f,m),a.set(p,m);let g=vg(f,d),_=`${c.name}\0${e}`,v=s.get(g);if(v!==void 0&&v!==_){o(c.name,`two {{ menu }} disclosures resolve to the same identity ("${g}") — ${l.key===void 0?`a segment cannot contain two menus over the same apply action "${i}"`:`menus sharing key "${l.key}" must have distinct apply actions`}.`);continue}s.set(g,_),r[g]=Cc(f,d),n[f]=Sc(f,pc),n[p]={kind:`state`,key:p,default:`0`},r[p]={set:p,int:!0}}}}return{...e,variables:{...e.variables,...n},actions:{...e.actions,...r}}}const Ug=_f({fromString:e=>e}),Wg=`edit.mode`,Gg=`edit.toggle`,Kg=`arrange`,qg=`${Ml}draft.`;function Jg(e,t){return`configure:${e}:${t}`}const Yg={variable:Wg,key:Wg,member:Kg},Xg=yc(Yg);function Zg(e){try{return Ug.parse(e).referencedCalls().some(e=>e.name===`action`&&e.args[0]===`edit.toggle`)}catch{return!1}}function Qg(e){if(Object.values(e.actions??{}).some(e=>`do`in e&&e.do.includes(`edit.toggle`)))return!0;for(let t of Object.values(e.segments??{}))for(let e of[t.template,t.bg,t.fg])if(typeof e==`string`&&Zg(e))return!0;return!1}function $g(e,t){if(Ll(e,t,Ml,`edit mode`),!Qg(t))return;let n={[Wg]:Sc(Wg,pc)},r={[Gg]:Cc(Wg,Kg)};t.variables={...t.variables??{},...n},t.actions={...t.actions??{},...r}}const e_=/"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|`[^`]*`/g;function*t_(e){let t=e.indexOf(`{{`);for(;t!==-1;){let n=``,r=t+2;for(;r<e.length&&!e.startsWith(`}}`,r);){if(e.startsWith(`/*`,r)){let t=e.indexOf(`*/`,r+2);r=t===-1?e.length:t+2;continue}let t=r,i=e[r];if(r+=1,i===`"`||i===`'`||i==="`"){for(;r<e.length&&e[r]!==i;)r+=e[r]===`\\`&&i!=="`"?2:1;r+=1}n+=e.slice(t,r)}if(r>=e.length)return;yield n,t=e.indexOf(`{{`,r+2)}}const n_=`[A-Za-z_]\\w*(?:\\.[A-Za-z_]\\w*)*`,r_=RegExp(`^(?:(\\$)(?:\\.(${n_}))?|\\.(${n_})?)(?=[\\s)]|$)`);function i_(e,t){let n=r_.exec(e.trimStart());return n===null?null:n[1]===void 0?t===null?null:n[3]===void 0?t:`${t}${n[3]}.`:n[2]===void 0?``:`${n[2]}.`}const a_=/^(\w+)\b\s*([\s\S]*)$/;function*o_(e){let t=[``];for(let n of t_(e)){let e=n.replace(/^-(?=\s)/,``).trim(),[,r=``,i=``]=a_.exec(e)??[],a=t[t.length-1],o=t.length>1?t[t.length-2]:a;if(r===`end`){t.length>1&&t.pop();continue}if(r===`else`){yield{code:e,dot:o};let n=/^with\b([\s\S]*)$/.exec(i);t[t.length-1]=n===null?o:i_(n[1],o);continue}yield{code:e,dot:a},r===`if`&&t.push(a),r===`with`&&t.push(i_(i,a)),(r===`range`||r===`define`||r===`block`)&&t.push(null)}}const s_=RegExp(`(?<![A-Za-z0-9_)$])(\\$?)\\.(${n_})`,`g`);function*c_(e,t){let n=e.replace(e_,``);for(let e of[...n.matchAll(s_)])e[1]===`$`?yield e[2]:t!==null&&(yield`${t}${e[2]}`)}const l_=/\btemplate\s+$/;function*u_(e,t){let n=0;for(let r of[...e.matchAll(e_)]){let i=r.index+r[0].length;if(l_.test(e.slice(n,r.index))){let n=i_(e.slice(i),t);n!==null&&(yield{name:r[0].slice(1,-1),at:n})}n=i}}function d_(e,t){let n=new Map,r=new Set,i=(e,a,o,s)=>{for(let{code:c,dot:l}of[...o_(e)]){for(let e of c_(c,l))n.has(a+e)||n.set(a+e,o);for(let e of[...u_(c,l)]){let n=t[e.name],o=a+e.at,c=`${e.name}\0${o}`;n===void 0||s.has(e.name)||r.has(c)||(r.add(c),i(n,o,e.name,new Set([...s,e.name])))}}};return i(e,``,null,new Set),n}const f_=/\baction\s+$/;function p_(e){let t=new Set;for(let n of t_(e)){let e=0,r;for(e_.lastIndex=0;(r=e_.exec(n))!==null;)f_.test(n.slice(e,r.index))&&t.add(r[0].slice(1,-1)),e=r.index+r[0].length}return t}const m_=/\b(picker|menu|carousel)\s+$/;function h_(e){let t=new Set;for(let n of t_(e)){let e=0,r=0,i;for(e_.lastIndex=0;(i=e_.exec(n))!==null;){let a=m_.exec(n.slice(e,i.index));a!==null&&(r=a[1]===`picker`?2:1),r>0&&(t.add(i[0].slice(1,-1)),r--),e=i.index+i[0].length}}return t}function g_(e,t){if(t.names.has(e))return!0;let n=`${e}.`;for(let e of t.names)if(e.startsWith(n))return!0;for(let n of t.documents)if(e.startsWith(`${n}.`))return!0;return!1}function __(e){let t=new Set,n=new Set,r=(e,r)=>{t.add(e),v_(r)&&n.add(e)};for(let[t,n]of Object.entries(e.variables))r(t,n);for(let[t,n]of Object.entries(e.segments))for(let[e,i]of Object.entries(n.vars??{}))r(`${t}.${e}`,i);return{names:t,documents:n,helpers:e.helpers}}function v_(e){return(e.kind===`shell`||e.kind===`file`)&&ds(e.parse)===`json`}var y_=pe((e=>{function t(e){var t=[...arguments].slice(1);throw Error(typeof e==`number`?`[MobX] minified error nr: `+e+(t.length?` `+t.map(String).join(`,`):``)+`. Find the full error at: https://github.com/mobxjs/mobx/blob/main/packages/mobx/src/errors.ts`:`[MobX] `+e)}function n(){return typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:nn}function r(){P||t(`Proxy not available`)}function i(e){var t=!1;return function(){if(!t)return t=!0,e.apply(this,arguments)}}function a(e){return typeof e==`function`}function o(e){switch(typeof e){case`string`:case`symbol`:case`number`:return!0}return!1}function s(e){return typeof e==`object`&&!!e}function c(e){if(!s(e))return!1;var t=Object.getPrototypeOf(e);if(t==null)return!0;var n=Object.hasOwnProperty.call(t,`constructor`)&&t.constructor;return typeof n==`function`&&n.toString()===ln}function l(e){var t=e?.constructor;return!!t&&(t.name===`GeneratorFunction`||t.displayName===`GeneratorFunction`)}function u(e,t,n){an(e,t,{enumerable:!1,writable:!0,configurable:!0,value:n})}function d(e,t,n){an(e,t,{enumerable:!1,writable:!1,configurable:!0,value:n})}function f(e,t){var n=`isMobX`+e;return t.prototype[n]=!0,function(e){return s(e)&&!0===e[n]}}function p(e){return e!=null&&Object.prototype.toString.call(e)===`[object Map]`}function m(e){return e!=null&&Object.prototype.toString.call(e)===`[object Set]`}function h(e){return e===null?null:typeof e==`object`?``+e:e}function g(e,t){return on.hasOwnProperty.call(e,t)}function _(e,t){return!!(e&t)}function v(e,t,n){return n?e|=t:e&=~t,e}function y(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function b(e,t,n){if(re())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,t);var i=new(e.bind.apply(e,r));return n&&w(i,n.prototype),i}function x(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,ie(r.key),r)}}function S(e,t,n){return t&&x(e.prototype,t),n&&x(e,n),Object.defineProperty(e,`prototype`,{writable:!1}),e}function C(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=function(e,t){if(e){if(typeof e==`string`)return y(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?y(e,t):void 0}}(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
55
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ee(){return(ee=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(null,arguments)}function te(e){return(te=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ne(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,w(e,t)}function re(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch{}return(re=function(){return!!e})()}function w(e,t){return(w=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function ie(e){var t=function(e){if(typeof e!=`object`||!e)return e;var t=e[Symbol.toPrimitive];if(t!==void 0){var n=t.call(e,`string`);if(typeof n!=`object`)return n;throw TypeError(`@@toPrimitive must return a primitive value.`)}return String(e)}(e);return typeof t==`symbol`?t:t+``}function T(e){var t=typeof Map==`function`?new Map:void 0;return(T=function(e){function n(){return b(e,arguments,te(this).constructor)}if(e===null||!function(e){try{return Function.toString.call(e).indexOf(`[native code]`)!==-1}catch{return typeof e==`function`}}(e))return e;if(typeof e!=`function`)throw TypeError(`Super expression must either be null or a function`);if(t!==void 0){if(t.has(e))return t.get(e);t.set(e,n)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),w(n,e)})(e)}function E(e){return Object.assign((function(t,n){if(oe(n))return e.t(t,n);ae(t,n,e)}),e)}function ae(e,t,n){g(e,
|
|
56
|
-
'`+s.i+`' can only be used on properties with a function value.`)}function me(e,t,n,r,i){var a,o,s;i===void 0&&(i=z.safeDescriptors);var c=r.value;return(a=t.u)!=null&&a.bound&&(c=c.bind(e.v??e.h)),{value:Ne(t.u?.name??n.toString(),c,(o=t.u?.autoAction)!=null&&o,(s=t.u)!=null&&s.bound?e.v??e.h:void 0),configurable:!i||e.p,enumerable:!1,writable:!i}}function he(e,t){return{i:e,u:t,o:D,s:ge,t:_e}}function D(e,t,n,r){var i;return r===e.h?this.s(e,t,n,!1)===null?0:2:(i=this.u)!=null&&i.bound&&(!g(e.h,t)||!vt(e.h[t]))&&this.s(e,t,n,!1)===null?0:vt(n.value)?1:(an(r,t,ve(e,0,0,n,!1,!1)),2)}function ge(e,t,n,r){var i=ve(e,0,0,n,this.u?.bound);return e.l(t,i,r)}function _e(e,t){var n,r=t.name,i=t.addInitializer;return vt(e)||(e=rr(e)),(n=this.u)!=null&&n.bound&&i((function(){var e=this[r].bind(this);e.isMobXFlow=!0,this[r]=e})),e}function ve(e,t,n,r,i,a){a===void 0&&(a=z.safeDescriptors);var o=r.value;return vt(o)||(o=rr(o)),i&&((o=o.bind(e.v??e.h)).isMobXFlow=!0),{value:o,configurable:!a||e.p,enumerable:!1,writable:!a}}function ye(e,t){return{i:e,u:t,o:be,s:xe,t:Se}}function be(e,t,n){return this.s(e,t,n,!1)===null?0:1}function xe(e,t,n,r){return e.m(t,ee({},this.u,{get:n.get,set:n.set}),r)}function Se(e,t){var n=this,r=t.name;return(0,t.addInitializer)((function(){var t=Ht(this)[F],i=ee({},n.u,{get:e,context:this});i.name||=`ObservableObject.`+r.toString(),t.j.set(r,new In(i))})),function(){return this[F].O(r)}}function Ce(e,t){return{i:e,u:t,o:we,s:Te,t:Ee}}function we(e,t,n){return this.s(e,t,n,!1)===null?0:1}function Te(e,t,n,r){return e.g(t,n.value,this.u?.enhancer??ce,r)}function Ee(e,t){function n(e,t){var n=Ht(e)[F],i=new Pn(t,r.u?.enhancer??ce,`ObservableObject.`+a.toString(),!1);n.j.set(a,i),o.add(e)}var r=this,i=t.kind,a=t.name,o=new WeakSet;if(i==`accessor`)return{get:function(){return o.has(this)||n(this,e.get.call(this)),this[F].O(a)},set:function(e){return o.has(this)||n(this,e),this[F].S(a,e)},init:function(e){return o.has(this)||n(this,e),e}}}function De(e){return{i:`true`,u:e,o:Oe,s:ke,t:Ae}}function Oe(e,t,n,r){var i,a,o;if(n.get)return kn.o(e,t,n,r);if(n.set){var s=ct(n.set)?n.set:Ne(t.toString(),n.set);return r===e.h?e.l(t,{configurable:!z.safeDescriptors||e.p,set:s})===null?0:2:(an(r,t,{configurable:!0,set:s}),2)}if(r!==e.h&&typeof n.value==`function`)return l(n.value)?((o=this.u)!=null&&o.autoBind?rr.bound:rr).o(e,t,n,r):((a=this.u)!=null&&a.autoBind?Zn.bound:Zn).o(e,t,n,r);var c=!1===this.u?.deep?En.ref:En;return typeof n.value==`function`&&(i=this.u)!=null&&i.autoBind&&(n.value=n.value.bind(e.v??e.h)),c.o(e,t,n,r)}function ke(e,t,n,r){var i;return n.get?kn.s(e,t,n,r):n.set?e.l(t,{configurable:!z.safeDescriptors||e.p,set:Ne(t.toString(),n.set)},r):(typeof n.value==`function`&&(i=this.u)!=null&&i.autoBind&&(n.value=n.value.bind(e.v??e.h)),(!1===this.u?.deep?En.ref:En).s(e,t,n,r))}function Ae(){t(`'`+this.i+`' cannot be used as a decorator`)}function je(e){return e||bn}function O(e){return!0===e.deep?ce:!1===e.deep?le:(t=e.defaultDecorator)&&(n=(r=t.u)?.enhancer)!=null?n:ce;var t,n,r}function Me(e,t,n){return oe(t)?xn.t(e,t):o(t)?void ae(e,t,xn):xt(e)?e:c(e)?En.object(e,t,n):Array.isArray(e)?En.array(e,t):p(e)?En.map(e,t):m(e)?En.set(e,t):typeof e==`object`&&e?e:En.box(e,t)}function Ne(e,t,n,r){function i(){return Pe(0,n,t,r||this,arguments)}return n===void 0&&(n=!1),i.isMobxAction=!0,i.toString=function(){return t.toString()},Mn&&(Nn.value=e,an(i,`name`,Nn)),i}function Pe(e,t,n,r,i){var a=Fe(0,t);try{return n.apply(r,i)}catch(e){throw a._=e,e}finally{Ie(a)}}function Fe(e,t){var n=z.trackingDerivation,r=!t||!n;$e();var i=z.allowStateChanges;r&&(Ge(),i=Re(!0));var a={A:r,k:n,M:i,V:qe(!0),R:!1,N:0,T:jn++,C:An};return An=a.T,a}function Ie(e){An!==e.T&&t(30),An=e.C,e._!==void 0&&(z.suppressReactionErrors=!0),ze(e.M),Je(e.V),et(),e.A&&Ke(e.k),z.suppressReactionErrors=!1}function Le(e,t){var n=Re(e);try{return t()}finally{ze(n)}}function Re(e){var t=z.allowStateChanges;return z.allowStateChanges=e,t}function ze(e){z.allowStateChanges=e}function Be(e){return e instanceof Rn}function Ve(e){switch(e.I){case L.L:return!1;case L.P:case L.K:return!0;case L.B:for(var t=qe(!0),n=Ge(),r=e.D,i=r.length,a=0;a<i;a++){var o=r[a];if(R(o)){if(z.disableErrorBoundaries)o.get();else try{o.get()}catch{return Ke(n),Je(t),!0}if(e.I===L.K)return Ke(n),Je(t),!0}}return Ye(e),Ke(n),Je(t),!1}}function He(e,t,n){var r=qe(!0);Ye(e),e.W=Array(e.q===0?100:e.D.length),e.G=0,e.q=++z.runId;var i,a=z.trackingDerivation;if(z.trackingDerivation=e,z.inBatch++,!0===z.disableErrorBoundaries)i=t.call(n);else try{i=t.call(n)}catch(e){i=new Rn(e)}return z.inBatch--,z.trackingDerivation=a,function(e){for(var t=e.D,n=e.D=e.W,r=L.L,i=0,a=e.G,o=0;o<a;o++){var s=n[o];s.diffValue===0&&(s.diffValue=1,i!==o&&(n[i]=s),i++),s.I>r&&(r=s.I)}for(n.length=i,e.W=null,a=t.length;a--;){var c=t[a];c.diffValue===0&&Ze(c,e),c.diffValue=0}for(;i--;){var l=n[i];l.diffValue===1&&(l.diffValue=0,Xe(l,e))}r!==L.L&&(e.I=r,e.H())}(e),Je(r),i}function Ue(e){var t=e.D;e.D=[];for(var n=t.length;n--;)Ze(t[n],e);e.I=L.P}function We(e){var t=Ge();try{return e()}finally{Ke(t)}}function Ge(){var e=z.trackingDerivation;return z.trackingDerivation=null,e}function Ke(e){z.trackingDerivation=e}function qe(e){var t=z.allowStateReads;return z.allowStateReads=e,t}function Je(e){z.allowStateReads=e}function Ye(e){if(e.I!==L.L){e.I=L.L;for(var t=e.D,n=t.length;n--;)t[n].U=L.L}}function Xe(e,t){e.F.add(t),e.U>t.I&&(e.U=t.I)}function Ze(e,t){e.F.delete(t),e.F.size===0&&Qe(e)}function Qe(e){!1===e.isPendingUnobservation&&(e.isPendingUnobservation=!0,z.pendingUnobservations.push(e))}function $e(){z.inBatch++}function et(){if(--z.inBatch==0){rt();for(var e=z.pendingUnobservations,t=0;t<e.length;t++){var n=e[t];n.isPendingUnobservation=!1,n.F.size===0&&(n.isBeingObserved&&(n.isBeingObserved=!1,n.onBUO()),n instanceof In&&n.X())}z.pendingUnobservations=[]}}function tt(e){var t=z.trackingDerivation;return t===null?(e.F.size===0&&z.inBatch>0&&Qe(e),!1):(t.q!==e.$&&(e.$=t.q,t.W[t.G++]=e,!e.isBeingObserved&&z.trackingContext&&(e.isBeingObserved=!0,e.onBO())),e.isBeingObserved)}function nt(e){e.U!==L.K&&(e.U=L.K,e.F.forEach((function(e){e.I===L.L&&e.H(),e.I=L.K})))}function rt(){z.inBatch>0||z.isRunningReactions||Wn(it)}function it(){z.isRunningReactions=!0;for(var e=z.pendingReactions,t=0;e.length>0;){++t==100&&(console.error(`[mobx] cycle in reaction: `+e[0]),e.splice(0));for(var n=e.splice(0),r=0,i=n.length;r<i;r++)n[r].J()}z.isRunningReactions=!1}function at(){return console.warn(`[mobx.spy] Is a no-op in production builds`),function(){}}function ot(e){return function(t,n){return a(t)?Ne(t.name||`<unnamed action>`,t,e):a(n)?Ne(t,n,e):oe(n)?(e?Jn:Kn).t(t,n):o(n)?ae(t,n,e?Jn:Kn):o(t)?E(ue(e?`autoAction`:`action`,{name:t,autoAction:e})):void 0}}function st(e){return Pe(0,!1,e,this,void 0)}function ct(e){return a(e)&&!0===e.isMobxAction}function lt(e,t){function n(){e(i)}var r;t===void 0&&(t=cn);var i,a=t?.name??`Autorun`;if(t.scheduler||t.delay){var o=ut(t),s=!1;i=new Un(a,(function(){s||(s=!0,o((function(){s=!1,i.isDisposed||i.track(n)})))}),t.onError,t.requiresObservable)}else i=new Un(a,(function(){this.track(n)}),t.onError,t.requiresObservable);return(r=t)!=null&&(r=r.signal)!=null&&r.aborted||i.Y(),i.Z(t?.signal)}function ut(e){return e.scheduler?e.scheduler:e.delay?function(t){return setTimeout(t,e.delay)}:Qn}function dt(e,t,n){return pt(`onBO`,e,t,n)}function ft(e,t,n){return pt(`onBUO`,e,t,n)}function pt(e,t,n,r){var i=typeof r==`function`?Yt(t,n):Yt(t),o=a(r)?r:n,s=e+`L`;return i[s]?i[s].add(o):i[s]=new Set([o]),function(){var e=i[s];e&&(e.delete(o),e.size===0&&delete i[s])}}function mt(e,t,n,r){var i=pn(t);return Qt((function(){var t=Ht(e,r)[F];fn(i).forEach((function(e){t.s(e,i[e],!n||!(e in n)||n[e])}))})),e}function ht(e){var t,n={name:e.tt};return e.D&&e.D.length>0&&(n.dependencies=(t=e.D,Array.from(new Set(t))).map(ht)),n}function gt(e){var t={name:e.tt};return function(e){return e.F&&e.F.size>0}(e)&&(t.observers=Array.from(function(e){return e.F}(e)).map(gt)),t}function _t(e){a(e.cancel)&&e.cancel()}function vt(e){return!0===e?.isMobXFlow}function yt(e,t){return t===void 0?R(e):!1===Wt(e)||!e[F].j.has(t)?!1:R(Yt(e,t))}function bt(e,t){return!!e&&(t===void 0?Wt(e)||!!e[F]||gn(e)||Gn(e)||R(e):!!Wt(e)&&e[F].j.has(t))}function xt(e){return bt(e)}function St(e){return Wt(e)?e[F].nt():gr(e)||yr(e)?Array.from(e.keys()):zt(e)?e.map((function(e,t){return t})):void t(5)}function Ct(e,n){return Wt(e)?e[F].it(n):gr(e)||yr(e)?e.has(n):zt(e)?n>=0&&n<e.length:void t(10)}function wt(e){if(Wt(e))return e[F].rt();t(38)}function Tt(e,t,n){return e.set(t,n),n}function Et(e,t){t===void 0&&(t=void 0),$e();try{return e.apply(t)}finally{et()}}function Dt(e,t,n){var r;if(typeof n.timeout==`number`){var i=Error(`WHEN_TIMEOUT`);r=setTimeout((function(){if(!o[F].isDisposed){if(o(),!n.onError)throw i;n.onError(i)}}),n.timeout)}n.name=`When`;var a=Ne(`When-effect`,t),o=lt((function(t){Le(!1,e)&&(t.dispose(),r&&clearTimeout(r),a())}),n);return o}function Ot(e,t){var n,r,i;if(t!=null&&(n=t.signal)!=null&&n.aborted)return Object.assign(Promise.reject(Error(`WHEN_ABORTED`)),{cancel:function(){return null}});var a=new Promise((function(n,a){var o,s=Dt(e,n,ee({},t,{onError:a}));r=function(){s(),a(Error(`WHEN_CANCELLED`))},i=function(){s(),a(Error(`WHEN_ABORTED`))},t==null||(o=t.signal)==null||o.addEventListener==null||o.addEventListener(`abort`,i)})).finally((function(){var e;return t==null||(e=t.signal)==null||e.removeEventListener==null?void 0:e.removeEventListener(`abort`,i)}));return a.cancel=r,a}function kt(e){return e[F]}function At(e){return e.et!==void 0&&e.et.length>0}function jt(e,t){var n=e.et||=[];return n.push(t),i((function(){var e=n.indexOf(t);e!==-1&&n.splice(e,1)}))}function Mt(e,n){var r=Ge();try{for(var i=[].concat(e.et||[]),a=0,o=i.length;a<o&&((n=i[a](n))&&!n.type&&t(14),n);a++);return n}finally{Ke(r)}}function Nt(e){return e.ut!==void 0&&e.ut.length>0}function Pt(e,t){var n=e.ut||=[];return n.push(t),i((function(){var e=n.indexOf(t);e!==-1&&n.splice(e,1)}))}function Ft(e,t){var n=Ge(),r=e.ut;if(r){for(var i=0,a=(r=r.slice()).length;i<a;i++)r[i](t);Ke(n)}}function It(e,t,n,i){return n===void 0&&(n=`ObservableArray`),i===void 0&&(i=!1),r(),Qt((function(){var r=new cr(n,t,i,!1);d(r.j,F,r);var a=new Proxy(r.j,sr);return r.v=a,e&&e.length&&r.ot(0,0,e),a}))}function k(e,t){typeof Array.prototype[e]==`function`&&(lr[e]=t(e))}function Lt(e){return function(){var t=this[F];t.st.reportObserved();var n=t.ft(t.j);return n[e].apply(n,arguments)}}function A(e){return function(t,n){var r=this,i=this[F];return i.st.reportObserved(),i.ft(i.j)[e]((function(e,i){return t.call(n,e,i,r)}))}}function Rt(e){return function(){var t=this,n=this[F];n.st.reportObserved();var r=n.ft(n.j),i=arguments[0];return arguments[0]=function(e,n,r){return i(e,n,r,t)},r[e].apply(r,arguments)}}function zt(e){return s(e)&&fr(e[F])}function Bt(e){return e[Symbol.toStringTag]=`MapIterator`,en(e)}function Vt(e){return e[Symbol.toStringTag]=`SetIterator`,en(e)}function Ht(e,t){if(g(e,F))return e;var n=t?.name??`ObservableObject`;return u(e,F,new xr(e,new Map,String(n),function(e){return e?e.defaultDecorator??De(e):void 0}(t))),e}function Ut(e){return br[e]||(br[e]={get:function(){return this[F].O(e)},set:function(t){return this[F].S(e,t)}})}function Wt(e){return!!s(e)&&B(e[F])}function Gt(e,t,n){var r;(r=e.h[mn])==null||delete r[n]}function Kt(e){return{enumerable:!1,configurable:!0,get:function(){return this[F].ct(e)},set:function(t){this[F].ht(e,t)}}}function j(e){an(Er.prototype,``+e,Kt(e))}function qt(e){if(e>wr){for(var t=wr;t<e+100;t++)j(t);wr=e}}function Jt(e,t,n){return new Er(e,t,n)}function Yt(e,n){if(typeof e==`object`&&e){if(zt(e))return n!==void 0&&t(23),e[F].st;if(yr(e))return e.st;if(gr(e)){if(n===void 0)return e.lt;var r=e.vt.get(n)||e.dt.get(n);return r||t(25,n,Zt(e)),r}if(Wt(e)){if(!n)return t(26);var i=e[F].j.get(n);return i||t(27,n,Zt(e)),i}if(gn(e)||R(e)||Gn(e))return e}else if(a(e)&&Gn(e[F]))return e[F];t(28)}function Xt(e,n){return e||t(29),n===void 0?gn(e)||R(e)||Gn(e)||gr(e)||yr(e)?e:e[F]?e[F]:void t(24,e):Xt(Yt(e,n))}function Zt(e,t){var n;if(t!==void 0)n=Yt(e,t);else{if(ct(e))return e.name;n=Wt(e)||gr(e)||yr(e)?Xt(e):Yt(e)}return n.tt}function Qt(e){var t=Ge(),n=Re(!0);$e();try{return e()}finally{et(),ze(n),Ke(t)}}function $t(e,t,n){return n===void 0&&(n=-1),function e(t,n,r,i,o){if(t===n)return t!==0||1/t==1/n;if(t==null||n==null)return!1;if(t!=t)return n!=n;var s=typeof t;if(s!==`function`&&s!==`object`&&typeof n!=`object`)return!1;var c=Dr.call(t);if(c!==Dr.call(n))return!1;switch(c){case`[object RegExp]`:case`[object String]`:return``+t==``+n;case`[object Number]`:return+t==+t?+t==0?1/t==1/n:+t==+n:+n!=+n;case`[object Date]`:case`[object Boolean]`:return+t==+n;case`[object Symbol]`:return typeof Symbol<`u`&&Symbol.valueOf.call(t)===Symbol.valueOf.call(n);case`[object Map]`:case`[object Set]`:r>=0&&r++}t=M(t),n=M(n);var l=c===`[object Array]`;if(!l){if(typeof t!=`object`||typeof n!=`object`)return!1;var u=t.constructor,d=n.constructor;if(u!==d&&!(a(u)&&u instanceof u&&a(d)&&d instanceof d)&&`constructor`in t&&`constructor`in n)return!1}if(r===0)return!1;r<0&&(r=-1),o||=[];for(var f=(i||=[]).length;f--;)if(i[f]===t)return o[f]===n;if(i.push(t),o.push(n),l){if((f=t.length)!==n.length)return!1;for(;f--;)if(!e(t[f],n[f],r-1,i,o))return!1}else{var p=Object.keys(t),m=p.length;if(Object.keys(n).length!==m)return!1;for(var h=0;h<m;h++){var _=p[h];if(!g(n,_)||!e(t[_],n[_],r-1,i,o))return!1}}return i.pop(),o.pop(),!0}(e,t,n)}function M(e){return zt(e)?e.slice():p(e)||gr(e)||m(e)||yr(e)?Array.from(e.entries()):e}function en(e){return e[Symbol.iterator]=tn,Object.assign(Object.create(Or),e)}function tn(){return this}Object.defineProperty(e,`__esModule`,{value:!0});var nn={},N=Object.assign,rn=Object.getOwnPropertyDescriptor,an=Object.defineProperty,on=Object.prototype,sn=[];Object.freeze(sn);var cn={};Object.freeze(cn);var P=typeof Proxy<`u`,ln=Object.toString(),un=function(){},dn=Object.getOwnPropertySymbols!==void 0,fn=typeof Reflect<`u`&&Reflect.ownKeys?Reflect.ownKeys:dn?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,pn=Object.getOwnPropertyDescriptors||function(e){var t={};return fn(e).forEach((function(n){t[n]=rn(e,n)})),t},mn=Symbol(`mobx-stored-annotations`),F=Symbol(`mobx administration`),hn=function(){function e(e){e===void 0&&(e=`Atom`),this.tt=void 0,this.bt=0,this.F=new Set,this.$=0,this.U=L.P,this.onBOL=void 0,this.onBUOL=void 0,this.tt=e}var t=e.prototype;return t.onBO=function(){this.onBOL&&this.onBOL.forEach((function(e){return e()}))},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach((function(e){return e()}))},t.reportObserved=function(){return tt(this)},t.reportChanged=function(){$e(),nt(this),et()},t.toString=function(){return this.tt},S(e,[{key:`isBeingObserved`,get:function(){return _(this.bt,e.pt)},set:function(t){this.bt=v(this.bt,e.pt,t)}},{key:`isPendingUnobservation`,get:function(){return _(this.bt,e.yt)},set:function(t){this.bt=v(this.bt,e.yt,t)}},{key:`diffValue`,get:function(){return+!!_(this.bt,e.wt)},set:function(t){this.bt=v(this.bt,e.wt,t===1)}}])}();hn.pt=1,hn.yt=2,hn.wt=4;var gn=f(`Atom`,hn),_n={identity:function(e,t){return e===t},structural:function(e,t){return $t(e,t)},default:function(e,t){return Object.is?Object.is(e,t):e===t?e!==0||1/e==1/t:e!=e&&t!=t},shallow:function(e,t){return $t(e,t,1)}},vn=E({i:`override`,o:function(){return 0},s:function(){t(`'`+this.i+`' can only be used with 'makeObservable'`)},t:function(){console.warn(`'`+this.i+`' cannot be used with decorators - this is a no-op`)}}),yn=De(),bn={deep:!0,name:void 0,defaultDecorator:void 0,proxy:!0};Object.freeze(bn);var xn=Ce(`observable`),Sn=Ce(`observable.ref`,{enhancer:le}),I=Ce(`observable.shallow`,{enhancer:function(e,t,n){return e==null||Wt(e)||zt(e)||gr(e)||yr(e)?e:Array.isArray(e)?En.array(e,{name:n,deep:!1}):c(e)?En.object(e,void 0,{name:n,deep:!1}):p(e)?En.map(e,{name:n,deep:!1}):m(e)?En.set(e,{name:n,deep:!1}):void 0}}),Cn=Ce(`observable.struct`,{enhancer:function(e,t){return $t(e,t)?t:e}}),wn=E(xn);N(Me,wn);var Tn,En=N(Me,{box:function(e,t){var n=je(t);return new Pn(e,O(n),n.name,!0,n.equals)},array:function(e,t){var n=je(t);return(!1===z.useProxies||!1===n.proxy?Jt:It)(e,O(n),n.name)},map:function(e,t){var n=je(t);return new hr(e,O(n),n.name)},set:function(e,t){var n=je(t);return new vr(e,O(n),n.name)},object:function(e,t,n){return Qt((function(){return mt(!1===z.useProxies||!1===n?.proxy?Ht({},n):function(e,t){var n;return r(),(n=(e=Ht(e,t))[F]).v??(n.v=new Proxy(e,ir))}({},n),e,t)}))},ref:E(Sn),shallow:E(I),deep:wn,struct:E(Cn)}),Dn=ye(`computed`),On=ye(`computed.struct`,{equals:_n.structural}),kn=function(e,t){if(oe(t))return Dn.t(e,t);if(o(t))return ae(e,t,Dn);if(c(e))return E(ye(`computed`,e));var n=c(t)?t:{};return n.get=e,n.name||=e.name||``,new In(n)};Object.assign(kn,Dn),kn.struct=E(On);var An=0,jn=1,Mn=(Tn=rn((function(){}),`name`)?.configurable)!=null&&Tn,Nn={value:`action`,configurable:!0,writable:!1,enumerable:!1},Pn=function(e){function t(t,n,r,i,a){var o;return r===void 0&&(r=`ObservableValue`),a===void 0&&(a=_n.default),(o=e.call(this,r)||this).enhancer=void 0,o.tt=void 0,o.equals=void 0,o.jt=!1,o.et=void 0,o.ut=void 0,o.Ot=void 0,o.dehancer=void 0,o.enhancer=n,o.tt=r,o.equals=a,o.Ot=n(t,void 0,r),o}ne(t,e);var n=t.prototype;return n.dehanceValue=function(e){return this.dehancer===void 0?e:this.dehancer(e)},n.set=function(e){(e=this.xt(e))!==z.UNCHANGED&&this.gt(e)},n.xt=function(e){if(At(this)){var t=Mt(this,{object:this,type:or,newValue:e});if(!t)return z.UNCHANGED;e=t.newValue}return e=this.enhancer(e,this.Ot,this.tt),this.equals(this.Ot,e)?z.UNCHANGED:e},n.gt=function(e){var t=this.Ot;this.Ot=e,this.reportChanged(),Nt(this)&&Ft(this,{type:or,object:this,newValue:e,oldValue:t})},n.get=function(){return this.reportObserved(),this.dehanceValue(this.Ot)},n.St=function(e){return jt(this,e)},n._t=function(e,t){return t&&e({observableKind:`value`,debugObjectName:this.tt,object:this,type:or,newValue:this.Ot,oldValue:void 0}),Pt(this,e)},n.raw=function(){return this.Ot},n.toJSON=function(){return this.get()},n.toString=function(){return this.tt+`[`+this.Ot+`]`},n.valueOf=function(){return h(this.get())},n[Symbol.toPrimitive]=function(){return this.valueOf()},t}(hn),Fn=f(`ObservableValue`,Pn),In=function(){function e(e){this.I=L.P,this.D=[],this.W=null,this.F=new Set,this.q=0,this.$=0,this.U=L.L,this.G=0,this.Ot=new Rn(null),this.tt=void 0,this.At=void 0,this.bt=0,this.derivation=void 0,this.kt=void 0,this.Mt=Ln.NONE,this.Et=void 0,this.Vt=void 0,this.Rt=void 0,this.Nt=void 0,this.onBOL=void 0,this.onBUOL=void 0,e.get||t(31),this.derivation=e.get,this.tt=e.name||`ComputedValue`,e.set&&(this.kt=Ne(`ComputedValue-setter`,e.set)),this.Vt=e.equals||(e.compareStructural||e.struct?_n.structural:_n.default),this.Et=e.context,this.Rt=e.requiresReaction,this.Nt=!!e.keepAlive}var n=e.prototype;return n.H=function(){(function(e){e.U===L.L&&(e.U=L.B,e.F.forEach((function(e){e.I===L.L&&(e.I=L.B,e.H())})))})(this)},n.onBO=function(){this.onBOL&&this.onBOL.forEach((function(e){return e()}))},n.onBUO=function(){this.onBUOL&&this.onBUOL.forEach((function(e){return e()}))},n.get=function(){if(this.isComputing&&t(32,this.tt,this.derivation),z.inBatch!==0||this.F.size!==0||this.Nt){if(tt(this),Ve(this)){var e=z.trackingContext;this.Nt&&!e&&(z.trackingContext=this),this.trackAndCompute()&&function(e){e.U!==L.K&&(e.U=L.K,e.F.forEach((function(t){t.I===L.B?t.I=L.K:t.I===L.L&&(e.U=L.L)})))}(this),z.trackingContext=e}}else Ve(this)&&(this.Tt(),$e(),this.Ot=this.Ct(!1),et());var n=this.Ot;if(Be(n))throw n.cause;return n},n.set=function(e){if(this.kt){this.isRunningSetter&&t(33,this.tt),this.isRunningSetter=!0;try{this.kt.call(this.Et,e)}finally{this.isRunningSetter=!1}}else t(34,this.tt)},n.trackAndCompute=function(){var e=this.Ot,t=this.I===L.P,n=this.Ct(!0),r=t||Be(e)||Be(n)||!this.Vt(e,n);return r&&(this.Ot=n),r},n.Ct=function(e){this.isComputing=!0;var t,n=Re(!1);if(e)t=He(this,this.derivation,this.Et);else if(!0===z.disableErrorBoundaries)t=this.derivation.call(this.Et);else try{t=this.derivation.call(this.Et)}catch(e){t=new Rn(e)}return ze(n),this.isComputing=!1,t},n.X=function(){this.Nt||(Ue(this),this.Ot=void 0)},n._t=function(e,t){var n=this,r=!0,i=void 0;return lt((function(){var a=n.get();if(!r||t){var o=Ge();e({observableKind:`computed`,debugObjectName:n.tt,type:or,object:n,newValue:a,oldValue:i}),Ke(o)}r=!1,i=a}))},n.Tt=function(){},n.toString=function(){return this.tt+`[`+this.derivation.toString()+`]`},n.valueOf=function(){return h(this.get())},n[Symbol.toPrimitive]=function(){return this.valueOf()},S(e,[{key:`isComputing`,get:function(){return _(this.bt,e.It)},set:function(t){this.bt=v(this.bt,e.It,t)}},{key:`isRunningSetter`,get:function(){return _(this.bt,e.Lt)},set:function(t){this.bt=v(this.bt,e.Lt,t)}},{key:`isBeingObserved`,get:function(){return _(this.bt,e.pt)},set:function(t){this.bt=v(this.bt,e.pt,t)}},{key:`isPendingUnobservation`,get:function(){return _(this.bt,e.yt)},set:function(t){this.bt=v(this.bt,e.yt,t)}},{key:`diffValue`,get:function(){return+!!_(this.bt,e.wt)},set:function(t){this.bt=v(this.bt,e.wt,t===1)}}])}();In.It=1,In.Lt=2,In.pt=4,In.yt=8,In.wt=16;var L,Ln,R=f(`ComputedValue`,In);(function(e){e[e.P=-1]=`NOT_TRACKING_`,e[e.L=0]=`UP_TO_DATE_`,e[e.B=1]=`POSSIBLY_STALE_`,e[e.K=2]=`STALE_`})(L||={}),function(e){e[e.NONE=0]=`NONE`,e[e.LOG=1]=`LOG`,e[e.BREAK=2]=`BREAK`}(Ln||={});var Rn=function(e){this.cause=void 0,this.cause=e},zn=[`mobxGuid`,`spyListeners`,`enforceActions`,`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`allowStateReads`,`disableErrorBoundaries`,`runId`,`UNCHANGED`,`useProxies`],Bn=function(){this.version=6,this.UNCHANGED={},this.trackingDerivation=null,this.trackingContext=null,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!1,this.allowStateReads=!0,this.enforceActions=!0,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.reactionRequiresObservable=!1,this.observableRequiresReaction=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1,this.useProxies=!0,this.verifyProxies=!1,this.safeDescriptors=!0},Vn=!0,Hn=!1,z=function(){var e=n();return e.__mobxInstanceCount>0&&!e.__mobxGlobals&&(Vn=!1),e.__mobxGlobals&&e.__mobxGlobals.version!==new Bn().version&&(Vn=!1),Vn?e.__mobxGlobals?(e.__mobxInstanceCount+=1,e.__mobxGlobals.UNCHANGED||(e.__mobxGlobals.UNCHANGED={}),e.__mobxGlobals):(e.__mobxInstanceCount=1,e.__mobxGlobals=new Bn):(setTimeout((function(){Hn||t(35)}),1),new Bn)}(),Un=function(){function e(e,t,n,r){e===void 0&&(e=`Reaction`),this.tt=void 0,this.Pt=void 0,this.Kt=void 0,this.Bt=void 0,this.D=[],this.W=[],this.I=L.P,this.q=0,this.G=0,this.bt=0,this.Mt=Ln.NONE,this.tt=e,this.Pt=t,this.Kt=n,this.Bt=r}var t=e.prototype;return t.H=function(){this.Y()},t.Y=function(){this.isScheduled||(this.isScheduled=!0,z.pendingReactions.push(this),rt())},t.J=function(){if(!this.isDisposed){$e(),this.isScheduled=!1;var e=z.trackingContext;if(z.trackingContext=this,Ve(this)){this.isTrackPending=!0;try{this.Pt()}catch(e){this.Dt(e)}}z.trackingContext=e,et()}},t.track=function(e){if(!this.isDisposed){$e(),this.isRunning=!0;var t=z.trackingContext;z.trackingContext=this;var n=He(this,e,void 0);z.trackingContext=t,this.isRunning=!1,this.isTrackPending=!1,this.isDisposed&&Ue(this),Be(n)&&this.Dt(n.cause),et()}},t.Dt=function(e){var t=this;if(this.Kt)this.Kt(e,this);else{if(z.disableErrorBoundaries)throw e;z.suppressReactionErrors||console.error(`[mobx] uncaught error in '`+this+`'`,e),z.globalReactionErrorHandlers.forEach((function(n){return n(e,t)}))}},t.dispose=function(){this.isDisposed||(this.isDisposed=!0,this.isRunning||($e(),Ue(this),et()))},t.Z=function(e){var t=this,n=function n(){t.dispose(),e==null||e.removeEventListener==null||e.removeEventListener(`abort`,n)};return e==null||e.addEventListener==null||e.addEventListener(`abort`,n),n[F]=this,`dispose`in Symbol&&typeof Symbol.dispose==`symbol`&&(n[Symbol.dispose]=n),n},t.toString=function(){return`Reaction[`+this.tt+`]`},t.trace=function(){},S(e,[{key:`isDisposed`,get:function(){return _(this.bt,e.Wt)},set:function(t){this.bt=v(this.bt,e.Wt,t)}},{key:`isScheduled`,get:function(){return _(this.bt,e.qt)},set:function(t){this.bt=v(this.bt,e.qt,t)}},{key:`isTrackPending`,get:function(){return _(this.bt,e.Gt)},set:function(t){this.bt=v(this.bt,e.Gt,t)}},{key:`isRunning`,get:function(){return _(this.bt,e.Ht)},set:function(t){this.bt=v(this.bt,e.Ht,t)}},{key:`diffValue`,get:function(){return+!!_(this.bt,e.wt)},set:function(t){this.bt=v(this.bt,e.wt,t===1)}}])}();Un.Wt=1,Un.qt=2,Un.Gt=4,Un.Ht=8,Un.wt=16;var Wn=function(e){return e()},Gn=f(`Reaction`,Un),Kn=ue(`action`),qn=ue(`action.bound`,{bound:!0}),Jn=ue(`autoAction`,{autoAction:!0}),Yn=ue(`autoAction.bound`,{autoAction:!0,bound:!0}),Xn=ot(!1);Object.assign(Xn,Kn);var Zn=ot(!0);Object.assign(Zn,Jn),Xn.bound=E(qn),Zn.bound=E(Yn);var Qn=function(e){return e()},$n=0,er=function(e){function t(){var n;return n=e.call(this,`FLOW_CANCELLED`)||this,Object.setPrototypeOf(n,(this instanceof t?this.constructor:void 0).prototype),n.name=`FlowCancellationError`,n}return ne(t,e),t.prototype.toString=function(){return`Error: `+this.message},t}(T(Error)),tr=he(`flow`),nr=he(`flow.bound`,{bound:!0}),rr=Object.assign((function(e,t){if(oe(t))return tr.t(e,t);if(o(t))return ae(e,t,tr);var n=e,r=n.name||`<unnamed flow>`,i=function(){var e,t=this,i=arguments,o=++$n,s=Xn(r+` - runid: `+o+` - init`,n).apply(t,i),c=void 0,l=new Promise((function(t,n){function i(e){var t;c=void 0;try{t=Xn(r+` - runid: `+o+` - yield `+ d++,s.next).call(s,e)}catch(e){return n(e)}u(t)}function l(e){var t;c=void 0;try{t=Xn(r+` - runid: `+o+` - yield `+ d++,s.throw).call(s,e)}catch(e){return n(e)}u(t)}function u(e){if(!a(e?.then))return e.done?t(e.value):(c=Promise.resolve(e.value)).then(i,l);e.then(u,n)}var d=0;e=n,i(void 0)}));return l.cancel=Xn(r+` - runid: `+o+` - cancel`,(function(){try{c&&_t(c);var t=s.return(void 0),n=Promise.resolve(t.value);n.then(un,un),_t(n),e(new er)}catch(t){e(t)}})),l};return i.isMobXFlow=!0,i}),tr);rr.bound=E(nr);var ir={has:function(e,t){return kt(e).it(t)},get:function(e,t){return kt(e).ct(t)},set:function(e,t,n){var r;return!!o(t)&&((r=kt(e).ht(t,n,!0))==null||r)},deleteProperty:function(e,t){var n;return!!o(t)&&((n=kt(e).Ut(t,!0))==null||n)},defineProperty:function(e,t,n){var r;return(r=kt(e).l(t,n))==null||r},ownKeys:function(e){return kt(e).rt()},preventExtensions:function(){t(13)}},ar=Symbol(`mobx-keys`),or=`update`,sr={get:function(e,t){var n=e[F];return t===F?n:t===`length`?n.Ft():typeof t!=`string`||isNaN(t)?g(lr,t)?lr[t]:e[t]:n.ct(parseInt(t))},set:function(e,t,n){var r=e[F];return t===`length`&&r.Xt(n),typeof t==`symbol`||isNaN(t)?e[t]=n:r.ht(parseInt(t),n),!0},preventExtensions:function(){t(15)}},cr=function(){function e(e,t,n,r){e===void 0&&(e=`ObservableArray`),this.zt=void 0,this.$t=void 0,this.st=void 0,this.j=[],this.et=void 0,this.ut=void 0,this.Jt=void 0,this.dehancer=void 0,this.v=void 0,this.Yt=0,this.zt=n,this.$t=r,this.st=new hn(e),this.Jt=function(e,n){return t(e,n,`ObservableArray[..]`)}}var n=e.prototype;return n.Qt=function(e){return this.dehancer===void 0?e:this.dehancer(e)},n.ft=function(e){return this.dehancer!==void 0&&e.length>0?e.map(this.dehancer):e},n.St=function(e){return jt(this,e)},n._t=function(e,t){return t===void 0&&(t=!1),t&&e({observableKind:`array`,object:this.v,debugObjectName:this.st.tt,type:`splice`,index:0,added:this.j.slice(),addedCount:this.j.length,removed:[],removedCount:0}),Pt(this,e)},n.Ft=function(){return this.st.reportObserved(),this.j.length},n.Xt=function(e){(typeof e!=`number`||isNaN(e)||e<0)&&t(`Out of range: `+e);var n=this.j.length;if(e!==n)if(e>n){for(var r=Array(e-n),i=0;i<e-n;i++)r[i]=void 0;this.ot(n,0,r)}else this.ot(e,n-e)},n.Zt=function(e,n){e!==this.Yt&&t(16),this.Yt+=n,this.$t&&n>0&&qt(e+n+1)},n.ot=function(e,t,n){var r=this,i=this.j.length;if(e===void 0?e=0:e>i?e=i:e<0&&(e=Math.max(0,i+e)),t=arguments.length===1?i-e:t==null?0:Math.max(0,Math.min(t,i-e)),n===void 0&&(n=sn),At(this)){var a=Mt(this,{object:this.v,type:`splice`,index:e,removedCount:t,added:n});if(!a)return sn;t=a.removedCount,n=a.added}if(n=n.length===0?n:n.map((function(e){return r.Jt(e,void 0)})),this.$t){var o=n.length-t;this.Zt(i,o)}var s=this.tn(e,t,n);return t===0&&n.length===0||this.nn(e,n,s),this.ft(s)},n.tn=function(e,t,n){var r;if(n.length<1e4)return(r=this.j).splice.apply(r,[e,t].concat(n));var i=this.j.slice(e,e+t),a=this.j.slice(e+t);this.j.length+=n.length-t;for(var o=0;o<n.length;o++)this.j[e+o]=n[o];for(var s=0;s<a.length;s++)this.j[e+n.length+s]=a[s];return i},n.in=function(e,t,n){var r=!this.zt&&!1,i=Nt(this),a=i||r?{observableKind:`array`,object:this.v,type:or,debugObjectName:this.st.tt,index:e,newValue:t,oldValue:n}:null;this.st.reportChanged(),i&&Ft(this,a)},n.nn=function(e,t,n){var r=!this.zt&&!1,i=Nt(this),a=i||r?{observableKind:`array`,object:this.v,debugObjectName:this.st.tt,type:`splice`,index:e,removed:n,added:t,removedCount:n.length,addedCount:t.length}:null;this.st.reportChanged(),i&&Ft(this,a)},n.ct=function(e){if(!(this.$t&&e>=this.j.length))return this.st.reportObserved(),this.Qt(this.j[e]);console.warn(`[mobx] Out of bounds read: `+e)},n.ht=function(e,n){var r=this.j;if(this.$t&&e>r.length&&t(17,e,r.length),e<r.length){var i=r[e];if(At(this)){var a=Mt(this,{type:or,object:this.v,index:e,newValue:n});if(!a)return;n=a.newValue}(n=this.Jt(n,i))!==i&&(r[e]=n,this.in(e,n,i))}else{for(var o=Array(e+1-r.length),s=0;s<o.length-1;s++)o[s]=void 0;o[o.length-1]=n,this.ot(r.length,0,o)}},e}(),lr={clear:function(){return this.splice(0)},replace:function(e){var t=this[F];return t.ot(0,t.j.length,e)},toJSON:function(){return this.slice()},splice:function(e,t){var n=[...arguments].slice(2),r=this[F];switch(arguments.length){case 0:return[];case 1:return r.ot(e);case 2:return r.ot(e,t)}return r.ot(e,t,n)},spliceWithArray:function(e,t,n){return this[F].ot(e,t,n)},push:function(){for(var e=this[F],t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return e.ot(e.j.length,0,n),e.j.length},pop:function(){return this.splice(Math.max(this[F].j.length-1,0),1)[0]},shift:function(){return this.splice(0,1)[0]},unshift:function(){for(var e=this[F],t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return e.ot(0,0,n),e.j.length},reverse:function(){return z.trackingDerivation&&t(37,`reverse`),this.replace(this.slice().reverse()),this},sort:function(){z.trackingDerivation&&t(37,`sort`);var e=this.slice();return e.sort.apply(e,arguments),this.replace(e),this},remove:function(e){var t=this[F],n=t.ft(t.j).indexOf(e);return n>-1&&(this.splice(n,1),!0)}};k(`at`,Lt),k(`concat`,Lt),k(`flat`,Lt),k(`includes`,Lt),k(`indexOf`,Lt),k(`join`,Lt),k(`lastIndexOf`,Lt),k(`slice`,Lt),k(`toString`,Lt),k(`toLocaleString`,Lt),k(`toSorted`,Lt),k(`toSpliced`,Lt),k(`with`,Lt),k(`every`,A),k(`filter`,A),k(`find`,A),k(`findIndex`,A),k(`findLast`,A),k(`findLastIndex`,A),k(`flatMap`,A),k(`forEach`,A),k(`map`,A),k(`some`,A),k(`toReversed`,A),k(`reduce`,Rt),k(`reduceRight`,Rt);var ur,dr,fr=f(`ObservableArrayAdministration`,cr),pr={},mr=`add`,hr=function(){function e(e,n,r){var i=this;n===void 0&&(n=ce),r===void 0&&(r=`ObservableMap`),this.Jt=void 0,this.tt=void 0,this[F]=pr,this.vt=void 0,this.dt=void 0,this.lt=void 0,this.et=void 0,this.ut=void 0,this.dehancer=void 0,this.Jt=n,this.tt=r,a(Map)||t(18),Qt((function(){i.lt=se(`ObservableMap.keys()`),i.vt=new Map,i.dt=new Map,e&&i.merge(e)}))}var n=e.prototype;return n.it=function(e){return this.vt.has(e)},n.has=function(e){var t=this;if(!z.trackingDerivation)return this.it(e);var n=this.dt.get(e);if(!n){var r=n=new Pn(this.it(e),le,`ObservableMap.key?`,!1);this.dt.set(e,r),ft(r,(function(){return t.dt.delete(e)}))}return n.get()},n.set=function(e,t){var n=this.it(e);if(At(this)){var r=Mt(this,{type:n?or:mr,object:this,newValue:t,name:e});if(!r)return this;t=r.newValue}return n?this.rn(e,t):this.en(e,t),this},n.delete=function(e){var t=this;if(At(this)&&!Mt(this,{type:`delete`,object:this,name:e}))return!1;if(this.it(e)){var n=Nt(this),r=n?{observableKind:`map`,debugObjectName:this.tt,type:`delete`,object:this,oldValue:this.vt.get(e).Ot,name:e}:null;return Et((function(){var n;t.lt.reportChanged(),(n=t.dt.get(e))==null||n.gt(!1),t.vt.get(e).gt(void 0),t.vt.delete(e)})),n&&Ft(this,r),!0}return!1},n.rn=function(e,t){var n=this.vt.get(e);if((t=n.xt(t))!==z.UNCHANGED){var r=Nt(this),i=r?{observableKind:`map`,debugObjectName:this.tt,type:or,object:this,oldValue:n.Ot,name:e,newValue:t}:null;n.gt(t),r&&Ft(this,i)}},n.en=function(e,t){var n=this;Et((function(){var r,i=new Pn(t,n.Jt,`ObservableMap.key`,!1);n.vt.set(e,i),t=i.Ot,(r=n.dt.get(e))==null||r.gt(!0),n.lt.reportChanged()}));var r=Nt(this);r&&Ft(this,r?{observableKind:`map`,debugObjectName:this.tt,type:mr,object:this,name:e,newValue:t}:null)},n.get=function(e){return this.has(e)?this.Qt(this.vt.get(e).get()):this.Qt(void 0)},n.Qt=function(e){return this.dehancer===void 0?e:this.dehancer(e)},n.keys=function(){return this.lt.reportObserved(),this.vt.keys()},n.values=function(){var e=this,t=this.keys();return Bt({next:function(){var n=t.next(),r=n.done;return{done:r,value:r?void 0:e.get(n.value)}}})},n.entries=function(){var e=this,t=this.keys();return Bt({next:function(){var n=t.next(),r=n.done,i=n.value;return{done:r,value:r?void 0:[i,e.get(i)]}}})},n[Symbol.iterator]=function(){return this.entries()},n.forEach=function(e,t){for(var n,r=C(this);!(n=r()).done;){var i=n.value;e.call(t,i[1],i[0],this)}},n.merge=function(e){var n=this;return gr(e)&&(e=new Map(e)),Et((function(){var r,i;c(e)?function(e){var t=Object.keys(e);if(!dn)return t;var n=Object.getOwnPropertySymbols(e);return n.length?[].concat(t,n.filter((function(t){return on.propertyIsEnumerable.call(e,t)}))):t}(e).forEach((function(t){return n.set(t,e[t])})):Array.isArray(e)?e.forEach((function(e){return n.set(e[0],e[1])})):p(e)?(r=Object.getPrototypeOf(e),i=Object.getPrototypeOf(r),Object.getPrototypeOf(i)!==null&&t(19,e),e.forEach((function(e,t){return n.set(t,e)}))):e!=null&&t(20,e)})),this},n.clear=function(){var e=this;Et((function(){We((function(){for(var t,n=C(e.keys());!(t=n()).done;)e.delete(t.value)}))}))},n.replace=function(e){var n=this;return Et((function(){for(var r,i=function(e){if(p(e)||gr(e))return e;if(Array.isArray(e))return new Map(e);if(c(e)){var n=new Map;for(var r in e)n.set(r,e[r]);return n}return t(21,e)}(e),a=new Map,o=!1,s=C(n.vt.keys());!(r=s()).done;){var l=r.value;if(!i.has(l))if(n.delete(l))o=!0;else{var u=n.vt.get(l);a.set(l,u)}}for(var d,f=C(i.entries());!(d=f()).done;){var m=d.value,h=m[0],g=m[1],_=n.vt.has(h);if(n.set(h,g),n.vt.has(h)){var v=n.vt.get(h);a.set(h,v),_||(o=!0)}}if(!o)if(n.vt.size!==a.size)n.lt.reportChanged();else for(var y=n.vt.keys(),b=a.keys(),x=y.next(),S=b.next();!x.done;){if(x.value!==S.value){n.lt.reportChanged();break}x=y.next(),S=b.next()}n.vt=a})),this},n.toString=function(){return`[object ObservableMap]`},n.toJSON=function(){return Array.from(this)},n._t=function(e){return Pt(this,e)},n.St=function(e){return jt(this,e)},S(e,[{key:`size`,get:function(){return this.lt.reportObserved(),this.vt.size}},{key:Symbol.toStringTag,get:function(){return`Map`}}])}(),gr=f(`ObservableMap`,hr),_r={},vr=function(){function e(e,n,r){var i=this;n===void 0&&(n=ce),r===void 0&&(r=`ObservableSet`),this.tt=void 0,this[F]=_r,this.vt=new Set,this.st=void 0,this.ut=void 0,this.et=void 0,this.dehancer=void 0,this.Jt=void 0,this.tt=r,a(Set)||t(22),this.Jt=function(e,t){return n(e,t,r)},Qt((function(){i.st=se(i.tt),e&&i.replace(e)}))}var n=e.prototype;return n.Qt=function(e){return this.dehancer===void 0?e:this.dehancer(e)},n.clear=function(){var e=this;Et((function(){We((function(){for(var t,n=C(e.vt.values());!(t=n()).done;)e.delete(t.value)}))}))},n.forEach=function(e,t){for(var n,r=C(this);!(n=r()).done;){var i=n.value;e.call(t,i,i,this)}},n.add=function(e){var t=this;if(At(this)){var n=Mt(this,{type:mr,object:this,newValue:e});if(!n)return this;e=n.newValue}if(!this.has(e)){Et((function(){t.vt.add(t.Jt(e,void 0)),t.st.reportChanged()}));var r=Nt(this);r&&Ft(this,r?{observableKind:`set`,debugObjectName:this.tt,type:mr,object:this,newValue:e}:null)}return this},n.delete=function(e){var t=this;if(At(this)&&!Mt(this,{type:`delete`,object:this,oldValue:e}))return!1;if(this.has(e)){var n=Nt(this),r=n?{observableKind:`set`,debugObjectName:this.tt,type:`delete`,object:this,oldValue:e}:null;return Et((function(){t.st.reportChanged(),t.vt.delete(e)})),n&&Ft(this,r),!0}return!1},n.has=function(e){return this.st.reportObserved(),this.vt.has(this.Qt(e))},n.entries=function(){var e=this.values();return Vt({next:function(){var t=e.next(),n=t.value,r=t.done;return r?{value:void 0,done:r}:{value:[n,n],done:r}}})},n.keys=function(){return this.values()},n.values=function(){this.st.reportObserved();var e=this,t=this.vt.values();return Vt({next:function(){var n=t.next(),r=n.done;return r?{value:void 0,done:r}:{value:e.Qt(n.value),done:r}}})},n.intersection=function(e){return m(e)&&!yr(e)?e.intersection(this):new Set(this).intersection(e)},n.union=function(e){return m(e)&&!yr(e)?e.union(this):new Set(this).union(e)},n.difference=function(e){return new Set(this).difference(e)},n.symmetricDifference=function(e){return m(e)&&!yr(e)?e.symmetricDifference(this):new Set(this).symmetricDifference(e)},n.isSubsetOf=function(e){return new Set(this).isSubsetOf(e)},n.isSupersetOf=function(e){return new Set(this).isSupersetOf(e)},n.isDisjointFrom=function(e){return m(e)&&!yr(e)?e.isDisjointFrom(this):new Set(this).isDisjointFrom(e)},n.replace=function(e){var n=this;return yr(e)&&(e=new Set(e)),Et((function(){Array.isArray(e)||m(e)?(n.clear(),e.forEach((function(e){return n.add(e)}))):e!=null&&t(`Cannot initialize set from `+e)})),this},n._t=function(e){return Pt(this,e)},n.St=function(e){return jt(this,e)},n.toJSON=function(){return Array.from(this)},n.toString=function(){return`[object ObservableSet]`},n[Symbol.iterator]=function(){return this.values()},S(e,[{key:`size`,get:function(){return this.st.reportObserved(),this.vt.size}},{key:Symbol.toStringTag,get:function(){return`Set`}}])}(),yr=f(`ObservableSet`,vr),br=Object.create(null),xr=function(){function e(e,t,n,r){t===void 0&&(t=new Map),r===void 0&&(r=yn),this.h=void 0,this.j=void 0,this.tt=void 0,this.un=void 0,this.lt=void 0,this.ut=void 0,this.et=void 0,this.v=void 0,this.p=void 0,this.on=void 0,this.sn=void 0,this.h=e,this.j=t,this.tt=n,this.un=r,this.lt=new hn(`ObservableObject.keys`),this.p=c(this.h)}var n=e.prototype;return n.O=function(e){return this.j.get(e).get()},n.S=function(e,t){var n=this.j.get(e);if(n instanceof In)return n.set(t),!0;if(At(this)){var r=Mt(this,{type:or,object:this.v||this.h,name:e,newValue:t});if(!r)return null;t=r.newValue}if((t=n.xt(t))!==z.UNCHANGED){var i=Nt(this),a=i?{type:or,observableKind:`object`,debugObjectName:this.tt,object:this.v||this.h,oldValue:n.Ot,name:e,newValue:t}:null;n.gt(t),i&&Ft(this,a)}return!0},n.ct=function(e){return z.trackingDerivation&&!g(this.h,e)&&this.it(e),this.h[e]},n.ht=function(e,t,n){return n===void 0&&(n=!1),g(this.h,e)?this.j.has(e)?this.S(e,t):n?Reflect.set(this.h,e,t):(this.h[e]=t,!0):this.s(e,{value:t,enumerable:!0,writable:!0,configurable:!0},this.un,n)},n.it=function(e){if(!z.trackingDerivation)return e in this.h;this.sn||=new Map;var t=this.sn.get(e);return t||(t=new Pn(e in this.h,le,`ObservableObject.key?`,!1),this.sn.set(e,t)),t.get()},n.o=function(e,n){if(!0===n&&(n=this.un),!1!==n){if(!(e in this.h)){var r;if((r=this.h[mn])!=null&&r[e])return;t(1,n.i,this.tt+`.`+e.toString())}for(var i=this.h;i&&i!==on;){var a=rn(i,e);if(a){var o=n.o(this,e,a,i);if(o===0)return;if(o===1)break}i=Object.getPrototypeOf(i)}Gt(this,0,e)}},n.s=function(e,t,n,r){if(r===void 0&&(r=!1),!0===n&&(n=this.un),!1===n)return this.l(e,t,r);var i=n.s(this,e,t,r);return i&&Gt(this,0,e),i},n.l=function(e,t,n){n===void 0&&(n=!1);try{$e();var r=this.Ut(e);if(!r)return r;if(At(this)){var i=Mt(this,{object:this.v||this.h,name:e,type:mr,newValue:t.value});if(!i)return null;var a=i.newValue;t.value!==a&&(t=ee({},t,{value:a}))}if(n){if(!Reflect.defineProperty(this.h,e,t))return!1}else an(this.h,e,t);this.fn(e,t.value)}finally{et()}return!0},n.g=function(e,t,n,r){r===void 0&&(r=!1);try{$e();var i=this.Ut(e);if(!i)return i;if(At(this)){var a=Mt(this,{object:this.v||this.h,name:e,type:mr,newValue:t});if(!a)return null;t=a.newValue}var o=Ut(e),s={configurable:!z.safeDescriptors||this.p,enumerable:!0,get:o.get,set:o.set};if(r){if(!Reflect.defineProperty(this.h,e,s))return!1}else an(this.h,e,s);var c=new Pn(t,n,`ObservableObject.key`,!1);this.j.set(e,c),this.fn(e,c.Ot)}finally{et()}return!0},n.m=function(e,t,n){n===void 0&&(n=!1);try{$e();var r=this.Ut(e);if(!r)return r;if(At(this)&&!Mt(this,{object:this.v||this.h,name:e,type:mr,newValue:void 0}))return null;t.name||=`ObservableObject.key`,t.context=this.v||this.h;var i=Ut(e),a={configurable:!z.safeDescriptors||this.p,enumerable:!1,get:i.get,set:i.set};if(n){if(!Reflect.defineProperty(this.h,e,a))return!1}else an(this.h,e,a);this.j.set(e,new In(t)),this.fn(e,void 0)}finally{et()}return!0},n.Ut=function(e,t){if(t===void 0&&(t=!1),!g(this.h,e))return!0;if(At(this)&&!Mt(this,{object:this.v||this.h,name:e,type:`remove`}))return null;try{var n;$e();var r=Nt(this),i=this.j.get(e),a=void 0;if(!i&&r&&(a=rn(this.h,e)?.value),t){if(!Reflect.deleteProperty(this.h,e))return!1}else delete this.h[e];i&&(this.j.delete(e),i instanceof Pn&&(a=i.Ot),nt(i)),this.lt.reportChanged(),(n=this.sn)==null||(n=n.get(e))==null||n.set(e in this.h),r&&r&&Ft(this,{type:`remove`,observableKind:`object`,object:this.v||this.h,debugObjectName:this.tt,oldValue:a,name:e})}finally{et()}return!0},n._t=function(e){return Pt(this,e)},n.St=function(e){return jt(this,e)},n.fn=function(e,t){var n,r=Nt(this);r&&r&&Ft(this,r?{type:mr,observableKind:`object`,debugObjectName:this.tt,object:this.v||this.h,name:e,newValue:t}:null),(n=this.sn)==null||(n=n.get(e))==null||n.set(!0),this.lt.reportChanged()},n.rt=function(){return this.lt.reportObserved(),fn(this.h)},n.nt=function(){return this.lt.reportObserved(),Object.keys(this.h)},e}(),B=f(`ObservableObjectAdministration`,xr),Sr=Kt(0),Cr=function(){var e=!1,t={};return Object.defineProperty(t,`0`,{set:function(){e=!0}}),Object.create(t)[0]=1,!1===e}(),wr=0,Tr=function(){};ur=Tr,dr=Array.prototype,Object.setPrototypeOf?Object.setPrototypeOf(ur.prototype,dr):ur.prototype.__proto__===void 0?ur.prototype=dr:ur.prototype.__proto__=dr;var Er=function(e){function t(t,n,r,i){var a;return r===void 0&&(r=`ObservableArray`),i===void 0&&(i=!1),a=e.call(this)||this,Qt((function(){var e=new cr(r,n,i,!0);e.v=a,d(a,F,e),t&&t.length&&a.spliceWithArray(0,0,t),Cr&&Object.defineProperty(a,`0`,Sr)})),a}ne(t,e);var n=t.prototype;return n.concat=function(){this[F].st.reportObserved();var e=[...arguments];return Array.prototype.concat.apply(this.slice(),e.map((function(e){return zt(e)?e.slice():e})))},n[Symbol.iterator]=function(){var e=this,t=0;return en({next:function(){return t<e.length?{value:e[t++],done:!1}:{done:!0,value:void 0}}})},S(t,[{key:`length`,get:function(){return this[F].Ft()},set:function(e){this[F].Xt(e)}},{key:Symbol.toStringTag,get:function(){return`Array`}}])}(Tr);Object.entries(lr).forEach((function(e){var t=e[0];t!==`concat`&&u(Er.prototype,t,e[1])})),qt(1e3);var Dr=on.toString,Or=n().Iterator?.prototype||{};[`Symbol`,`Map`,`Set`].forEach((function(e){n()[e]===void 0&&t(`MobX requires global '`+e+`' to be available or polyfilled`)})),typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__==`object`&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:at,extras:{getDebugName:Zt},$mobx:F}),e.$mobx=F,e.FlowCancellationError=er,e.ObservableMap=hr,e.ObservableSet=vr,e.Reaction=Un,e._allowStateChanges=Le,e._allowStateChangesInsideComputed=st,e._allowStateReadsEnd=Je,e._allowStateReadsStart=qe,e._autoAction=Zn,e._endAction=Ie,e._getAdministration=Xt,e._getGlobalState=function(){return z},e._interceptReads=function(e,t,n){var r;return gr(e)||zt(e)||Fn(e)?r=Xt(e):Wt(e)&&(r=Xt(e,t)),r.dehancer=typeof t==`function`?t:n,function(){r.dehancer=void 0}},e._isComputingDerivation=function(){return z.trackingDerivation!==null},e._resetGlobalState=function(){var e=new Bn;for(var t in e)zn.indexOf(t)===-1&&(z[t]=e[t]);z.allowStateChanges=!z.enforceActions},e._startAction=Fe,e.action=Xn,e.autorun=lt,e.comparer=_n,e.computed=kn,e.configure=function(e){!0===e.isolateGlobalState&&function(){if((z.pendingReactions.length||z.inBatch||z.isRunningReactions)&&t(36),Hn=!0,Vn){var e=n();--e.__mobxInstanceCount==0&&(e.__mobxGlobals=void 0),z=new Bn}}();var r,i,a=e.useProxies,o=e.enforceActions;if(a!==void 0&&(z.useProxies=a===`always`||a!==`never`&&typeof Proxy<`u`),a===`ifavailable`&&(z.verifyProxies=!0),o!==void 0){var s=o===`always`?`always`:o===`observed`;z.enforceActions=s,z.allowStateChanges=!0!==s&&s!==`always`}[`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`disableErrorBoundaries`,`safeDescriptors`].forEach((function(t){t in e&&(z[t]=!!e[t])})),z.allowStateReads=!z.observableRequiresReaction,e.reactionScheduler&&(r=e.reactionScheduler,i=Wn,Wn=function(e){return r((function(){return i(e)}))})},e.createAtom=se,e.defineProperty=function(e,n,r){if(Wt(e))return e[F].l(n,r);t(39)},e.entries=function(e){return Wt(e)?St(e).map((function(t){return[t,e[t]]})):gr(e)?St(e).map((function(t){return[t,e.get(t)]})):yr(e)?Array.from(e.entries()):zt(e)?e.map((function(e,t){return[t,e]})):void t(7)},e.extendObservable=mt,e.flow=rr,e.flowResult=function(e){return e},e.get=function(e,n){if(Ct(e,n))return Wt(e)?e[F].ct(n):gr(e)?e.get(n):zt(e)?e[n]:void t(11)},e.getAtom=Yt,e.getDebugName=Zt,e.getDependencyTree=function(e,t){return ht(Yt(e,t))},e.getObserverTree=function(e,t){return gt(Yt(e,t))},e.has=Ct,e.intercept=function(e,t,n){return a(n)?function(e,t,n){return Xt(e,t).St(n)}(e,t,n):function(e,t){return Xt(e).St(t)}(e,t)},e.isAction=ct,e.isBoxedObservable=Fn,e.isComputed=function(e){return yt(e)},e.isComputedProp=function(e,t){return yt(e,t)},e.isFlow=vt,e.isFlowCancellationError=function(e){return e instanceof er},e.isObservable=xt,e.isObservableArray=zt,e.isObservableMap=gr,e.isObservableObject=Wt,e.isObservableProp=function(e,t){return bt(e,t)},e.isObservableSet=yr,e.keys=St,e.makeAutoObservable=function(e,t,n){return c(e)?mt(e,e,t,n):(Qt((function(){var r=Ht(e,n)[F];if(!e[ar]){var i=Object.getPrototypeOf(e),a=new Set([].concat(fn(e),fn(i)));a.delete(`constructor`),a.delete(F),u(i,ar,a)}e[ar].forEach((function(e){return r.o(e,!t||!(e in t)||t[e])}))})),e)},e.makeObservable=function(e,t,n){return Qt((function(){var r=Ht(e,n)[F];t??=function(e){return g(e,mn)||u(e,mn,ee({},e[mn])),e[mn]}(e),fn(t).forEach((function(e){return r.o(e,t[e])}))})),e},e.observable=En,e.observe=function(e,t,n,r){return a(n)?function(e,t,n,r){return Xt(e,t)._t(n,r)}(e,t,n,r):function(e,t,n){return Xt(e)._t(t,n)}(e,t,n)},e.onBecomeObserved=dt,e.onBecomeUnobserved=ft,e.onReactionError=function(e){return z.globalReactionErrorHandlers.push(e),function(){var t=z.globalReactionErrorHandlers.indexOf(e);t>=0&&z.globalReactionErrorHandlers.splice(t,1)}},e.override=vn,e.ownKeys=wt,e.reaction=function(e,t,n){function r(){if(p=!1,!h.isDisposed){var t=!1,r=s;h.track((function(){var n=Le(!1,(function(){return e(h)}));t=f||!m(s,n),s=n})),(f&&n.fireImmediately||!f&&t)&&l(s,r,h),f=!1}}var i;n===void 0&&(n=cn);var a,o,s,c=n.name??`Reaction`,l=Xn(c,n.onError?(a=n.onError,o=t,function(){try{return o.apply(this,arguments)}catch(e){a.call(this,e)}}):t),u=!n.scheduler&&!n.delay,d=ut(n),f=!0,p=!1,m=n.compareStructural?_n.structural:n.equals||_n.default,h=new Un(c,(function(){f||u?r():p||(p=!0,d(r))}),n.onError,n.requiresObservable);return(i=n)!=null&&(i=i.signal)!=null&&i.aborted||h.Y(),h.Z(n?.signal)},e.remove=function(e,n){Wt(e)?e[F].Ut(n):gr(e)||yr(e)?e.delete(n):zt(e)?(typeof n!=`number`&&(n=parseInt(n,10)),e.splice(n,1)):t(9)},e.runInAction=st,e.set=function e(n,r,i){if(arguments.length!==2||yr(n))Wt(n)?n[F].ht(r,i):gr(n)?n.set(r,i):yr(n)?n.add(r):zt(n)?(typeof r!=`number`&&(r=parseInt(r,10)),r<0&&t(`Invalid index: '`+r+`'`),$e(),r>=n.length&&(n.length=r+1),n[r]=i,et()):t(8);else{$e();var a=r;try{for(var o in a)e(n,o,a[o])}finally{et()}}},e.spy=at,e.toJS=function(e){return function e(t,n){if(typeof t!=`object`||!t||t instanceof Date||!xt(t))return t;if(Fn(t)||R(t))return e(t.get(),n);if(n.has(t))return n.get(t);if(zt(t)){var r=Tt(n,t,Array(t.length));return t.forEach((function(t,i){r[i]=e(t,n)})),r}if(yr(t)){var i=Tt(n,t,new Set);return t.forEach((function(t){i.add(e(t,n))})),i}if(gr(t)){var a=Tt(n,t,new Map);return t.forEach((function(t,r){a.set(r,e(t,n))})),a}var o=Tt(n,t,{});return wt(t).forEach((function(r){on.propertyIsEnumerable.call(t,r)&&(o[r]=e(t[r],n))})),o}(e,new Map)},e.trace=function(){},e.transaction=Et,e.untracked=We,e.values=function(e){return Wt(e)?St(e).map((function(t){return e[t]})):gr(e)?St(e).map((function(t){return e.get(t)})):yr(e)?Array.from(e.values()):zt(e)?e.slice():void t(6)},e.when=function(e,t,n){return arguments.length===1||t&&typeof t==`object`?Ot(e,t):Dt(e,t,n||{})}})),b_=pe((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t={0:`Invalid value for configuration 'enforceActions', expected 'never', 'always' or 'observed'`,1:function(e,t){return`Cannot apply '`+e+`' to '`+t.toString()+`': Field not found.`},5:`'keys()' can only be used on observable objects, arrays, sets and maps`,6:`'values()' can only be used on observable objects, arrays, sets and maps`,7:`'entries()' can only be used on observable objects, arrays and maps`,8:`'set()' can only be used on observable objects, arrays and maps`,9:`'remove()' can only be used on observable objects, arrays and maps`,10:`'has()' can only be used on observable objects, arrays and maps`,11:`'get()' can only be used on observable objects, arrays and maps`,12:`Invalid annotation`,13:`Dynamic observable objects cannot be frozen. If you're passing observables to 3rd party component/function that calls Object.freeze, pass copy instead: toJS(observable)`,14:`Intercept handlers should return nothing or a change object`,15:`Observable arrays cannot be frozen. If you're passing observables to 3rd party component/function that calls Object.freeze, pass copy instead: toJS(observable)`,16:`Modification exception: the internal structure of an observable array was changed.`,17:function(e,t){return`[mobx.array] Index out of bounds, `+e+` is larger than `+t},18:`mobx.map requires Map polyfill for the current browser. Check babel-polyfill or core-js/es6/map.js`,19:function(e){return`Cannot initialize from classes that inherit from Map: `+e.constructor.name},20:function(e){return`Cannot initialize map from `+e},21:function(e){return`Cannot convert to map from '`+e+`'`},22:`mobx.set requires Set polyfill for the current browser. Check babel-polyfill or core-js/es6/set.js`,23:`It is not possible to get index atoms from arrays`,24:function(e){return`Cannot obtain administration from `+e},25:function(e,t){return`the entry '`+e+`' does not exist in the observable map '`+t+`'`},26:`please specify a property`,27:function(e,t){return`no observable property '`+e.toString()+`' found on the observable object '`+t+`'`},28:function(e){return`Cannot obtain atom from `+e},29:`Expecting some object`,30:`invalid action stack. did you forget to finish an action?`,31:`missing option for computed: get`,32:function(e,t){return`Cycle detected in computation `+e+`: `+t},33:function(e){return`The setter of computed value '`+e+`' is trying to update itself. Did you intend to update an _observable_ value, instead of the computed property?`},34:function(e){return`[ComputedValue '`+e+`'] It is not possible to assign a new value to a computed value.`},35:"There are multiple, different versions of MobX active. Make sure MobX is loaded only once or use `configure({ isolateGlobalState: true })`",36:`isolateGlobalState should be called before MobX is running any reactions`,37:function(e){return"[mobx] `observableArray."+e+"()` mutates the array in-place, which is not allowed inside a derivation. Use `array.slice()."+e+"()` instead"},38:`'ownKeys()' can only be used on observable objects`,39:`'defineProperty()' can only be used on observable objects`};function n(e){var n=[...arguments].slice(1),r=typeof e==`string`?e:t[e];throw typeof r==`function`&&(r=r.apply(null,n)),Error(`[MobX] `+r)}var r={};function i(){return typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:r}var a=Object.assign,o=Object.getOwnPropertyDescriptor,s=Object.defineProperty,c=Object.prototype,l=[];Object.freeze(l);var u={};Object.freeze(u);var d=typeof Proxy<`u`,f=Object.toString();function p(){d||n("`Proxy` objects are not available in the current environment. Please configure MobX to enable a fallback implementation.`")}function m(e){I.verifyProxies&&n(`MobX is currently configured to be able to run in ES5 mode, but in ES5 MobX won't be able to `+e)}function h(){return++I.mobxGuid}function g(e){var t=!1;return function(){if(!t)return t=!0,e.apply(this,arguments)}}var _=function(){};function v(e){return typeof e==`function`}function y(e){switch(typeof e){case`string`:case`symbol`:case`number`:return!0}return!1}function b(e){return typeof e==`object`&&!!e}function x(e){if(!b(e))return!1;var t=Object.getPrototypeOf(e);if(t==null)return!0;var n=Object.hasOwnProperty.call(t,`constructor`)&&t.constructor;return typeof n==`function`&&n.toString()===f}function S(e){var t=e?.constructor;return t?t.name===`GeneratorFunction`||t.displayName===`GeneratorFunction`:!1}function C(e,t,n){s(e,t,{enumerable:!1,writable:!0,configurable:!0,value:n})}function ee(e,t,n){s(e,t,{enumerable:!1,writable:!1,configurable:!0,value:n})}function te(e,t){var n=`isMobX`+e;return t.prototype[n]=!0,function(e){return b(e)&&e[n]===!0}}function ne(e){return e!=null&&Object.prototype.toString.call(e)===`[object Map]`}function re(e){return Object.getPrototypeOf(Object.getPrototypeOf(Object.getPrototypeOf(e)))===null}function w(e){return e!=null&&Object.prototype.toString.call(e)===`[object Set]`}var ie=Object.getOwnPropertySymbols!==void 0;function T(e){var t=Object.keys(e);if(!ie)return t;var n=Object.getOwnPropertySymbols(e);return n.length?[].concat(t,n.filter(function(t){return c.propertyIsEnumerable.call(e,t)})):t}var E=typeof Reflect<`u`&&Reflect.ownKeys?Reflect.ownKeys:ie?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames;function ae(e){return typeof e==`string`?e:typeof e==`symbol`?e.toString():new String(e).toString()}function oe(e){return e===null?null:typeof e==`object`?``+e:e}function se(e,t){return c.hasOwnProperty.call(e,t)}var ce=Object.getOwnPropertyDescriptors||function(e){var t={};return E(e).forEach(function(n){t[n]=o(e,n)}),t};function le(e,t){return!!(e&t)}function ue(e,t,n){return n?e|=t:e&=~t,e}function de(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function fe(e,t,n){if(ye())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,t);var i=new(e.bind.apply(e,r));return n&&be(i,n.prototype),i}function pe(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,Se(r.key),r)}}function me(e,t,n){return t&&pe(e.prototype,t),n&&pe(e,n),Object.defineProperty(e,`prototype`,{writable:!1}),e}function he(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=Ce(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
57
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function
|
|
52
|
+
`)}function Wh(e){let t=new TextEncoder;return e.split(/\s+/).filter(e=>e.length>0).map(e=>String.fromCharCode(...t.encode(e).slice(0,1))).join(``)}function Gh(e,t){let n=[];for(let e of t){if(typeof e==`object`&&e)throw Fm(`join`,2,`list of strings/primitives`,`list element of type ${Kh(e)}`);n.push(String(e))}return n.join(e)}function Kh(e){return Array.isArray(e)?`array`:e instanceof Map?`Map`:e instanceof Set?`Set`:`object`}function qh(e){return Ih(e,`-`)}function Jh(e){return e.toLowerCase()}function Yh(e,t){return`\n${Uh(e,t)}`}function Xh(e){return e.replace(/\s+/g,``)}function Zh(e,t,n){return n===1?e:t}function Qh(...e){return e.map(e=>`"${e}"`).join(` `)}function $h(e){return e.replace(/[\\.+*?()|[\]{}^$]/g,`\\$&`)}function eg(e,t){return t.repeat(Math.max(0,e))}function tg(e,t,n){return n.split(e).join(t)}function ng(e){return Ih(e,`_`)}function rg(e,t){let n=t.split(e),r={};for(let e=0;e<n.length;e++)r[`_${e}`]=n[e];return r}function ig(e,t){return t.split(e)}function ag(e,t,n){let r=og(n,e,t),i={};for(let e=0;e<r.length;e++)i[`_${e}`]=r[e]??``;return i}function og(e,t,n){if(n===0)return[];let r=t===``?Array.from(e):e.split(t);if(n<0||r.length<=n)return r;let i=r.slice(0,n-1),a=r.slice(n-1).join(t);return[...i,a]}function sg(...e){return e.map(e=>`'${e}'`).join(` `)}function cg(e,t,n){let r=t<0||t>n.length?n.length:t,i=Math.min(Math.max(0,e),r);return n.slice(i,r)}function lg(e){let t=``;for(let n of e)ug(n)?t+=n.toLowerCase():dg(n)?t+=n.toUpperCase():t+=n;return t}function ug(e){return e!==e.toLowerCase()&&e===e.toUpperCase()}function dg(e){return e!==e.toUpperCase()&&e===e.toLowerCase()}function fg(e){return e.replace(/\b([a-zA-Z])/g,e=>e.toUpperCase())}function pg(e){return e.trim()}function mg(e,t){if(e.length===0)return t;let n=new Set([...e]),r=0;for(;r<t.length&&n.has(t[r]);)r+=1;let i=t.length;for(;i>r&&n.has(t[i-1]);)--i;return t.slice(r,i)}function hg(e,t){return t.startsWith(e)?t.slice(e.length):t}function gg(e,t){return t.endsWith(e)?t.slice(0,t.length-e.length):t}function _g(e,t){if(e<0){let n=-e;return n>=t.length?t:t.slice(t.length-n)}return e>=t.length?t:t.slice(0,e)}function vg(e){return e.replace(/\b([A-Z])/g,e=>e.toLowerCase())}function yg(e){return e.toUpperCase()}function bg(e,t){return xg(e,`
|
|
53
|
+
`,t)}function xg(e,t,n){if(e<=0)return n;let r=[];for(let t of n.split(`
|
|
54
|
+
`)){let n=``;for(let i of t.split(/\s+/))i.length!==0&&(n.length===0?n=i:n.length+1+i.length<=e?n+=` ${i}`:(r.push(n),n=i));n.length>0&&r.push(n)}return r.join(t)}function Sg(e,t,n){return xg(e,t,n)}function Cg(){return{abbrev:{fn:(e,t)=>Sh(e,t),argTypes:[`int`,`string`]},abbrevboth:{fn:(e,t,n)=>Ch(e,t,n),argTypes:[`int`,`int`,`string`]},camelcase:{fn:e=>Rh(e),argTypes:[`string`],returnType:`string`},cat:{fn:(...e)=>zh(...e),argTypes:[`string`]},contains:{fn:(e,t)=>Bh(e,t),argTypes:[`string`,`string`]},hasPrefix:{fn:(e,t)=>Vh(e,t),argTypes:[`string`,`string`]},hasSuffix:{fn:(e,t)=>Hh(e,t),argTypes:[`string`,`string`]},indent:{fn:(e,t)=>Uh(e,t),argTypes:[`int`,`string`]},initials:{fn:e=>Wh(e),argTypes:[`string`]},join:{fn:(e,t)=>Gh(e,t),argTypes:[`string`,`list`]},kebabcase:{fn:e=>qh(e),argTypes:[`string`],returnType:`string`},lower:{fn:e=>Jh(e),argTypes:[`string`]},nindent:{fn:(e,t)=>Yh(e,t),argTypes:[`int`,`string`]},nospace:{fn:e=>Xh(e),argTypes:[`string`],returnType:`string`},plural:{fn:(e,t,n)=>Zh(e,t,n),argTypes:[`string`,`string`,`int`],returnType:`string`},quote:{fn:(...e)=>Qh(...e),argTypes:[`string`]},regexQuoteMeta:{fn:e=>$h(e),argTypes:[`string`],returnType:`string`},repeat:{fn:(e,t)=>eg(e,t),argTypes:[`int`,`string`]},replace:{fn:(e,t,n)=>tg(e,t,n),argTypes:[`string`,`string`,`string`]},snakecase:{fn:e=>ng(e),argTypes:[`string`],returnType:`string`},split:{fn:(e,t)=>rg(e,t),argTypes:[`string`,`string`]},splitList:{fn:(e,t)=>ig(e,t),argTypes:[`string`,`string`]},splitn:{fn:(e,t,n)=>ag(e,t,n),argTypes:[`string`,`int`,`string`],returnType:`dict`},squote:{fn:(...e)=>sg(...e),argTypes:[`string`]},substr:{fn:(e,t,n)=>cg(e,t,n),argTypes:[`int`,`int`,`string`]},swapcase:{fn:e=>lg(e),argTypes:[`string`],returnType:`string`},title:{fn:e=>fg(e),argTypes:[`string`]},trim:{fn:e=>pg(e),argTypes:[`string`]},trimAll:{fn:(e,t)=>mg(e,t),argTypes:[`string`,`string`]},trimPrefix:{fn:(e,t)=>hg(e,t),argTypes:[`string`,`string`]},trimSuffix:{fn:(e,t)=>gg(e,t),argTypes:[`string`,`string`]},trunc:{fn:(e,t)=>_g(e,t),argTypes:[`int`,`string`]},untitle:{fn:e=>vg(e),argTypes:[`string`]},upper:{fn:e=>yg(e),argTypes:[`string`]},wrap:{fn:(e,t)=>bg(e,t),argTypes:[`int`,`string`]},wrapWith:{fn:(e,t,n)=>Sg(e,t,n),argTypes:[`int`,`string`,`string`]}}}function wg(e){return e}function Tg(e,t,n){return n===void 0?Bl+Rl(e)+`.`+Rl(t):Eg(n)}function Eg(e){return Bl+Rl(e)}function Dg(e,t){return e+`.`+t}function Og(e){return e+`.page`}const kg=[`closeOnPick`,`paged`,`key`,`distribution`],Ag=e=>kg.includes(e),jg=`"closeOnPick" (bool, default false), "paged" (bool, default true), "key" (string, accordion grouping), "distribution" (one of ${Ri.map(e=>`"${e}"`).join(`, `)}; default "van-der-corput")`;function Mg(e){for(let t of Object.keys(e))if(!Ag(t))throw Error(`unknown {{ menu }} option "${t}" — the options dict takes ${jg}`);let t=(t,n)=>{let r=e[t];if(r===void 0)return n;if(typeof r!=`boolean`)throw Error(`{{ menu }} option "${t}" must be a boolean, got ${JSON.stringify(r)} (e.g. (dict "${t}" ${String(!n)}))`);return r},n=e.key;if(n!==void 0&&typeof n!=`string`)throw Error(`{{ menu }} option "key" must be a string naming the accordion group, got ${JSON.stringify(n)}`);if(n===``)throw Error(`{{ menu }} has an empty accordion key — a shared key must be a non-empty name (or omit "key" for an independent menu)`);let r=e.distribution;if(r!==void 0&&!zi(r))throw Error(`{{ menu }} option "distribution" must be one of: ${Ri.join(`, `)}; got ${JSON.stringify(r)}`);return{closeOnPick:t(`closeOnPick`,!1),paged:t(`paged`,!0),key:n,distribution:Vi(r)}}const Ng=`default`,Pg={};function Fg(e){return[...new Set([Ng,...Object.keys(e)])]}function Ig(e,t,n){return ka(void 0,e,t,Ng,n)}function Lg(e,t){let n={[Ng]:Pg,...e}[t];if(n===void 0)throw Error(`Preset "${t}" is not declared in this config — effectivePresetName collapses unknown names to "${Ng}", which always resolves; a miss here means a raw name reached this function without going through that resolution`);return n}function Rg(e,t){let n=Lg(e.presets,t).root??cc;return{node:fc(hc(n,e.root)),path:gc(n)?`presets.${t}.root`:`root`}}function zg(e,t){return{...e.globals,...Lg(e.presets,t).globals}}const Bg=`menu`,Vg=`a menu binds its trigger text the way a cycle action binds a display — write {{ menu "applyTheme" "▸" "▾" }} (one per state) or {{ menu "insertHere" "+" }} (one static display for both), with the rare knobs in ONE trailing dict: {{ menu "applyTheme" "▸" "▾" (dict "closeOnPick" true "paged" false "key" "pickers") }} (defaults: closeOnPick false, paged true, no key). The renderer no longer appends ▸/▾ of its own (candybar-settings-ui-aok.4), and the older positional tail ("pageAction" closeOnPick paged "key") was removed — the page cursor is synthesized from the menu's identity`,Hg=e=>e.kind===`call`&&e.name===`dict`,Ug=e=>e.kind===`literal`&&typeof e.value!=`object`,Wg=e=>Cc(``,e,2)===void 0;function Gg(e){let t=e=>({kind:`issue`,message:e}),[n,...r]=e.argExprs;if(n===void 0)return t(`with no arguments — it takes an apply-action name and its trigger text (e.g. {{ menu "applyTheme" "▸" "▾" }})`);if(n.kind!==`literal`||typeof n.value!=`string`)return t(`whose apply action is not a string literal — a menu's identity is its apply-action name, which must be a literal so it can be gated at load (e.g. {{ menu "applyTheme" "▸" "▾" }})`);let i=r[r.length-1],a=i!==void 0&&Hg(i)?i:void 0,o=a===void 0?r:r.slice(0,-1);if(o.some(Hg))return t(`whose options (dict …) is not its last argument — ${Vg}`);if(i!==void 0&&a===void 0&&!Ug(i)&&Wg(o.length-1))return t(`whose last argument is neither a literal nor a literal (dict …) — the renderer tells a display from the options dict by the value it evaluates to, so this call could be read as ${o.length} displays or as ${o.length-1} plus options, and both are legal. Make the options explicit as a trailing (dict …) — {{ menu "${n.value}" (printf "…") (printf "…") (dict) }} binds dynamic displays unambiguously — or bind the trigger text as literals`);let s=Cc(`whose trigger`,o.length,2);if(s!==void 0)return t(`${s} — ${Vg}`);let c=a===void 0?{}:hm(a);if(c===null)return t(`whose options (dict …) is not fully literal — every option value must be a literal so the menu can be gated at load (a dynamic entry like (dict "key" .x) cannot)`);let l;try{l=Mg(c)}catch(e){return t(`with invalid options — ${e.message}`)}let u=l.key;if(u!==void 0){let e=Wl(u);if(e!==void 0)return t(`whose accordion key "${u}" lands in the reserved "${e}" namespace — a key is collapsed to an identifier (${JSON.stringify(u)} becomes "${Eg(u)}"), so it would share one open-state key with the synthesized accordion that owns that namespace instead of grouping only your own menus. Name the group without the reserved prefix`)}return{kind:`ok`,apply:n.value,options:l}}function Kg(e){let t=Ef({fromString:e=>e});try{return t.parse(e).referencedCalls().filter(e=>e.name===Bg).map(Gg)}catch{return`parse-failed`}}function qg(e){let t=Ef({fromString:e=>e});try{return t.parse(e).referencedFunctions().has(Bg)}catch{return!1}}function Jg(e,t,n){e.issues.push({path:t,message:n,line:W(e.source,[`root`])})}function Yg(e,t){Gl(e,t,Bl,`{{ menu }} helpers`);for(let[n,r]of Object.entries(t.helpers??{}))qg(r)&&e.issues.push({path:`helpers.${n}`,message:`helper "${n}" uses {{ menu }}, but a menu must live directly in a segment template — its identity is derived from the segment it sits in, which a shared helper does not have. Inline the {{ menu }} call into each segment that needs it.`,line:W(e.source,[`helpers`,n])});let n=t.segments??{};for(let[t,r]of Object.entries(n))for(let n of[`bg`,`fg`,`when`]){let i=r[n];typeof i==`string`&&qg(i)&&Jg(e,`segments.${t}.${n}`,`segment "${t}" uses {{ menu }} in its "${n}" — a menu is only valid in a segment's "template" (its placement is published only there; "${n}" needs a ${n===`when`?`predicate`:`color`}). Move the {{ menu }} into the template.`)}if(t.root!==void 0)for(let n of ls(pc(t.root)))typeof n.when==`string`&&qg(n.when)&&Jg(e,`root`,`a layout node's "when" predicate uses {{ menu }} — a menu is only valid in a segment's "template", not a node predicate. Move it into a segment.`);for(let[t,{template:r}]of Object.entries(n)){if(r===void 0||!qg(r))continue;let n=Kg(r);if(n!==`parse-failed`)for(let r of n){let n=r.kind===`issue`?r.message:Xg(r.apply);n!==void 0&&Jg(e,`segments.${t}`,`segment "${t}" has a {{ menu }} ${n}.`)}}}function Xg(e){if(e===``)return`with an empty apply-action name — an empty member aliases the absent-state sentinel ("") so the menu would render open before any click. Name the apply action`;if(wg(e)===`closed`)return`whose apply action is named "${xc}", which collides with the menu's closed-state sentinel and leaves it unopenable. Rename the action`}function Zg(e,t){let n={},r={},i=new Map,a=new Set,o=(e,n)=>{let r=`segments.${e}`;a.has(`${r}\0${n}`)||(a.add(`${r}\0${n}`),t.push({path:r,message:n}))};for(let t of Fg(e.presets)){let a=new Map,s=new Map;for(let c of ls(Rg(e,t).node)){if(c.kind!==`segment`)continue;let t=e.segments[c.name];if(t===void 0)continue;i.has(c.name)||i.set(c.name,Kg(t.template));let l=i.get(c.name);if(l===`parse-failed`)continue;let u=as(c);for(let[e,t]of l.entries()){if(t.kind===`issue`||Xg(t.apply)!==void 0)continue;let{apply:i,options:l}=t,d=wg(i),f=Tg(u,i,l.key),p=Og(f),m=l.key===void 0?`ind ${u} ${i}`:`key ${l.key}`,h=[f,p].find(e=>{let t=a.get(e);return t!==void 0&&t!==m});if(h!==void 0){o(c.name,`two {{ menu }} disclosures normalize to the same state key ("${h}") but were declared differently — distinct names that differ only by non-alphanumeric characters (e.g. "a-b" vs "a_b") collapse to one key and would silently share open-state. Rename so they don't collide.`);continue}a.set(f,m),a.set(p,m);let g=Dg(f,d),_=`${c.name}\0${e}`,v=s.get(g);if(v!==void 0&&v!==_){o(c.name,`two {{ menu }} disclosures resolve to the same identity ("${g}") — ${l.key===void 0?`a segment cannot contain two menus over the same apply action "${i}"`:`menus sharing key "${l.key}" must have distinct apply actions`}.`);continue}s.set(g,_),r[g]=jc(f,d),n[f]=Ac(f,xc),n[p]={kind:`state`,key:p,default:`0`},r[p]={set:p,int:!0}}}}return{...e,variables:{...e.variables,...n},actions:{...e.actions,...r}}}const Qg=Ef({fromString:e=>e}),$g=`edit.mode`,e_=`edit.toggle`,t_=`arrange`,n_=`${Vl}draft.`;function r_(e,t){return`configure:${e}:${t}`}const i_={variable:$g,key:$g,member:t_},a_=Dc(i_);function o_(e){try{return Qg.parse(e).referencedCalls().some(e=>e.name===`action`&&e.args[0]===`edit.toggle`)}catch{return!1}}function s_(e){if(Object.values(e.actions??{}).some(e=>`do`in e&&e.do.includes(`edit.toggle`)))return!0;for(let t of Object.values(e.segments??{}))for(let e of[t.template,t.bg,t.fg])if(typeof e==`string`&&o_(e))return!0;return!1}function c_(e,t){if(Gl(e,t,Vl,`edit mode`),!s_(t))return;let n={[$g]:Ac($g,xc)},r={[e_]:jc($g,t_)};t.variables={...t.variables??{},...n},t.actions={...t.actions??{},...r}}const l_=/"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|`[^`]*`/g;function*u_(e){let t=e.indexOf(`{{`);for(;t!==-1;){let n=``,r=t+2;for(;r<e.length&&!e.startsWith(`}}`,r);){if(e.startsWith(`/*`,r)){let t=e.indexOf(`*/`,r+2);r=t===-1?e.length:t+2;continue}let t=r,i=e[r];if(r+=1,i===`"`||i===`'`||i==="`"){for(;r<e.length&&e[r]!==i;)r+=e[r]===`\\`&&i!=="`"?2:1;r+=1}n+=e.slice(t,r)}if(r>=e.length)return;yield n,t=e.indexOf(`{{`,r+2)}}const d_=`[A-Za-z_]\\w*(?:\\.[A-Za-z_]\\w*)*`,f_=RegExp(`^(?:(\\$)(?:\\.(${d_}))?|\\.(${d_})?)(?=[\\s)]|$)`);function p_(e,t){let n=f_.exec(e.trimStart());return n===null?null:n[1]===void 0?t===null?null:n[3]===void 0?t:`${t}${n[3]}.`:n[2]===void 0?``:`${n[2]}.`}const m_=/^(\w+)\b\s*([\s\S]*)$/;function*h_(e){let t=[``];for(let n of u_(e)){let e=n.replace(/^-(?=\s)/,``).trim(),[,r=``,i=``]=m_.exec(e)??[],a=t[t.length-1],o=t.length>1?t[t.length-2]:a;if(r===`end`){t.length>1&&t.pop();continue}if(r===`else`){yield{code:e,dot:o};let n=/^with\b([\s\S]*)$/.exec(i);t[t.length-1]=n===null?o:p_(n[1],o);continue}yield{code:e,dot:a},r===`if`&&t.push(a),r===`with`&&t.push(p_(i,a)),(r===`range`||r===`define`||r===`block`)&&t.push(null)}}const g_=RegExp(`(?<![A-Za-z0-9_)$])(\\$?)\\.(${d_})`,`g`);function*__(e,t){let n=e.replace(l_,``);for(let e of[...n.matchAll(g_)])e[1]===`$`?yield e[2]:t!==null&&(yield`${t}${e[2]}`)}const v_=/\btemplate\s+$/;function*y_(e,t){let n=0;for(let r of[...e.matchAll(l_)]){let i=r.index+r[0].length;if(v_.test(e.slice(n,r.index))){let n=p_(e.slice(i),t);n!==null&&(yield{name:r[0].slice(1,-1),at:n})}n=i}}function b_(e,t){let n=new Map,r=new Set,i=(e,a,o,s)=>{for(let{code:c,dot:l}of[...h_(e)]){for(let e of __(c,l))n.has(a+e)||n.set(a+e,o);for(let e of[...y_(c,l)]){let n=t[e.name],o=a+e.at,c=`${e.name}\0${o}`;n===void 0||s.has(e.name)||r.has(c)||(r.add(c),i(n,o,e.name,new Set([...s,e.name])))}}};return i(e,``,null,new Set),n}const x_=/\baction\s+$/;function S_(e){let t=new Set;for(let n of u_(e)){let e=0,r;for(l_.lastIndex=0;(r=l_.exec(n))!==null;)x_.test(n.slice(e,r.index))&&t.add(r[0].slice(1,-1)),e=r.index+r[0].length}return t}const C_=/\b(picker|menu|carousel)\s+$/;function w_(e){let t=new Set;for(let n of u_(e)){let e=0,r=0,i;for(l_.lastIndex=0;(i=l_.exec(n))!==null;){let a=C_.exec(n.slice(e,i.index));a!==null&&(r=a[1]===`picker`?2:1),r>0&&(t.add(i[0].slice(1,-1)),r--),e=i.index+i[0].length}}return t}function T_(e,t){if(t.names.has(e))return!0;let n=`${e}.`;for(let e of t.names)if(e.startsWith(n))return!0;for(let n of t.documents)if(e.startsWith(`${n}.`))return!0;return!1}function E_(e){let t=new Set,n=new Set,r=(e,r)=>{t.add(e),D_(r)&&n.add(e)};for(let[t,n]of Object.entries(e.variables))r(t,n);for(let[t,n]of Object.entries(e.segments))for(let[e,i]of Object.entries(n.vars??{}))r(`${t}.${e}`,i);return{names:t,documents:n,helpers:e.helpers}}function D_(e){return(e.kind===`shell`||e.kind===`file`)&&ms(e.parse)===`json`}var O_=me((e=>{function t(e){var t=[...arguments].slice(1);throw Error(typeof e==`number`?`[MobX] minified error nr: `+e+(t.length?` `+t.map(String).join(`,`):``)+`. Find the full error at: https://github.com/mobxjs/mobx/blob/main/packages/mobx/src/errors.ts`:`[MobX] `+e)}function n(){return typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:P}function r(){sn||t(`Proxy not available`)}function i(e){var t=!1;return function(){if(!t)return t=!0,e.apply(this,arguments)}}function a(e){return typeof e==`function`}function o(e){switch(typeof e){case`string`:case`symbol`:case`number`:return!0}return!1}function s(e){return typeof e==`object`&&!!e}function c(e){if(!s(e))return!1;var t=Object.getPrototypeOf(e);if(t==null)return!0;var n=Object.hasOwnProperty.call(t,`constructor`)&&t.constructor;return typeof n==`function`&&n.toString()===cn}function l(e){var t=e?.constructor;return!!t&&(t.name===`GeneratorFunction`||t.displayName===`GeneratorFunction`)}function u(e,t,n){nn(e,t,{enumerable:!1,writable:!0,configurable:!0,value:n})}function d(e,t,n){nn(e,t,{enumerable:!1,writable:!1,configurable:!0,value:n})}function f(e,t){var n=`isMobX`+e;return t.prototype[n]=!0,function(e){return s(e)&&!0===e[n]}}function p(e){return e!=null&&Object.prototype.toString.call(e)===`[object Map]`}function m(e){return e!=null&&Object.prototype.toString.call(e)===`[object Set]`}function h(e){return e===null?null:typeof e==`object`?``+e:e}function g(e,t){return rn.hasOwnProperty.call(e,t)}function _(e,t){return!!(e&t)}function v(e,t,n){return n?e|=t:e&=~t,e}function y(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function b(e,t,n){if(re())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,t);var i=new(e.bind.apply(e,r));return n&&w(i,n.prototype),i}function x(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,ie(r.key),r)}}function S(e,t,n){return t&&x(e.prototype,t),n&&x(e,n),Object.defineProperty(e,`prototype`,{writable:!1}),e}function C(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=function(e,t){if(e){if(typeof e==`string`)return y(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?y(e,t):void 0}}(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
55
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ee(){return(ee=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(null,arguments)}function te(e){return(te=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ne(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,w(e,t)}function re(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch{}return(re=function(){return!!e})()}function w(e,t){return(w=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function ie(e){var t=function(e){if(typeof e!=`object`||!e)return e;var t=e[Symbol.toPrimitive];if(t!==void 0){var n=t.call(e,`string`);if(typeof n!=`object`)return n;throw TypeError(`@@toPrimitive must return a primitive value.`)}return String(e)}(e);return typeof t==`symbol`?t:t+``}function T(e){var t=typeof Map==`function`?new Map:void 0;return(T=function(e){function n(){return b(e,arguments,te(this).constructor)}if(e===null||!function(e){try{return Function.toString.call(e).indexOf(`[native code]`)!==-1}catch{return typeof e==`function`}}(e))return e;if(typeof e!=`function`)throw TypeError(`Super expression must either be null or a function`);if(t!==void 0){if(t.has(e))return t.get(e);t.set(e,n)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),w(n,e)})(e)}function E(e){return Object.assign((function(t,n){if(oe(n))return e.t(t,n);ae(t,n,e)}),e)}function ae(e,t,n){g(e,pn)||u(e,pn,ee({},e[pn])),function(e){return e.i===`override`}(n)||(e[pn][t]=n)}function oe(e){return typeof e==`object`&&typeof e.kind==`string`}function D(e,t,n){t===void 0&&(t=ln),n===void 0&&(n=ln);var r=new mn(e);return t!==ln&&ut(r,t),n!==ln&&dt(r,n),r}function se(e,t,n){return bt(e)?e:Array.isArray(e)?Tn.array(e,{name:n}):c(e)?Tn.object(e,void 0,{name:n}):p(e)?Tn.map(e,{name:n}):m(e)?Tn.set(e,{name:n}):typeof e!=`function`||st(e)||_t(e)?e:l(e)?rr(e):Zn(n,e)}function ce(e){return e}function le(e,t){return{i:e,u:t,o:ue,s:de,t:fe}}function ue(e,t,n,r){var i;return(i=this.u)!=null&&i.bound?this.s(e,t,n,!1)===null?0:1:r===e.h?this.s(e,t,n,!1)===null?0:2:st(n.value)?1:(nn(r,t,pe(e,this,t,n,!1)),2)}function de(e,t,n,r){var i=pe(e,this,t,n);return e.l(t,i,r)}function fe(e,n){var r,i=n.kind,a=n.name,o=n.addInitializer,s=this,c=function(e){var t;return Me(s.u?.name??a.toString(),e,(t=s.u?.autoAction)!=null&&t)};return i==`field`?function(e){var t,n=e;return st(n)||(n=c(n)),(t=s.u)!=null&&t.bound&&((n=n.bind(this)).isMobxAction=!0),n}:i==`method`?(st(e)||(e=c(e)),(r=this.u)!=null&&r.bound&&o((function(){var e=this[a].bind(this);e.isMobxAction=!0,this[a]=e})),e):void t(`Cannot apply '`+s.i+`' to '`+String(a)+`' (kind: `+i+`):
|
|
56
|
+
'`+s.i+`' can only be used on properties with a function value.`)}function pe(e,t,n,r,i){var a,o,s;i===void 0&&(i=z.safeDescriptors);var c=r.value;return(a=t.u)!=null&&a.bound&&(c=c.bind(e.v??e.h)),{value:Me(t.u?.name??n.toString(),c,(o=t.u?.autoAction)!=null&&o,(s=t.u)!=null&&s.bound?e.v??e.h:void 0),configurable:!i||e.p,enumerable:!1,writable:!i}}function me(e,t){return{i:e,u:t,o:he,s:ge,t:O}}function he(e,t,n,r){var i;return r===e.h?this.s(e,t,n,!1)===null?0:2:(i=this.u)!=null&&i.bound&&(!g(e.h,t)||!_t(e.h[t]))&&this.s(e,t,n,!1)===null?0:_t(n.value)?1:(nn(r,t,_e(e,0,0,n,!1,!1)),2)}function ge(e,t,n,r){var i=_e(e,0,0,n,this.u?.bound);return e.l(t,i,r)}function O(e,t){var n,r=t.name,i=t.addInitializer;return _t(e)||(e=rr(e)),(n=this.u)!=null&&n.bound&&i((function(){var e=this[r].bind(this);e.isMobXFlow=!0,this[r]=e})),e}function _e(e,t,n,r,i,a){a===void 0&&(a=z.safeDescriptors);var o=r.value;return _t(o)||(o=rr(o)),i&&((o=o.bind(e.v??e.h)).isMobXFlow=!0),{value:o,configurable:!a||e.p,enumerable:!1,writable:!a}}function ve(e,t){return{i:e,u:t,o:ye,s:be,t:xe}}function ye(e,t,n){return this.s(e,t,n,!1)===null?0:1}function be(e,t,n,r){return e.m(t,ee({},this.u,{get:n.get,set:n.set}),r)}function xe(e,t){var n=this,r=t.name;return(0,t.addInitializer)((function(){var t=Bt(this)[I],i=ee({},n.u,{get:e,context:this});i.name||=`ObservableObject.`+r.toString(),t.j.set(r,new Fn(i))})),function(){return this[I].O(r)}}function Se(e,t){return{i:e,u:t,o:Ce,s:we,t:Te}}function Ce(e,t,n){return this.s(e,t,n,!1)===null?0:1}function we(e,t,n,r){return e.g(t,n.value,this.u?.enhancer??se,r)}function Te(e,t){function n(e,t){var n=Bt(e)[I],i=new Nn(t,r.u?.enhancer??se,`ObservableObject.`+a.toString(),!1);n.j.set(a,i),o.add(e)}var r=this,i=t.kind,a=t.name,o=new WeakSet;if(i==`accessor`)return{get:function(){return o.has(this)||n(this,e.get.call(this)),this[I].O(a)},set:function(e){return o.has(this)||n(this,e),this[I].S(a,e)},init:function(e){return o.has(this)||n(this,e),e}}}function Ee(e){return{i:`true`,u:e,o:De,s:Oe,t:ke}}function De(e,t,n,r){var i,a,o;if(n.get)return On.o(e,t,n,r);if(n.set){var s=st(n.set)?n.set:Me(t.toString(),n.set);return r===e.h?e.l(t,{configurable:!z.safeDescriptors||e.p,set:s})===null?0:2:(nn(r,t,{configurable:!0,set:s}),2)}if(r!==e.h&&typeof n.value==`function`)return l(n.value)?((o=this.u)!=null&&o.autoBind?rr.bound:rr).o(e,t,n,r):((a=this.u)!=null&&a.autoBind?Zn.bound:Zn).o(e,t,n,r);var c=!1===this.u?.deep?Tn.ref:Tn;return typeof n.value==`function`&&(i=this.u)!=null&&i.autoBind&&(n.value=n.value.bind(e.v??e.h)),c.o(e,t,n,r)}function Oe(e,t,n,r){var i;return n.get?On.s(e,t,n,r):n.set?e.l(t,{configurable:!z.safeDescriptors||e.p,set:Me(t.toString(),n.set)},r):(typeof n.value==`function`&&(i=this.u)!=null&&i.autoBind&&(n.value=n.value.bind(e.v??e.h)),(!1===this.u?.deep?Tn.ref:Tn).s(e,t,n,r))}function ke(){t(`'`+this.i+`' cannot be used as a decorator`)}function Ae(e){return e||yn}function k(e){return!0===e.deep?se:!1===e.deep?ce:(t=e.defaultDecorator)&&(n=(r=t.u)?.enhancer)!=null?n:se;var t,n,r}function je(e,t,n){return oe(t)?bn.t(e,t):o(t)?void ae(e,t,bn):bt(e)?e:c(e)?Tn.object(e,t,n):Array.isArray(e)?Tn.array(e,t):p(e)?Tn.map(e,t):m(e)?Tn.set(e,t):typeof e==`object`&&e?e:Tn.box(e,t)}function Me(e,t,n,r){function i(){return Ne(0,n,t,r||this,arguments)}return n===void 0&&(n=!1),i.isMobxAction=!0,i.toString=function(){return t.toString()},jn&&(Mn.value=e,nn(i,`name`,Mn)),i}function Ne(e,t,n,r,i){var a=Pe(0,t);try{return n.apply(r,i)}catch(e){throw a._=e,e}finally{Fe(a)}}function Pe(e,t){var n=z.trackingDerivation,r=!t||!n;Qe();var i=z.allowStateChanges;r&&(We(),i=Le(!0));var a={A:r,k:n,M:i,V:Ke(!0),R:!1,N:0,T:An++,C:kn};return kn=a.T,a}function Fe(e){kn!==e.T&&t(30),kn=e.C,e._!==void 0&&(z.suppressReactionErrors=!0),Re(e.M),qe(e.V),$e(),e.A&&Ge(e.k),z.suppressReactionErrors=!1}function Ie(e,t){var n=Le(e);try{return t()}finally{Re(n)}}function Le(e){var t=z.allowStateChanges;return z.allowStateChanges=e,t}function Re(e){z.allowStateChanges=e}function ze(e){return e instanceof Rn}function Be(e){switch(e.I){case R.L:return!1;case R.P:case R.K:return!0;case R.B:for(var t=Ke(!0),n=We(),r=e.D,i=r.length,a=0;a<i;a++){var o=r[a];if(Ln(o)){if(z.disableErrorBoundaries)o.get();else try{o.get()}catch{return Ge(n),qe(t),!0}if(e.I===R.K)return Ge(n),qe(t),!0}}return Je(e),Ge(n),qe(t),!1}}function Ve(e,t,n){var r=Ke(!0);Je(e),e.W=Array(e.q===0?100:e.D.length),e.G=0,e.q=++z.runId;var i,a=z.trackingDerivation;if(z.trackingDerivation=e,z.inBatch++,!0===z.disableErrorBoundaries)i=t.call(n);else try{i=t.call(n)}catch(e){i=new Rn(e)}return z.inBatch--,z.trackingDerivation=a,function(e){for(var t=e.D,n=e.D=e.W,r=R.L,i=0,a=e.G,o=0;o<a;o++){var s=n[o];s.diffValue===0&&(s.diffValue=1,i!==o&&(n[i]=s),i++),s.I>r&&(r=s.I)}for(n.length=i,e.W=null,a=t.length;a--;){var c=t[a];c.diffValue===0&&Xe(c,e),c.diffValue=0}for(;i--;){var l=n[i];l.diffValue===1&&(l.diffValue=0,Ye(l,e))}r!==R.L&&(e.I=r,e.H())}(e),qe(r),i}function He(e){var t=e.D;e.D=[];for(var n=t.length;n--;)Xe(t[n],e);e.I=R.P}function Ue(e){var t=We();try{return e()}finally{Ge(t)}}function We(){var e=z.trackingDerivation;return z.trackingDerivation=null,e}function Ge(e){z.trackingDerivation=e}function Ke(e){var t=z.allowStateReads;return z.allowStateReads=e,t}function qe(e){z.allowStateReads=e}function Je(e){if(e.I!==R.L){e.I=R.L;for(var t=e.D,n=t.length;n--;)t[n].U=R.L}}function Ye(e,t){e.F.add(t),e.U>t.I&&(e.U=t.I)}function Xe(e,t){e.F.delete(t),e.F.size===0&&Ze(e)}function Ze(e){!1===e.isPendingUnobservation&&(e.isPendingUnobservation=!0,z.pendingUnobservations.push(e))}function Qe(){z.inBatch++}function $e(){if(--z.inBatch==0){nt();for(var e=z.pendingUnobservations,t=0;t<e.length;t++){var n=e[t];n.isPendingUnobservation=!1,n.F.size===0&&(n.isBeingObserved&&(n.isBeingObserved=!1,n.onBUO()),n instanceof Fn&&n.X())}z.pendingUnobservations=[]}}function et(e){var t=z.trackingDerivation;return t===null?(e.F.size===0&&z.inBatch>0&&Ze(e),!1):(t.q!==e.$&&(e.$=t.q,t.W[t.G++]=e,!e.isBeingObserved&&z.trackingContext&&(e.isBeingObserved=!0,e.onBO())),e.isBeingObserved)}function tt(e){e.U!==R.K&&(e.U=R.K,e.F.forEach((function(e){e.I===R.L&&e.H(),e.I=R.K})))}function nt(){z.inBatch>0||z.isRunningReactions||Wn(rt)}function rt(){z.isRunningReactions=!0;for(var e=z.pendingReactions,t=0;e.length>0;){++t==100&&(console.error(`[mobx] cycle in reaction: `+e[0]),e.splice(0));for(var n=e.splice(0),r=0,i=n.length;r<i;r++)n[r].J()}z.isRunningReactions=!1}function it(){return console.warn(`[mobx.spy] Is a no-op in production builds`),function(){}}function at(e){return function(t,n){return a(t)?Me(t.name||`<unnamed action>`,t,e):a(n)?Me(t,n,e):oe(n)?(e?Jn:Kn).t(t,n):o(n)?ae(t,n,e?Jn:Kn):o(t)?E(le(e?`autoAction`:`action`,{name:t,autoAction:e})):void 0}}function ot(e){return Ne(0,!1,e,this,void 0)}function st(e){return a(e)&&!0===e.isMobxAction}function ct(e,t){function n(){e(i)}var r;t===void 0&&(t=on);var i,a=t?.name??`Autorun`;if(t.scheduler||t.delay){var o=lt(t),s=!1;i=new Un(a,(function(){s||(s=!0,o((function(){s=!1,i.isDisposed||i.track(n)})))}),t.onError,t.requiresObservable)}else i=new Un(a,(function(){this.track(n)}),t.onError,t.requiresObservable);return(r=t)!=null&&(r=r.signal)!=null&&r.aborted||i.Y(),i.Z(t?.signal)}function lt(e){return e.scheduler?e.scheduler:e.delay?function(t){return setTimeout(t,e.delay)}:Qn}function ut(e,t,n){return ft(`onBO`,e,t,n)}function dt(e,t,n){return ft(`onBUO`,e,t,n)}function ft(e,t,n,r){var i=typeof r==`function`?N(t,n):N(t),o=a(r)?r:n,s=e+`L`;return i[s]?i[s].add(o):i[s]=new Set([o]),function(){var e=i[s];e&&(e.delete(o),e.size===0&&delete i[s])}}function pt(e,t,n,r){var i=fn(t);return Xt((function(){var t=Bt(e,r)[I];dn(i).forEach((function(e){t.s(e,i[e],!n||!(e in n)||n[e])}))})),e}function mt(e){var t,n={name:e.tt};return e.D&&e.D.length>0&&(n.dependencies=(t=e.D,Array.from(new Set(t))).map(mt)),n}function ht(e){var t={name:e.tt};return function(e){return e.F&&e.F.size>0}(e)&&(t.observers=Array.from(function(e){return e.F}(e)).map(ht)),t}function gt(e){a(e.cancel)&&e.cancel()}function _t(e){return!0===e?.isMobXFlow}function vt(e,t){return t===void 0?Ln(e):!1===Ht(e)||!e[I].j.has(t)?!1:Ln(N(e,t))}function yt(e,t){return!!e&&(t===void 0?Ht(e)||!!e[I]||hn(e)||Gn(e)||Ln(e):!!Ht(e)&&e[I].j.has(t))}function bt(e){return yt(e)}function xt(e){return Ht(e)?e[I].nt():gr(e)||yr(e)?Array.from(e.keys()):Lt(e)?e.map((function(e,t){return t})):void t(5)}function St(e,n){return Ht(e)?e[I].it(n):gr(e)||yr(e)?e.has(n):Lt(e)?n>=0&&n<e.length:void t(10)}function Ct(e){if(Ht(e))return e[I].rt();t(38)}function wt(e,t,n){return e.set(t,n),n}function Tt(e,t){t===void 0&&(t=void 0),Qe();try{return e.apply(t)}finally{$e()}}function Et(e,t,n){var r;if(typeof n.timeout==`number`){var i=Error(`WHEN_TIMEOUT`);r=setTimeout((function(){if(!o[I].isDisposed){if(o(),!n.onError)throw i;n.onError(i)}}),n.timeout)}n.name=`When`;var a=Me(`When-effect`,t),o=ct((function(t){Ie(!1,e)&&(t.dispose(),r&&clearTimeout(r),a())}),n);return o}function Dt(e,t){var n,r,i;if(t!=null&&(n=t.signal)!=null&&n.aborted)return Object.assign(Promise.reject(Error(`WHEN_ABORTED`)),{cancel:function(){return null}});var a=new Promise((function(n,a){var o,s=Et(e,n,ee({},t,{onError:a}));r=function(){s(),a(Error(`WHEN_CANCELLED`))},i=function(){s(),a(Error(`WHEN_ABORTED`))},t==null||(o=t.signal)==null||o.addEventListener==null||o.addEventListener(`abort`,i)})).finally((function(){var e;return t==null||(e=t.signal)==null||e.removeEventListener==null?void 0:e.removeEventListener(`abort`,i)}));return a.cancel=r,a}function Ot(e){return e[I]}function kt(e){return e.et!==void 0&&e.et.length>0}function At(e,t){var n=e.et||=[];return n.push(t),i((function(){var e=n.indexOf(t);e!==-1&&n.splice(e,1)}))}function jt(e,n){var r=We();try{for(var i=[].concat(e.et||[]),a=0,o=i.length;a<o&&((n=i[a](n))&&!n.type&&t(14),n);a++);return n}finally{Ge(r)}}function Mt(e){return e.ut!==void 0&&e.ut.length>0}function Nt(e,t){var n=e.ut||=[];return n.push(t),i((function(){var e=n.indexOf(t);e!==-1&&n.splice(e,1)}))}function Pt(e,t){var n=We(),r=e.ut;if(r){for(var i=0,a=(r=r.slice()).length;i<a;i++)r[i](t);Ge(n)}}function Ft(e,t,n,i){return n===void 0&&(n=`ObservableArray`),i===void 0&&(i=!1),r(),Xt((function(){var r=new cr(n,t,i,!1);d(r.j,I,r);var a=new Proxy(r.j,sr);return r.v=a,e&&e.length&&r.ot(0,0,e),a}))}function A(e,t){typeof Array.prototype[e]==`function`&&(lr[e]=t(e))}function It(e){return function(){var t=this[I];t.st.reportObserved();var n=t.ft(t.j);return n[e].apply(n,arguments)}}function j(e){return function(t,n){var r=this,i=this[I];return i.st.reportObserved(),i.ft(i.j)[e]((function(e,i){return t.call(n,e,i,r)}))}}function M(e){return function(){var t=this,n=this[I];n.st.reportObserved();var r=n.ft(n.j),i=arguments[0];return arguments[0]=function(e,n,r){return i(e,n,r,t)},r[e].apply(r,arguments)}}function Lt(e){return s(e)&&fr(e[I])}function Rt(e){return e[Symbol.toStringTag]=`MapIterator`,$t(e)}function zt(e){return e[Symbol.toStringTag]=`SetIterator`,$t(e)}function Bt(e,t){if(g(e,I))return e;var n=t?.name??`ObservableObject`;return u(e,I,new xr(e,new Map,String(n),function(e){return e?e.defaultDecorator??Ee(e):void 0}(t))),e}function Vt(e){return br[e]||(br[e]={get:function(){return this[I].O(e)},set:function(t){return this[I].S(e,t)}})}function Ht(e){return!!s(e)&&Sr(e[I])}function Ut(e,t,n){var r;(r=e.h[pn])==null||delete r[n]}function Wt(e){return{enumerable:!1,configurable:!0,get:function(){return this[I].ct(e)},set:function(t){this[I].ht(e,t)}}}function Gt(e){nn(Er.prototype,``+e,Wt(e))}function Kt(e){if(e>B){for(var t=B;t<e+100;t++)Gt(t);B=e}}function qt(e,t,n){return new Er(e,t,n)}function N(e,n){if(typeof e==`object`&&e){if(Lt(e))return n!==void 0&&t(23),e[I].st;if(yr(e))return e.st;if(gr(e)){if(n===void 0)return e.lt;var r=e.vt.get(n)||e.dt.get(n);return r||t(25,n,Yt(e)),r}if(Ht(e)){if(!n)return t(26);var i=e[I].j.get(n);return i||t(27,n,Yt(e)),i}if(hn(e)||Ln(e)||Gn(e))return e}else if(a(e)&&Gn(e[I]))return e[I];t(28)}function Jt(e,n){return e||t(29),n===void 0?hn(e)||Ln(e)||Gn(e)||gr(e)||yr(e)?e:e[I]?e[I]:void t(24,e):Jt(N(e,n))}function Yt(e,t){var n;if(t!==void 0)n=N(e,t);else{if(st(e))return e.name;n=Ht(e)||gr(e)||yr(e)?Jt(e):N(e)}return n.tt}function Xt(e){var t=We(),n=Le(!0);Qe();try{return e()}finally{$e(),Re(n),Ge(t)}}function Zt(e,t,n){return n===void 0&&(n=-1),function e(t,n,r,i,o){if(t===n)return t!==0||1/t==1/n;if(t==null||n==null)return!1;if(t!=t)return n!=n;var s=typeof t;if(s!==`function`&&s!==`object`&&typeof n!=`object`)return!1;var c=Dr.call(t);if(c!==Dr.call(n))return!1;switch(c){case`[object RegExp]`:case`[object String]`:return``+t==``+n;case`[object Number]`:return+t==+t?+t==0?1/t==1/n:+t==+n:+n!=+n;case`[object Date]`:case`[object Boolean]`:return+t==+n;case`[object Symbol]`:return typeof Symbol<`u`&&Symbol.valueOf.call(t)===Symbol.valueOf.call(n);case`[object Map]`:case`[object Set]`:r>=0&&r++}t=Qt(t),n=Qt(n);var l=c===`[object Array]`;if(!l){if(typeof t!=`object`||typeof n!=`object`)return!1;var u=t.constructor,d=n.constructor;if(u!==d&&!(a(u)&&u instanceof u&&a(d)&&d instanceof d)&&`constructor`in t&&`constructor`in n)return!1}if(r===0)return!1;r<0&&(r=-1),o||=[];for(var f=(i||=[]).length;f--;)if(i[f]===t)return o[f]===n;if(i.push(t),o.push(n),l){if((f=t.length)!==n.length)return!1;for(;f--;)if(!e(t[f],n[f],r-1,i,o))return!1}else{var p=Object.keys(t),m=p.length;if(Object.keys(n).length!==m)return!1;for(var h=0;h<m;h++){var _=p[h];if(!g(n,_)||!e(t[_],n[_],r-1,i,o))return!1}}return i.pop(),o.pop(),!0}(e,t,n)}function Qt(e){return Lt(e)?e.slice():p(e)||gr(e)||m(e)||yr(e)?Array.from(e.entries()):e}function $t(e){return e[Symbol.iterator]=en,Object.assign(Object.create(Or),e)}function en(){return this}Object.defineProperty(e,`__esModule`,{value:!0});var P={},F=Object.assign,tn=Object.getOwnPropertyDescriptor,nn=Object.defineProperty,rn=Object.prototype,an=[];Object.freeze(an);var on={};Object.freeze(on);var sn=typeof Proxy<`u`,cn=Object.toString(),ln=function(){},un=Object.getOwnPropertySymbols!==void 0,dn=typeof Reflect<`u`&&Reflect.ownKeys?Reflect.ownKeys:un?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,fn=Object.getOwnPropertyDescriptors||function(e){var t={};return dn(e).forEach((function(n){t[n]=tn(e,n)})),t},pn=Symbol(`mobx-stored-annotations`),I=Symbol(`mobx administration`),mn=function(){function e(e){e===void 0&&(e=`Atom`),this.tt=void 0,this.bt=0,this.F=new Set,this.$=0,this.U=R.P,this.onBOL=void 0,this.onBUOL=void 0,this.tt=e}var t=e.prototype;return t.onBO=function(){this.onBOL&&this.onBOL.forEach((function(e){return e()}))},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach((function(e){return e()}))},t.reportObserved=function(){return et(this)},t.reportChanged=function(){Qe(),tt(this),$e()},t.toString=function(){return this.tt},S(e,[{key:`isBeingObserved`,get:function(){return _(this.bt,e.pt)},set:function(t){this.bt=v(this.bt,e.pt,t)}},{key:`isPendingUnobservation`,get:function(){return _(this.bt,e.yt)},set:function(t){this.bt=v(this.bt,e.yt,t)}},{key:`diffValue`,get:function(){return+!!_(this.bt,e.wt)},set:function(t){this.bt=v(this.bt,e.wt,t===1)}}])}();mn.pt=1,mn.yt=2,mn.wt=4;var hn=f(`Atom`,mn),gn={identity:function(e,t){return e===t},structural:function(e,t){return Zt(e,t)},default:function(e,t){return Object.is?Object.is(e,t):e===t?e!==0||1/e==1/t:e!=e&&t!=t},shallow:function(e,t){return Zt(e,t,1)}},_n=E({i:`override`,o:function(){return 0},s:function(){t(`'`+this.i+`' can only be used with 'makeObservable'`)},t:function(){console.warn(`'`+this.i+`' cannot be used with decorators - this is a no-op`)}}),vn=Ee(),yn={deep:!0,name:void 0,defaultDecorator:void 0,proxy:!0};Object.freeze(yn);var bn=Se(`observable`),xn=Se(`observable.ref`,{enhancer:ce}),L=Se(`observable.shallow`,{enhancer:function(e,t,n){return e==null||Ht(e)||Lt(e)||gr(e)||yr(e)?e:Array.isArray(e)?Tn.array(e,{name:n,deep:!1}):c(e)?Tn.object(e,void 0,{name:n,deep:!1}):p(e)?Tn.map(e,{name:n,deep:!1}):m(e)?Tn.set(e,{name:n,deep:!1}):void 0}}),Sn=Se(`observable.struct`,{enhancer:function(e,t){return Zt(e,t)?t:e}}),Cn=E(bn);F(je,Cn);var wn,Tn=F(je,{box:function(e,t){var n=Ae(t);return new Nn(e,k(n),n.name,!0,n.equals)},array:function(e,t){var n=Ae(t);return(!1===z.useProxies||!1===n.proxy?qt:Ft)(e,k(n),n.name)},map:function(e,t){var n=Ae(t);return new hr(e,k(n),n.name)},set:function(e,t){var n=Ae(t);return new vr(e,k(n),n.name)},object:function(e,t,n){return Xt((function(){return pt(!1===z.useProxies||!1===n?.proxy?Bt({},n):function(e,t){var n;return r(),(n=(e=Bt(e,t))[I]).v??(n.v=new Proxy(e,ir))}({},n),e,t)}))},ref:E(xn),shallow:E(L),deep:Cn,struct:E(Sn)}),En=ve(`computed`),Dn=ve(`computed.struct`,{equals:gn.structural}),On=function(e,t){if(oe(t))return En.t(e,t);if(o(t))return ae(e,t,En);if(c(e))return E(ve(`computed`,e));var n=c(t)?t:{};return n.get=e,n.name||=e.name||``,new Fn(n)};Object.assign(On,En),On.struct=E(Dn);var kn=0,An=1,jn=(wn=tn((function(){}),`name`)?.configurable)!=null&&wn,Mn={value:`action`,configurable:!0,writable:!1,enumerable:!1},Nn=function(e){function t(t,n,r,i,a){var o;return r===void 0&&(r=`ObservableValue`),a===void 0&&(a=gn.default),(o=e.call(this,r)||this).enhancer=void 0,o.tt=void 0,o.equals=void 0,o.jt=!1,o.et=void 0,o.ut=void 0,o.Ot=void 0,o.dehancer=void 0,o.enhancer=n,o.tt=r,o.equals=a,o.Ot=n(t,void 0,r),o}ne(t,e);var n=t.prototype;return n.dehanceValue=function(e){return this.dehancer===void 0?e:this.dehancer(e)},n.set=function(e){(e=this.xt(e))!==z.UNCHANGED&&this.gt(e)},n.xt=function(e){if(kt(this)){var t=jt(this,{object:this,type:or,newValue:e});if(!t)return z.UNCHANGED;e=t.newValue}return e=this.enhancer(e,this.Ot,this.tt),this.equals(this.Ot,e)?z.UNCHANGED:e},n.gt=function(e){var t=this.Ot;this.Ot=e,this.reportChanged(),Mt(this)&&Pt(this,{type:or,object:this,newValue:e,oldValue:t})},n.get=function(){return this.reportObserved(),this.dehanceValue(this.Ot)},n.St=function(e){return At(this,e)},n._t=function(e,t){return t&&e({observableKind:`value`,debugObjectName:this.tt,object:this,type:or,newValue:this.Ot,oldValue:void 0}),Nt(this,e)},n.raw=function(){return this.Ot},n.toJSON=function(){return this.get()},n.toString=function(){return this.tt+`[`+this.Ot+`]`},n.valueOf=function(){return h(this.get())},n[Symbol.toPrimitive]=function(){return this.valueOf()},t}(mn),Pn=f(`ObservableValue`,Nn),Fn=function(){function e(e){this.I=R.P,this.D=[],this.W=null,this.F=new Set,this.q=0,this.$=0,this.U=R.L,this.G=0,this.Ot=new Rn(null),this.tt=void 0,this.At=void 0,this.bt=0,this.derivation=void 0,this.kt=void 0,this.Mt=In.NONE,this.Et=void 0,this.Vt=void 0,this.Rt=void 0,this.Nt=void 0,this.onBOL=void 0,this.onBUOL=void 0,e.get||t(31),this.derivation=e.get,this.tt=e.name||`ComputedValue`,e.set&&(this.kt=Me(`ComputedValue-setter`,e.set)),this.Vt=e.equals||(e.compareStructural||e.struct?gn.structural:gn.default),this.Et=e.context,this.Rt=e.requiresReaction,this.Nt=!!e.keepAlive}var n=e.prototype;return n.H=function(){(function(e){e.U===R.L&&(e.U=R.B,e.F.forEach((function(e){e.I===R.L&&(e.I=R.B,e.H())})))})(this)},n.onBO=function(){this.onBOL&&this.onBOL.forEach((function(e){return e()}))},n.onBUO=function(){this.onBUOL&&this.onBUOL.forEach((function(e){return e()}))},n.get=function(){if(this.isComputing&&t(32,this.tt,this.derivation),z.inBatch!==0||this.F.size!==0||this.Nt){if(et(this),Be(this)){var e=z.trackingContext;this.Nt&&!e&&(z.trackingContext=this),this.trackAndCompute()&&function(e){e.U!==R.K&&(e.U=R.K,e.F.forEach((function(t){t.I===R.B?t.I=R.K:t.I===R.L&&(e.U=R.L)})))}(this),z.trackingContext=e}}else Be(this)&&(this.Tt(),Qe(),this.Ot=this.Ct(!1),$e());var n=this.Ot;if(ze(n))throw n.cause;return n},n.set=function(e){if(this.kt){this.isRunningSetter&&t(33,this.tt),this.isRunningSetter=!0;try{this.kt.call(this.Et,e)}finally{this.isRunningSetter=!1}}else t(34,this.tt)},n.trackAndCompute=function(){var e=this.Ot,t=this.I===R.P,n=this.Ct(!0),r=t||ze(e)||ze(n)||!this.Vt(e,n);return r&&(this.Ot=n),r},n.Ct=function(e){this.isComputing=!0;var t,n=Le(!1);if(e)t=Ve(this,this.derivation,this.Et);else if(!0===z.disableErrorBoundaries)t=this.derivation.call(this.Et);else try{t=this.derivation.call(this.Et)}catch(e){t=new Rn(e)}return Re(n),this.isComputing=!1,t},n.X=function(){this.Nt||(He(this),this.Ot=void 0)},n._t=function(e,t){var n=this,r=!0,i=void 0;return ct((function(){var a=n.get();if(!r||t){var o=We();e({observableKind:`computed`,debugObjectName:n.tt,type:or,object:n,newValue:a,oldValue:i}),Ge(o)}r=!1,i=a}))},n.Tt=function(){},n.toString=function(){return this.tt+`[`+this.derivation.toString()+`]`},n.valueOf=function(){return h(this.get())},n[Symbol.toPrimitive]=function(){return this.valueOf()},S(e,[{key:`isComputing`,get:function(){return _(this.bt,e.It)},set:function(t){this.bt=v(this.bt,e.It,t)}},{key:`isRunningSetter`,get:function(){return _(this.bt,e.Lt)},set:function(t){this.bt=v(this.bt,e.Lt,t)}},{key:`isBeingObserved`,get:function(){return _(this.bt,e.pt)},set:function(t){this.bt=v(this.bt,e.pt,t)}},{key:`isPendingUnobservation`,get:function(){return _(this.bt,e.yt)},set:function(t){this.bt=v(this.bt,e.yt,t)}},{key:`diffValue`,get:function(){return+!!_(this.bt,e.wt)},set:function(t){this.bt=v(this.bt,e.wt,t===1)}}])}();Fn.It=1,Fn.Lt=2,Fn.pt=4,Fn.yt=8,Fn.wt=16;var R,In,Ln=f(`ComputedValue`,Fn);(function(e){e[e.P=-1]=`NOT_TRACKING_`,e[e.L=0]=`UP_TO_DATE_`,e[e.B=1]=`POSSIBLY_STALE_`,e[e.K=2]=`STALE_`})(R||={}),function(e){e[e.NONE=0]=`NONE`,e[e.LOG=1]=`LOG`,e[e.BREAK=2]=`BREAK`}(In||={});var Rn=function(e){this.cause=void 0,this.cause=e},zn=[`mobxGuid`,`spyListeners`,`enforceActions`,`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`allowStateReads`,`disableErrorBoundaries`,`runId`,`UNCHANGED`,`useProxies`],Bn=function(){this.version=6,this.UNCHANGED={},this.trackingDerivation=null,this.trackingContext=null,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!1,this.allowStateReads=!0,this.enforceActions=!0,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.reactionRequiresObservable=!1,this.observableRequiresReaction=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1,this.useProxies=!0,this.verifyProxies=!1,this.safeDescriptors=!0},Vn=!0,Hn=!1,z=function(){var e=n();return e.__mobxInstanceCount>0&&!e.__mobxGlobals&&(Vn=!1),e.__mobxGlobals&&e.__mobxGlobals.version!==new Bn().version&&(Vn=!1),Vn?e.__mobxGlobals?(e.__mobxInstanceCount+=1,e.__mobxGlobals.UNCHANGED||(e.__mobxGlobals.UNCHANGED={}),e.__mobxGlobals):(e.__mobxInstanceCount=1,e.__mobxGlobals=new Bn):(setTimeout((function(){Hn||t(35)}),1),new Bn)}(),Un=function(){function e(e,t,n,r){e===void 0&&(e=`Reaction`),this.tt=void 0,this.Pt=void 0,this.Kt=void 0,this.Bt=void 0,this.D=[],this.W=[],this.I=R.P,this.q=0,this.G=0,this.bt=0,this.Mt=In.NONE,this.tt=e,this.Pt=t,this.Kt=n,this.Bt=r}var t=e.prototype;return t.H=function(){this.Y()},t.Y=function(){this.isScheduled||(this.isScheduled=!0,z.pendingReactions.push(this),nt())},t.J=function(){if(!this.isDisposed){Qe(),this.isScheduled=!1;var e=z.trackingContext;if(z.trackingContext=this,Be(this)){this.isTrackPending=!0;try{this.Pt()}catch(e){this.Dt(e)}}z.trackingContext=e,$e()}},t.track=function(e){if(!this.isDisposed){Qe(),this.isRunning=!0;var t=z.trackingContext;z.trackingContext=this;var n=Ve(this,e,void 0);z.trackingContext=t,this.isRunning=!1,this.isTrackPending=!1,this.isDisposed&&He(this),ze(n)&&this.Dt(n.cause),$e()}},t.Dt=function(e){var t=this;if(this.Kt)this.Kt(e,this);else{if(z.disableErrorBoundaries)throw e;z.suppressReactionErrors||console.error(`[mobx] uncaught error in '`+this+`'`,e),z.globalReactionErrorHandlers.forEach((function(n){return n(e,t)}))}},t.dispose=function(){this.isDisposed||(this.isDisposed=!0,this.isRunning||(Qe(),He(this),$e()))},t.Z=function(e){var t=this,n=function n(){t.dispose(),e==null||e.removeEventListener==null||e.removeEventListener(`abort`,n)};return e==null||e.addEventListener==null||e.addEventListener(`abort`,n),n[I]=this,`dispose`in Symbol&&typeof Symbol.dispose==`symbol`&&(n[Symbol.dispose]=n),n},t.toString=function(){return`Reaction[`+this.tt+`]`},t.trace=function(){},S(e,[{key:`isDisposed`,get:function(){return _(this.bt,e.Wt)},set:function(t){this.bt=v(this.bt,e.Wt,t)}},{key:`isScheduled`,get:function(){return _(this.bt,e.qt)},set:function(t){this.bt=v(this.bt,e.qt,t)}},{key:`isTrackPending`,get:function(){return _(this.bt,e.Gt)},set:function(t){this.bt=v(this.bt,e.Gt,t)}},{key:`isRunning`,get:function(){return _(this.bt,e.Ht)},set:function(t){this.bt=v(this.bt,e.Ht,t)}},{key:`diffValue`,get:function(){return+!!_(this.bt,e.wt)},set:function(t){this.bt=v(this.bt,e.wt,t===1)}}])}();Un.Wt=1,Un.qt=2,Un.Gt=4,Un.Ht=8,Un.wt=16;var Wn=function(e){return e()},Gn=f(`Reaction`,Un),Kn=le(`action`),qn=le(`action.bound`,{bound:!0}),Jn=le(`autoAction`,{autoAction:!0}),Yn=le(`autoAction.bound`,{autoAction:!0,bound:!0}),Xn=at(!1);Object.assign(Xn,Kn);var Zn=at(!0);Object.assign(Zn,Jn),Xn.bound=E(qn),Zn.bound=E(Yn);var Qn=function(e){return e()},$n=0,er=function(e){function t(){var n;return n=e.call(this,`FLOW_CANCELLED`)||this,Object.setPrototypeOf(n,(this instanceof t?this.constructor:void 0).prototype),n.name=`FlowCancellationError`,n}return ne(t,e),t.prototype.toString=function(){return`Error: `+this.message},t}(T(Error)),tr=me(`flow`),nr=me(`flow.bound`,{bound:!0}),rr=Object.assign((function(e,t){if(oe(t))return tr.t(e,t);if(o(t))return ae(e,t,tr);var n=e,r=n.name||`<unnamed flow>`,i=function(){var e,t=this,i=arguments,o=++$n,s=Xn(r+` - runid: `+o+` - init`,n).apply(t,i),c=void 0,l=new Promise((function(t,n){function i(e){var t;c=void 0;try{t=Xn(r+` - runid: `+o+` - yield `+ d++,s.next).call(s,e)}catch(e){return n(e)}u(t)}function l(e){var t;c=void 0;try{t=Xn(r+` - runid: `+o+` - yield `+ d++,s.throw).call(s,e)}catch(e){return n(e)}u(t)}function u(e){if(!a(e?.then))return e.done?t(e.value):(c=Promise.resolve(e.value)).then(i,l);e.then(u,n)}var d=0;e=n,i(void 0)}));return l.cancel=Xn(r+` - runid: `+o+` - cancel`,(function(){try{c&>(c);var t=s.return(void 0),n=Promise.resolve(t.value);n.then(ln,ln),gt(n),e(new er)}catch(t){e(t)}})),l};return i.isMobXFlow=!0,i}),tr);rr.bound=E(nr);var ir={has:function(e,t){return Ot(e).it(t)},get:function(e,t){return Ot(e).ct(t)},set:function(e,t,n){var r;return!!o(t)&&((r=Ot(e).ht(t,n,!0))==null||r)},deleteProperty:function(e,t){var n;return!!o(t)&&((n=Ot(e).Ut(t,!0))==null||n)},defineProperty:function(e,t,n){var r;return(r=Ot(e).l(t,n))==null||r},ownKeys:function(e){return Ot(e).rt()},preventExtensions:function(){t(13)}},ar=Symbol(`mobx-keys`),or=`update`,sr={get:function(e,t){var n=e[I];return t===I?n:t===`length`?n.Ft():typeof t!=`string`||isNaN(t)?g(lr,t)?lr[t]:e[t]:n.ct(parseInt(t))},set:function(e,t,n){var r=e[I];return t===`length`&&r.Xt(n),typeof t==`symbol`||isNaN(t)?e[t]=n:r.ht(parseInt(t),n),!0},preventExtensions:function(){t(15)}},cr=function(){function e(e,t,n,r){e===void 0&&(e=`ObservableArray`),this.zt=void 0,this.$t=void 0,this.st=void 0,this.j=[],this.et=void 0,this.ut=void 0,this.Jt=void 0,this.dehancer=void 0,this.v=void 0,this.Yt=0,this.zt=n,this.$t=r,this.st=new mn(e),this.Jt=function(e,n){return t(e,n,`ObservableArray[..]`)}}var n=e.prototype;return n.Qt=function(e){return this.dehancer===void 0?e:this.dehancer(e)},n.ft=function(e){return this.dehancer!==void 0&&e.length>0?e.map(this.dehancer):e},n.St=function(e){return At(this,e)},n._t=function(e,t){return t===void 0&&(t=!1),t&&e({observableKind:`array`,object:this.v,debugObjectName:this.st.tt,type:`splice`,index:0,added:this.j.slice(),addedCount:this.j.length,removed:[],removedCount:0}),Nt(this,e)},n.Ft=function(){return this.st.reportObserved(),this.j.length},n.Xt=function(e){(typeof e!=`number`||isNaN(e)||e<0)&&t(`Out of range: `+e);var n=this.j.length;if(e!==n)if(e>n){for(var r=Array(e-n),i=0;i<e-n;i++)r[i]=void 0;this.ot(n,0,r)}else this.ot(e,n-e)},n.Zt=function(e,n){e!==this.Yt&&t(16),this.Yt+=n,this.$t&&n>0&&Kt(e+n+1)},n.ot=function(e,t,n){var r=this,i=this.j.length;if(e===void 0?e=0:e>i?e=i:e<0&&(e=Math.max(0,i+e)),t=arguments.length===1?i-e:t==null?0:Math.max(0,Math.min(t,i-e)),n===void 0&&(n=an),kt(this)){var a=jt(this,{object:this.v,type:`splice`,index:e,removedCount:t,added:n});if(!a)return an;t=a.removedCount,n=a.added}if(n=n.length===0?n:n.map((function(e){return r.Jt(e,void 0)})),this.$t){var o=n.length-t;this.Zt(i,o)}var s=this.tn(e,t,n);return t===0&&n.length===0||this.nn(e,n,s),this.ft(s)},n.tn=function(e,t,n){var r;if(n.length<1e4)return(r=this.j).splice.apply(r,[e,t].concat(n));var i=this.j.slice(e,e+t),a=this.j.slice(e+t);this.j.length+=n.length-t;for(var o=0;o<n.length;o++)this.j[e+o]=n[o];for(var s=0;s<a.length;s++)this.j[e+n.length+s]=a[s];return i},n.in=function(e,t,n){var r=!this.zt&&!1,i=Mt(this),a=i||r?{observableKind:`array`,object:this.v,type:or,debugObjectName:this.st.tt,index:e,newValue:t,oldValue:n}:null;this.st.reportChanged(),i&&Pt(this,a)},n.nn=function(e,t,n){var r=!this.zt&&!1,i=Mt(this),a=i||r?{observableKind:`array`,object:this.v,debugObjectName:this.st.tt,type:`splice`,index:e,removed:n,added:t,removedCount:n.length,addedCount:t.length}:null;this.st.reportChanged(),i&&Pt(this,a)},n.ct=function(e){if(!(this.$t&&e>=this.j.length))return this.st.reportObserved(),this.Qt(this.j[e]);console.warn(`[mobx] Out of bounds read: `+e)},n.ht=function(e,n){var r=this.j;if(this.$t&&e>r.length&&t(17,e,r.length),e<r.length){var i=r[e];if(kt(this)){var a=jt(this,{type:or,object:this.v,index:e,newValue:n});if(!a)return;n=a.newValue}(n=this.Jt(n,i))!==i&&(r[e]=n,this.in(e,n,i))}else{for(var o=Array(e+1-r.length),s=0;s<o.length-1;s++)o[s]=void 0;o[o.length-1]=n,this.ot(r.length,0,o)}},e}(),lr={clear:function(){return this.splice(0)},replace:function(e){var t=this[I];return t.ot(0,t.j.length,e)},toJSON:function(){return this.slice()},splice:function(e,t){var n=[...arguments].slice(2),r=this[I];switch(arguments.length){case 0:return[];case 1:return r.ot(e);case 2:return r.ot(e,t)}return r.ot(e,t,n)},spliceWithArray:function(e,t,n){return this[I].ot(e,t,n)},push:function(){for(var e=this[I],t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return e.ot(e.j.length,0,n),e.j.length},pop:function(){return this.splice(Math.max(this[I].j.length-1,0),1)[0]},shift:function(){return this.splice(0,1)[0]},unshift:function(){for(var e=this[I],t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return e.ot(0,0,n),e.j.length},reverse:function(){return z.trackingDerivation&&t(37,`reverse`),this.replace(this.slice().reverse()),this},sort:function(){z.trackingDerivation&&t(37,`sort`);var e=this.slice();return e.sort.apply(e,arguments),this.replace(e),this},remove:function(e){var t=this[I],n=t.ft(t.j).indexOf(e);return n>-1&&(this.splice(n,1),!0)}};A(`at`,It),A(`concat`,It),A(`flat`,It),A(`includes`,It),A(`indexOf`,It),A(`join`,It),A(`lastIndexOf`,It),A(`slice`,It),A(`toString`,It),A(`toLocaleString`,It),A(`toSorted`,It),A(`toSpliced`,It),A(`with`,It),A(`every`,j),A(`filter`,j),A(`find`,j),A(`findIndex`,j),A(`findLast`,j),A(`findLastIndex`,j),A(`flatMap`,j),A(`forEach`,j),A(`map`,j),A(`some`,j),A(`toReversed`,j),A(`reduce`,M),A(`reduceRight`,M);var ur,dr,fr=f(`ObservableArrayAdministration`,cr),pr={},mr=`add`,hr=function(){function e(e,n,r){var i=this;n===void 0&&(n=se),r===void 0&&(r=`ObservableMap`),this.Jt=void 0,this.tt=void 0,this[I]=pr,this.vt=void 0,this.dt=void 0,this.lt=void 0,this.et=void 0,this.ut=void 0,this.dehancer=void 0,this.Jt=n,this.tt=r,a(Map)||t(18),Xt((function(){i.lt=D(`ObservableMap.keys()`),i.vt=new Map,i.dt=new Map,e&&i.merge(e)}))}var n=e.prototype;return n.it=function(e){return this.vt.has(e)},n.has=function(e){var t=this;if(!z.trackingDerivation)return this.it(e);var n=this.dt.get(e);if(!n){var r=n=new Nn(this.it(e),ce,`ObservableMap.key?`,!1);this.dt.set(e,r),dt(r,(function(){return t.dt.delete(e)}))}return n.get()},n.set=function(e,t){var n=this.it(e);if(kt(this)){var r=jt(this,{type:n?or:mr,object:this,newValue:t,name:e});if(!r)return this;t=r.newValue}return n?this.rn(e,t):this.en(e,t),this},n.delete=function(e){var t=this;if(kt(this)&&!jt(this,{type:`delete`,object:this,name:e}))return!1;if(this.it(e)){var n=Mt(this),r=n?{observableKind:`map`,debugObjectName:this.tt,type:`delete`,object:this,oldValue:this.vt.get(e).Ot,name:e}:null;return Tt((function(){var n;t.lt.reportChanged(),(n=t.dt.get(e))==null||n.gt(!1),t.vt.get(e).gt(void 0),t.vt.delete(e)})),n&&Pt(this,r),!0}return!1},n.rn=function(e,t){var n=this.vt.get(e);if((t=n.xt(t))!==z.UNCHANGED){var r=Mt(this),i=r?{observableKind:`map`,debugObjectName:this.tt,type:or,object:this,oldValue:n.Ot,name:e,newValue:t}:null;n.gt(t),r&&Pt(this,i)}},n.en=function(e,t){var n=this;Tt((function(){var r,i=new Nn(t,n.Jt,`ObservableMap.key`,!1);n.vt.set(e,i),t=i.Ot,(r=n.dt.get(e))==null||r.gt(!0),n.lt.reportChanged()}));var r=Mt(this);r&&Pt(this,r?{observableKind:`map`,debugObjectName:this.tt,type:mr,object:this,name:e,newValue:t}:null)},n.get=function(e){return this.has(e)?this.Qt(this.vt.get(e).get()):this.Qt(void 0)},n.Qt=function(e){return this.dehancer===void 0?e:this.dehancer(e)},n.keys=function(){return this.lt.reportObserved(),this.vt.keys()},n.values=function(){var e=this,t=this.keys();return Rt({next:function(){var n=t.next(),r=n.done;return{done:r,value:r?void 0:e.get(n.value)}}})},n.entries=function(){var e=this,t=this.keys();return Rt({next:function(){var n=t.next(),r=n.done,i=n.value;return{done:r,value:r?void 0:[i,e.get(i)]}}})},n[Symbol.iterator]=function(){return this.entries()},n.forEach=function(e,t){for(var n,r=C(this);!(n=r()).done;){var i=n.value;e.call(t,i[1],i[0],this)}},n.merge=function(e){var n=this;return gr(e)&&(e=new Map(e)),Tt((function(){var r,i;c(e)?function(e){var t=Object.keys(e);if(!un)return t;var n=Object.getOwnPropertySymbols(e);return n.length?[].concat(t,n.filter((function(t){return rn.propertyIsEnumerable.call(e,t)}))):t}(e).forEach((function(t){return n.set(t,e[t])})):Array.isArray(e)?e.forEach((function(e){return n.set(e[0],e[1])})):p(e)?(r=Object.getPrototypeOf(e),i=Object.getPrototypeOf(r),Object.getPrototypeOf(i)!==null&&t(19,e),e.forEach((function(e,t){return n.set(t,e)}))):e!=null&&t(20,e)})),this},n.clear=function(){var e=this;Tt((function(){Ue((function(){for(var t,n=C(e.keys());!(t=n()).done;)e.delete(t.value)}))}))},n.replace=function(e){var n=this;return Tt((function(){for(var r,i=function(e){if(p(e)||gr(e))return e;if(Array.isArray(e))return new Map(e);if(c(e)){var n=new Map;for(var r in e)n.set(r,e[r]);return n}return t(21,e)}(e),a=new Map,o=!1,s=C(n.vt.keys());!(r=s()).done;){var l=r.value;if(!i.has(l))if(n.delete(l))o=!0;else{var u=n.vt.get(l);a.set(l,u)}}for(var d,f=C(i.entries());!(d=f()).done;){var m=d.value,h=m[0],g=m[1],_=n.vt.has(h);if(n.set(h,g),n.vt.has(h)){var v=n.vt.get(h);a.set(h,v),_||(o=!0)}}if(!o)if(n.vt.size!==a.size)n.lt.reportChanged();else for(var y=n.vt.keys(),b=a.keys(),x=y.next(),S=b.next();!x.done;){if(x.value!==S.value){n.lt.reportChanged();break}x=y.next(),S=b.next()}n.vt=a})),this},n.toString=function(){return`[object ObservableMap]`},n.toJSON=function(){return Array.from(this)},n._t=function(e){return Nt(this,e)},n.St=function(e){return At(this,e)},S(e,[{key:`size`,get:function(){return this.lt.reportObserved(),this.vt.size}},{key:Symbol.toStringTag,get:function(){return`Map`}}])}(),gr=f(`ObservableMap`,hr),_r={},vr=function(){function e(e,n,r){var i=this;n===void 0&&(n=se),r===void 0&&(r=`ObservableSet`),this.tt=void 0,this[I]=_r,this.vt=new Set,this.st=void 0,this.ut=void 0,this.et=void 0,this.dehancer=void 0,this.Jt=void 0,this.tt=r,a(Set)||t(22),this.Jt=function(e,t){return n(e,t,r)},Xt((function(){i.st=D(i.tt),e&&i.replace(e)}))}var n=e.prototype;return n.Qt=function(e){return this.dehancer===void 0?e:this.dehancer(e)},n.clear=function(){var e=this;Tt((function(){Ue((function(){for(var t,n=C(e.vt.values());!(t=n()).done;)e.delete(t.value)}))}))},n.forEach=function(e,t){for(var n,r=C(this);!(n=r()).done;){var i=n.value;e.call(t,i,i,this)}},n.add=function(e){var t=this;if(kt(this)){var n=jt(this,{type:mr,object:this,newValue:e});if(!n)return this;e=n.newValue}if(!this.has(e)){Tt((function(){t.vt.add(t.Jt(e,void 0)),t.st.reportChanged()}));var r=Mt(this);r&&Pt(this,r?{observableKind:`set`,debugObjectName:this.tt,type:mr,object:this,newValue:e}:null)}return this},n.delete=function(e){var t=this;if(kt(this)&&!jt(this,{type:`delete`,object:this,oldValue:e}))return!1;if(this.has(e)){var n=Mt(this),r=n?{observableKind:`set`,debugObjectName:this.tt,type:`delete`,object:this,oldValue:e}:null;return Tt((function(){t.st.reportChanged(),t.vt.delete(e)})),n&&Pt(this,r),!0}return!1},n.has=function(e){return this.st.reportObserved(),this.vt.has(this.Qt(e))},n.entries=function(){var e=this.values();return zt({next:function(){var t=e.next(),n=t.value,r=t.done;return r?{value:void 0,done:r}:{value:[n,n],done:r}}})},n.keys=function(){return this.values()},n.values=function(){this.st.reportObserved();var e=this,t=this.vt.values();return zt({next:function(){var n=t.next(),r=n.done;return r?{value:void 0,done:r}:{value:e.Qt(n.value),done:r}}})},n.intersection=function(e){return m(e)&&!yr(e)?e.intersection(this):new Set(this).intersection(e)},n.union=function(e){return m(e)&&!yr(e)?e.union(this):new Set(this).union(e)},n.difference=function(e){return new Set(this).difference(e)},n.symmetricDifference=function(e){return m(e)&&!yr(e)?e.symmetricDifference(this):new Set(this).symmetricDifference(e)},n.isSubsetOf=function(e){return new Set(this).isSubsetOf(e)},n.isSupersetOf=function(e){return new Set(this).isSupersetOf(e)},n.isDisjointFrom=function(e){return m(e)&&!yr(e)?e.isDisjointFrom(this):new Set(this).isDisjointFrom(e)},n.replace=function(e){var n=this;return yr(e)&&(e=new Set(e)),Tt((function(){Array.isArray(e)||m(e)?(n.clear(),e.forEach((function(e){return n.add(e)}))):e!=null&&t(`Cannot initialize set from `+e)})),this},n._t=function(e){return Nt(this,e)},n.St=function(e){return At(this,e)},n.toJSON=function(){return Array.from(this)},n.toString=function(){return`[object ObservableSet]`},n[Symbol.iterator]=function(){return this.values()},S(e,[{key:`size`,get:function(){return this.st.reportObserved(),this.vt.size}},{key:Symbol.toStringTag,get:function(){return`Set`}}])}(),yr=f(`ObservableSet`,vr),br=Object.create(null),xr=function(){function e(e,t,n,r){t===void 0&&(t=new Map),r===void 0&&(r=vn),this.h=void 0,this.j=void 0,this.tt=void 0,this.un=void 0,this.lt=void 0,this.ut=void 0,this.et=void 0,this.v=void 0,this.p=void 0,this.on=void 0,this.sn=void 0,this.h=e,this.j=t,this.tt=n,this.un=r,this.lt=new mn(`ObservableObject.keys`),this.p=c(this.h)}var n=e.prototype;return n.O=function(e){return this.j.get(e).get()},n.S=function(e,t){var n=this.j.get(e);if(n instanceof Fn)return n.set(t),!0;if(kt(this)){var r=jt(this,{type:or,object:this.v||this.h,name:e,newValue:t});if(!r)return null;t=r.newValue}if((t=n.xt(t))!==z.UNCHANGED){var i=Mt(this),a=i?{type:or,observableKind:`object`,debugObjectName:this.tt,object:this.v||this.h,oldValue:n.Ot,name:e,newValue:t}:null;n.gt(t),i&&Pt(this,a)}return!0},n.ct=function(e){return z.trackingDerivation&&!g(this.h,e)&&this.it(e),this.h[e]},n.ht=function(e,t,n){return n===void 0&&(n=!1),g(this.h,e)?this.j.has(e)?this.S(e,t):n?Reflect.set(this.h,e,t):(this.h[e]=t,!0):this.s(e,{value:t,enumerable:!0,writable:!0,configurable:!0},this.un,n)},n.it=function(e){if(!z.trackingDerivation)return e in this.h;this.sn||=new Map;var t=this.sn.get(e);return t||(t=new Nn(e in this.h,ce,`ObservableObject.key?`,!1),this.sn.set(e,t)),t.get()},n.o=function(e,n){if(!0===n&&(n=this.un),!1!==n){if(!(e in this.h)){var r;if((r=this.h[pn])!=null&&r[e])return;t(1,n.i,this.tt+`.`+e.toString())}for(var i=this.h;i&&i!==rn;){var a=tn(i,e);if(a){var o=n.o(this,e,a,i);if(o===0)return;if(o===1)break}i=Object.getPrototypeOf(i)}Ut(this,0,e)}},n.s=function(e,t,n,r){if(r===void 0&&(r=!1),!0===n&&(n=this.un),!1===n)return this.l(e,t,r);var i=n.s(this,e,t,r);return i&&Ut(this,0,e),i},n.l=function(e,t,n){n===void 0&&(n=!1);try{Qe();var r=this.Ut(e);if(!r)return r;if(kt(this)){var i=jt(this,{object:this.v||this.h,name:e,type:mr,newValue:t.value});if(!i)return null;var a=i.newValue;t.value!==a&&(t=ee({},t,{value:a}))}if(n){if(!Reflect.defineProperty(this.h,e,t))return!1}else nn(this.h,e,t);this.fn(e,t.value)}finally{$e()}return!0},n.g=function(e,t,n,r){r===void 0&&(r=!1);try{Qe();var i=this.Ut(e);if(!i)return i;if(kt(this)){var a=jt(this,{object:this.v||this.h,name:e,type:mr,newValue:t});if(!a)return null;t=a.newValue}var o=Vt(e),s={configurable:!z.safeDescriptors||this.p,enumerable:!0,get:o.get,set:o.set};if(r){if(!Reflect.defineProperty(this.h,e,s))return!1}else nn(this.h,e,s);var c=new Nn(t,n,`ObservableObject.key`,!1);this.j.set(e,c),this.fn(e,c.Ot)}finally{$e()}return!0},n.m=function(e,t,n){n===void 0&&(n=!1);try{Qe();var r=this.Ut(e);if(!r)return r;if(kt(this)&&!jt(this,{object:this.v||this.h,name:e,type:mr,newValue:void 0}))return null;t.name||=`ObservableObject.key`,t.context=this.v||this.h;var i=Vt(e),a={configurable:!z.safeDescriptors||this.p,enumerable:!1,get:i.get,set:i.set};if(n){if(!Reflect.defineProperty(this.h,e,a))return!1}else nn(this.h,e,a);this.j.set(e,new Fn(t)),this.fn(e,void 0)}finally{$e()}return!0},n.Ut=function(e,t){if(t===void 0&&(t=!1),!g(this.h,e))return!0;if(kt(this)&&!jt(this,{object:this.v||this.h,name:e,type:`remove`}))return null;try{var n;Qe();var r=Mt(this),i=this.j.get(e),a=void 0;if(!i&&r&&(a=tn(this.h,e)?.value),t){if(!Reflect.deleteProperty(this.h,e))return!1}else delete this.h[e];i&&(this.j.delete(e),i instanceof Nn&&(a=i.Ot),tt(i)),this.lt.reportChanged(),(n=this.sn)==null||(n=n.get(e))==null||n.set(e in this.h),r&&r&&Pt(this,{type:`remove`,observableKind:`object`,object:this.v||this.h,debugObjectName:this.tt,oldValue:a,name:e})}finally{$e()}return!0},n._t=function(e){return Nt(this,e)},n.St=function(e){return At(this,e)},n.fn=function(e,t){var n,r=Mt(this);r&&r&&Pt(this,r?{type:mr,observableKind:`object`,debugObjectName:this.tt,object:this.v||this.h,name:e,newValue:t}:null),(n=this.sn)==null||(n=n.get(e))==null||n.set(!0),this.lt.reportChanged()},n.rt=function(){return this.lt.reportObserved(),dn(this.h)},n.nt=function(){return this.lt.reportObserved(),Object.keys(this.h)},e}(),Sr=f(`ObservableObjectAdministration`,xr),Cr=Wt(0),wr=function(){var e=!1,t={};return Object.defineProperty(t,`0`,{set:function(){e=!0}}),Object.create(t)[0]=1,!1===e}(),B=0,Tr=function(){};ur=Tr,dr=Array.prototype,Object.setPrototypeOf?Object.setPrototypeOf(ur.prototype,dr):ur.prototype.__proto__===void 0?ur.prototype=dr:ur.prototype.__proto__=dr;var Er=function(e){function t(t,n,r,i){var a;return r===void 0&&(r=`ObservableArray`),i===void 0&&(i=!1),a=e.call(this)||this,Xt((function(){var e=new cr(r,n,i,!0);e.v=a,d(a,I,e),t&&t.length&&a.spliceWithArray(0,0,t),wr&&Object.defineProperty(a,`0`,Cr)})),a}ne(t,e);var n=t.prototype;return n.concat=function(){this[I].st.reportObserved();var e=[...arguments];return Array.prototype.concat.apply(this.slice(),e.map((function(e){return Lt(e)?e.slice():e})))},n[Symbol.iterator]=function(){var e=this,t=0;return $t({next:function(){return t<e.length?{value:e[t++],done:!1}:{done:!0,value:void 0}}})},S(t,[{key:`length`,get:function(){return this[I].Ft()},set:function(e){this[I].Xt(e)}},{key:Symbol.toStringTag,get:function(){return`Array`}}])}(Tr);Object.entries(lr).forEach((function(e){var t=e[0];t!==`concat`&&u(Er.prototype,t,e[1])})),Kt(1e3);var Dr=rn.toString,Or=n().Iterator?.prototype||{};[`Symbol`,`Map`,`Set`].forEach((function(e){n()[e]===void 0&&t(`MobX requires global '`+e+`' to be available or polyfilled`)})),typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__==`object`&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:it,extras:{getDebugName:Yt},$mobx:I}),e.$mobx=I,e.FlowCancellationError=er,e.ObservableMap=hr,e.ObservableSet=vr,e.Reaction=Un,e._allowStateChanges=Ie,e._allowStateChangesInsideComputed=ot,e._allowStateReadsEnd=qe,e._allowStateReadsStart=Ke,e._autoAction=Zn,e._endAction=Fe,e._getAdministration=Jt,e._getGlobalState=function(){return z},e._interceptReads=function(e,t,n){var r;return gr(e)||Lt(e)||Pn(e)?r=Jt(e):Ht(e)&&(r=Jt(e,t)),r.dehancer=typeof t==`function`?t:n,function(){r.dehancer=void 0}},e._isComputingDerivation=function(){return z.trackingDerivation!==null},e._resetGlobalState=function(){var e=new Bn;for(var t in e)zn.indexOf(t)===-1&&(z[t]=e[t]);z.allowStateChanges=!z.enforceActions},e._startAction=Pe,e.action=Xn,e.autorun=ct,e.comparer=gn,e.computed=On,e.configure=function(e){!0===e.isolateGlobalState&&function(){if((z.pendingReactions.length||z.inBatch||z.isRunningReactions)&&t(36),Hn=!0,Vn){var e=n();--e.__mobxInstanceCount==0&&(e.__mobxGlobals=void 0),z=new Bn}}();var r,i,a=e.useProxies,o=e.enforceActions;if(a!==void 0&&(z.useProxies=a===`always`||a!==`never`&&typeof Proxy<`u`),a===`ifavailable`&&(z.verifyProxies=!0),o!==void 0){var s=o===`always`?`always`:o===`observed`;z.enforceActions=s,z.allowStateChanges=!0!==s&&s!==`always`}[`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`disableErrorBoundaries`,`safeDescriptors`].forEach((function(t){t in e&&(z[t]=!!e[t])})),z.allowStateReads=!z.observableRequiresReaction,e.reactionScheduler&&(r=e.reactionScheduler,i=Wn,Wn=function(e){return r((function(){return i(e)}))})},e.createAtom=D,e.defineProperty=function(e,n,r){if(Ht(e))return e[I].l(n,r);t(39)},e.entries=function(e){return Ht(e)?xt(e).map((function(t){return[t,e[t]]})):gr(e)?xt(e).map((function(t){return[t,e.get(t)]})):yr(e)?Array.from(e.entries()):Lt(e)?e.map((function(e,t){return[t,e]})):void t(7)},e.extendObservable=pt,e.flow=rr,e.flowResult=function(e){return e},e.get=function(e,n){if(St(e,n))return Ht(e)?e[I].ct(n):gr(e)?e.get(n):Lt(e)?e[n]:void t(11)},e.getAtom=N,e.getDebugName=Yt,e.getDependencyTree=function(e,t){return mt(N(e,t))},e.getObserverTree=function(e,t){return ht(N(e,t))},e.has=St,e.intercept=function(e,t,n){return a(n)?function(e,t,n){return Jt(e,t).St(n)}(e,t,n):function(e,t){return Jt(e).St(t)}(e,t)},e.isAction=st,e.isBoxedObservable=Pn,e.isComputed=function(e){return vt(e)},e.isComputedProp=function(e,t){return vt(e,t)},e.isFlow=_t,e.isFlowCancellationError=function(e){return e instanceof er},e.isObservable=bt,e.isObservableArray=Lt,e.isObservableMap=gr,e.isObservableObject=Ht,e.isObservableProp=function(e,t){return yt(e,t)},e.isObservableSet=yr,e.keys=xt,e.makeAutoObservable=function(e,t,n){return c(e)?pt(e,e,t,n):(Xt((function(){var r=Bt(e,n)[I];if(!e[ar]){var i=Object.getPrototypeOf(e),a=new Set([].concat(dn(e),dn(i)));a.delete(`constructor`),a.delete(I),u(i,ar,a)}e[ar].forEach((function(e){return r.o(e,!t||!(e in t)||t[e])}))})),e)},e.makeObservable=function(e,t,n){return Xt((function(){var r=Bt(e,n)[I];t??=function(e){return g(e,pn)||u(e,pn,ee({},e[pn])),e[pn]}(e),dn(t).forEach((function(e){return r.o(e,t[e])}))})),e},e.observable=Tn,e.observe=function(e,t,n,r){return a(n)?function(e,t,n,r){return Jt(e,t)._t(n,r)}(e,t,n,r):function(e,t,n){return Jt(e)._t(t,n)}(e,t,n)},e.onBecomeObserved=ut,e.onBecomeUnobserved=dt,e.onReactionError=function(e){return z.globalReactionErrorHandlers.push(e),function(){var t=z.globalReactionErrorHandlers.indexOf(e);t>=0&&z.globalReactionErrorHandlers.splice(t,1)}},e.override=_n,e.ownKeys=Ct,e.reaction=function(e,t,n){function r(){if(p=!1,!h.isDisposed){var t=!1,r=s;h.track((function(){var n=Ie(!1,(function(){return e(h)}));t=f||!m(s,n),s=n})),(f&&n.fireImmediately||!f&&t)&&l(s,r,h),f=!1}}var i;n===void 0&&(n=on);var a,o,s,c=n.name??`Reaction`,l=Xn(c,n.onError?(a=n.onError,o=t,function(){try{return o.apply(this,arguments)}catch(e){a.call(this,e)}}):t),u=!n.scheduler&&!n.delay,d=lt(n),f=!0,p=!1,m=n.compareStructural?gn.structural:n.equals||gn.default,h=new Un(c,(function(){f||u?r():p||(p=!0,d(r))}),n.onError,n.requiresObservable);return(i=n)!=null&&(i=i.signal)!=null&&i.aborted||h.Y(),h.Z(n?.signal)},e.remove=function(e,n){Ht(e)?e[I].Ut(n):gr(e)||yr(e)?e.delete(n):Lt(e)?(typeof n!=`number`&&(n=parseInt(n,10)),e.splice(n,1)):t(9)},e.runInAction=ot,e.set=function e(n,r,i){if(arguments.length!==2||yr(n))Ht(n)?n[I].ht(r,i):gr(n)?n.set(r,i):yr(n)?n.add(r):Lt(n)?(typeof r!=`number`&&(r=parseInt(r,10)),r<0&&t(`Invalid index: '`+r+`'`),Qe(),r>=n.length&&(n.length=r+1),n[r]=i,$e()):t(8);else{Qe();var a=r;try{for(var o in a)e(n,o,a[o])}finally{$e()}}},e.spy=it,e.toJS=function(e){return function e(t,n){if(typeof t!=`object`||!t||t instanceof Date||!bt(t))return t;if(Pn(t)||Ln(t))return e(t.get(),n);if(n.has(t))return n.get(t);if(Lt(t)){var r=wt(n,t,Array(t.length));return t.forEach((function(t,i){r[i]=e(t,n)})),r}if(yr(t)){var i=wt(n,t,new Set);return t.forEach((function(t){i.add(e(t,n))})),i}if(gr(t)){var a=wt(n,t,new Map);return t.forEach((function(t,r){a.set(r,e(t,n))})),a}var o=wt(n,t,{});return Ct(t).forEach((function(r){rn.propertyIsEnumerable.call(t,r)&&(o[r]=e(t[r],n))})),o}(e,new Map)},e.trace=function(){},e.transaction=Tt,e.untracked=Ue,e.values=function(e){return Ht(e)?xt(e).map((function(t){return e[t]})):gr(e)?xt(e).map((function(t){return e.get(t)})):yr(e)?Array.from(e.values()):Lt(e)?e.slice():void t(6)},e.when=function(e,t,n){return arguments.length===1||t&&typeof t==`object`?Dt(e,t):Et(e,t,n||{})}})),k_=me((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t={0:`Invalid value for configuration 'enforceActions', expected 'never', 'always' or 'observed'`,1:function(e,t){return`Cannot apply '`+e+`' to '`+t.toString()+`': Field not found.`},5:`'keys()' can only be used on observable objects, arrays, sets and maps`,6:`'values()' can only be used on observable objects, arrays, sets and maps`,7:`'entries()' can only be used on observable objects, arrays and maps`,8:`'set()' can only be used on observable objects, arrays and maps`,9:`'remove()' can only be used on observable objects, arrays and maps`,10:`'has()' can only be used on observable objects, arrays and maps`,11:`'get()' can only be used on observable objects, arrays and maps`,12:`Invalid annotation`,13:`Dynamic observable objects cannot be frozen. If you're passing observables to 3rd party component/function that calls Object.freeze, pass copy instead: toJS(observable)`,14:`Intercept handlers should return nothing or a change object`,15:`Observable arrays cannot be frozen. If you're passing observables to 3rd party component/function that calls Object.freeze, pass copy instead: toJS(observable)`,16:`Modification exception: the internal structure of an observable array was changed.`,17:function(e,t){return`[mobx.array] Index out of bounds, `+e+` is larger than `+t},18:`mobx.map requires Map polyfill for the current browser. Check babel-polyfill or core-js/es6/map.js`,19:function(e){return`Cannot initialize from classes that inherit from Map: `+e.constructor.name},20:function(e){return`Cannot initialize map from `+e},21:function(e){return`Cannot convert to map from '`+e+`'`},22:`mobx.set requires Set polyfill for the current browser. Check babel-polyfill or core-js/es6/set.js`,23:`It is not possible to get index atoms from arrays`,24:function(e){return`Cannot obtain administration from `+e},25:function(e,t){return`the entry '`+e+`' does not exist in the observable map '`+t+`'`},26:`please specify a property`,27:function(e,t){return`no observable property '`+e.toString()+`' found on the observable object '`+t+`'`},28:function(e){return`Cannot obtain atom from `+e},29:`Expecting some object`,30:`invalid action stack. did you forget to finish an action?`,31:`missing option for computed: get`,32:function(e,t){return`Cycle detected in computation `+e+`: `+t},33:function(e){return`The setter of computed value '`+e+`' is trying to update itself. Did you intend to update an _observable_ value, instead of the computed property?`},34:function(e){return`[ComputedValue '`+e+`'] It is not possible to assign a new value to a computed value.`},35:"There are multiple, different versions of MobX active. Make sure MobX is loaded only once or use `configure({ isolateGlobalState: true })`",36:`isolateGlobalState should be called before MobX is running any reactions`,37:function(e){return"[mobx] `observableArray."+e+"()` mutates the array in-place, which is not allowed inside a derivation. Use `array.slice()."+e+"()` instead"},38:`'ownKeys()' can only be used on observable objects`,39:`'defineProperty()' can only be used on observable objects`};function n(e){var n=[...arguments].slice(1),r=typeof e==`string`?e:t[e];throw typeof r==`function`&&(r=r.apply(null,n)),Error(`[MobX] `+r)}var r={};function i(){return typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:r}var a=Object.assign,o=Object.getOwnPropertyDescriptor,s=Object.defineProperty,c=Object.prototype,l=[];Object.freeze(l);var u={};Object.freeze(u);var d=typeof Proxy<`u`,f=Object.toString();function p(){d||n("`Proxy` objects are not available in the current environment. Please configure MobX to enable a fallback implementation.`")}function m(e){L.verifyProxies&&n(`MobX is currently configured to be able to run in ES5 mode, but in ES5 MobX won't be able to `+e)}function h(){return++L.mobxGuid}function g(e){var t=!1;return function(){if(!t)return t=!0,e.apply(this,arguments)}}var _=function(){};function v(e){return typeof e==`function`}function y(e){switch(typeof e){case`string`:case`symbol`:case`number`:return!0}return!1}function b(e){return typeof e==`object`&&!!e}function x(e){if(!b(e))return!1;var t=Object.getPrototypeOf(e);if(t==null)return!0;var n=Object.hasOwnProperty.call(t,`constructor`)&&t.constructor;return typeof n==`function`&&n.toString()===f}function S(e){var t=e?.constructor;return t?t.name===`GeneratorFunction`||t.displayName===`GeneratorFunction`:!1}function C(e,t,n){s(e,t,{enumerable:!1,writable:!0,configurable:!0,value:n})}function ee(e,t,n){s(e,t,{enumerable:!1,writable:!1,configurable:!0,value:n})}function te(e,t){var n=`isMobX`+e;return t.prototype[n]=!0,function(e){return b(e)&&e[n]===!0}}function ne(e){return e!=null&&Object.prototype.toString.call(e)===`[object Map]`}function re(e){return Object.getPrototypeOf(Object.getPrototypeOf(Object.getPrototypeOf(e)))===null}function w(e){return e!=null&&Object.prototype.toString.call(e)===`[object Set]`}var ie=Object.getOwnPropertySymbols!==void 0;function T(e){var t=Object.keys(e);if(!ie)return t;var n=Object.getOwnPropertySymbols(e);return n.length?[].concat(t,n.filter(function(t){return c.propertyIsEnumerable.call(e,t)})):t}var E=typeof Reflect<`u`&&Reflect.ownKeys?Reflect.ownKeys:ie?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames;function ae(e){return typeof e==`string`?e:typeof e==`symbol`?e.toString():new String(e).toString()}function oe(e){return e===null?null:typeof e==`object`?``+e:e}function D(e,t){return c.hasOwnProperty.call(e,t)}var se=Object.getOwnPropertyDescriptors||function(e){var t={};return E(e).forEach(function(n){t[n]=o(e,n)}),t};function ce(e,t){return!!(e&t)}function le(e,t,n){return n?e|=t:e&=~t,e}function ue(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function de(e,t,n){if(ve())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,t);var i=new(e.bind.apply(e,r));return n&&ye(i,n.prototype),i}function fe(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,xe(r.key),r)}}function pe(e,t,n){return t&&fe(e.prototype,t),n&&fe(e,n),Object.defineProperty(e,`prototype`,{writable:!1}),e}function me(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=Se(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
57
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function he(){return he=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},he.apply(null,arguments)}function ge(e){return ge=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ge(e)}function O(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,ye(e,t)}function _e(e){try{return Function.toString.call(e).indexOf(`[native code]`)!==-1}catch{return typeof e==`function`}}function ve(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(ve=function(){return!!e})()}function ye(e,t){return ye=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},ye(e,t)}function be(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function xe(e){var t=be(e,`string`);return typeof t==`symbol`?t:t+``}function Se(e,t){if(e){if(typeof e==`string`)return ue(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ue(e,t):void 0}}function Ce(e){var t=typeof Map==`function`?new Map:void 0;return Ce=function(e){if(e===null||!_e(e))return e;if(typeof e!=`function`)throw TypeError(`Super expression must either be null or a function`);if(t!==void 0){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return de(e,arguments,ge(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),ye(n,e)},Ce(e)}var we=Symbol(`mobx-stored-annotations`);function Te(e){function t(t,n){if(ke(n))return e.decorate_20223_(t,n);Ee(t,n,e)}return Object.assign(t,e)}function Ee(e,t,r){D(e,we)||C(e,we,he({},e[we])),Ge(r)&&!D(e[we],t)&&n(`'`+(e.constructor.name+`.prototype.`+t.toString())+`' is decorated with 'override', but no such decorated member was found on prototype.`),De(e,r,t),Ge(r)||(e[we][t]=r)}function De(e,t,r){if(!Ge(t)&&D(e[we],r)){var i=e.constructor.name+`.prototype.`+r.toString(),a=e[we][r].annotationType_,o=t.annotationType_;n(`Cannot apply '@`+o+`' to '`+i+`':`+(`
|
|
58
58
|
The field is already decorated with '@`+a+`'.`)+`
|
|
59
59
|
Re-decorating fields is not allowed.
|
|
60
|
-
Use '@override' decorator for methods overridden by subclass.`)}}function
|
|
61
|
-
'`+this.annotationType_+`' cannot be used on plain objects.`)),
|
|
62
|
-
'`+o.annotationType_+`' can only be used on properties with a function value.`))}function
|
|
63
|
-
'`+a+`' can only be used on properties with a function value.`))}function
|
|
64
|
-
'`+a+`' can only be used on properties with a generator function value.`))}function
|
|
65
|
-
'`+a+`' can only be used on getter(+setter) properties.`))}function
|
|
66
|
-
'`+a+`' cannot be used on getter/setter properties`))}var vt=`true`,yt=bt();function bt(e){return{annotationType_:vt,options_:e,make_:xt,extend_:St,decorate_20223_:Ct}}function xt(e,t,n,r){var i;if(n.get)return Ht.make_(e,t,n,r);if(n.set){var a=lr(n.set)?n.set:j(t.toString(),n.set);return r===e.target_?e.defineProperty_(t,{configurable:I.safeDescriptors?e.isPlainObject_:!0,set:a})===null?0:2:(s(r,t,{configurable:!0,set:a}),2)}if(r!==e.target_&&typeof n.value==`function`){var o;if(S(n.value)){var c;return((c=this.options_)!=null&&c.autoBind?Pr.bound:Pr).make_(e,t,n,r)}return((o=this.options_)!=null&&o.autoBind?sr.bound:sr).make_(e,t,n,r)}var l=this.options_?.deep===!1?A.ref:A;return typeof n.value==`function`&&(i=this.options_)!=null&&i.autoBind&&(n.value=n.value.bind(e.proxy_??e.target_)),l.make_(e,t,n,r)}function St(e,t,n,r){var i;return n.get?Ht.extend_(e,t,n,r):n.set?e.defineProperty_(t,{configurable:I.safeDescriptors?e.isPlainObject_:!0,set:j(t.toString(),n.set)},r):(typeof n.value==`function`&&(i=this.options_)!=null&&i.autoBind&&(n.value=n.value.bind(e.proxy_??e.target_)),(this.options_?.deep===!1?A.ref:A).extend_(e,t,n,r))}function Ct(e,t){n(`'`+this.annotationType_+`' cannot be used as a decorator`)}var wt=`observable`,Tt=`observable.ref`,Et=`observable.shallow`,Dt=`observable.struct`,Ot={deep:!0,name:void 0,defaultDecorator:void 0,proxy:!0};Object.freeze(Ot);function kt(e){return e||Ot}var At=pt(wt),jt=pt(Tt,{enhancer:He}),Mt=pt(Et,{enhancer:Ve}),Nt=pt(Dt,{enhancer:Ue}),Pt=Ee(At);function Ft(e){return e.deep===!0?Be:e.deep===!1?He:k(e.defaultDecorator)}function It(e){return e?e.defaultDecorator??bt(e):void 0}function k(e){return e?e.options_?.enhancer??Be:Be}function Lt(e,t,n){if(Ae(t))return At.decorate_20223_(e,t);if(y(t)){De(e,t,At);return}return Gr(e)?e:x(e)?A.object(e,t,n):Array.isArray(e)?A.array(e,t):ne(e)?A.map(e,t):w(e)?A.set(e,t):typeof e==`object`&&e?e:A.box(e,t)}a(Lt,Pt);var A=a(Lt,{box:function(e,t){var n=kt(t);return new M(e,Ft(n),n.name,!0,n.equals)},array:function(e,t){var n=kt(t);return(I.useProxies===!1||n.proxy===!1?fa:Ai)(e,Ft(n),n.name)},map:function(e,t){var n=kt(t);return new Bi(e,Ft(n),n.name)},set:function(e,t){var n=kt(t);return new Gi(e,Ft(n),n.name)},object:function(e,t,n){return ga(function(){return Cr(I.useProxies===!1||n?.proxy===!1?Zi({},n):hi({},n),e,t)})},ref:Ee(jt),shallow:Ee(Mt),deep:Pt,struct:Ee(Nt)}),Rt=`computed`,zt=`computed.struct`,Bt=ct(Rt),Vt=ct(zt,{equals:ze.structural}),Ht=function(e,t){if(Ae(t))return Bt.decorate_20223_(e,t);if(y(t))return De(e,t,Bt);if(x(e))return Ee(ct(Rt,e));v(e)||n("First argument to `computed` should be an expression."),v(t)&&n("A setter as second argument is no longer supported, use `{ set: fn }` option instead");var r=x(t)?t:{};return r.get=e,r.name||=e.name||``,new tn(r)};Object.assign(Ht,Bt),Ht.struct=Ee(Vt);var Ut=0,Wt=1,Gt=o(function(){},`name`)?.configurable??!1,Kt={value:`action`,configurable:!0,writable:!1,enumerable:!1};function j(e,t,r,i){r===void 0&&(r=!1),v(t)||n("`action` can only be invoked on functions"),(typeof e!=`string`||!e)&&n(`actions should have valid names, got: '`+e+`'`);function a(){return qt(e,r,t,i||this,arguments)}return a.isMobxAction=!0,a.toString=function(){return t.toString()},Gt&&(Kt.value=e,s(a,`name`,Kt)),a}function qt(e,t,n,r,i){var a=Jt(e,t,r,i);try{return n.apply(r,i)}catch(e){throw a.error_=e,e}finally{Yt(a)}}function Jt(e,t,n,r){var i=Wn()&&!!e,a=0;i&&(a=Date.now(),Kn({type:Xn,name:e,object:n,arguments:r?Array.from(r):l}));var o=I.trackingDerivation,s=!t||!o;jn();var c=I.allowStateChanges;s&&(F(),c=Zt(!0));var u=gn(!0),d={runAsAction_:s,prevDerivation_:o,prevAllowStateChanges_:c,prevAllowStateReads_:u,notifySpy_:i,startTime_:a,actionId_:Wt++,parentActionId_:Ut};return Ut=d.actionId_,d}function Yt(e){Ut!==e.actionId_&&n(30),Ut=e.parentActionId_,e.error_!==void 0&&(I.suppressReactionErrors=!0),Qt(e.prevAllowStateChanges_),_n(e.prevAllowStateReads_),Mn(),e.runAsAction_&&hn(e.prevDerivation_),e.notifySpy_&&Jn({time:Date.now()-e.startTime_}),I.suppressReactionErrors=!1}function Xt(e,t){var n=Zt(e);try{return t()}finally{Qt(n)}}function Zt(e){var t=I.allowStateChanges;return I.allowStateChanges=e,t}function Qt(e){I.allowStateChanges=e}var $t=`create`,M=function(e){function t(t,n,r,i,a){var o;return r===void 0&&(r=`ObservableValue@`+h()),i===void 0&&(i=!0),a===void 0&&(a=ze.default),o=e.call(this,r)||this,o.enhancer=void 0,o.name_=void 0,o.equals=void 0,o.hasUnreportedChange_=!1,o.interceptors_=void 0,o.changeListeners_=void 0,o.value_=void 0,o.dehancer=void 0,o.enhancer=n,o.name_=r,o.equals=a,o.value_=n(t,void 0,r),i&&Wn()&&Gn({type:$t,object:o,observableKind:`value`,debugObjectName:o.name_,newValue:``+o.value_?.toString()}),o}_e(t,e);var n=t.prototype;return n.dehanceValue=function(e){return this.dehancer===void 0?e:this.dehancer(e)},n.set=function(e){var t=this.value_;if(e=this.prepareNewValue_(e),e!==I.UNCHANGED){var n=Wn();n&&Kn({type:Ei,object:this,observableKind:`value`,debugObjectName:this.name_,newValue:e,oldValue:t}),this.setNewValue_(e),n&&Jn()}},n.prepareNewValue_=function(e){if(P(this),gi(this)){var t=vi(this,{object:this,type:Ei,newValue:e});if(!t)return I.UNCHANGED;e=t.newValue}return e=this.enhancer(e,this.value_,this.name_),this.equals(this.value_,e)?I.UNCHANGED:e},n.setNewValue_=function(e){var t=this.value_;this.value_=e,this.reportChanged(),yi(this)&&xi(this,{type:Ei,object:this,newValue:e,oldValue:t})},n.get=function(){return this.reportObserved(),this.dehanceValue(this.value_)},n.intercept_=function(e){return _i(this,e)},n.observe_=function(e,t){return t&&e({observableKind:`value`,debugObjectName:this.name_,object:this,type:Ei,newValue:this.value_,oldValue:void 0}),bi(this,e)},n.raw=function(){return this.value_},n.toJSON=function(){return this.get()},n.toString=function(){return this.name_+`[`+this.value_+`]`},n.valueOf=function(){return oe(this.get())},n[Symbol.toPrimitive]=function(){return this.valueOf()},t}(Me),en=te(`ObservableValue`,M),tn=function(){function e(e){this.dependenciesState_=N.NOT_TRACKING_,this.observing_=[],this.newObserving_=null,this.observers_=new Set,this.runId_=0,this.lastAccessedBy_=0,this.lowestObserverState_=N.UP_TO_DATE_,this.unboundDepsCount_=0,this.value_=new an(null),this.name_=void 0,this.triggeredBy_=void 0,this.flags_=0,this.derivation=void 0,this.setter_=void 0,this.isTracing_=rn.NONE,this.scope_=void 0,this.equals_=void 0,this.requiresReaction_=void 0,this.keepAlive_=void 0,this.onBOL=void 0,this.onBUOL=void 0,e.get||n(31),this.derivation=e.get,this.name_=e.name||`ComputedValue@`+h(),e.set&&(this.setter_=j(this.name_+`-setter`,e.set)),this.equals_=e.equals||(e.compareStructural||e.struct?ze.structural:ze.default),this.scope_=e.context,this.requiresReaction_=e.requiresReaction,this.keepAlive_=!!e.keepAlive}var t=e.prototype;return t.onBecomeStale_=function(){In(this)},t.onBO=function(){this.onBOL&&this.onBOL.forEach(function(e){return e()})},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach(function(e){return e()})},t.get=function(){if(this.isComputing&&n(32,this.name_,this.derivation),I.inBatch===0&&this.observers_.size===0&&!this.keepAlive_)sn(this)&&(this.warnAboutUntrackedRead_(),jn(),this.value_=this.computeValue_(!1),Mn());else if(Nn(this),sn(this)){var e=I.trackingContext;this.keepAlive_&&!e&&(I.trackingContext=this),this.trackAndCompute()&&Fn(this),I.trackingContext=e}var t=this.value_;if(on(t))throw t.cause;return t},t.set=function(e){if(this.setter_){this.isRunningSetter&&n(33,this.name_),this.isRunningSetter=!0;try{this.setter_.call(this.scope_,e)}finally{this.isRunningSetter=!1}}else n(34,this.name_)},t.trackAndCompute=function(){var e=this.value_,t=this.dependenciesState_===N.NOT_TRACKING_,n=this.computeValue_(!0),r=t||on(e)||on(n)||!this.equals_(e,n);return r&&(this.value_=n,Wn()&&Gn({observableKind:`computed`,debugObjectName:this.name_,object:this.scope_,type:`update`,oldValue:e,newValue:n})),r},t.computeValue_=function(e){this.isComputing=!0;var t=Zt(!1),n;if(e)n=un(this,this.derivation,this.scope_);else if(I.disableErrorBoundaries===!0)n=this.derivation.call(this.scope_);else try{n=this.derivation.call(this.scope_)}catch(e){n=new an(e)}return Qt(t),this.isComputing=!1,n},t.suspend_=function(){this.keepAlive_||(pn(this),this.value_=void 0,this.isTracing_!==rn.NONE&&console.log(`[mobx.trace] Computed value '`+this.name_+`' was suspended and it will recompute on the next access.`))},t.observe_=function(e,t){var n=this,r=!0,i=void 0;return ur(function(){var a=n.get();if(!r||t){var o=F();e({observableKind:`computed`,debugObjectName:n.name_,type:Ei,object:n,newValue:a,oldValue:i}),hn(o)}r=!1,i=a})},t.warnAboutUntrackedRead_=function(){this.isTracing_!==rn.NONE&&console.log(`[mobx.trace] Computed value '`+this.name_+`' is being read outside a reactive context. Doing a full recompute.`),(typeof this.requiresReaction_==`boolean`?this.requiresReaction_:I.computedRequiresReaction)&&console.warn(`[mobx] Computed value '`+this.name_+`' is being read outside a reactive context. Doing a full recompute.`)},t.toString=function(){return this.name_+`[`+this.derivation.toString()+`]`},t.valueOf=function(){return oe(this.get())},t[Symbol.toPrimitive]=function(){return this.valueOf()},me(e,[{key:`isComputing`,get:function(){return le(this.flags_,e.isComputingMask_)},set:function(t){this.flags_=ue(this.flags_,e.isComputingMask_,t)}},{key:`isRunningSetter`,get:function(){return le(this.flags_,e.isRunningSetterMask_)},set:function(t){this.flags_=ue(this.flags_,e.isRunningSetterMask_,t)}},{key:`isBeingObserved`,get:function(){return le(this.flags_,e.isBeingObservedMask_)},set:function(t){this.flags_=ue(this.flags_,e.isBeingObservedMask_,t)}},{key:`isPendingUnobservation`,get:function(){return le(this.flags_,e.isPendingUnobservationMask_)},set:function(t){this.flags_=ue(this.flags_,e.isPendingUnobservationMask_,t)}},{key:`diffValue`,get:function(){return+!!le(this.flags_,e.diffValueMask_)},set:function(t){this.flags_=ue(this.flags_,e.diffValueMask_,t===1)}}])}();tn.isComputingMask_=1,tn.isRunningSetterMask_=2,tn.isBeingObservedMask_=4,tn.isPendingUnobservationMask_=8,tn.diffValueMask_=16;var nn=te(`ComputedValue`,tn),N;(function(e){e[e.NOT_TRACKING_=-1]=`NOT_TRACKING_`,e[e.UP_TO_DATE_=0]=`UP_TO_DATE_`,e[e.POSSIBLY_STALE_=1]=`POSSIBLY_STALE_`,e[e.STALE_=2]=`STALE_`})(N||={});var rn;(function(e){e[e.NONE=0]=`NONE`,e[e.LOG=1]=`LOG`,e[e.BREAK=2]=`BREAK`})(rn||={});var an=function(e){this.cause=void 0,this.cause=e};function on(e){return e instanceof an}function sn(e){switch(e.dependenciesState_){case N.UP_TO_DATE_:return!1;case N.NOT_TRACKING_:case N.STALE_:return!0;case N.POSSIBLY_STALE_:for(var t=gn(!0),n=F(),r=e.observing_,i=r.length,a=0;a<i;a++){var o=r[a];if(nn(o)){if(I.disableErrorBoundaries)o.get();else try{o.get()}catch{return hn(n),_n(t),!0}if(e.dependenciesState_===N.STALE_)return hn(n),_n(t),!0}}return vn(e),hn(n),_n(t),!1}}function cn(){return I.trackingDerivation!==null}function P(e){var t=e.observers_.size>0;!I.allowStateChanges&&(t||I.enforceActions===`always`)&&console.warn(`[MobX] `+(I.enforceActions?`Since strict-mode is enabled, changing (observed) observable values without using an action is not allowed. Tried to modify: `:`Side effects like changing state are not allowed at this point. Are you trying to modify state from, for example, a computed value or the render function of a React component? You can wrap side effects in 'runInAction' (or decorate functions with 'action') if needed. Tried to modify: `)+e.name_)}function ln(e){!I.allowStateReads&&I.observableRequiresReaction&&console.warn(`[mobx] Observable '`+e.name_+`' being read outside a reactive context.`)}function un(e,t,n){var r=gn(!0);vn(e),e.newObserving_=Array(e.runId_===0?100:e.observing_.length),e.unboundDepsCount_=0,e.runId_=++I.runId;var i=I.trackingDerivation;I.trackingDerivation=e,I.inBatch++;var a;if(I.disableErrorBoundaries===!0)a=t.call(n);else try{a=t.call(n)}catch(e){a=new an(e)}return I.inBatch--,I.trackingDerivation=i,fn(e),dn(e),_n(r),a}function dn(e){e.observing_.length===0&&(typeof e.requiresObservable_==`boolean`?e.requiresObservable_:I.reactionRequiresObservable)&&console.warn(`[mobx] Derivation '`+e.name_+`' is created/updated without reading any observable value.`)}function fn(e){for(var t=e.observing_,n=e.observing_=e.newObserving_,r=N.UP_TO_DATE_,i=0,a=e.unboundDepsCount_,o=0;o<a;o++){var s=n[o];s.diffValue===0&&(s.diffValue=1,i!==o&&(n[i]=s),i++),s.dependenciesState_>r&&(r=s.dependenciesState_)}for(n.length=i,e.newObserving_=null,a=t.length;a--;){var c=t[a];c.diffValue===0&&kn(c,e),c.diffValue=0}for(;i--;){var l=n[i];l.diffValue===1&&(l.diffValue=0,On(l,e))}r!==N.UP_TO_DATE_&&(e.dependenciesState_=r,e.onBecomeStale_())}function pn(e){var t=e.observing_;e.observing_=[];for(var n=t.length;n--;)kn(t[n],e);e.dependenciesState_=N.NOT_TRACKING_}function mn(e){var t=F();try{return e()}finally{hn(t)}}function F(){var e=I.trackingDerivation;return I.trackingDerivation=null,e}function hn(e){I.trackingDerivation=e}function gn(e){var t=I.allowStateReads;return I.allowStateReads=e,t}function _n(e){I.allowStateReads=e}function vn(e){if(e.dependenciesState_!==N.UP_TO_DATE_){e.dependenciesState_=N.UP_TO_DATE_;for(var t=e.observing_,n=t.length;n--;)t[n].lowestObserverState_=N.UP_TO_DATE_}}var yn=[`mobxGuid`,`spyListeners`,`enforceActions`,`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`allowStateReads`,`disableErrorBoundaries`,`runId`,`UNCHANGED`,`useProxies`],bn=function(){this.version=6,this.UNCHANGED={},this.trackingDerivation=null,this.trackingContext=null,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!1,this.allowStateReads=!0,this.enforceActions=!0,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.reactionRequiresObservable=!1,this.observableRequiresReaction=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1,this.useProxies=!0,this.verifyProxies=!1,this.safeDescriptors=!0},xn=!0,Sn=!1,I=function(){var e=i();return e.__mobxInstanceCount>0&&!e.__mobxGlobals&&(xn=!1),e.__mobxGlobals&&e.__mobxGlobals.version!==new bn().version&&(xn=!1),xn?e.__mobxGlobals?(e.__mobxInstanceCount+=1,e.__mobxGlobals.UNCHANGED||(e.__mobxGlobals.UNCHANGED={}),e.__mobxGlobals):(e.__mobxInstanceCount=1,e.__mobxGlobals=new bn):(setTimeout(function(){Sn||n(35)},1),new bn)}();function Cn(){if((I.pendingReactions.length||I.inBatch||I.isRunningReactions)&&n(36),Sn=!0,xn){var e=i();--e.__mobxInstanceCount===0&&(e.__mobxGlobals=void 0),I=new bn}}function wn(){return I}function Tn(){var e=new bn;for(var t in e)yn.indexOf(t)===-1&&(I[t]=e[t]);I.allowStateChanges=!I.enforceActions}function En(e){return e.observers_&&e.observers_.size>0}function Dn(e){return e.observers_}function On(e,t){e.observers_.add(t),e.lowestObserverState_>t.dependenciesState_&&(e.lowestObserverState_=t.dependenciesState_)}function kn(e,t){e.observers_.delete(t),e.observers_.size===0&&An(e)}function An(e){e.isPendingUnobservation===!1&&(e.isPendingUnobservation=!0,I.pendingUnobservations.push(e))}function jn(){I.inBatch++}function Mn(){if(--I.inBatch===0){Vn();for(var e=I.pendingUnobservations,t=0;t<e.length;t++){var n=e[t];n.isPendingUnobservation=!1,n.observers_.size===0&&(n.isBeingObserved&&(n.isBeingObserved=!1,n.onBUO()),n instanceof tn&&n.suspend_())}I.pendingUnobservations=[]}}function Nn(e){ln(e);var t=I.trackingDerivation;return t===null?(e.observers_.size===0&&I.inBatch>0&&An(e),!1):(t.runId_!==e.lastAccessedBy_&&(e.lastAccessedBy_=t.runId_,t.newObserving_[t.unboundDepsCount_++]=e,!e.isBeingObserved&&I.trackingContext&&(e.isBeingObserved=!0,e.onBO())),e.isBeingObserved)}function Pn(e){e.lowestObserverState_!==N.STALE_&&(e.lowestObserverState_=N.STALE_,e.observers_.forEach(function(t){t.dependenciesState_===N.UP_TO_DATE_&&(t.isTracing_!==rn.NONE&&L(t,e),t.onBecomeStale_()),t.dependenciesState_=N.STALE_}))}function Fn(e){e.lowestObserverState_!==N.STALE_&&(e.lowestObserverState_=N.STALE_,e.observers_.forEach(function(t){t.dependenciesState_===N.POSSIBLY_STALE_?(t.dependenciesState_=N.STALE_,t.isTracing_!==rn.NONE&&L(t,e)):t.dependenciesState_===N.UP_TO_DATE_&&(e.lowestObserverState_=N.UP_TO_DATE_)}))}function In(e){e.lowestObserverState_===N.UP_TO_DATE_&&(e.lowestObserverState_=N.POSSIBLY_STALE_,e.observers_.forEach(function(e){e.dependenciesState_===N.UP_TO_DATE_&&(e.dependenciesState_=N.POSSIBLY_STALE_,e.onBecomeStale_())}))}function L(e,t){if(console.log(`[mobx.trace] '`+e.name_+`' is invalidated due to a change in: '`+t.name_+`'`),e.isTracing_===rn.BREAK){var n=[];Ln(wr(e),n,1),Function(`debugger;
|
|
60
|
+
Use '@override' decorator for methods overridden by subclass.`)}}function Oe(e){return D(e,we)||C(e,we,he({},e[we])),e[we]}function ke(e){return typeof e==`object`&&typeof e.kind==`string`}function Ae(e,t){t.includes(e.kind)||n(`The decorator applied to '`+String(e.name)+`' cannot be used on a `+e.kind+` element`)}var k=Symbol(`mobx administration`),je=function(){function e(e){e===void 0&&(e=`Atom@`+h()),this.name_=void 0,this.flags_=0,this.observers_=new Set,this.lastAccessedBy_=0,this.lowestObserverState_=F.NOT_TRACKING_,this.onBOL=void 0,this.onBUOL=void 0,this.name_=e}var t=e.prototype;return t.onBO=function(){this.onBOL&&this.onBOL.forEach(function(e){return e()})},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach(function(e){return e()})},t.reportObserved=function(){return Mn(this)},t.reportChanged=function(){An(),Nn(this),jn()},t.toString=function(){return this.name_},pe(e,[{key:`isBeingObserved`,get:function(){return ce(this.flags_,e.isBeingObservedMask_)},set:function(t){this.flags_=le(this.flags_,e.isBeingObservedMask_,t)}},{key:`isPendingUnobservation`,get:function(){return ce(this.flags_,e.isPendingUnobservationMask_)},set:function(t){this.flags_=le(this.flags_,e.isPendingUnobservationMask_,t)}},{key:`diffValue`,get:function(){return+!!ce(this.flags_,e.diffValueMask_)},set:function(t){this.flags_=le(this.flags_,e.diffValueMask_,t===1)}}])}();je.isBeingObservedMask_=1,je.isPendingUnobservationMask_=2,je.diffValueMask_=4;var Me=te(`Atom`,je);function Ne(e,t,n){t===void 0&&(t=_),n===void 0&&(n=_);var r=new je(e);return t!==_&&_r(r,t),n!==_&&vr(r,n),r}function Pe(e,t){return e===t}function Fe(e,t){return va(e,t)}function Ie(e,t){return va(e,t,1)}function Le(e,t){return Object.is?Object.is(e,t):e===t?e!==0||1/e==1/t:e!==e&&t!==t}var Re={identity:Pe,structural:Fe,default:Le,shallow:Ie};function ze(e,t,n){return Gr(e)?e:Array.isArray(e)?j.array(e,{name:n}):x(e)?j.object(e,void 0,{name:n}):ne(e)?j.map(e,{name:n}):w(e)?j.set(e,{name:n}):typeof e==`function`&&!lr(e)&&!Lr(e)?S(e)?Pr(e):sr(n,e):e}function Be(e,t,r){if(e==null||ea(e)||Li(e)||Hi(e)||U(e))return e;if(Array.isArray(e))return j.array(e,{name:r,deep:!1});if(x(e))return j.object(e,void 0,{name:r,deep:!1});if(ne(e))return j.map(e,{name:r,deep:!1});if(w(e))return j.set(e,{name:r,deep:!1});n(`The shallow modifier / decorator can only used in combination with arrays, objects, maps and sets`)}function Ve(e){return e}function He(e,t){return Gr(e)&&n(`observable.struct should not be used with observable values`),va(e,t)?t:e}var Ue=`override`,We=Te({annotationType_:Ue,make_:Ke,extend_:qe,decorate_20223_:Je});function Ge(e){return e.annotationType_===Ue}function Ke(e,t){return e.isPlainObject_&&n(`Cannot apply '`+this.annotationType_+`' to '`+e.name_+`.`+t.toString()+`':`+(`
|
|
61
|
+
'`+this.annotationType_+`' cannot be used on plain objects.`)),D(e.appliedAnnotations_,t)||n(`'`+e.name_+`.`+t.toString()+`' is annotated with '`+this.annotationType_+`', but no such annotated member was found on prototype.`),0}function qe(e,t,r,i){n(`'`+this.annotationType_+`' can only be used with 'makeObservable'`)}function Je(e,t){console.warn(`'`+this.annotationType_+`' cannot be used with decorators - this is a no-op`)}function Ye(e,t){return{annotationType_:e,options_:t,make_:Xe,extend_:Ze,decorate_20223_:Qe}}function Xe(e,t,n,r){var i;return(i=this.options_)!=null&&i.bound?this.extend_(e,t,n,!1)===null?0:1:r===e.target_?this.extend_(e,t,n,!1)===null?0:2:lr(n.value)?1:(s(r,t,et(e,this,t,n,!1)),2)}function Ze(e,t,n,r){var i=et(e,this,t,n);return e.defineProperty_(t,i,r)}function Qe(e,t){Ae(t,[`method`,`field`]);var r=t.kind,i=t.name,a=t.addInitializer,o=this,s=function(e){return Gt(o.options_?.name??i.toString(),e,o.options_?.autoAction??!1)};if(r==`field`)return function(e){var t,n=e;return lr(n)||(n=s(n)),(t=o.options_)!=null&&t.bound&&(n=n.bind(this),n.isMobxAction=!0),n};if(r==`method`){var c;return lr(e)||(e=s(e)),(c=this.options_)!=null&&c.bound&&a(function(){var e=this,t=e[i].bind(e);t.isMobxAction=!0,e[i]=t}),e}n(`Cannot apply '`+o.annotationType_+`' to '`+String(i)+`' (kind: `+r+`):`+(`
|
|
62
|
+
'`+o.annotationType_+`' can only be used on properties with a function value.`))}function $e(e,t,r,i){var a=t.annotationType_,o=i.value;v(o)||n(`Cannot apply '`+a+`' to '`+e.name_+`.`+r.toString()+`':`+(`
|
|
63
|
+
'`+a+`' can only be used on properties with a function value.`))}function et(e,t,n,r,i){var a,o;i===void 0&&(i=L.safeDescriptors),$e(e,t,n,r);var s=r.value;return(a=t.options_)!=null&&a.bound&&(s=s.bind(e.proxy_??e.target_)),{value:Gt(t.options_?.name??n.toString(),s,t.options_?.autoAction??!1,(o=t.options_)!=null&&o.bound?e.proxy_??e.target_:void 0),configurable:i?e.isPlainObject_:!0,enumerable:!1,writable:!i}}function tt(e,t){return{annotationType_:e,options_:t,make_:nt,extend_:rt,decorate_20223_:it}}function nt(e,t,n,r){var i;return r===e.target_?this.extend_(e,t,n,!1)===null?0:2:(i=this.options_)!=null&&i.bound&&(!D(e.target_,t)||!Lr(e.target_[t]))&&this.extend_(e,t,n,!1)===null?0:Lr(n.value)?1:(s(r,t,ot(e,this,t,n,!1,!1)),2)}function rt(e,t,n,r){var i=ot(e,this,t,n,this.options_?.bound);return e.defineProperty_(t,i,r)}function it(e,t){var n;Ae(t,[`method`]);var r=t.name,i=t.addInitializer;return Lr(e)||(e=Pr(e)),(n=this.options_)!=null&&n.bound&&i(function(){var e=this,t=e[r].bind(e);t.isMobXFlow=!0,e[r]=t}),e}function at(e,t,r,i){var a=t.annotationType_,o=i.value;v(o)||n(`Cannot apply '`+a+`' to '`+e.name_+`.`+r.toString()+`':`+(`
|
|
64
|
+
'`+a+`' can only be used on properties with a generator function value.`))}function ot(e,t,n,r,i,a){a===void 0&&(a=L.safeDescriptors),at(e,t,n,r);var o=r.value;return Lr(o)||(o=Pr(o)),i&&(o=o.bind(e.proxy_??e.target_),o.isMobXFlow=!0),{value:o,configurable:a?e.isPlainObject_:!0,enumerable:!1,writable:!a}}function st(e,t){return{annotationType_:e,options_:t,make_:ct,extend_:lt,decorate_20223_:ut}}function ct(e,t,n){return this.extend_(e,t,n,!1)===null?0:1}function lt(e,t,n,r){return dt(e,this,t,n),e.defineComputedProperty_(t,he({},this.options_,{get:n.get,set:n.set}),r)}function ut(e,t){Ae(t,[`getter`]);var n=this,r=t.name,i=t.addInitializer;return i(function(){var t=Zi(this)[k],i=he({},n.options_,{get:e,context:this});i.name||=t.name_+`.`+r.toString(),t.values_.set(r,new en(i))}),function(){return this[k].getObservablePropValue_(r)}}function dt(e,t,r,i){var a=t.annotationType_;i.get||n(`Cannot apply '`+a+`' to '`+e.name_+`.`+r.toString()+`':`+(`
|
|
65
|
+
'`+a+`' can only be used on getter(+setter) properties.`))}function ft(e,t){return{annotationType_:e,options_:t,make_:pt,extend_:mt,decorate_20223_:ht}}function pt(e,t,n){return this.extend_(e,t,n,!1)===null?0:1}function mt(e,t,n,r){return gt(e,this,t,n),e.defineObservableProperty_(t,n.value,this.options_?.enhancer??ze,r)}function ht(e,t){if(t.kind===`field`)throw n("Please use `@observable accessor "+String(t.name)+"` instead of `@observable "+String(t.name)+"`");Ae(t,[`accessor`]);var r=this,i=t.kind,a=t.name,o=new WeakSet;function s(e,t){var n=Zi(e)[k],i=new Qt(t,r.options_?.enhancer??ze,n.name_+`.`+a.toString(),!1);n.values_.set(a,i),o.add(e)}if(i==`accessor`)return{get:function(){return o.has(this)||s(this,e.get.call(this)),this[k].getObservablePropValue_(a)},set:function(e){return o.has(this)||s(this,e),this[k].setObservablePropValue_(a,e)},init:function(e){return o.has(this)||s(this,e),e}}}function gt(e,t,r,i){var a=t.annotationType_;`value`in i||n(`Cannot apply '`+a+`' to '`+e.name_+`.`+r.toString()+`':`+(`
|
|
66
|
+
'`+a+`' cannot be used on getter/setter properties`))}var _t=`true`,vt=yt();function yt(e){return{annotationType_:_t,options_:e,make_:bt,extend_:xt,decorate_20223_:St}}function bt(e,t,n,r){var i;if(n.get)return Bt.make_(e,t,n,r);if(n.set){var a=lr(n.set)?n.set:Gt(t.toString(),n.set);return r===e.target_?e.defineProperty_(t,{configurable:L.safeDescriptors?e.isPlainObject_:!0,set:a})===null?0:2:(s(r,t,{configurable:!0,set:a}),2)}if(r!==e.target_&&typeof n.value==`function`){var o;if(S(n.value)){var c;return((c=this.options_)!=null&&c.autoBind?Pr.bound:Pr).make_(e,t,n,r)}return((o=this.options_)!=null&&o.autoBind?sr.bound:sr).make_(e,t,n,r)}var l=this.options_?.deep===!1?j.ref:j;return typeof n.value==`function`&&(i=this.options_)!=null&&i.autoBind&&(n.value=n.value.bind(e.proxy_??e.target_)),l.make_(e,t,n,r)}function xt(e,t,n,r){var i;return n.get?Bt.extend_(e,t,n,r):n.set?e.defineProperty_(t,{configurable:L.safeDescriptors?e.isPlainObject_:!0,set:Gt(t.toString(),n.set)},r):(typeof n.value==`function`&&(i=this.options_)!=null&&i.autoBind&&(n.value=n.value.bind(e.proxy_??e.target_)),(this.options_?.deep===!1?j.ref:j).extend_(e,t,n,r))}function St(e,t){n(`'`+this.annotationType_+`' cannot be used as a decorator`)}var Ct=`observable`,wt=`observable.ref`,Tt=`observable.shallow`,Et=`observable.struct`,Dt={deep:!0,name:void 0,defaultDecorator:void 0,proxy:!0};Object.freeze(Dt);function Ot(e){return e||Dt}var kt=ft(Ct),At=ft(wt,{enhancer:Ve}),jt=ft(Tt,{enhancer:Be}),Mt=ft(Et,{enhancer:He}),Nt=Te(kt);function Pt(e){return e.deep===!0?ze:e.deep===!1?Ve:A(e.defaultDecorator)}function Ft(e){return e?e.defaultDecorator??yt(e):void 0}function A(e){return e?e.options_?.enhancer??ze:ze}function It(e,t,n){if(ke(t))return kt.decorate_20223_(e,t);if(y(t)){Ee(e,t,kt);return}return Gr(e)?e:x(e)?j.object(e,t,n):Array.isArray(e)?j.array(e,t):ne(e)?j.map(e,t):w(e)?j.set(e,t):typeof e==`object`&&e?e:j.box(e,t)}a(It,Nt);var j=a(It,{box:function(e,t){var n=Ot(t);return new Qt(e,Pt(n),n.name,!0,n.equals)},array:function(e,t){var n=Ot(t);return(L.useProxies===!1||n.proxy===!1?fa:ji)(e,Pt(n),n.name)},map:function(e,t){var n=Ot(t);return new Vi(e,Pt(n),n.name)},set:function(e,t){var n=Ot(t);return new Ki(e,Pt(n),n.name)},object:function(e,t,n){return ga(function(){return wr(L.useProxies===!1||n?.proxy===!1?Zi({},n):gi({},n),e,t)})},ref:Te(At),shallow:Te(jt),deep:Nt,struct:Te(Mt)}),M=`computed`,Lt=`computed.struct`,Rt=st(M),zt=st(Lt,{equals:Re.structural}),Bt=function(e,t){if(ke(t))return Rt.decorate_20223_(e,t);if(y(t))return Ee(e,t,Rt);if(x(e))return Te(st(M,e));v(e)||n("First argument to `computed` should be an expression."),v(t)&&n("A setter as second argument is no longer supported, use `{ set: fn }` option instead");var r=x(t)?t:{};return r.get=e,r.name||=e.name||``,new en(r)};Object.assign(Bt,Rt),Bt.struct=Te(zt);var Vt=0,Ht=1,Ut=o(function(){},`name`)?.configurable??!1,Wt={value:`action`,configurable:!0,writable:!1,enumerable:!1};function Gt(e,t,r,i){r===void 0&&(r=!1),v(t)||n("`action` can only be invoked on functions"),(typeof e!=`string`||!e)&&n(`actions should have valid names, got: '`+e+`'`);function a(){return Kt(e,r,t,i||this,arguments)}return a.isMobxAction=!0,a.toString=function(){return t.toString()},Ut&&(Wt.value=e,s(a,`name`,Wt)),a}function Kt(e,t,n,r,i){var a=qt(e,t,r,i);try{return n.apply(r,i)}catch(e){throw a.error_=e,e}finally{N(a)}}function qt(e,t,n,r){var i=Wn()&&!!e,a=0;i&&(a=Date.now(),Kn({type:Xn,name:e,object:n,arguments:r?Array.from(r):l}));var o=L.trackingDerivation,s=!t||!o;An();var c=L.allowStateChanges;s&&(I(),c=Yt(!0));var u=hn(!0),d={runAsAction_:s,prevDerivation_:o,prevAllowStateChanges_:c,prevAllowStateReads_:u,notifySpy_:i,startTime_:a,actionId_:Ht++,parentActionId_:Vt};return Vt=d.actionId_,d}function N(e){Vt!==e.actionId_&&n(30),Vt=e.parentActionId_,e.error_!==void 0&&(L.suppressReactionErrors=!0),Xt(e.prevAllowStateChanges_),gn(e.prevAllowStateReads_),jn(),e.runAsAction_&&mn(e.prevDerivation_),e.notifySpy_&&Jn({time:Date.now()-e.startTime_}),L.suppressReactionErrors=!1}function Jt(e,t){var n=Yt(e);try{return t()}finally{Xt(n)}}function Yt(e){var t=L.allowStateChanges;return L.allowStateChanges=e,t}function Xt(e){L.allowStateChanges=e}var Zt=`create`,Qt=function(e){function t(t,n,r,i,a){var o;return r===void 0&&(r=`ObservableValue@`+h()),i===void 0&&(i=!0),a===void 0&&(a=Re.default),o=e.call(this,r)||this,o.enhancer=void 0,o.name_=void 0,o.equals=void 0,o.hasUnreportedChange_=!1,o.interceptors_=void 0,o.changeListeners_=void 0,o.value_=void 0,o.dehancer=void 0,o.enhancer=n,o.name_=r,o.equals=a,o.value_=n(t,void 0,r),i&&Wn()&&Gn({type:Zt,object:o,observableKind:`value`,debugObjectName:o.name_,newValue:``+o.value_?.toString()}),o}O(t,e);var n=t.prototype;return n.dehanceValue=function(e){return this.dehancer===void 0?e:this.dehancer(e)},n.set=function(e){var t=this.value_;if(e=this.prepareNewValue_(e),e!==L.UNCHANGED){var n=Wn();n&&Kn({type:Di,object:this,observableKind:`value`,debugObjectName:this.name_,newValue:e,oldValue:t}),this.setNewValue_(e),n&&Jn()}},n.prepareNewValue_=function(e){if(sn(this),_i(this)){var t=yi(this,{object:this,type:Di,newValue:e});if(!t)return L.UNCHANGED;e=t.newValue}return e=this.enhancer(e,this.value_,this.name_),this.equals(this.value_,e)?L.UNCHANGED:e},n.setNewValue_=function(e){var t=this.value_;this.value_=e,this.reportChanged(),bi(this)&&Si(this,{type:Di,object:this,newValue:e,oldValue:t})},n.get=function(){return this.reportObserved(),this.dehanceValue(this.value_)},n.intercept_=function(e){return vi(this,e)},n.observe_=function(e,t){return t&&e({observableKind:`value`,debugObjectName:this.name_,object:this,type:Di,newValue:this.value_,oldValue:void 0}),xi(this,e)},n.raw=function(){return this.value_},n.toJSON=function(){return this.get()},n.toString=function(){return this.name_+`[`+this.value_+`]`},n.valueOf=function(){return oe(this.get())},n[Symbol.toPrimitive]=function(){return this.valueOf()},t}(je),$t=te(`ObservableValue`,Qt),en=function(){function e(e){this.dependenciesState_=F.NOT_TRACKING_,this.observing_=[],this.newObserving_=null,this.observers_=new Set,this.runId_=0,this.lastAccessedBy_=0,this.lowestObserverState_=F.UP_TO_DATE_,this.unboundDepsCount_=0,this.value_=new nn(null),this.name_=void 0,this.triggeredBy_=void 0,this.flags_=0,this.derivation=void 0,this.setter_=void 0,this.isTracing_=tn.NONE,this.scope_=void 0,this.equals_=void 0,this.requiresReaction_=void 0,this.keepAlive_=void 0,this.onBOL=void 0,this.onBUOL=void 0,e.get||n(31),this.derivation=e.get,this.name_=e.name||`ComputedValue@`+h(),e.set&&(this.setter_=Gt(this.name_+`-setter`,e.set)),this.equals_=e.equals||(e.compareStructural||e.struct?Re.structural:Re.default),this.scope_=e.context,this.requiresReaction_=e.requiresReaction,this.keepAlive_=!!e.keepAlive}var t=e.prototype;return t.onBecomeStale_=function(){Fn(this)},t.onBO=function(){this.onBOL&&this.onBOL.forEach(function(e){return e()})},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach(function(e){return e()})},t.get=function(){if(this.isComputing&&n(32,this.name_,this.derivation),L.inBatch===0&&this.observers_.size===0&&!this.keepAlive_)an(this)&&(this.warnAboutUntrackedRead_(),An(),this.value_=this.computeValue_(!1),jn());else if(Mn(this),an(this)){var e=L.trackingContext;this.keepAlive_&&!e&&(L.trackingContext=this),this.trackAndCompute()&&Pn(this),L.trackingContext=e}var t=this.value_;if(rn(t))throw t.cause;return t},t.set=function(e){if(this.setter_){this.isRunningSetter&&n(33,this.name_),this.isRunningSetter=!0;try{this.setter_.call(this.scope_,e)}finally{this.isRunningSetter=!1}}else n(34,this.name_)},t.trackAndCompute=function(){var e=this.value_,t=this.dependenciesState_===F.NOT_TRACKING_,n=this.computeValue_(!0),r=t||rn(e)||rn(n)||!this.equals_(e,n);return r&&(this.value_=n,Wn()&&Gn({observableKind:`computed`,debugObjectName:this.name_,object:this.scope_,type:`update`,oldValue:e,newValue:n})),r},t.computeValue_=function(e){this.isComputing=!0;var t=Yt(!1),n;if(e)n=ln(this,this.derivation,this.scope_);else if(L.disableErrorBoundaries===!0)n=this.derivation.call(this.scope_);else try{n=this.derivation.call(this.scope_)}catch(e){n=new nn(e)}return Xt(t),this.isComputing=!1,n},t.suspend_=function(){this.keepAlive_||(fn(this),this.value_=void 0,this.isTracing_!==tn.NONE&&console.log(`[mobx.trace] Computed value '`+this.name_+`' was suspended and it will recompute on the next access.`))},t.observe_=function(e,t){var n=this,r=!0,i=void 0;return ur(function(){var a=n.get();if(!r||t){var o=I();e({observableKind:`computed`,debugObjectName:n.name_,type:Di,object:n,newValue:a,oldValue:i}),mn(o)}r=!1,i=a})},t.warnAboutUntrackedRead_=function(){this.isTracing_!==tn.NONE&&console.log(`[mobx.trace] Computed value '`+this.name_+`' is being read outside a reactive context. Doing a full recompute.`),(typeof this.requiresReaction_==`boolean`?this.requiresReaction_:L.computedRequiresReaction)&&console.warn(`[mobx] Computed value '`+this.name_+`' is being read outside a reactive context. Doing a full recompute.`)},t.toString=function(){return this.name_+`[`+this.derivation.toString()+`]`},t.valueOf=function(){return oe(this.get())},t[Symbol.toPrimitive]=function(){return this.valueOf()},pe(e,[{key:`isComputing`,get:function(){return ce(this.flags_,e.isComputingMask_)},set:function(t){this.flags_=le(this.flags_,e.isComputingMask_,t)}},{key:`isRunningSetter`,get:function(){return ce(this.flags_,e.isRunningSetterMask_)},set:function(t){this.flags_=le(this.flags_,e.isRunningSetterMask_,t)}},{key:`isBeingObserved`,get:function(){return ce(this.flags_,e.isBeingObservedMask_)},set:function(t){this.flags_=le(this.flags_,e.isBeingObservedMask_,t)}},{key:`isPendingUnobservation`,get:function(){return ce(this.flags_,e.isPendingUnobservationMask_)},set:function(t){this.flags_=le(this.flags_,e.isPendingUnobservationMask_,t)}},{key:`diffValue`,get:function(){return+!!ce(this.flags_,e.diffValueMask_)},set:function(t){this.flags_=le(this.flags_,e.diffValueMask_,t===1)}}])}();en.isComputingMask_=1,en.isRunningSetterMask_=2,en.isBeingObservedMask_=4,en.isPendingUnobservationMask_=8,en.diffValueMask_=16;var P=te(`ComputedValue`,en),F;(function(e){e[e.NOT_TRACKING_=-1]=`NOT_TRACKING_`,e[e.UP_TO_DATE_=0]=`UP_TO_DATE_`,e[e.POSSIBLY_STALE_=1]=`POSSIBLY_STALE_`,e[e.STALE_=2]=`STALE_`})(F||={});var tn;(function(e){e[e.NONE=0]=`NONE`,e[e.LOG=1]=`LOG`,e[e.BREAK=2]=`BREAK`})(tn||={});var nn=function(e){this.cause=void 0,this.cause=e};function rn(e){return e instanceof nn}function an(e){switch(e.dependenciesState_){case F.UP_TO_DATE_:return!1;case F.NOT_TRACKING_:case F.STALE_:return!0;case F.POSSIBLY_STALE_:for(var t=hn(!0),n=I(),r=e.observing_,i=r.length,a=0;a<i;a++){var o=r[a];if(P(o)){if(L.disableErrorBoundaries)o.get();else try{o.get()}catch{return mn(n),gn(t),!0}if(e.dependenciesState_===F.STALE_)return mn(n),gn(t),!0}}return _n(e),mn(n),gn(t),!1}}function on(){return L.trackingDerivation!==null}function sn(e){var t=e.observers_.size>0;!L.allowStateChanges&&(t||L.enforceActions===`always`)&&console.warn(`[MobX] `+(L.enforceActions?`Since strict-mode is enabled, changing (observed) observable values without using an action is not allowed. Tried to modify: `:`Side effects like changing state are not allowed at this point. Are you trying to modify state from, for example, a computed value or the render function of a React component? You can wrap side effects in 'runInAction' (or decorate functions with 'action') if needed. Tried to modify: `)+e.name_)}function cn(e){!L.allowStateReads&&L.observableRequiresReaction&&console.warn(`[mobx] Observable '`+e.name_+`' being read outside a reactive context.`)}function ln(e,t,n){var r=hn(!0);_n(e),e.newObserving_=Array(e.runId_===0?100:e.observing_.length),e.unboundDepsCount_=0,e.runId_=++L.runId;var i=L.trackingDerivation;L.trackingDerivation=e,L.inBatch++;var a;if(L.disableErrorBoundaries===!0)a=t.call(n);else try{a=t.call(n)}catch(e){a=new nn(e)}return L.inBatch--,L.trackingDerivation=i,dn(e),un(e),gn(r),a}function un(e){e.observing_.length===0&&(typeof e.requiresObservable_==`boolean`?e.requiresObservable_:L.reactionRequiresObservable)&&console.warn(`[mobx] Derivation '`+e.name_+`' is created/updated without reading any observable value.`)}function dn(e){for(var t=e.observing_,n=e.observing_=e.newObserving_,r=F.UP_TO_DATE_,i=0,a=e.unboundDepsCount_,o=0;o<a;o++){var s=n[o];s.diffValue===0&&(s.diffValue=1,i!==o&&(n[i]=s),i++),s.dependenciesState_>r&&(r=s.dependenciesState_)}for(n.length=i,e.newObserving_=null,a=t.length;a--;){var c=t[a];c.diffValue===0&&On(c,e),c.diffValue=0}for(;i--;){var l=n[i];l.diffValue===1&&(l.diffValue=0,Dn(l,e))}r!==F.UP_TO_DATE_&&(e.dependenciesState_=r,e.onBecomeStale_())}function fn(e){var t=e.observing_;e.observing_=[];for(var n=t.length;n--;)On(t[n],e);e.dependenciesState_=F.NOT_TRACKING_}function pn(e){var t=I();try{return e()}finally{mn(t)}}function I(){var e=L.trackingDerivation;return L.trackingDerivation=null,e}function mn(e){L.trackingDerivation=e}function hn(e){var t=L.allowStateReads;return L.allowStateReads=e,t}function gn(e){L.allowStateReads=e}function _n(e){if(e.dependenciesState_!==F.UP_TO_DATE_){e.dependenciesState_=F.UP_TO_DATE_;for(var t=e.observing_,n=t.length;n--;)t[n].lowestObserverState_=F.UP_TO_DATE_}}var vn=[`mobxGuid`,`spyListeners`,`enforceActions`,`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`allowStateReads`,`disableErrorBoundaries`,`runId`,`UNCHANGED`,`useProxies`],yn=function(){this.version=6,this.UNCHANGED={},this.trackingDerivation=null,this.trackingContext=null,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!1,this.allowStateReads=!0,this.enforceActions=!0,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.reactionRequiresObservable=!1,this.observableRequiresReaction=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1,this.useProxies=!0,this.verifyProxies=!1,this.safeDescriptors=!0},bn=!0,xn=!1,L=function(){var e=i();return e.__mobxInstanceCount>0&&!e.__mobxGlobals&&(bn=!1),e.__mobxGlobals&&e.__mobxGlobals.version!==new yn().version&&(bn=!1),bn?e.__mobxGlobals?(e.__mobxInstanceCount+=1,e.__mobxGlobals.UNCHANGED||(e.__mobxGlobals.UNCHANGED={}),e.__mobxGlobals):(e.__mobxInstanceCount=1,e.__mobxGlobals=new yn):(setTimeout(function(){xn||n(35)},1),new yn)}();function Sn(){if((L.pendingReactions.length||L.inBatch||L.isRunningReactions)&&n(36),xn=!0,bn){var e=i();--e.__mobxInstanceCount===0&&(e.__mobxGlobals=void 0),L=new yn}}function Cn(){return L}function wn(){var e=new yn;for(var t in e)vn.indexOf(t)===-1&&(L[t]=e[t]);L.allowStateChanges=!L.enforceActions}function Tn(e){return e.observers_&&e.observers_.size>0}function En(e){return e.observers_}function Dn(e,t){e.observers_.add(t),e.lowestObserverState_>t.dependenciesState_&&(e.lowestObserverState_=t.dependenciesState_)}function On(e,t){e.observers_.delete(t),e.observers_.size===0&&kn(e)}function kn(e){e.isPendingUnobservation===!1&&(e.isPendingUnobservation=!0,L.pendingUnobservations.push(e))}function An(){L.inBatch++}function jn(){if(--L.inBatch===0){Vn();for(var e=L.pendingUnobservations,t=0;t<e.length;t++){var n=e[t];n.isPendingUnobservation=!1,n.observers_.size===0&&(n.isBeingObserved&&(n.isBeingObserved=!1,n.onBUO()),n instanceof en&&n.suspend_())}L.pendingUnobservations=[]}}function Mn(e){cn(e);var t=L.trackingDerivation;return t===null?(e.observers_.size===0&&L.inBatch>0&&kn(e),!1):(t.runId_!==e.lastAccessedBy_&&(e.lastAccessedBy_=t.runId_,t.newObserving_[t.unboundDepsCount_++]=e,!e.isBeingObserved&&L.trackingContext&&(e.isBeingObserved=!0,e.onBO())),e.isBeingObserved)}function Nn(e){e.lowestObserverState_!==F.STALE_&&(e.lowestObserverState_=F.STALE_,e.observers_.forEach(function(t){t.dependenciesState_===F.UP_TO_DATE_&&(t.isTracing_!==tn.NONE&&R(t,e),t.onBecomeStale_()),t.dependenciesState_=F.STALE_}))}function Pn(e){e.lowestObserverState_!==F.STALE_&&(e.lowestObserverState_=F.STALE_,e.observers_.forEach(function(t){t.dependenciesState_===F.POSSIBLY_STALE_?(t.dependenciesState_=F.STALE_,t.isTracing_!==tn.NONE&&R(t,e)):t.dependenciesState_===F.UP_TO_DATE_&&(e.lowestObserverState_=F.UP_TO_DATE_)}))}function Fn(e){e.lowestObserverState_===F.UP_TO_DATE_&&(e.lowestObserverState_=F.POSSIBLY_STALE_,e.observers_.forEach(function(e){e.dependenciesState_===F.UP_TO_DATE_&&(e.dependenciesState_=F.POSSIBLY_STALE_,e.onBecomeStale_())}))}function R(e,t){if(console.log(`[mobx.trace] '`+e.name_+`' is invalidated due to a change in: '`+t.name_+`'`),e.isTracing_===tn.BREAK){var n=[];In(B(e),n,1),Function(`debugger;
|
|
67
67
|
/*
|
|
68
68
|
Tracing '`+e.name_+`'
|
|
69
69
|
|
|
@@ -71,30 +71,30 @@ You are entering this break point because derivation '`+e.name_+`' is being trac
|
|
|
71
71
|
Just follow the stacktrace you should now see in the devtools to see precisely what piece of your code is causing this update
|
|
72
72
|
The stackframe you are looking for is at least ~6-8 stack-frames up.
|
|
73
73
|
|
|
74
|
-
`+(e instanceof
|
|
74
|
+
`+(e instanceof en?e.derivation.toString().replace(/[*]\//g,`/`):``)+`
|
|
75
75
|
|
|
76
76
|
The dependencies for this derivation are:
|
|
77
77
|
|
|
78
78
|
`+n.join(`
|
|
79
79
|
`)+`
|
|
80
80
|
*/
|
|
81
|
-
`)()}}function Ln(e,t,n){if(t.length>=1e3){t.push(`(and many more)`);return}t.push(``+` `.repeat(n-1)+e.name),e.dependencies&&e.dependencies.forEach(function(e){return Ln(e,t,n+1)})}var R=function(){function e(e,t,n,r){e===void 0&&(e=`Reaction@`+h()),this.name_=void 0,this.onInvalidate_=void 0,this.errorHandler_=void 0,this.requiresObservable_=void 0,this.observing_=[],this.newObserving_=[],this.dependenciesState_=N.NOT_TRACKING_,this.runId_=0,this.unboundDepsCount_=0,this.flags_=0,this.isTracing_=rn.NONE,this.name_=e,this.onInvalidate_=t,this.errorHandler_=n,this.requiresObservable_=r}var t=e.prototype;return t.onBecomeStale_=function(){this.schedule_()},t.schedule_=function(){this.isScheduled||(this.isScheduled=!0,I.pendingReactions.push(this),Vn())},t.runReaction_=function(){if(!this.isDisposed){jn(),this.isScheduled=!1;var e=I.trackingContext;if(I.trackingContext=this,sn(this)){this.isTrackPending=!0;try{this.onInvalidate_(),this.isTrackPending&&Wn()&&Gn({name:this.name_,type:`scheduled-reaction`})}catch(e){this.reportExceptionInDerivation_(e)}}I.trackingContext=e,Mn()}},t.track=function(e){if(!this.isDisposed){jn();var t=Wn(),n;t&&(n=Date.now(),Kn({name:this.name_,type:`reaction`})),this.isRunning=!0;var r=I.trackingContext;I.trackingContext=this;var i=un(this,e,void 0);I.trackingContext=r,this.isRunning=!1,this.isTrackPending=!1,this.isDisposed&&pn(this),on(i)&&this.reportExceptionInDerivation_(i.cause),t&&Jn({time:Date.now()-n}),Mn()}},t.reportExceptionInDerivation_=function(e){var t=this;if(this.errorHandler_){this.errorHandler_(e,this);return}if(I.disableErrorBoundaries)throw e;var n=`[mobx] Encountered an uncaught exception that was thrown by a reaction or observer component, in: '`+this+`'`;I.suppressReactionErrors?console.warn(`[mobx] (error in reaction '`+this.name_+`' suppressed, fix error of causing action below)`):console.error(n,e),Wn()&&Gn({type:`error`,name:this.name_,message:n,error:``+e}),I.globalReactionErrorHandlers.forEach(function(n){return n(e,t)})},t.dispose=function(){this.isDisposed||(this.isDisposed=!0,this.isRunning||(jn(),pn(this),Mn()))},t.getDisposer_=function(e){var t=this,n=function n(){t.dispose(),e==null||e.removeEventListener==null||e.removeEventListener(`abort`,n)};return e==null||e.addEventListener==null||e.addEventListener(`abort`,n),n[O]=this,`dispose`in Symbol&&typeof Symbol.dispose==`symbol`&&(n[Symbol.dispose]=n),n},t.toString=function(){return`Reaction[`+this.name_+`]`},t.trace=function(e){e===void 0&&(e=!1),si(this,e)},me(e,[{key:`isDisposed`,get:function(){return le(this.flags_,e.isDisposedMask_)},set:function(t){this.flags_=ue(this.flags_,e.isDisposedMask_,t)}},{key:`isScheduled`,get:function(){return le(this.flags_,e.isScheduledMask_)},set:function(t){this.flags_=ue(this.flags_,e.isScheduledMask_,t)}},{key:`isTrackPending`,get:function(){return le(this.flags_,e.isTrackPendingMask_)},set:function(t){this.flags_=ue(this.flags_,e.isTrackPendingMask_,t)}},{key:`isRunning`,get:function(){return le(this.flags_,e.isRunningMask_)},set:function(t){this.flags_=ue(this.flags_,e.isRunningMask_,t)}},{key:`diffValue`,get:function(){return+!!le(this.flags_,e.diffValueMask_)},set:function(t){this.flags_=ue(this.flags_,e.diffValueMask_,t===1)}}])}();R.isDisposedMask_=1,R.isScheduledMask_=2,R.isTrackPendingMask_=4,R.isRunningMask_=8,R.diffValueMask_=16;function Rn(e){return I.globalReactionErrorHandlers.push(e),function(){var t=I.globalReactionErrorHandlers.indexOf(e);t>=0&&I.globalReactionErrorHandlers.splice(t,1)}}var zn=100,Bn=function(e){return e()};function Vn(){I.inBatch>0||I.isRunningReactions||Bn(Hn)}function Hn(){I.isRunningReactions=!0;for(var e=I.pendingReactions,t=0;e.length>0;){++t===zn&&(console.error(`Reaction doesn't converge to a stable state after `+zn+` iterations.`+(` Probably there is a cycle in the reactive function: `+e[0])),e.splice(0));for(var n=e.splice(0),r=0,i=n.length;r<i;r++)n[r].runReaction_()}I.isRunningReactions=!1}var z=te(`Reaction`,R);function Un(e){var t=Bn;Bn=function(n){return e(function(){return t(n)})}}function Wn(){return!!I.spyListeners.length}function Gn(e){if(I.spyListeners.length)for(var t=I.spyListeners,n=0,r=t.length;n<r;n++)t[n](e)}function Kn(e){Gn(D({},e,{spyReportStart:!0}))}var qn={type:`report-end`,spyReportEnd:!0};function Jn(e){Gn(e?D({},e,{type:`report-end`,spyReportEnd:!0}):qn)}function Yn(e){return I.spyListeners.push(e),g(function(){I.spyListeners=I.spyListeners.filter(function(t){return t!==e})})}var Xn=`action`,Zn=`action.bound`,Qn=`autoAction`,$n=`autoAction.bound`,er=`<unnamed action>`,tr=Xe(Xn),nr=Xe(Zn,{bound:!0}),rr=Xe(Qn,{autoAction:!0}),ir=Xe($n,{autoAction:!0,bound:!0});function ar(e){return function(t,r){if(v(t))return j(t.name||er,t,e);if(v(r))return j(t,r,e);if(Ae(r))return(e?rr:tr).decorate_20223_(t,r);if(y(r))return De(t,r,e?rr:tr);if(y(t))return Ee(Xe(e?Qn:Xn,{name:t,autoAction:e}));n("Invalid arguments for `action`")}}var or=ar(!1);Object.assign(or,tr);var sr=ar(!0);Object.assign(sr,rr),or.bound=Ee(nr),sr.bound=Ee(ir);function cr(e){return qt(e.name||er,!1,e,this,void 0)}function lr(e){return v(e)&&e.isMobxAction===!0}function ur(e,t){var r;t===void 0&&(t=u),v(e)||n(`Autorun expects a function as first argument`),lr(e)&&n(`Autorun does not accept actions since actions are untrackable`);var i=t?.name??(e.name||`Autorun@`+h()),a=!t.scheduler&&!t.delay,o;if(a)o=new R(i,function(){this.track(l)},t.onError,t.requiresObservable);else{var s=fr(t),c=!1;o=new R(i,function(){c||(c=!0,s(function(){c=!1,o.isDisposed||o.track(l)}))},t.onError,t.requiresObservable)}function l(){e(o)}return(r=t)!=null&&(r=r.signal)!=null&&r.aborted||o.schedule_(),o.getDisposer_(t?.signal)}var dr=function(e){return e()};function fr(e){return e.scheduler?e.scheduler:e.delay?function(t){return setTimeout(t,e.delay)}:dr}function pr(e,t,r){var i;r===void 0&&(r=u),(!v(e)||!v(t))&&n(`First and second argument to reaction should be functions`),x(r)||n(`Third argument of reactions should be an object`);var a=r.name??`Reaction@`+h(),o=or(a,r.onError?mr(r.onError,t):t),s=!r.scheduler&&!r.delay,c=fr(r),l=!0,d=!1,f,p=r.compareStructural?ze.structural:r.equals||ze.default,m=new R(a,function(){l||s?g():d||(d=!0,c(g))},r.onError,r.requiresObservable);function g(){if(d=!1,!m.isDisposed){var t=!1,n=f;m.track(function(){var n=Xt(!1,function(){return e(m)});t=l||!p(f,n),f=n}),(l&&r.fireImmediately||!l&&t)&&o(f,n,m),l=!1}}return(i=r)!=null&&(i=i.signal)!=null&&i.aborted||m.schedule_(),m.getDisposer_(r?.signal)}function mr(e,t){return function(){try{return t.apply(this,arguments)}catch(t){e.call(this,t)}}}var hr=`onBO`,gr=`onBUO`;function _r(e,t,n){return yr(hr,e,t,n)}function vr(e,t,n){return yr(gr,e,t,n)}function yr(e,t,n,r){var i=typeof r==`function`?pa(t,n):pa(t),a=v(r)?r:n,o=e+`L`;return i[o]?i[o].add(a):i[o]=new Set([a]),function(){var e=i[o];e&&(e.delete(a),e.size===0&&delete i[o])}}var br=`never`,xr=`always`,B=`observed`;function Sr(e){e.isolateGlobalState===!0&&Cn();var t=e.useProxies,n=e.enforceActions;if(t!==void 0&&(I.useProxies=t===xr?!0:t===br?!1:typeof Proxy<`u`),t===`ifavailable`&&(I.verifyProxies=!0),n!==void 0){var r=n===xr?xr:n===B;I.enforceActions=r,I.allowStateChanges=!(r===!0||r===xr)}[`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`disableErrorBoundaries`,`safeDescriptors`].forEach(function(t){t in e&&(I[t]=!!e[t])}),I.allowStateReads=!I.observableRequiresReaction,I.disableErrorBoundaries===!0&&console.warn("WARNING: Debug feature only. MobX will NOT recover from errors when `disableErrorBoundaries` is enabled."),e.reactionScheduler&&Un(e.reactionScheduler)}function Cr(e,t,r,i){arguments.length>4&&n(`'extendObservable' expected 2-4 arguments`),typeof e!=`object`&&n(`'extendObservable' expects an object as first argument`),Vi(e)&&n(`'extendObservable' should not be used on maps, use map.merge instead`),x(t)||n(`'extendObservable' only accepts plain objects as second argument`),(Gr(t)||Gr(r))&&n(`Extending an object with another observable (object) is not supported`);var a=ce(t);return ga(function(){var t=Zi(e,i)[O];E(a).forEach(function(e){t.extend_(e,a[e],r&&e in r?r[e]:!0)})}),e}function wr(e,t){return Tr(pa(e,t))}function Tr(e){var t={name:e.name_};return e.observing_&&e.observing_.length>0&&(t.dependencies=Or(e.observing_).map(Tr)),t}function Er(e,t){return Dr(pa(e,t))}function Dr(e){var t={name:e.name_};return En(e)&&(t.observers=Array.from(Dn(e)).map(Dr)),t}function Or(e){return Array.from(new Set(e))}var kr=0,Ar=function(e){function t(){var n=e.call(this,`FLOW_CANCELLED`)||this;return Object.setPrototypeOf(n,(this instanceof t?this.constructor:void 0).prototype),n.name=`FlowCancellationError`,n}_e(t,e);var n=t.prototype;return n.toString=function(){return`Error: `+this.message},t}(we(Error));function jr(e){return e instanceof Ar}var Mr=nt(`flow`),Nr=nt(`flow.bound`,{bound:!0}),Pr=Object.assign(function(e,t){if(Ae(t))return Mr.decorate_20223_(e,t);if(y(t))return De(e,t,Mr);arguments.length!==1&&n(`Flow expects single argument with generator function`);var r=e,i=r.name||`<unnamed flow>`,a=function(){var e=this,t=arguments,n=++kr,a=or(i+` - runid: `+n+` - init`,r).apply(e,t),o,s=void 0,c=new Promise(function(e,t){var r=0;o=t;function c(e){s=void 0;var o;try{o=or(i+` - runid: `+n+` - yield `+ r++,a.next).call(a,e)}catch(e){return t(e)}u(o)}function l(e){s=void 0;var o;try{o=or(i+` - runid: `+n+` - yield `+ r++,a.throw).call(a,e)}catch(e){return t(e)}u(o)}function u(n){if(v(n?.then)){n.then(u,t);return}return n.done?e(n.value):(s=Promise.resolve(n.value),s.then(c,l))}c(void 0)});return c.cancel=or(i+` - runid: `+n+` - cancel`,function(){try{s&&V(s);var e=a.return(void 0),t=Promise.resolve(e.value);t.then(_,_),V(t),o(new Ar)}catch(e){o(e)}}),c};return a.isMobXFlow=!0,a},Mr);Pr.bound=Ee(Nr);function V(e){v(e.cancel)&&e.cancel()}function Fr(e){return e}function Ir(e){return e?.isMobXFlow===!0}function Lr(e,t,r){var i;if(Vi(e)||Ii(e)||en(e))i=ma(e);else if(ea(e)){if(!y(t))return n(`InterceptReads can only be used with a specific property, not with an object in general`);i=ma(e,t)}else return n(`Expected observable map, object or array as first array`);return i.dehancer===void 0?(i.dehancer=typeof t==`function`?t:r,function(){i.dehancer=void 0}):n(`An intercept reader was already established`)}function Rr(e,t,n){return v(n)?Br(e,t,n):zr(e,t)}function zr(e,t){return ma(e).intercept_(t)}function Br(e,t,n){return ma(e,t).intercept_(n)}function Vr(e,t){return t===void 0?nn(e):ea(e)===!1||!e[O].values_.has(t)?!1:nn(pa(e,t))}function Hr(e){return arguments.length>1?n(`isComputed expects only 1 argument. Use isComputedProp to inspect the observability of a property`):Vr(e)}function Ur(e,t){return y(t)?Vr(e,t):n(`isComputed expected a property name as second argument`)}function Wr(e,t){return e?t===void 0?ea(e)||!!e[O]||Ne(e)||z(e)||nn(e):Vi(e)||Ii(e)?n(`isObservable(object, propertyName) is not supported for arrays and maps. Use map.has or array.length instead.`):ea(e)?e[O].values_.has(t):!1:!1}function Gr(e){return arguments.length!==1&&n(`isObservable expects only 1 argument. Use isObservableProp to inspect the observability of a property`),Wr(e)}function Kr(e,t){return y(t)?Wr(e,t):n(`expected a property name as second argument`)}function qr(e){if(ea(e))return e[O].keys_();if(Vi(e)||Ki(e))return Array.from(e.keys());if(Ii(e))return e.map(function(e,t){return t});n(5)}function Jr(e){if(ea(e))return qr(e).map(function(t){return e[t]});if(Vi(e))return qr(e).map(function(t){return e.get(t)});if(Ki(e))return Array.from(e.values());if(Ii(e))return e.slice();n(6)}function Yr(e){if(ea(e))return qr(e).map(function(t){return[t,e[t]]});if(Vi(e))return qr(e).map(function(t){return[t,e.get(t)]});if(Ki(e))return Array.from(e.entries());if(Ii(e))return e.map(function(e,t){return[t,e]});n(7)}function Xr(e,t,r){if(arguments.length===2&&!Ki(e)){jn();var i=t;try{for(var a in i)Xr(e,a,i[a])}finally{Mn()}return}ea(e)?e[O].set_(t,r):Vi(e)?e.set(t,r):Ki(e)?e.add(t):Ii(e)?(typeof t!=`number`&&(t=parseInt(t,10)),t<0&&n(`Invalid index: '`+t+`'`),jn(),t>=e.length&&(e.length=t+1),e[t]=r,Mn()):n(8)}function Zr(e,t){ea(e)?e[O].delete_(t):Vi(e)||Ki(e)?e.delete(t):Ii(e)?(typeof t!=`number`&&(t=parseInt(t,10)),e.splice(t,1)):n(9)}function Qr(e,t){if(ea(e))return e[O].has_(t);if(Vi(e)||Ki(e))return e.has(t);if(Ii(e))return t>=0&&t<e.length;n(10)}function $r(e,t){if(Qr(e,t)){if(ea(e))return e[O].get_(t);if(Vi(e))return e.get(t);if(Ii(e))return e[t];n(11)}}function ei(e,t,r){if(ea(e))return e[O].defineProperty_(t,r);n(39)}function ti(e){if(ea(e))return e[O].ownKeys_();n(38)}function ni(e,t,n,r){return v(n)?ii(e,t,n,r):ri(e,t,n)}function ri(e,t,n){return ma(e).observe_(t,n)}function ii(e,t,n,r){return ma(e,t).observe_(n,r)}function ai(e,t,n){return e.set(t,n),n}function H(e,t){if(typeof e!=`object`||!e||e instanceof Date||!Gr(e))return e;if(en(e)||nn(e))return H(e.get(),t);if(t.has(e))return t.get(e);if(Ii(e)){var n=ai(t,e,Array(e.length));return e.forEach(function(e,r){n[r]=H(e,t)}),n}if(Ki(e)){var r=ai(t,e,new Set);return e.forEach(function(e){r.add(H(e,t))}),r}if(Vi(e)){var i=ai(t,e,new Map);return e.forEach(function(e,n){i.set(n,H(e,t))}),i}else{var a=ai(t,e,{});return ti(e).forEach(function(n){c.propertyIsEnumerable.call(e,n)&&(a[n]=H(e[n],t))}),a}}function oi(e,t){return t&&n(`toJS no longer supports options`),H(e,new Map)}function si(){var e=!1,t=[...arguments];typeof t[t.length-1]==`boolean`&&(e=t.pop());var r=ci(t);if(!r)return n(`'trace(break?)' can only be used inside a tracked computed value or a Reaction. Consider passing in the computed value or reaction explicitly`);r.isTracing_===rn.NONE&&console.log(`[mobx.trace] '`+r.name_+`' tracing enabled`),r.isTracing_=e?rn.BREAK:rn.LOG}function ci(e){switch(e.length){case 0:return I.trackingDerivation;case 1:return pa(e[0]);case 2:return pa(e[0],e[1])}}function li(e,t){t===void 0&&(t=void 0),jn();try{return e.apply(t)}finally{Mn()}}function ui(e,t,n){return arguments.length===1||t&&typeof t==`object`?fi(e,t):di(e,t,n||{})}function di(e,t,n){var r;if(typeof n.timeout==`number`){var i=Error(`WHEN_TIMEOUT`);r=setTimeout(function(){if(!o[O].isDisposed)if(o(),n.onError)n.onError(i);else throw i},n.timeout)}n.name=n.name||`When@`+h();var a=j(n.name+`-effect`,t),o=ur(function(t){Xt(!1,e)&&(t.dispose(),r&&clearTimeout(r),a())},n);return o}function fi(e,t){var r;if(t&&t.onError)return n(`the options 'onError' and 'promise' cannot be combined`);if(t!=null&&(r=t.signal)!=null&&r.aborted)return Object.assign(Promise.reject(Error(`WHEN_ABORTED`)),{cancel:function(){return null}});var i,a,o=new Promise(function(n,r){var o,s=di(e,n,D({},t,{onError:r}));i=function(){s(),r(Error(`WHEN_CANCELLED`))},a=function(){s(),r(Error(`WHEN_ABORTED`))},t==null||(o=t.signal)==null||o.addEventListener==null||o.addEventListener(`abort`,a)}).finally(function(){var e;return t==null||(e=t.signal)==null||e.removeEventListener==null?void 0:e.removeEventListener(`abort`,a)});return o.cancel=i,o}function pi(e){return e[O]}var mi={has:function(e,t){return I.trackingDerivation&&m(`detect new properties using the 'in' operator. Use 'has' from 'mobx' instead.`),pi(e).has_(t)},get:function(e,t){return pi(e).get_(t)},set:function(e,t,n){return y(t)?(pi(e).values_.has(t)||m(`add a new observable property through direct assignment. Use 'set' from 'mobx' instead.`),pi(e).set_(t,n,!0)??!0):!1},deleteProperty:function(e,t){return m(`delete properties from an observable object. Use 'remove' from 'mobx' instead.`),y(t)?pi(e).delete_(t,!0)??!0:!1},defineProperty:function(e,t,n){return m(`define property on an observable object. Use 'defineProperty' from 'mobx' instead.`),pi(e).defineProperty_(t,n)??!0},ownKeys:function(e){return I.trackingDerivation&&m(`iterate keys to detect added / removed properties. Use 'keys' from 'mobx' instead.`),pi(e).ownKeys_()},preventExtensions:function(e){n(13)}};function hi(e,t){var n;return p(),e=Zi(e,t),(n=e[O]).proxy_??(n.proxy_=new Proxy(e,mi))}function gi(e){return e.interceptors_!==void 0&&e.interceptors_.length>0}function _i(e,t){var n=e.interceptors_||=[];return n.push(t),g(function(){var e=n.indexOf(t);e!==-1&&n.splice(e,1)})}function vi(e,t){var r=F();try{for(var i=[].concat(e.interceptors_||[]),a=0,o=i.length;a<o&&(t=i[a](t),t&&!t.type&&n(14),t);a++);return t}finally{hn(r)}}function yi(e){return e.changeListeners_!==void 0&&e.changeListeners_.length>0}function bi(e,t){var n=e.changeListeners_||=[];return n.push(t),g(function(){var e=n.indexOf(t);e!==-1&&n.splice(e,1)})}function xi(e,t){var n=F(),r=e.changeListeners_;if(r){r=r.slice();for(var i=0,a=r.length;i<a;i++)r[i](t);hn(n)}}function Si(e,t,r){return ga(function(){var i=Zi(e,r)[O];t&&e[Te]&&n(`makeObservable second arg must be nullish when using decorators. Mixing @decorator syntax with annotations is not supported.`),t??=ke(e),E(t).forEach(function(e){return i.make_(e,t[e])})}),e}var Ci=Symbol(`mobx-keys`);function wi(e,t,r){return!x(e)&&!x(Object.getPrototypeOf(e))&&n(`'makeAutoObservable' can only be used for classes that don't have a superclass`),ea(e)&&n(`makeAutoObservable can only be used on objects not already made observable`),x(e)?Cr(e,e,t,r):(ga(function(){var n=Zi(e,r)[O];if(!e[Ci]){var i=Object.getPrototypeOf(e),a=new Set([].concat(E(e),E(i)));a.delete(`constructor`),a.delete(O),C(i,Ci,a)}e[Ci].forEach(function(e){return n.make_(e,t&&e in t?t[e]:!0)})}),e)}var Ti=`splice`,Ei=`update`,Di=1e4,Oi={get:function(e,t){var n=e[O];return t===O?n:t===`length`?n.getArrayLength_():typeof t==`string`&&!isNaN(t)?n.get_(parseInt(t)):se(ji,t)?ji[t]:e[t]},set:function(e,t,n){var r=e[O];return t===`length`&&r.setArrayLength_(n),typeof t==`symbol`||isNaN(t)?e[t]=n:r.set_(parseInt(t),n),!0},preventExtensions:function(){n(15)}},ki=function(){function e(e,t,n,r){e===void 0&&(e=`ObservableArray@`+h()),this.owned_=void 0,this.legacyMode_=void 0,this.atom_=void 0,this.values_=[],this.interceptors_=void 0,this.changeListeners_=void 0,this.enhancer_=void 0,this.dehancer=void 0,this.proxy_=void 0,this.lastKnownLength_=0,this.owned_=n,this.legacyMode_=r,this.atom_=new Me(e),this.enhancer_=function(n,r){return t(n,r,e+`[..]`)}}var t=e.prototype;return t.dehanceValue_=function(e){return this.dehancer===void 0?e:this.dehancer(e)},t.dehanceValues_=function(e){return this.dehancer!==void 0&&e.length>0?e.map(this.dehancer):e},t.intercept_=function(e){return _i(this,e)},t.observe_=function(e,t){return t===void 0&&(t=!1),t&&e({observableKind:`array`,object:this.proxy_,debugObjectName:this.atom_.name_,type:`splice`,index:0,added:this.values_.slice(),addedCount:this.values_.length,removed:[],removedCount:0}),bi(this,e)},t.getArrayLength_=function(){return this.atom_.reportObserved(),this.values_.length},t.setArrayLength_=function(e){(typeof e!=`number`||isNaN(e)||e<0)&&n(`Out of range: `+e);var t=this.values_.length;if(e!==t)if(e>t){for(var r=Array(e-t),i=0;i<e-t;i++)r[i]=void 0;this.spliceWithArray_(t,0,r)}else this.spliceWithArray_(e,t-e)},t.updateArrayLength_=function(e,t){e!==this.lastKnownLength_&&n(16),this.lastKnownLength_+=t,this.legacyMode_&&t>0&&da(e+t+1)},t.spliceWithArray_=function(e,t,n){var r=this;P(this.atom_);var i=this.values_.length;if(e===void 0?e=0:e>i?e=i:e<0&&(e=Math.max(0,i+e)),t=arguments.length===1?i-e:t==null?0:Math.max(0,Math.min(t,i-e)),n===void 0&&(n=l),gi(this)){var a=vi(this,{object:this.proxy_,type:Ti,index:e,removedCount:t,added:n});if(!a)return l;t=a.removedCount,n=a.added}if(n=n.length===0?n:n.map(function(e){return r.enhancer_(e,void 0)}),this.legacyMode_||!0){var o=n.length-t;this.updateArrayLength_(i,o)}var s=this.spliceItemsIntoValues_(e,t,n);return(t!==0||n.length!==0)&&this.notifyArraySplice_(e,n,s),this.dehanceValues_(s)},t.spliceItemsIntoValues_=function(e,t,n){if(n.length<Di){var r;return(r=this.values_).splice.apply(r,[e,t].concat(n))}else{var i=this.values_.slice(e,e+t),a=this.values_.slice(e+t);this.values_.length+=n.length-t;for(var o=0;o<n.length;o++)this.values_[e+o]=n[o];for(var s=0;s<a.length;s++)this.values_[e+n.length+s]=a[s];return i}},t.notifyArrayChildUpdate_=function(e,t,n){var r=!this.owned_&&Wn(),i=yi(this),a=i||r?{observableKind:`array`,object:this.proxy_,type:Ei,debugObjectName:this.atom_.name_,index:e,newValue:t,oldValue:n}:null;r&&Kn(a),this.atom_.reportChanged(),i&&xi(this,a),r&&Jn()},t.notifyArraySplice_=function(e,t,n){var r=!this.owned_&&Wn(),i=yi(this),a=i||r?{observableKind:`array`,object:this.proxy_,debugObjectName:this.atom_.name_,type:Ti,index:e,removed:n,added:t,removedCount:n.length,addedCount:t.length}:null;r&&Kn(a),this.atom_.reportChanged(),i&&xi(this,a),r&&Jn()},t.get_=function(e){if(this.legacyMode_&&e>=this.values_.length){console.warn(`[mobx.array] Attempt to read an array index (`+e+`) that is out of bounds (`+this.values_.length+`). Please check length first. Out of bound indices will not be tracked by MobX`);return}return this.atom_.reportObserved(),this.dehanceValue_(this.values_[e])},t.set_=function(e,t){var r=this.values_;if(this.legacyMode_&&e>r.length&&n(17,e,r.length),e<r.length){P(this.atom_);var i=r[e];if(gi(this)){var a=vi(this,{type:Ei,object:this.proxy_,index:e,newValue:t});if(!a)return;t=a.newValue}t=this.enhancer_(t,i),t!==i&&(r[e]=t,this.notifyArrayChildUpdate_(e,t,i))}else{for(var o=Array(e+1-r.length),s=0;s<o.length-1;s++)o[s]=void 0;o[o.length-1]=t,this.spliceWithArray_(r.length,0,o)}},e}();function Ai(e,t,n,r){return n===void 0&&(n=`ObservableArray@`+h()),r===void 0&&(r=!1),p(),ga(function(){var i=new ki(n,t,r,!1);ee(i.values_,O,i);var a=new Proxy(i.values_,Oi);return i.proxy_=a,e&&e.length&&i.spliceWithArray_(0,0,e),a})}var ji={clear:function(){return this.splice(0)},replace:function(e){var t=this[O];return t.spliceWithArray_(0,t.values_.length,e)},toJSON:function(){return this.slice()},splice:function(e,t){var n=[...arguments].slice(2),r=this[O];switch(arguments.length){case 0:return[];case 1:return r.spliceWithArray_(e);case 2:return r.spliceWithArray_(e,t)}return r.spliceWithArray_(e,t,n)},spliceWithArray:function(e,t,n){return this[O].spliceWithArray_(e,t,n)},push:function(){var e=this[O],t=[...arguments];return e.spliceWithArray_(e.values_.length,0,t),e.values_.length},pop:function(){return this.splice(Math.max(this[O].values_.length-1,0),1)[0]},shift:function(){return this.splice(0,1)[0]},unshift:function(){var e=this[O],t=[...arguments];return e.spliceWithArray_(0,0,t),e.values_.length},reverse:function(){return I.trackingDerivation&&n(37,`reverse`),this.replace(this.slice().reverse()),this},sort:function(){I.trackingDerivation&&n(37,`sort`);var e=this.slice();return e.sort.apply(e,arguments),this.replace(e),this},remove:function(e){var t=this[O],n=t.dehanceValues_(t.values_).indexOf(e);return n>-1?(this.splice(n,1),!0):!1}};U(`at`,Mi),U(`concat`,Mi),U(`flat`,Mi),U(`includes`,Mi),U(`indexOf`,Mi),U(`join`,Mi),U(`lastIndexOf`,Mi),U(`slice`,Mi),U(`toString`,Mi),U(`toLocaleString`,Mi),U(`toSorted`,Mi),U(`toSpliced`,Mi),U(`with`,Mi),U(`every`,Ni),U(`filter`,Ni),U(`find`,Ni),U(`findIndex`,Ni),U(`findLast`,Ni),U(`findLastIndex`,Ni),U(`flatMap`,Ni),U(`forEach`,Ni),U(`map`,Ni),U(`some`,Ni),U(`toReversed`,Ni),U(`reduce`,Pi),U(`reduceRight`,Pi);function U(e,t){typeof Array.prototype[e]==`function`&&(ji[e]=t(e))}function Mi(e){return function(){var t=this[O];t.atom_.reportObserved();var n=t.dehanceValues_(t.values_);return n[e].apply(n,arguments)}}function Ni(e){return function(t,n){var r=this,i=this[O];return i.atom_.reportObserved(),i.dehanceValues_(i.values_)[e](function(e,i){return t.call(n,e,i,r)})}}function Pi(e){return function(){var t=this,n=this[O];n.atom_.reportObserved();var r=n.dehanceValues_(n.values_),i=arguments[0];return arguments[0]=function(e,n,r){return i(e,n,r,t)},r[e].apply(r,arguments)}}var Fi=te(`ObservableArrayAdministration`,ki);function Ii(e){return b(e)&&Fi(e[O])}var Li={},Ri=`add`,zi=`delete`,Bi=function(){function e(e,t,r){var i=this;t===void 0&&(t=Be),r===void 0&&(r=`ObservableMap@`+h()),this.enhancer_=void 0,this.name_=void 0,this[O]=Li,this.data_=void 0,this.hasMap_=void 0,this.keysAtom_=void 0,this.interceptors_=void 0,this.changeListeners_=void 0,this.dehancer=void 0,this.enhancer_=t,this.name_=r,v(Map)||n(18),ga(function(){i.keysAtom_=Pe(i.name_+`.keys()`),i.data_=new Map,i.hasMap_=new Map,e&&i.merge(e)})}var t=e.prototype;return t.has_=function(e){return this.data_.has(e)},t.has=function(e){var t=this;if(!I.trackingDerivation)return this.has_(e);var n=this.hasMap_.get(e);if(!n){var r=n=new M(this.has_(e),He,this.name_+`.`+ae(e)+`?`,!1);this.hasMap_.set(e,r),vr(r,function(){return t.hasMap_.delete(e)})}return n.get()},t.set=function(e,t){var n=this.has_(e);if(gi(this)){var r=vi(this,{type:n?Ei:Ri,object:this,newValue:t,name:e});if(!r)return this;t=r.newValue}return n?this.updateValue_(e,t):this.addValue_(e,t),this},t.delete=function(e){var t=this;if(P(this.keysAtom_),gi(this)&&!vi(this,{type:zi,object:this,name:e}))return!1;if(this.has_(e)){var n=Wn(),r=yi(this),i=r||n?{observableKind:`map`,debugObjectName:this.name_,type:zi,object:this,oldValue:this.data_.get(e).value_,name:e}:null;return n&&Kn(i),li(function(){var n;t.keysAtom_.reportChanged(),(n=t.hasMap_.get(e))==null||n.setNewValue_(!1),t.data_.get(e).setNewValue_(void 0),t.data_.delete(e)}),r&&xi(this,i),n&&Jn(),!0}return!1},t.updateValue_=function(e,t){var n=this.data_.get(e);if(t=n.prepareNewValue_(t),t!==I.UNCHANGED){var r=Wn(),i=yi(this),a=i||r?{observableKind:`map`,debugObjectName:this.name_,type:Ei,object:this,oldValue:n.value_,name:e,newValue:t}:null;r&&Kn(a),n.setNewValue_(t),i&&xi(this,a),r&&Jn()}},t.addValue_=function(e,t){var n=this;P(this.keysAtom_),li(function(){var r,i=new M(t,n.enhancer_,n.name_+`.`+ae(e),!1);n.data_.set(e,i),t=i.value_,(r=n.hasMap_.get(e))==null||r.setNewValue_(!0),n.keysAtom_.reportChanged()});var r=Wn(),i=yi(this),a=i||r?{observableKind:`map`,debugObjectName:this.name_,type:Ri,object:this,name:e,newValue:t}:null;r&&Kn(a),i&&xi(this,a),r&&Jn()},t.get=function(e){return this.has(e)?this.dehanceValue_(this.data_.get(e).get()):this.dehanceValue_(void 0)},t.dehanceValue_=function(e){return this.dehancer===void 0?e:this.dehancer(e)},t.keys=function(){return this.keysAtom_.reportObserved(),this.data_.keys()},t.values=function(){var e=this,t=this.keys();return Hi({next:function(){var n=t.next(),r=n.done,i=n.value;return{done:r,value:r?void 0:e.get(i)}}})},t.entries=function(){var e=this,t=this.keys();return Hi({next:function(){var n=t.next(),r=n.done,i=n.value;return{done:r,value:r?void 0:[i,e.get(i)]}}})},t[Symbol.iterator]=function(){return this.entries()},t.forEach=function(e,t){for(var n=he(this),r;!(r=n()).done;){var i=r.value,a=i[0],o=i[1];e.call(t,o,a,this)}},t.merge=function(e){var t=this;return Vi(e)&&(e=new Map(e)),li(function(){x(e)?T(e).forEach(function(n){return t.set(n,e[n])}):Array.isArray(e)?e.forEach(function(e){var n=e[0],r=e[1];return t.set(n,r)}):ne(e)?(re(e)||n(19,e),e.forEach(function(e,n){return t.set(n,e)})):e!=null&&n(20,e)}),this},t.clear=function(){var e=this;li(function(){mn(function(){for(var t=he(e.keys()),n;!(n=t()).done;){var r=n.value;e.delete(r)}})})},t.replace=function(e){var t=this;return li(function(){for(var n=Ui(e),r=new Map,i=!1,a=he(t.data_.keys()),o;!(o=a()).done;){var s=o.value;if(!n.has(s))if(t.delete(s))i=!0;else{var c=t.data_.get(s);r.set(s,c)}}for(var l=he(n.entries()),u;!(u=l()).done;){var d=u.value,f=d[0],p=d[1],m=t.data_.has(f);if(t.set(f,p),t.data_.has(f)){var h=t.data_.get(f);r.set(f,h),m||(i=!0)}}if(!i)if(t.data_.size!==r.size)t.keysAtom_.reportChanged();else for(var g=t.data_.keys(),_=r.keys(),v=g.next(),y=_.next();!v.done;){if(v.value!==y.value){t.keysAtom_.reportChanged();break}v=g.next(),y=_.next()}t.data_=r}),this},t.toString=function(){return`[object ObservableMap]`},t.toJSON=function(){return Array.from(this)},t.observe_=function(e,t){return t===!0&&n("`observe` doesn't support fireImmediately=true in combination with maps."),bi(this,e)},t.intercept_=function(e){return _i(this,e)},me(e,[{key:`size`,get:function(){return this.keysAtom_.reportObserved(),this.data_.size}},{key:Symbol.toStringTag,get:function(){return`Map`}}])}(),Vi=te(`ObservableMap`,Bi);function Hi(e){return e[Symbol.toStringTag]=`MapIterator`,Sa(e)}function Ui(e){if(ne(e)||Vi(e))return e;if(Array.isArray(e))return new Map(e);if(x(e)){var t=new Map;for(var r in e)t.set(r,e[r]);return t}else return n(21,e)}var Wi={},Gi=function(){function e(e,t,r){var i=this;t===void 0&&(t=Be),r===void 0&&(r=`ObservableSet@`+h()),this.name_=void 0,this[O]=Wi,this.data_=new Set,this.atom_=void 0,this.changeListeners_=void 0,this.interceptors_=void 0,this.dehancer=void 0,this.enhancer_=void 0,this.name_=r,v(Set)||n(22),this.enhancer_=function(e,n){return t(e,n,r)},ga(function(){i.atom_=Pe(i.name_),e&&i.replace(e)})}var t=e.prototype;return t.dehanceValue_=function(e){return this.dehancer===void 0?e:this.dehancer(e)},t.clear=function(){var e=this;li(function(){mn(function(){for(var t=he(e.data_.values()),n;!(n=t()).done;){var r=n.value;e.delete(r)}})})},t.forEach=function(e,t){for(var n=he(this),r;!(r=n()).done;){var i=r.value;e.call(t,i,i,this)}},t.add=function(e){var t=this;if(P(this.atom_),gi(this)){var n=vi(this,{type:Ri,object:this,newValue:e});if(!n)return this;e=n.newValue}if(!this.has(e)){li(function(){t.data_.add(t.enhancer_(e,void 0)),t.atom_.reportChanged()});var r=Wn(),i=yi(this),a=i||r?{observableKind:`set`,debugObjectName:this.name_,type:Ri,object:this,newValue:e}:null;r&&Kn(a),i&&xi(this,a),r&&Jn()}return this},t.delete=function(e){var t=this;if(gi(this)&&!vi(this,{type:zi,object:this,oldValue:e}))return!1;if(this.has(e)){var n=Wn(),r=yi(this),i=r||n?{observableKind:`set`,debugObjectName:this.name_,type:zi,object:this,oldValue:e}:null;return n&&Kn(i),li(function(){t.atom_.reportChanged(),t.data_.delete(e)}),r&&xi(this,i),n&&Jn(),!0}return!1},t.has=function(e){return this.atom_.reportObserved(),this.data_.has(this.dehanceValue_(e))},t.entries=function(){var e=this.values();return qi({next:function(){var t=e.next(),n=t.value,r=t.done;return r?{value:void 0,done:r}:{value:[n,n],done:r}}})},t.keys=function(){return this.values()},t.values=function(){this.atom_.reportObserved();var e=this,t=this.data_.values();return qi({next:function(){var n=t.next(),r=n.value,i=n.done;return i?{value:void 0,done:i}:{value:e.dehanceValue_(r),done:i}}})},t.intersection=function(e){return w(e)&&!Ki(e)?e.intersection(this):new Set(this).intersection(e)},t.union=function(e){return w(e)&&!Ki(e)?e.union(this):new Set(this).union(e)},t.difference=function(e){return new Set(this).difference(e)},t.symmetricDifference=function(e){return w(e)&&!Ki(e)?e.symmetricDifference(this):new Set(this).symmetricDifference(e)},t.isSubsetOf=function(e){return new Set(this).isSubsetOf(e)},t.isSupersetOf=function(e){return new Set(this).isSupersetOf(e)},t.isDisjointFrom=function(e){return w(e)&&!Ki(e)?e.isDisjointFrom(this):new Set(this).isDisjointFrom(e)},t.replace=function(e){var t=this;return Ki(e)&&(e=new Set(e)),li(function(){Array.isArray(e)||w(e)?(t.clear(),e.forEach(function(e){return t.add(e)})):e!=null&&n(`Cannot initialize set from `+e)}),this},t.observe_=function(e,t){return t===!0&&n("`observe` doesn't support fireImmediately=true in combination with sets."),bi(this,e)},t.intercept_=function(e){return _i(this,e)},t.toJSON=function(){return Array.from(this)},t.toString=function(){return`[object ObservableSet]`},t[Symbol.iterator]=function(){return this.values()},me(e,[{key:`size`,get:function(){return this.atom_.reportObserved(),this.data_.size}},{key:Symbol.toStringTag,get:function(){return`Set`}}])}(),Ki=te(`ObservableSet`,Gi);function qi(e){return e[Symbol.toStringTag]=`SetIterator`,Sa(e)}var Ji=Object.create(null),Yi=`remove`,Xi=function(){function e(e,t,r,i){t===void 0&&(t=new Map),i===void 0&&(i=yt),this.target_=void 0,this.values_=void 0,this.name_=void 0,this.defaultAnnotation_=void 0,this.keysAtom_=void 0,this.changeListeners_=void 0,this.interceptors_=void 0,this.proxy_=void 0,this.isPlainObject_=void 0,this.appliedAnnotations_=void 0,this.pendingKeys_=void 0,this.target_=e,this.values_=t,this.name_=r,this.defaultAnnotation_=i,this.keysAtom_=new Me(this.name_+`.keys`),this.isPlainObject_=x(this.target_),wa(this.defaultAnnotation_)||n(`defaultAnnotation must be valid annotation`),this.appliedAnnotations_={}}var t=e.prototype;return t.getObservablePropValue_=function(e){return this.values_.get(e).get()},t.setObservablePropValue_=function(e,t){var n=this.values_.get(e);if(n instanceof tn)return n.set(t),!0;if(gi(this)){var r=vi(this,{type:Ei,object:this.proxy_||this.target_,name:e,newValue:t});if(!r)return null;t=r.newValue}if(t=n.prepareNewValue_(t),t!==I.UNCHANGED){var i=yi(this),a=Wn(),o=i||a?{type:Ei,observableKind:`object`,debugObjectName:this.name_,object:this.proxy_||this.target_,oldValue:n.value_,name:e,newValue:t}:null;a&&Kn(o),n.setNewValue_(t),i&&xi(this,o),a&&Jn()}return!0},t.get_=function(e){return I.trackingDerivation&&!se(this.target_,e)&&this.has_(e),this.target_[e]},t.set_=function(e,t,n){return n===void 0&&(n=!1),se(this.target_,e)?this.values_.has(e)?this.setObservablePropValue_(e,t):n?Reflect.set(this.target_,e,t):(this.target_[e]=t,!0):this.extend_(e,{value:t,enumerable:!0,writable:!0,configurable:!0},this.defaultAnnotation_,n)},t.has_=function(e){if(!I.trackingDerivation)return e in this.target_;this.pendingKeys_||=new Map;var t=this.pendingKeys_.get(e);return t||(t=new M(e in this.target_,He,this.name_+`.`+ae(e)+`?`,!1),this.pendingKeys_.set(e,t)),t.get()},t.make_=function(e,t){if(t===!0&&(t=this.defaultAnnotation_),t!==!1){if(na(this,t,e),!(e in this.target_)){var r;if((r=this.target_[Te])!=null&&r[e])return;n(1,t.annotationType_,this.name_+`.`+e.toString())}for(var i=this.target_;i&&i!==c;){var a=o(i,e);if(a){var s=t.make_(this,e,a,i);if(s===0)return;if(s===1)break}i=Object.getPrototypeOf(i)}ta(this,t,e)}},t.extend_=function(e,t,n,r){if(r===void 0&&(r=!1),n===!0&&(n=this.defaultAnnotation_),n===!1)return this.defineProperty_(e,t,r);na(this,n,e);var i=n.extend_(this,e,t,r);return i&&ta(this,n,e),i},t.defineProperty_=function(e,t,n){n===void 0&&(n=!1),P(this.keysAtom_);try{jn();var r=this.delete_(e);if(!r)return r;if(gi(this)){var i=vi(this,{object:this.proxy_||this.target_,name:e,type:Ri,newValue:t.value});if(!i)return null;var a=i.newValue;t.value!==a&&(t=D({},t,{value:a}))}if(n){if(!Reflect.defineProperty(this.target_,e,t))return!1}else s(this.target_,e,t);this.notifyPropertyAddition_(e,t.value)}finally{Mn()}return!0},t.defineObservableProperty_=function(e,t,n,r){r===void 0&&(r=!1),P(this.keysAtom_);try{jn();var i=this.delete_(e);if(!i)return i;if(gi(this)){var a=vi(this,{object:this.proxy_||this.target_,name:e,type:Ri,newValue:t});if(!a)return null;t=a.newValue}var o=$i(e),c={configurable:I.safeDescriptors?this.isPlainObject_:!0,enumerable:!0,get:o.get,set:o.set};if(r){if(!Reflect.defineProperty(this.target_,e,c))return!1}else s(this.target_,e,c);var l=new M(t,n,this.name_+`.`+e.toString(),!1);this.values_.set(e,l),this.notifyPropertyAddition_(e,l.value_)}finally{Mn()}return!0},t.defineComputedProperty_=function(e,t,n){n===void 0&&(n=!1),P(this.keysAtom_);try{jn();var r=this.delete_(e);if(!r)return r;if(gi(this)&&!vi(this,{object:this.proxy_||this.target_,name:e,type:Ri,newValue:void 0}))return null;t.name||=this.name_+`.`+e.toString(),t.context=this.proxy_||this.target_;var i=$i(e),a={configurable:I.safeDescriptors?this.isPlainObject_:!0,enumerable:!1,get:i.get,set:i.set};if(n){if(!Reflect.defineProperty(this.target_,e,a))return!1}else s(this.target_,e,a);this.values_.set(e,new tn(t)),this.notifyPropertyAddition_(e,void 0)}finally{Mn()}return!0},t.delete_=function(e,t){if(t===void 0&&(t=!1),P(this.keysAtom_),!se(this.target_,e))return!0;if(gi(this)&&!vi(this,{object:this.proxy_||this.target_,name:e,type:Yi}))return null;try{var n;jn();var r=yi(this),i=Wn(),a=this.values_.get(e),s=void 0;if(!a&&(r||i)&&(s=o(this.target_,e)?.value),t){if(!Reflect.deleteProperty(this.target_,e))return!1}else delete this.target_[e];if(delete this.appliedAnnotations_[e],a&&(this.values_.delete(e),a instanceof M&&(s=a.value_),Pn(a)),this.keysAtom_.reportChanged(),(n=this.pendingKeys_)==null||(n=n.get(e))==null||n.set(e in this.target_),r||i){var c={type:Yi,observableKind:`object`,object:this.proxy_||this.target_,debugObjectName:this.name_,oldValue:s,name:e};i&&Kn(c),r&&xi(this,c),i&&Jn()}}finally{Mn()}return!0},t.observe_=function(e,t){return t===!0&&n("`observe` doesn't support the fire immediately property for observable objects."),bi(this,e)},t.intercept_=function(e){return _i(this,e)},t.notifyPropertyAddition_=function(e,t){var n,r=yi(this),i=Wn();if(r||i){var a=r||i?{type:Ri,observableKind:`object`,debugObjectName:this.name_,object:this.proxy_||this.target_,name:e,newValue:t}:null;i&&Kn(a),r&&xi(this,a),i&&Jn()}(n=this.pendingKeys_)==null||(n=n.get(e))==null||n.set(!0),this.keysAtom_.reportChanged()},t.ownKeys_=function(){return this.keysAtom_.reportObserved(),E(this.target_)},t.keys_=function(){return this.keysAtom_.reportObserved(),Object.keys(this.target_)},e}();function Zi(e,t){if(t&&ea(e)&&n(`Options can't be provided for already observable objects.`),se(e,O))return ma(e)instanceof Xi||n(`Cannot convert '`+ha(e)+`' into observable object:
|
|
81
|
+
`)()}}function In(e,t,n){if(t.length>=1e3){t.push(`(and many more)`);return}t.push(``+` `.repeat(n-1)+e.name),e.dependencies&&e.dependencies.forEach(function(e){return In(e,t,n+1)})}var Ln=function(){function e(e,t,n,r){e===void 0&&(e=`Reaction@`+h()),this.name_=void 0,this.onInvalidate_=void 0,this.errorHandler_=void 0,this.requiresObservable_=void 0,this.observing_=[],this.newObserving_=[],this.dependenciesState_=F.NOT_TRACKING_,this.runId_=0,this.unboundDepsCount_=0,this.flags_=0,this.isTracing_=tn.NONE,this.name_=e,this.onInvalidate_=t,this.errorHandler_=n,this.requiresObservable_=r}var t=e.prototype;return t.onBecomeStale_=function(){this.schedule_()},t.schedule_=function(){this.isScheduled||(this.isScheduled=!0,L.pendingReactions.push(this),Vn())},t.runReaction_=function(){if(!this.isDisposed){An(),this.isScheduled=!1;var e=L.trackingContext;if(L.trackingContext=this,an(this)){this.isTrackPending=!0;try{this.onInvalidate_(),this.isTrackPending&&Wn()&&Gn({name:this.name_,type:`scheduled-reaction`})}catch(e){this.reportExceptionInDerivation_(e)}}L.trackingContext=e,jn()}},t.track=function(e){if(!this.isDisposed){An();var t=Wn(),n;t&&(n=Date.now(),Kn({name:this.name_,type:`reaction`})),this.isRunning=!0;var r=L.trackingContext;L.trackingContext=this;var i=ln(this,e,void 0);L.trackingContext=r,this.isRunning=!1,this.isTrackPending=!1,this.isDisposed&&fn(this),rn(i)&&this.reportExceptionInDerivation_(i.cause),t&&Jn({time:Date.now()-n}),jn()}},t.reportExceptionInDerivation_=function(e){var t=this;if(this.errorHandler_){this.errorHandler_(e,this);return}if(L.disableErrorBoundaries)throw e;var n=`[mobx] Encountered an uncaught exception that was thrown by a reaction or observer component, in: '`+this+`'`;L.suppressReactionErrors?console.warn(`[mobx] (error in reaction '`+this.name_+`' suppressed, fix error of causing action below)`):console.error(n,e),Wn()&&Gn({type:`error`,name:this.name_,message:n,error:``+e}),L.globalReactionErrorHandlers.forEach(function(n){return n(e,t)})},t.dispose=function(){this.isDisposed||(this.isDisposed=!0,this.isRunning||(An(),fn(this),jn()))},t.getDisposer_=function(e){var t=this,n=function n(){t.dispose(),e==null||e.removeEventListener==null||e.removeEventListener(`abort`,n)};return e==null||e.addEventListener==null||e.addEventListener(`abort`,n),n[k]=this,`dispose`in Symbol&&typeof Symbol.dispose==`symbol`&&(n[Symbol.dispose]=n),n},t.toString=function(){return`Reaction[`+this.name_+`]`},t.trace=function(e){e===void 0&&(e=!1),ci(this,e)},pe(e,[{key:`isDisposed`,get:function(){return ce(this.flags_,e.isDisposedMask_)},set:function(t){this.flags_=le(this.flags_,e.isDisposedMask_,t)}},{key:`isScheduled`,get:function(){return ce(this.flags_,e.isScheduledMask_)},set:function(t){this.flags_=le(this.flags_,e.isScheduledMask_,t)}},{key:`isTrackPending`,get:function(){return ce(this.flags_,e.isTrackPendingMask_)},set:function(t){this.flags_=le(this.flags_,e.isTrackPendingMask_,t)}},{key:`isRunning`,get:function(){return ce(this.flags_,e.isRunningMask_)},set:function(t){this.flags_=le(this.flags_,e.isRunningMask_,t)}},{key:`diffValue`,get:function(){return+!!ce(this.flags_,e.diffValueMask_)},set:function(t){this.flags_=le(this.flags_,e.diffValueMask_,t===1)}}])}();Ln.isDisposedMask_=1,Ln.isScheduledMask_=2,Ln.isTrackPendingMask_=4,Ln.isRunningMask_=8,Ln.diffValueMask_=16;function Rn(e){return L.globalReactionErrorHandlers.push(e),function(){var t=L.globalReactionErrorHandlers.indexOf(e);t>=0&&L.globalReactionErrorHandlers.splice(t,1)}}var zn=100,Bn=function(e){return e()};function Vn(){L.inBatch>0||L.isRunningReactions||Bn(Hn)}function Hn(){L.isRunningReactions=!0;for(var e=L.pendingReactions,t=0;e.length>0;){++t===zn&&(console.error(`Reaction doesn't converge to a stable state after `+zn+` iterations.`+(` Probably there is a cycle in the reactive function: `+e[0])),e.splice(0));for(var n=e.splice(0),r=0,i=n.length;r<i;r++)n[r].runReaction_()}L.isRunningReactions=!1}var z=te(`Reaction`,Ln);function Un(e){var t=Bn;Bn=function(n){return e(function(){return t(n)})}}function Wn(){return!!L.spyListeners.length}function Gn(e){if(L.spyListeners.length)for(var t=L.spyListeners,n=0,r=t.length;n<r;n++)t[n](e)}function Kn(e){Gn(he({},e,{spyReportStart:!0}))}var qn={type:`report-end`,spyReportEnd:!0};function Jn(e){Gn(e?he({},e,{type:`report-end`,spyReportEnd:!0}):qn)}function Yn(e){return L.spyListeners.push(e),g(function(){L.spyListeners=L.spyListeners.filter(function(t){return t!==e})})}var Xn=`action`,Zn=`action.bound`,Qn=`autoAction`,$n=`autoAction.bound`,er=`<unnamed action>`,tr=Ye(Xn),nr=Ye(Zn,{bound:!0}),rr=Ye(Qn,{autoAction:!0}),ir=Ye($n,{autoAction:!0,bound:!0});function ar(e){return function(t,r){if(v(t))return Gt(t.name||er,t,e);if(v(r))return Gt(t,r,e);if(ke(r))return(e?rr:tr).decorate_20223_(t,r);if(y(r))return Ee(t,r,e?rr:tr);if(y(t))return Te(Ye(e?Qn:Xn,{name:t,autoAction:e}));n("Invalid arguments for `action`")}}var or=ar(!1);Object.assign(or,tr);var sr=ar(!0);Object.assign(sr,rr),or.bound=Te(nr),sr.bound=Te(ir);function cr(e){return Kt(e.name||er,!1,e,this,void 0)}function lr(e){return v(e)&&e.isMobxAction===!0}function ur(e,t){var r;t===void 0&&(t=u),v(e)||n(`Autorun expects a function as first argument`),lr(e)&&n(`Autorun does not accept actions since actions are untrackable`);var i=t?.name??(e.name||`Autorun@`+h()),a=!t.scheduler&&!t.delay,o;if(a)o=new Ln(i,function(){this.track(l)},t.onError,t.requiresObservable);else{var s=fr(t),c=!1;o=new Ln(i,function(){c||(c=!0,s(function(){c=!1,o.isDisposed||o.track(l)}))},t.onError,t.requiresObservable)}function l(){e(o)}return(r=t)!=null&&(r=r.signal)!=null&&r.aborted||o.schedule_(),o.getDisposer_(t?.signal)}var dr=function(e){return e()};function fr(e){return e.scheduler?e.scheduler:e.delay?function(t){return setTimeout(t,e.delay)}:dr}function pr(e,t,r){var i;r===void 0&&(r=u),(!v(e)||!v(t))&&n(`First and second argument to reaction should be functions`),x(r)||n(`Third argument of reactions should be an object`);var a=r.name??`Reaction@`+h(),o=or(a,r.onError?mr(r.onError,t):t),s=!r.scheduler&&!r.delay,c=fr(r),l=!0,d=!1,f,p=r.compareStructural?Re.structural:r.equals||Re.default,m=new Ln(a,function(){l||s?g():d||(d=!0,c(g))},r.onError,r.requiresObservable);function g(){if(d=!1,!m.isDisposed){var t=!1,n=f;m.track(function(){var n=Jt(!1,function(){return e(m)});t=l||!p(f,n),f=n}),(l&&r.fireImmediately||!l&&t)&&o(f,n,m),l=!1}}return(i=r)!=null&&(i=i.signal)!=null&&i.aborted||m.schedule_(),m.getDisposer_(r?.signal)}function mr(e,t){return function(){try{return t.apply(this,arguments)}catch(t){e.call(this,t)}}}var hr=`onBO`,gr=`onBUO`;function _r(e,t,n){return yr(hr,e,t,n)}function vr(e,t,n){return yr(gr,e,t,n)}function yr(e,t,n,r){var i=typeof r==`function`?pa(t,n):pa(t),a=v(r)?r:n,o=e+`L`;return i[o]?i[o].add(a):i[o]=new Set([a]),function(){var e=i[o];e&&(e.delete(a),e.size===0&&delete i[o])}}var br=`never`,xr=`always`,Sr=`observed`;function Cr(e){e.isolateGlobalState===!0&&Sn();var t=e.useProxies,n=e.enforceActions;if(t!==void 0&&(L.useProxies=t===xr?!0:t===br?!1:typeof Proxy<`u`),t===`ifavailable`&&(L.verifyProxies=!0),n!==void 0){var r=n===xr?xr:n===Sr;L.enforceActions=r,L.allowStateChanges=!(r===!0||r===xr)}[`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`disableErrorBoundaries`,`safeDescriptors`].forEach(function(t){t in e&&(L[t]=!!e[t])}),L.allowStateReads=!L.observableRequiresReaction,L.disableErrorBoundaries===!0&&console.warn("WARNING: Debug feature only. MobX will NOT recover from errors when `disableErrorBoundaries` is enabled."),e.reactionScheduler&&Un(e.reactionScheduler)}function wr(e,t,r,i){arguments.length>4&&n(`'extendObservable' expected 2-4 arguments`),typeof e!=`object`&&n(`'extendObservable' expects an object as first argument`),Hi(e)&&n(`'extendObservable' should not be used on maps, use map.merge instead`),x(t)||n(`'extendObservable' only accepts plain objects as second argument`),(Gr(t)||Gr(r))&&n(`Extending an object with another observable (object) is not supported`);var a=se(t);return ga(function(){var t=Zi(e,i)[k];E(a).forEach(function(e){t.extend_(e,a[e],r&&e in r?r[e]:!0)})}),e}function B(e,t){return Tr(pa(e,t))}function Tr(e){var t={name:e.name_};return e.observing_&&e.observing_.length>0&&(t.dependencies=Or(e.observing_).map(Tr)),t}function Er(e,t){return Dr(pa(e,t))}function Dr(e){var t={name:e.name_};return Tn(e)&&(t.observers=Array.from(En(e)).map(Dr)),t}function Or(e){return Array.from(new Set(e))}var kr=0,Ar=function(e){function t(){var n=e.call(this,`FLOW_CANCELLED`)||this;return Object.setPrototypeOf(n,(this instanceof t?this.constructor:void 0).prototype),n.name=`FlowCancellationError`,n}O(t,e);var n=t.prototype;return n.toString=function(){return`Error: `+this.message},t}(Ce(Error));function jr(e){return e instanceof Ar}var Mr=tt(`flow`),Nr=tt(`flow.bound`,{bound:!0}),Pr=Object.assign(function(e,t){if(ke(t))return Mr.decorate_20223_(e,t);if(y(t))return Ee(e,t,Mr);arguments.length!==1&&n(`Flow expects single argument with generator function`);var r=e,i=r.name||`<unnamed flow>`,a=function(){var e=this,t=arguments,n=++kr,a=or(i+` - runid: `+n+` - init`,r).apply(e,t),o,s=void 0,c=new Promise(function(e,t){var r=0;o=t;function c(e){s=void 0;var o;try{o=or(i+` - runid: `+n+` - yield `+ r++,a.next).call(a,e)}catch(e){return t(e)}u(o)}function l(e){s=void 0;var o;try{o=or(i+` - runid: `+n+` - yield `+ r++,a.throw).call(a,e)}catch(e){return t(e)}u(o)}function u(n){if(v(n?.then)){n.then(u,t);return}return n.done?e(n.value):(s=Promise.resolve(n.value),s.then(c,l))}c(void 0)});return c.cancel=or(i+` - runid: `+n+` - cancel`,function(){try{s&&Fr(s);var e=a.return(void 0),t=Promise.resolve(e.value);t.then(_,_),Fr(t),o(new Ar)}catch(e){o(e)}}),c};return a.isMobXFlow=!0,a},Mr);Pr.bound=Te(Nr);function Fr(e){v(e.cancel)&&e.cancel()}function Ir(e){return e}function Lr(e){return e?.isMobXFlow===!0}function V(e,t,r){var i;if(Hi(e)||Li(e)||$t(e))i=ma(e);else if(ea(e)){if(!y(t))return n(`InterceptReads can only be used with a specific property, not with an object in general`);i=ma(e,t)}else return n(`Expected observable map, object or array as first array`);return i.dehancer===void 0?(i.dehancer=typeof t==`function`?t:r,function(){i.dehancer=void 0}):n(`An intercept reader was already established`)}function Rr(e,t,n){return v(n)?Br(e,t,n):zr(e,t)}function zr(e,t){return ma(e).intercept_(t)}function Br(e,t,n){return ma(e,t).intercept_(n)}function Vr(e,t){return t===void 0?P(e):ea(e)===!1||!e[k].values_.has(t)?!1:P(pa(e,t))}function Hr(e){return arguments.length>1?n(`isComputed expects only 1 argument. Use isComputedProp to inspect the observability of a property`):Vr(e)}function Ur(e,t){return y(t)?Vr(e,t):n(`isComputed expected a property name as second argument`)}function Wr(e,t){return e?t===void 0?ea(e)||!!e[k]||Me(e)||z(e)||P(e):Hi(e)||Li(e)?n(`isObservable(object, propertyName) is not supported for arrays and maps. Use map.has or array.length instead.`):ea(e)?e[k].values_.has(t):!1:!1}function Gr(e){return arguments.length!==1&&n(`isObservable expects only 1 argument. Use isObservableProp to inspect the observability of a property`),Wr(e)}function Kr(e,t){return y(t)?Wr(e,t):n(`expected a property name as second argument`)}function qr(e){if(ea(e))return e[k].keys_();if(Hi(e)||U(e))return Array.from(e.keys());if(Li(e))return e.map(function(e,t){return t});n(5)}function Jr(e){if(ea(e))return qr(e).map(function(t){return e[t]});if(Hi(e))return qr(e).map(function(t){return e.get(t)});if(U(e))return Array.from(e.values());if(Li(e))return e.slice();n(6)}function Yr(e){if(ea(e))return qr(e).map(function(t){return[t,e[t]]});if(Hi(e))return qr(e).map(function(t){return[t,e.get(t)]});if(U(e))return Array.from(e.entries());if(Li(e))return e.map(function(e,t){return[t,e]});n(7)}function Xr(e,t,r){if(arguments.length===2&&!U(e)){An();var i=t;try{for(var a in i)Xr(e,a,i[a])}finally{jn()}return}ea(e)?e[k].set_(t,r):Hi(e)?e.set(t,r):U(e)?e.add(t):Li(e)?(typeof t!=`number`&&(t=parseInt(t,10)),t<0&&n(`Invalid index: '`+t+`'`),An(),t>=e.length&&(e.length=t+1),e[t]=r,jn()):n(8)}function Zr(e,t){ea(e)?e[k].delete_(t):Hi(e)||U(e)?e.delete(t):Li(e)?(typeof t!=`number`&&(t=parseInt(t,10)),e.splice(t,1)):n(9)}function Qr(e,t){if(ea(e))return e[k].has_(t);if(Hi(e)||U(e))return e.has(t);if(Li(e))return t>=0&&t<e.length;n(10)}function $r(e,t){if(Qr(e,t)){if(ea(e))return e[k].get_(t);if(Hi(e))return e.get(t);if(Li(e))return e[t];n(11)}}function ei(e,t,r){if(ea(e))return e[k].defineProperty_(t,r);n(39)}function ti(e){if(ea(e))return e[k].ownKeys_();n(38)}function ni(e,t,n,r){return v(n)?ii(e,t,n,r):ri(e,t,n)}function ri(e,t,n){return ma(e).observe_(t,n)}function ii(e,t,n,r){return ma(e,t).observe_(n,r)}function ai(e,t,n){return e.set(t,n),n}function oi(e,t){if(typeof e!=`object`||!e||e instanceof Date||!Gr(e))return e;if($t(e)||P(e))return oi(e.get(),t);if(t.has(e))return t.get(e);if(Li(e)){var n=ai(t,e,Array(e.length));return e.forEach(function(e,r){n[r]=oi(e,t)}),n}if(U(e)){var r=ai(t,e,new Set);return e.forEach(function(e){r.add(oi(e,t))}),r}if(Hi(e)){var i=ai(t,e,new Map);return e.forEach(function(e,n){i.set(n,oi(e,t))}),i}else{var a=ai(t,e,{});return ti(e).forEach(function(n){c.propertyIsEnumerable.call(e,n)&&(a[n]=oi(e[n],t))}),a}}function si(e,t){return t&&n(`toJS no longer supports options`),oi(e,new Map)}function ci(){var e=!1,t=[...arguments];typeof t[t.length-1]==`boolean`&&(e=t.pop());var r=li(t);if(!r)return n(`'trace(break?)' can only be used inside a tracked computed value or a Reaction. Consider passing in the computed value or reaction explicitly`);r.isTracing_===tn.NONE&&console.log(`[mobx.trace] '`+r.name_+`' tracing enabled`),r.isTracing_=e?tn.BREAK:tn.LOG}function li(e){switch(e.length){case 0:return L.trackingDerivation;case 1:return pa(e[0]);case 2:return pa(e[0],e[1])}}function ui(e,t){t===void 0&&(t=void 0),An();try{return e.apply(t)}finally{jn()}}function di(e,t,n){return arguments.length===1||t&&typeof t==`object`?pi(e,t):fi(e,t,n||{})}function fi(e,t,n){var r;if(typeof n.timeout==`number`){var i=Error(`WHEN_TIMEOUT`);r=setTimeout(function(){if(!o[k].isDisposed)if(o(),n.onError)n.onError(i);else throw i},n.timeout)}n.name=n.name||`When@`+h();var a=Gt(n.name+`-effect`,t),o=ur(function(t){Jt(!1,e)&&(t.dispose(),r&&clearTimeout(r),a())},n);return o}function pi(e,t){var r;if(t&&t.onError)return n(`the options 'onError' and 'promise' cannot be combined`);if(t!=null&&(r=t.signal)!=null&&r.aborted)return Object.assign(Promise.reject(Error(`WHEN_ABORTED`)),{cancel:function(){return null}});var i,a,o=new Promise(function(n,r){var o,s=fi(e,n,he({},t,{onError:r}));i=function(){s(),r(Error(`WHEN_CANCELLED`))},a=function(){s(),r(Error(`WHEN_ABORTED`))},t==null||(o=t.signal)==null||o.addEventListener==null||o.addEventListener(`abort`,a)}).finally(function(){var e;return t==null||(e=t.signal)==null||e.removeEventListener==null?void 0:e.removeEventListener(`abort`,a)});return o.cancel=i,o}function mi(e){return e[k]}var hi={has:function(e,t){return L.trackingDerivation&&m(`detect new properties using the 'in' operator. Use 'has' from 'mobx' instead.`),mi(e).has_(t)},get:function(e,t){return mi(e).get_(t)},set:function(e,t,n){return y(t)?(mi(e).values_.has(t)||m(`add a new observable property through direct assignment. Use 'set' from 'mobx' instead.`),mi(e).set_(t,n,!0)??!0):!1},deleteProperty:function(e,t){return m(`delete properties from an observable object. Use 'remove' from 'mobx' instead.`),y(t)?mi(e).delete_(t,!0)??!0:!1},defineProperty:function(e,t,n){return m(`define property on an observable object. Use 'defineProperty' from 'mobx' instead.`),mi(e).defineProperty_(t,n)??!0},ownKeys:function(e){return L.trackingDerivation&&m(`iterate keys to detect added / removed properties. Use 'keys' from 'mobx' instead.`),mi(e).ownKeys_()},preventExtensions:function(e){n(13)}};function gi(e,t){var n;return p(),e=Zi(e,t),(n=e[k]).proxy_??(n.proxy_=new Proxy(e,hi))}function _i(e){return e.interceptors_!==void 0&&e.interceptors_.length>0}function vi(e,t){var n=e.interceptors_||=[];return n.push(t),g(function(){var e=n.indexOf(t);e!==-1&&n.splice(e,1)})}function yi(e,t){var r=I();try{for(var i=[].concat(e.interceptors_||[]),a=0,o=i.length;a<o&&(t=i[a](t),t&&!t.type&&n(14),t);a++);return t}finally{mn(r)}}function bi(e){return e.changeListeners_!==void 0&&e.changeListeners_.length>0}function xi(e,t){var n=e.changeListeners_||=[];return n.push(t),g(function(){var e=n.indexOf(t);e!==-1&&n.splice(e,1)})}function Si(e,t){var n=I(),r=e.changeListeners_;if(r){r=r.slice();for(var i=0,a=r.length;i<a;i++)r[i](t);mn(n)}}function Ci(e,t,r){return ga(function(){var i=Zi(e,r)[k];t&&e[we]&&n(`makeObservable second arg must be nullish when using decorators. Mixing @decorator syntax with annotations is not supported.`),t??=Oe(e),E(t).forEach(function(e){return i.make_(e,t[e])})}),e}var wi=Symbol(`mobx-keys`);function Ti(e,t,r){return!x(e)&&!x(Object.getPrototypeOf(e))&&n(`'makeAutoObservable' can only be used for classes that don't have a superclass`),ea(e)&&n(`makeAutoObservable can only be used on objects not already made observable`),x(e)?wr(e,e,t,r):(ga(function(){var n=Zi(e,r)[k];if(!e[wi]){var i=Object.getPrototypeOf(e),a=new Set([].concat(E(e),E(i)));a.delete(`constructor`),a.delete(k),C(i,wi,a)}e[wi].forEach(function(e){return n.make_(e,t&&e in t?t[e]:!0)})}),e)}var Ei=`splice`,Di=`update`,Oi=1e4,ki={get:function(e,t){var n=e[k];return t===k?n:t===`length`?n.getArrayLength_():typeof t==`string`&&!isNaN(t)?n.get_(parseInt(t)):D(Mi,t)?Mi[t]:e[t]},set:function(e,t,n){var r=e[k];return t===`length`&&r.setArrayLength_(n),typeof t==`symbol`||isNaN(t)?e[t]=n:r.set_(parseInt(t),n),!0},preventExtensions:function(){n(15)}},Ai=function(){function e(e,t,n,r){e===void 0&&(e=`ObservableArray@`+h()),this.owned_=void 0,this.legacyMode_=void 0,this.atom_=void 0,this.values_=[],this.interceptors_=void 0,this.changeListeners_=void 0,this.enhancer_=void 0,this.dehancer=void 0,this.proxy_=void 0,this.lastKnownLength_=0,this.owned_=n,this.legacyMode_=r,this.atom_=new je(e),this.enhancer_=function(n,r){return t(n,r,e+`[..]`)}}var t=e.prototype;return t.dehanceValue_=function(e){return this.dehancer===void 0?e:this.dehancer(e)},t.dehanceValues_=function(e){return this.dehancer!==void 0&&e.length>0?e.map(this.dehancer):e},t.intercept_=function(e){return vi(this,e)},t.observe_=function(e,t){return t===void 0&&(t=!1),t&&e({observableKind:`array`,object:this.proxy_,debugObjectName:this.atom_.name_,type:`splice`,index:0,added:this.values_.slice(),addedCount:this.values_.length,removed:[],removedCount:0}),xi(this,e)},t.getArrayLength_=function(){return this.atom_.reportObserved(),this.values_.length},t.setArrayLength_=function(e){(typeof e!=`number`||isNaN(e)||e<0)&&n(`Out of range: `+e);var t=this.values_.length;if(e!==t)if(e>t){for(var r=Array(e-t),i=0;i<e-t;i++)r[i]=void 0;this.spliceWithArray_(t,0,r)}else this.spliceWithArray_(e,t-e)},t.updateArrayLength_=function(e,t){e!==this.lastKnownLength_&&n(16),this.lastKnownLength_+=t,this.legacyMode_&&t>0&&da(e+t+1)},t.spliceWithArray_=function(e,t,n){var r=this;sn(this.atom_);var i=this.values_.length;if(e===void 0?e=0:e>i?e=i:e<0&&(e=Math.max(0,i+e)),t=arguments.length===1?i-e:t==null?0:Math.max(0,Math.min(t,i-e)),n===void 0&&(n=l),_i(this)){var a=yi(this,{object:this.proxy_,type:Ei,index:e,removedCount:t,added:n});if(!a)return l;t=a.removedCount,n=a.added}if(n=n.length===0?n:n.map(function(e){return r.enhancer_(e,void 0)}),this.legacyMode_||!0){var o=n.length-t;this.updateArrayLength_(i,o)}var s=this.spliceItemsIntoValues_(e,t,n);return(t!==0||n.length!==0)&&this.notifyArraySplice_(e,n,s),this.dehanceValues_(s)},t.spliceItemsIntoValues_=function(e,t,n){if(n.length<Oi){var r;return(r=this.values_).splice.apply(r,[e,t].concat(n))}else{var i=this.values_.slice(e,e+t),a=this.values_.slice(e+t);this.values_.length+=n.length-t;for(var o=0;o<n.length;o++)this.values_[e+o]=n[o];for(var s=0;s<a.length;s++)this.values_[e+n.length+s]=a[s];return i}},t.notifyArrayChildUpdate_=function(e,t,n){var r=!this.owned_&&Wn(),i=bi(this),a=i||r?{observableKind:`array`,object:this.proxy_,type:Di,debugObjectName:this.atom_.name_,index:e,newValue:t,oldValue:n}:null;r&&Kn(a),this.atom_.reportChanged(),i&&Si(this,a),r&&Jn()},t.notifyArraySplice_=function(e,t,n){var r=!this.owned_&&Wn(),i=bi(this),a=i||r?{observableKind:`array`,object:this.proxy_,debugObjectName:this.atom_.name_,type:Ei,index:e,removed:n,added:t,removedCount:n.length,addedCount:t.length}:null;r&&Kn(a),this.atom_.reportChanged(),i&&Si(this,a),r&&Jn()},t.get_=function(e){if(this.legacyMode_&&e>=this.values_.length){console.warn(`[mobx.array] Attempt to read an array index (`+e+`) that is out of bounds (`+this.values_.length+`). Please check length first. Out of bound indices will not be tracked by MobX`);return}return this.atom_.reportObserved(),this.dehanceValue_(this.values_[e])},t.set_=function(e,t){var r=this.values_;if(this.legacyMode_&&e>r.length&&n(17,e,r.length),e<r.length){sn(this.atom_);var i=r[e];if(_i(this)){var a=yi(this,{type:Di,object:this.proxy_,index:e,newValue:t});if(!a)return;t=a.newValue}t=this.enhancer_(t,i),t!==i&&(r[e]=t,this.notifyArrayChildUpdate_(e,t,i))}else{for(var o=Array(e+1-r.length),s=0;s<o.length-1;s++)o[s]=void 0;o[o.length-1]=t,this.spliceWithArray_(r.length,0,o)}},e}();function ji(e,t,n,r){return n===void 0&&(n=`ObservableArray@`+h()),r===void 0&&(r=!1),p(),ga(function(){var i=new Ai(n,t,r,!1);ee(i.values_,k,i);var a=new Proxy(i.values_,ki);return i.proxy_=a,e&&e.length&&i.spliceWithArray_(0,0,e),a})}var Mi={clear:function(){return this.splice(0)},replace:function(e){var t=this[k];return t.spliceWithArray_(0,t.values_.length,e)},toJSON:function(){return this.slice()},splice:function(e,t){var n=[...arguments].slice(2),r=this[k];switch(arguments.length){case 0:return[];case 1:return r.spliceWithArray_(e);case 2:return r.spliceWithArray_(e,t)}return r.spliceWithArray_(e,t,n)},spliceWithArray:function(e,t,n){return this[k].spliceWithArray_(e,t,n)},push:function(){var e=this[k],t=[...arguments];return e.spliceWithArray_(e.values_.length,0,t),e.values_.length},pop:function(){return this.splice(Math.max(this[k].values_.length-1,0),1)[0]},shift:function(){return this.splice(0,1)[0]},unshift:function(){var e=this[k],t=[...arguments];return e.spliceWithArray_(0,0,t),e.values_.length},reverse:function(){return L.trackingDerivation&&n(37,`reverse`),this.replace(this.slice().reverse()),this},sort:function(){L.trackingDerivation&&n(37,`sort`);var e=this.slice();return e.sort.apply(e,arguments),this.replace(e),this},remove:function(e){var t=this[k],n=t.dehanceValues_(t.values_).indexOf(e);return n>-1?(this.splice(n,1),!0):!1}};H(`at`,Ni),H(`concat`,Ni),H(`flat`,Ni),H(`includes`,Ni),H(`indexOf`,Ni),H(`join`,Ni),H(`lastIndexOf`,Ni),H(`slice`,Ni),H(`toString`,Ni),H(`toLocaleString`,Ni),H(`toSorted`,Ni),H(`toSpliced`,Ni),H(`with`,Ni),H(`every`,Pi),H(`filter`,Pi),H(`find`,Pi),H(`findIndex`,Pi),H(`findLast`,Pi),H(`findLastIndex`,Pi),H(`flatMap`,Pi),H(`forEach`,Pi),H(`map`,Pi),H(`some`,Pi),H(`toReversed`,Pi),H(`reduce`,Fi),H(`reduceRight`,Fi);function H(e,t){typeof Array.prototype[e]==`function`&&(Mi[e]=t(e))}function Ni(e){return function(){var t=this[k];t.atom_.reportObserved();var n=t.dehanceValues_(t.values_);return n[e].apply(n,arguments)}}function Pi(e){return function(t,n){var r=this,i=this[k];return i.atom_.reportObserved(),i.dehanceValues_(i.values_)[e](function(e,i){return t.call(n,e,i,r)})}}function Fi(e){return function(){var t=this,n=this[k];n.atom_.reportObserved();var r=n.dehanceValues_(n.values_),i=arguments[0];return arguments[0]=function(e,n,r){return i(e,n,r,t)},r[e].apply(r,arguments)}}var Ii=te(`ObservableArrayAdministration`,Ai);function Li(e){return b(e)&&Ii(e[k])}var Ri={},zi=`add`,Bi=`delete`,Vi=function(){function e(e,t,r){var i=this;t===void 0&&(t=ze),r===void 0&&(r=`ObservableMap@`+h()),this.enhancer_=void 0,this.name_=void 0,this[k]=Ri,this.data_=void 0,this.hasMap_=void 0,this.keysAtom_=void 0,this.interceptors_=void 0,this.changeListeners_=void 0,this.dehancer=void 0,this.enhancer_=t,this.name_=r,v(Map)||n(18),ga(function(){i.keysAtom_=Ne(i.name_+`.keys()`),i.data_=new Map,i.hasMap_=new Map,e&&i.merge(e)})}var t=e.prototype;return t.has_=function(e){return this.data_.has(e)},t.has=function(e){var t=this;if(!L.trackingDerivation)return this.has_(e);var n=this.hasMap_.get(e);if(!n){var r=n=new Qt(this.has_(e),Ve,this.name_+`.`+ae(e)+`?`,!1);this.hasMap_.set(e,r),vr(r,function(){return t.hasMap_.delete(e)})}return n.get()},t.set=function(e,t){var n=this.has_(e);if(_i(this)){var r=yi(this,{type:n?Di:zi,object:this,newValue:t,name:e});if(!r)return this;t=r.newValue}return n?this.updateValue_(e,t):this.addValue_(e,t),this},t.delete=function(e){var t=this;if(sn(this.keysAtom_),_i(this)&&!yi(this,{type:Bi,object:this,name:e}))return!1;if(this.has_(e)){var n=Wn(),r=bi(this),i=r||n?{observableKind:`map`,debugObjectName:this.name_,type:Bi,object:this,oldValue:this.data_.get(e).value_,name:e}:null;return n&&Kn(i),ui(function(){var n;t.keysAtom_.reportChanged(),(n=t.hasMap_.get(e))==null||n.setNewValue_(!1),t.data_.get(e).setNewValue_(void 0),t.data_.delete(e)}),r&&Si(this,i),n&&Jn(),!0}return!1},t.updateValue_=function(e,t){var n=this.data_.get(e);if(t=n.prepareNewValue_(t),t!==L.UNCHANGED){var r=Wn(),i=bi(this),a=i||r?{observableKind:`map`,debugObjectName:this.name_,type:Di,object:this,oldValue:n.value_,name:e,newValue:t}:null;r&&Kn(a),n.setNewValue_(t),i&&Si(this,a),r&&Jn()}},t.addValue_=function(e,t){var n=this;sn(this.keysAtom_),ui(function(){var r,i=new Qt(t,n.enhancer_,n.name_+`.`+ae(e),!1);n.data_.set(e,i),t=i.value_,(r=n.hasMap_.get(e))==null||r.setNewValue_(!0),n.keysAtom_.reportChanged()});var r=Wn(),i=bi(this),a=i||r?{observableKind:`map`,debugObjectName:this.name_,type:zi,object:this,name:e,newValue:t}:null;r&&Kn(a),i&&Si(this,a),r&&Jn()},t.get=function(e){return this.has(e)?this.dehanceValue_(this.data_.get(e).get()):this.dehanceValue_(void 0)},t.dehanceValue_=function(e){return this.dehancer===void 0?e:this.dehancer(e)},t.keys=function(){return this.keysAtom_.reportObserved(),this.data_.keys()},t.values=function(){var e=this,t=this.keys();return Ui({next:function(){var n=t.next(),r=n.done,i=n.value;return{done:r,value:r?void 0:e.get(i)}}})},t.entries=function(){var e=this,t=this.keys();return Ui({next:function(){var n=t.next(),r=n.done,i=n.value;return{done:r,value:r?void 0:[i,e.get(i)]}}})},t[Symbol.iterator]=function(){return this.entries()},t.forEach=function(e,t){for(var n=me(this),r;!(r=n()).done;){var i=r.value,a=i[0],o=i[1];e.call(t,o,a,this)}},t.merge=function(e){var t=this;return Hi(e)&&(e=new Map(e)),ui(function(){x(e)?T(e).forEach(function(n){return t.set(n,e[n])}):Array.isArray(e)?e.forEach(function(e){var n=e[0],r=e[1];return t.set(n,r)}):ne(e)?(re(e)||n(19,e),e.forEach(function(e,n){return t.set(n,e)})):e!=null&&n(20,e)}),this},t.clear=function(){var e=this;ui(function(){pn(function(){for(var t=me(e.keys()),n;!(n=t()).done;){var r=n.value;e.delete(r)}})})},t.replace=function(e){var t=this;return ui(function(){for(var n=Wi(e),r=new Map,i=!1,a=me(t.data_.keys()),o;!(o=a()).done;){var s=o.value;if(!n.has(s))if(t.delete(s))i=!0;else{var c=t.data_.get(s);r.set(s,c)}}for(var l=me(n.entries()),u;!(u=l()).done;){var d=u.value,f=d[0],p=d[1],m=t.data_.has(f);if(t.set(f,p),t.data_.has(f)){var h=t.data_.get(f);r.set(f,h),m||(i=!0)}}if(!i)if(t.data_.size!==r.size)t.keysAtom_.reportChanged();else for(var g=t.data_.keys(),_=r.keys(),v=g.next(),y=_.next();!v.done;){if(v.value!==y.value){t.keysAtom_.reportChanged();break}v=g.next(),y=_.next()}t.data_=r}),this},t.toString=function(){return`[object ObservableMap]`},t.toJSON=function(){return Array.from(this)},t.observe_=function(e,t){return t===!0&&n("`observe` doesn't support fireImmediately=true in combination with maps."),xi(this,e)},t.intercept_=function(e){return vi(this,e)},pe(e,[{key:`size`,get:function(){return this.keysAtom_.reportObserved(),this.data_.size}},{key:Symbol.toStringTag,get:function(){return`Map`}}])}(),Hi=te(`ObservableMap`,Vi);function Ui(e){return e[Symbol.toStringTag]=`MapIterator`,Sa(e)}function Wi(e){if(ne(e)||Hi(e))return e;if(Array.isArray(e))return new Map(e);if(x(e)){var t=new Map;for(var r in e)t.set(r,e[r]);return t}else return n(21,e)}var Gi={},Ki=function(){function e(e,t,r){var i=this;t===void 0&&(t=ze),r===void 0&&(r=`ObservableSet@`+h()),this.name_=void 0,this[k]=Gi,this.data_=new Set,this.atom_=void 0,this.changeListeners_=void 0,this.interceptors_=void 0,this.dehancer=void 0,this.enhancer_=void 0,this.name_=r,v(Set)||n(22),this.enhancer_=function(e,n){return t(e,n,r)},ga(function(){i.atom_=Ne(i.name_),e&&i.replace(e)})}var t=e.prototype;return t.dehanceValue_=function(e){return this.dehancer===void 0?e:this.dehancer(e)},t.clear=function(){var e=this;ui(function(){pn(function(){for(var t=me(e.data_.values()),n;!(n=t()).done;){var r=n.value;e.delete(r)}})})},t.forEach=function(e,t){for(var n=me(this),r;!(r=n()).done;){var i=r.value;e.call(t,i,i,this)}},t.add=function(e){var t=this;if(sn(this.atom_),_i(this)){var n=yi(this,{type:zi,object:this,newValue:e});if(!n)return this;e=n.newValue}if(!this.has(e)){ui(function(){t.data_.add(t.enhancer_(e,void 0)),t.atom_.reportChanged()});var r=Wn(),i=bi(this),a=i||r?{observableKind:`set`,debugObjectName:this.name_,type:zi,object:this,newValue:e}:null;r&&Kn(a),i&&Si(this,a),r&&Jn()}return this},t.delete=function(e){var t=this;if(_i(this)&&!yi(this,{type:Bi,object:this,oldValue:e}))return!1;if(this.has(e)){var n=Wn(),r=bi(this),i=r||n?{observableKind:`set`,debugObjectName:this.name_,type:Bi,object:this,oldValue:e}:null;return n&&Kn(i),ui(function(){t.atom_.reportChanged(),t.data_.delete(e)}),r&&Si(this,i),n&&Jn(),!0}return!1},t.has=function(e){return this.atom_.reportObserved(),this.data_.has(this.dehanceValue_(e))},t.entries=function(){var e=this.values();return qi({next:function(){var t=e.next(),n=t.value,r=t.done;return r?{value:void 0,done:r}:{value:[n,n],done:r}}})},t.keys=function(){return this.values()},t.values=function(){this.atom_.reportObserved();var e=this,t=this.data_.values();return qi({next:function(){var n=t.next(),r=n.value,i=n.done;return i?{value:void 0,done:i}:{value:e.dehanceValue_(r),done:i}}})},t.intersection=function(e){return w(e)&&!U(e)?e.intersection(this):new Set(this).intersection(e)},t.union=function(e){return w(e)&&!U(e)?e.union(this):new Set(this).union(e)},t.difference=function(e){return new Set(this).difference(e)},t.symmetricDifference=function(e){return w(e)&&!U(e)?e.symmetricDifference(this):new Set(this).symmetricDifference(e)},t.isSubsetOf=function(e){return new Set(this).isSubsetOf(e)},t.isSupersetOf=function(e){return new Set(this).isSupersetOf(e)},t.isDisjointFrom=function(e){return w(e)&&!U(e)?e.isDisjointFrom(this):new Set(this).isDisjointFrom(e)},t.replace=function(e){var t=this;return U(e)&&(e=new Set(e)),ui(function(){Array.isArray(e)||w(e)?(t.clear(),e.forEach(function(e){return t.add(e)})):e!=null&&n(`Cannot initialize set from `+e)}),this},t.observe_=function(e,t){return t===!0&&n("`observe` doesn't support fireImmediately=true in combination with sets."),xi(this,e)},t.intercept_=function(e){return vi(this,e)},t.toJSON=function(){return Array.from(this)},t.toString=function(){return`[object ObservableSet]`},t[Symbol.iterator]=function(){return this.values()},pe(e,[{key:`size`,get:function(){return this.atom_.reportObserved(),this.data_.size}},{key:Symbol.toStringTag,get:function(){return`Set`}}])}(),U=te(`ObservableSet`,Ki);function qi(e){return e[Symbol.toStringTag]=`SetIterator`,Sa(e)}var Ji=Object.create(null),Yi=`remove`,Xi=function(){function e(e,t,r,i){t===void 0&&(t=new Map),i===void 0&&(i=vt),this.target_=void 0,this.values_=void 0,this.name_=void 0,this.defaultAnnotation_=void 0,this.keysAtom_=void 0,this.changeListeners_=void 0,this.interceptors_=void 0,this.proxy_=void 0,this.isPlainObject_=void 0,this.appliedAnnotations_=void 0,this.pendingKeys_=void 0,this.target_=e,this.values_=t,this.name_=r,this.defaultAnnotation_=i,this.keysAtom_=new je(this.name_+`.keys`),this.isPlainObject_=x(this.target_),wa(this.defaultAnnotation_)||n(`defaultAnnotation must be valid annotation`),this.appliedAnnotations_={}}var t=e.prototype;return t.getObservablePropValue_=function(e){return this.values_.get(e).get()},t.setObservablePropValue_=function(e,t){var n=this.values_.get(e);if(n instanceof en)return n.set(t),!0;if(_i(this)){var r=yi(this,{type:Di,object:this.proxy_||this.target_,name:e,newValue:t});if(!r)return null;t=r.newValue}if(t=n.prepareNewValue_(t),t!==L.UNCHANGED){var i=bi(this),a=Wn(),o=i||a?{type:Di,observableKind:`object`,debugObjectName:this.name_,object:this.proxy_||this.target_,oldValue:n.value_,name:e,newValue:t}:null;a&&Kn(o),n.setNewValue_(t),i&&Si(this,o),a&&Jn()}return!0},t.get_=function(e){return L.trackingDerivation&&!D(this.target_,e)&&this.has_(e),this.target_[e]},t.set_=function(e,t,n){return n===void 0&&(n=!1),D(this.target_,e)?this.values_.has(e)?this.setObservablePropValue_(e,t):n?Reflect.set(this.target_,e,t):(this.target_[e]=t,!0):this.extend_(e,{value:t,enumerable:!0,writable:!0,configurable:!0},this.defaultAnnotation_,n)},t.has_=function(e){if(!L.trackingDerivation)return e in this.target_;this.pendingKeys_||=new Map;var t=this.pendingKeys_.get(e);return t||(t=new Qt(e in this.target_,Ve,this.name_+`.`+ae(e)+`?`,!1),this.pendingKeys_.set(e,t)),t.get()},t.make_=function(e,t){if(t===!0&&(t=this.defaultAnnotation_),t!==!1){if(na(this,t,e),!(e in this.target_)){var r;if((r=this.target_[we])!=null&&r[e])return;n(1,t.annotationType_,this.name_+`.`+e.toString())}for(var i=this.target_;i&&i!==c;){var a=o(i,e);if(a){var s=t.make_(this,e,a,i);if(s===0)return;if(s===1)break}i=Object.getPrototypeOf(i)}ta(this,t,e)}},t.extend_=function(e,t,n,r){if(r===void 0&&(r=!1),n===!0&&(n=this.defaultAnnotation_),n===!1)return this.defineProperty_(e,t,r);na(this,n,e);var i=n.extend_(this,e,t,r);return i&&ta(this,n,e),i},t.defineProperty_=function(e,t,n){n===void 0&&(n=!1),sn(this.keysAtom_);try{An();var r=this.delete_(e);if(!r)return r;if(_i(this)){var i=yi(this,{object:this.proxy_||this.target_,name:e,type:zi,newValue:t.value});if(!i)return null;var a=i.newValue;t.value!==a&&(t=he({},t,{value:a}))}if(n){if(!Reflect.defineProperty(this.target_,e,t))return!1}else s(this.target_,e,t);this.notifyPropertyAddition_(e,t.value)}finally{jn()}return!0},t.defineObservableProperty_=function(e,t,n,r){r===void 0&&(r=!1),sn(this.keysAtom_);try{An();var i=this.delete_(e);if(!i)return i;if(_i(this)){var a=yi(this,{object:this.proxy_||this.target_,name:e,type:zi,newValue:t});if(!a)return null;t=a.newValue}var o=$i(e),c={configurable:L.safeDescriptors?this.isPlainObject_:!0,enumerable:!0,get:o.get,set:o.set};if(r){if(!Reflect.defineProperty(this.target_,e,c))return!1}else s(this.target_,e,c);var l=new Qt(t,n,this.name_+`.`+e.toString(),!1);this.values_.set(e,l),this.notifyPropertyAddition_(e,l.value_)}finally{jn()}return!0},t.defineComputedProperty_=function(e,t,n){n===void 0&&(n=!1),sn(this.keysAtom_);try{An();var r=this.delete_(e);if(!r)return r;if(_i(this)&&!yi(this,{object:this.proxy_||this.target_,name:e,type:zi,newValue:void 0}))return null;t.name||=this.name_+`.`+e.toString(),t.context=this.proxy_||this.target_;var i=$i(e),a={configurable:L.safeDescriptors?this.isPlainObject_:!0,enumerable:!1,get:i.get,set:i.set};if(n){if(!Reflect.defineProperty(this.target_,e,a))return!1}else s(this.target_,e,a);this.values_.set(e,new en(t)),this.notifyPropertyAddition_(e,void 0)}finally{jn()}return!0},t.delete_=function(e,t){if(t===void 0&&(t=!1),sn(this.keysAtom_),!D(this.target_,e))return!0;if(_i(this)&&!yi(this,{object:this.proxy_||this.target_,name:e,type:Yi}))return null;try{var n;An();var r=bi(this),i=Wn(),a=this.values_.get(e),s=void 0;if(!a&&(r||i)&&(s=o(this.target_,e)?.value),t){if(!Reflect.deleteProperty(this.target_,e))return!1}else delete this.target_[e];if(delete this.appliedAnnotations_[e],a&&(this.values_.delete(e),a instanceof Qt&&(s=a.value_),Nn(a)),this.keysAtom_.reportChanged(),(n=this.pendingKeys_)==null||(n=n.get(e))==null||n.set(e in this.target_),r||i){var c={type:Yi,observableKind:`object`,object:this.proxy_||this.target_,debugObjectName:this.name_,oldValue:s,name:e};i&&Kn(c),r&&Si(this,c),i&&Jn()}}finally{jn()}return!0},t.observe_=function(e,t){return t===!0&&n("`observe` doesn't support the fire immediately property for observable objects."),xi(this,e)},t.intercept_=function(e){return vi(this,e)},t.notifyPropertyAddition_=function(e,t){var n,r=bi(this),i=Wn();if(r||i){var a=r||i?{type:zi,observableKind:`object`,debugObjectName:this.name_,object:this.proxy_||this.target_,name:e,newValue:t}:null;i&&Kn(a),r&&Si(this,a),i&&Jn()}(n=this.pendingKeys_)==null||(n=n.get(e))==null||n.set(!0),this.keysAtom_.reportChanged()},t.ownKeys_=function(){return this.keysAtom_.reportObserved(),E(this.target_)},t.keys_=function(){return this.keysAtom_.reportObserved(),Object.keys(this.target_)},e}();function Zi(e,t){if(t&&ea(e)&&n(`Options can't be provided for already observable objects.`),D(e,k))return ma(e)instanceof Xi||n(`Cannot convert '`+ha(e)+`' into observable object:
|
|
82
82
|
The target is already observable of different type.
|
|
83
|
-
Extending builtins is not supported.`),e;Object.isExtensible(e)||n(`Cannot make the designated object observable; it is not extensible`);var r=t?.name??(x(e)?`ObservableObject`:e.constructor.name)+`@`+h();return C(e,
|
|
83
|
+
Extending builtins is not supported.`),e;Object.isExtensible(e)||n(`Cannot make the designated object observable; it is not extensible`);var r=t?.name??(x(e)?`ObservableObject`:e.constructor.name)+`@`+h();return C(e,k,new Xi(e,new Map,String(r),Ft(t))),e}var Qi=te(`ObservableObjectAdministration`,Xi);function $i(e){return Ji[e]||(Ji[e]={get:function(){return this[k].getObservablePropValue_(e)},set:function(t){return this[k].setObservablePropValue_(e,t)}})}function ea(e){return b(e)?Qi(e[k]):!1}function ta(e,t,n){var r;e.appliedAnnotations_[n]=t,(r=e.target_[we])==null||delete r[n]}function na(e,t,r){if(wa(t)||n(`Cannot annotate '`+e.name_+`.`+r.toString()+`': Invalid annotation.`),!Ge(t)&&D(e.appliedAnnotations_,r)){var i=e.name_+`.`+r.toString(),a=e.appliedAnnotations_[r].annotationType_,o=t.annotationType_;n(`Cannot apply '`+o+`' to '`+i+`':`+(`
|
|
84
84
|
The field is already annotated with '`+a+`'.`)+`
|
|
85
85
|
Re-annotating fields is not allowed.
|
|
86
|
-
Use 'override' annotation for methods overridden by subclass.`)}}var ra=la(0),ia=function(){var e=!1,t={};return Object.defineProperty(t,`0`,{set:function(){e=!0}}),Object.create(t)[0]=1,e===!1}(),aa=0,oa=function(){};function sa(e,t){Object.setPrototypeOf?Object.setPrototypeOf(e.prototype,t):e.prototype.__proto__===void 0?e.prototype=t:e.prototype.__proto__=t}sa(oa,Array.prototype);var ca=function(e){function t(t,n,r,i){var a;return r===void 0&&(r=`ObservableArray@`+h()),i===void 0&&(i=!1),a=e.call(this)||this,ga(function(){var e=new ki(r,n,i,!0);e.proxy_=a,ee(a,O,e),t&&t.length&&a.spliceWithArray(0,0,t),ia&&Object.defineProperty(a,`0`,ra)}),a}_e(t,e);var n=t.prototype;return n.concat=function(){this[O].atom_.reportObserved();var e=[...arguments];return Array.prototype.concat.apply(this.slice(),e.map(function(e){return Ii(e)?e.slice():e}))},n[Symbol.iterator]=function(){var e=this,t=0;return Sa({next:function(){return t<e.length?{value:e[t++],done:!1}:{done:!0,value:void 0}}})},me(t,[{key:`length`,get:function(){return this[O].getArrayLength_()},set:function(e){this[O].setArrayLength_(e)}},{key:Symbol.toStringTag,get:function(){return`Array`}}])}(oa);Object.entries(ji).forEach(function(e){var t=e[0],n=e[1];t!==`concat`&&C(ca.prototype,t,n)});function la(e){return{enumerable:!1,configurable:!0,get:function(){return this[O].get_(e)},set:function(t){this[O].set_(e,t)}}}function ua(e){s(ca.prototype,``+e,la(e))}function da(e){if(e>aa){for(var t=aa;t<e+100;t++)ua(t);aa=e}}da(1e3);function fa(e,t,n){return new ca(e,t,n)}function pa(e,t){if(typeof e==`object`&&e){if(Ii(e))return t!==void 0&&n(23),e[O].atom_;if(Ki(e))return e.atom_;if(Vi(e)){if(t===void 0)return e.keysAtom_;var r=e.data_.get(t)||e.hasMap_.get(t);return r||n(25,t,ha(e)),r}if(ea(e)){if(!t)return n(26);var i=e[O].values_.get(t);return i||n(27,t,ha(e)),i}if(Ne(e)||nn(e)||z(e))return e}else if(v(e)&&z(e[O]))return e[O];n(28)}function ma(e,t){if(e||n(29),t!==void 0)return ma(pa(e,t));if(Ne(e)||nn(e)||z(e)||Vi(e)||Ki(e))return e;if(e[O])return e[O];n(24,e)}function ha(e,t){var n;if(t!==void 0)n=pa(e,t);else if(lr(e))return e.name;else n=ea(e)||Vi(e)||Ki(e)?ma(e):pa(e);return n.name_}function ga(e){var t=F(),n=Zt(!0);jn();try{return e()}finally{Mn(),Qt(n),hn(t)}}var _a=c.toString;function va(e,t,n){return n===void 0&&(n=-1),ya(e,t,n)}function ya(e,t,n,r,i){if(e===t)return e!==0||1/e==1/t;if(e==null||t==null)return!1;if(e!==e)return t!==t;var a=typeof e;if(a!==`function`&&a!==`object`&&typeof t!=`object`)return!1;var o=_a.call(e);if(o!==_a.call(t))return!1;switch(o){case`[object RegExp]`:case`[object String]`:return``+e==``+t;case`[object Number]`:return+e==+e?+e==0?1/e==1/t:+e==+t:+t!=+t;case`[object Date]`:case`[object Boolean]`:return+e==+t;case`[object Symbol]`:return typeof Symbol<`u`&&Symbol.valueOf.call(e)===Symbol.valueOf.call(t);case`[object Map]`:case`[object Set]`:n>=0&&n++;break}e=ba(e),t=ba(t);var s=o===`[object Array]`;if(!s){if(typeof e!=`object`||typeof t!=`object`)return!1;var c=e.constructor,l=t.constructor;if(c!==l&&!(v(c)&&c instanceof c&&v(l)&&l instanceof l)&&`constructor`in e&&`constructor`in t)return!1}if(n===0)return!1;n<0&&(n=-1),r||=[],i||=[];for(var u=r.length;u--;)if(r[u]===e)return i[u]===t;if(r.push(e),i.push(t),s){if(u=e.length,u!==t.length)return!1;for(;u--;)if(!ya(e[u],t[u],n-1,r,i))return!1}else{var d=Object.keys(e),f=d.length;if(Object.keys(t).length!==f)return!1;for(var p=0;p<f;p++){var m=d[p];if(!(se(t,m)&&ya(e[m],t[m],n-1,r,i)))return!1}}return r.pop(),i.pop(),!0}function ba(e){return Ii(e)?e.slice():ne(e)||Vi(e)||w(e)||Ki(e)?Array.from(e.entries()):e}var xa=i().Iterator?.prototype||{};function Sa(e){return e[Symbol.iterator]=Ca,Object.assign(Object.create(xa),e)}function Ca(){return this}function wa(e){return e instanceof Object&&typeof e.annotationType_==`string`&&v(e.make_)&&v(e.extend_)}[`Symbol`,`Map`,`Set`].forEach(function(e){i()[e]===void 0&&n(`MobX requires global '`+e+`' to be available or polyfilled`)}),typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__==`object`&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:Yn,extras:{getDebugName:ha},$mobx:O}),e.$mobx=O,e.FlowCancellationError=Ar,e.ObservableMap=Bi,e.ObservableSet=Gi,e.Reaction=R,e._allowStateChanges=Xt,e._allowStateChangesInsideComputed=cr,e._allowStateReadsEnd=_n,e._allowStateReadsStart=gn,e._autoAction=sr,e._endAction=Yt,e._getAdministration=ma,e._getGlobalState=wn,e._interceptReads=Lr,e._isComputingDerivation=cn,e._resetGlobalState=Tn,e._startAction=Jt,e.action=or,e.autorun=ur,e.comparer=ze,e.computed=Ht,e.configure=Sr,e.createAtom=Pe,e.defineProperty=ei,e.entries=Yr,e.extendObservable=Cr,e.flow=Pr,e.flowResult=Fr,e.get=$r,e.getAtom=pa,e.getDebugName=ha,e.getDependencyTree=wr,e.getObserverTree=Er,e.has=Qr,e.intercept=Rr,e.isAction=lr,e.isBoxedObservable=en,e.isComputed=Hr,e.isComputedProp=Ur,e.isFlow=Ir,e.isFlowCancellationError=jr,e.isObservable=Gr,e.isObservableArray=Ii,e.isObservableMap=Vi,e.isObservableObject=ea,e.isObservableProp=Kr,e.isObservableSet=Ki,e.keys=qr,e.makeAutoObservable=wi,e.makeObservable=Si,e.observable=A,e.observe=ni,e.onBecomeObserved=_r,e.onBecomeUnobserved=vr,e.onReactionError=Rn,e.override=Ge,e.ownKeys=ti,e.reaction=pr,e.remove=Zr,e.runInAction=cr,e.set=Xr,e.spy=Yn,e.toJS=oi,e.trace=si,e.transaction=li,e.untracked=mn,e.values=Jr,e.when=ui})),x_=pe(((e,t)=>{process.env.NODE_ENV===`production`?t.exports=y_():t.exports=b_()}))();function S_(e){if(Array.isArray(e))return Object.freeze(e.map(S_));if(typeof e==`object`&&e){let t=Object.create(null),n=Object.entries(e).sort(([e],[t])=>e<t?-1:+(e>t));for(let[e,r]of n)t[e]=S_(r);return Object.freeze(t)}return e}function C_(e){let t=typeof e;if(t===`string`||t===`number`||t===`boolean`)return t;throw TypeError(`Variable values must be string|number|boolean (got ${t})`)}function w_(e){return typeof e==`string`?e:String(e)}function T_(e){if(typeof e==`number`)return e;if(typeof e==`boolean`)return+!!e;let t=e.trim();if(t===``)throw TypeError(`Cannot cast empty string to number`);let n=Number(t);if(!Number.isFinite(n))throw TypeError(`Cannot cast ${JSON.stringify(e)} to number`);return n}function E_(e){if(typeof e==`boolean`)return e;if(typeof e==`number`){if(e===0||e===1)return e===1;throw TypeError(`Cannot cast number ${e} to bool (only 0 and 1 are accepted)`)}if(e===`true`)return!0;if(e===`false`)return!1;throw TypeError(`Cannot cast ${JSON.stringify(e)} to bool (expected "true" or "false")`)}function D_(e,t){if(!(e instanceof H))throw TypeError(`template function expected a RichText fragment, got ${typeof e==`object`?Object.prototype.toString.call(e):typeof e}`);let n=e.copy();return n.style=O_(e.style).add(t),n}function O_(e){if(e instanceof B)return e;try{return B.parse(e)}catch(t){throw t instanceof br?TypeError(`template function cannot style a fragment whose base style "${e}" is not a style definition: a style name resolves only against the theme of a render`,{cause:t}):t}}function k_(e){return{fn:(t=>D_(t,e)),argTypes:[`liftable`],returnType:`T`}}function A_(e){return{fn:((t,n)=>D_(n,new B({[e]:P.parse(t)}))),argTypes:[`string`,`liftable`],returnType:`T`}}function j_(e,t){return new B({[e]:t})}function M_(){let e={};for(let t of _r)e[t]=k_(j_(t,!0)),e[`not_${t}`]=k_(j_(t,!1));for(let[t,n]of Object.entries(yr))e[t]=k_(j_(n,!0));return e}const N_={fn:((e,t)=>D_(t,B.parse(e))),argTypes:[`string`,`liftable`],returnType:`T`},P_={fn:((e,t)=>D_(t,new B({link:e}))),argTypes:[`string`,`liftable`],returnType:`T`};function F_(){return{fg:A_(`color`),bg:A_(`bgcolor`),...M_(),link:P_,style:N_}}function I_(e,t){if(!zn.test(e.trim()))throw TypeError(`${t} expected a color (#RRGGBB or #RRGGBBAA), got ${JSON.stringify(e)} — to use a palette name here, wrap it: ${t} (color ${JSON.stringify(e)}) …`);return Bn(e)}function L_(e,t){return{fn:t,argTypes:e,returnType:`string`}}function R_(e,t,n,r){let i=r===void 0||e>=r.min&&e<=r.max;if(!Number.isFinite(e)||!i){let i=r===void 0?`a finite number`:`within ${r.min}..${r.max} (${r.note})`;throw RangeError(`${t}'s ${n} must be ${i}, got ${e}`+(e===void 0?` — ${t} takes it as its last argument`:``))}return e}const z_=L_([`string`,`int`],((e,t)=>Kn(I_(e,`darken`),R_(t,`darken`,`levels`)).hex)),B_=L_([`string`,`int`],((e,t)=>Kn(I_(e,`lighten`),-R_(t,`lighten`,`levels`)).hex)),V_={min:0,max:100,note:`0 = from, 100 = toward`},H_=L_([`string`,`string`,`float`],((e,t,n)=>hn(I_(e,`mix`),I_(t,`mix`),R_(n,`mix`,`percentage`,V_)/100).hex)),U_={min:1,max:21,note:`4.5 = AA body text, 3 = AA large text`},W_=L_([`string`],(e=>qn(I_(e,`contrastOn`)).hex)),G_=e=>L_([`string`,`string`,`float`],((t,n,r)=>Jn(I_(t,`readableOn`),I_(n,`readableOn`),R_(r,`readableOn`,`ratio`,U_),e()).hex)),K_={hueShift:`shiftHue`,chromaScale:`scaleChroma`,lightnessScale:`scaleLightness`,lightnessShift:`shiftLightness`};function q_(){let e={};for(let[t,n]of Object.entries(K_)){let r=t;e[n]=L_([`string`,`float`],((e,t)=>{let i={...On,[r]:R_(t,n,`amount`)};return R.fromRgba(I_(e,n)).applyKey(i).toRgba().hex}))}return e}function J_(e=()=>M.TRUECOLOR){return{darken:z_,lighten:B_,mix:H_,contrastOn:W_,readableOn:G_(e),...q_()}}function Y_(e,t){if(e.length===0)throw RangeError(`ramp needs at least one stop after the easing: ramp <value> <easing> <position> <color> …`);if(e.length%2!=0)throw RangeError(`ramp's last stop (position ${String(e[e.length-1])}) has no color — stops are <position> <color> pairs`);let n=[];for(let r=0;r<e.length;r+=2)n.push({at:e[r],color:Vn(t,e[r+1])});return n}function X_(e){return{color:{fn:(t=>Vn(e(),t).hex),argTypes:[`string`],returnType:`string`},ramp:{fn:((...t)=>{if(t.length<2)throw RangeError(`ramp needs a value and an easing before its stops (got ${t.length}): ramp <value> "linear"|"step" <position> <color> …`);let[n,r,...i]=t;return new gr(hr(r),Y_(i,e())).at(n).hex}),argTypes:[`float`,`string`],argTypePattern:`alternating`,returnType:`string`}}}function Z_(e){return{...F_(),...J_(e)}}new B({color:`red`,dim:!0});const Q_=/^(?:(?:global|apac|au|eu|us|us-east-\d|us-west-\d|eu-west-\d|eu-central-\d)\.)?(?:anthropic\.|azure_ai\/|bedrock\/|vertex_ai\/)?claude-(?:(?<family>opus|sonnet|haiku)-(?<newMajor>\d+)(?:-(?<newMinor>\d))?|(?<oldMajor>\d+)(?:-(?<oldMinor>\d))?-(?<oldFamily>opus|sonnet|haiku))(?:[-@]\d{8})?(?:-v\d+:\d+)?(?:-latest)?$/i,$_=/^(?<family>opus|sonnet|haiku)\s+(?<major>\d+)(?:\.(?<minor>\d))?$/i;function ev(e){if(!e)return`Claude`;let t=e.trim().replace(/\s*\([^)]*\)\s*$/,``).replace(/\s*\[[^\]]*\]\s*$/,``).trim(),n=t.match(Q_);if(n?.groups){let{family:e,newMajor:t,newMinor:r,oldMajor:i,oldMinor:a,oldFamily:o}=n.groups,s=e||o,c=t||i,l=r||a;if(s&&c)return`${s.charAt(0).toUpperCase()+s.slice(1).toLowerCase()} ${l?`${c}.${l}`:c}`}let r=t.match($_);if(r?.groups){let e=r.groups.family,t=r.groups.major,n=r.groups.minor;return`${e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()} ${n?`${t}.${n}`:t}`}return t||e}function tv(e){let t=e.match($_);if(!t?.groups)return e;let n=t.groups.family,r=t.groups.major,i=t.groups.minor;return`${n.charAt(0).toUpperCase()}${i?`${r}.${i}`:r}`}function nv(e){let t=e.split(`/`),n=t.length-1;return t.map((e,t)=>{if(t===n)return e;let r=e.match(/^\.*./);return r?r[0]:e}).join(`/`)}function rv(e){return e.toLocaleString()}function iv(e){if(e.length===0)throw Error(`a cascade needs at least one stop, e.g. "0:calm"`);let t=[];for(let[n,r]of e.entries()){let e=r.indexOf(`:`),i=e<0?NaN:Number(r.slice(0,e));if(!Number.isFinite(i))throw Error(`cascade stop ${n} ("${r}") must be "<position>:<result>", e.g. "80:hot" — the position must be a number`);let a=t[n-1];if(a!==void 0&&i<a.at)throw Error(`cascade stops must be in ascending position order; stop ${n} at ${i} follows stop ${n-1} at ${a.at}`);t.push({at:i,text:r.slice(e+1)})}return t}function av(e,t){if(!Number.isFinite(e))throw Error(`a cascade needs a finite value, got ${e}`);let n=-1;for(;n+1<t.length&&t[n+1].at<=e;)n++;return(n<0?t[0]:t[n]).text}const ov=[`▁`,`▂`,`▃`,`▄`,`▅`,`▆`,`▇`,`█`],sv=ov.length;function cv(e,t){let n=t===void 0?e:t<=0?[]:e.slice(-t);if(n.length===0)return``;let r=n[0],i=n[0];for(let e of n)e<r&&(r=e),e>i&&(i=e);let a=i-r,o=``;for(let e of n){let t=a===0?0:Math.round((e-r)/a*(sv-1));o+=ov[t]}return o}function lv(e){let t=[];for(let n of e.split(`,`)){let e=n.trim();if(e===``)continue;let r=Number(e);if(!Number.isFinite(r))throw TypeError(`sparkline: non-numeric series element ${JSON.stringify(n)}`);t.push(r)}return t}const uv=Sa(),dv=[...Fa];function fv(){return{basename:{fn:e=>l(e),argTypes:[`string`]},dirname:{fn:e=>u(e),argTypes:[`string`]},abbreviatePath:{fn:e=>nv(e),argTypes:[`string`]},int:{fn:e=>T_(e),argTypes:[`value`]},string:{fn:e=>w_(e),argTypes:[`value`]},bool:{fn:e=>E_(e),argTypes:[`value`]},urlEncode:{fn:e=>encodeURIComponent(e),argTypes:[`string`]},themes:{fn:()=>uv,argTypes:[]},styles:{fn:()=>dv,argTypes:[]},sparkline:{fn:(e,t)=>cv(lv(e),t),argTypes:[`string`,`int`]},cascade:{fn:(e,...t)=>av(e,iv(t)),argTypes:[`float`,`string`]}}}function pv(e=()=>new Date){return{minutesUntilReset:{fn:t=>Math.round(Math.max(0,t*1e3-e().getTime())/6e4),argTypes:[`int`]},formatInteger:{fn:e=>rv(e),argTypes:[`int`]},round:{fn:e=>Math.round(e),argTypes:[`float`]},formatModelName:{fn:e=>ev(e),argTypes:[`string`]},shortenModelName:{fn:e=>tv(e),argTypes:[`string`]}}}function mv(e,t=()=>new Date,n){return _f({fromString:e=>new H(e),toString:e=>e.plain,isT:e=>e instanceof H,clock:t,missingKey:`error`,funcs:{...im(),...mg(),...Wm(),...fh(),...Xp(t),...Bf(),...vm(),...Z_(n),...fv(),...pv(t),...e??{}}})}function hv(e){return gv(e,new Set(e.names()),``)}function gv(e,t,n){return new Proxy(Object.create(null),{has(e,r){if(typeof r!=`string`)return!1;let i=n?`${n}.${r}`:r;if(t.has(i))return!0;let a=`${i}.`;for(let e of t)if(e.startsWith(a))return!0;return!1},get(r,i){if(typeof i!=`string`)return;let a=n?`${n}.${i}`:i;if(t.has(a))return e.getKind(a)===`document`?vv(a,e.readDocument(a)):e.read(a);let o=`${a}.`;for(let n of t)if(n.startsWith(o))return gv(e,t,a)}})}function _v(e,t){return new Proxy(e,{has:(e,t)=>t===`settings`||Reflect.has(e,t),get:(e,n)=>n===`settings`?t:Reflect.get(e,n)})}function vv(e,t){switch(t.kind){case`ok`:return t.value;case`absent`:throw Error(`variable "${e}" has no value yet: its source has not completed a scan`);case`failed`:throw Error(`variable "${e}": ${t.reason}`)}}function J(e){return{kind:`ok`,value:e}}const Y={kind:`absent`};function X(e){return{kind:`failed`,reason:e}}function yv(e,t){return e?.kind===`ok`?e.value:t}function bv(e,t,n){return t.ok?J(t.stdout):t.reason===`non-zero`&&n===`absent`||t.reason===`non-zero`&&n===t.exitCode?Y:X(`${e}: ${[t.reason,t.exitCode==null?null:`exit ${t.exitCode}`,t.error??xv(t.stderr)].filter(Boolean).join(`, `)}`)}function xv(e){return e.trim().split(`
|
|
87
|
-
`,1)[0]??``}function
|
|
88
|
-
`)){let e=n.match(/^remote\.(.+)\.url\s+(\S.*)$/);if(!e)continue;let r=t.get(e[1])??[];r.push(e[2].trim()),t.set(e[1],r)}return[...t].map(([e,t])=>({name:e,urls:t}))}function
|
|
89
|
-
`)){if(!l)continue;if(l.startsWith(`# `)){let e=l.slice(2);if(e.startsWith(`branch.oid `)){let t=e.slice(11).trim();n=t===`(initial)`?Y:J(t)}else if(e.startsWith(`branch.head `)){let n=e.slice(12).trim();t=n===`(detached)`?`detached`:n}else if(e.startsWith(`branch.upstream `))r=J(e.slice(16).trim());else if(e.startsWith(`branch.ab `)){let t=e.slice(10).trim().match(/^\+(\d+)\s+-(\d+)$/);t&&(i=J({ahead:parseInt(t[1],10),behind:parseInt(t[2],10)}))}continue}let e=l[0];if(e===`1`||e===`2`){let e=l.slice(2,4);e[0]!==`.`&&a++,e[1]!==`.`&&o++}else e===`u`?c++:e===`?`&&s++}let l=`clean`;return c>0?l=`conflicts`:(a||o||s)&&(l=`dirty`),{branch:t,status:l,aheadBehind:i,oid:n,upstream:r,workingTree:{staged:a,unstaged:o,untracked:s,conflicts:c}}}function
|
|
90
|
-
`).length:0)}async getRemotesAsync(e){let t=Vv(c.join(this.resolveCommonGitDir(e),`config`));if(t===null)return this.readRemotes(e);let{key:n,stamp:r}=t,i=this.remotesByConfig.get(n);if(i!==void 0&&i.stamp===r)return this.remotesByConfig.delete(n),this.remotesByConfig.set(n,i),i.remotes;let a=this.readRemotes(e);for(this.remotesByConfig.set(n,{stamp:r,remotes:a}),a.then(e=>{let t=this.remotesByConfig.get(n);e.kind!==`ok`&&t?.remotes===a&&this.remotesByConfig.delete(n)},()=>{this.remotesByConfig.get(n)?.remotes===a&&this.remotesByConfig.delete(n)});this.remotesByConfig.size>256;){let e=this.remotesByConfig.keys().next().value;if(e===void 0)break;this.remotesByConfig.delete(e)}return a}remotesByConfig=new Map;async readRemotes(e){let t=bv(`git config --get-regexp remote url`,await this.execGitAsync([`config`,`--local`,`--get-regexp`,`^remote\\..*\\.url$`],{cwd:e,timeout:2e3}),1);return t.kind===`failed`?t:J(t.kind===`ok`?Ov(t.value):[])}repoNameFrom(e,t){let n=jv(e);return(n===null?null:Nv(n))??c.basename(t)}async getRepoRemoteUrl(e){let t=await this.getRemotesAsync(e);if(t.kind!==`ok`)return t;let n=Mv(t.value);return n===null?Y:J(n)}async execForgeAsync(e,t,n){return Te({bin:e,args:[...t],cwd:n.cwd,env:{...process.env},timeoutMs:n.timeout,category:`forge`})}async resolvePullRequest(e,t){let n=Dv(t);return n===`github`?Iv(`gh pr view`,await this.execForgeAsync(`gh`,[`pr`,`view`,`--json`,`number,state,url`],{cwd:e,timeout:5e3}),/no (open )?pull requests? found/i,zv):n===`gitlab`?Iv(`glab mr view`,await this.execForgeAsync(`glab`,[`mr`,`view`,`--output`,`json`],{cwd:e,timeout:5e3}),/no (open )?merge requests? (found|available)/i,Bv):Y}isWorktree(e){try{let t=c.join(e,`.git`);return!!(r.existsSync(t)&&r.statSync(t).isFile())}catch{return!1}}async getCoreAsync(e){D(`[GIT-EXEC] Running git status --porcelain=v2 in ${e}`);let t=bv(`git status --porcelain=v2 --branch`,await this.execGitAsync([`status`,`--porcelain=v2`,`--branch`],{cwd:e,timeout:2e3}),`failed`);return t.kind===`ok`?J(Rv(t.value)):t}};const Uv=(e,t)=>D(t);var Wv=class{slots=new Map;maxWatchers;counters;logger;closed=!1;constructor(e={}){this.maxWatchers=e.maxWatchers??128,this.counters=e.counters,this.logger=e.logger??Uv}acquire(e,t,n){if(this.closed)return{release:()=>{}};let r=this.slots.get(e);if(r)return r.refcount++,r.onInvalidate=n,r.lastTouched=Date.now(),this.slots.delete(e),this.slots.set(e,r),this.makeHandle(e);let i={key:e,watchers:[],refcount:1,debounceTimer:null,onInvalidate:n,targets:t,lastTouched:Date.now()};return this.openWatchers(i),this.slots.set(e,i),this.counters&&this.counters.watchersOpened++,this.evictIfNeeded(),this.makeHandle(e)}makeHandle(e){let t=!1;return{release:()=>{if(t)return;t=!0;let n=this.slots.get(e);n&&(n.refcount=Math.max(0,n.refcount-1),n.refcount===0&&(this.closeSlot(n),this.slots.delete(e)))}}}openWatchers(e){let t=()=>{e.debounceTimer||(e.debounceTimer=setTimeout(()=>{e.debounceTimer=null;try{e.onInvalidate()}catch(e){this.logger(`warn`,`watcher invalidate threw: ${e.message}`)}},50),e.debounceTimer.unref())};for(let n of e.targets.files)try{let i=r.watch(n,{persistent:!1},t);i.on(`error`,e=>{this.logger(`warn`,`watcher error ${n}: ${e.message}`)}),e.watchers.push(i)}catch(e){this.logger(`warn`,`watch failed ${n}: ${e.message}`)}for(let n of e.targets.dirs)try{let i=n.filenames?new Set(n.filenames):null,a=r.watch(n.path,{persistent:!1},(e,n)=>{i&&(!n||!i.has(n))||t()});a.on(`error`,e=>{this.logger(`warn`,`watcher error ${n.path}: ${e.message}`)}),e.watchers.push(a)}catch(e){this.logger(`warn`,`watch failed ${n.path}: ${e.message}`)}}closeSlot(e){e.debounceTimer&&=(clearTimeout(e.debounceTimer),null);for(let t of e.watchers)try{t.close()}catch{}e.watchers=[],this.counters&&this.counters.watchersClosed++}evictIfNeeded(){for(;this.slots.size>this.maxWatchers;){let e=this.slots.keys().next().value;if(e===void 0)break;let t=this.slots.get(e);this.closeSlot(t),this.slots.delete(e),this.counters&&this.counters.watchersEvicted++;try{t.onInvalidate()}catch{}this.logger(`info`,`watcher LRU evict ${e}`)}}size(){return this.slots.size}closeAll(){this.closed=!0;for(let e of this.slots.values())this.closeSlot(e);this.slots.clear()}},Gv=class{running=new Set;again=new Set;run(e,t){return this.again.add(e),this.running.has(e)?{kind:`queued`}:(this.running.add(e),{kind:`started`,done:this.loop(e,t)})}async loop(e,t){try{do this.again.delete(e),await t();while(this.again.has(e))}finally{this.running.delete(e),this.again.delete(e)}}clear(){this.running.clear(),this.again.clear()}get size(){return this.running.size}};const Kv=(e,t)=>D(t),qv={showSha:!0,showStashCount:!0};function Jv(e){let t=Object.keys(e).sort(),n={};for(let r of t)n[r]=e[r];return JSON.stringify(n)}function Yv(e){let t=t=>{try{return r.statSync(c.join(e,t)).mtimeMs}catch{return 0}};return{head:t(`HEAD`),index:t(`index`)}}function Xv(e,t){return e.head!==t.head||e.index!==t.index}function Zv(e){let t=[],n=c.join(e,`refs/heads`);try{r.statSync(n).isDirectory()&&t.push({path:n})}catch{}return{files:[c.join(e,`HEAD`),c.join(e,`index`)],dirs:t}}var Qv=class extends Hv{entries=new Map;subscribersByRepo=new Map;fetchInFlight=new Map;resolutions=new Map;prCache=new Map;prFetchInFlight=new Map;refreshes=new Gv;hits=0;misses=0;invalidations=0;inner;ttlMs;maxEntries;watchers;ownsWatchers;logger;sanityTimer=null;constructor(e={}){super(),this.inner=e.inner??new Hv,this.ttlMs=e.ttlMs??3e4,this.maxEntries=e.maxEntries??64,this.logger=e.logger??Kv,e.watchers?(this.watchers=e.watchers,this.ownsWatchers=!1):(this.watchers=new Wv({logger:this.logger}),this.ownsWatchers=!0);let t=e.sanityIntervalMs??3e5;t>0&&(this.sanityTimer=setInterval(()=>this.runSanityCheck(),t),this.sanityTimer.unref())}getWatcherRegistry(){return this.watchers}getStats(){return{size:this.entries.size,hits:this.hits,misses:this.misses,invalidations:this.invalidations,watchers:this.watchers.size()}}resolveEffectiveGitDir(e,t){let n=`${e}|${t??``}`,r=Date.now(),i=this.resolutions.get(n);if(i&&r-i.computedAt<this.ttlMs)return this.resolutions.delete(n),this.resolutions.set(n,i),i.dir;let a=this.inner.resolveEffectiveGitDir(e,t);return this.resolutions.set(n,{dir:a,computedAt:r}),a.catch(()=>{this.resolutions.get(n)?.dir===a&&this.resolutions.delete(n)}),this.evictResolutionsIfNeeded(),a}evictResolutionsIfNeeded(){for(;this.resolutions.size>this.maxEntries;){let e=this.resolutions.keys().next().value;if(e===void 0)break;this.resolutions.delete(e)}}async getGitInfo(e,t={},n){let r=await this.resolveEffectiveGitDir(e,n);return r.kind===`ok`?this.getGitInfoForRoot(r.value,t):r}getGitInfoForRoot(e,t){let n=`${e}|${Jv(t)}`,r=Date.now(),i=this.entries.get(n);if(i&&r-i.computedAt<this.ttlMs)return this.entries.delete(n),this.entries.set(n,i),this.hits++,Promise.resolve(J(i.info));let a=this.fetchInFlight.get(n);if(a)return a;let o=this.doFetch(e,n,t,r).finally(()=>{this.fetchInFlight.delete(n)});return this.fetchInFlight.set(n,o),o}async doFetch(e,t,n,r){this.misses++;let i=this.inner.resolveGitDir(e),a=Yv(i),o=await this.inner.getGitInfo(e,n);if(o.kind!==`ok`)return o;let s=o.value;n.showPullRequest&&(s.pullRequest=await this.getPullRequestCached(e,s.branch)),this.dropEntry(t);let c=this.watchers.acquire(`git:${e}`,Zv(i),()=>this.invalidateRepo(e));return this.entries.set(t,{info:s,computedAt:r,mtime:a,watcher:c,repoRoot:e}),this.evictIfNeeded(),o}async getPullRequestCached(e,t){let n=await this.inner.getRepoRemoteUrl(e);if(n.kind===`failed`)return n;if(n.kind===`absent`)return Y;let r=n.value,i=`${e}|${t}|${r}`,a=Date.now(),o=this.prCache.get(i);if(o){let e=o.pr.kind===`failed`?45e3:3e5;if(a-o.computedAt<e)return this.prCache.delete(i),this.prCache.set(i,o),o.pr}let s=this.prFetchInFlight.get(i);if(s)return s;let c=this.inner.resolvePullRequest(e,r).then(e=>(this.prCache.set(i,{pr:e,computedAt:Date.now()}),this.evictPrIfNeeded(),e)).finally(()=>{this.prFetchInFlight.delete(i)});return this.prFetchInFlight.set(i,c),c}evictPrIfNeeded(){for(;this.prCache.size>this.maxEntries;){let e=this.prCache.keys().next().value;if(e===void 0)break;this.prCache.delete(e)}}deliverable(e,t){return e.kind===`failed`?(this.logger(`warn`,`git fetch failed (${t}): ${e.reason}`),null):e.kind===`ok`?e.value:null}subscribe(e,t){let n=!1,r=null;return{firstDelivery:(async()=>{let i=await this.resolveEffectiveGitDir(e);if(n)return;if(i.kind!==`ok`){i.kind===`failed`&&this.logger(`warn`,`git resolve failed (subscribe ${e}): ${i.reason}`),this.safeInvoke(t,null);return}let a=i.value,o=this.subscribersByRepo.get(a);if(!o){let t=this.inner.resolveGitDir(a),n=this.watchers.acquire(`git:${a}`,Zv(t),()=>this.invalidateRepo(a));o={workingDir:e,repoRoot:a,callbacks:new Set,watcher:n},this.subscribersByRepo.set(a,o)}o.callbacks.add(t),r={repoRoot:a,entry:o};let s=await this.getGitInfoForRoot(a,{...qv});n||this.safeInvoke(t,this.deliverable(s,a))})(),unsubscribe:()=>{if(n=!0,!r)return;let{repoRoot:e,entry:i}=r;i.callbacks.delete(t),i.callbacks.size===0&&(i.watcher.release(),this.subscribersByRepo.delete(e))}}}invalidateRepo(e){let t=0;for(let[n,r]of this.entries)r.repoRoot===e&&(r.watcher.release(),this.entries.delete(n),t++);t>0&&(this.invalidations+=t,this.logger(`info`,`gitCache invalidate ${e} dropped=${t}`)),this.refreshSubscribers(e)}refreshSubscribers(e){let t=this.subscribersByRepo.get(e);!t||t.callbacks.size===0||this.refreshes.run(e,()=>this.refreshOnce(e))}async refreshOnce(e){let t=this.subscribersByRepo.get(e);if(!t||t.callbacks.size===0)return;let n=await this.getGitInfoForRoot(e,{...qv}),r=this.deliverable(n,e),i=this.subscribersByRepo.get(e);if(!(!i||i.callbacks.size===0))for(let e of[...i.callbacks])i.callbacks.has(e)&&this.safeInvoke(e,r)}safeInvoke(e,t){try{e(t)}catch(e){this.logger(`warn`,`git subscriber threw: ${e.message??String(e)}`)}}dropEntry(e){let t=this.entries.get(e);t&&(t.watcher.release(),this.entries.delete(e))}evictIfNeeded(){for(;this.entries.size>this.maxEntries;){let e=this.entries.keys().next().value;if(e===void 0)break;this.dropEntry(e),this.logger(`info`,`gitCache evict ${e}`)}}runSanityCheck(){let e=new Map;for(let t of this.entries.values()){let n=e.get(t.repoRoot);n||(n=Yv(this.inner.resolveGitDir(t.repoRoot)),e.set(t.repoRoot,n)),Xv(t.mtime,n)&&this.invalidateRepo(t.repoRoot)}}runSanityCheckNow(){this.runSanityCheck()}close(){this.sanityTimer&&=(clearInterval(this.sanityTimer),null);for(let e of this.entries.values())e.watcher.release();this.entries.clear();for(let e of this.subscribersByRepo.values())e.callbacks.clear(),e.watcher.release();this.subscribersByRepo.clear(),this.refreshes.clear(),this.fetchInFlight.clear(),this.prCache.clear(),this.prFetchInFlight.clear(),this.resolutions.clear(),this.ownsWatchers&&this.watchers.closeAll()}};const $v=/\r\n|\r|\n/g,ey=e=>J(e.replace($v,` `).trim());function ty(e){return t=>{let n=e.exec(t)?.[1];return n===void 0?X(`regex no-match`):J(n.replace($v,` `))}}const ny=e=>{try{return J(JSON.parse(e))}catch(e){return X(`JSON parse failed: ${e.message}`)}};function ry(e,t){return t.kind!==`ttl`||t.durationMs>=500?t:(D(`declareShell "${e}": ttl ${t.durationMs}ms below floor 500ms; clamping`),{kind:`ttl`,durationMs:500})}function iy(e){let t=/^(\d+(?:\.\d+)?)(ms|s|m|h)$/.exec(e);if(!t)throw RangeError(`Invalid duration: "${e}"`);let n=parseFloat(t[1]);switch(t[2]){case`ms`:return n;case`s`:return n*1e3;case`m`:return n*6e4;case`h`:return n*36e5;default:throw RangeError(`Unexpected duration unit: "${t[2]}"`)}}const ay=`session.id`;function oy(e,t){return{where:`output of "${e}"`,read:async()=>{let n=await Te({bin:`/bin/sh`,args:[`-c`,e],category:`user-shell`,signal:t});if(!n.ok&&n.reason===`aborted`)throw t.reason;return n.ok?J(n.stdout):X(`shell "${e}" ${n.exitCode===null?[n.reason,n.error].filter(e=>e!==void 0).join(`: `):`exited with code ${n.exitCode}`}`)}}}function sy(e,t,n){return{where:`"${e}"`,read:async()=>{try{let r=await v(e,{encoding:`utf8`,signal:n});return J(t===`first-line`?r.split(/\r?\n/)[0]??``:r)}catch{if(n.aborted)throw n.reason;return X(`file unreadable: ${e}`)}}}}function cy(e,t,n){if(e.kind!==`ok`)return e;let r=t(e.value);return r.kind===`failed`?X(`${r.reason} in ${n}`):r}const ly=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],uy=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],dy=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],fy=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`];function py(e,t){let n=[[`2006`,e=>String(e.getFullYear())],[`January`,e=>ly[e.getMonth()]],[`Monday`,e=>dy[e.getDay()]],[`Jan`,e=>uy[e.getMonth()]],[`Mon`,e=>fy[e.getDay()]],[`15`,e=>String(e.getHours()).padStart(2,`0`)],[`06`,e=>String(e.getFullYear()%100).padStart(2,`0`)],[`01`,e=>String(e.getMonth()+1).padStart(2,`0`)],[`02`,e=>String(e.getDate()).padStart(2,`0`)],[`04`,e=>String(e.getMinutes()).padStart(2,`0`)],[`05`,e=>String(e.getSeconds()).padStart(2,`0`)],[`PM`,e=>e.getHours()<12?`AM`:`PM`],[`pm`,e=>e.getHours()<12?`am`:`pm`],[`1`,e=>String(e.getMonth()+1)],[`2`,e=>String(e.getDate())],[`3`,e=>String(e.getHours()%12||12)],[`4`,e=>String(e.getMinutes())],[`5`,e=>String(e.getSeconds())]],r=``,i=0;for(;i<e.length;){let a=!1;for(let[o,s]of n)if(e.startsWith(o,i)){r+=s(t),i+=o.length,a=!0;break}a||(r+=e[i],i++)}return r}const my={branch:`string`,sha:`string`,dirty:`boolean`,ahead:`number`,behind:`number`,stash:`number`};function hy(e,t,n,r){if(e===null){if(n!==void 0)return n;let e=my[t];try{return yy(r,e)}catch{return by(e)}}switch(t){case`branch`:return e.branch===`detached`?``:e.branch;case`sha`:return yv(e.sha,``);case`dirty`:return e.status!==`clean`;case`ahead`:return yv(e.aheadBehind,{ahead:0,behind:0}).ahead;case`behind`:return yv(e.aheadBehind,{ahead:0,behind:0}).behind;case`stash`:return yv(e.stashCount,0)}}var gy=class{watchers=new Map;subscribe(e,t){let n=this.watchers.get(e);if(!n){let t=new Set,r;try{r=s(e,()=>{for(let e of t)e()})}catch{return()=>{}}n={watcher:r,callbacks:t},this.watchers.set(e,n)}return n.callbacks.add(t),()=>this.unsubscribe(e,t)}unsubscribe(e,t){let n=this.watchers.get(e);n&&(n.callbacks.delete(t),n.callbacks.size===0&&(n.watcher.close(),this.watchers.delete(e)))}dispose(){for(let{watcher:e}of this.watchers.values())e.close();this.watchers.clear()}size(){return this.watchers.size}},_y=class{buckets=new Map;subscribe(e,t){let n=this.buckets.get(e);if(!n){let t=new Set;n={timer:S(()=>{for(let e of t)e()},e),callbacks:t},this.buckets.set(e,n)}return n.callbacks.add(t),()=>this.unsubscribe(e,t)}unsubscribe(e,t){let n=this.buckets.get(e);n&&(n.callbacks.delete(t),n.callbacks.size===0&&(x(n.timer),this.buckets.delete(e)))}dispose(){for(let{timer:e}of this.buckets.values())x(e);this.buckets.clear()}bucketCount(){return this.buckets.size}};function vy(e,t){let n=e;for(let e of t.split(`.`)){if(typeof n!=`object`||!n)return;n=n[e]}return n}function yy(e,t){if(typeof e!=`string`&&typeof e!=`number`&&typeof e!=`boolean`)throw TypeError(`Expected string|number|boolean from payload, got ${typeof e}`);return t===`string`?w_(e):t===`number`?T_(e):E_(e)}function by(e){return e===`number`?0:e===`boolean`?!1:``}var xy=class{inputMetas=new Map;lastErrors=new Map;watchMgr=new gy;ttlMgr=new _y;gitSubscriptions=new Map;cleanups=[];inFlight=new Map;reads=new Gv;abort=new AbortController;drawn=x_.observable.box(M.TRUECOLOR);drawnAt=()=>this.drawn.get();engine=mv(void 0,void 0,this.drawnAt);gitProvider;ownsGitProvider;sessionState;constructor(e,t=``,n,r){this.store=e,this.defaultEmptyValue=t,n?(this.gitProvider=n,this.ownsGitProvider=!1):(this.gitProvider=new Qv({sanityIntervalMs:0}),this.ownsGitProvider=!0),this.sessionState=r}get variableStore(){return this.store}declareLiteral(e,t){this.store.defineBox(e,C_(t),t)}declareInput(e,t,n,r){let i=r===void 0?this.defaultFor(n):r;this.store.defineBox(e,n,i),this.inputMetas.set(e,{path:t,varDefault:r})}declareEnv(e,t,n){let r=process.env[t];if(r!==void 0){this.store.defineBox(e,`string`,r);return}let i=n===void 0?typeof this.defaultEmptyValue==`string`?this.defaultEmptyValue:``:n;this.store.defineBox(e,`string`,i),this.recordError(e,`env var "${t}" is not set`)}declareShell(e,t,n){this.declareSource(e,oy(t,this.abort.signal),ry(e,n.cache),n.parse)}declareFile(e,t,n){this.declareSource(e,sy(t,n.readMode??`whole`,this.abort.signal),n.cache,n.parse)}declareSource(e,t,n,r){let i=this.publisherFor(e,r,t.where),a=()=>this.runSource(e,t,i);a(),this.registerCachePolicy(e,n,a)}publisherFor(e,t,n){switch(t.kind){case`text`:return this.scalarPublisher(e,ey,t.default,n);case`regex`:return this.scalarPublisher(e,ty(t.regex),t.default,n);case`json`:return this.documentPublisher(e,t.default,n)}}scalarPublisher(e,t,n,r){let i=this.stringInitial(n);return this.store.defineBox(e,`string`,i),n=>{let a=cy(n,t,r);this.noteOutcome(e,a),this.store.setBox(e,yv(a,i))}}documentPublisher(e,t,n){let r=t===void 0?Y:J(t);return this.store.defineDocument(e,r),i=>{let a=cy(i,ny,n);this.noteOutcome(e,a),this.store.setDocument(e,a.kind===`ok`||t===void 0?a:r)}}runSource(e,t,n){let r=this.reads.run(e,()=>t.read().then(n,e=>{if(e!==this.abort.signal.reason)throw e}));r.kind===`started`&&this.track(e,r.done)}track(e,t){let n=t.finally(()=>{this.inFlight.get(e)===n&&this.inFlight.delete(e)});this.inFlight.set(e,n)}async settled(e){let t=Date.now()+e;for(;this.inFlight.size>0;){let e=t-Date.now();if(e<=0)break;let n,r=await Promise.race([Promise.all(this.inFlight.values()).then(()=>`settled`),new Promise(t=>{n=setTimeout(()=>t(`deadline`),e)})]);if(clearTimeout(n),r===`deadline`)break}return[...this.inFlight.keys()]}declareTemplate(e,t,n={}){let r=this.engine.parse(t);this.store.defineComputed(e,`string`,t=>{let i=hv(this.store);try{let t=r.evaluate(i).map(e=>e.plain).join(``);return this.lastErrors.delete(e),t}catch(t){let r=t instanceof Error?t.message:String(t);if(this.recordError(e,r),n.varDefault===void 0)throw Error(`variable "${e}": ${r}`);return n.varDefault}});try{this.store.read(e)}catch{}}declareTime(e,t){let n=t.ttlMs??1e3;this.store.defineBox(e,`string`,(e=>{try{return py(t.format,e)}catch{return this.stringInitial(t.varDefault)}})(new Date));let r=this.ttlMgr.subscribe(n,()=>{try{this.store.setBox(e,py(t.format,new Date)),this.lastErrors.delete(e)}catch(n){this.applyFallback(e,`string`,t.varDefault,n instanceof Error?n.message:String(n))}});this.cleanups.push(r)}declareGit(e,t){let n=my[t.field],r=t.varDefault===void 0?by(n):yy(t.varDefault,n);this.store.defineBox(e,n,r);let i=this.gitSubscriptions.get(t.cwd);if(!i){let e=new Map,n=this.gitProvider.subscribe(t.cwd,t=>{this.store.runInAction(()=>{for(let[n,r]of e)for(let{name:e,varDefault:i}of r)this.store.setBox(e,hy(t,n,i,this.defaultEmptyValue))})});i={fieldSubs:e,firstDelivery:n.firstDelivery,unsubscribe:n.unsubscribe},this.gitSubscriptions.set(t.cwd,i)}let a=i.fieldSubs.get(t.field);a||(a=[],i.fieldSubs.set(t.field,a)),a.push({name:e,varDefault:t.varDefault}),this.track(e,i.firstDelivery)}declareState(e,t){if(!this.sessionState)throw Error(`declareState("${e}"): SourceRegistry was constructed without a SessionState — state-kind variables require a SessionState (the daemon provides one; tests must supply one)`);let n=this.sessionState,r=t.varDefault??this.stringInitial(void 0);this.store.defineComputed(e,`string`,e=>{let i=e(ay);if(typeof i!=`string`||!i)return r;let a=n.get(i,t.key);return a===null?r:a})}applyInput(e){this.store.runInAction(()=>{for(let[t,n]of this.inputMetas){let r=vy(e,n.path),i=this.store.getType(t);if(r!==void 0)try{this.store.setBox(t,yy(r,i)),this.lastErrors.delete(t)}catch(e){this.applyFallback(t,i,n.varDefault,e instanceof Error?e.message:String(e))}else this.applyFallback(t,i,n.varDefault,`input path "${n.path}" not found in payload`)}})}drawAt(e){this.store.runInAction(()=>this.drawn.set(e))}getLastError(e){return this.lastErrors.get(e)}dispose(){this.abort.abort();for(let e of this.cleanups)e();this.cleanups.length=0;for(let e of this.gitSubscriptions.values())e.unsubscribe();this.gitSubscriptions.clear(),this.reads.clear(),this.watchMgr.dispose(),this.ttlMgr.dispose(),this.ownsGitProvider&&this.gitProvider.close()}registerCachePolicy(e,t,n){switch(t.kind){case`never`:break;case`ttl`:{let e=this.ttlMgr.subscribe(t.durationMs,n);this.cleanups.push(e);break}case`watch_file`:{let e=this.watchMgr.subscribe(t.path,n);this.cleanups.push(e);break}case`key`:{let e=this.engine.parse(t.template),r=(0,x_.reaction)(()=>{let t=hv(this.store);try{return e.evaluate(t).map(e=>e.plain).join(``)}catch{return``}},n);this.cleanups.push(r);break}case`depends_on`:{let e=(0,x_.reaction)(()=>t.varNames.map(e=>this.store.changeKey(e)).join(`,`),n);this.cleanups.push(e);break}}}applyFallback(e,t,n,r){if(this.recordError(e,r),n!==void 0){this.store.setBox(e,n);return}try{this.store.setBox(e,yy(this.defaultEmptyValue,t))}catch{this.store.setBox(e,by(t))}}defaultFor(e){try{return yy(this.defaultEmptyValue,e)}catch{return by(e)}}stringInitial(e){return e===void 0?typeof this.defaultEmptyValue==`string`?this.defaultEmptyValue:``:e}recordError(e,t){this.lastErrors.set(e,{timestamp:Date.now(),message:t})}noteOutcome(e,t){t.kind===`ok`?this.lastErrors.delete(e):this.recordError(e,t.kind===`failed`?t.reason:`no value`)}};const Sy={project_dir:{kind:`input`,path:`workspace.project_dir`,default:``},[ay]:{kind:`input`,path:`session_id`,default:``},transcript_path:{kind:`input`,path:`transcript_path`,default:``},"theme.effective":{kind:`input`,path:`theme.effective`,default:``},"look.effective":{kind:`input`,path:`look.effective`,default:``},"preset.effective":{kind:`input`,path:`preset.effective`,default:``},"preset.customized":{kind:`input`,path:`preset.customized`,type:`boolean`,default:!1},"preset.bundled":{kind:`input`,path:`preset.bundled`,type:`boolean`,default:!0},"style.effective":{kind:`input`,path:`style.effective`,default:``},"progression.effective":{kind:`input`,path:`progression.effective`,default:``},"charset.effective":{kind:`input`,path:`charset.effective`,default:``},"colorCompatibility.effective":{kind:`input`,path:`colorCompatibility.effective`,default:``},"autoWrap.effective":{kind:`input`,path:`autoWrap.effective`,type:`boolean`,default:!0},"padding.effective":{kind:`input`,path:`padding.effective`,type:`number`,default:1},"term.cols":{kind:`input`,path:`term.cols`,type:`number`,default:80},"git.repoUrl":{kind:`input`,path:`git.repoUrl`,default:``}},Cy={theme:{configKey:`palette`,sessionKey:`theme`,effectiveVar:`theme.effective`},preset:{configKey:`preset`,sessionKey:`preset`,effectiveVar:`preset.effective`},look:{configKey:`look`,sessionKey:`look`,effectiveVar:`look.effective`},style:{configKey:`style`,sessionKey:`style`,effectiveVar:`style.effective`},progression:{configKey:`progression`,sessionKey:`progression`,effectiveVar:`progression.effective`},charset:{configKey:`charset`,sessionKey:`charset`,effectiveVar:`charset.effective`},colorCompatibility:{configKey:`colorCompatibility`,sessionKey:`colorCompatibility`,effectiveVar:`colorCompatibility.effective`},autoWrap:{configKey:`autoWrap`,sessionKey:`autoWrap`,effectiveVar:`autoWrap.effective`},padding:{configKey:`padding`,sessionKey:`padding`,effectiveVar:`padding.effective`}},wy=Object.values(Cy),Ty=new Map(wy.map(e=>[e.configKey,e.effectiveVar])),Ey=new Map(wy.map(e=>[e.sessionKey,e.effectiveVar])),Dy=new Map(Object.keys(Cy).map(e=>[Cy[e].sessionKey,e]));function Oy(e,t,n){let r=new Set,i=e=>{for(let t of d_(e??``,n).keys())r.add(t)};for(let t of Object.values(e.segments))i(t.template),i(t.bg),i(t.fg),i(t.when);for(let e of t)for(let t of os(e))i(t.when);for(let t of Object.values(e.variables))t.kind===`template`&&i(t.template),t.kind===`state`&&r.add(ay);for(let t of Object.values(e.actions)){r.add(ay),`copy`in t&&i(t.copy),`open`in t&&i(t.open);let e=`set`in t?Ey.get(t.set):void 0,n=`persist`in t?Ty.get(t.persist):void 0;e!==void 0&&r.add(e),n!==void 0&&r.add(n)}return r}function ky(e,t,n){let r=__({...n,variables:{...n.variables,...e.variables},segments:{...n.segments,...e.segments}}),i={};for(let a of Oy(e,t,n.helpers)){if(g_(a,r))continue;let e=Sy[a];if(e===void 0)throw Error(`synthesized chrome reads ".${a}", which it does not declare and PAYLOAD_INPUTS does not supply`);i[a]=e}return i}const Ay=new Map,jy=new Map;function My(e){let t=Py(e);if(t===null)throw Error(`Palette "${e}" (resolved "${va(e)}") did not resolve in the theme registry — allowed names and the registry are inconsistent`);return t}function Ny(e,t){return e===`bar`?t:My(e)}function Py(e){let t=va(e),n=Ay.get(t);if(n!==void 0)return n;let r=ir(t);return r===null?null:(Ay.set(t,r),r)}function Fy(e,t){let n=`${e.name} ${t.hueShift} ${t.chromaScale} ${t.lightnessScale} ${t.lightnessShift}`,r=jy.get(n);if(r!==void 0)return r;let i=fr(e,t);return jy.set(n,i),i}function Iy(e){let t=Py(e);return t===null?null:{kind:`decided`,name:e,value:t}}function Ly(e,t){let n=Iy(e);return n===null?(t(`globals.palette rendered "${ya}": "${e}" names no installed theme`),zy()):n}function Ry(e,t,n){return ka(e,t,n,zy(),Iy)}function zy(){return Iy(ya)}function By(e){return Aa(Ry(void 0,null,e),()=>ya,zy).value}const Vy=new Map;function Hy(e,t,n){Vy.set(e,{permanent:!0,resolve:t,paletteOf:n})}Hy(`themes`,()=>Sa(),e=>My(e));const Uy=`placementThemes`;Hy(Uy,Ca,(e,t)=>Ny(e,t.palette)),Hy(`styles`,()=>Fa),Hy(`progressions`,()=>qa),Hy(`charsets`,()=>Ra),Hy(`colorCompatibilities`,()=>Ha);function Wy(e){return new Map([[`looks`,{members:Object.keys(e.looks),paletteOf:(t,n)=>Fy(n.basePalette,e.looks[t])}],[`presets`,{members:Eg(e.presets)}]])}function Gy(e){return[...new Set([...Vy.keys(),...e.keys()])]}function Ky(e,t){if(typeof e!=`string`)return{members:e};let n=t.get(e);if(n)return n;let r=Vy.get(e);if(r)return{members:r.resolve(),paletteOf:r.paletteOf};throw Error(`unknown option domain "${e}" (have: ${Gy(t).join(`, `)})`)}const qy=/^segments\.([^.]+)\.palette$/,Jy=/^presets\.(.+)\.root$/,Yy=/^presets\.(.+)\.globals\.([^.]+)$/;function Xy(e){return`presets.${e}.root`}function Zy(e,t){return`presets.${e}.globals.${t}`}function Qy(e){if(Uc(e))return{scope:`globals`,field:e};let t=qy.exec(e);if(t)return{scope:`segment-palette`,segment:t[1]};let n=Yy.exec(e);if(n&&Ic(n[2]))return{scope:`preset-globals`,preset:n[1],field:n[2]};let r=Jy.exec(e);return r?{scope:`preset-root`,preset:r[1]}:null}function $y(e){switch(e.scope){case`globals`:return[`globals`,e.field];case`preset-globals`:return[`presets`,e.preset,`globals`,e.field];case`segment-palette`:return[`segments`,e.segment,`palette`]}}const eb=`open`;function tb(e,t,n,r){let i={variable:e,key:e,member:eb};return r.variables[e]=Sc(e,pc),r.actions[e]=Cc(e,eb),r.segments[e]={template:xc(e,`(?)`,`✕`),...nb(n)},vc(e,i,{kind:`container`,direction:`horizontal`,children:t.map((t,n)=>{let i=`${e}.${n}`;return r.segments[i]={template:t},{kind:`segment`,name:i}})},`drop`)}function nb(e){let[t,...n]=e;return t===void 0?{}:{when:yc(t,...n)}}const rb={help:[`-h`,`--help`],version:[`-V`,`--version`]},ib=[`✚ inserts`,`🚫 removes`,`⚙ configures`,`↺ resets layout`],ab=`
|
|
86
|
+
Use 'override' annotation for methods overridden by subclass.`)}}var ra=la(0),ia=function(){var e=!1,t={};return Object.defineProperty(t,`0`,{set:function(){e=!0}}),Object.create(t)[0]=1,e===!1}(),aa=0,oa=function(){};function sa(e,t){Object.setPrototypeOf?Object.setPrototypeOf(e.prototype,t):e.prototype.__proto__===void 0?e.prototype=t:e.prototype.__proto__=t}sa(oa,Array.prototype);var ca=function(e){function t(t,n,r,i){var a;return r===void 0&&(r=`ObservableArray@`+h()),i===void 0&&(i=!1),a=e.call(this)||this,ga(function(){var e=new Ai(r,n,i,!0);e.proxy_=a,ee(a,k,e),t&&t.length&&a.spliceWithArray(0,0,t),ia&&Object.defineProperty(a,`0`,ra)}),a}O(t,e);var n=t.prototype;return n.concat=function(){this[k].atom_.reportObserved();var e=[...arguments];return Array.prototype.concat.apply(this.slice(),e.map(function(e){return Li(e)?e.slice():e}))},n[Symbol.iterator]=function(){var e=this,t=0;return Sa({next:function(){return t<e.length?{value:e[t++],done:!1}:{done:!0,value:void 0}}})},pe(t,[{key:`length`,get:function(){return this[k].getArrayLength_()},set:function(e){this[k].setArrayLength_(e)}},{key:Symbol.toStringTag,get:function(){return`Array`}}])}(oa);Object.entries(Mi).forEach(function(e){var t=e[0],n=e[1];t!==`concat`&&C(ca.prototype,t,n)});function la(e){return{enumerable:!1,configurable:!0,get:function(){return this[k].get_(e)},set:function(t){this[k].set_(e,t)}}}function ua(e){s(ca.prototype,``+e,la(e))}function da(e){if(e>aa){for(var t=aa;t<e+100;t++)ua(t);aa=e}}da(1e3);function fa(e,t,n){return new ca(e,t,n)}function pa(e,t){if(typeof e==`object`&&e){if(Li(e))return t!==void 0&&n(23),e[k].atom_;if(U(e))return e.atom_;if(Hi(e)){if(t===void 0)return e.keysAtom_;var r=e.data_.get(t)||e.hasMap_.get(t);return r||n(25,t,ha(e)),r}if(ea(e)){if(!t)return n(26);var i=e[k].values_.get(t);return i||n(27,t,ha(e)),i}if(Me(e)||P(e)||z(e))return e}else if(v(e)&&z(e[k]))return e[k];n(28)}function ma(e,t){if(e||n(29),t!==void 0)return ma(pa(e,t));if(Me(e)||P(e)||z(e)||Hi(e)||U(e))return e;if(e[k])return e[k];n(24,e)}function ha(e,t){var n;if(t!==void 0)n=pa(e,t);else if(lr(e))return e.name;else n=ea(e)||Hi(e)||U(e)?ma(e):pa(e);return n.name_}function ga(e){var t=I(),n=Yt(!0);An();try{return e()}finally{jn(),Xt(n),mn(t)}}var _a=c.toString;function va(e,t,n){return n===void 0&&(n=-1),ya(e,t,n)}function ya(e,t,n,r,i){if(e===t)return e!==0||1/e==1/t;if(e==null||t==null)return!1;if(e!==e)return t!==t;var a=typeof e;if(a!==`function`&&a!==`object`&&typeof t!=`object`)return!1;var o=_a.call(e);if(o!==_a.call(t))return!1;switch(o){case`[object RegExp]`:case`[object String]`:return``+e==``+t;case`[object Number]`:return+e==+e?+e==0?1/e==1/t:+e==+t:+t!=+t;case`[object Date]`:case`[object Boolean]`:return+e==+t;case`[object Symbol]`:return typeof Symbol<`u`&&Symbol.valueOf.call(e)===Symbol.valueOf.call(t);case`[object Map]`:case`[object Set]`:n>=0&&n++;break}e=ba(e),t=ba(t);var s=o===`[object Array]`;if(!s){if(typeof e!=`object`||typeof t!=`object`)return!1;var c=e.constructor,l=t.constructor;if(c!==l&&!(v(c)&&c instanceof c&&v(l)&&l instanceof l)&&`constructor`in e&&`constructor`in t)return!1}if(n===0)return!1;n<0&&(n=-1),r||=[],i||=[];for(var u=r.length;u--;)if(r[u]===e)return i[u]===t;if(r.push(e),i.push(t),s){if(u=e.length,u!==t.length)return!1;for(;u--;)if(!ya(e[u],t[u],n-1,r,i))return!1}else{var d=Object.keys(e),f=d.length;if(Object.keys(t).length!==f)return!1;for(var p=0;p<f;p++){var m=d[p];if(!(D(t,m)&&ya(e[m],t[m],n-1,r,i)))return!1}}return r.pop(),i.pop(),!0}function ba(e){return Li(e)?e.slice():ne(e)||Hi(e)||w(e)||U(e)?Array.from(e.entries()):e}var xa=i().Iterator?.prototype||{};function Sa(e){return e[Symbol.iterator]=Ca,Object.assign(Object.create(xa),e)}function Ca(){return this}function wa(e){return e instanceof Object&&typeof e.annotationType_==`string`&&v(e.make_)&&v(e.extend_)}[`Symbol`,`Map`,`Set`].forEach(function(e){i()[e]===void 0&&n(`MobX requires global '`+e+`' to be available or polyfilled`)}),typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__==`object`&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:Yn,extras:{getDebugName:ha},$mobx:k}),e.$mobx=k,e.FlowCancellationError=Ar,e.ObservableMap=Vi,e.ObservableSet=Ki,e.Reaction=Ln,e._allowStateChanges=Jt,e._allowStateChangesInsideComputed=cr,e._allowStateReadsEnd=gn,e._allowStateReadsStart=hn,e._autoAction=sr,e._endAction=N,e._getAdministration=ma,e._getGlobalState=Cn,e._interceptReads=V,e._isComputingDerivation=on,e._resetGlobalState=wn,e._startAction=qt,e.action=or,e.autorun=ur,e.comparer=Re,e.computed=Bt,e.configure=Cr,e.createAtom=Ne,e.defineProperty=ei,e.entries=Yr,e.extendObservable=wr,e.flow=Pr,e.flowResult=Ir,e.get=$r,e.getAtom=pa,e.getDebugName=ha,e.getDependencyTree=B,e.getObserverTree=Er,e.has=Qr,e.intercept=Rr,e.isAction=lr,e.isBoxedObservable=$t,e.isComputed=Hr,e.isComputedProp=Ur,e.isFlow=Lr,e.isFlowCancellationError=jr,e.isObservable=Gr,e.isObservableArray=Li,e.isObservableMap=Hi,e.isObservableObject=ea,e.isObservableProp=Kr,e.isObservableSet=U,e.keys=qr,e.makeAutoObservable=Ti,e.makeObservable=Ci,e.observable=j,e.observe=ni,e.onBecomeObserved=_r,e.onBecomeUnobserved=vr,e.onReactionError=Rn,e.override=We,e.ownKeys=ti,e.reaction=pr,e.remove=Zr,e.runInAction=cr,e.set=Xr,e.spy=Yn,e.toJS=si,e.trace=ci,e.transaction=ui,e.untracked=pn,e.values=Jr,e.when=di})),A_=me(((e,t)=>{process.env.NODE_ENV===`production`?t.exports=O_():t.exports=k_()}))();function j_(e){if(Array.isArray(e))return Object.freeze(e.map(j_));if(typeof e==`object`&&e){let t=Object.create(null),n=Object.entries(e).sort(([e],[t])=>e<t?-1:+(e>t));for(let[e,r]of n)t[e]=j_(r);return Object.freeze(t)}return e}function M_(e){let t=typeof e;if(t===`string`||t===`number`||t===`boolean`)return t;throw TypeError(`Variable values must be string|number|boolean (got ${t})`)}function N_(e){return typeof e==`string`?e:String(e)}function P_(e){if(typeof e==`number`)return e;if(typeof e==`boolean`)return+!!e;let t=e.trim();if(t===``)throw TypeError(`Cannot cast empty string to number`);let n=Number(t);if(!Number.isFinite(n))throw TypeError(`Cannot cast ${JSON.stringify(e)} to number`);return n}function F_(e){if(typeof e==`boolean`)return e;if(typeof e==`number`){if(e===0||e===1)return e===1;throw TypeError(`Cannot cast number ${e} to bool (only 0 and 1 are accepted)`)}if(e===`true`)return!0;if(e===`false`)return!1;throw TypeError(`Cannot cast ${JSON.stringify(e)} to bool (expected "true" or "false")`)}function I_(e,t){if(!(e instanceof li))throw TypeError(`template function expected a RichText fragment, got ${typeof e==`object`?Object.prototype.toString.call(e):typeof e}`);let n=e.copy();return n.style=L_(e.style).add(t),n}function L_(e){if(e instanceof B)return e;try{return B.parse(e)}catch(t){throw t instanceof Cr?TypeError(`template function cannot style a fragment whose base style "${e}" is not a style definition: a style name resolves only against the theme of a render`,{cause:t}):t}}function R_(e){return{fn:(t=>I_(t,e)),argTypes:[`liftable`],returnType:`T`}}function z_(e){return{fn:((t,n)=>I_(n,new B({[e]:un.parse(t)}))),argTypes:[`string`,`liftable`],returnType:`T`}}function B_(e,t){return new B({[e]:t})}function V_(){let e={};for(let t of br)e[t]=R_(B_(t,!0)),e[`not_${t}`]=R_(B_(t,!1));for(let[t,n]of Object.entries(Sr))e[t]=R_(B_(n,!0));return e}const H_={fn:((e,t)=>I_(t,B.parse(e))),argTypes:[`string`,`liftable`],returnType:`T`},U_={fn:((e,t)=>I_(t,new B({link:e}))),argTypes:[`string`,`liftable`],returnType:`T`};function W_(){return{fg:z_(`color`),bg:z_(`bgcolor`),...V_(),link:U_,style:H_}}function G_(e,t){if(!Hn.test(e.trim()))throw TypeError(`${t} expected a color (#RRGGBB or #RRGGBBAA), got ${JSON.stringify(e)} — to use a palette name here, wrap it: ${t} (color ${JSON.stringify(e)}) …`);return z(e)}function K_(e,t){return{fn:t,argTypes:e,returnType:`string`}}function q_(e,t,n,r){let i=r===void 0||e>=r.min&&e<=r.max;if(!Number.isFinite(e)||!i){let i=r===void 0?`a finite number`:`within ${r.min}..${r.max} (${r.note})`;throw RangeError(`${t}'s ${n} must be ${i}, got ${e}`+(e===void 0?` — ${t} takes it as its last argument`:``))}return e}const J_=K_([`string`,`int`],((e,t)=>Yn(G_(e,`darken`),q_(t,`darken`,`levels`)).hex)),Y_=K_([`string`,`int`],((e,t)=>Yn(G_(e,`lighten`),-q_(t,`lighten`,`levels`)).hex)),X_={min:0,max:100,note:`0 = from, 100 = toward`},Z_=K_([`string`,`string`,`float`],((e,t,n)=>_n(G_(e,`mix`),G_(t,`mix`),q_(n,`mix`,`percentage`,X_)/100).hex)),Q_={min:1,max:21,note:`4.5 = AA body text, 3 = AA large text`},$_=K_([`string`],(e=>Xn(G_(e,`contrastOn`)).hex)),ev=e=>K_([`string`,`string`,`float`],((t,n,r)=>Zn(G_(t,`readableOn`),G_(n,`readableOn`),q_(r,`readableOn`,`ratio`,Q_),e()).hex)),tv={hueShift:`shiftHue`,chromaScale:`scaleChroma`,lightnessScale:`scaleLightness`,lightnessShift:`shiftLightness`};function nv(){let e={};for(let[t,n]of Object.entries(tv)){let r=t;e[n]=K_([`string`,`float`],((e,t)=>{let i={...An,[r]:q_(t,n,`amount`)};return Bn.fromRgba(G_(e,n)).applyKey(i).toRgba().hex}))}return e}function rv(e=()=>P.TRUECOLOR){return{darken:J_,lighten:Y_,mix:Z_,contrastOn:$_,readableOn:ev(e),...nv()}}function iv(e,t){if(e.length===0)throw RangeError(`ramp needs at least one stop after the easing: ramp <value> <easing> <position> <color> …`);if(e.length%2!=0)throw RangeError(`ramp's last stop (position ${String(e[e.length-1])}) has no color — stops are <position> <color> pairs`);let n=[];for(let r=0;r<e.length;r+=2)n.push({at:e[r],color:Un(t,e[r+1])});return n}function av(e){return{color:{fn:(t=>Un(e(),t).hex),argTypes:[`string`],returnType:`string`},ramp:{fn:((...t)=>{if(t.length<2)throw RangeError(`ramp needs a value and an easing before its stops (got ${t.length}): ramp <value> "linear"|"step" <position> <color> …`);let[n,r,...i]=t;return new yr(vr(r),iv(i,e())).at(n).hex}),argTypes:[`float`,`string`],argTypePattern:`alternating`,returnType:`string`}}}function ov(e){return{...W_(),...rv(e)}}new B({color:`red`,dim:!0});const sv=/^(?:(?:global|apac|au|eu|us|us-east-\d|us-west-\d|eu-west-\d|eu-central-\d)\.)?(?:anthropic\.|azure_ai\/|bedrock\/|vertex_ai\/)?claude-(?:(?<family>opus|sonnet|haiku)-(?<newMajor>\d+)(?:-(?<newMinor>\d))?|(?<oldMajor>\d+)(?:-(?<oldMinor>\d))?-(?<oldFamily>opus|sonnet|haiku))(?:[-@]\d{8})?(?:-v\d+:\d+)?(?:-latest)?$/i,cv=/^(?<family>opus|sonnet|haiku)\s+(?<major>\d+)(?:\.(?<minor>\d))?$/i;function lv(e){if(!e)return`Claude`;let t=e.trim().replace(/\s*\([^)]*\)\s*$/,``).replace(/\s*\[[^\]]*\]\s*$/,``).trim(),n=t.match(sv);if(n?.groups){let{family:e,newMajor:t,newMinor:r,oldMajor:i,oldMinor:a,oldFamily:o}=n.groups,s=e||o,c=t||i,l=r||a;if(s&&c)return`${s.charAt(0).toUpperCase()+s.slice(1).toLowerCase()} ${l?`${c}.${l}`:c}`}let r=t.match(cv);if(r?.groups){let e=r.groups.family,t=r.groups.major,n=r.groups.minor;return`${e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()} ${n?`${t}.${n}`:t}`}return t||e}function uv(e){let t=e.match(cv);if(!t?.groups)return e;let n=t.groups.family,r=t.groups.major,i=t.groups.minor;return`${n.charAt(0).toUpperCase()}${i?`${r}.${i}`:r}`}function dv(e){let t=e.split(`/`),n=t.length-1;return t.map((e,t)=>{if(t===n)return e;let r=e.match(/^\.*./);return r?r[0]:e}).join(`/`)}function fv(e){return e.toLocaleString()}function pv(e){if(e.length===0)throw Error(`a cascade needs at least one stop, e.g. "0:calm"`);let t=[];for(let[n,r]of e.entries()){let e=r.indexOf(`:`),i=e<0?NaN:Number(r.slice(0,e));if(!Number.isFinite(i))throw Error(`cascade stop ${n} ("${r}") must be "<position>:<result>", e.g. "80:hot" — the position must be a number`);let a=t[n-1];if(a!==void 0&&i<a.at)throw Error(`cascade stops must be in ascending position order; stop ${n} at ${i} follows stop ${n-1} at ${a.at}`);t.push({at:i,text:r.slice(e+1)})}return t}function mv(e,t){if(!Number.isFinite(e))throw Error(`a cascade needs a finite value, got ${e}`);let n=-1;for(;n+1<t.length&&t[n+1].at<=e;)n++;return(n<0?t[0]:t[n]).text}const hv=[`▁`,`▂`,`▃`,`▄`,`▅`,`▆`,`▇`,`█`],gv=hv.length;function _v(e,t){let n=t===void 0?e:t<=0?[]:e.slice(-t);if(n.length===0)return``;let r=n[0],i=n[0];for(let e of n)e<r&&(r=e),e>i&&(i=e);let a=i-r,o=``;for(let e of n){let t=a===0?0:Math.round((e-r)/a*(gv-1));o+=hv[t]}return o}function vv(e){let t=[];for(let n of e.split(`,`)){let e=n.trim();if(e===``)continue;let r=Number(e);if(!Number.isFinite(r))throw TypeError(`sparkline: non-numeric series element ${JSON.stringify(n)}`);t.push(r)}return t}const yv=Ta(),bv=[...Ra];function xv(){return{basename:{fn:e=>l(e),argTypes:[`string`]},dirname:{fn:e=>u(e),argTypes:[`string`]},abbreviatePath:{fn:e=>dv(e),argTypes:[`string`]},int:{fn:e=>P_(e),argTypes:[`value`]},string:{fn:e=>N_(e),argTypes:[`value`]},bool:{fn:e=>F_(e),argTypes:[`value`]},urlEncode:{fn:e=>encodeURIComponent(e),argTypes:[`string`]},themes:{fn:()=>yv,argTypes:[]},styles:{fn:()=>bv,argTypes:[]},sparkline:{fn:(e,t)=>_v(vv(e),t),argTypes:[`string`,`int`]},cascade:{fn:(e,...t)=>mv(e,pv(t)),argTypes:[`float`,`string`]}}}function Sv(e=()=>new Date){return{minutesUntilReset:{fn:t=>Math.round(Math.max(0,t*1e3-e().getTime())/6e4),argTypes:[`int`]},formatInteger:{fn:e=>fv(e),argTypes:[`int`]},round:{fn:e=>Math.round(e),argTypes:[`float`]},formatModelName:{fn:e=>lv(e),argTypes:[`string`]},shortenModelName:{fn:e=>uv(e),argTypes:[`string`]}}}function Cv(e,t=()=>new Date,n){return Ef({fromString:e=>new li(e),toString:e=>e.plain,isT:e=>e instanceof li,clock:t,missingKey:`error`,funcs:{...pm(),...Cg(),...$m(),...xh(),...am(t),...Yf(),...Dm(),...ov(n),...xv(),...Sv(t),...e??{}}})}function wv(e){return Tv(e,new Set(e.names()),``)}function Tv(e,t,n){return new Proxy(Object.create(null),{has(e,r){if(typeof r!=`string`)return!1;let i=n?`${n}.${r}`:r;if(t.has(i))return!0;let a=`${i}.`;for(let e of t)if(e.startsWith(a))return!0;return!1},get(r,i){if(typeof i!=`string`)return;let a=n?`${n}.${i}`:i;if(t.has(a))return e.getKind(a)===`document`?Dv(a,e.readDocument(a)):e.read(a);let o=`${a}.`;for(let n of t)if(n.startsWith(o))return Tv(e,t,a)}})}function Ev(e,t){return new Proxy(e,{has:(e,t)=>t===`settings`||Reflect.has(e,t),get:(e,n)=>n===`settings`?t:Reflect.get(e,n)})}function Dv(e,t){switch(t.kind){case`ok`:return t.value;case`absent`:throw Error(`variable "${e}" has no value yet: its source has not completed a scan`);case`failed`:throw Error(`variable "${e}": ${t.reason}`)}}function J(e){return{kind:`ok`,value:e}}const Y={kind:`absent`};function X(e){return{kind:`failed`,reason:e}}function Ov(e,t){return e?.kind===`ok`?e.value:t}function kv(e,t,n){return t.ok?J(t.stdout):t.reason===`non-zero`&&n===`absent`||t.reason===`non-zero`&&n===t.exitCode?Y:X(`${e}: ${[t.reason,t.exitCode==null?null:`exit ${t.exitCode}`,t.error??Av(t.stderr)].filter(Boolean).join(`, `)}`)}function Av(e){return e.trim().split(`
|
|
87
|
+
`,1)[0]??``}function jv(e,t){if(e.kind!==`ok`)return e;let n=t(e.value);return n===null?Y:J(n)}function Mv(e){if(e.kind!==`ok`)return e;let t=e.value.trim();return t?J(t):Y}const Nv=/^[A-Za-z]:[\\/]/;function Pv(e){let t=e.trim();if(Nv.test(t))return null;let n=t.match(/^(?:[^@/]+@)?(\[[^\]]+\]):(.*)$/)??t.match(/^(?:[^@/:]+@)?([^/:]+):(?!\/\/)(.*)$/),r=n?`ssh://${n[1]}/${n[2].replace(/^\/+/,``)}`:t,i;try{i=new URL(r)}catch{return null}return{scheme:i.protocol.replace(/:$/,``),host:i.hostname.toLowerCase(),port:i.port,path:i.pathname.replace(/^\/+/,``).replace(/\/+$/,``)}}function Fv(e){return Pv(e)?.host||null}function Iv(e){let t=Fv(e);return t?t===`github.com`||t.endsWith(`.github.com`)?`github`:/(^|\.)gitlab\./.test(t)?`gitlab`:null:null}function Lv(e){let t=new Map;for(let n of e.split(`
|
|
88
|
+
`)){let e=n.match(/^remote\.(.+)\.url\s+(\S.*)$/);if(!e)continue;let r=t.get(e[1])??[];r.push(e[2].trim()),t.set(e[1],r)}return[...t].map(([e,t])=>({name:e,urls:t}))}function Rv(e){return e.urls.find(e=>Uv(e)!==null)??e.urls[0]??null}function zv(e){return e.find(e=>e.name===`origin`)??e[0]??null}function Bv(e){let t=zv(e);return t?Rv(t):null}function Vv(e){let t=zv(e);return t?t.urls.find(e=>Iv(e)!==null)??Rv(t):null}function Hv(e){let t=(Pv(e)?.path??e.replace(/[\\/]+$/,``)).split(`/`);return(t[t.length-1]??``).replace(/\.git$/,``)||null}function Uv(e){let t=Pv(e);if(!t)return null;let n=t.scheme===`https`?{scheme:`https`,port:t.port}:t.scheme===`http`?{scheme:`http`,port:t.port}:t.scheme===`ssh`||t.scheme===`git`?{scheme:`https`,port:``}:null;if(!n||!t.host)return null;let r=t.path.replace(/\.git$/,``);if(!r)return null;let i=n.port?`${t.host}:${n.port}`:t.host;return`${n.scheme}://${i}/${r}`}function Wv(e){let t=Bv(e);return t===null?null:Uv(t)}function Gv(e,t,n,r){return t.ok?r(t.stdout):t.reason===`spawn-error`&&/ENOENT/i.test(t.error??``)||t.reason===`non-zero`&&n.test(t.stderr)?Y:X(`${e}: ${[t.reason,t.exitCode==null?null:`exit ${t.exitCode}`,t.error??Av(t.stderr)].filter(Boolean).join(`, `)}`)}function Kv(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function qv(e){let t=`detached`,n=Y,r=Y,i=Y,a=0,o=0,s=0,c=0;for(let l of e.split(`
|
|
89
|
+
`)){if(!l)continue;if(l.startsWith(`# `)){let e=l.slice(2);if(e.startsWith(`branch.oid `)){let t=e.slice(11).trim();n=t===`(initial)`?Y:J(t)}else if(e.startsWith(`branch.head `)){let n=e.slice(12).trim();t=n===`(detached)`?`detached`:n}else if(e.startsWith(`branch.upstream `))r=J(e.slice(16).trim());else if(e.startsWith(`branch.ab `)){let t=e.slice(10).trim().match(/^\+(\d+)\s+-(\d+)$/);t&&(i=J({ahead:parseInt(t[1],10),behind:parseInt(t[2],10)}))}continue}let e=l[0];if(e===`1`||e===`2`){let e=l.slice(2,4);e[0]!==`.`&&a++,e[1]!==`.`&&o++}else e===`u`?c++:e===`?`&&s++}let l=`clean`;return c>0?l=`conflicts`:(a||o||s)&&(l=`dirty`),{branch:t,status:l,aheadBehind:i,oid:n,upstream:r,workingTree:{staged:a,unstaged:o,untracked:s,conflicts:c}}}function Jv(e){let t;try{t=JSON.parse(e)}catch(e){return X(`gh pr view: unparseable JSON (${e instanceof Error?e.message:String(e)})`)}if(!Kv(t))return X(`gh pr view: JSON is not an object`);let{number:n,state:r,url:i}=t;return typeof n!=`number`||typeof r!=`string`||typeof i!=`string`?X(`gh pr view: missing number/state/url`):r.toUpperCase()===`OPEN`?J({number:n,state:r,url:i}):Y}function Yv(e){let t;try{t=JSON.parse(e)}catch(e){return X(`glab mr view: unparseable JSON (${e instanceof Error?e.message:String(e)})`)}if(!Kv(t))return X(`glab mr view: JSON is not an object`);let n=t.iid,r=t.state,i=t.web_url;return typeof n!=`number`||typeof r!=`string`||typeof i!=`string`?X(`glab mr view: missing iid/state/web_url`):r.toLowerCase()===`opened`?J({number:n,state:r,url:i}):Y}function Xv(e){try{let t=r.statSync(e);return{key:`${t.dev}:${t.ino}`,stamp:`${t.mtimeMs}:${t.size}`}}catch{return null}}var Zv=class{isGitRepo(e){try{return r.existsSync(c.join(e,`.git`))}catch{return!1}}async execGitAsync(e,t){return De({bin:`git`,args:[...e],cwd:t.cwd,env:{...process.env,GIT_OPTIONAL_LOCKS:`0`},timeoutMs:t.timeout,category:`git`})}async resolveEffectiveGitDir(e,t){return this.isWorktree(e)?J(e):t&&this.isGitRepo(t)?J(t):this.isGitRepo(e)?J(e):this.findGitRoot(e)}async findGitRoot(e){let t=c.resolve(e);for(;;){if(this.isGitRepo(t))return J(t);let e=c.dirname(t);if(e===t)return Y;t=e}}async getGitInfo(e,t={},n){try{return await this.computeGitInfo(e,t,n)}catch(e){return X(`git: ${e instanceof Error?e.message:String(e)}`)}}async computeGitInfo(e,t={},n){let r,i=this.isWorktree(e);if(i)r=e;else if(n&&this.isGitRepo(n))r=n;else if(this.isGitRepo(e))r=e;else{let t=await this.findGitRoot(e);if(t.kind!==`ok`)return t;r=t.value}let a=await this.getCoreAsync(r);if(a.kind!==`ok`)return a;let o={branch:a.value.branch,status:a.value.status,aheadBehind:a.value.aheadBehind};t.showWorkingTree&&(o.workingTree=a.value.workingTree),t.showSha&&(o.sha=jv(a.value.oid,e=>e.slice(0,7))),t.showUpstream&&(o.upstream=a.value.upstream),t.showTag&&(o.tag=await this.getNearestTagAsync(r)),t.showTimeSinceCommit&&(o.timeSinceCommit=await this.timeSinceCommit(r,a.value.oid)),t.showStashCount&&(o.stashCount=this.getStashCount(r));let s=t.showRepoName||t.showRepoUrl?await this.getRemotesAsync(r):void 0;return s!==void 0&&t.showRepoName&&(o.repoName=jv(s,e=>this.repoNameFrom(e,r)),o.isWorktree=i),s!==void 0&&t.showRepoUrl&&(o.repoUrl=jv(s,Wv)),t.showOperation&&(o.operation=this.getOngoingOperation(r)),J(o)}resolveGitDir(e){let t=c.join(e,`.git`);try{if(r.existsSync(t)&&r.statSync(t).isFile()){let n=r.readFileSync(t,`utf-8`).match(/^gitdir:\s*(.+)$/m);if(n?.[1])return c.resolve(e,n[1].trim())}}catch{}return t}getOngoingOperation(e){try{let t=this.resolveGitDir(e);return r.existsSync(c.join(t,`MERGE_HEAD`))?J(`MERGE`):r.existsSync(c.join(t,`CHERRY_PICK_HEAD`))?J(`CHERRY-PICK`):r.existsSync(c.join(t,`REVERT_HEAD`))?J(`REVERT`):r.existsSync(c.join(t,`BISECT_LOG`))?J(`BISECT`):r.existsSync(c.join(t,`rebase-merge`))||r.existsSync(c.join(t,`rebase-apply`))?J(`REBASE`):Y}catch(e){return X(`git operation probe: ${e instanceof Error?e.message:String(e)}`)}}async getNearestTagAsync(e){return Mv(kv(`git describe --tags`,await this.execGitAsync([`describe`,`--tags`,`--abbrev=0`],{cwd:e,timeout:2e3}),`absent`))}async timeSinceCommit(e,t){return t.kind===`ok`?jv(await this.commitTimestampMs(e,t.value),e=>Math.floor((Date.now()-e)/1e3)):t}commitTimes=new Map;async commitTimestampMs(e,t){let n=this.commitTimes.get(t);if(n!==void 0)return this.commitTimes.delete(t),this.commitTimes.set(t,n),n;let r=this.readCommitTimestampMs(e,t);for(this.commitTimes.set(t,r),r.then(e=>{e.kind!==`ok`&&this.commitTimes.get(t)===r&&this.commitTimes.delete(t)},()=>{this.commitTimes.get(t)===r&&this.commitTimes.delete(t)});this.commitTimes.size>256;){let e=this.commitTimes.keys().next().value;if(e===void 0)break;this.commitTimes.delete(e)}return r}async readCommitTimestampMs(e,t){let n=Mv(kv(`git log -1`,await this.execGitAsync([`log`,`-1`,`--format=%ct`,t,`--`],{cwd:e,timeout:2e3}),`absent`));if(n.kind!==`ok`)return n;let r=parseInt(n.value,10)*1e3;return Number.isNaN(r)?X(`git log -1: unparseable timestamp "${n.value}"`):J(r)}resolveCommonGitDir(e){let t=this.resolveGitDir(e);try{let e=r.readFileSync(c.join(t,`commondir`),`utf-8`).trim();if(e)return c.resolve(t,e)}catch{}return t}getStashCount(e){let t=c.join(this.resolveCommonGitDir(e),`logs`,`refs`,`stash`),n;try{n=r.readFileSync(t,`utf-8`)}catch(e){return e.code===`ENOENT`?J(0):X(`git stash reflog ${t}: ${e instanceof Error?e.message:String(e)}`)}let i=n.trim();return J(i?i.split(`
|
|
90
|
+
`).length:0)}async getRemotesAsync(e){let t=Xv(c.join(this.resolveCommonGitDir(e),`config`));if(t===null)return this.readRemotes(e);let{key:n,stamp:r}=t,i=this.remotesByConfig.get(n);if(i!==void 0&&i.stamp===r)return this.remotesByConfig.delete(n),this.remotesByConfig.set(n,i),i.remotes;let a=this.readRemotes(e);for(this.remotesByConfig.set(n,{stamp:r,remotes:a}),a.then(e=>{let t=this.remotesByConfig.get(n);e.kind!==`ok`&&t?.remotes===a&&this.remotesByConfig.delete(n)},()=>{this.remotesByConfig.get(n)?.remotes===a&&this.remotesByConfig.delete(n)});this.remotesByConfig.size>256;){let e=this.remotesByConfig.keys().next().value;if(e===void 0)break;this.remotesByConfig.delete(e)}return a}remotesByConfig=new Map;async readRemotes(e){let t=kv(`git config --get-regexp remote url`,await this.execGitAsync([`config`,`--local`,`--get-regexp`,`^remote\\..*\\.url$`],{cwd:e,timeout:2e3}),1);return t.kind===`failed`?t:J(t.kind===`ok`?Lv(t.value):[])}repoNameFrom(e,t){let n=Bv(e);return(n===null?null:Hv(n))??c.basename(t)}async getRepoRemoteUrl(e){let t=await this.getRemotesAsync(e);if(t.kind!==`ok`)return t;let n=Vv(t.value);return n===null?Y:J(n)}async execForgeAsync(e,t,n){return De({bin:e,args:[...t],cwd:n.cwd,env:{...process.env},timeoutMs:n.timeout,category:`forge`})}async resolvePullRequest(e,t){let n=Iv(t);return n===`github`?Gv(`gh pr view`,await this.execForgeAsync(`gh`,[`pr`,`view`,`--json`,`number,state,url`],{cwd:e,timeout:5e3}),/no (open )?pull requests? found/i,Jv):n===`gitlab`?Gv(`glab mr view`,await this.execForgeAsync(`glab`,[`mr`,`view`,`--output`,`json`],{cwd:e,timeout:5e3}),/no (open )?merge requests? (found|available)/i,Yv):Y}isWorktree(e){try{let t=c.join(e,`.git`);return!!(r.existsSync(t)&&r.statSync(t).isFile())}catch{return!1}}async getCoreAsync(e){O(`[GIT-EXEC] Running git status --porcelain=v2 in ${e}`);let t=kv(`git status --porcelain=v2 --branch`,await this.execGitAsync([`status`,`--porcelain=v2`,`--branch`],{cwd:e,timeout:2e3}),`failed`);return t.kind===`ok`?J(qv(t.value)):t}};const Qv=(e,t)=>O(t);var $v=class{slots=new Map;maxWatchers;counters;logger;closed=!1;constructor(e={}){this.maxWatchers=e.maxWatchers??128,this.counters=e.counters,this.logger=e.logger??Qv}acquire(e,t,n){if(this.closed)return{release:()=>{}};let r=this.slots.get(e);if(r)return r.refcount++,r.onInvalidate=n,r.lastTouched=Date.now(),this.slots.delete(e),this.slots.set(e,r),this.makeHandle(e);let i={key:e,watchers:[],refcount:1,debounceTimer:null,onInvalidate:n,targets:t,lastTouched:Date.now()};return this.openWatchers(i),this.slots.set(e,i),this.counters&&this.counters.watchersOpened++,this.evictIfNeeded(),this.makeHandle(e)}makeHandle(e){let t=!1;return{release:()=>{if(t)return;t=!0;let n=this.slots.get(e);n&&(n.refcount=Math.max(0,n.refcount-1),n.refcount===0&&(this.closeSlot(n),this.slots.delete(e)))}}}openWatchers(e){let t=()=>{e.debounceTimer||(e.debounceTimer=setTimeout(()=>{e.debounceTimer=null;try{e.onInvalidate()}catch(e){this.logger(`warn`,`watcher invalidate threw: ${e.message}`)}},50),e.debounceTimer.unref())};for(let n of e.targets.files)try{let i=r.watch(n,{persistent:!1},t);i.on(`error`,e=>{this.logger(`warn`,`watcher error ${n}: ${e.message}`)}),e.watchers.push(i)}catch(e){this.logger(`warn`,`watch failed ${n}: ${e.message}`)}for(let n of e.targets.dirs)try{let i=n.filenames?new Set(n.filenames):null,a=r.watch(n.path,{persistent:!1},(e,n)=>{i&&(!n||!i.has(n))||t()});a.on(`error`,e=>{this.logger(`warn`,`watcher error ${n.path}: ${e.message}`)}),e.watchers.push(a)}catch(e){this.logger(`warn`,`watch failed ${n.path}: ${e.message}`)}}closeSlot(e){e.debounceTimer&&=(clearTimeout(e.debounceTimer),null);for(let t of e.watchers)try{t.close()}catch{}e.watchers=[],this.counters&&this.counters.watchersClosed++}evictIfNeeded(){for(;this.slots.size>this.maxWatchers;){let e=this.slots.keys().next().value;if(e===void 0)break;let t=this.slots.get(e);this.closeSlot(t),this.slots.delete(e),this.counters&&this.counters.watchersEvicted++;try{t.onInvalidate()}catch{}this.logger(`info`,`watcher LRU evict ${e}`)}}size(){return this.slots.size}closeAll(){this.closed=!0;for(let e of this.slots.values())this.closeSlot(e);this.slots.clear()}},ey=class{running=new Set;again=new Set;run(e,t){return this.again.add(e),this.running.has(e)?{kind:`queued`}:(this.running.add(e),{kind:`started`,done:this.loop(e,t)})}async loop(e,t){try{do this.again.delete(e),await t();while(this.again.has(e))}finally{this.running.delete(e),this.again.delete(e)}}clear(){this.running.clear(),this.again.clear()}get size(){return this.running.size}};const ty=(e,t)=>O(t),ny={showSha:!0,showStashCount:!0};function ry(e){let t=Object.keys(e).sort(),n={};for(let r of t)n[r]=e[r];return JSON.stringify(n)}function iy(e){let t=t=>{try{return r.statSync(c.join(e,t)).mtimeMs}catch{return 0}};return{head:t(`HEAD`),index:t(`index`)}}function ay(e,t){return e.head!==t.head||e.index!==t.index}function oy(e){let t=[],n=c.join(e,`refs/heads`);try{r.statSync(n).isDirectory()&&t.push({path:n})}catch{}return{files:[c.join(e,`HEAD`),c.join(e,`index`)],dirs:t}}var sy=class extends Zv{entries=new Map;subscribersByRepo=new Map;fetchInFlight=new Map;resolutions=new Map;prCache=new Map;prFetchInFlight=new Map;refreshes=new ey;hits=0;misses=0;invalidations=0;inner;ttlMs;maxEntries;watchers;ownsWatchers;logger;sanityTimer=null;constructor(e={}){super(),this.inner=e.inner??new Zv,this.ttlMs=e.ttlMs??3e4,this.maxEntries=e.maxEntries??64,this.logger=e.logger??ty,e.watchers?(this.watchers=e.watchers,this.ownsWatchers=!1):(this.watchers=new $v({logger:this.logger}),this.ownsWatchers=!0);let t=e.sanityIntervalMs??3e5;t>0&&(this.sanityTimer=setInterval(()=>this.runSanityCheck(),t),this.sanityTimer.unref())}getWatcherRegistry(){return this.watchers}getStats(){return{size:this.entries.size,hits:this.hits,misses:this.misses,invalidations:this.invalidations,watchers:this.watchers.size()}}resolveEffectiveGitDir(e,t){let n=`${e}|${t??``}`,r=Date.now(),i=this.resolutions.get(n);if(i&&r-i.computedAt<this.ttlMs)return this.resolutions.delete(n),this.resolutions.set(n,i),i.dir;let a=this.inner.resolveEffectiveGitDir(e,t);return this.resolutions.set(n,{dir:a,computedAt:r}),a.catch(()=>{this.resolutions.get(n)?.dir===a&&this.resolutions.delete(n)}),this.evictResolutionsIfNeeded(),a}evictResolutionsIfNeeded(){for(;this.resolutions.size>this.maxEntries;){let e=this.resolutions.keys().next().value;if(e===void 0)break;this.resolutions.delete(e)}}async getGitInfo(e,t={},n){let r=await this.resolveEffectiveGitDir(e,n);return r.kind===`ok`?this.getGitInfoForRoot(r.value,t):r}getGitInfoForRoot(e,t){let n=`${e}|${ry(t)}`,r=Date.now(),i=this.entries.get(n);if(i&&r-i.computedAt<this.ttlMs)return this.entries.delete(n),this.entries.set(n,i),this.hits++,Promise.resolve(J(i.info));let a=this.fetchInFlight.get(n);if(a)return a;let o=this.doFetch(e,n,t,r).finally(()=>{this.fetchInFlight.delete(n)});return this.fetchInFlight.set(n,o),o}async doFetch(e,t,n,r){this.misses++;let i=this.inner.resolveGitDir(e),a=iy(i),o=await this.inner.getGitInfo(e,n);if(o.kind!==`ok`)return o;let s=o.value;n.showPullRequest&&(s.pullRequest=await this.getPullRequestCached(e,s.branch)),this.dropEntry(t);let c=this.watchers.acquire(`git:${e}`,oy(i),()=>this.invalidateRepo(e));return this.entries.set(t,{info:s,computedAt:r,mtime:a,watcher:c,repoRoot:e}),this.evictIfNeeded(),o}async getPullRequestCached(e,t){let n=await this.inner.getRepoRemoteUrl(e);if(n.kind===`failed`)return n;if(n.kind===`absent`)return Y;let r=n.value,i=`${e}|${t}|${r}`,a=Date.now(),o=this.prCache.get(i);if(o){let e=o.pr.kind===`failed`?45e3:3e5;if(a-o.computedAt<e)return this.prCache.delete(i),this.prCache.set(i,o),o.pr}let s=this.prFetchInFlight.get(i);if(s)return s;let c=this.inner.resolvePullRequest(e,r).then(e=>(this.prCache.set(i,{pr:e,computedAt:Date.now()}),this.evictPrIfNeeded(),e)).finally(()=>{this.prFetchInFlight.delete(i)});return this.prFetchInFlight.set(i,c),c}evictPrIfNeeded(){for(;this.prCache.size>this.maxEntries;){let e=this.prCache.keys().next().value;if(e===void 0)break;this.prCache.delete(e)}}deliverable(e,t){return e.kind===`failed`?(this.logger(`warn`,`git fetch failed (${t}): ${e.reason}`),null):e.kind===`ok`?e.value:null}subscribe(e,t){let n=!1,r=null;return{firstDelivery:(async()=>{let i=await this.resolveEffectiveGitDir(e);if(n)return;if(i.kind!==`ok`){i.kind===`failed`&&this.logger(`warn`,`git resolve failed (subscribe ${e}): ${i.reason}`),this.safeInvoke(t,null);return}let a=i.value,o=this.subscribersByRepo.get(a);if(!o){let t=this.inner.resolveGitDir(a),n=this.watchers.acquire(`git:${a}`,oy(t),()=>this.invalidateRepo(a));o={workingDir:e,repoRoot:a,callbacks:new Set,watcher:n},this.subscribersByRepo.set(a,o)}o.callbacks.add(t),r={repoRoot:a,entry:o};let s=await this.getGitInfoForRoot(a,{...ny});n||this.safeInvoke(t,this.deliverable(s,a))})(),unsubscribe:()=>{if(n=!0,!r)return;let{repoRoot:e,entry:i}=r;i.callbacks.delete(t),i.callbacks.size===0&&(i.watcher.release(),this.subscribersByRepo.delete(e))}}}invalidateRepo(e){let t=0;for(let[n,r]of this.entries)r.repoRoot===e&&(r.watcher.release(),this.entries.delete(n),t++);t>0&&(this.invalidations+=t,this.logger(`info`,`gitCache invalidate ${e} dropped=${t}`)),this.refreshSubscribers(e)}refreshSubscribers(e){let t=this.subscribersByRepo.get(e);!t||t.callbacks.size===0||this.refreshes.run(e,()=>this.refreshOnce(e))}async refreshOnce(e){let t=this.subscribersByRepo.get(e);if(!t||t.callbacks.size===0)return;let n=await this.getGitInfoForRoot(e,{...ny}),r=this.deliverable(n,e),i=this.subscribersByRepo.get(e);if(!(!i||i.callbacks.size===0))for(let e of[...i.callbacks])i.callbacks.has(e)&&this.safeInvoke(e,r)}safeInvoke(e,t){try{e(t)}catch(e){this.logger(`warn`,`git subscriber threw: ${e.message??String(e)}`)}}dropEntry(e){let t=this.entries.get(e);t&&(t.watcher.release(),this.entries.delete(e))}evictIfNeeded(){for(;this.entries.size>this.maxEntries;){let e=this.entries.keys().next().value;if(e===void 0)break;this.dropEntry(e),this.logger(`info`,`gitCache evict ${e}`)}}runSanityCheck(){let e=new Map;for(let t of this.entries.values()){let n=e.get(t.repoRoot);n||(n=iy(this.inner.resolveGitDir(t.repoRoot)),e.set(t.repoRoot,n)),ay(t.mtime,n)&&this.invalidateRepo(t.repoRoot)}}runSanityCheckNow(){this.runSanityCheck()}close(){this.sanityTimer&&=(clearInterval(this.sanityTimer),null);for(let e of this.entries.values())e.watcher.release();this.entries.clear();for(let e of this.subscribersByRepo.values())e.callbacks.clear(),e.watcher.release();this.subscribersByRepo.clear(),this.refreshes.clear(),this.fetchInFlight.clear(),this.prCache.clear(),this.prFetchInFlight.clear(),this.resolutions.clear(),this.ownsWatchers&&this.watchers.closeAll()}};const cy=/\r\n|\r|\n/g,ly=e=>J(e.replace(cy,` `).trim());function uy(e){return t=>{let n=e.exec(t)?.[1];return n===void 0?X(`regex no-match`):J(n.replace(cy,` `))}}const dy=e=>{try{return J(JSON.parse(e))}catch(e){return X(`JSON parse failed: ${e.message}`)}};function fy(e,t){return t.kind!==`ttl`||t.durationMs>=500?t:(O(`declareShell "${e}": ttl ${t.durationMs}ms below floor 500ms; clamping`),{kind:`ttl`,durationMs:500})}function py(e){let t=/^(\d+(?:\.\d+)?)(ms|s|m|h)$/.exec(e);if(!t)throw RangeError(`Invalid duration: "${e}"`);let n=parseFloat(t[1]);switch(t[2]){case`ms`:return n;case`s`:return n*1e3;case`m`:return n*6e4;case`h`:return n*36e5;default:throw RangeError(`Unexpected duration unit: "${t[2]}"`)}}const my=`session.id`;function hy(e,t,n){return{where:`output of "${e}" in ${t}`,read:async()=>{let r=await De({bin:`/bin/sh`,args:[`-c`,e],cwd:t,category:`user-shell`,signal:n});if(!r.ok&&r.reason===`aborted`)throw n.reason;return r.ok?J(r.stdout):X(`shell "${e}" ${r.exitCode===null?[r.reason,r.error].filter(e=>e!==void 0).join(`: `):`exited with code ${r.exitCode}`} in ${t}`)}}}function gy(e,t,n){return{where:`"${e}"`,read:async()=>{try{let r=await x(e,{encoding:`utf8`,signal:n});return J(t===`first-line`?r.split(/\r?\n/)[0]??``:r)}catch{if(n.aborted)throw n.reason;return X(`file unreadable: ${e}`)}}}}function _y(e,t,n){if(e.kind!==`ok`)return e;let r=t(e.value);return r.kind===`failed`?X(`${r.reason} in ${n}`):r}const vy=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],yy=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],by=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],xy=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`];function Sy(e,t){let n=[[`2006`,e=>String(e.getFullYear())],[`January`,e=>vy[e.getMonth()]],[`Monday`,e=>by[e.getDay()]],[`Jan`,e=>yy[e.getMonth()]],[`Mon`,e=>xy[e.getDay()]],[`15`,e=>String(e.getHours()).padStart(2,`0`)],[`06`,e=>String(e.getFullYear()%100).padStart(2,`0`)],[`01`,e=>String(e.getMonth()+1).padStart(2,`0`)],[`02`,e=>String(e.getDate()).padStart(2,`0`)],[`04`,e=>String(e.getMinutes()).padStart(2,`0`)],[`05`,e=>String(e.getSeconds()).padStart(2,`0`)],[`PM`,e=>e.getHours()<12?`AM`:`PM`],[`pm`,e=>e.getHours()<12?`am`:`pm`],[`1`,e=>String(e.getMonth()+1)],[`2`,e=>String(e.getDate())],[`3`,e=>String(e.getHours()%12||12)],[`4`,e=>String(e.getMinutes())],[`5`,e=>String(e.getSeconds())]],r=``,i=0;for(;i<e.length;){let a=!1;for(let[o,s]of n)if(e.startsWith(o,i)){r+=s(t),i+=o.length,a=!0;break}a||(r+=e[i],i++)}return r}const Cy={branch:`string`,sha:`string`,dirty:`boolean`,ahead:`number`,behind:`number`,stash:`number`};function wy(e,t,n,r){if(e===null){if(n!==void 0)return n;let e=Cy[t];try{return Oy(r,e)}catch{return ky(e)}}switch(t){case`branch`:return e.branch===`detached`?``:e.branch;case`sha`:return Ov(e.sha,``);case`dirty`:return e.status!==`clean`;case`ahead`:return Ov(e.aheadBehind,{ahead:0,behind:0}).ahead;case`behind`:return Ov(e.aheadBehind,{ahead:0,behind:0}).behind;case`stash`:return Ov(e.stashCount,0)}}var Ty=class{watchers=new Map;subscribe(e,t){let n=this.watchers.get(e);if(!n){let t=new Set,r;try{r=s(e,()=>{for(let e of t)e()})}catch{return()=>{}}n={watcher:r,callbacks:t},this.watchers.set(e,n)}return n.callbacks.add(t),()=>this.unsubscribe(e,t)}unsubscribe(e,t){let n=this.watchers.get(e);n&&(n.callbacks.delete(t),n.callbacks.size===0&&(n.watcher.close(),this.watchers.delete(e)))}dispose(){for(let{watcher:e}of this.watchers.values())e.close();this.watchers.clear()}size(){return this.watchers.size}},Ey=class{buckets=new Map;subscribe(e,t){let n=this.buckets.get(e);if(!n){let t=new Set;n={timer:te(()=>{for(let e of t)e()},e),callbacks:t},this.buckets.set(e,n)}return n.callbacks.add(t),()=>this.unsubscribe(e,t)}unsubscribe(e,t){let n=this.buckets.get(e);n&&(n.callbacks.delete(t),n.callbacks.size===0&&(ee(n.timer),this.buckets.delete(e)))}dispose(){for(let{timer:e}of this.buckets.values())ee(e);this.buckets.clear()}bucketCount(){return this.buckets.size}};function Dy(e,t){let n=e;for(let e of t.split(`.`)){if(typeof n!=`object`||!n)return;n=n[e]}return n}function Oy(e,t){if(typeof e!=`string`&&typeof e!=`number`&&typeof e!=`boolean`)throw TypeError(`Expected string|number|boolean from payload, got ${typeof e}`);return t===`string`?N_(e):t===`number`?P_(e):F_(e)}function ky(e){return e===`number`?0:e===`boolean`?!1:``}var Ay=class{inputMetas=new Map;lastErrors=new Map;watchMgr=new Ty;ttlMgr=new Ey;gitSubscriptions=new Map;cleanups=[];inFlight=new Map;reads=new ey;abort=new AbortController;drawn=A_.observable.box(P.TRUECOLOR);drawnAt=()=>this.drawn.get();engine=Cv(void 0,void 0,this.drawnAt);gitProvider;ownsGitProvider;sessionState;constructor(e,t=``,n,r){this.store=e,this.defaultEmptyValue=t,n?(this.gitProvider=n,this.ownsGitProvider=!1):(this.gitProvider=new sy({sanityIntervalMs:0}),this.ownsGitProvider=!0),this.sessionState=r}get variableStore(){return this.store}declareLiteral(e,t){this.store.defineBox(e,M_(t),t)}declareInput(e,t,n,r){let i=r===void 0?this.defaultFor(n):r;this.store.defineBox(e,n,i),this.inputMetas.set(e,{path:t,varDefault:r})}declareEnv(e,t,n){let r=process.env[t];if(r!==void 0){this.store.defineBox(e,`string`,r);return}let i=n===void 0?typeof this.defaultEmptyValue==`string`?this.defaultEmptyValue:``:n;this.store.defineBox(e,`string`,i),this.recordError(e,`env var "${t}" is not set`)}declareShell(e,t,n){this.declareSource(e,hy(t,n.cwd,this.abort.signal),fy(e,n.cache),n.parse)}declareFile(e,t,n){this.declareSource(e,gy(t,n.readMode??`whole`,this.abort.signal),n.cache,n.parse)}declareSource(e,t,n,r){let i=this.publisherFor(e,r,t.where),a=()=>this.runSource(e,t,i);a(),this.registerCachePolicy(e,n,a)}publisherFor(e,t,n){switch(t.kind){case`text`:return this.scalarPublisher(e,ly,t.default,n);case`regex`:return this.scalarPublisher(e,uy(t.regex),t.default,n);case`json`:return this.documentPublisher(e,t.default,n)}}scalarPublisher(e,t,n,r){let i=this.stringInitial(n);return this.store.defineBox(e,`string`,i),n=>{let a=_y(n,t,r);this.noteOutcome(e,a),this.store.setBox(e,Ov(a,i))}}documentPublisher(e,t,n){let r=t===void 0?Y:J(t);return this.store.defineDocument(e,r),i=>{let a=_y(i,dy,n);this.noteOutcome(e,a),this.store.setDocument(e,a.kind===`ok`||t===void 0?a:r)}}runSource(e,t,n){let r=this.reads.run(e,()=>t.read().then(n,e=>{if(e!==this.abort.signal.reason)throw e}));r.kind===`started`&&this.track(e,r.done)}track(e,t){let n=t.finally(()=>{this.inFlight.get(e)===n&&this.inFlight.delete(e)});this.inFlight.set(e,n)}async settled(e){let t=Date.now()+e;for(;this.inFlight.size>0;){let e=t-Date.now();if(e<=0)break;let n,r=await Promise.race([Promise.all(this.inFlight.values()).then(()=>`settled`),new Promise(t=>{n=setTimeout(()=>t(`deadline`),e)})]);if(clearTimeout(n),r===`deadline`)break}return[...this.inFlight.keys()]}declareTemplate(e,t,n={}){let r=this.engine.parse(t);this.store.defineComputed(e,`string`,t=>{let i=wv(this.store);try{let t=r.evaluate(i).map(e=>e.plain).join(``);return this.lastErrors.delete(e),t}catch(t){let r=t instanceof Error?t.message:String(t);if(this.recordError(e,r),n.varDefault===void 0)throw Error(`variable "${e}": ${r}`);return n.varDefault}});try{this.store.read(e)}catch{}}declareTime(e,t){let n=t.ttlMs??1e3;this.store.defineBox(e,`string`,(e=>{try{return Sy(t.format,e)}catch{return this.stringInitial(t.varDefault)}})(new Date));let r=this.ttlMgr.subscribe(n,()=>{try{this.store.setBox(e,Sy(t.format,new Date)),this.lastErrors.delete(e)}catch(n){this.applyFallback(e,`string`,t.varDefault,n instanceof Error?n.message:String(n))}});this.cleanups.push(r)}declareGit(e,t){let n=Cy[t.field],r=t.varDefault===void 0?ky(n):Oy(t.varDefault,n);this.store.defineBox(e,n,r);let i=this.gitSubscriptions.get(t.cwd);if(!i){let e=new Map,n=this.gitProvider.subscribe(t.cwd,t=>{this.store.runInAction(()=>{for(let[n,r]of e)for(let{name:e,varDefault:i}of r)this.store.setBox(e,wy(t,n,i,this.defaultEmptyValue))})});i={fieldSubs:e,firstDelivery:n.firstDelivery,unsubscribe:n.unsubscribe},this.gitSubscriptions.set(t.cwd,i)}let a=i.fieldSubs.get(t.field);a||(a=[],i.fieldSubs.set(t.field,a)),a.push({name:e,varDefault:t.varDefault}),this.track(e,i.firstDelivery)}declareState(e,t){if(!this.sessionState)throw Error(`declareState("${e}"): SourceRegistry was constructed without a SessionState — state-kind variables require a SessionState (the daemon provides one; tests must supply one)`);let n=this.sessionState,r=t.varDefault??this.stringInitial(void 0);this.store.defineComputed(e,`string`,e=>{let i=e(my);if(typeof i!=`string`||!i)return r;let a=n.get(i,t.key);return a===null?r:a})}applyInput(e){this.store.runInAction(()=>{for(let[t,n]of this.inputMetas){let r=Dy(e,n.path),i=this.store.getType(t);if(r!==void 0)try{this.store.setBox(t,Oy(r,i)),this.lastErrors.delete(t)}catch(e){this.applyFallback(t,i,n.varDefault,e instanceof Error?e.message:String(e))}else this.applyFallback(t,i,n.varDefault,`input path "${n.path}" not found in payload`)}})}drawAt(e){this.store.runInAction(()=>this.drawn.set(e))}getLastError(e){return this.lastErrors.get(e)}dispose(){this.abort.abort();for(let e of this.cleanups)e();this.cleanups.length=0;for(let e of this.gitSubscriptions.values())e.unsubscribe();this.gitSubscriptions.clear(),this.reads.clear(),this.watchMgr.dispose(),this.ttlMgr.dispose(),this.ownsGitProvider&&this.gitProvider.close()}registerCachePolicy(e,t,n){switch(t.kind){case`never`:break;case`ttl`:{let e=this.ttlMgr.subscribe(t.durationMs,n);this.cleanups.push(e);break}case`watch_file`:{let e=this.watchMgr.subscribe(t.path,n);this.cleanups.push(e);break}case`key`:{let e=this.engine.parse(t.template),r=(0,A_.reaction)(()=>{let t=wv(this.store);try{return e.evaluate(t).map(e=>e.plain).join(``)}catch{return``}},n);this.cleanups.push(r);break}case`depends_on`:{let e=(0,A_.reaction)(()=>t.varNames.map(e=>this.store.changeKey(e)).join(`,`),n);this.cleanups.push(e);break}}}applyFallback(e,t,n,r){if(this.recordError(e,r),n!==void 0){this.store.setBox(e,n);return}try{this.store.setBox(e,Oy(this.defaultEmptyValue,t))}catch{this.store.setBox(e,ky(t))}}defaultFor(e){try{return Oy(this.defaultEmptyValue,e)}catch{return ky(e)}}stringInitial(e){return e===void 0?typeof this.defaultEmptyValue==`string`?this.defaultEmptyValue:``:e}recordError(e,t){this.lastErrors.set(e,{timestamp:Date.now(),message:t})}noteOutcome(e,t){t.kind===`ok`?this.lastErrors.delete(e):this.recordError(e,t.kind===`failed`?t.reason:`no value`)}};const jy={project_dir:{kind:`input`,path:`workspace.project_dir`,default:``},[my]:{kind:`input`,path:`session_id`,default:``},transcript_path:{kind:`input`,path:`transcript_path`,default:``},"theme.effective":{kind:`input`,path:`theme.effective`,default:``},"look.effective":{kind:`input`,path:`look.effective`,default:``},"preset.effective":{kind:`input`,path:`preset.effective`,default:``},"preset.customized":{kind:`input`,path:`preset.customized`,type:`boolean`,default:!1},"preset.bundled":{kind:`input`,path:`preset.bundled`,type:`boolean`,default:!0},"style.effective":{kind:`input`,path:`style.effective`,default:``},"progression.effective":{kind:`input`,path:`progression.effective`,default:``},"charset.effective":{kind:`input`,path:`charset.effective`,default:``},"colorCompatibility.effective":{kind:`input`,path:`colorCompatibility.effective`,default:``},"autoWrap.effective":{kind:`input`,path:`autoWrap.effective`,type:`boolean`,default:!0},"padding.effective":{kind:`input`,path:`padding.effective`,type:`number`,default:1},"term.cols":{kind:`input`,path:`term.cols`,type:`number`,default:80},"git.repoUrl":{kind:`input`,path:`git.repoUrl`,default:``}},My={theme:{configKey:`palette`,sessionKey:`theme`,effectiveVar:`theme.effective`},preset:{configKey:`preset`,sessionKey:`preset`,effectiveVar:`preset.effective`},look:{configKey:`look`,sessionKey:`look`,effectiveVar:`look.effective`},style:{configKey:`style`,sessionKey:`style`,effectiveVar:`style.effective`},progression:{configKey:`progression`,sessionKey:`progression`,effectiveVar:`progression.effective`},charset:{configKey:`charset`,sessionKey:`charset`,effectiveVar:`charset.effective`},colorCompatibility:{configKey:`colorCompatibility`,sessionKey:`colorCompatibility`,effectiveVar:`colorCompatibility.effective`},autoWrap:{configKey:`autoWrap`,sessionKey:`autoWrap`,effectiveVar:`autoWrap.effective`},padding:{configKey:`padding`,sessionKey:`padding`,effectiveVar:`padding.effective`}},Ny=Object.values(My),Py=new Map(Ny.map(e=>[e.configKey,e.effectiveVar])),Fy=new Map(Ny.map(e=>[e.sessionKey,e.effectiveVar])),Iy=new Map(Object.keys(My).map(e=>[My[e].sessionKey,e]));function Ly(e,t,n){let r=new Set,i=e=>{for(let t of b_(e??``,n).keys())r.add(t)};for(let t of Object.values(e.segments))i(t.template),i(t.bg),i(t.fg),i(t.when);for(let e of t)for(let t of ls(e))i(t.when);for(let t of Object.values(e.variables))t.kind===`template`&&i(t.template),t.kind===`state`&&r.add(my);for(let t of Object.values(e.actions)){r.add(my),`copy`in t&&i(t.copy),`open`in t&&i(t.open);let e=`set`in t?Fy.get(t.set):void 0,n=`persist`in t?Py.get(t.persist):void 0;e!==void 0&&r.add(e),n!==void 0&&r.add(n)}return r}function Ry(e,t,n){let r=E_({...n,variables:{...n.variables,...e.variables},segments:{...n.segments,...e.segments}}),i={};for(let a of Ly(e,t,n.helpers)){if(T_(a,r))continue;let e=jy[a];if(e===void 0)throw Error(`synthesized chrome reads ".${a}", which it does not declare and PAYLOAD_INPUTS does not supply`);i[a]=e}return i}const zy=new Map,By=new Map;function Vy(e){let t=Uy(e);if(t===null)throw Error(`Palette "${e}" (resolved "${xa(e)}") did not resolve in the theme registry — allowed names and the registry are inconsistent`);return t}function Hy(e,t){return e===`bar`?t:Vy(e)}function Uy(e){let t=xa(e),n=zy.get(t);if(n!==void 0)return n;let r=sr(t);return r===null?null:(zy.set(t,r),r)}function Wy(e,t){let n=`${e.name} ${t.hueShift} ${t.chromaScale} ${t.lightnessScale} ${t.lightnessShift}`,r=By.get(n);if(r!==void 0)return r;let i=hr(e,t);return By.set(n,i),i}function Gy(e){let t=Uy(e);return t===null?null:{kind:`decided`,name:e,value:t}}function Ky(e,t){let n=Gy(e);return n===null?(t(`globals.palette rendered "${Sa}": "${e}" names no installed theme`),Jy()):n}function qy(e,t,n){return Ma(e,t,n,Jy(),Gy)}function Jy(){return Gy(Sa)}function Yy(e){return Na(qy(void 0,null,e),()=>Sa,Jy).value}const Xy=new Map;function Zy(e,t,n){Xy.set(e,{permanent:!0,resolve:t,paletteOf:n})}Zy(`themes`,()=>Ta(),e=>Vy(e));const Qy=`placementThemes`;Zy(Qy,Ea,(e,t)=>Hy(e,t.palette)),Zy(`styles`,()=>Ra),Zy(`progressions`,()=>Xa),Zy(`charsets`,()=>Va),Zy(`colorCompatibilities`,()=>Ga);function $y(e){return new Map([[`looks`,{members:Object.keys(e.looks),paletteOf:(t,n)=>Wy(n.basePalette,e.looks[t])}],[`presets`,{members:Fg(e.presets)}]])}function eb(e){return[...new Set([...Xy.keys(),...e.keys()])]}function tb(e,t){if(typeof e!=`string`)return{members:e};let n=t.get(e);if(n)return n;let r=Xy.get(e);if(r)return{members:r.resolve(),paletteOf:r.paletteOf};throw Error(`unknown option domain "${e}" (have: ${eb(t).join(`, `)})`)}const nb=/^segments\.([^.]+)\.palette$/,rb=/^presets\.(.+)\.root$/,ib=/^presets\.(.+)\.globals\.([^.]+)$/;function ab(e){return`presets.${e}.root`}function ob(e,t){return`presets.${e}.globals.${t}`}function sb(e){if(Qc(e))return{scope:`globals`,field:e};let t=nb.exec(e);if(t)return{scope:`segment-palette`,segment:t[1]};let n=ib.exec(e);if(n&&Gc(n[2]))return{scope:`preset-globals`,preset:n[1],field:n[2]};let r=rb.exec(e);return r?{scope:`preset-root`,preset:r[1]}:null}function cb(e){switch(e.scope){case`globals`:return[`globals`,e.field];case`preset-globals`:return[`presets`,e.preset,`globals`,e.field];case`segment-palette`:return[`segments`,e.segment,`palette`]}}const lb=`open`;function ub(e,t,n,r){let i={variable:e,key:e,member:lb};return r.variables[e]=Ac(e,xc),r.actions[e]=jc(e,lb),r.segments[e]={template:kc(e,`(?)`,`✕`),...db(n)},Ec(e,i,{kind:`container`,direction:`horizontal`,children:t.map((t,n)=>{let i=`${e}.${n}`;return r.segments[i]={template:t},{kind:`segment`,name:i}})},`drop`)}function db(e){let[t,...n]=e;return t===void 0?{}:{when:Dc(t,...n)}}const fb={help:[`-h`,`--help`],version:[`-V`,`--version`]},pb=[`✚ inserts`,`🚫 removes`,`⚙ configures`,`↺ resets layout`],mb=`
|
|
91
91
|
cc-candybar - Beautiful powerline statusline for Claude Code
|
|
92
92
|
|
|
93
93
|
Usage: cc-candybar [options]
|
|
94
94
|
|
|
95
95
|
Standalone Commands:
|
|
96
|
-
${
|
|
97
|
-
${
|
|
96
|
+
${fb.help.join(`, `).padEnd(25)}Show this help
|
|
97
|
+
${fb.version.join(`, `).padEnd(25)}Print the version of this runtime (cc-candybar <version>)
|
|
98
98
|
|
|
99
99
|
Debugging:
|
|
100
100
|
CC_CANDYBAR_DEBUG=1 Enable debug logging for troubleshooting
|
|
@@ -107,7 +107,7 @@ Configuration:
|
|
|
107
107
|
|
|
108
108
|
Every bar carries a settings menu, whatever your config says — no config
|
|
109
109
|
needed, and writing your own \`root\` cannot delete it. Click
|
|
110
|
-
it on the bar (${
|
|
110
|
+
it on the bar (${Sc} by default; globals.menuGlyph changes it) for
|
|
111
111
|
quick actions, preset switching, edit mode, and a config menu of
|
|
112
112
|
clickable theme/look/style/progression/charset/colour-depth/wrap/padding
|
|
113
113
|
controls. A change applies to this session at once; 💾 save appears while
|
|
@@ -116,7 +116,7 @@ Configuration:
|
|
|
116
116
|
failed row's [fix] to repair it (the same checks \`cc-candybar doctor\` runs).
|
|
117
117
|
|
|
118
118
|
Anywhere the bar shows (?), clicking it reveals these same instructions
|
|
119
|
-
in place. In edit mode: ${
|
|
119
|
+
in place. In edit mode: ${pb.join(`, `)}.
|
|
120
120
|
|
|
121
121
|
Subcommands:
|
|
122
122
|
install One-shot setup: stages the runtime (native render
|
|
@@ -154,38 +154,38 @@ Config tooling:
|
|
|
154
154
|
config [--json] The effective merged config. (All three query the
|
|
155
155
|
running daemon; none spawn one.)
|
|
156
156
|
|
|
157
|
-
`,ob=`${Ml}live`,sb=[`☐ live`,`☑ live`],cb=`${Ml}done`,lb={variable:ob,key:ob,member:`open`},ub=`and ${bc(Yg)} (not ${bc(lb)})`,db=`{{ ${ub} }}`;function fb(e,t){return`{{ if ${ub} }}${e}{{ else }}${t}{{ end }}`}const pb=`{{ and ${bc(Yg)} .preset.customized }}`,mb=Fl,hb=`${Ml}addable`;function gb(e){return new Map([[hb,{members:Object.keys(e.segments).filter(e=>!mb(e))}]])}function _b(e,t,n){return n.segments[e]={template:t,when:Xg},{kind:`segment`,name:e}}function vb(e,t,n){let r=`${Ml}${e.presetIdent}.remove.${t}`;return e.artifacts.actions[r]={persist:e.rootKey,removeSegment:n},`{{ action "${r}" "🚫" }}`}function yb(e){return`{{ if ${bc(Yg)} }}${e.join(``)}{{ end }}`}function bb(e,t){return e.reduce((e,t)=>`{{ if ${bc(t)} }}true{{ else }}${e}{{ end }}`,t)}function xb(e){return e.flatMap(e=>[...os(e)].flatMap(e=>e.kind===`segment`&&e.opens?.ref.key===`edit.mode`?[e.opens.ref]:[]))}function Sb(e,t,n){return`${qg}${e}.${t}.${n}`}function Cb(e,t,n,r,i){let a=_c(e.label),{domain:o}=e;if(o===`bool`)return i.actions[r]={set:t,cycle:[`false`,`true`]},`{{ action "${r}" "☐ ${a}" "☑ ${a}" }}`;if(o===`theme`)return i.actions[r]={set:t,from:Uy},`{{ "${a}" }} {{ carousel "${r}" }}`;if(`min`in o){for(let e of[-1,1])i.actions[`${r}.${e<0?`down`:`up`}`]={set:t,min:o.min,max:o.max,by:e};return`{{ action "${r}.down" "◀" }} {{ "${a}" }} {{ .${n} }} {{ action "${r}.up" "▶" }}`}return i.actions[r]={set:t,cycle:[...o]},`{{ action "${r}" ${o.map(e=>`"${a}: ${_c(e)}"`).join(` `)} }}`}function wb(e,t,n,r){let i=ns(n),a=`${Ml}${e.presetIdent}`,o=Jg(e.presetIdent,i),s=`${a}.configure.${t}`;e.artifacts.actions[s]={set:Wg,to:o};let c={},l=Object.entries(r).map(([r,o])=>{let s=Sb(e.presetIdent,i,r),l=`${qg}p${e.presetIdent}.d${t}.${r}`;e.artifacts.variables[l]={kind:`state`,key:s,default:ys(n.settings?.[r]??o.default)},c[r]={id:i,key:s,variable:l};let u=`${a}.setting.${t}.${r}`;return e.artifacts.segments[u]={template:Cb(o,s,l,u,e.artifacts)},{kind:`segment`,name:u}});return{term:`{{ action "${s}" "⚙" }}`,ref:{variable:Wg,key:Wg,member:o},body:{kind:`container`,direction:`vertical`,children:l},drafts:c}}const Tb=`${Ml}label:`;function Eb(e){if(e.startsWith(Tb)){let t=e.slice(Tb.length);return t.slice(t.indexOf(`:`)+1)}return e.startsWith(`edit.`)?void 0:e}function Db(e,t,n,r){let i=ns(e),a=`${Tb}${i}:${e.name}`;n.segments[a]={template:`{{ "${_c(i)}" }}`,...t.palette!==void 0&&{palette:t.palette}};let o=e.settings?.[gs];return{...vc(a,r.ref,r.body,`drop`,bb([r.ref],db)),...o!==void 0&&{settings:{theme:o}},drafts:{[gs]:r.drafts[gs]}}}function Ob(e,t,n,r){let{presetIdent:i,artifacts:a}=e,o=`${Ml}${i}.insert.${t}`,s=`${Ml}${i}.insertSeg.${t}`;a.actions[o]={persist:e.rootKey,insertSegmentFrom:hb,anchor:n,relation:r};let c=hg(o),l=gg(s,o,void 0),u=yg(l),d=vg(l,c);return a.variables[l]=Sc(l,pc),a.variables[u]={kind:`state`,key:u,default:`0`},a.actions[d]=Cc(l,c),a.actions[u]={set:u,int:!0},{host:s,template:`{{ $m := menu "${o}" "✚" "✕" }}{{ if ${bc({variable:l,key:l,member:c})} }}{{ $m }}{{ else }}{{ fg (${`readableOn (color "success") (bgOf) ${Qi}`}) $m }}{{ end }}`}}function kb(e,t){let n=[],r=e.children.findIndex(e=>e.kind===`segment`&&!mb(e.name)),i=e=>kb(e,t);for(let[a,o]of e.children.entries()){if(o.kind===`container`){n.push(i(o));continue}let s=as(o,i);if(mb(o.name)){n.push(s);continue}let c=ns(o),l=a===r?[Ob(t,String(t.posCounter.n++),c,`before`)]:[],u=String(t.posCounter.n++),d=Ob(t,u,c,`after`),f=vb(t,u,c),p=t.segments[o.name],m=wb(t,u,o,_s(p)),h=yb([m.term,f]),g={kind:`container`,direction:`horizontal`,children:[...l.map(e=>_b(e.host,e.template,t.artifacts)),{...Db(o,p,t.artifacts,m),trail:h},{...s,when:fb(`false`,o.when??`true`),trail:h,drafts:m.drafts},_b(d.host,d.template,t.artifacts)]};n.push(e.direction===`vertical`?{kind:`container`,direction:`horizontal`,children:[g]}:g)}return{...e,children:n,...e.when!==void 0&&{when:bb(xb(n),fb(`true`,e.when))}}}function Ab(e,t,n,r,i,a,o){let s=`${Ml}${n}.resetLayout`,c=`${Ml}${n}.customized`;i.actions[s]={reset:r};let l=_c(t);return i.segments[c]={template:`{{ action "${s}" "↺ ${l} customized" }}`,when:pb},{kind:`container`,direction:`vertical`,children:[{kind:`container`,direction:`horizontal`,children:[a,{kind:`segment`,name:c}]},jb(e,o)]}}function jb(e,t){if(e.kind===`segment`)return{kind:`container`,direction:`horizontal`,children:[e,t]};let n=e.children.at(-1);return e.direction===`vertical`&&n!==void 0&&(n.kind===`segment`||n.when===void 0)?{...e,children:[...e.children.slice(0,-1),jb(n,t)]}:{...e,children:[...e.children,t]}}function Mb(e,t,n,r,i){let{node:a}=kg(e,t),o={presetIdent:kl(t),rootKey:Xy(t),segments:e.segments,artifacts:n,posCounter:{n:0}};return Ab(kb(a,o),t,o.presetIdent,o.rootKey,n,r,i)}function Nb(e){let t={variables:{},actions:{},segments:{}},n=tb(`${Ml}help`,ib,[Yg],t);t.variables[ob]=Sc(ob,pc),t.actions[ob]=Cc(ob,lb.member),t.segments[ob]={template:xc(ob,...sb),when:Xg};let r={kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:ob},n]};t.segments[cb]={template:`{{ action "${Gg}" "✎ done" }}`,when:Xg};let i={kind:`segment`,name:cb},a={...e.presets},o=[];for(let n of Eg(e.presets)){let s=Mb(e,n,t,i,r);o.push(s),a[n]={...Og(e.presets,n),root:s}}let s=ky(t,o,e);return{...e,variables:{...s,...e.variables,...t.variables},actions:{...e.actions,...t.actions},segments:{...e.segments,...t.segments},presets:a}}const Pb={socket:`TMUX`,pane:`TMUX_PANE`,truecolor:`CLAUDE_CODE_TMUX_TRUECOLOR`};function Fb(e){let t=e[Pb.socket]??``,n=e[Pb.pane]??``;if(t===``||n===``)return null;let r=e[Pb.truecolor]??``;return{socket:t.split(`,`)[0],pane:n,truecolor:r===``?null:r}}const Ib=Pb.truecolor,Lb=[{name:`tmuxTruecolor`,label:`tmux truecolor`,probe:({tmux:e,claudeSettings:t})=>{switch(e.kind){case`unreported`:return{ok:!1,reason:"the client reported no tmux facts — re-run `cc-candybar install` to stage a current client"};case`outside`:return{ok:!0};case`inside`:{if(e.termfeatures.kind===`failed`)return{ok:!1,reason:`tmux could not be asked: ${e.termfeatures.reason}`};if(!e.termfeatures.value.includes(`RGB`)||e.hint.truecolor!==null)return{ok:!0};let n=t.env[Ib];return typeof n==`string`&&n!==``?{ok:!1,reason:`${Ib} is set in ${t.path} — restart Claude Code to apply`}:{ok:!1,reason:`Claude Code renders the bar in 256 colours inside tmux`,fix:{kind:`claude-settings-env`,name:Ib,value:`1`}}}}}}];function Rb(e){return Lb.map(t=>({check:t,verdict:t.probe(e)}))}function zb(e){return Lb.find(t=>t.name===e)}const Bb=`${Nl}doctor.`;function Vb(e){let t=`${Bb}${e}.`;return{verdict:`${t}verdict`,reason:`${t}reason`,fixable:`${t}fixable`}}function Hb(e){return e.flatMap(({check:e,verdict:t})=>{let n=Vb(e.name);return t.ok?[{key:n.verdict,value:`ok`},{key:n.reason,value:``},{key:n.fixable,value:Za}]:[{key:n.verdict,value:`failed`},{key:n.reason,value:t.reason},{key:n.fixable,value:t.fix===void 0?Za:Xa}]})}const Ub={copySession:{copy:`{{ .session.id }}`},openProject:{open:`{{ .project_dir }}`},openTranscript:{open:`{{ .transcript_path }}`}};function Wb(e){let t=t=>`${e}${t}`;return{template:`{{ action "${t(`copySession`)}" "⎘ id" }} {{ action "${t(`openProject`)}" "↗ proj" }} {{ action "${t(`openTranscript`)}" "↗ log" }}{{ if ne .git.repoUrl "" }} {{ link .git.repoUrl "↗ repo" }}{{ end }}`,actions:Object.fromEntries(Object.entries(Ub).map(([t,n])=>[`${e}${t}`,n]))}}const Gb=`armed`,Kb=`disarmed`;function qb(e,t,n){let r=`${e}.arm`,i=`${e}.disarm`;return{template:`{{ if eq .${e} "${Gb}" }}{{ action "${e}" "${t.confirm}" }} {{ action "${i}" "✕" }}{{ else }}{{ action "${r}" "${t.arm}" }}{{ end }}`,actions:{[r]:{set:e,to:Gb},[i]:{set:e,to:Kb},[e]:{do:[i,...n]}},variables:{[e]:{kind:`state`,key:e,default:Kb}},disarm:i}}const Jb=RegExp(`^/[^\\s\\x00-\\x1f\\x7f-\\x9f/][^\\x00-\\x1f\\x7f-\\x9f]*$`);function Yb(e){return typeof e==`string`&&Jb.test(e)?{kind:`line`,line:e}:{kind:`refused`,reason:`a slash command is "/" then its name, e.g. "/compact" or "/model opus", on one line with no control characters, got ${JSON.stringify(e)}`}}function Xb(e){let t=Yb(e);if(t.kind===`refused`)throw Error(t.reason);return t.line}const Zb=[`/compact`,`/model`],Qb=`/clear`;function $b(e){let t=t=>`${e}${t.slice(1)}`,n=`${e}clear.slash`,r=qb(`${e}clear`,{arm:Qb,confirm:`${Qb} ✓ confirm`},[n]);return{template:Zb.map(e=>`{{ action "${t(e)}" "${e}" }} `).join(``)+r.template,actions:{...Object.fromEntries(Zb.map(e=>[t(e),{slash:Xb(e)}])),...r.actions,[n]:{slash:Xb(Qb)}},variables:r.variables,disarm:r.disarm}}const ex=`${Nl}menu`,tx=`open`,nx=`${Nl}edit`,rx=`${Nl}close`,ix=`${Nl}toolbar`,ax=Wb(Nl),ox=`${Nl}commands`,sx=$b(`${ox}.`),cx=`${Nl}config`,lx=`${Nl}save`,ux=`${Nl}unsaved`,dx=`${Nl}preset.save`,fx=`${Nl}preset.delete`,px=`${Nl}resetAll`,mx=`${ex}.toggle`,hx=`${cx}.toggle`,gx={variable:ex,key:ex,member:tx},_x={variable:cx,key:cx,member:tx},vx=`${Nl}tools`,yx={variable:vx,key:vx,member:tx},bx=[{seg:`${Nl}undo`,depth:`undo`,action:{undo:!0},display:`↶ undo`},{seg:`${Nl}redo`,depth:`redo`,action:{redo:!0},display:`↷ redo`}],xx=e=>`${Nl}history.${e}`,Sx=`${Nl}doctor`,Cx=`${Sx}.run`,wx=e=>`${Sx}.fix.${e}`,Tx=e=>`${Sx}.${e}`,Ex=`${Nl}pickers`,Dx=[`{{ themePreview }}`],Ox=[{name:`preset`,...Cy.preset,glyph:`▦`,domain:`presets`,beneath:[`{{ layoutPreview }}`,`{{ action "${dx}" "⊕ save as preset" }}{{ if not .preset.bundled }} {{ action "${fx}" (printf "🗑 delete %s" .${Cy.preset.effectiveVar}) }}{{ end }}`]}],kx=[{name:`theme`,...Cy.theme,glyph:`🎨`,domain:`themes`,beneath:Dx},{name:`look`,...Cy.look,glyph:`◐`,domain:`looks`,beneath:Dx},{name:`style`,...Cy.style,glyph:`✦`,domain:`styles`,beneath:[]},{name:`progression`,...Cy.progression,glyph:`🎼`,domain:`progressions`,beneath:[`{{ layoutPreview }}`]},{name:`charset`,...Cy.charset,glyph:`🔣`,domain:`charsets`,beneath:[]},{name:`colorCompatibility`,...Cy.colorCompatibility,glyph:`🌈`,domain:`colorCompatibilities`,beneath:[]}],Ax={name:`wrap`,...Cy.autoWrap},jx={name:`padding`,...Cy.padding},Mx=`${Nl}${Ax.name}`,Nx=`${Nl}${jx.name}`,Px=[...Ox,...kx],Fx=[...Px,Ax,jx];new Set(Fx.flatMap(e=>[e.sessionKey,e.configKey]));const Ix=e=>`${Nl}${e}`,Lx=e=>`${Nl}apply.${e}`,Rx=e=>`${Nl}reset.${e}`,zx=qb(px,{arm:`⟲ reset all`,confirm:`⟲ confirm reset all`},Fx.map(e=>Rx(e.name))),Bx=[zx,sx],Vx=e=>`${Nl}carousel.${e}`,Hx=(e,t)=>`${Vx(e)}.${t}`,Ux=_g(Ex),Wx=e=>({variable:Ux,key:Ux,member:hg(Lx(e.name))});function Gx(e){return vc(Ix(e.name),Wx(e),{kind:`container`,direction:`vertical`,children:[{kind:`segment`,name:Vx(e.name)},...e.beneath.map((t,n)=>({kind:`segment`,name:Hx(e.name,n)}))]},`drop`)}function Kx(e){return e===ex}function qx(e){let t={kind:`segment`,name:ex};if(e.kind===`container`&&e.direction===`vertical`){let[n,...r]=e.children;return e.when===void 0&&n!==void 0?{...e,children:[qx(n),...r]}:{kind:`container`,direction:`vertical`,children:[t,e]}}return e.kind===`container`&&e.when===void 0?{...e,children:[t,...e.children]}:{kind:`container`,direction:`horizontal`,children:[t,e]}}function Jx(e){return Yx(e)>0?e:qx(e)}function Yx(e){let t=0;for(let n of os(e))n.kind===`segment`&&Kx(n.name)&&(t+=1);return t}function Xx(e,t=!1){let n=t||e.when!==void 0;return e.kind===`segment`?n&&Kx(e.name)||e.opens!==void 0&&Xx(e.opens.body,!0):e.children.some(e=>Xx(e,n))}function Zx(e){return e.kind===`segment`?Kx(e.name)?vc(e.name,gx,{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:ix},{kind:`segment`,name:ox},...Ox.map(Gx),{kind:`segment`,name:lx},vc(cx,_x,{kind:`container`,direction:`horizontal`,children:[...kx.map(Gx),{kind:`segment`,name:Mx},{kind:`segment`,name:Nx},{kind:`segment`,name:px}]},`drop`),vc(vx,yx,{kind:`container`,direction:`vertical`,children:[{kind:`segment`,name:Sx},...Lb.map(e=>({kind:`segment`,name:Tx(e.name)}))]},`drop`),{kind:`segment`,name:nx},...bx.map(e=>({kind:`segment`,name:e.seg}))]},`inline`):e:Qx(e)}function Qx(e){return{...e,children:e.children.map(e=>Zx(e))}}function $x(e){let t={variables:{[ex]:Sc(ex,pc)},actions:{[mx]:Cc(ex,tx),[ex]:{do:[mx,...Bx.map(e=>e.disarm)]},[hx]:Cc(cx,tx),[cx]:{do:[hx,zx.disarm]},[vx]:Cc(vx,tx),[Cx]:{doctor:`run`},[rx]:{set:gx.key,to:pc},[nx]:{do:[Gg,rx]},...ax.actions,...sx.actions,[lx]:{save:!0},[dx]:{preset:`save`},[fx]:{preset:`delete`,name:`{{ .${Cy.preset.effectiveVar} }}`}},segments:{[ex]:{template:xc(ex,e,`❌`)},[ix]:{template:ax.template},[ox]:{template:sx.template},[lx]:{when:`{{ gt .${ux} 0 }}`,template:`{{ action "${lx}" (printf "💾 save %d" .${ux}) }}`},[cx]:{template:xc(cx,`⚙ config ▸`,`⚙ config ▾`)},[vx]:{template:xc(vx,`🧰 tools ▸`,`🧰 tools ▾`)},[Sx]:{template:`{{ action "${Cx}" "🩺 doctor" }}`},[Mx]:{template:`{{ action "${Lx(`wrap`)}" "wrap: on" "wrap: off" }} {{ action "${Rx(`wrap`)}" "↺" }}`},[Nx]:{template:`{{ action "${Lx(`padding`)}.down" "◀" }} padding {{ .${jx.effectiveVar} }} {{ action "${Lx(`padding`)}.up" "▶" }} {{ action "${Rx(`padding`)}" "↺" }}`},[nx]:{template:`{{ action "${nx}" "✎ edit" "✎ done" }}`},[px]:{template:zx.template}}};return t.variables[ux]={kind:`input`,path:`unsaved`,type:`number`,default:0},t.variables[cx]=Sc(cx,pc),t.variables[vx]=Sc(vx,pc),Object.assign(t.variables,sx.variables,zx.variables),nS(t),tS(t),eS(t),t}function eS(e){for(let t of bx){let n=xx(t.depth);e.variables[n]={kind:`input`,path:`history.${t.depth}`,type:`number`,default:0},e.actions[t.seg]=t.action,e.segments[t.seg]={when:`{{ gt .${n} 0 }}`,template:`{{ action "${t.seg}" "${t.display}" }}`}}}function tS(e){for(let t of Lb){let n=Vb(t.name),r=wx(t.name);for(let t of Object.values(n))e.variables[t]={kind:`state`,key:t,default:``};e.actions[r]={doctor:`fix`,check:t.name},e.segments[Tx(t.name)]={when:`{{ ne .${n.verdict} "" }}`,template:`{{ if eq .${n.verdict} "ok" }}✓ ${t.label}{{ else }}✗ ${t.label} — {{ .${n.reason} }}{{ if eq .${n.fixable} "${Xa}" }} {{ action "${r}" "[fix]" }}{{ end }}{{ end }}`}}}function nS(e){for(let t of Px){let n=Lx(t.name);e.actions[n]={set:t.sessionKey,from:t.domain},e.actions[Rx(t.name)]={reset:t.configKey},rS(t,e)}e.actions[Lx(Ax.name)]={set:Ax.sessionKey,cycle:[...Qa]},e.actions[Rx(Ax.name)]={reset:Ax.configKey};for(let t of[-1,1])e.actions[`${Lx(jx.name)}.${t<0?`down`:`up`}`]={set:jx.sessionKey,...$a,by:t};e.actions[Rx(jx.name)]={reset:jx.configKey},Object.assign(e.actions,zx.actions)}function rS(e,t){let n=Lx(e.name),r=Wx(e),i=vg(r.key,r.member);t.variables[r.key]=Sc(r.key,pc),t.actions[i]=Cc(r.key,r.member),t.segments[Ix(e.name)]={template:`${e.glyph} {{ .${e.effectiveVar} }} ${xc(i,`▸`,`▾`)} {{ action "${Rx(e.name)}" "↺" }}`},t.segments[Vx(e.name)]={template:`{{ carousel "${n}" }}`},e.beneath.forEach((n,r)=>{t.segments[Hx(e.name,r)]={template:n}})}function iS(e){e.variables[Wg]=Sc(Wg,pc),e.actions[Gg]=Cc(Wg,Kg)}function aS(e){let t=$x(e.globals.menuGlyph??`🍫`);iS(t);let n={...e.presets},r=[];for(let t of Eg(e.presets)){let{node:i}=kg(e,t),a=Zx(Jx(i));r.push(a),n[t]={...Og(e.presets,t),root:a}}let i=ky(t,r,e);return{...e,variables:{...i,...e.variables,...t.variables},actions:{...e.actions,...t.actions},segments:{...e.segments,...t.segments},presets:n}}const oS=[`set`,`persist`,`copy`,`open`,`reset`,`undo`,`redo`,`save`,`preset`,`doctor`,`ceiling`,`slash`,`do`];function sS(e){return e.ceiling===`set`?[`set`,e.to]:[`clear`]}function cS(e){return`from`in e||`int`in e||`insertSegmentFrom`in e}function lS(e,t){if(t===void 0)return{};if(!ks(t))return Z(e,`actions`,`actions must be an object, got ${As(t)}`),{};let n=Object.create(null);for(let[r,i]of Object.entries(t)){let t=uS(e,`actions.${r}`,i);t!==null&&(n[r]=t)}return n}function Z(e,t,n){e.issues.push({path:t,message:n,line:W(e.source,t.split(`.`))})}function uS(e,t,n){if(!ks(n))return Z(e,t,`${t} must be an action object, got ${As(n)}`),null;if(`persistWhen`in n)return Z(e,t,`${t}.persistWhen was removed: declare the \`set\` alone — a session pick is a draft until a \`{ save: true }\` action writes every unsaved setting to the config file`),null;let r=oS.filter(e=>e in n);return r.length===1?dS[r[0]](e,t,n):(Z(e,t,`action must declare exactly one of: ${oS.join(`, `)}${r.length>1?` (found: ${r.join(`, `)})`:``}`),null)}const dS={set:(e,t,n)=>US(e,t,n,`set`,zS),persist:(e,t,n)=>US(e,t,n,`persist`,BS),copy:fS(`copy`),open:fS(`open`),reset:pS,undo:hS(`undo`),redo:hS(`redo`),save:hS(`save`),preset:gS,doctor:_S,ceiling:vS,slash:yS,do:bS};function fS(e){return(t,n,r)=>{for(let i of Object.keys(r))i!==e&&Z(t,`${n}.${i}`,`Unknown key "${i}" on a ${e} action. Expected only: ${e}`);let i=ws(t,n,r,e);return i===null?null:{[e]:i}}}function pS(e,t,n){for(let r of Object.keys(n))r!==`reset`&&Z(e,`${t}.${r}`,`Unknown key "${r}" on a reset action. Expected only: reset`);let r=xS(e,t,`reset`,n,`reset key must be non-empty (the config globals field to clear)`,e=>`reset key "${e}" contains "/" — keys must be slash-free`);return r===null?null:{reset:r}}const mS={undo:`it steps the session's settings history`,redo:`it steps the session's settings history`,save:`it saves the session's unsaved settings`};function hS(e){return(t,n,r)=>{for(let i of Object.keys(r))i!==e&&Z(t,`${n}.${i}`,`Unknown key "${i}" on a ${e} action. Expected only: ${e}`);return r[e]===!0?{[e]:!0}:(Z(t,`${n}.${e}`,`${e} must be the literal true (it takes no key — ${mS[e]}), got ${G(r[e])}`),null)}}function gS(e,t,n){let r=n.preset,i=r===`save`?[`preset`]:[`preset`,`name`];for(let r of Object.keys(n))i.includes(r)||Z(e,`${t}.${r}`,`Unknown key "${r}" on a preset action. Expected only: ${i.join(`, `)}`);if(r!==`save`&&r!==`delete`)return Z(e,`${t}.preset`,`preset must be "save" or "delete", got ${G(r)}`),null;if(r===`save`)return{preset:`save`};let a=ws(e,t,n,`name`);return a===null?null:{preset:`delete`,name:a}}function _S(e,t,n){let r=n.doctor,i=r===`run`?[`doctor`]:[`doctor`,`check`];for(let r of Object.keys(n))i.includes(r)||Z(e,`${t}.${r}`,`Unknown key "${r}" on a doctor action. Expected only: ${i.join(`, `)}`);if(r!==`run`&&r!==`fix`)return Z(e,`${t}.doctor`,`doctor must be "run" or "fix", got ${G(r)}`),null;if(r===`run`)return{doctor:`run`};let a=n.check;return typeof a!=`string`||zb(a)===void 0?(Z(e,`${t}.check`,`doctor fix must name a check (have: ${Lb.map(e=>e.name).join(`, `)}), got ${G(a)}`),null):{doctor:`fix`,check:a}}function vS(e,t,n){let r=n.ceiling,i=r===`clear`?[`ceiling`]:[`ceiling`,`to`];for(let r of Object.keys(n))i.includes(r)||Z(e,`${t}.${r}`,`Unknown key "${r}" on a ceiling action. Expected only: ${i.join(`, `)}`);if(r===`clear`)return{ceiling:`clear`};if(r!==`set`)return Z(e,`${t}.ceiling`,`ceiling must be "set" or "clear", got ${G(r)}`),null;let a=n.to;return typeof a!=`string`||a.trim()===``?(Z(e,`${t}.to`,`ceiling set needs \`to\`: a memento ceiling value such as "+100_000", "400000" or "off", got ${G(a)}`),null):{ceiling:`set`,to:a}}function yS(e,t,n){for(let r of Object.keys(n))r!==`slash`&&Z(e,`${t}.${r}`,`Unknown key "${r}" on a slash action. Expected only: slash`);let r=Yb(n.slash);return r.kind===`refused`?(Z(e,`${t}.slash`,r.reason),null):{slash:r.line}}function bS(e,t,n){for(let r of Object.keys(n))r!==`do`&&Z(e,`${t}.${r}`,`Unknown key "${r}" on a do action. Expected only: do`);let r=n.do;return!Array.isArray(r)||r.length<2||r.some(e=>typeof e!=`string`||e===``)?(Z(e,`${t}.do`,`do must list at least two action names (the first is the click's face, the rest ride along in the same click), got ${G(r)}`),null):{do:r}}function xS(e,t,n,r,i,a){let o=ws(e,t,r,n);if(o===null)return null;let s=`${t}.${n}`;return o===``?(Z(e,s,i),null):o.includes(`/`)?(Z(e,s,a(o)),null):o}const SS={set:`the SessionState key to write`,persist:`the config globals field to write`};function CS(e,t,n,r){let i=SS[r],a=xS(e,t,r,n,`${r} key must be non-empty (${i})`,e=>`${r} key "${e}" contains "/" — keys must be slash-free`);return a===null?null:{[r]:a}}function wS(e){return e===`set`?`set-state`:`set-config`}const TS={to:WS(`set`)},ES={to:WS(`persist`)},DS={from:GS(`set`)},OS={from:GS(`persist`)},kS={min:XS(),max:XS(),by:XS()},AS={int:qS()},jS={cycle:KS(`set`)},MS={cycle:KS(`persist`)},NS={removeSegment:JS(`removeSegment`)},PS={insertSegment:JS(`insertSegment`),anchor:JS(`anchor`),relation:YS()},FS={insertSegmentFrom:GS(`persist`),anchor:JS(`anchor`),relation:YS()},IS={ok:e=>e.min<e.max,issue:e=>({field:`min`,message:`min (${e.min}) must be less than max (${e.max})`})},LS={ok:e=>e.by!==0,issue:()=>({field:`by`,message:`by must be a non-zero integer (the per-click increment; negative steps down)`})};function RS(e,t,n=[],r){let i=Object.keys(t),a=r??i,o=[e],s=(e,n,r)=>Ms(e,t,n,r),c=qs(t);return{detect:a,allowed:[...o,...i],label:i.join(`/`),json:{type:`object`,properties:{...Object.fromEntries(o.map(e=>[e,{type:`string`}])),...c.properties},required:[...o,...c.required??[]],additionalProperties:!1},parse:n.length?Bs(s,...n):s}}const zS=[RS(`set`,TS),RS(`set`,DS),RS(`set`,kS,[IS,LS]),RS(`set`,AS),RS(`set`,jS)],BS=[RS(`persist`,ES),RS(`persist`,OS),RS(`persist`,kS,[IS,LS]),RS(`persist`,MS),RS(`persist`,NS),RS(`persist`,PS,[],[`insertSegment`]),RS(`persist`,FS,[],[`insertSegmentFrom`])];function VS(e){let t=[`"to" (a literal value)`,`"from" (an option domain — a registered domain name like "themes"/"styles"/"looks", or an inline array of literal values)`,`"min"/"max"/"by" (a bounded step)`];return e===`set`&&t.push(`"int" (an unbounded integer cursor)`),t.push(`"cycle" (an enumerated domain stepped in order)`),e===`persist`&&t.push(`"removeSegment" (remove a named segment from the layout)`,`"insertSegment"/"anchor"/"relation" (insert a named segment before/after an existing one)`,`"insertSegmentFrom"/"anchor"/"relation" (insert a segment PICKED from an option domain before/after an existing one)`),t}function HS(e){let t=VS(e),n=t[t.length-1];return`a ${e} action declares exactly one value source: ${t.length===1?n:`${t.slice(0,-1).join(`, `)}, or ${n}`}`}function US(e,t,n,r,i){let a=CS(e,t,n,r),o=i.filter(e=>e.detect.some(e=>e in n));if(o.length!==1)return Z(e,t,`${HS(r)}${o.length>1?` — found: ${o.map(e=>e.label).join(`, `)}`:``}`),null;let s=o[0];for(let i of Object.keys(n))s.allowed.includes(i)||Z(e,`${t}.${i}`,`Unknown key "${i}" on this ${r} action. Expected one of: ${s.allowed.join(`, `)}`);let c=s.parse(e,t,n);return a===null||c===null?null:{...a,...c}}function WS(e){let t=wS(e);return{required:!0,json:{type:`string`},parse:(n,r,i,a)=>xS(n,r,i,a,`${e} value must be non-empty — an empty value cannot be delivered on the ${t} wire`,t=>`${e} value "${t}" contains "/" — ${e} values must be slash-free`)??void 0}}function GS(e){let t=wS(e);return{required:!0,json:{anyOf:[{type:`string`,minLength:1},{type:`array`,items:{type:`string`,minLength:1},minItems:1,uniqueItems:!0}]},parse:(n,r,i,a)=>{let o=a[i],s=`${r}.${i}`;if(typeof o==`string`){if(o===``){Z(n,s,`${i} must be a non-empty domain name`);return}return o}if(Array.isArray(o)&&o.every(e=>typeof e==`string`)){let r=o;if(r.length===0){Z(n,s,`${i} must name a domain (a non-empty string) or declare an inline domain (a non-empty array of values)`);return}if(r.some(e=>e===``)){Z(n,s,`${i} array members must be non-empty — an empty value cannot be delivered on the ${t} wire`);return}let a=r.filter(e=>e.includes(`/`));if(a.length>0){Z(n,s,`${i} array member(s) ${a.map(e=>`"${e}"`).join(`, `)} contain "/" — ${e} values must be slash-free`);return}if(new Set(r).size!==r.length){Z(n,s,`${i} array members must be unique — a duplicated value would render the same picker option twice`);return}return r}Z(n,s,`${i} must be a domain name (a string) or an inline domain (an array of strings), got ${G(o)}`)}}}function KS(e){let t=wS(e);return{required:!0,json:{type:`array`,items:{type:`string`,minLength:1},minItems:2,uniqueItems:!0},parse:(n,r,i,a)=>{let o=a[i],s=`${r}.${i}`;if(!Array.isArray(o)||o.some(e=>typeof e!=`string`)){Z(n,s,`cycle must be an array of strings (the enumerated values a click steps through), got ${As(o)}`);return}let c=o;if(c.length<2){Z(n,s,`cycle needs at least two members (one member has no successor — use a literal "to")`);return}let l=c.some(e=>e===``),u=c.filter(e=>e.includes(`/`));if(l){Z(n,s,`cycle members must be non-empty — an empty value cannot be delivered on the ${t} wire`);return}if(u.length>0){Z(n,s,`cycle member(s) ${u.map(e=>`"${e}"`).join(`, `)} contain "/" — ${e} values must be slash-free`);return}if(new Set(c).size!==c.length){Z(n,s,`cycle members must be unique — the successor of a duplicated member is ambiguous`);return}return c}}}function qS(){return{required:!0,json:{const:!0},parse:(e,t,n,r)=>{if(r[n]!==!0){Z(e,`${t}.${n}`,`int must be the literal true (declares the key an unbounded integer cursor — a paged picker's page key), got ${G(r[n])}`);return}return!0}}}function JS(e){return{required:!0,json:{type:`string`},parse:(t,n,r,i)=>{let a=ws(t,n,i,r);if(a===null)return;let o=`${n}.${r}`;if(a===``){Z(t,o,`${e} must be non-empty (a segment name)`);return}if(a.includes(`/`)||a.includes(`:`)){Z(t,o,`${e} "${a}" contains "/" or ":" — segment names in a layout op must be free of both (the click wire's own delimiter and layout-ops.ts's op-token delimiter)`);return}return a}}}function YS(){return{required:!0,json:{enum:[`before`,`after`]},parse:(e,t,n,r)=>{let i=r[n];if(i!==`before`&&i!==`after`){Z(e,`${t}.${n}`,`relation must be "before" or "after", got ${G(i)}`);return}return i}}}function XS(){return{required:!0,json:{type:`integer`},parse:(e,t,n,r)=>{let i=r[n];if(typeof i!=`number`||!Number.isInteger(i)){Z(e,`${t}.${n}`,`${n} must be an integer, got ${G(i)}`);return}return i}}}const ZS={noun:`look key`,fields:{hueShift:Us(),chromaScale:Us({min:0}),lightnessScale:Us(),lightnessShift:Us()}};function QS(e,t){if(!ks(t))return e.issues.push({path:`looks`,message:`looks must be an object mapping look names to adaptation objects, got ${As(t)}`,line:W(e.source,[`looks`])}),{};let n={};for(let[r,i]of Object.entries(t)){if(r===``||r.includes(`/`)){e.issues.push({path:`looks.${r}`,message:`look name ${JSON.stringify(r)} must be non-empty and slash-free — a look picker writes the name on the set-state wire, which rejects empty values and splits on "/"`,line:W(e.source,[`looks`,r])});continue}let t=js(e,ZS,`looks.${r}`,i);t!==null&&(n[r]={...On,...t})}return n}const $S={noun:`preset key`,fields:{root:{required:!1,json:{$ref:`#/definitions/RootFragment`},parse:(e,t,n,r)=>r[n]===void 0?void 0:Su(e,`${t}.${n}`,r[n])},globals:{required:!1,json:Bc(),parse:(e,t,n,r)=>r[n]===void 0?void 0:zc(e,`${t}.${n}`,r[n])}}};function eC(e,t){if(!ks(t))return e.issues.push({path:`presets`,message:`presets must be an object mapping preset names to config fragments, got ${As(t)}`,line:W(e.source,[`presets`])}),{};let n={};for(let[r,i]of Object.entries(t)){if(r===``||r.includes(`/`)||/[\n\r]/.test(r)){e.issues.push({path:`presets.${r}`,message:`preset name ${JSON.stringify(r)} must be non-empty, slash-free, and newline-free — a preset picker writes the name on the set-state wire (which rejects empty values and splits on "/"), and edit mode splices it into a synthesized template string`,line:W(e.source,[`presets`,r])});continue}let t=js(e,$S,`presets.${r}`,i);t!==null&&(n[r]=t)}return n}function tC(e,t){if(t===void 0)return{};if(!ks(t))return e.issues.push({path:`helpers`,message:`helpers must be an object, got ${As(t)}`,line:W(e.source,[`helpers`])}),{};let n=Object.create(null);for(let[r,i]of Object.entries(t)){if(typeof i!=`string`){e.issues.push({path:`helpers.${r}`,message:`helpers.${r} must be a string template body, got ${G(i)}`,line:W(e.source,[`helpers`,r])});continue}n[r]=i}return n}function nC(e,t){let n=new Map;for(let e of Object.keys(t)){let t=kl(e),r=n.get(t);r?r.push(e):n.set(t,[e])}for(let[t,r]of n)r.length<2||e.issues.push({path:`presets`,message:`preset names ${r.map(e=>JSON.stringify(e)).join(` and `)} both collapse to the same synthesis identifier "${t}" — edit mode's synthesized reset affordance would silently steal one preset's action for the other. Rename one.`,line:W(e.source,[`presets`])})}function rC(e,t,n){t.globals.look!==void 0&&!Oa(t.globals.look)&&!Object.prototype.hasOwnProperty.call(t.looks,t.globals.look)&&e.issues.push({path:`globals.look`,message:`globals.look "${t.globals.look}" does not match any declared look (have: ${Object.keys(t.looks).join(`, `)})`,line:W(e.source,[`globals`,`look`])}),t.globals.preset!==void 0&&!Object.prototype.hasOwnProperty.call(t.presets,t.globals.preset)&&e.issues.push({path:`globals.preset`,message:`globals.preset "${t.globals.preset}" does not match any declared preset (have: ${Object.keys(t.presets).join(`, `)})`,line:W(e.source,[`globals`,`preset`])}),nC(e,t.presets);let r=Wy(t);for(let[n,i]of Object.entries(t.actions))!(`set`in i)||!(`from`in i)||typeof i.from!=`string`||Gy(r).includes(i.from)||e.issues.push({path:`actions.${n}.from`,message:`actions.${n} from: references unknown option domain "${i.from}" (have: ${Gy(r).join(`, `)})`,line:W(e.source,[`actions`,n,`from`])});for(let[n,r]of Object.entries(t.actions))`do`in r&&r.do.forEach((i,a)=>{let o=Object.prototype.hasOwnProperty.call(t.actions,i)?t.actions[i]:void 0,s=o===void 0?`references unknown action "${i}"`:`do`in o?`"${i}" is itself a do action — list its members here instead`:r.do.indexOf(i)===a?a>0&&cS(o)?`"${i}" takes its value from the template (from/int/insertSegmentFrom), so it can only be the first member — only the first is bound the region's display`:void 0:`"${i}" is listed twice — each member fires once per click`;s!==void 0&&e.issues.push({path:`actions.${n}.do`,message:`actions.${n} do: ${s}`,line:W(e.source,[`actions`,n,`do`])})});for(let[n,r]of Object.entries(t.actions)){let i=`persist`in r?r.persist:`reset`in r?r.reset:null;if(i===null)continue;let a=`persist`in r?`persist`:`reset`,o=Qy(i);if(o===null){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${i}" is not a config globals field (have: ${Wc().join(`, `)}), a "segments.<name>.palette" target, a "presets.<name>.globals.<field>" target, or a "presets.<name>.root" target`,line:W(e.source,[`actions`,n,a])});continue}let s=iC.filter(e=>e in r);if(o.scope!==`preset-root`&&s.length>0){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${i}" is not a "presets.<name>.root" target — ${s.map(e=>`"${e}"`).join(`/`)} is a tree op and applies only to one`,line:W(e.source,[`actions`,n,a])});continue}if(o.scope===`preset-root`){aC(e,t,n,a,i,o.preset,r);continue}if(o.scope===`preset-globals`&&!Eg(t.presets).includes(o.preset)){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${i}" names preset "${o.preset}" which is not declared (have: ${Eg(t.presets).join(`, `)})`,line:W(e.source,[`actions`,n,a])});continue}if(o.scope===`segment-palette`){if(!Object.prototype.hasOwnProperty.call(t.segments,o.segment)){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${i}" names segment "${o.segment}" which is not declared (have segments: ${Object.keys(t.segments).join(`, `)})${zl(o.segment)}`,line:W(e.source,[`actions`,n,a])});continue}`min`in r&&e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${i}" is a segment palette target and cannot use a bounded stepper (min/max/by) — use "to", "from", or "cycle" instead`,line:W(e.source,[`actions`,n,a])})}}let i=__(t);for(let t of i.names)t!==`settings`&&!t.startsWith(oC)||e.issues.push({path:`variables`,message:`variable "${t}" is named under "settings", which a segment's templates read as its placement's own settings (.settings.<name>) — rename it`,line:W(e.source,[`variables`,t])});let a=(t,n,r)=>{Yx(t)>1&&e.issues.push({path:n,message:`${n} places the global settings menu anchor "${ex}" ${Yx(t)} times — it may appear at most once per layout (it is one disclosure, and one state key holds one open state). Remove all but the placement you want; removing every placement puts the menu at its default position.`,line:r}),Xx(t)&&e.issues.push({path:n,message:`${n} places the global settings menu anchor "${ex}" under a \`when\` or inside a disclosure body — the menu is visible under every condition, so its placement may not be gated. Move it to an ungated position, or remove it to put the menu at its default position.`,line:r}),o(t)&&e.issues.push({path:n,message:`${n} sets "distribution" on a container inside a bar cell — everything inside a cell wears that cell's hue and tone, so it would place nothing. Set it on the row whose children are the cells (the horizontal container) or on the root, which places the rows.`,line:r});let i=new Map;for(let e of os(t)){if(e.kind!==`segment`)continue;let t=ns(e);i.set(t,[...i.get(t)??[],e])}for(let[t,a]of i){if(a.length<2)continue;let o=a[1].name,s=is(o,new Set(i.keys()));e.issues.push({path:n,message:`${n} has ${a.length} placements with the id "${t}" — an id names one placement (its settings, its menus' open state, and edit mode all address it), so give each its own: { seg: "${o}", id: "${s}" }. A placement without an "id" takes its segment's name.`,line:r})}};function o(e,t=!1){return e.kind===`segment`?!1:t&&e.distribution!==void 0||e.children.some(n=>o(n,t||ts[e.direction]===`cell`))}let s=(n,r)=>{for(let[a,o]of oc(n,r)){let n=W(e.source,o.split(`.`));if(a.when!==void 0&&(fC(e,`${o}.when`,a.when,i,{line:n}),dC(e,`${o}.when`,a.when,n)),a.kind===`segment`){if(Kx(a.name)){(a.id!==void 0||a.settings!==void 0)&&e.issues.push({path:o,message:`${r} gives the global settings menu anchor "${ex}" an id or settings — the anchor only marks where the menu goes, so place it as the bare name "${ex}"`,line:n});continue}Object.prototype.hasOwnProperty.call(t.segments,a.name)||e.issues.push({path:o,message:`${r} entry "${a.name}" does not match any declared segment${zl(a.name)}`,line:n}),cC(e,t,a,o,n)}}};n.root!==void 0&&s(n.root,`root`);for(let[e,t]of Object.entries(n.presets??{}))t.root!==void 0&&s(t.root,`presets.${e}.root`);let c=new Map([[`root`,ic(t.root)]]);for(let e of Eg(t.presets)){let{node:n,path:r}=kg(t,e);c.set(r,n)}for(let[t,n]of c)a(n,t,W(e.source,t.split(`.`)));for(let[n,r]of Object.entries(t.variables))lC(e,`variables.${n}`,r,i);for(let[n,r]of Object.entries(t.segments)){if(r.vars)for(let[t,a]of Object.entries(r.vars))lC(e,`segments.${n}.vars.${t}`,a,i,n);let a=_s(r),o=sC(i,a);for(let i of[`template`,`bg`,`fg`,`when`]){let s=r[i];if(typeof s==`string`){fC(e,`segments.${n}.${i}`,s,o,{segCtx:n,settings:a});for(let r of p_(s))Object.prototype.hasOwnProperty.call(t.actions,r)||e.issues.push({path:`segments.${n}.${i}`,message:`${i} references unknown action "${r}"`,line:W(e.source,[`segments`,n,i])});for(let r of h_(s))Object.prototype.hasOwnProperty.call(t.actions,r)||e.issues.push({path:`segments.${n}.${i}`,message:`${i} references unknown action "${r}" (in a picker, menu or carousel)`,line:W(e.source,[`segments`,n,i])})}}}for(let[n,r]of Object.entries(t.variables))uC(e,`variables.${n}`,r,i);for(let[n,r]of Object.entries(t.segments))if(r.vars)for(let[t,a]of Object.entries(r.vars))uC(e,`segments.${n}.vars.${t}`,a,i,n)}const iC=[`removeSegment`,`insertSegment`,`insertSegmentFrom`];function aC(e,t,n,r,i,a,o){let s=`actions.${n}.${r}`,c=W(e.source,[`actions`,n,r]);if(!Eg(t.presets).includes(a)){e.issues.push({path:s,message:`actions.${n}: "${i}" names preset "${a}" which is not declared (have: ${Eg(t.presets).join(`, `)})`,line:c});return}if(r===`reset`)return;let l=`removeSegment`in o,u=`insertSegment`in o,d=`insertSegmentFrom`in o;if(!l&&!u&&!d){e.issues.push({path:s,message:`actions.${n}: "${i}" is a "presets.<name>.root" target and can only be paired with "removeSegment", "insertSegment", or "insertSegmentFrom" (not "to"/"from"/"cycle"/bounded — those have no meaning as a tree op)`,line:c});return}let f=(r,i)=>{Object.prototype.hasOwnProperty.call(t.segments,i)||e.issues.push({path:s,message:`actions.${n}: ${r} "${i}" is not a declared segment (have: ${Object.keys(t.segments).join(`, `)})${zl(i)}`,line:c})},p=new Set(rs(kg(t,a).node)),m=(r,i)=>{!Rl.has(i)||p.has(i)||Object.prototype.hasOwnProperty.call(t.segments,i)||e.issues.push({path:s,message:`actions.${n}: ${r} "${i}" names no placement${zl(i)}`,line:c})};`removeSegment`in o&&m(`removeSegment`,o.removeSegment),`insertSegment`in o&&f(`insertSegment`,o.insertSegment),(`insertSegment`in o||`insertSegmentFrom`in o)&&m(`anchor`,o.anchor)}const oC=`settings.`;function sC(e,t){return{...e,names:new Set([...e.names,...Object.keys(t).map(e=>oC+e)])}}function cC(e,t,n,r,i){let a=Object.prototype.hasOwnProperty.call(t.segments,n.name)?t.segments[n.name]:void 0;if(a===void 0)return;let o=_s(a),s=`${r}: placement "${ns(n)}" of segment "${n.name}"`;for(let[t,a]of Object.entries(n.settings??{})){let c=Object.prototype.hasOwnProperty.call(o,t)?o[t]:void 0,l=c===void 0?`sets "${t}", which segment "${n.name}" does not declare (it has: ${Object.keys(o).join(`, `)})`:vs(c,a)?void 0:`sets "${t}" to ${JSON.stringify(a)}, but it must be ${xs(c)}`;l!==void 0&&e.issues.push({path:r,message:`${s} ${l}`,line:i})}}function lC(e,t,n,r,i){n.kind===`template`&&fC(e,`${t}.template`,n.template,r,{segCtx:i}),ps(n)&&n.cache&&`key`in n.cache&&fC(e,`${t}.cache.key`,n.cache.key,r,{segCtx:i})}function uC(e,t,n,r,i){if(ps(n)&&n.cache&&`depends_on`in n.cache)for(let a=0;a<n.cache.depends_on.length;a++){let o=n.cache.depends_on[a];if(r.names.has(o))continue;let s=i===void 0?void 0:`${i}.${o}`,c=s!==void 0&&r.names.has(s)?` (segment-local vars are namespaced — write "${s}")`:``;e.issues.push({path:`${t}.cache.depends_on[${a}]`,message:`cache.depends_on references unknown variable "${o}"${c}`,line:W(e.source,[...t.split(`.`),`cache`,`depends_on`])})}}function dC(e,t,n,r){try{Ug.parse(n)}catch(n){e.issues.push({path:t,message:`Template parse error in ${t}: ${n.message}`,line:r})}}function fC(e,t,n,r,i){for(let[a,o]of d_(n,r.helpers)){if(g_(a,r))continue;if(a.startsWith(oC)){let n=o===null?``:` through helper "${o}"`,r=a.slice(9),s=i?.segCtx===void 0||i.settings===void 0?`Template reads ".${a}"${n}, but only a segment's own templates have settings — call it from a segment that declares "${r}"`:`Template reads ".${a}"${n}, but segment "${i.segCtx}" has no setting "${r}" (it has: ${Object.keys(i.settings).join(`, `)}) — declare it under segments.${i.segCtx}.settings`;e.issues.push({path:t,message:s,line:i?.line??W(e.source,t.split(`.`))});continue}if(o!==null){pC(e,o,a);continue}let n=i?.segCtx===void 0?void 0:`${i.segCtx}.${a}`,s=n!==void 0&&g_(n,r)?` (segment-local vars are namespaced — write ".${n}")`:``;e.issues.push({path:t,message:`Template references unknown variable ".${a}"${s}`,line:i?.line??W(e.source,t.split(`.`))})}}function pC(e,t,n){let r=`helpers.${t}`,i=`Template references unknown variable ".${n}"`;e.issues.some(e=>e.path===r&&e.message===i)||e.issues.push({path:r,message:i,line:W(e.source,[`helpers`,t])})}function mC(e,t){let{graph:n,nodeInfo:r}=hC(t),i=new Map,a=[];for(let e of n.keys())i.set(e,0);for(let e of n.keys())if(i.get(e)===0&&o(e))return;function o(t){i.set(t,1),a.push(t);for(let s of n.get(t)??[]){let t=i.get(s);if(t===1){let t=a.indexOf(s),n=[...a.slice(t),s],i=n[0],o=r.get(i);return e.issues.push({path:o?.declarationPath??`variables.${i}`,message:`Dependency cycle: ${n.join(` → `)}`,line:W(e.source,o?.linePathParts??[`variables`,i])}),!0}if(t===0&&o(s))return!0}return i.set(t,2),a.pop(),!1}}function hC(e){let t=new Set(Object.keys(e.variables)),n=new Map;for(let t of Object.keys(e.variables))n.set(t,{declarationPath:`variables.${t}`,linePathParts:[`variables`,t]});for(let[r,i]of Object.entries(e.segments))if(i.vars)for(let e of Object.keys(i.vars)){let i=`${r}.${e}`;t.add(i),n.set(i,{declarationPath:`segments.${r}.vars.${e}`,linePathParts:[`segments`,r,`vars`,e]})}let r=new Map;for(let e of t)r.set(e,new Set);let i=(n,i)=>{for(let a of d_(i,e.helpers).keys()){if(t.has(a)){r.get(n).add(a);continue}let e=a.split(`.`)[0];e!==a&&t.has(e)&&r.get(n).add(e)}},a=(e,n)=>{if(n.kind===`template`&&i(e,n.template),ps(n)&&(n.cache&&`key`in n.cache&&i(e,n.cache.key),n.cache&&`depends_on`in n.cache))for(let i of n.cache.depends_on)t.has(i)&&r.get(e).add(i)};for(let[t,n]of Object.entries(e.variables))a(t,n);for(let[t,n]of Object.entries(e.segments))if(n.vars)for(let[e,r]of Object.entries(n.vars))a(`${t}.${e}`,r);return{graph:r,nodeInfo:n}}const gC=[`json5`,`json`];function _C(e){try{return r.statSync(e,{throwIfNoEntry:!1})===void 0?`absent`:`present`}catch(t){return{path:e,error:t.message}}}function vC(e){return e===`~`||e.startsWith(`~/`)||e.startsWith(`~\\`)?f.homedir()+e.slice(1):e}function yC(e,t,n){if(n!==void 0)return[n];let r=t??process.cwd();return[...new Set([...e?gC.map(t=>c.join(e,`.cc-candybar.${t}`)):[],...gC.map(e=>c.join(r,`.cc-candybar.${e}`)),...gC.map(e=>`${bC()}.${e}`)])]}function bC(){let e=process.env.XDG_CONFIG_HOME??c.join(f.homedir(),`.config`);return c.join(e,`cc-candybar`,`config`)}function xC(e,t,n){let r=[];for(let i of yC(e,t,n)){let e=_C(i);if(e===`present`)return{kind:`file`,path:i,unchecked:r};e!==`absent`&&r.push(e)}if(n===void 0)return{kind:`default`,unchecked:r};let[i]=r;return i===void 0?{kind:`missing`,path:n}:{kind:`unreadable`,...i}}function SC(e,t,n){let r=xC(e,t,n);return r.kind===`default`?`${bC()}.${gC[0]}`:r.path}function CC(e){return wC(e).join(`
|
|
158
|
-
`)||null}function
|
|
157
|
+
`,hb=`${Vl}live`,gb=[`☐ live`,`☑ live`],_b=`${Vl}done`,vb={variable:hb,key:hb,member:`open`},yb=`and ${Oc(i_)} (not ${Oc(vb)})`,bb=`{{ ${yb} }}`;function xb(e,t){return`{{ if ${yb} }}${e}{{ else }}${t}{{ end }}`}const Sb=`{{ and ${Oc(i_)} .preset.customized }}`,Cb=Ul,wb=`${Vl}addable`;function Tb(e){return new Map([[wb,{members:Object.keys(e.segments).filter(e=>!Cb(e))}]])}function Eb(e,t,n){return n.segments[e]={template:t,when:a_},{kind:`segment`,name:e}}function Db(e,t,n){let r=`${Vl}${e.presetIdent}.remove.${t}`;return e.artifacts.actions[r]={persist:e.rootKey,removeSegment:n},`{{ action "${r}" "🚫" }}`}function Ob(e){return`{{ if ${Oc(i_)} }}${e.join(``)}{{ end }}`}function kb(e,t){return e.reduce((e,t)=>`{{ if ${Oc(t)} }}true{{ else }}${e}{{ end }}`,t)}function Ab(e){return e.flatMap(e=>[...ls(e)].flatMap(e=>e.kind===`segment`&&e.opens?.ref.key===`edit.mode`?[e.opens.ref]:[]))}function jb(e,t,n){return`${n_}${e}.${t}.${n}`}function Mb(e,t,n,r,i){let a=Tc(e.label),{domain:o}=e;if(o===`bool`)return i.actions[r]={set:t,cycle:[`false`,`true`]},`{{ action "${r}" "☐ ${a}" "☑ ${a}" }}`;if(o===`theme`)return i.actions[r]={set:t,from:Qy},`{{ "${a}" }} {{ carousel "${r}" }}`;if(`min`in o){for(let e of[-o.step,o.step])i.actions[`${r}.${e<0?`down`:`up`}`]={set:t,min:o.min,max:o.max,by:e};return`{{ action "${r}.down" "◀" }} {{ "${a}" }} {{ .${n} }} {{ action "${r}.up" "▶" }}`}return i.actions[r]={set:t,cycle:[...o]},`{{ action "${r}" ${o.map(e=>`"${a}: ${Tc(e)}"`).join(` `)} }}`}function Nb(e,t,n,r){let i=as(n),a=`${Vl}${e.presetIdent}`,o=r_(e.presetIdent,i),s=`${a}.configure.${t}`;e.artifacts.actions[s]={set:$g,to:o};let c={},l=Object.entries(r).map(([r,o])=>{let s=jb(e.presetIdent,i,r),l=`${n_}p${e.presetIdent}.d${t}.${r}`;e.artifacts.variables[l]={kind:`state`,key:s,default:ws(n.settings?.[r]??o.default)},c[r]={id:i,key:s,variable:l};let u=`${a}.setting.${t}.${r}`;return e.artifacts.segments[u]={template:Mb(o,s,l,u,e.artifacts)},{kind:`segment`,name:u}});return{term:`{{ action "${s}" "⚙" }}`,ref:{variable:$g,key:$g,member:o},body:{kind:`container`,direction:`vertical`,children:l},drafts:c}}const Pb=`${Vl}label:`;function Fb(e){if(e.startsWith(Pb)){let t=e.slice(Pb.length);return t.slice(t.indexOf(`:`)+1)}return e.startsWith(`edit.`)?void 0:e}function Ib(e,t,n,r){let i=as(e),a=`${Pb}${i}:${e.name}`;n.segments[a]={template:`{{ "${Tc(i)}" }}`,...t.palette!==void 0&&{palette:t.palette}};let o=e.settings?.[ys];return{...Ec(a,r.ref,r.body,`drop`,kb([r.ref],bb)),...o!==void 0&&{settings:{theme:o}},drafts:{[ys]:r.drafts[ys]}}}function Lb(e,t,n,r){let{presetIdent:i,artifacts:a}=e,o=`${Vl}${i}.insert.${t}`,s=`${Vl}${i}.insertSeg.${t}`;a.actions[o]={persist:e.rootKey,insertSegmentFrom:wb,anchor:n,relation:r};let c=wg(o),l=Tg(s,o,void 0),u=Og(l),d=Dg(l,c);return a.variables[l]=Ac(l,xc),a.variables[u]={kind:`state`,key:u,default:`0`},a.actions[d]=jc(l,c),a.actions[u]={set:u,int:!0},{host:s,template:`{{ $m := menu "${o}" "✚" "✕" }}{{ if ${Oc({variable:l,key:l,member:c})} }}{{ $m }}{{ else }}{{ fg (${`readableOn (color "success") (bgOf) ${ta}`}) $m }}{{ end }}`}}function Rb(e,t){let n=[],r=e.children.findIndex(e=>e.kind===`segment`&&!Cb(e.name)),i=e=>Rb(e,t);for(let[a,o]of e.children.entries()){if(o.kind===`container`){n.push(i(o));continue}let s=cs(o,i);if(Cb(o.name)){n.push(s);continue}let c=as(o),l=a===r?[Lb(t,String(t.posCounter.n++),c,`before`)]:[],u=String(t.posCounter.n++),d=Lb(t,u,c,`after`),f=Db(t,u,c),p=t.segments[o.name],m=Nb(t,u,o,bs(p)),h=Ob([m.term,f]),g={kind:`container`,direction:`horizontal`,children:[...l.map(e=>Eb(e.host,e.template,t.artifacts)),{...Ib(o,p,t.artifacts,m),trail:h},{...s,when:xb(`false`,o.when??`true`),trail:h,drafts:m.drafts},Eb(d.host,d.template,t.artifacts)]};n.push(e.direction===`vertical`?{kind:`container`,direction:`horizontal`,children:[g]}:g)}return{...e,children:n,...e.when!==void 0&&{when:kb(Ab(n),xb(`true`,e.when))}}}function zb(e,t,n,r,i,a,o){let s=`${Vl}${n}.resetLayout`,c=`${Vl}${n}.customized`;i.actions[s]={reset:r};let l=Tc(t);return i.segments[c]={template:`{{ action "${s}" "↺ ${l} customized" }}`,when:Sb},{kind:`container`,direction:`vertical`,children:[{kind:`container`,direction:`horizontal`,children:[a,{kind:`segment`,name:c}]},Bb(e,o)]}}function Bb(e,t){if(e.kind===`segment`)return{kind:`container`,direction:`horizontal`,children:[e,t]};let n=e.children.at(-1);return e.direction===`vertical`&&n!==void 0&&(n.kind===`segment`||n.when===void 0)?{...e,children:[...e.children.slice(0,-1),Bb(n,t)]}:{...e,children:[...e.children,t]}}function Vb(e,t,n,r,i){let{node:a}=Rg(e,t),o={presetIdent:Rl(t),rootKey:ab(t),segments:e.segments,artifacts:n,posCounter:{n:0}};return zb(Rb(a,o),t,o.presetIdent,o.rootKey,n,r,i)}function Hb(e){let t={variables:{},actions:{},segments:{}},n=ub(`${Vl}help`,pb,[i_],t);t.variables[hb]=Ac(hb,xc),t.actions[hb]=jc(hb,vb.member),t.segments[hb]={template:kc(hb,...gb),when:a_};let r={kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:hb},n]};t.segments[_b]={template:`{{ action "${e_}" "✎ done" }}`,when:a_};let i={kind:`segment`,name:_b},a={...e.presets},o=[];for(let n of Fg(e.presets)){let s=Vb(e,n,t,i,r);o.push(s),a[n]={...Lg(e.presets,n),root:s}}let s=Ry(t,o,e);return{...e,variables:{...s,...e.variables,...t.variables},actions:{...e.actions,...t.actions},segments:{...e.segments,...t.segments},presets:a}}const Ub={socket:`TMUX`,pane:`TMUX_PANE`,truecolor:`CLAUDE_CODE_TMUX_TRUECOLOR`};function Wb(e){let t=e[Ub.socket]??``,n=e[Ub.pane]??``;if(t===``||n===``)return null;let r=e[Ub.truecolor]??``;return{socket:t.split(`,`)[0],pane:n,truecolor:r===``?null:r}}const Gb=Ub.truecolor,Kb=[{name:`tmuxTruecolor`,label:`tmux truecolor`,probe:({tmux:e,claudeSettings:t})=>{switch(e.kind){case`unreported`:return{ok:!1,reason:"the client reported no tmux facts — re-run `cc-candybar install` to stage a current client"};case`outside`:return{ok:!0};case`inside`:{if(e.termfeatures.kind===`failed`)return{ok:!1,reason:`tmux could not be asked: ${e.termfeatures.reason}`};if(!e.termfeatures.value.includes(`RGB`)||e.hint.truecolor!==null)return{ok:!0};let n=t.env[Gb];return typeof n==`string`&&n!==``?{ok:!1,reason:`${Gb} is set in ${t.path} — restart Claude Code to apply`}:{ok:!1,reason:`Claude Code renders the bar in 256 colours inside tmux`,fix:{kind:`claude-settings-env`,name:Gb,value:`1`}}}}}}];function qb(e){return Kb.map(t=>({check:t,verdict:t.probe(e)}))}function Jb(e){return Kb.find(t=>t.name===e)}const Yb=`${K}doctor.`;function Xb(e){let t=`${Yb}${e}.`;return{verdict:`${t}verdict`,reason:`${t}reason`,fixable:`${t}fixable`}}function Zb(e){return e.flatMap(({check:e,verdict:t})=>{let n=Xb(e.name);return t.ok?[{key:n.verdict,value:`ok`},{key:n.reason,value:``},{key:n.fixable,value:eo}]:[{key:n.verdict,value:`failed`},{key:n.reason,value:t.reason},{key:n.fixable,value:t.fix===void 0?eo:$a}]})}const Qb={copySession:{copy:`{{ .session.id }}`},openProject:{open:`{{ .project_dir }}`},openTranscript:{open:`{{ .transcript_path }}`}};function $b(e){let t=t=>`${e}${t}`;return{template:`{{ action "${t(`copySession`)}" "⎘ id" }} {{ action "${t(`openProject`)}" "↗ proj" }} {{ action "${t(`openTranscript`)}" "↗ log" }}{{ if ne .git.repoUrl "" }} {{ link .git.repoUrl "↗ repo" }}{{ end }}`,actions:Object.fromEntries(Object.entries(Qb).map(([t,n])=>[`${e}${t}`,n]))}}const ex=`armed`,tx=`disarmed`;function nx(e,t,n){let r=`${e}.arm`,i=`${e}.disarm`;return{template:`{{ if eq .${e} "${ex}" }}{{ action "${e}" "${t.confirm}" }} {{ action "${i}" "✕" }}{{ else }}{{ action "${r}" "${t.arm}" }}{{ end }}`,actions:{[r]:{set:e,to:ex},[i]:{set:e,to:tx},[e]:{do:[i,...n]}},variables:{[e]:{kind:`state`,key:e,default:tx}},disarm:i}}const rx=RegExp(`^/[^\\s\\x00-\\x1f\\x7f-\\x9f/][^\\x00-\\x1f\\x7f-\\x9f]*$`);function ix(e){return typeof e==`string`&&rx.test(e)?{kind:`line`,line:e}:{kind:`refused`,reason:`a slash command is "/" then its name, e.g. "/compact" or "/model opus", on one line with no control characters, got ${JSON.stringify(e)}`}}function ax(e){let t=ix(e);if(t.kind===`refused`)throw Error(t.reason);return t.line}const ox=[`/compact`,`/model`],sx=`/clear`;function cx(e){let t=t=>`${e}${t.slice(1)}`,n=`${e}clear.slash`,r=nx(`${e}clear`,{arm:sx,confirm:`${sx} ✓ confirm`},[n]);return{template:ox.map(e=>`{{ action "${t(e)}" "${e}" }} `).join(``)+r.template,actions:{...Object.fromEntries(ox.map(e=>[t(e),{slash:ax(e)}])),...r.actions,[n]:{slash:ax(sx)}},variables:r.variables,disarm:r.disarm}}const lx=`${K}menu`,ux=`open`,dx=`${K}edit`,fx=`${K}close`,px=`${K}toolbar`,mx=$b(K),hx=`${K}commands`,gx=cx(`${hx}.`),_x=`${K}config`,vx=`${K}save`,yx=`${K}unsaved`,bx=`${K}preset.save`,xx=`${K}preset.delete`,Sx=`${K}resetAll`,Cx=`${lx}.toggle`,wx=`${_x}.toggle`,Tx={variable:lx,key:lx,member:ux},Ex={variable:_x,key:_x,member:ux},Dx=`${K}tools`,Ox={variable:Dx,key:Dx,member:ux},kx=[{seg:`${K}undo`,depth:`undo`,action:{undo:!0},display:`↶ undo`},{seg:`${K}redo`,depth:`redo`,action:{redo:!0},display:`↷ redo`}],Ax=e=>`${K}history.${e}`,jx=`${K}doctor`,Mx=`${jx}.run`,Nx=e=>`${jx}.fix.${e}`,Px=e=>`${jx}.${e}`,Fx=`${K}pickers`,Ix=[`{{ themePreview }}`],Lx=[{name:`preset`,...My.preset,glyph:`▦`,domain:`presets`,beneath:[`{{ layoutPreview }}`,`{{ action "${bx}" "⊕ save as preset" }}{{ if not .preset.bundled }} {{ action "${xx}" (printf "🗑 delete %s" .${My.preset.effectiveVar}) }}{{ end }}`]}],Rx=[{name:`theme`,...My.theme,glyph:`🎨`,domain:`themes`,beneath:Ix},{name:`look`,...My.look,glyph:`◐`,domain:`looks`,beneath:Ix},{name:`style`,...My.style,glyph:`✦`,domain:`styles`,beneath:[]},{name:`progression`,...My.progression,glyph:`🎼`,domain:`progressions`,beneath:[`{{ layoutPreview }}`]},{name:`charset`,...My.charset,glyph:`🔣`,domain:`charsets`,beneath:[]},{name:`colorCompatibility`,...My.colorCompatibility,glyph:`🌈`,domain:`colorCompatibilities`,beneath:[]}],zx={name:`wrap`,...My.autoWrap},Bx={name:`padding`,...My.padding},Vx=`${K}${zx.name}`,Hx=`${K}${Bx.name}`,Ux=[...Lx,...Rx],Wx=[...Ux,zx,Bx];new Set(Wx.flatMap(e=>[e.sessionKey,e.configKey]));const Gx=e=>`${K}${e}`,Kx=e=>`${K}apply.${e}`,qx=e=>`${K}reset.${e}`,Jx=nx(Sx,{arm:`⟲ reset all`,confirm:`⟲ confirm reset all`},Wx.map(e=>qx(e.name))),Yx=[Jx,gx],Xx=e=>`${K}carousel.${e}`,Zx=(e,t)=>`${Xx(e)}.${t}`,Qx=Eg(Fx),$x=e=>({variable:Qx,key:Qx,member:wg(Kx(e.name))});function eS(e){return Ec(Gx(e.name),$x(e),{kind:`container`,direction:`vertical`,children:[{kind:`segment`,name:Xx(e.name)},...e.beneath.map((t,n)=>({kind:`segment`,name:Zx(e.name,n)}))]},`drop`)}function tS(e){return e===lx}function nS(e){let t={kind:`segment`,name:lx};if(e.kind===`container`&&e.direction===`vertical`){let[n,...r]=e.children;return e.when===void 0&&n!==void 0?{...e,children:[nS(n),...r]}:{kind:`container`,direction:`vertical`,children:[t,e]}}return e.kind===`container`&&e.when===void 0?{...e,children:[t,...e.children]}:{kind:`container`,direction:`horizontal`,children:[t,e]}}function rS(e){return iS(e)>0?e:nS(e)}function iS(e){let t=0;for(let n of ls(e))n.kind===`segment`&&tS(n.name)&&(t+=1);return t}function aS(e,t=!1){let n=t||e.when!==void 0;return e.kind===`segment`?n&&tS(e.name)||e.opens!==void 0&&aS(e.opens.body,!0):e.children.some(e=>aS(e,n))}function oS(e){return e.kind===`segment`?tS(e.name)?Ec(e.name,Tx,{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:px},{kind:`segment`,name:hx},...Lx.map(eS),{kind:`segment`,name:vx},Ec(_x,Ex,{kind:`container`,direction:`horizontal`,children:[...Rx.map(eS),{kind:`segment`,name:Vx},{kind:`segment`,name:Hx},{kind:`segment`,name:Sx}]},`drop`),Ec(Dx,Ox,{kind:`container`,direction:`vertical`,children:[{kind:`segment`,name:jx},...Kb.map(e=>({kind:`segment`,name:Px(e.name)}))]},`drop`),{kind:`segment`,name:dx},...kx.map(e=>({kind:`segment`,name:e.seg}))]},`inline`):e:sS(e)}function sS(e){return{...e,children:e.children.map(e=>oS(e))}}function cS(e){let t={variables:{[lx]:Ac(lx,xc)},actions:{[Cx]:jc(lx,ux),[lx]:{do:[Cx,...Yx.map(e=>e.disarm)]},[wx]:jc(_x,ux),[_x]:{do:[wx,Jx.disarm]},[Dx]:jc(Dx,ux),[Mx]:{doctor:`run`},[fx]:{set:Tx.key,to:xc},[dx]:{do:[e_,fx]},...mx.actions,...gx.actions,[vx]:{save:!0},[bx]:{preset:`save`},[xx]:{preset:`delete`,name:`{{ .${My.preset.effectiveVar} }}`}},segments:{[lx]:{template:kc(lx,e,`❌`)},[px]:{template:mx.template},[hx]:{template:gx.template},[vx]:{when:`{{ gt .${yx} 0 }}`,template:`{{ action "${vx}" (printf "💾 save %d" .${yx}) }}`},[_x]:{template:kc(_x,`⚙ config ▸`,`⚙ config ▾`)},[Dx]:{template:kc(Dx,`🧰 tools ▸`,`🧰 tools ▾`)},[jx]:{template:`{{ action "${Mx}" "🩺 doctor" }}`},[Vx]:{template:`{{ action "${Kx(`wrap`)}" "wrap: on" "wrap: off" }} {{ action "${qx(`wrap`)}" "↺" }}`},[Hx]:{template:`{{ action "${Kx(`padding`)}.down" "◀" }} padding {{ .${Bx.effectiveVar} }} {{ action "${Kx(`padding`)}.up" "▶" }} {{ action "${qx(`padding`)}" "↺" }}`},[dx]:{template:`{{ action "${dx}" "✎ edit" "✎ done" }}`},[Sx]:{template:Jx.template}}};return t.variables[yx]={kind:`input`,path:`unsaved`,type:`number`,default:0},t.variables[_x]=Ac(_x,xc),t.variables[Dx]=Ac(Dx,xc),Object.assign(t.variables,gx.variables,Jx.variables),dS(t),uS(t),lS(t),t}function lS(e){for(let t of kx){let n=Ax(t.depth);e.variables[n]={kind:`input`,path:`history.${t.depth}`,type:`number`,default:0},e.actions[t.seg]=t.action,e.segments[t.seg]={when:`{{ gt .${n} 0 }}`,template:`{{ action "${t.seg}" "${t.display}" }}`}}}function uS(e){for(let t of Kb){let n=Xb(t.name),r=Nx(t.name);for(let t of Object.values(n))e.variables[t]={kind:`state`,key:t,default:``};e.actions[r]={doctor:`fix`,check:t.name},e.segments[Px(t.name)]={when:`{{ ne .${n.verdict} "" }}`,template:`{{ if eq .${n.verdict} "ok" }}✓ ${t.label}{{ else }}✗ ${t.label} — {{ .${n.reason} }}{{ if eq .${n.fixable} "${$a}" }} {{ action "${r}" "[fix]" }}{{ end }}{{ end }}`}}}function dS(e){for(let t of Ux){let n=Kx(t.name);e.actions[n]={set:t.sessionKey,from:t.domain},e.actions[qx(t.name)]={reset:t.configKey},fS(t,e)}e.actions[Kx(zx.name)]={set:zx.sessionKey,cycle:[...to]},e.actions[qx(zx.name)]={reset:zx.configKey};for(let t of[-1,1])e.actions[`${Kx(Bx.name)}.${t<0?`down`:`up`}`]={set:Bx.sessionKey,...no,by:t};e.actions[qx(Bx.name)]={reset:Bx.configKey},Object.assign(e.actions,Jx.actions)}function fS(e,t){let n=Kx(e.name),r=$x(e),i=Dg(r.key,r.member);t.variables[r.key]=Ac(r.key,xc),t.actions[i]=jc(r.key,r.member),t.segments[Gx(e.name)]={template:`${e.glyph} {{ .${e.effectiveVar} }} ${kc(i,`▸`,`▾`)} {{ action "${qx(e.name)}" "↺" }}`},t.segments[Xx(e.name)]={template:`{{ carousel "${n}" }}`},e.beneath.forEach((n,r)=>{t.segments[Zx(e.name,r)]={template:n}})}function pS(e){e.variables[$g]=Ac($g,xc),e.actions[e_]=jc($g,t_)}function mS(e){let t=cS(e.globals.menuGlyph??`🍫`);pS(t);let n={...e.presets},r=[];for(let t of Fg(e.presets)){let{node:i}=Rg(e,t),a=oS(rS(i));r.push(a),n[t]={...Lg(e.presets,t),root:a}}let i=Ry(t,r,e);return{...e,variables:{...i,...e.variables,...t.variables},actions:{...e.actions,...t.actions},segments:{...e.segments,...t.segments},presets:n}}const hS=[`set`,`persist`,`copy`,`open`,`reset`,`undo`,`redo`,`save`,`preset`,`doctor`,`ceiling`,`slash`,`do`];function gS(e){return e.ceiling===`set`?[`set`,e.to]:[`clear`]}function _S(e){return`from`in e||`int`in e||`insertSegmentFrom`in e}function vS(e,t){if(t===void 0)return{};if(!Ps(t))return Z(e,`actions`,`actions must be an object, got ${Fs(t)}`),{};let n=Object.create(null);for(let[r,i]of Object.entries(t)){let t=yS(e,`actions.${r}`,i);t!==null&&(n[r]=t)}return n}function Z(e,t,n){e.issues.push({path:t,message:n,line:W(e.source,t.split(`.`))})}function yS(e,t,n){if(!Ps(n))return Z(e,t,`${t} must be an action object, got ${Fs(n)}`),null;if(`persistWhen`in n)return Z(e,t,`${t}.persistWhen was removed: declare the \`set\` alone — a session pick is a draft until a \`{ save: true }\` action writes every unsaved setting to the config file`),null;let r=hS.filter(e=>e in n);return r.length===1?bS[r[0]](e,t,n):(Z(e,t,`action must declare exactly one of: ${hS.join(`, `)}${r.length>1?` (found: ${r.join(`, `)})`:``}`),null)}const bS={set:(e,t,n)=>QS(e,t,n,`set`,JS),persist:(e,t,n)=>QS(e,t,n,`persist`,YS),copy:xS(`copy`),open:xS(`open`),reset:SS,undo:wS(`undo`),redo:wS(`redo`),save:wS(`save`),preset:TS,doctor:ES,ceiling:DS,slash:OS,do:kS};function xS(e){return(t,n,r)=>{for(let i of Object.keys(r))i!==e&&Z(t,`${n}.${i}`,`Unknown key "${i}" on a ${e} action. Expected only: ${e}`);let i=ks(t,n,r,e);return i===null?null:{[e]:i}}}function SS(e,t,n){for(let r of Object.keys(n))r!==`reset`&&Z(e,`${t}.${r}`,`Unknown key "${r}" on a reset action. Expected only: reset`);let r=AS(e,t,`reset`,n,`reset key must be non-empty (the config globals field to clear)`,e=>`reset key "${e}" contains "/" — keys must be slash-free`);return r===null?null:{reset:r}}const CS={undo:`it steps the session's settings history`,redo:`it steps the session's settings history`,save:`it saves the session's unsaved settings`};function wS(e){return(t,n,r)=>{for(let i of Object.keys(r))i!==e&&Z(t,`${n}.${i}`,`Unknown key "${i}" on a ${e} action. Expected only: ${e}`);return r[e]===!0?{[e]:!0}:(Z(t,`${n}.${e}`,`${e} must be the literal true (it takes no key — ${CS[e]}), got ${G(r[e])}`),null)}}function TS(e,t,n){let r=n.preset,i=r===`save`?[`preset`]:[`preset`,`name`];for(let r of Object.keys(n))i.includes(r)||Z(e,`${t}.${r}`,`Unknown key "${r}" on a preset action. Expected only: ${i.join(`, `)}`);if(r!==`save`&&r!==`delete`)return Z(e,`${t}.preset`,`preset must be "save" or "delete", got ${G(r)}`),null;if(r===`save`)return{preset:`save`};let a=ks(e,t,n,`name`);return a===null?null:{preset:`delete`,name:a}}function ES(e,t,n){let r=n.doctor,i=r===`run`?[`doctor`]:[`doctor`,`check`];for(let r of Object.keys(n))i.includes(r)||Z(e,`${t}.${r}`,`Unknown key "${r}" on a doctor action. Expected only: ${i.join(`, `)}`);if(r!==`run`&&r!==`fix`)return Z(e,`${t}.doctor`,`doctor must be "run" or "fix", got ${G(r)}`),null;if(r===`run`)return{doctor:`run`};let a=n.check;return typeof a!=`string`||Jb(a)===void 0?(Z(e,`${t}.check`,`doctor fix must name a check (have: ${Kb.map(e=>e.name).join(`, `)}), got ${G(a)}`),null):{doctor:`fix`,check:a}}function DS(e,t,n){let r=n.ceiling,i=r===`clear`?[`ceiling`]:[`ceiling`,`to`];for(let r of Object.keys(n))i.includes(r)||Z(e,`${t}.${r}`,`Unknown key "${r}" on a ceiling action. Expected only: ${i.join(`, `)}`);if(r===`clear`)return{ceiling:`clear`};if(r!==`set`)return Z(e,`${t}.ceiling`,`ceiling must be "set" or "clear", got ${G(r)}`),null;let a=n.to;return typeof a!=`string`||a.trim()===``?(Z(e,`${t}.to`,`ceiling set needs \`to\`: a memento ceiling value such as "+100_000", "400000" or "off", got ${G(a)}`),null):{ceiling:`set`,to:a}}function OS(e,t,n){for(let r of Object.keys(n))r!==`slash`&&Z(e,`${t}.${r}`,`Unknown key "${r}" on a slash action. Expected only: slash`);let r=ix(n.slash);return r.kind===`refused`?(Z(e,`${t}.slash`,r.reason),null):{slash:r.line}}function kS(e,t,n){for(let r of Object.keys(n))r!==`do`&&Z(e,`${t}.${r}`,`Unknown key "${r}" on a do action. Expected only: do`);let r=n.do;return!Array.isArray(r)||r.length<2||r.some(e=>typeof e!=`string`||e===``)?(Z(e,`${t}.do`,`do must list at least two action names (the first is the click's face, the rest ride along in the same click), got ${G(r)}`),null):{do:r}}function AS(e,t,n,r,i,a){let o=ks(e,t,r,n);if(o===null)return null;let s=`${t}.${n}`;return o===``?(Z(e,s,i),null):o.includes(`/`)?(Z(e,s,a(o)),null):o}const jS={set:`the SessionState key to write`,persist:`the config globals field to write`};function MS(e,t,n,r){let i=jS[r],a=AS(e,t,r,n,`${r} key must be non-empty (${i})`,e=>`${r} key "${e}" contains "/" — keys must be slash-free`);return a===null?null:{[r]:a}}function NS(e){return e===`set`?`set-state`:`set-config`}const PS={to:$S(`set`)},FS={to:$S(`persist`)},IS={from:eC(`set`)},LS={from:eC(`persist`)},RS={min:aC(),max:aC(),by:aC()},zS={int:nC()},BS={cycle:tC(`set`)},VS={cycle:tC(`persist`)},HS={removeSegment:rC(`removeSegment`)},US={insertSegment:rC(`insertSegment`),anchor:rC(`anchor`),relation:iC()},WS={insertSegmentFrom:eC(`persist`),anchor:rC(`anchor`),relation:iC()},GS={ok:e=>e.min<e.max,issue:e=>({field:`min`,message:`min (${e.min}) must be less than max (${e.max})`})},KS={ok:e=>e.by!==0,issue:()=>({field:`by`,message:`by must be a non-zero integer (the per-click increment; negative steps down)`})};function qS(e,t,n=[],r){let i=Object.keys(t),a=r??i,o=[e],s=(e,n,r)=>Ls(e,t,n,r),c=tc(t);return{detect:a,allowed:[...o,...i],label:i.join(`/`),json:{type:`object`,properties:{...Object.fromEntries(o.map(e=>[e,{type:`string`}])),...c.properties},required:[...o,...c.required??[]],additionalProperties:!1},parse:n.length?Gs(s,...n):s}}const JS=[qS(`set`,PS),qS(`set`,IS),qS(`set`,RS,[GS,KS]),qS(`set`,zS),qS(`set`,BS)],YS=[qS(`persist`,FS),qS(`persist`,LS),qS(`persist`,RS,[GS,KS]),qS(`persist`,VS),qS(`persist`,HS),qS(`persist`,US,[],[`insertSegment`]),qS(`persist`,WS,[],[`insertSegmentFrom`])];function XS(e){let t=[`"to" (a literal value)`,`"from" (an option domain — a registered domain name like "themes"/"styles"/"looks", or an inline array of literal values)`,`"min"/"max"/"by" (a bounded step)`];return e===`set`&&t.push(`"int" (an unbounded integer cursor)`),t.push(`"cycle" (an enumerated domain stepped in order)`),e===`persist`&&t.push(`"removeSegment" (remove a named segment from the layout)`,`"insertSegment"/"anchor"/"relation" (insert a named segment before/after an existing one)`,`"insertSegmentFrom"/"anchor"/"relation" (insert a segment PICKED from an option domain before/after an existing one)`),t}function ZS(e){let t=XS(e),n=t[t.length-1];return`a ${e} action declares exactly one value source: ${t.length===1?n:`${t.slice(0,-1).join(`, `)}, or ${n}`}`}function QS(e,t,n,r,i){let a=MS(e,t,n,r),o=i.filter(e=>e.detect.some(e=>e in n));if(o.length!==1)return Z(e,t,`${ZS(r)}${o.length>1?` — found: ${o.map(e=>e.label).join(`, `)}`:``}`),null;let s=o[0];for(let i of Object.keys(n))s.allowed.includes(i)||Z(e,`${t}.${i}`,`Unknown key "${i}" on this ${r} action. Expected one of: ${s.allowed.join(`, `)}`);let c=s.parse(e,t,n);return a===null||c===null?null:{...a,...c}}function $S(e){let t=NS(e);return{required:!0,json:{type:`string`},parse:(n,r,i,a)=>AS(n,r,i,a,`${e} value must be non-empty — an empty value cannot be delivered on the ${t} wire`,t=>`${e} value "${t}" contains "/" — ${e} values must be slash-free`)??void 0}}function eC(e){let t=NS(e);return{required:!0,json:{anyOf:[{type:`string`,minLength:1},{type:`array`,items:{type:`string`,minLength:1},minItems:1,uniqueItems:!0}]},parse:(n,r,i,a)=>{let o=a[i],s=`${r}.${i}`;if(typeof o==`string`){if(o===``){Z(n,s,`${i} must be a non-empty domain name`);return}return o}if(Array.isArray(o)&&o.every(e=>typeof e==`string`)){let r=o;if(r.length===0){Z(n,s,`${i} must name a domain (a non-empty string) or declare an inline domain (a non-empty array of values)`);return}if(r.some(e=>e===``)){Z(n,s,`${i} array members must be non-empty — an empty value cannot be delivered on the ${t} wire`);return}let a=r.filter(e=>e.includes(`/`));if(a.length>0){Z(n,s,`${i} array member(s) ${a.map(e=>`"${e}"`).join(`, `)} contain "/" — ${e} values must be slash-free`);return}if(new Set(r).size!==r.length){Z(n,s,`${i} array members must be unique — a duplicated value would render the same picker option twice`);return}return r}Z(n,s,`${i} must be a domain name (a string) or an inline domain (an array of strings), got ${G(o)}`)}}}function tC(e){let t=NS(e);return{required:!0,json:{type:`array`,items:{type:`string`,minLength:1},minItems:2,uniqueItems:!0},parse:(n,r,i,a)=>{let o=a[i],s=`${r}.${i}`;if(!Array.isArray(o)||o.some(e=>typeof e!=`string`)){Z(n,s,`cycle must be an array of strings (the enumerated values a click steps through), got ${Fs(o)}`);return}let c=o;if(c.length<2){Z(n,s,`cycle needs at least two members (one member has no successor — use a literal "to")`);return}let l=c.some(e=>e===``),u=c.filter(e=>e.includes(`/`));if(l){Z(n,s,`cycle members must be non-empty — an empty value cannot be delivered on the ${t} wire`);return}if(u.length>0){Z(n,s,`cycle member(s) ${u.map(e=>`"${e}"`).join(`, `)} contain "/" — ${e} values must be slash-free`);return}if(new Set(c).size!==c.length){Z(n,s,`cycle members must be unique — the successor of a duplicated member is ambiguous`);return}return c}}}function nC(){return{required:!0,json:{const:!0},parse:(e,t,n,r)=>{if(r[n]!==!0){Z(e,`${t}.${n}`,`int must be the literal true (declares the key an unbounded integer cursor — a paged picker's page key), got ${G(r[n])}`);return}return!0}}}function rC(e){return{required:!0,json:{type:`string`},parse:(t,n,r,i)=>{let a=ks(t,n,i,r);if(a===null)return;let o=`${n}.${r}`;if(a===``){Z(t,o,`${e} must be non-empty (a segment name)`);return}if(a.includes(`/`)||a.includes(`:`)){Z(t,o,`${e} "${a}" contains "/" or ":" — segment names in a layout op must be free of both (the click wire's own delimiter and layout-ops.ts's op-token delimiter)`);return}return a}}}function iC(){return{required:!0,json:{enum:[`before`,`after`]},parse:(e,t,n,r)=>{let i=r[n];if(i!==`before`&&i!==`after`){Z(e,`${t}.${n}`,`relation must be "before" or "after", got ${G(i)}`);return}return i}}}function aC(){return{required:!0,json:{type:`integer`},parse:(e,t,n,r)=>{let i=r[n];if(typeof i!=`number`||!Number.isInteger(i)){Z(e,`${t}.${n}`,`${n} must be an integer, got ${G(i)}`);return}return i}}}const oC={noun:`look key`,fields:{hueShift:Ys(),chromaScale:Ys({min:0}),lightnessScale:Ys(),lightnessShift:Ys()}};function sC(e,t){if(!Ps(t))return e.issues.push({path:`looks`,message:`looks must be an object mapping look names to adaptation objects, got ${Fs(t)}`,line:W(e.source,[`looks`])}),{};let n={};for(let[r,i]of Object.entries(t)){if(r===``||r.includes(`/`)){e.issues.push({path:`looks.${r}`,message:`look name ${JSON.stringify(r)} must be non-empty and slash-free — a look picker writes the name on the set-state wire, which rejects empty values and splits on "/"`,line:W(e.source,[`looks`,r])});continue}let t=Is(e,oC,`looks.${r}`,i);t!==null&&(n[r]={...An,...t})}return n}const cC={noun:`preset key`,fields:{root:{required:!1,json:{$ref:`#/definitions/RootFragment`},parse:(e,t,n,r)=>r[n]===void 0?void 0:ju(e,`${t}.${n}`,r[n])},globals:{required:!1,json:Yc(),parse:(e,t,n,r)=>r[n]===void 0?void 0:Jc(e,`${t}.${n}`,r[n])}}};function lC(e,t){if(!Ps(t))return e.issues.push({path:`presets`,message:`presets must be an object mapping preset names to config fragments, got ${Fs(t)}`,line:W(e.source,[`presets`])}),{};let n={};for(let[r,i]of Object.entries(t)){if(r===``||r.includes(`/`)||/[\n\r]/.test(r)){e.issues.push({path:`presets.${r}`,message:`preset name ${JSON.stringify(r)} must be non-empty, slash-free, and newline-free — a preset picker writes the name on the set-state wire (which rejects empty values and splits on "/"), and edit mode splices it into a synthesized template string`,line:W(e.source,[`presets`,r])});continue}let t=Is(e,cC,`presets.${r}`,i);t!==null&&(n[r]=t)}return n}function uC(e,t){if(t===void 0)return{};if(!Ps(t))return e.issues.push({path:`helpers`,message:`helpers must be an object, got ${Fs(t)}`,line:W(e.source,[`helpers`])}),{};let n=Object.create(null);for(let[r,i]of Object.entries(t)){if(typeof i!=`string`){e.issues.push({path:`helpers.${r}`,message:`helpers.${r} must be a string template body, got ${G(i)}`,line:W(e.source,[`helpers`,r])});continue}n[r]=i}return n}const dC=new Map([[`session.budget.amount`,{segment:`session`,setting:`budget`}],[`session.budget.warningThreshold`,{segment:`session`,setting:`warnAt`}],[`today.budget.amount`,{segment:`today`,setting:`budget`}],[`today.budget.warningThreshold`,{segment:`today`,setting:`warnAt`}],[`block.budget.heatThreshold`,{segment:`block`,setting:`warnAt`}],[`block.budget.warningThreshold`,{segment:`block`,setting:`errorAt`}],[`weekly.budget.heatThreshold`,{segment:`weekly`,setting:`warnAt`}],[`weekly.budget.warningThreshold`,{segment:`weekly`,setting:`errorAt`}],[`burn.eta.errorMinutes`,{segment:`burnrate`,setting:`errorWithin`}],[`burn.eta.warnMinutes`,{segment:`burnrate`,setting:`warnWithin`}]]);function fC(e){return`it became the "${e.setting}" setting of each "${e.segment}" placement — set it on the placement where a row places "${e.segment}" ({ seg: "${e.segment}", settings: { ${e.setting}: <value> } }), or redeclare segments.${e.segment}.settings.${e.setting} with the default every placement should start from`}function pC(e){let t=dC.get(e);return t===void 0?void 0:`variables.${e} is no longer read: ${fC(t)}`}function mC(e){let t=dC.get(e);return t===void 0?``:` — ".${e}" is no longer a variable: ${fC(t)}; a "${t.segment}" template reads it as ".settings.${t.setting}"`}function hC(e,t){let n=new Map;for(let e of Object.keys(t)){let t=Rl(e),r=n.get(t);r?r.push(e):n.set(t,[e])}for(let[t,r]of n)r.length<2||e.issues.push({path:`presets`,message:`preset names ${r.map(e=>JSON.stringify(e)).join(` and `)} both collapse to the same synthesis identifier "${t}" — edit mode's synthesized reset affordance would silently steal one preset's action for the other. Rename one.`,line:W(e.source,[`presets`])})}function gC(e,t,n){t.globals.look!==void 0&&!ja(t.globals.look)&&!Object.prototype.hasOwnProperty.call(t.looks,t.globals.look)&&e.issues.push({path:`globals.look`,message:`globals.look "${t.globals.look}" does not match any declared look (have: ${Object.keys(t.looks).join(`, `)})`,line:W(e.source,[`globals`,`look`])}),t.globals.preset!==void 0&&!Object.prototype.hasOwnProperty.call(t.presets,t.globals.preset)&&e.issues.push({path:`globals.preset`,message:`globals.preset "${t.globals.preset}" does not match any declared preset (have: ${Object.keys(t.presets).join(`, `)})`,line:W(e.source,[`globals`,`preset`])}),hC(e,t.presets);let r=$y(t);for(let[n,i]of Object.entries(t.actions))!(`set`in i)||!(`from`in i)||typeof i.from!=`string`||eb(r).includes(i.from)||e.issues.push({path:`actions.${n}.from`,message:`actions.${n} from: references unknown option domain "${i.from}" (have: ${eb(r).join(`, `)})`,line:W(e.source,[`actions`,n,`from`])});for(let[n,r]of Object.entries(t.actions))`do`in r&&r.do.forEach((i,a)=>{let o=Object.prototype.hasOwnProperty.call(t.actions,i)?t.actions[i]:void 0,s=o===void 0?`references unknown action "${i}"`:`do`in o?`"${i}" is itself a do action — list its members here instead`:r.do.indexOf(i)===a?a>0&&_S(o)?`"${i}" takes its value from the template (from/int/insertSegmentFrom), so it can only be the first member — only the first is bound the region's display`:void 0:`"${i}" is listed twice — each member fires once per click`;s!==void 0&&e.issues.push({path:`actions.${n}.do`,message:`actions.${n} do: ${s}`,line:W(e.source,[`actions`,n,`do`])})});for(let[n,r]of Object.entries(t.actions)){let i=`persist`in r?r.persist:`reset`in r?r.reset:null;if(i===null)continue;let a=`persist`in r?`persist`:`reset`,o=sb(i);if(o===null){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${i}" is not a config globals field (have: ${$c().join(`, `)}), a "segments.<name>.palette" target, a "presets.<name>.globals.<field>" target, or a "presets.<name>.root" target`,line:W(e.source,[`actions`,n,a])});continue}let s=_C.filter(e=>e in r);if(o.scope!==`preset-root`&&s.length>0){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${i}" is not a "presets.<name>.root" target — ${s.map(e=>`"${e}"`).join(`/`)} is a tree op and applies only to one`,line:W(e.source,[`actions`,n,a])});continue}if(o.scope===`preset-root`){vC(e,t,n,a,i,o.preset,r);continue}if(o.scope===`preset-globals`&&!Fg(t.presets).includes(o.preset)){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${i}" names preset "${o.preset}" which is not declared (have: ${Fg(t.presets).join(`, `)})`,line:W(e.source,[`actions`,n,a])});continue}if(o.scope===`segment-palette`){if(!Object.prototype.hasOwnProperty.call(t.segments,o.segment)){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${i}" names segment "${o.segment}" which is not declared (have segments: ${Object.keys(t.segments).join(`, `)})${ql(o.segment)}`,line:W(e.source,[`actions`,n,a])});continue}`min`in r&&e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${i}" is a segment palette target and cannot use a bounded stepper (min/max/by) — use "to", "from", or "cycle" instead`,line:W(e.source,[`actions`,n,a])})}}let i=E_(t);for(let t of i.names)t!==`settings`&&!t.startsWith(yC)||e.issues.push({path:`variables`,message:`variable "${t}" is named under "settings", which a segment's templates read as its placement's own settings (.settings.<name>) — rename it`,line:W(e.source,[`variables`,t])});let a=(t,n,r)=>{iS(t)>1&&e.issues.push({path:n,message:`${n} places the global settings menu anchor "${lx}" ${iS(t)} times — it may appear at most once per layout (it is one disclosure, and one state key holds one open state). Remove all but the placement you want; removing every placement puts the menu at its default position.`,line:r}),aS(t)&&e.issues.push({path:n,message:`${n} places the global settings menu anchor "${lx}" under a \`when\` or inside a disclosure body — the menu is visible under every condition, so its placement may not be gated. Move it to an ungated position, or remove it to put the menu at its default position.`,line:r}),o(t)&&e.issues.push({path:n,message:`${n} sets "distribution" on a container inside a bar cell — everything inside a cell wears that cell's hue and tone, so it would place nothing. Set it on the row whose children are the cells (the horizontal container) or on the root, which places the rows.`,line:r});let i=new Map;for(let e of ls(t)){if(e.kind!==`segment`)continue;let t=as(e);i.set(t,[...i.get(t)??[],e])}for(let[t,a]of i){if(a.length<2)continue;let o=a[1].name,s=ss(o,new Set(i.keys()));e.issues.push({path:n,message:`${n} has ${a.length} placements with the id "${t}" — an id names one placement (its settings, its menus' open state, and edit mode all address it), so give each its own: { seg: "${o}", id: "${s}" }. A placement without an "id" takes its segment's name.`,line:r})}};function o(e,t=!1){return e.kind===`segment`?!1:t&&e.distribution!==void 0||e.children.some(n=>o(n,t||is[e.direction]===`cell`))}let s=(n,r)=>{for(let[a,o]of mc(n,r)){let n=W(e.source,o.split(`.`));if(a.when!==void 0&&(jC(e,`${o}.when`,a.when,i,{line:n}),AC(e,`${o}.when`,a.when,n)),a.kind===`segment`){if(tS(a.name)){(a.id!==void 0||a.settings!==void 0)&&e.issues.push({path:o,message:`${r} gives the global settings menu anchor "${lx}" an id or settings — the anchor only marks where the menu goes, so place it as the bare name "${lx}"`,line:n});continue}Object.prototype.hasOwnProperty.call(t.segments,a.name)||e.issues.push({path:o,message:`${r} entry "${a.name}" does not match any declared segment${ql(a.name)}`,line:n}),DC(e,t,a,o,n)}}};n.root!==void 0&&s(n.root,`root`);for(let[e,t]of Object.entries(n.presets??{}))t.root!==void 0&&s(t.root,`presets.${e}.root`);let c=new Map([[`root`,fc(t.root)]]);for(let e of Fg(t.presets)){let{node:n,path:r}=Rg(t,e);c.set(r,n)}for(let[t,n]of c)a(n,t,W(e.source,t.split(`.`)));for(let[n,r]of Object.entries(t.variables)){OC(e,`variables.${n}`,r,i);let t=pC(n);t!==void 0&&e.issues.push({path:`variables.${n}`,message:t,line:W(e.source,[`variables`,n])})}for(let[n,r]of Object.entries(t.segments)){if(r.vars)for(let[t,a]of Object.entries(r.vars))OC(e,`segments.${n}.vars.${t}`,a,i,n);let a=bs(r);xC(e,n,a);let o=bC(i,a);for(let i of[`template`,`bg`,`fg`,`when`]){let s=r[i];if(typeof s==`string`){jC(e,`segments.${n}.${i}`,s,o,{segCtx:n,settings:a});for(let r of S_(s))Object.prototype.hasOwnProperty.call(t.actions,r)||e.issues.push({path:`segments.${n}.${i}`,message:`${i} references unknown action "${r}"`,line:W(e.source,[`segments`,n,i])});for(let r of w_(s))Object.prototype.hasOwnProperty.call(t.actions,r)||e.issues.push({path:`segments.${n}.${i}`,message:`${i} references unknown action "${r}" (in a picker, menu or carousel)`,line:W(e.source,[`segments`,n,i])})}}}for(let[n,r]of Object.entries(t.variables))kC(e,`variables.${n}`,r,i);for(let[n,r]of Object.entries(t.segments))if(r.vars)for(let[t,a]of Object.entries(r.vars))kC(e,`segments.${n}.vars.${t}`,a,i,n)}const _C=[`removeSegment`,`insertSegment`,`insertSegmentFrom`];function vC(e,t,n,r,i,a,o){let s=`actions.${n}.${r}`,c=W(e.source,[`actions`,n,r]);if(!Fg(t.presets).includes(a)){e.issues.push({path:s,message:`actions.${n}: "${i}" names preset "${a}" which is not declared (have: ${Fg(t.presets).join(`, `)})`,line:c});return}if(r===`reset`)return;let l=`removeSegment`in o,u=`insertSegment`in o,d=`insertSegmentFrom`in o;if(!l&&!u&&!d){e.issues.push({path:s,message:`actions.${n}: "${i}" is a "presets.<name>.root" target and can only be paired with "removeSegment", "insertSegment", or "insertSegmentFrom" (not "to"/"from"/"cycle"/bounded — those have no meaning as a tree op)`,line:c});return}let f=(r,i)=>{Object.prototype.hasOwnProperty.call(t.segments,i)||e.issues.push({path:s,message:`actions.${n}: ${r} "${i}" is not a declared segment (have: ${Object.keys(t.segments).join(`, `)})${ql(i)}`,line:c})},p=new Set(os(Rg(t,a).node)),m=(r,i)=>{!Kl.has(i)||p.has(i)||Object.prototype.hasOwnProperty.call(t.segments,i)||e.issues.push({path:s,message:`actions.${n}: ${r} "${i}" names no placement${ql(i)}`,line:c})};`removeSegment`in o&&m(`removeSegment`,o.removeSegment),`insertSegment`in o&&f(`insertSegment`,o.insertSegment),(`insertSegment`in o||`insertSegmentFrom`in o)&&m(`anchor`,o.anchor)}const yC=`settings.`;function bC(e,t){return{...e,names:new Set([...e.names,...Object.keys(t).map(e=>yC+e)])}}function xC(e,t,n){let r=e=>`segments.${t}.settings.${e}`,i=(n,i)=>{e.issues.push({path:r(n),message:`${r(n)}: ${i}`,line:W(e.source,[`segments`,t,`settings`,n])})},a=wC(n);for(let{setting:e,message:t}of a)i(e,t);if(!(a.length>0))for(let{setting:e,message:t}of Ss(n,CC(n)))i(e,`the defaults do not stand together: ${t}`)}function SC(e){return wC(e).length>0||Ss(e,CC(e)).length>0}function CC(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,t.default]))}function wC(e){let t=t=>xs(TC(e,t))?.atLeast;return Object.keys(e).flatMap(n=>{let r=t(n);if(r===void 0)return[];if(r===n||xs(TC(e,r))===void 0)return[{setting:n,message:`atLeast "${r}" must name another range setting of this segment (its range settings: ${EC(e,n).join(`, `)||`none`})`}];let i=[n];for(let e=r;e!==void 0;e=t(e)){if(e===n)return i.every(e=>n<=e)?[{setting:n,message:`atLeast closes a cycle (${[...i,n].join(` ≥ `)}) — every setting on it could only ever equal the rest`}]:[];if(i.includes(e))return[];i.push(e)}return[]})}function TC(e,t){return Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0}function EC(e,t){return Object.entries(e).filter(([e,n])=>e!==t&&xs(n)!==void 0).map(([e])=>e)}function DC(e,t,n,r,i){let a=Object.prototype.hasOwnProperty.call(t.segments,n.name)?t.segments[n.name]:void 0;if(a===void 0)return;let o=bs(a),s=`${r}: placement "${as(n)}" of segment "${n.name}"`;for(let[t,a]of Object.entries(n.settings??{})){let c=Object.prototype.hasOwnProperty.call(o,t)?o[t]:void 0,l=c===void 0?`sets "${t}", which segment "${n.name}" does not declare (it has: ${Object.keys(o).join(`, `)})`:Cs(c,a)?void 0:`sets "${t}" to ${JSON.stringify(a)}, but it must be ${Es(c)}`;l!==void 0&&e.issues.push({path:r,message:`${s} ${l}`,line:i})}let c=Object.fromEntries(Object.entries(o).map(([e,t])=>[e,n.settings?.[e]??t.default]));if(!(!Object.entries(c).every(([e,t])=>Cs(o[e],t))||SC(o)))for(let{message:t}of Ss(o,c))e.issues.push({path:r,message:`${s}: ${t}`,line:i})}function OC(e,t,n,r,i){n.kind===`template`&&jC(e,`${t}.template`,n.template,r,{segCtx:i}),gs(n)&&n.cache&&`key`in n.cache&&jC(e,`${t}.cache.key`,n.cache.key,r,{segCtx:i})}function kC(e,t,n,r,i){if(gs(n)&&n.cache&&`depends_on`in n.cache)for(let a=0;a<n.cache.depends_on.length;a++){let o=n.cache.depends_on[a];if(r.names.has(o))continue;let s=i===void 0?void 0:`${i}.${o}`,c=s!==void 0&&r.names.has(s)?` (segment-local vars are namespaced — write "${s}")`:``;e.issues.push({path:`${t}.cache.depends_on[${a}]`,message:`cache.depends_on references unknown variable "${o}"${c}`,line:W(e.source,[...t.split(`.`),`cache`,`depends_on`])})}}function AC(e,t,n,r){try{Qg.parse(n)}catch(n){e.issues.push({path:t,message:`Template parse error in ${t}: ${n.message}`,line:r})}}function jC(e,t,n,r,i){for(let[a,o]of b_(n,r.helpers)){if(T_(a,r))continue;if(a.startsWith(yC)){let n=o===null?``:` through helper "${o}"`,r=a.slice(9),s=i?.segCtx===void 0||i.settings===void 0?`Template reads ".${a}"${n}, but only a segment's own templates have settings — call it from a segment that declares "${r}"`:`Template reads ".${a}"${n}, but segment "${i.segCtx}" has no setting "${r}" (it has: ${Object.keys(i.settings).join(`, `)}) — declare it under segments.${i.segCtx}.settings`;e.issues.push({path:t,message:s,line:i?.line??W(e.source,t.split(`.`))});continue}if(o!==null){MC(e,o,a);continue}let n=i?.segCtx===void 0?void 0:`${i.segCtx}.${a}`,s=n!==void 0&&T_(n,r)?` (segment-local vars are namespaced — write ".${n}")`:mC(a);e.issues.push({path:t,message:`Template references unknown variable ".${a}"${s}`,line:i?.line??W(e.source,t.split(`.`))})}}function MC(e,t,n){let r=`helpers.${t}`,i=`Template references unknown variable ".${n}"${mC(n)}`;e.issues.some(e=>e.path===r&&e.message===i)||e.issues.push({path:r,message:i,line:W(e.source,[`helpers`,t])})}function NC(e,t){let{graph:n,nodeInfo:r}=PC(t),i=new Map,a=[];for(let e of n.keys())i.set(e,0);for(let e of n.keys())if(i.get(e)===0&&o(e))return;function o(t){i.set(t,1),a.push(t);for(let s of n.get(t)??[]){let t=i.get(s);if(t===1){let t=a.indexOf(s),n=[...a.slice(t),s],i=n[0],o=r.get(i);return e.issues.push({path:o?.declarationPath??`variables.${i}`,message:`Dependency cycle: ${n.join(` → `)}`,line:W(e.source,o?.linePathParts??[`variables`,i])}),!0}if(t===0&&o(s))return!0}return i.set(t,2),a.pop(),!1}}function PC(e){let t=new Set(Object.keys(e.variables)),n=new Map;for(let t of Object.keys(e.variables))n.set(t,{declarationPath:`variables.${t}`,linePathParts:[`variables`,t]});for(let[r,i]of Object.entries(e.segments))if(i.vars)for(let e of Object.keys(i.vars)){let i=`${r}.${e}`;t.add(i),n.set(i,{declarationPath:`segments.${r}.vars.${e}`,linePathParts:[`segments`,r,`vars`,e]})}let r=new Map;for(let e of t)r.set(e,new Set);let i=(n,i)=>{for(let a of b_(i,e.helpers).keys()){if(t.has(a)){r.get(n).add(a);continue}let e=a.split(`.`)[0];e!==a&&t.has(e)&&r.get(n).add(e)}},a=(e,n)=>{if(n.kind===`template`&&i(e,n.template),gs(n)&&(n.cache&&`key`in n.cache&&i(e,n.cache.key),n.cache&&`depends_on`in n.cache))for(let i of n.cache.depends_on)t.has(i)&&r.get(e).add(i)};for(let[t,n]of Object.entries(e.variables))a(t,n);for(let[t,n]of Object.entries(e.segments))if(n.vars)for(let[e,r]of Object.entries(n.vars))a(`${t}.${e}`,r);return{graph:r,nodeInfo:n}}const FC=[`json5`,`json`];function IC(e){try{return r.statSync(e,{throwIfNoEntry:!1})===void 0?`absent`:`present`}catch(t){return{path:e,error:t.message}}}function LC(e){return e===`~`||e.startsWith(`~/`)||e.startsWith(`~\\`)?p.homedir()+e.slice(1):e}function RC(e,t,n){if(n!==void 0)return[n];let r=t??process.cwd();return[...new Set([...e?FC.map(t=>c.join(e,`.cc-candybar.${t}`)):[],...FC.map(e=>c.join(r,`.cc-candybar.${e}`)),...FC.map(e=>`${zC()}.${e}`)])]}function zC(){let e=process.env.XDG_CONFIG_HOME??c.join(p.homedir(),`.config`);return c.join(e,`cc-candybar`,`config`)}function BC(e,t,n){let r=[];for(let i of RC(e,t,n)){let e=IC(i);if(e===`present`)return{kind:`file`,path:i,unchecked:r};e!==`absent`&&r.push(e)}if(n===void 0)return{kind:`default`,unchecked:r};let[i]=r;return i===void 0?{kind:`missing`,path:n}:{kind:`unreadable`,...i}}function VC(e,t,n){let r=BC(e,t,n);return r.kind===`default`?`${zC()}.${FC[0]}`:r.path}function HC(e){return UC(e).join(`
|
|
158
|
+
`)||null}function UC(e){switch(e.kind){case`file`:case`default`:return e.unchecked.map(e=>`Config location could not be checked: ${e.path} — ${e.error}`);case`missing`:return[`Config file not found: ${e.path} — rendering the bundled default until it appears`];case`unreadable`:return[`Config file could not be read: ${e.path} — ${e.error} — rendering the bundled default until it can be`]}}function WC(e,t){let n=RC(e,t).filter(e=>IC(e)===`present`),r=new Map;for(let e of n){let t=c.dirname(e),n=c.basename(e).replace(/\.(json5|json)$/,``),i=c.join(t,n);r.has(i)||r.set(i,[]),r.get(i).push(e)}let i=[...r.values()].filter(e=>e.length>1);return i.length===0?null:`config-extension collision: ${i.map(e=>{let[t,...n]=e;return`${t} shadows ${n.join(`, `)}`}).join(`; `)} — remove the duplicate`}function GC(e,t,n){return e===null?{...qC,config:_c(qC.raw,t)}:KC(e,r.readFileSync(e,`utf-8`),t,n)}function KC(e,t,n,r){let i={source:t,...XC(e,t,r,su(n))};return{...i,config:_c(i.raw,n)}}const qC={raw:{},source:``,warnings:[]};function JC({config:e,raw:t,source:n},r=`<config>`,i=new Set(Ta())){let a=[],o={source:n,issues:a,allowedPalettes:i,groups:[]};if(gC(o,e,t),NC(o,e),a.length>0)throw new Qo(r,a);let s=Zg(e,a);if(a.length>0)throw new Qo(r,a);return Hb(mS(s))}function YC(e,t,n=new Set(Ta()),r=ZC){return XC(e,t,n,r).raw}function XC(e,t,n,r){let i=QC(e,t),a=ts(e,t),o=a===null?[]:[a],s=[],c={source:t,issues:s,allowedPalettes:n??new Set(Ta()),groups:[]};if(!Ps(i))throw new Qo(e,[{path:``,message:`Config root must be an object, got ${Fs(i)}`}],o);let l=$C(c,i,r);if(s.length>0)throw new Qo(e,s,o);return{raw:l,warnings:o}}const ZC=new Set;function QC(e,t){try{return Qe.default.parse(t)}catch(t){let n=t;throw new Qo(e,[{path:``,message:`JSON5 syntax error: ${n.message}`,line:n.lineNumber,col:n.columnNumber}])}}function $C(e,t,n){for(let n of Object.keys(t))ew.has(n)||e.issues.push({path:n,message:`Unknown top-level key "${n}". Expected one of: ${[...ew].join(`, `)}`,line:W(e.source,[n])});let r={};return t.globals!==void 0&&(r.globals=qc(e,`globals`,t.globals)),t.variables!==void 0&&(r.variables=pl(e,`variables`,t.variables)),t.segments!==void 0&&(r.segments=cu(e,t.segments,n)),t.layout!==void 0&&e.issues.push({path:`layout`,message:`"layout" is no longer supported — use "root" with the A-grammar instead.
|
|
159
159
|
Replace: layout: [["seg1", "seg2"], ["seg3"]]
|
|
160
160
|
With: root: { v: [{ h: ["seg1", "seg2"] }, "seg3"] }
|
|
161
|
-
Single-row example: root: { h: ["seg1", "seg2"] }`,line:W(e.source,[`layout`])}),t.root!==void 0&&(r.root=
|
|
162
|
-
`)}function
|
|
163
|
-
`).map(e=>e.trim()).find(e=>e.length>0);return t===void 0?``:` (${t})`}const
|
|
164
|
-
`)}catch(e){t.stderr.write(`cc-candybar: daemon spawn failed: ${e.message}\n`)}}function
|
|
165
|
-
`)}function
|
|
166
|
-
`)}]}function
|
|
167
|
-
`),process.exit(1));let t;try{t=
|
|
168
|
-
`),process.exit(1)}function
|
|
161
|
+
Single-row example: root: { h: ["seg1", "seg2"] }`,line:W(e.source,[`layout`])}),t.root!==void 0&&(r.root=ju(e,`root`,t.root)),t.actions!==void 0&&(r.actions=vS(e,t.actions)),t.looks!==void 0&&(r.looks=sC(e,t.looks)),t.presets!==void 0&&(r.presets=lC(e,t.presets)),t.editGlobals!==void 0&&(r.editGlobals=Xc(e,`editGlobals`,t.editGlobals)),t.helpers!==void 0&&(r.helpers=uC(e,t.helpers)),zu(e,r),Yg(e,r),c_(e,r),Gl(e,r,K,`the global settings menu`),r}const ew=new Set([`globals`,`variables`,`segments`,`layout`,`root`,`actions`,`looks`,`presets`,`editGlobals`,`helpers`]);function tw(e){let t=ow(e.termCols),n=ow(e.termRows),r=sw(e.ssh),i=iw(e.tmux),a=rw(e.configEnv),o=nw(e.claudeConfigDir);return{...t!==void 0&&{termCols:t},...n!==void 0&&{termRows:n},...r!==void 0&&{ssh:r},...i!==void 0&&{tmux:i},...a!==void 0&&{configEnv:a},...o!==void 0&&{claudeConfigDir:o}}}function nw(e){return typeof e==`string`&&c.isAbsolute(e)?e:void 0}function rw(e){return typeof e==`string`&&e!==``?LC(e):void 0}function iw(e){if(e===null)return null;if(typeof e!=`object`)return;let{socket:t,pane:n,truecolor:r}=e;if(!(typeof t!=`string`||t===``)&&!(typeof n!=`string`||n===``)&&!(r!==null&&(typeof r!=`string`||r===``)))return{socket:t,pane:n,truecolor:r}}const aw=1e4;function ow(e){if(typeof e!=`number`||!Number.isFinite(e))return;let t=Math.floor(e);if(!(t<=0))return t>aw?aw:t}function sw(e){return typeof e==`boolean`?e:void 0}var cw=class extends Error{constructor(e){super(e),this.name=`ProtocolError`}};function lw(e){let t=Buffer.from(JSON.stringify(e),`utf8`),n=Buffer.alloc(4);return n.writeUInt32BE(t.length,0),Buffer.concat([n,t])}function uw(e,t){let n=Buffer.alloc(0);return function(r){for(n=Buffer.concat([n,r]);n.length>=4;){let r=n.readUInt32BE(0);if(r>16777216){t(new cw(`frame too large: ${r}`));return}if(n.length<4+r)return;let i=n.subarray(4,4+r);n=n.subarray(4+r);try{e(JSON.parse(i.toString(`utf8`)))}catch(e){let n=new cw(e instanceof Error?e.message:String(e));e instanceof Error&&(n.cause=e),t(n);return}}}}function dw(e,t,n){return new Promise((r,i)=>{let a=!1,o=t=>{if(!a){a=!0,clearTimeout(s),e.removeAllListeners();try{t()}catch{}}},s=setTimeout(()=>{o(()=>{e.destroy(),i(Error(`TIMEOUT`))})},n),c=uw(e=>o(()=>r(e)),e=>o(()=>i(e)));e.on(`data`,c),e.on(`error`,e=>o(()=>i(e))),e.on(`close`,()=>o(()=>i(Error(`socket closed before response`)))),e.write(lw(t))})}async function fw(e,t,n){let r=null;try{r=await _w(Fe(),t.connectMs);let i=await dw(r,{v:3,...e},t.budgetMs);return hw(e.kind,i,n)}catch(e){return gw(e)}finally{r&&r.destroy()}}function pw(e,t){return typeof e==`string`?e:t}function mw(e){return typeof e==`number`&&Number.isInteger(e)&&e>=0?e:0}function hw(e,t,n){let r=t;if(r.ok===!0){let r=n(t);return r===void 0?{kind:`permanent`,cause:`malformed_response`,message:`ok response without payload for "${e}" request`}:{kind:`ok`,value:r}}let i=pw(r.error,`(no error message)`);switch(r.code){case`VERSION_MISMATCH`:return{kind:`permanent`,cause:`version_mismatch`,clientV:3,daemonV:mw(r.daemonV)};case`TIMEOUT`:return{kind:`transient`,cause:`timeout`,message:i};case`BAD_REQUEST`:return{kind:`permanent`,cause:`bad_request`,message:i};case`RENDER_FAILED`:return{kind:`permanent`,cause:`render_failed`,message:i};default:return{kind:`permanent`,cause:`malformed_response`,message:`unknown error code: ${String(r.code)}`}}}function gw(e){if(e instanceof cw||e instanceof SyntaxError)return{kind:`permanent`,cause:`malformed_response`,message:e instanceof Error?e.message:String(e)};let t=e instanceof Error?e.message:String(e);return t===`CONNECT_TIMEOUT`||t===`TIMEOUT`?{kind:`transient`,cause:`timeout`,message:t}:t.includes(`ECONNREFUSED`)||t.includes(`ENOENT`)||t.includes(`ENOTSOCK`)?{kind:`transient`,cause:`unreachable`,message:t}:{kind:`transient`,cause:`io_error`,message:t}}function _w(e,t){return new Promise((n,r)=>{let i=y.createConnection({path:e}),a=setTimeout(()=>{i.destroy(),r(Error(`CONNECT_TIMEOUT`))},t);i.once(`connect`,()=>{clearTimeout(a),n(i)}),i.once(`error`,e=>{clearTimeout(a),r(e)})})}function vw(e){if(e.kind===`transient`)return`daemon unavailable (${e.cause}: ${e.message})\nHint: daemon may not be running. Run \`cc-candybar\` once to spawn it.`;switch(e.cause){case`version_mismatch`:{let t=e.daemonV===0?`unknown`:`v${e.daemonV}`;return`daemon protocol mismatch (client v${e.clientV} ≠ daemon ${t})`}case`bad_request`:case`render_failed`:case`malformed_response`:return`daemon error (${e.cause}): ${e.message}`}}const yw={connectMs:50,budgetMs:150},bw={connectMs:50,budgetMs:200};function xw(e){let t=e.output;return typeof t==`string`?t:void 0}function Sw(e,t,n,r){return fw({kind:`render`,hookData:e,args:t,cwd:n,...r},yw,xw)}function Cw(e,t){return fw({kind:`click`,verb:e,value:t},bw,xw)}let ww=null;function Tw(e){if(ww!==null)return ww;r.mkdirSync(c.dirname(e),{recursive:!0});try{ww=r.statSync(e).size}catch{ww=0}return ww}function Ew(e){for(let t=2;t>=1;t--){let n=`${e}.${t}`,i=`${e}.${t+1}`;try{r.renameSync(n,i)}catch{}}try{r.renameSync(e,`${e}.1`)}catch{}ww=0}function Q(e,t){let n=`${new Date().toISOString()} [${e}] ${t}\n`;try{let e=qe(),t=Tw(e);r.appendFileSync(e,n),ww=t+Buffer.byteLength(n,`utf8`),ww>=5242880&&Ew(e)}catch(e){ww=null;try{process.stderr.write(`${n}cc-candybar: daemon.log unwritable: ${e.message}\n`)}catch{}}}function Dw(e){let t=[];for(let n of e){let e=n.read();if(e.kind===`text`)return`# memory report from: ${n.name}\n${e.text}`;t.push(`# ${n.name}: unavailable — ${e.reason}`)}return[`# memory report: no probe answered`,...t.length>0?t:[`# no probe is known for this platform`]].join(`
|
|
162
|
+
`)}function Ow(e,t){return e===`darwin`?[kw(`footprint`,[`-p`,String(t)]),kw(`vmmap`,[`--summary`,String(t)])]:e===`linux`?[Aw(`/proc/self/smaps_rollup`),Aw(`/proc/self/status`)]:[]}function kw(e,t){return{name:`${e} ${t.join(` `)}`,read:()=>{let n=Oe({bin:e,args:[...t],timeoutMs:5e3,category:`limits.memory-report`});return n.ok?n.stdout.trim().length>0?{kind:`text`,text:n.stdout}:{kind:`unavailable`,reason:`exited 0 but printed nothing`}:{kind:`unavailable`,reason:`${n.reason}${n.error===void 0?``:`: ${n.error}`}${jw(n.stderr)}`}}}}function Aw(e){return{name:e,read:()=>{try{let t=r.readFileSync(e,`utf8`);return t.trim().length>0?{kind:`text`,text:t}:{kind:`unavailable`,reason:`empty file`}}catch(e){return{kind:`unavailable`,reason:e.message}}}}}function jw(e){let t=e.split(`
|
|
163
|
+
`).map(e=>e.trim()).find(e=>e.length>0);return t===void 0?``:` (${t})`}const Mw=`CC_CANDYBAR_RSS_LIMIT_MB`;function Nw(e){let t=e[Mw];if(t===void 0)return 512;let n=/^\d+$/.test(t)?Number(t):NaN;if(!Number.isSafeInteger(n)||n<=0)throw Error(`${Mw} must be a positive integer (MB), got ${JSON.stringify(t)}`);return n}function Pw(e){return Nw(e)*2}const Fw=1024*1024;function Iw(e){return Nw(e)*Fw}const Lw={memoryReport:{prefix:`memory-`,suffix:`.txt`},heapSnapshot:{prefix:`heap-`,suffix:`.heapsnapshot`}};function Rw(e,t,n){let{prefix:r,suffix:i}=Lw[t];return c.join(e,`${r}${n}${i}`)}function zw(e){for(let t of Object.keys(Lw)){let{prefix:n,suffix:r}=Lw[t];if(e.startsWith(n)&&e.endsWith(r))return t}return null}function Bw(e){let t=e.rssLimitBytes??512*Fw,n=e.snapshotsKeep??3,r=!1;function i(){if(r)return!0;let{rss:i,heapTotal:a}=e.memoryBytes();if(i<=t)return!1;r=!0,e.log(`warn`,`RSS ${i} > limit ${t} (v8 heap ${a}); recording memory then shutting down`);let o=`${new Date(e.now()).toISOString().replace(/[:.]/g,`-`)}-${e.pid}`;return Vw(e.log,`memory report`,()=>{let t=Rw(e.snapshotDir,`memoryReport`,o);e.writeMemoryReport(t,e.captureMemoryReport()),e.log(`info`,`memory report written: ${t}`)}),Vw(e.log,`heap snapshot`,()=>{let t=Rw(e.snapshotDir,`heapSnapshot`,o);e.log(`info`,`heap snapshot written: ${e.writeHeapSnapshot(t)}`)}),Vw(e.log,`artifact rotation`,()=>{Uw(e.listArtifacts(),n,e.removeFile)}),e.shutdown(0),!0}function a(){let{rss:n,heapTotal:r}=e.memoryBytes();return n>t*.75?`rss ${n} approaching limit ${t} (v8 heap ${r})`:null}function o(e=6e4){let t=setInterval(()=>{i()},e);return t.unref(),{disarm:()=>clearInterval(t)}}return{checkRss:i,describeNextRestart:a,arm:o}}function Vw(e,t,n){try{n()}catch(n){e(`warn`,`${t} failed: ${n.message}`)}}function Hw(e){let t=e.slice(e.lastIndexOf(`/`)+1),n=zw(t);if(n===null)return t;let{prefix:r,suffix:i}=Lw[n];return t.slice(r.length,t.length-i.length)}function Uw(e,t,n){let r=new Map;for(let t of e){let e=Hw(t),n=r.get(e);n===void 0?r.set(e,[t]):n.push(t)}let i=[...r.keys()].sort((e,t)=>t.localeCompare(e));for(let e of i.slice(t))for(let t of r.get(e)??[])try{n(t)}catch{}}function Ww(e,t,n={}){let i=Pe();return{now:()=>Date.now(),pid:process.pid,snapshotDir:i,log:Q,memoryBytes:()=>{let e=process.memoryUsage();return{rss:e.rss,heapTotal:e.heapTotal}},captureMemoryReport:()=>Dw(Ow(process.platform,process.pid)),writeMemoryReport:(e,t)=>r.writeFileSync(e,t,{mode:384}),writeHeapSnapshot:e=>ne.writeHeapSnapshot(e),listArtifacts:()=>{try{return r.readdirSync(i).filter(e=>zw(e)!==null).map(e=>c.join(i,e))}catch{return[]}},removeFile:e=>r.unlinkSync(e),shutdown:t,startedAtMs:e,...n}}function Gw(e={}){if(sT()!==null)return;let n=e.spawn??cT,r=iT();if(r.kind===`contended`){let e=qw();e!==null&&e>2e3&&(t.stderr.write(`cc-candybar: spawn-lock held ${e}ms (likely crashed holder) — spawning unlocked\n`),Kw(n));return}if(r.kind===`error`){t.stderr.write(`cc-candybar: spawn-lock unavailable (${r.reason}) — spawning unlocked\n`),Kw(n);return}try{Kw(n)}finally{oT()}}function Kw(e){eT()&&Jw(e)}function qw(){try{let e=r.statSync(Ue());return Date.now()-e.mtimeMs}catch{return null}}function Jw(e){try{e()||t.stderr.write(`cc-candybar: daemon spawn returned false (unable to resolve script path?)
|
|
164
|
+
`)}catch(e){t.stderr.write(`cc-candybar: daemon spawn failed: ${e.message}\n`)}}function Yw(e,t){return e===null?{kind:`allow`}:e<-1e4?{kind:`allow-future-garbage`,futureMs:-e}:e<t?{kind:`deny`}:{kind:`allow`}}function Xw(e){return Math.min(3e3*2**Math.min(Math.max(e,0),5),6e4)}function Zw(e){try{let t=r.readFileSync(e,`utf8`).trim(),n=Number(t);return!Number.isInteger(n)||n<0?0:Math.min(n,5)}catch{return 0}}function Qw(e,n){try{r.mkdirSync(c.dirname(e),{recursive:!0}),r.writeFileSync(e,String(n),{mode:384})}catch(e){t.stderr.write(`cc-candybar: could not record spawn.backoff: ${e.message}\n`)}}function $w(){try{r.unlinkSync(Ge())}catch(e){e.code!==`ENOENT`&&t.stderr.write(`cc-candybar: could not reset spawn.backoff: ${e.message}\n`)}}function eT(){let e=We(),n=Ge(),r=Zw(n),i=Yw(tT(e),Xw(r));return i.kind===`deny`?!1:(i.kind===`allow-future-garbage`&&t.stderr.write(`cc-candybar: spawn.cooldown mtime is ${i.futureMs}ms in the future — ignoring and spawning\n`),nT(e),Qw(n,Math.min(r+1,5)),!0)}function tT(e){try{return Date.now()-r.statSync(e).mtimeMs}catch{return null}}function nT(e){try{r.mkdirSync(c.dirname(e),{recursive:!0}),r.writeFileSync(e,`${t.pid} ${Date.now()}\n`,{mode:384})}catch(e){t.stderr.write(`cc-candybar: could not record spawn.cooldown: ${e.message}\n`)}}let rT=null;function iT(){let e=Ue();for(let n=0;n<2;n++){try{let n=r.openSync(e,`wx`,384);try{r.writeSync(n,JSON.stringify({pid:t.pid,ts:Date.now()}))}catch{}return rT={fd:n,path:e},{kind:`held`}}catch(t){let n=t.code;if(n!==`EEXIST`)return{kind:`error`,reason:`openSync(${e}): ${n??t.message}`}}if(!aT(e))return{kind:`contended`};try{r.unlinkSync(e)}catch(e){if(e.code!==`ENOENT`)return{kind:`error`,reason:`unlink stale spawn.lock: ${e.message}`}}}return{kind:`contended`}}function aT(e){try{let t=r.statSync(e);return Date.now()-t.mtimeMs>1e4}catch{return!0}}function oT(){if(!rT)return;let{fd:e,path:t}=rT;rT=null;try{r.closeSync(e)}catch{}try{r.unlinkSync(t)}catch{}}function sT(){try{return r.mkdirSync(Pe(),{recursive:!0}),null}catch(e){return`mkdir ${Pe()}: ${e.message}`}}function cT(){let e=t.execPath,n=t.argv[1];return n?ke({bin:e,args:[`--max-old-space-size=${Pw(t.env)}`,n,`daemon`],category:`daemon-spawn`}).ok:!1}const lT=`cc-candybar`,uT=`dispatch`,dT=`set-state`,fT=`step-state`,pT=`copy`,mT=`open-vscode`,hT=`toolbar-toggle`,gT=`show-config-error`,_T=`show-config-warning`,vT=`set-config`,yT=`step-config`,bT=`save`,xT=`save-preset`,ST=`delete-preset`,CT=`reset-config`,wT=`apply-layout-op`,TT=`undo`,ET=`redo`,DT=`apply-update`,OT=`doctor-run`,kT=`doctor-fix`,AT=`ceiling`,jT=`slash`;function MT(e){return e.map(encodeURIComponent).join(`/`)}function NT(e){return e.length===0?[]:e.split(`/`).map(decodeURIComponent)}function PT(e){return`${lT}://${uT}/${e.map(e=>`e=${encodeURIComponent(`${e.verb}/${MT(e.args)}`)}`).join(`&`)}`}function FT(e){return new w(e).getAll(`e`).map(zT)}const IT=new Set([dT,CT]);function LT(e){return e.reduce((e,t)=>{let n=e.at(-1),r=n&&RT(n,t);return r?[...e.slice(0,-1),r]:[...e,t]},[])}function RT(e,t){if(e.verb!==t.verb||!IT.has(e.verb))return;let[n,r]=[zT(e.value),zT(t.value)];return n.verb===r.verb?{verb:e.verb,value:`${n.verb}/${n.value}/${r.value}`}:void 0}function zT(e){let t=e.indexOf(`/`);return t===-1?{verb:e,value:``}:{verb:e.slice(0,t),value:e.slice(t+1)}}const BT=`1.96.1`;function VT(e,t){let n=(e.CLAUDE_CONFIG_DIR??``).split(`,`)[0].trim();return n===``?void 0:c.resolve(t,n)}function HT(e){return e??c.join(p.homedir(),`.claude`)}function UT(e){return c.join(e,`settings.json`)}function WT(e){return c.join(e,`plugins`,`installed_plugins.json`)}function GT(e){return r.existsSync(e)?r.readFileSync(e,`utf8`):``}function KT(e){let t;try{let n=GT(e);if(/^\s*$/.test(n))return{};t=Co.parse(n)}catch(t){throw Error(`cannot read ${e}: ${qT(t)}`,{cause:t})}if(typeof t!=`object`||!t||Array.isArray(t))throw Error(`cannot read ${e}: not a JSON object`);return t}const qT=e=>e instanceof Error?e.message:String(e),JT=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$/;function YT(e){let t=JT.exec(e);return t?{kind:`ok`,value:[Number(t[1]),Number(t[2]),Number(t[3])]}:{kind:`failed`,reason:`"${e}" is not a release version (expected MAJOR.MINOR.PATCH)`}}function XT(e){return e.join(`.`)}function ZT([e,t,n],[r,i,a]){return e-r||t-i||n-a}const QT=`@promptctl/cc-candybar`;async function $T(e,t,n){let r=`${n}/-/package/${encodeURIComponent(e)}/dist-tags`;try{let e=await t(r,{signal:AbortSignal.timeout(5e3)});if(!e.ok)return X(`registry responded ${e.status} for ${r}`);let n=await e.json();return typeof n.latest==`string`?YT(n.latest):Y}catch(e){return X(e instanceof Error?e.message:String(e))}}function eE(e,t){let n=YT(e);if(n.kind===`failed`)return{kind:`unchecked`,installed:e,reason:n.reason};switch(t.kind){case`failed`:return{kind:`unchecked`,installed:e,reason:t.reason};case`absent`:return{kind:`unchecked`,installed:e,reason:"the registry lists no `latest` dist-tag"};case`ok`:{let e=ZT(n.value,t.value);return e<0?{kind:`stale`,installed:n.value,latest:t.value}:e>0?{kind:`ahead`,installed:n.value,latest:t.value}:{kind:`current`,installed:n.value}}}}function tE(e,t){switch(t.kind){case`current`:return{stream:`stdout`,text:`✓ cc-candybar ${XT(t.installed)} is the latest release.\n`};case`ahead`:return{stream:`stdout`,text:`cc-candybar ${XT(t.installed)} is newer than the registry's latest release (${XT(t.latest)}): an unpublished build.\n`};case`stale`:{let n=XT(t.latest);return{stream:`stderr`,text:`⚠ cc-candybar ${XT(t.installed)} was staged, but the latest release is ${n}.\n pnpm's release-age gate (minimumReleaseAge) and its dlx cache can both\n resolve \`@latest\` to an older release without saying so.\n To install ${n} now, name it explicitly:\n pnpm dlx ${e}@${n} install\n`}}case`unchecked`:return{stream:`stderr`,text:`⚠ Could not check for a cc-candybar release newer than ${t.installed} (${t.reason}); the registry check was skipped.\n`}}}const nE=`CCCandybarURLHandler`,rE=[],iE={"darwin-arm64":`@promptctl/cc-candybar-darwin-arm64`,"darwin-x64":`@promptctl/cc-candybar-darwin-x64`,"linux-x64":`@promptctl/cc-candybar-linux-x64`,"linux-arm64":`@promptctl/cc-candybar-linux-arm64`};function aE(e){return/^[A-Za-z0-9_./=,:-]+$/.test(e)?e:`'${e.replace(/'/g,`'\\''`)}'`}function oE(e,t){return[e,...t].map(aE).join(` `)}function sE(){return c.join(p.homedir(),`Applications`,`${nE}.app`)}function cE(){if(process.platform!==`darwin`)throw Error(`URL handler installation requires macOS (found platform: ${process.platform}).`)}function lE(){if(process.platform===`darwin`)return c.join(p.homedir(),`Library`,`Application Support`,`CCCandybar`);let e=process.env.XDG_DATA_HOME??c.join(p.homedir(),`.local`,`share`);return c.join(e,`cc-candybar`)}function uE(){return c.join(lE(),`bin`,`cc-candybar`)}function dE(){return c.join(lE(),`dist`,`index.mjs`)}function fE(e,t){return[`on open location L`,`\tdo shell script "'${e.replace(/"/g,`\\"`)}' '${t.replace(/"/g,`\\"`)}' url-handle " & quoted form of L`,`end open location`].join(`
|
|
165
|
+
`)}function pE(e){if(!e)throw Error(`install: process.argv[1] not set`);return e.endsWith(`.mjs`)||e.endsWith(`.js`)?e:c.resolve(c.dirname(e),`..`,`dist`,`index.mjs`)}function mE(t){let n=iE[`${process.platform}-${process.arch}`];if(n){let r=e(t);try{return{kind:`native`,sourcePath:r.resolve(`${n}/bin/cc-candybar`)}}catch{}}return{kind:`node-shim`,sourcePath:c.resolve(c.dirname(t),`..`,`bin`,`cc-candybar`)}}function hE(e,t){c.resolve(e)!==c.resolve(t)&&r.copyFileSync(e,t)}function gE(e){let t=r.openSync(e,`r`);try{let n=Buffer.alloc(2),i=r.readSync(t,n,0,2,0);if(i<2)throw Error(`install: staged render entry at ${e} is truncated (${i} byte(s)). Re-run: pnpm dlx ${QT}@latest install`);return n.toString(`latin1`)===`#!`?`node-shim`:`native`}finally{r.closeSync(t)}}function _E(){let e=pE(process.argv[1]);if(!r.existsSync(e))throw Error(`install: bundled dist not found at ${e}. Reinstall the package.`);let t=mE(e);if(!r.existsSync(t.sourcePath))throw Error(`install: render entry not found at ${t.sourcePath}. Reinstall the package.`);r.mkdirSync(c.dirname(dE()),{recursive:!0}),r.mkdirSync(c.dirname(uE()),{recursive:!0}),hE(e,dE()),hE(t.sourcePath,uE()),r.chmodSync(uE(),493),r.rmSync(c.join(lE(),`url-handler.mjs`),{force:!0});let n=gE(uE());return process.stdout.write(`Staged cc-candybar v${BT} runtime at ${lE()}\n`+(n===`native`?` render entry: native binary (${process.platform}-${process.arch})\n`:` render entry: node shim (no native binary for ${process.platform}-${process.arch}; renders are correct but pay node startup)\n`)),{binPath:uE(),distPath:dE(),entryKind:n}}function vE(){return[{key:`CFBundleIdentifier`,xml:`<string>com.cccandybar.url-handler</string>`},{key:`CFBundleURLTypes`,xml:[`<array>`,` <dict>`,` <key>CFBundleURLName</key>`,` <string>Claude Powerline Click Action</string>`,` <key>CFBundleURLSchemes</key>`,` <array>`,` <string>${lT}</string>`,` </array>`,` </dict>`,`</array>`].join(`
|
|
166
|
+
`)}]}function yE(e){let t=sE();r.mkdirSync(c.dirname(t),{recursive:!0}),r.existsSync(t)&&r.rmSync(t,{recursive:!0,force:!0}),process.stdout.write(`Building ${t}\n`);let n=Oe({bin:`/usr/bin/osacompile`,args:[`-o`,t,`-e`,fE(process.execPath,e)],category:`install.osacompile`});if(!n.ok)throw process.stderr.write(n.stderr),Error(`osacompile failed (${n.reason})`);let i=c.join(t,`Contents`,`Info.plist`);for(let{key:e}of vE())Oe({bin:`/usr/bin/plutil`,args:[`-remove`,e,i],category:`install.plutil`});for(let{key:e,xml:t}of vE()){let n=Oe({bin:`/usr/bin/plutil`,args:[`-insert`,e,`-xml`,t,i],category:`install.plutil`});if(!n.ok)throw process.stderr.write(n.stderr),Error(`plutil -insert ${e} failed (${n.reason})`)}process.stdout.write(`Registering ${lT}:// with Launch Services\n`);let a=Oe({bin:`/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister`,args:[`-f`,t],category:`install.lsregister`});if(!a.ok)throw process.stderr.write(a.stderr),Error(`lsregister failed (${a.reason})`);process.stdout.write(`✓ ${nE}.app installed and registered.\n`),process.stdout.write(` Test: open '${lT}://hello-world' && pbpaste\n`)}function bE(){cE(),yE(_E().distPath)}function xE(e,t=lT){let n=`${t}://`;if(!e.startsWith(n))throw Error(`expected ${n} scheme, got: ${e}`);let r=e.slice(n.length),i=r.indexOf(`/`);return i===-1?{verb:pT,value:r}:{verb:decodeURIComponent(r.slice(0,i)),value:r.slice(i+1)}}async function SE(e){e||(process.stderr.write(`url-handle: missing URL argument.
|
|
167
|
+
`),process.exit(1));let t;try{t=xE(e)}catch(e){process.stderr.write(`url-handle: ${e instanceof Error?e.message:String(e)}\n`),process.exit(1)}let n=await Cw(t.verb,t.value);n.kind===`ok`&&process.exit(0),n.kind===`transient`&&(Gw(),process.stderr.write(`url-handle: daemon unavailable (${n.cause}: ${n.message})\n`),process.exit(1)),process.stderr.write(CE(n)+`
|
|
168
|
+
`),process.exit(1)}function CE(e){switch(e.cause){case`version_mismatch`:return`url-handle: daemon rejected click (version mismatch: client v${e.clientV} ≠ daemon v${e.daemonV})`;case`bad_request`:return`url-handle: daemon rejected click (bad request: ${e.message})`;case`render_failed`:return`url-handle: daemon rejected click (handler failed: ${e.message})`;case`malformed_response`:return`url-handle: daemon rejected click (malformed response: ${e.message})`}}function wE(){return`✓ install complete.
|
|
169
169
|
Restart Claude Code to pick up the new statusline.
|
|
170
|
-
Tip: every bar carries a settings menu — click it (${
|
|
171
|
-
`),
|
|
172
|
-
`))throw Error(`renderStripCells: rich-js strip output did not end its last line`);return i.slice(0,-1)}function
|
|
173
|
-
`)}function
|
|
174
|
-
`);return e?`${l}\n${e}`:l}function
|
|
175
|
-
`))}function iD(e,t,n,r){let{colors:i}=e.channels[0].severity,{fullText:a,failedConfigFile:o}=t,s=new B({bgcolor:i.bg,color:i.fg}),c=(e,t)=>new H(e,{style:t,end:``,noWrap:!0}),l=n>0?[c(`${n} more rows · `,s),a.kind===`file`?c(`open full text`,s.withLink(re(a.path).href)):c(`full text unavailable: ${ME(a.reason)}`,s)]:[],u=o===null?[]:[c(`${l.length>0?` · `:``}open `,s),c(ME(o),s.withLink(re(o).href))],d=[c(`↳ `,s),...l,...u.slice(0,-1)],f=d.reduce((e,t)=>e+t.cellLength,0),p=u.slice(-1).map(e=>e.truncate(Math.max(1,r.width-f),{mode:`middle`})),m=H.fromFragments([...d,...p]).truncate(r.width);return m.noWrap=!0,KE([m],r)}const aD=e=>!e.startsWith(`.`)&&!e.endsWith(`~`);function oD(e,t){return t.isSymbolicLink()?Buffer.from(r.readlinkSync(e)):r.readFileSync(e)}function sD(e,t){return r.readdirSync(t).filter(aD).sort().flatMap(n=>{let i=c.join(t,n),a=r.lstatSync(i,{throwIfNoEntry:!1});return a===void 0?[]:a.isDirectory()?sD(e,i):[[c.relative(e,i).split(c.sep).join(`/`),oD(i,a)]]})}function cD(e){let t=ie.createHash(`sha256`);for(let[n,r]of sD(e,e))t.update(n).update(`\0`).update(r).update(`\0`);return t.digest(`hex`)}const lD=e=>e.slice(0,7);function uD(e){return c.dirname(c.dirname(e))}function dD(){return{version:xT,digest:`3ac3448bef042bdf61bf69cafed3be048d77d73c23523b37026ee3fef0be3e71`}}function fD(e){let t=JSON.parse(r.readFileSync(c.join(e,`package.json`),`utf8`)),n=typeof t==`object`&&t?t.version:void 0;if(typeof n!=`string`)throw Error(`${c.join(e,`package.json`)} has no version string`);return n}function pD(e,t){try{let n=uD(ne(e)),i=c.join(n,`src`);if(!r.existsSync(i))return{kind:`not-source-checkout`};let a=t(),o=cD(i);return o===a.digest?{kind:`current`,root:n,stamp:a}:{kind:`stale`,root:n,source:{version:fD(n),digest:o},running:a}}catch(e){return{kind:`unchecked`,reason:e.message}}}var $=class extends Error{constructor(e){super(e),this.name=`BadVerbArgs`}};function mD(e){return e.op===`remove`?`remove:${e.target}`:`insert:${e.segment}:${e.anchor}:${e.relation}`}function hD(e){let t=e.split(`:`);return t[0]===`remove`&&t.length===2&&t[1]?{op:`remove`,target:t[1]}:t[0]===`insert`&&t.length===4&&t[1]&&t[2]&&(t[3]===`before`||t[3]===`after`)?{op:`insert`,segment:t[1],anchor:t[2],relation:t[3]}:null}function gD(e,t,n){let r=is(e,new Set(n.map(rs).filter(e=>e.includes(t)).flat()));return r===e?{seg:e}:{seg:e,id:r}}const _D=/^-?\d+$/;function vD(e,t,n=`set-state`){let r=e.filter(e=>e.includes(`/`));if(r.length>0)throw Error(`makeAllowListValidator(${t}): values contain "/" — the ${n} wire shape splits values on "/" so slash-bearing options cannot be addressed. Offending values: ${r.join(`, `)}`);if(e.includes(``))throw Error(`makeAllowListValidator(${t}): empty string is not a writable option — the validator rejects empty input before the allow-list check, so an "" in the allowed list could be rendered but never delivered. Remove "" from the allowed list.`);let i=new Set(e),a=[...e];return e=>e?i.has(e)?{ok:!0,value:e}:{ok:!1,reason:`unknown ${t} "${e}" (have: ${a.join(`, `)})`}:{ok:!1,reason:`${t} value is required`}}function yD(e){return t=>{if(!t)return{ok:!1,reason:`${e} value is required`};if(!_D.test(t))return{ok:!1,reason:`${e} must be an integer, got "${t}"`};let n=t[0]===`-`,r=(n?t.slice(1):t).replace(/^0+/,``);return r===``?{ok:!0,value:`0`}:{ok:!0,value:n?`-${r}`:r}}}function bD(e,t,n){return r=>r?_D.test(r)?{ok:!0,value:String(Math.max(e,Math.min(t,parseInt(r,10))))}:{ok:!1,reason:`${n} must be an integer, got "${r}"`}:{ok:!1,reason:`${n} value is required`}}function xD(e,t,n=`state`){let r=t.filter(e=>e.kind===`range`),i=t.some(e=>e.kind===`int`),a=t.flatMap(e=>e.kind===`allow-list`?e.allowed:[]);if(r.length===0&&!i)return{kind:`allow-list`,allowed:[...new Set(a)]};let o=a.filter(e=>!_D.test(e));if(o.length>0)throw Error(`${n} action table: key "${e}" is an integer spec (a paged cursor or a bounded value) but a click writes non-integer value(s) to it (${o.join(`, `)}). A ${n} key has one key shape — point that click at a distinct key, or write an integer.`);if(i&&r.length>0)throw Error(`${n} action table: key "${e}" is declared as both a paged cursor (int) and a bounded value (range) — a ${n} key has one key shape. Use distinct keys.`);if(r.length>0){let t=Math.min(...r.map(e=>e.min)),i=Math.max(...r.map(e=>e.max)),o=a.filter(e=>{let n=parseInt(e,10);return n<t||n>i});if(o.length>0)throw Error(`${n} action table: key "${e}" is a bounded range [${t},${i}] but a click writes out-of-range value(s) to it (${o.join(`, `)}). The range gate would clamp them, storing a different value than the click renders — write an in-range integer, or point that click at a distinct key.`);return{kind:`range`,min:t,max:i}}return{kind:`int`}}function SD(e){return e===`config`?`set-config`:`set-state`}function CD(e,t,n){return t.kind===`int`?yD(`menu page "${e}"`):t.kind===`range`?bD(t.min,t.max,`${n} stepper "${e}"`):vD(t.allowed,`${n} "${e}"`,SD(n))}function wD(e,t=`state`){let n=new Map;for(let{key:t,spec:r}of e){let e=n.get(t);e?e.push(r):n.set(t,[r])}return[...n].map(([e,n])=>({key:e,spec:xD(e,n,t)}))}function TD(e,t=`state`){let n=new Map(Object.entries(e).map(([e,t])=>[e,{validator:t,permanent:!0}]));function r(){let e=[];for(let[t,r]of n)r.permanent&&e.push(t);return e}return{register(e,i){if(!e)throw Error(`register: key is required`);if(e.includes(`/`))throw Error(`register: key "${e}" contains "/" — the wire shape splits on "/" so a slash-bearing key cannot be addressed. Use a slash-free key.`);let a=n.get(e);if(a){if(a.permanent)throw Error(`register: key "${e}" is a built-in ${t} key and cannot be re-claimed (built-in keys: ${[...r()].join(`, `)})`);let n=xD(e,[...a.specs,i],t);a.specs.push(i),a.merged=n,a.validator=CD(e,n,t)}else{let r=xD(e,[i],t);n.set(e,{permanent:!1,specs:[i],merged:r,validator:CD(e,r,t)})}let o=!0;return()=>{if(!o)return;o=!1;let r=n.get(e);if(!r||r.permanent)return;let a=r.specs.indexOf(i);a>=0&&r.specs.splice(a,1),r.specs.length===0?n.delete(e):(r.merged=xD(e,r.specs,t),r.validator=CD(e,r.merged,t))}},validate(e,r){let i=n.get(e);return i?i.validator(r):{ok:!1,reason:`unknown ${t} key "${e}" (have: ${[...n.keys()].join(`, `)})`}},listKeys(){return[...n.keys()]},listBaselineKeys(){return r()},rangeParamsFor(e){let t=n.get(e);if(!t||t.permanent||t.merged.kind!==`range`)return null;let{min:r,max:i}=t.merged;return{min:r,max:i}}}}const ED=TD({},`config`);function DD(){return ED.listKeys()}function OD(e,t){return ED.validate(e,t)}function kD(e){return ED.rangeParamsFor(e)}function AD(e,t){return`persist`in e?`to`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:[e.to]}}]:`from`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:Ky(e.from,t).members}}]:`cycle`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:e.cycle}}]:`removeSegment`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:[mD({op:`remove`,target:e.removeSegment})]}}]:`insertSegment`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:[mD({op:`insert`,segment:e.insertSegment,anchor:e.anchor,relation:e.relation})]}}]:`insertSegmentFrom`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:Ky(e.insertSegmentFrom,t).members.map(t=>mD({op:`insert`,segment:t,anchor:e.anchor,relation:e.relation}))}}]:[{key:e.persist,spec:{kind:`range`,min:e.min,max:e.max}}]:[]}function jD(e,t){let n=Kc(e.globals).get(t);return n===void 0?null:String(n)}function MD(e){let t=new Set;for(let n of Object.values(e.actions)){`reset`in n&&t.add(n.reset);let e=`persist`in n?Qy(n.persist):null;e?.scope===`preset-root`&&t.add(Xy(e.preset))}return[...t].map(e=>({key:e,spec:{kind:`allow-list`,allowed:[]}}))}function ND(e){let t=new Map([...Wy(e),...gb(e)]);return[...MD(e),...Object.values(e.actions).flatMap(e=>AD(e,t))]}function PD(e){return wD(ND(e),`config`)}function FD(e,t){return ED.register(e,t)}const ID=Array.from({length:10},(e,t)=>(t+1)*1e5),LD=ID[0],RD=ID[ID.length-1];function zD(e){let t;try{t=DT(e)}catch(e){return X(e instanceof Error?e.message:String(e))}let n=t.autoCompactWindow;return n===void 0?J(`auto`):typeof n==`number`&&Number.isInteger(n)&&n>=LD&&n<=RD?J(n):X(`${e}: autoCompactWindow is ${JSON.stringify(n)}, not a window /autocompact accepts (${LD}–${RD} tokens)`)}function BD(e,t){let n=Math.min(t??RD,RD),r=e===`auto`?n:Math.min(e,n);return{window:e===`auto`?0:e,applied:e===`auto`?0:r,lower:ID.filter(e=>e<r).at(-1)??0,higher:ID.find(e=>e>r&&e<=n)??0}}const VD=$b(`commands.`),HD=`trimPrefix "/" (trimPrefix .project_dir .current_dir)`,UD=`{{ \$dir := .current_dir }}{{ if and (ne .home "") (or (eq .home .current_dir) (hasPrefix (printf "%s/" .home) .current_dir)) }}{{ \$dir = printf "~%s" (trimPrefix .home .current_dir) }}{{ else }}{{ if or (eq .project_dir .current_dir) (hasPrefix (printf "%s/" .project_dir) .current_dir) }}{{ $dir = ternary (${HD}) (basename .project_dir) (ne (${HD}) "") }}{{ end }}{{ end }}{{ abbreviatePath \$dir }}`,WD={globals:{palette:`tokyo-night`},variables:{...VD.variables,...Sy,current_dir:{kind:`input`,path:`workspace.current_dir`,default:`?`},"model.display_name":{kind:`input`,path:`model.display_name`,default:``},version:{kind:`input`,path:`version`,default:``},home:{kind:`input`,path:`home`,default:``},"tmux.session":{kind:`input`,path:`tmux.session`,default:``},"host.name":{kind:`input`,path:`host.name`,default:``},"host.user":{kind:`input`,path:`host.user`,default:``},"host.ssh":{kind:`input`,path:`host.ssh`,type:`boolean`,default:!1},"git.repoName":{kind:`input`,path:`git.repoName`,default:``},"git.branch":{kind:`input`,path:`git.branch`,default:``},"git.sha":{kind:`input`,path:`git.sha`,default:``},"git.ahead":{kind:`input`,path:`git.ahead`,type:`number`,default:0},"git.behind":{kind:`input`,path:`git.behind`,type:`number`,default:0},"git.staged":{kind:`input`,path:`git.staged`,type:`number`,default:0},"git.unstaged":{kind:`input`,path:`git.unstaged`,type:`number`,default:0},"git.untracked":{kind:`input`,path:`git.untracked`,type:`number`,default:0},"git.conflicts":{kind:`input`,path:`git.conflicts`,type:`number`,default:0},"git.upstream":{kind:`input`,path:`git.upstream`,default:``},"git.stash":{kind:`input`,path:`git.stash`,type:`number`,default:0},"git.status":{kind:`input`,path:`git.status`,default:`clean`},"git.operation":{kind:`input`,path:`git.operation`,default:``},"git.timeSinceCommit":{kind:`input`,path:`git.timeSinceCommit`,type:`number`,default:0},"git.color.branch":{kind:`literal`,value:`primary`},"git.color.staged":{kind:`literal`,value:`success`},"git.color.unstaged":{kind:`literal`,value:`warning`},"git.color.untracked":{kind:`literal`,value:`accent`},"git.color.conflicts":{kind:`literal`,value:`error`},"git.color.ahead":{kind:`literal`,value:`success`},"git.color.behind":{kind:`literal`,value:`warning`},"git.color.stash":{kind:`literal`,value:`accent`},"git.detail":{kind:`state`,key:`git-detail`,default:`collapsed`},"git.prNumber":{kind:`input`,path:`git.prNumber`,type:`number`,default:0},"git.prState":{kind:`input`,path:`git.prState`,default:``},"git.prUrl":{kind:`input`,path:`git.prUrl`,default:``},"git.prError":{kind:`input`,path:`git.prError`,default:``},"cache.expiresAt":{kind:`input`,path:`cache.expiresAt`,type:`number`,default:0},"session.cost":{kind:`input`,path:`session.cost`,type:`number`,default:0},"session.tokens":{kind:`input`,path:`session.tokens`,type:`number`,default:0},"session.budget.amount":{kind:`literal`,value:0},"session.budget.warningThreshold":{kind:`literal`,value:80},"today.cost":{kind:`input`,path:`today.cost`,type:`number`,default:0},"today.tokens":{kind:`input`,path:`today.tokens`,type:`number`,default:0},"today.budget.amount":{kind:`literal`,value:50},"today.budget.warningThreshold":{kind:`literal`,value:80},"block.nativeUtilization":{kind:`input`,path:`block.nativeUtilization`,type:`number`,default:0},"block.resetsAt":{kind:`input`,path:`block.resetsAt`,type:`number`,default:0},"block.budget.warningThreshold":{kind:`literal`,value:80},"block.budget.heatThreshold":{kind:`literal`,value:50},"weekly.percentage":{kind:`input`,path:`weekly.percentage`,type:`number`,default:0},"weekly.resetsAt":{kind:`input`,path:`weekly.resetsAt`,type:`number`,default:0},"weekly.budget.warningThreshold":{kind:`literal`,value:80},"weekly.budget.heatThreshold":{kind:`literal`,value:50},"burn.costPerHour":{kind:`input`,path:`burn.costPerHour`,type:`number`,default:-1},"block.etaMinutes":{kind:`input`,path:`block.etaMinutes`,type:`number`,default:-1},"weekly.etaMinutes":{kind:`input`,path:`weekly.etaMinutes`,type:`number`,default:-1},"burn.eta.warnMinutes":{kind:`literal`,value:60},"burn.eta.errorMinutes":{kind:`literal`,value:30},"speed.input":{kind:`input`,path:`speed.input`,type:`number`,default:-1},"speed.output":{kind:`input`,path:`speed.output`,type:`number`,default:-1},"speed.total":{kind:`input`,path:`speed.total`,type:`number`,default:-1},"speed.history":{kind:`input`,path:`speed.history`,type:`string`,default:``},"context.totalTokens":{kind:`input`,path:`context.totalTokens`,type:`number`,default:0},"context.contextLeft":{kind:`input`,path:`context.contextLeft`,type:`number`,default:100},"memento.ceiling":{kind:`input`,path:`memento.ceiling`,type:`number`,default:-1},"memento.off":{kind:`input`,path:`memento.off`,type:`boolean`,default:!1},"memento.session":{kind:`input`,path:`memento.session`,default:``},"memento.error":{kind:`input`,path:`memento.error`,default:``},"autocompact.window":{kind:`input`,path:`autocompact.window`,type:`number`,default:-1},...Object.fromEntries([`applied`,`lower`,`higher`].map(e=>[`autocompact.${e}`,{kind:`input`,path:`autocompact.${e}`,type:`number`,default:0}])),"autocompact.error":{kind:`input`,path:`autocompact.error`,default:``},"metrics.lastResponseTime":{kind:`input`,path:`metrics.lastResponseTime`,type:`number`,default:0},"metrics.responseTime":{kind:`input`,path:`metrics.responseTime`,type:`number`,default:0},"metrics.sessionDuration":{kind:`input`,path:`metrics.sessionDuration`,type:`number`,default:0},"metrics.messageCount":{kind:`input`,path:`metrics.messageCount`,type:`number`,default:0},"metrics.linesAdded":{kind:`input`,path:`metrics.linesAdded`,type:`number`,default:0},"metrics.linesRemoved":{kind:`input`,path:`metrics.linesRemoved`,type:`number`,default:0},"activity.command":{kind:`input`,path:`activity.command`,type:`string`,default:``},"activity.todo.total":{kind:`input`,path:`activity.todo.total`,type:`number`,default:0},"activity.todo.completed":{kind:`input`,path:`activity.todo.completed`,type:`number`,default:0},"activity.todo.position":{kind:`input`,path:`activity.todo.position`,type:`number`,default:0},"activity.todo.active":{kind:`input`,path:`activity.todo.active`,type:`string`,default:``},"activity.tool.running":{kind:`input`,path:`activity.tool.running`,type:`string`,default:``},"activity.tool.done":{kind:`input`,path:`activity.tool.done`,type:`string`,default:``}},segments:{directory:{description:"The current directory, shortened fish-style — `~` under home, project-relative inside the project.",template:UD},model:{description:`The active model's display name.`,template:`✱ {{ formatModelName .model.display_name }}`,when:`{{ ne .model.display_name "" }}`},sessionId:{description:`The session id, truncated to 8 characters.`,template:`⌗{{ trunc 8 .session.id }}`,when:`{{ ne .session.id "" }}`},version:{description:`The Claude Code version reported in the hook payload.`,template:`◈ v{{ .version }}`,when:`{{ ne .version "" }}`},tmux:{description:`The tmux session name; hidden when not inside tmux.`,template:`tmux:{{ .tmux.session | default "none" }}`,when:`{{ ne .tmux.session "" }}`},host:{description:`user@host on a warning background, shown only over SSH.`,template:`⇄ {{ .host.user | default "?" }}@{{ .host.name | default "?" }}`,bg:`warning`,when:`{{ .host.ssh }}`},gitaculous:{description:`The git state: a summary (branch, ahead/behind, S/U/? flags) that the arrow at its right edge expands to every fact — repo, in-progress operation, sha, upstream ±, stash count, time since the last commit.`,template:`{{ if eq .git.detail "expanded" }}{{ template "gitExpanded" . }}{{ else }}{{ template "gitCollapsed" . }}{{ end }} {{ action "gitDetail" "▸" "◂" }}`,fg:`{{ readableOn (mix (color "foreground") (bgOf) 60) (bgOf) 3 }}`,when:`{{ ne .git.branch "" }}`,settings:{aheadBehind:{label:`ahead/behind`,domain:`bool`,default:!0},flags:{label:`dirty flags`,domain:`bool`,default:!0},operation:{label:`operation`,domain:`bool`,default:!0},repo:{label:`repo name`,domain:`bool`,default:!0},sha:{label:`commit hash`,domain:`bool`,default:!0},stash:{label:`stash`,domain:`bool`,default:!0},upstream:{label:`upstream`,domain:`bool`,default:!0},age:{label:`time since commit`,domain:`bool`,default:!0}}},gitPr:{description:"The pull request open for this branch, as a link; `⚠ PR` when the forge lookup failed.",template:`{{ if ne .git.prUrl "" }}{{ link .git.prUrl (printf "⇆ #%v" .git.prNumber) }}{{ else }}⚠ PR{{ end }}`,when:`{{ or (ne .git.prUrl "") (ne .git.prError "") }}`},toolbar:{description:`Quick actions: copy the session id, and open the project, transcript or repo.`,template:Wb(``).template},commands:{description:`Type /compact, /model or /clear into this session; /clear asks for a second click.`,template:VD.template},themeSwitcher:{description:"`◀ <theme> ▶`: the theme the bar is wearing; ◀ and ▶ switch this session to the previous or next theme, wrapping at the ends.",template:`{{ carousel "stepTheme" 0 }}`},session:{description:`This session's cost and token total, with a budget warning once a budget is configured.`,template:`§ {{ template "formatCost" .session.cost }} ({{ template "formatTokens" .session.tokens }}){{ template "budgetStatus" (dict "cost" .session.cost "budget" .session.budget.amount "warn" .session.budget.warningThreshold) }}`},today:{description:`Today's cost and tokens across every session, with a budget warning once a budget is configured.`,template:`☉ {{ template "formatCost" .today.cost }} ({{ template "formatTokens" .today.tokens }}){{ template "budgetStatus" (dict "cost" .today.cost "budget" .today.budget.amount "warn" .today.budget.warningThreshold) }}`},block:{description:`The 5-hour rate-limit block: percent used and time to reset, heating to warning then error.`,template:`◱ {{ round .block.nativeUtilization }}% ({{ template "formatResetCountdown" .block.resetsAt }})`,bg:`{{ ramp (round .block.nativeUtilization) "step" 0 (tint) .block.budget.heatThreshold "warning" .block.budget.warningThreshold "error" }}`,when:`{{ gt .block.resetsAt 0 }}`},weekly:{description:`The weekly rate-limit quota: percent used and time to reset, heating to warning then error.`,template:`◑ {{ round .weekly.percentage }}% ({{ template "formatResetCountdown" .weekly.resetsAt }})`,bg:`{{ ramp (round .weekly.percentage) "step" 0 (tint) .weekly.budget.heatThreshold "warning" .weekly.budget.warningThreshold "error" }}`,when:`{{ gt .weekly.resetsAt 0 }}`},burnrate:{description:`Spend per hour, with the projected time to the 5-hour and weekly limits.`,template:`⚡ {{ template "formatRate" .burn.costPerHour }} · {{ template "formatEta" .block.etaMinutes }} to 5h · {{ template "formatEta" .weekly.etaMinutes }} to wk`,bg:`{{ ramp .block.etaMinutes "step" -1 (tint) 0 "error" .burn.eta.errorMinutes "warning" .burn.eta.warnMinutes (tint) }}`,when:`{{ or (gt .block.resetsAt 0) (gt .weekly.resetsAt 0) }}`},speed:{description:`Token throughput for the latest exchange: output, input, and total.`,template:`⇅ out {{ template "formatSpeed" .speed.output }} · in {{ template "formatSpeed" .speed.input }} · tot {{ template "formatSpeed" .speed.total }}`,when:`{{ gt .session.tokens 0 }}`},tokenSparkline:{description:`A sparkline of recent token throughput.`,template:`⚡ {{ sparkline .speed.history 24 }}`,when:`{{ ne .speed.history "" }}`},cacheTimer:{description:"Minutes until the prompt cache expires, or `cold` once it has.",template:`◴ {{ if le (minutesUntilReset .cache.expiresAt) 0 }}cold{{ else }}{{ minutesUntilReset .cache.expiresAt }}m{{ end }}`,fg:`{{ readableOn (color (cascade (minutesUntilReset .cache.expiresAt) "0:error" "9:warning" "21:foreground")) (bgOf) ${Qi} }}`,when:`{{ gt .cache.expiresAt 0 }}`},context:{description:`Context used, in tokens and percent remaining, heating as it fills.`,template:`◔ {{ formatInteger .context.totalTokens }} ({{ .context.contextLeft }}%)`,bg:`{{ ramp .context.contextLeft "step" 0 "error" 21 "warning" 41 (tint) }}`,when:`{{ gt .context.totalTokens 0 }}`},ceiling:{description:`The memento plugin's context ceiling for this session: − and + move it by 100K, ∞ lifts it, ↺ drops this session's own setting.`,template:`{{ if ne .memento.error "" }}⌈ ⚠ {{ .memento.error }} {{ action "ceiling.clear" "↺" }}{{ else }}⌈ {{ if .memento.off }}off{{ else }}{{ template "formatTokenCount" .memento.ceiling }} {{ action "ceiling.lower" "−" }} {{ action "ceiling.raise" "+" }} {{ action "ceiling.off" "∞" }}{{ end }}{{ if ne .memento.session "" }} {{ action "ceiling.clear" "↺" }}{{ end }}{{ end }}`,bg:`{{ if ne .memento.error "" }}{{ color "error" }}{{ else }}{{ tint }}{{ end }}`,when:`{{ or (ge .memento.ceiling 0) (ne .memento.error "") }}`},autocompact:{description:`Claude Code's auto-compact window: − and + move it by 100K, ↺ returns it to auto. Clicks type /autocompact into this session.`,template:`{{ if ne .autocompact.error "" }}⇲ ⚠ {{ .autocompact.error }}{{ else }}⇲ {{ if eq .autocompact.window 0 }}auto{{ else }}{{ template "formatTokenCount" .autocompact.applied }}{{ end }}{{ if gt .autocompact.lower 0 }} {{ action (printf "autocompact.%d" .autocompact.lower) "−" }}{{ end }}{{ if gt .autocompact.higher 0 }} {{ action (printf "autocompact.%d" .autocompact.higher) "+" }}{{ end }}{{ if gt .autocompact.window 0 }} {{ action "autocompact.auto" "↺" }}{{ end }}{{ end }}`,bg:`{{ if ne .autocompact.error "" }}{{ color "error" }}{{ else }}{{ tint }}{{ end }}`,when:`{{ or (ge .autocompact.window 0) (ne .autocompact.error "") }}`},metrics:{description:`Response times, session duration, message count, and lines added/removed.`,template:`{{ if .metrics.lastResponseTime }} Δ {{ template "formatResponseTime" .metrics.lastResponseTime }}{{ end }}{{ if .metrics.responseTime }} ⧖ {{ template "formatResponseTime" .metrics.responseTime }}{{ end }}{{ if .metrics.sessionDuration }} ⧗ {{ template "formatDuration" .metrics.sessionDuration }}{{ end }}{{ if .metrics.messageCount }} ◆ {{ .metrics.messageCount }}{{ end }}{{ if .metrics.linesAdded }} + {{ .metrics.linesAdded }}{{ end }}{{ if .metrics.linesRemoved }} - {{ .metrics.linesRemoved }}{{ end }} `,when:`{{ or (gt .metrics.lastResponseTime 0.0) (gt .metrics.responseTime 0.0) (gt .metrics.sessionDuration 0.0) (gt .metrics.messageCount 0) (gt .metrics.linesAdded 0) (gt .metrics.linesRemoved 0) }}`},activity:{description:`What Claude is doing: the slash command that opened the turn, the in-progress todo, and the tools in flight.`,template:`{{ if .activity.command }} ⌘ {{ .activity.command }}{{ end }}{{ if .activity.todo.total }}{{ if .activity.todo.active }} ☐ {{ .activity.todo.position }}/{{ .activity.todo.total }} {{ abbrev 32 .activity.todo.active }}{{ else }} ☑ {{ .activity.todo.completed }}/{{ .activity.todo.total }}{{ end }}{{ end }}{{ if .activity.tool.running }} ⟳ {{ template "formatToolTally" .activity.tool.running }}{{ end }}{{ if .activity.tool.done }} ✓ {{ template "formatToolTally" .activity.tool.done }}{{ end }} `,when:`{{ or (ne .activity.command "") (gt .activity.todo.total 0) (ne .activity.tool.running "") (ne .activity.tool.done "") }}`}},root:{rows:{identity:{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`host`},{kind:`segment`,name:`directory`},{kind:`segment`,name:`gitaculous`}]},status:{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`model`},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`context`},{kind:`segment`,name:`ceiling`},{kind:`segment`,name:`autocompact`}]},{kind:`segment`,name:`cacheTimer`},{kind:`segment`,name:`block`},{kind:`segment`,name:`weekly`},{kind:`segment`,name:`activity`}]}}},actions:{...Wb(``).actions,...VD.actions,copyDir:{copy:`{{ .current_dir }}`},stepTheme:{set:`theme`,from:`themes`},gitDetail:{set:`git-detail`,cycle:[`collapsed`,`expanded`]},"ceiling.raise":{ceiling:`set`,to:`+100_000`},"ceiling.lower":{ceiling:`set`,to:`-100_000`},"ceiling.off":{ceiling:`set`,to:`off`},"ceiling.clear":{ceiling:`clear`},"autocompact.auto":{slash:Xb(`/autocompact auto`)},...Object.fromEntries(ID.map(e=>[`autocompact.${e}`,{slash:Xb(`/autocompact ${e}`)}]))},looks:{none:{hueShift:0,chromaScale:1,lightnessScale:1,lightnessShift:0},vivid:{hueShift:0,chromaScale:1.35,lightnessScale:1,lightnessShift:0},muted:{hueShift:0,chromaScale:.55,lightnessScale:1,lightnessShift:0},dim:{hueShift:0,chromaScale:1,lightnessScale:.85,lightnessShift:0},bright:{hueShift:0,chromaScale:1,lightnessScale:1,lightnessShift:.08},inverted:{hueShift:0,chromaScale:1,lightnessScale:-1,lightnessShift:1}},presets:{default:{},compact:{root:{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`directory`},{kind:`segment`,name:`gitaculous`},{kind:`segment`,name:`context`}]},globals:{padding:0}},verbose:{root:{kind:`container`,direction:`vertical`,children:[{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`directory`},{kind:`segment`,name:`gitaculous`},{kind:`segment`,name:`gitPr`}]},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`model`},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`context`},{kind:`segment`,name:`ceiling`},{kind:`segment`,name:`autocompact`}]},{kind:`segment`,name:`cacheTimer`},{kind:`segment`,name:`block`},{kind:`segment`,name:`weekly`},{kind:`segment`,name:`burnrate`}]},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`speed`},{kind:`segment`,name:`tokenSparkline`}]}]}},zen:{root:{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`directory`},{kind:`segment`,name:`context`}]},globals:{style:`plain`,look:`dim`}},git:{root:{kind:`container`,direction:`vertical`,children:[{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`host`},{kind:`segment`,name:`directory`},{kind:`segment`,name:`gitaculous`},{kind:`segment`,name:`gitPr`}]},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`model`},{kind:`segment`,name:`context`},{kind:`segment`,name:`activity`}]}]}},usage:{root:{kind:`container`,direction:`vertical`,children:[{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`model`},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`context`},{kind:`segment`,name:`ceiling`},{kind:`segment`,name:`autocompact`}]},{kind:`segment`,name:`cacheTimer`}]},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`block`},{kind:`segment`,name:`weekly`},{kind:`segment`,name:`burnrate`}]},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`session`},{kind:`segment`,name:`today`},{kind:`segment`,name:`speed`},{kind:`segment`,name:`tokenSparkline`}]}]}},dense:{root:{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`host`},{kind:`segment`,name:`directory`},{kind:`segment`,name:`gitaculous`},{kind:`segment`,name:`model`},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`context`},{kind:`segment`,name:`ceiling`},{kind:`segment`,name:`autocompact`}]},{kind:`segment`,name:`cacheTimer`},{kind:`segment`,name:`block`},{kind:`segment`,name:`weekly`},{kind:`segment`,name:`session`},{kind:`segment`,name:`activity`}]},globals:{padding:0}}},editGlobals:{style:`plain`,default_separator:` | `},helpers:{gitPaint:`{{ fg (readableOn (color .color) (bgOf) ${Qi}) .text }}`,gitCollapsed:`{{ template "gitBranch" . }}{{ template "gitAheadBehind" . }}{{ template "gitFlags" . }}`,gitExpanded:`(git){{ template "gitRepo" . }}{{ template "gitOperation" . }}{{ template "gitSha" . }}{{ template "gitFlags" . }} {{ template "gitBranch" . }}{{ template "gitUpstream" . }}{{ template "gitStash" . }}{{ template "gitAge" . }}`,gitBranch:`⎇ {{ template "gitPaint" (dict "color" .git.color.branch "text" .git.branch) }}`,gitRepo:`{{ if and .settings.repo (ne .git.repoName "") }} {{ .git.repoName }}{{ end }}`,gitOperation:`{{ if and .settings.operation (ne .git.operation "") }} [{{ .git.operation }}]{{ end }}`,gitSha:`{{ if and .settings.sha (ne .git.sha "") }} {{ .git.sha }}{{ end }}`,gitFlags:`{{ if and .settings.flags (or (gt .git.staged 0) (gt .git.unstaged 0) (gt .git.untracked 0) (gt .git.conflicts 0)) }} {{ if gt .git.staged 0 }}{{ template "gitPaint" (dict "color" .git.color.staged "text" "S") }}{{ end }}{{ if gt .git.unstaged 0 }}{{ template "gitPaint" (dict "color" .git.color.unstaged "text" "U") }}{{ end }}{{ if gt .git.untracked 0 }}{{ template "gitPaint" (dict "color" .git.color.untracked "text" "?") }}{{ end }}{{ if gt .git.conflicts 0 }}{{ template "gitPaint" (dict "color" .git.color.conflicts "text" (printf "!%v" .git.conflicts)) }}{{ end }}{{ end }}`,gitAheadBehind:`{{ if and .settings.aheadBehind (or (gt .git.ahead 0) (gt .git.behind 0)) }} {{ if gt .git.ahead 0 }}{{ template "gitPaint" (dict "color" .git.color.ahead "text" (printf "+%v" .git.ahead)) }}{{ end }}{{ if and (gt .git.ahead 0) (gt .git.behind 0) }}/{{ end }}{{ if gt .git.behind 0 }}{{ template "gitPaint" (dict "color" .git.color.behind "text" (printf "-%v" .git.behind)) }}{{ end }}{{ end }}`,gitUpstream:`{{ if and .settings.upstream (ne .git.upstream "") }} [{{ .git.upstream }}{{ template "gitAheadBehind" . }}]{{ end }}`,gitStash:`{{ if and .settings.stash (gt .git.stash 0) }} {{ template "gitPaint" (dict "color" .git.color.stash "text" (printf "(%v stashed)" .git.stash)) }}{{ end }}`,gitAge:`{{ if and .settings.age (gt .git.timeSinceCommit 0) }} ◷ {{ template "formatTimeSince" .git.timeSinceCommit }}{{ end }}`,formatCost:'{{ if lt . 0.01 }}<$0.01{{ else }}${{ printf "%.2f" . }}{{ end }}',formatTokenCount:`{{ if ge . 1000000 }}{{ printf "%.1f" (divf . 1000000) }}M{{ else if ge . 1000 }}{{ printf "%.1f" (divf . 1000) }}K{{ else }}{{ . }}{{ end }}`,formatTokens:`{{ template "formatTokenCount" . }} tokens`,formatToolTally:`{{ $names := splitList "," . }}{{ range $i, $pair := $names }}{{ if lt $i 2 }}{{ if $i }} {{ end }}{{ $kv := splitList ":" $pair }}{{ index $kv 0 }}{{ if ne (index $kv 1) "1" }}×{{ index $kv 1 }}{{ end }}{{ end }}{{ end }}{{ if gt (len $names) 2 }} +{{ sub (len $names) 2 }}{{ end }}`,formatRate:`{{ if lt . 0 }}—/hr{{ else }}{{ template "formatCost" . }}/hr{{ end }}`,formatEta:`{{ if lt . 0 }}—{{ else }}{{ template "formatLongTimeRemaining" . }}{{ end }}`,formatSpeed:`{{ if lt . 0 }}—{{ else }}{{ template "formatTokenCount" (round .) }}/s{{ end }}`,formatTokenBreakdown:`{{ $first := true }}{{ if gt .input 0 }}{{ template "formatTokenCount" .input }} in{{ $first = false }}{{ end }}{{ if gt .output 0 }}{{ if not $first }} + {{ end }}{{ template "formatTokenCount" .output }} out{{ $first = false }}{{ end }}{{ if or (gt .cacheCreation 0) (gt .cacheRead 0) }}{{ if not $first }} + {{ end }}{{ template "formatTokenCount" (add .cacheCreation .cacheRead) }} cached{{ $first = false }}{{ end }}{{ if $first }}0 tokens{{ end }}`,budgetStatus:`{{ if or (le .budget 0) (lt .cost 0) }}{{ else }}{{ $pct := minf 100 (mulf (divf .cost .budget) 100) }}{{ $p := printf "%.0f%%" $pct }}{{ if ge $pct .warn }} !{{ $p }}{{ else }}{{ if ge $pct 50 }} +{{ $p }}{{ else }} {{ $p }}{{ end }}{{ end }}{{ end }}`,formatTimeSince:`{{ if lt . 60 }}{{ . }}s{{ else if lt . 3600 }}{{ div . 60 }}m{{ else if lt . 86400 }}{{ div . 3600 }}h{{ else if lt . 604800 }}{{ div . 86400 }}d{{ else }}{{ div . 604800 }}w{{ end }}`,formatDuration:`{{ if lt . 60 }}{{ printf "%.0f" . }}s{{ else if lt . 3600 }}{{ printf "%.0f" (divf . 60) }}m{{ else if lt . 86400 }}{{ printf "%.1f" (divf . 3600) }}h{{ else }}{{ printf "%.1f" (divf . 86400) }}d{{ end }}`,formatResponseTime:`{{ if lt . 60 }}{{ printf "%.1f" . }}s{{ else }}{{ printf "%.1f" (divf . 60) }}m{{ end }}`,formatLongTimeRemaining:`{{ if ge . 1440 }}{{ $d := div . 1440 }}{{ $h := div (mod . 1440) 60 }}{{ if gt $h 0 }}{{ $d }}d {{ $h }}h{{ else }}{{ $d }}d{{ end }}{{ else if ge . 60 }}{{ $h := div . 60 }}{{ $m := mod . 60 }}{{ if gt $m 0 }}{{ $h }}h {{ $m }}m{{ else }}{{ $h }}h{{ end }}{{ else }}{{ . }}m{{ end }}`,formatResetCountdown:`{{ template "formatLongTimeRemaining" (add 1 (minutesUntilReset .)) }}`}},GD=new Set([WD.globals.palette,...Object.values(WD.segments).map(e=>e.palette)].filter(e=>e!==void 0)),KD=lc(AC(`<default>`,JSON.stringify(WD),GD),WD),qD=Eg(KD.presets);function JD(e){return qD.includes(e)}function YD(e){if(!e)return 0;try{return o(e).mtimeMs}catch{return 0}}const XD=new class{slots;head=null;tail=null;constructor(e){this.slots=e}async run(e){await this.acquire();try{return await e()}finally{this.release()}}async acquire(){if(this.slots>0){this.slots--;return}await new Promise(e=>{let t={wake:e,next:null};this.tail?this.tail.next=t:this.head=t,this.tail=t})}release(){let e=this.head;if(!e){this.slots++;return}this.head=e.next,this.head||(this.tail=null),e.wake()}}(8);function ZD(e){return((...t)=>XD.run(()=>e(...t)))}const QD=ZD(y),$D=ZD(v),eO=ZD(b);async function tO(e,t){return XD.run(async()=>{let n=null;try{n=await _(e,`r`);let{size:r,mtimeMs:i,ino:a}=await n.stat(),o=t!==void 0&&(a!==t.ino||r<t.offset),s=o||t===void 0?0:t.offset;if(s>=r)return J({buf:Buffer.alloc(0),start:s,size:r,mtimeMs:i,ino:a,reset:o});let c=Buffer.alloc(r-s),l=0;for(;l<c.length;){let{bytesRead:e}=await n.read(c,l,c.length-l,s+l);if(e===0)break;l+=e}return J({buf:l===c.length?c:c.subarray(0,l),start:s,size:r,mtimeMs:i,ino:a,reset:o})}catch(t){return t.code===`ENOENT`?Y:X(`readAppended ${e}: ${t instanceof Error?t.message:String(t)}`)}finally{await n?.close().catch(e=>{D(`transcript-fs: close failed: ${e instanceof Error?e.message:String(e)}`)})}})}async function nO(e,t){return XD.run(async()=>{let n=null;try{n=await _(e,`r`);let{size:r}=await n.stat(),i=Math.max(0,r-t),a=Buffer.alloc(r-i),o=0;for(;o<a.length;){let{bytesRead:e}=await n.read(a,o,a.length-o,i+o);if(e===0)break;o+=e}return J({buf:o===a.length?a:a.subarray(0,o),fromStart:i===0})}catch(t){return t.code===`ENOENT`?Y:X(`readTail ${e}: ${t instanceof Error?t.message:String(t)}`)}finally{await n?.close().catch(e=>{D(`transcript-fs: close failed: ${e instanceof Error?e.message:String(e)}`)})}})}const rO=/"(?:cache_read_input_tokens|cache_creation_input_tokens)":[1-9]/;function iO(e){let t;try{t=JSON.parse(e)}catch{return null}let n=t.message?.usage;if(!((n?.cache_read_input_tokens??0)>0||(n?.cache_creation_input_tokens??0)>0))return null;let r=t.timestamp==null?NaN:Date.parse(t.timestamp);return Number.isNaN(r)?null:r}async function aO(e){let t=await oO(e);return t.kind===`ok`?J(Math.floor((t.value+36e5)/1e3)):t}async function oO(e){for(let t of[65536,1048576]){let n=await nO(e,t);if(n.kind!==`ok`)return n;let r=sO(n.value.buf,n.value.fromStart);if(r!=null)return J(r);if(n.value.fromStart)return Y}return Y}function sO(e,t){let n=e.toString(`utf8`).split(`
|
|
176
|
-
`),r=+!t;for(let e=n.length-1;e>=r;e--){let t=n[e];if(!t||!
|
|
177
|
-
`).at(-1).trim();function
|
|
178
|
-
`),c=hT([{verb:Qw,args:[s]}]),l=t.kind===`running`?ZE(`[${i.busy}]`,c):ZE(`[${i.act}]`,hT([{verb:cT,args:[n.sessionId]}]));return[{severity:XE,message:s,lines:[[ZE(a,c),l,ZE(`[dismiss]`,hT([{verb:Kw,args:[n.sessionId,uk,r]}])),ZE(`[disable]`,hT([{verb:$w,args:[n.sessionId,dk,`false`]}]))],...o.map(e=>[ZE(e,c)])]}]}function vk(e,t){return e.kind===`stale`?{kind:`source`,root:e.root,newer:e.source,running:e.running}:e.kind===`not-source-checkout`&&t!==null&&t.kind===`stale`?{kind:`release`,newer:t.latest,running:t.installed}:null}function yk(e){switch(e.kind){case`current`:return[`info`,`build: current ${pk(e.stamp)}`];case`stale`:return[`info`,`build: stale — source ${pk(e.source)}, running ${pk(e.running)}`];case`not-source-checkout`:return[`info`,`build: not a source checkout`];case`unchecked`:return[`warn`,`build: unchecked: ${e.reason}`]}}function bk(e){switch(e.kind){case`current`:return[`info`,`release: current ${jT(e.installed)}`];case`stale`:return[`info`,`release: stale — latest ${jT(e.latest)}, running ${jT(e.installed)}`];case`ahead`:return[`info`,`release: ahead — running ${jT(e.installed)}, latest ${jT(e.latest)}`];case`unchecked`:return[`warn`,`release: unchecked: ${e.reason}`]}}function xk(e){let t=null;return([n,r])=>{r!==t&&(t=r,e(n,r))}}const Sk=e=>e.split(/\r?\n/).map(e=>e.trim()).filter(e=>e!==``).at(-1);function Ck(e){let t=e.exitCode===null?``:` (exit ${e.exitCode})`,n=Sk(e.stderr)??e.error??Sk(e.stdout)??`no output`;return`${e.reason}${t}: ${n}`}function wk(e){let{entryUrl:t,intervalMs:n,releaseIntervalMs:r,registryUrl:i,fetchImpl:a,onApplied:o,log:s}=e,c={kind:`unchecked`,reason:`not sampled yet`},l=null,u=hk,d=null,f=xk(s),p=xk(s),m=()=>vk(c,l);function h(){let e=m(),t=e===null?null:fk(e);(d===null?null:d.identity)!==t&&(d?.dispose(),d=t===null?null:{identity:t,dispose:nk(uk,{kind:`allow-list`,allowed:[t]})})}function g(){c=pD(t,dD),f(yk(c)),h()}async function _(){l=FT(xT,await PT(NT,a,i)),p(bk(l)),h()}return{arm(){FD(dk,{kind:`allow-list`,allowed:[`false`]}),g(),setInterval(g,n).unref(),c.kind===`not-source-checkout`&&(_(),setInterval(()=>void _(),r).unref())},notice:e=>_k(m(),u,e),act(){let e=m();if(e===null)throw new $(`apply-update: nothing newer is known to apply`);let t=mk(e);if(u.kind===`running`)throw new $(`apply-update: already ${t.busy}`);u=gk,s(`info`,`apply-update: ${t.act} — ${t.command.bin} ${t.command.args?.join(` `)??``}`),Te({...t.command,category:`update.apply`,timeoutMs:6e5}).then(n=>{if(n.ok){u=hk,s(`info`,`apply-update: ${t.act} succeeded`),g(),o();return}let r=Ck(n);u={kind:`failed`,identity:fk(e),reason:r},s(`error`,`apply-update: ${t.act} failed: ${r}`)})}}}var Tk=class{static CACHE_DIR=O();static USAGE_CACHE_DIR=c.join(this.CACHE_DIR,`usage`);static LOCKS_DIR=c.join(this.CACHE_DIR,`locks`);static isLocked(e){let t=c.join(this.LOCKS_DIR,e);if(!r.existsSync(t))return!1;try{let n=r.readFileSync(t,`utf-8`),i=parseInt(n.trim(),10);if(isNaN(i))return D(`Invalid PID in lock file ${e}, removing stale lock`),r.unlinkSync(t),!1;try{return process.kill(i,0),!0}catch(n){return n.code===`ESRCH`?(D(`Removing stale lock file ${e} for dead process ${i}`),r.unlinkSync(t),!1):(D(`Error checking process ${i} for lock ${e}:`,n),!0)}}catch(t){return D(`Error reading lock file ${e}:`,t),!0}}static async acquireLock(e,t=5e3){await this.ensureCacheDirectories();let n=c.join(this.LOCKS_DIR,e),i=Date.now(),a=String(process.pid);for(;Date.now()-i<t;)try{return await r.promises.writeFile(n,a,{flag:`wx`}),D(`Lock acquired for ${e}`),!0}catch(e){if(e.code===`EEXIST`)await ae(50);else throw e}return D(`Failed to acquire lock for ${e} within ${t}ms`),!1}static async releaseLock(e){let t=c.join(this.LOCKS_DIR,e);try{await r.promises.unlink(t),D(`Lock released for ${e}`)}catch(t){t.code!==`ENOENT`&&D(`Error releasing lock for ${e}:`,t)}}static async ensureCacheDirectories(){try{await Promise.all([r.promises.mkdir(this.CACHE_DIR,{recursive:!0}),r.promises.mkdir(this.USAGE_CACHE_DIR,{recursive:!0}),r.promises.mkdir(this.LOCKS_DIR,{recursive:!0})])}catch(e){D(`Failed to create cache directories:`,e)}}static createProjectHash(e){return T(`md5`).update(e).digest(`hex`).substring(0,8)}static async getUsageCache(e,t){await this.ensureCacheDirectories();let n=c.join(this.USAGE_CACHE_DIR,`${e}.json`),i=`${e}.usage.lock`;for(let a=0;a<3;a++){if(this.isLocked(i)){D(`Cache for ${e} is locked, waiting...`),await ae(75);continue}try{let i=await r.promises.readFile(n,`utf-8`),a=JSON.parse(i);return!t||a.timestamp>=t?(D(`[CACHE-HIT] ${e} disk cache: found`),this.deserializeDates(a.data)):(D(`${e} cache outdated: cache=${a.timestamp}, latest=${t}`),null)}catch(t){if(t.code===`ENOENT`)return D(`No shared ${e} usage cache found`),null;D(`Attempt ${a+1} failed to read ${e} cache: ${t.message}. Retrying...`),await ae(75)}}return D(`Failed to read ${e} cache after 3 attempts.`),null}static deserializeDates(e){return Array.isArray(e)?e.map(e=>({...e,timestamp:new Date(e.timestamp)})):e}static async setUsageCache(e,t,n){let i=`${e}.usage.lock`;if(!await this.acquireLock(i)){D(`Could not acquire lock to set usage cache for ${e}`);return}try{await this.ensureCacheDirectories();let i=c.join(this.USAGE_CACHE_DIR,`${e}.json`),a=JSON.stringify({data:t,timestamp:n||Date.now()});await r.promises.writeFile(i,a,`utf-8`),D(`[CACHE-SET] ${e} disk cache stored`)}catch(t){D(`Failed to save ${e} usage cache:`,t)}finally{await this.releaseLock(i)}}};const Ek={"claude-haiku-4-5-20251001":{name:`Claude Haiku 4.5`,input:1,output:5,cache_write_5m:1.25,cache_write_1h:2,cache_read:.1},"claude-haiku-4-5":{name:`Claude Haiku 4.5`,input:1,output:5,cache_write_5m:1.25,cache_write_1h:2,cache_read:.1},"claude-opus-4-20250514":{name:`Claude Opus 4`,input:15,output:75,cache_write_5m:18.75,cache_write_1h:30,cache_read:1.5},"claude-opus-4-1":{name:`Claude Opus 4.1`,input:15,output:75,cache_write_5m:18.75,cache_write_1h:30,cache_read:1.5},"claude-opus-4-1-20250805":{name:`Claude Opus 4.1`,input:15,output:75,cache_write_5m:18.75,cache_write_1h:30,cache_read:1.5},"claude-sonnet-4-20250514":{name:`Claude Sonnet 4`,input:3,output:15,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3},"claude-4-opus-20250514":{name:`Claude 4 Opus`,input:15,output:75,cache_write_5m:18.75,cache_write_1h:30,cache_read:1.5},"claude-4-sonnet-20250514":{name:`Claude 4 Sonnet`,input:3,output:15,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3},"claude-sonnet-4-5":{name:`Claude Sonnet 4.5`,input:3,output:15,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3},"claude-sonnet-4-5-20250929":{name:`Claude Sonnet 4.5`,input:3,output:15,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3},"claude-opus-4-5":{name:`Claude Opus 4.5`,input:5,output:25,cache_write_5m:6.25,cache_write_1h:10,cache_read:.5},"claude-opus-4-5-20251101":{name:`Claude Opus 4.5`,input:5,output:25,cache_write_5m:6.25,cache_write_1h:10,cache_read:.5},"claude-opus-4-6":{name:`Claude Opus 4.6`,input:5,output:25,cache_write_5m:6.25,cache_write_1h:10,cache_read:.5},"claude-opus-4-6-20260205":{name:`Claude Opus 4.6`,input:5,output:25,cache_write_5m:6.25,cache_write_1h:10,cache_read:.5},"claude-sonnet-4-6":{name:`Claude Sonnet 4.6`,input:3,output:15,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3}};var Dk=class{static executionCache=null;static modelPricingCache=new Map;static GITHUB_PRICING_URL=`https://raw.githubusercontent.com/promptctl/cc-candybar/main/pricing.json`;static async loadDiskCache(){let e=Date.now()-1440*60*1e3;return await Tk.getUsageCache(`pricing`,e)}static async saveDiskCache(e){await Tk.setUsageCache(`pricing`,e)}static async fetchPricingData(){return new Promise(e=>{let t=new ee(this.GITHUB_PRICING_URL),n=E({hostname:t.hostname,path:t.pathname,headers:{"User-Agent":`cc-candybar`,"Cache-Control":`no-cache`},timeout:5e3},t=>{if(t.statusCode!==200){D(`HTTP ${t.statusCode}: ${t.statusMessage}`),e(null);return}let r=``,i=0;t.on(`data`,t=>{if(i+=t.length,i>1048576){D(`Response too large`),n.destroy(),e(null);return}r+=t}),t.on(`end`,()=>{try{let t=JSON.parse(r),n=t._meta,i={};for(let[e,n]of Object.entries(t))e!==`_meta`&&(i[e]=n);this.validatePricingData(i)?(D(`Fetched fresh pricing from GitHub for ${Object.keys(i).length} models`),D(`Pricing last updated: ${n?.updated||`unknown`}`),e(i)):(D(`Invalid pricing data structure`),e(null))}catch(t){D(`Failed to parse JSON:`,t),e(null)}}),t.on(`error`,t=>{D(`Response error:`,t),e(null)})});n.on(`error`,t=>{D(`Request error:`,t),e(null)}),n.on(`timeout`,()=>{D(`Request timeout`),n.destroy(),e(null)}),n.end()})}static async getCurrentPricing(){if(this.executionCache!==null)return D(`[CACHE-HIT] Pricing execution cache: ${Object.keys(this.executionCache).length} models`),this.executionCache;let e=await this.loadDiskCache();if(e)return D(`[CACHE-HIT] Pricing disk cache: ${Object.keys(e).length} models`),this.executionCache=e,D(`[CACHE-SET] Pricing execution cache stored: ${Object.keys(e).length} models`),e;let t=await this.fetchPricingData();return t?(await this.saveDiskCache(t),D(`[CACHE-SET] Pricing disk cache stored: ${Object.keys(t).length} models`),this.executionCache=t,D(`[CACHE-SET] Pricing execution cache stored: ${Object.keys(t).length} models`),t):(D(`[CACHE-FALLBACK] Using offline pricing data: ${Object.keys(Ek).length} models`),this.executionCache=Ek,D(`[CACHE-SET] Pricing execution cache stored: ${Object.keys(Ek).length} models`),Ek)}static validatePricingData(e){if(!e||typeof e!=`object`)return!1;for(let[,t]of Object.entries(e)){if(!t||typeof t!=`object`)return!1;let e=t;if(typeof e.input!=`number`||typeof e.output!=`number`||typeof e.cache_read!=`number`)return!1}return!0}static async getModelPricing(e){if(this.modelPricingCache.has(e))return D(`[CACHE-HIT] Model pricing cache: ${e}`),this.modelPricingCache.get(e);let t=await this.getCurrentPricing(),n;return n=t[e]?t[e]:this.fuzzyMatchModel(e,t),this.modelPricingCache.set(e,n),D(`[CACHE-SET] Model pricing cache: ${e}`),n}static fuzzyMatchModel(e,t){let n=e.toLowerCase();for(let[e,r]of Object.entries(t))if(e.toLowerCase()===n)return r;for(let{pattern:e,fallback:r}of[{pattern:[`opus-4-6`,`claude-opus-4-6`],fallback:`claude-opus-4-6-20260205`},{pattern:[`opus-4-5`,`claude-opus-4-5`],fallback:`claude-opus-4-5-20251101`},{pattern:[`opus-4-1`,`claude-opus-4-1`],fallback:`claude-opus-4-1-20250805`},{pattern:[`opus-4`,`claude-opus-4`],fallback:`claude-opus-4-20250514`},{pattern:[`sonnet-4-6`,`sonnet-4.6`,`claude-sonnet-4-6`],fallback:`claude-sonnet-4-6`},{pattern:[`sonnet-4.5`,`4-5-sonnet`,`sonnet-4-5`],fallback:`claude-sonnet-4-5-20250929`},{pattern:[`sonnet-4`,`claude-sonnet-4`],fallback:`claude-sonnet-4-20250514`},{pattern:[`haiku-4.5`,`4-5-haiku`,`haiku-4-5`],fallback:`claude-haiku-4-5-20251001`},{pattern:[`haiku`],fallback:`claude-haiku-4-5-20251001`},{pattern:[`opus`],fallback:`claude-opus-4-20250514`},{pattern:[`sonnet`],fallback:`claude-sonnet-4-5-20250929`}])if(e.some(e=>n.includes(e))&&t[r])return t[r];return t[`claude-sonnet-4-5-20250929`]||{name:`${e} (Unknown Model)`,input:3,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3,output:15}}static async calculateCostForEntry(e){let t=e.message?.usage;if(!t)return 0;let n=this.extractModelId(e),r=await this.getModelPricing(n),i=t.input_tokens||0,a=t.output_tokens||0,o=t.cache_creation_input_tokens||0,s=t.cache_read_input_tokens||0,c=i/1e6*r.input,l=a/1e6*r.output,u=s/1e6*r.cache_read,d=o/1e6*r.cache_write_5m;return c+l+d+u}static extractModelId(e){if(e.model&&typeof e.model==`string`)return e.model;let t=e.message;if(t?.model){let e=t.model;if(typeof e==`string`)return e;let n=e;return(typeof n?.id==`string`?n.id:null)||`claude-sonnet-4-5-20250929`}return e.model_id&&typeof e.model_id==`string`?e.model_id:`claude-sonnet-4-5-20250929`}};const Ok=/<command-name>\s*([^<\s][^<]*?)\s*<\/command-name>/;function kk(e){if(typeof e==`string`)return Ok.exec(e)?.[1]}function Ak(e){let t=e?.todos;if(!Array.isArray(t))return;let n=[];for(let e of t){if(typeof e!=`object`||!e)continue;let{content:t,activeForm:r,status:i}=e,a=i===`in_progress`,o=a&&typeof r==`string`?r:t;typeof o==`string`&&n.push({text:o,active:a,done:i===`completed`})}return n}function jk(e){let t=e.message?.content,n=e.type===`user`,r=[],i=[],a,o;if(typeof t==`string`)o=t;else if(Array.isArray(t))for(let e of t){if(typeof e!=`object`||!e)continue;let t=e;switch(t.type){case`tool_use`:{let{id:e,name:n}=t;if(typeof e!=`string`||typeof n!=`string`)break;r.push({id:e,name:n}),n===`TodoWrite`&&(a=Ak(t.input)??a);break}case`tool_result`:{let e=t.tool_use_id;typeof e==`string`&&i.push(e);break}case`text`:o??=t.text;break;default:break}}let s=n?kk(o):void 0;if(!(r.length===0&&i.length===0&&a===void 0&&s===void 0))return{...r.length>0&&{started:r},...i.length>0&&{finished:i},...a!==void 0&&{todos:a},...s!==void 0&&{command:s}}}function Mk(){let e=[],t=process.env.CLAUDE_CONFIG_DIR;if(t&&t.split(`,`).forEach(t=>{let n=t.trim();a(n)&&e.push(n)}),e.length===0){let t=p(),n=d(t,`.config`,`claude`),r=d(t,`.claude`);a(n)&&e.push(n),a(r)&&e.push(r)}return e}async function Nk(e){let t=[];for(let n of e){let e=d(n,`projects`);if(a(e))try{let n=await QD(e,{withFileTypes:!0});for(let r of n)if(r.isDirectory()){let n=d(e,r.name);t.push(n)}}catch(t){D(`Failed to read projects directory ${e}:`,t)}}return t}async function Pk(e,t,n){let r=[],i=d(t,e,`subagents`);try{let t=(await QD(i)).filter(e=>e.startsWith(`agent-`)&&e.endsWith(`.jsonl`));for(let a of t){let t=d(i,a);if(n?.has(t)){r.push(t);continue}try{let n=(await $D(t,`utf-8`)).split(`
|
|
179
|
-
`)[0];n&&JSON.parse(n).sessionId===e&&r.push(t)}catch{
|
|
180
|
-
`))if(n.trim())try{let e=
|
|
181
|
-
`);if(i.length>1)return n;let a=Math.max(0,t.width-oA(i[0]??``)),o=Math.floor(a/r.length),s=a-o*r.length;return r.forEach(({at:t,how:i},a)=>{let c=o+(a===r.length-1?s:0),{text:l}=e[t];nA(l,l.cellLength+c,i),n[t]=rA(e[t])}),n}function cA(e,t){let n=[],r=[],i=()=>{if(!r.length)return;let e=lA(r,t);e.plain.length>0&&n.push(e),r=[]};for(let a of e)if(dA(a.style).link){i();let e=lA([a],t);e.plain.length>0&&n.push(e)}else r.push(a);return i(),n}function lA(e,t){let n=t!==void 0&&!t.isNull?e.map(e=>uA(e,t)):e,r=H.fromFragments(n);return r.end=``,r.noWrap=!0,n.length===1?r.style=n[0].style:t!==void 0&&!t.isNull&&(r.style=t),r}function uA(e,t){let n=e.copy();return n.style=t.add(dA(e.style)),n}function dA(e){return e instanceof B?e:B.parse(e)}var fA=class extends Error{constructor(e,t,n){super(`Invalid ${t} color ${JSON.stringify(e)}: ${n}`),this.name=`ColorSpecError`}};function pA(e,t,n,r,i){let{palette:a,tint:o}=e,s=mA(n,i),c=s===void 0?o:hA(a,s,`bg`);e.bg=c;let l=mA(r,i),u=l===void 0?$i(a,c,t):hA(a,l,`fg`);return new B({bgcolor:P.fromRgba(c),color:P.fromRgba(u)})}function mA(e,t){if(e!==void 0)return e.evaluate(t).map(e=>e.plain).join(``)}function hA(e,t,n){try{return Vn(e,t)}catch(e){throw e instanceof Rn?new fA(t,n,e.message):e}}function gA(e,t,n,r){let i=new Map,a=Object.entries(t);for(let[t,o]of[...a.filter(([,e])=>!(`do`in e)),...a.filter(([,e])=>`do`in e)])i.set(t,_A(e,t,o,n,r,i));return i}function _A(e,t,n,r,i,a){if(`set`in n){let e=r.get(n.set)??n.set;if(`to`in n)return{kind:`set-literal`,key:n.set,value:n.to,stateVar:e};if(`from`in n){let t=Ky(n.from,i);return{kind:`set-option`,key:n.set,stateVar:e,options:[...t.members],paletteOf:t.paletteOf}}return`int`in n?{kind:`set-int`,key:n.set,stateVar:e}:`cycle`in n?{kind:`set-cycle`,key:n.set,stateVar:e,members:n.cycle}:{kind:`set-bounded`,key:n.set,by:n.by}}if(`persist`in n){let e=Ty.get(n.persist)??n.persist;if(`to`in n)return{kind:`persist-literal`,key:n.persist,value:n.to,stateVar:e};if(`from`in n){let t=Ky(n.from,i);return{kind:`persist-option`,key:n.persist,stateVar:e,options:[...t.members],paletteOf:t.paletteOf}}if(`cycle`in n)return{kind:`persist-cycle`,key:n.persist,stateVar:e,members:n.cycle};if(`removeSegment`in n)return{kind:`layout-op`,key:n.persist,op:{op:`remove`,target:n.removeSegment}};if(`insertSegment`in n)return{kind:`layout-op`,key:n.persist,op:{op:`insert`,segment:n.insertSegment,anchor:n.anchor,relation:n.relation}};if(`insertSegmentFrom`in n){let e=Ky(n.insertSegmentFrom,i);return{kind:`layout-op-option`,key:n.persist,anchor:n.anchor,relation:n.relation,options:[...e.members],paletteOf:e.paletteOf}}return{kind:`persist-bounded`,key:n.persist,by:n.by}}if(`copy`in n)return{kind:`copy`,text:yA(e,n.copy,t)};if(`open`in n)return{kind:`open`,target:yA(e,n.open,t)};if(`reset`in n)return{kind:`reset`,key:n.reset};if(`doctor`in n)return n.doctor===`run`?{kind:`doctor-run`}:{kind:`doctor-fix`,check:n.check};if(`ceiling`in n)return{kind:`ceiling`,args:sS(n)};if(`slash`in n)return{kind:`slash`,line:n.slash};if(`undo`in n)return{kind:`undo`};if(`redo`in n)return{kind:`redo`};if(`save`in n)return{kind:`save`};if(`preset`in n)return n.preset===`save`?{kind:`preset-save`}:{kind:`preset-delete`,name:yA(e,n.name,t)};let[o,...s]=n.do.map(e=>{let n=a.get(e);if(n===void 0)throw Error(`action "${t}" fires "${e}", which is not declared in this config`);return n});return{kind:`do`,head:o,rest:s}}function vA(e){return e.kind===`do`?vA(e.head):e}function yA(e,t,n){try{return e(t)}catch(e){throw Error(`Template parse error in actions.${n}: ${e.message}`,{cause:e})}}function bA(e,t){return e.has(t)?w_(e.read(t)):``}function xA(e,t){return e.evaluate(t).map(e=>e.plain).join(``)}function SA(e,t,n,r){let i=new H(e,{style:B.combine([r,new B({link:t,bold:n})])});return i.noWrap=!0,i.end=``,i}function CA(e,t){return Math.max(e.members.indexOf(bA(t,e.stateVar)),0)}function wA(e,t,n,r,i){switch(e.kind){case`set-literal`:{let t=bA(r,e.stateVar);return{effects:[{verb:Kw,args:[i,e.key,e.value]}],active:t===e.value}}case`set-option`:{let a=n??t,o=bA(r,e.stateVar);return{effects:[{verb:Kw,args:[i,e.key,a]}],active:o===a}}case`set-int`:{let a=n??t,o=bA(r,e.stateVar);return{effects:[{verb:Kw,args:[i,e.key,a]}],active:o===a}}case`set-cycle`:{let t=e.members[(CA(e,r)+1)%e.members.length];return{effects:[{verb:Kw,args:[i,e.key,t]}],active:!1}}case`set-bounded`:return{effects:[{verb:qw,args:[i,e.key,String(e.by)]}],active:!1};case`copy`:return{effects:[{verb:Jw,args:[xA(e.text,hv(r))]}],active:!1};case`open`:return{effects:[{verb:Yw,args:[xA(e.target,hv(r))]}],active:!1};case`persist-literal`:{let t=bA(r,e.stateVar);return{effects:[{verb:$w,args:[i,e.key,e.value]}],active:t===e.value}}case`persist-option`:{let a=n??t,o=bA(r,e.stateVar);return{effects:[{verb:$w,args:[i,e.key,a]}],active:o===a}}case`persist-cycle`:{let t=e.members[(CA(e,r)+1)%e.members.length];return{effects:[{verb:$w,args:[i,e.key,t]}],active:!1}}case`persist-bounded`:return{effects:[{verb:eT,args:[i,e.key,String(e.by)]}],active:!1};case`reset`:return{effects:[{verb:iT,args:[i,e.key]}],active:!1};case`undo`:return{effects:[{verb:oT,args:[i]}],active:!1};case`redo`:return{effects:[{verb:sT,args:[i]}],active:!1};case`save`:return{effects:[{verb:tT,args:[i]}],active:!1};case`preset-save`:return{effects:[{verb:nT,args:[i]}],active:!1};case`preset-delete`:return{effects:[{verb:rT,args:[i,xA(e.name,hv(r))]}],active:!1};case`doctor-run`:return{effects:[{verb:lT,args:[i]}],active:!1};case`doctor-fix`:return{effects:[{verb:uT,args:[i,e.check]}],active:!1};case`ceiling`:return{effects:[{verb:dT,args:[i,...e.args]}],active:!1};case`slash`:return{effects:[{verb:fT,args:[i,e.line]}],active:!1};case`layout-op`:return{effects:[{verb:aT,args:[i,e.key,mD(e.op)]}],active:!1};case`do`:{let a=wA(e.head,t,n,r,i);return{effects:[...a.effects,...e.rest.flatMap(e=>wA(e,t,void 0,r,i).effects)],active:a.active}}case`layout-op-option`:{let r={op:`insert`,segment:n??t,anchor:e.anchor,relation:e.relation};return{effects:[{verb:aT,args:[i,e.key,mD(r)]}],active:!1}}}}function TA(e,t,n,r){if(n.length===0)throw Error(`action "${e}" needs a display (the clickable text)`);if(t.kind===`set-cycle`||t.kind===`persist-cycle`)return{display:gc(`action "${e}"`,n,t.members.length,CA(t,r)),boundValue:void 0};if(n.length>2)throw Error(`action "${e}" takes a display and an optional bound value, got ${n.length} arguments (per-state displays are a cycle action's form)`);return{display:n[0],boundValue:n[1]}}function EA(e,t,n){let r=n.compiled.get(e);if(!r)throw Error(`action "${e}" is not declared in this config`);let i=n.store,{display:a,boundValue:o}=TA(e,vA(r),t,i),{effects:s,active:c}=wA(r,a,o,i,bA(i,`session.id`));return SA(a,hT(s),c)}function DA(e){return{action:{fn:(t,...n)=>EA(t,n,e),argTypes:[`string`,`string`],returnType:`T`}}}function OA(e,t){return SA(`✕`,hT([{verb:Kw,args:[bA(e,`session.id`),t,pc]}]),!1)}function kA(e,t,n){return new B({bgcolor:P.fromRgba(t),color:P.fromRgba($i(e,t,n))})}function AA(e,t,n){return kA(e.palette,fa(e.palette,e.disclosure,[t],n),n)}function jA(e,t,n,r,i){return r===void 0?n=>AA(e,{...n,distribution:t},i):(e,t)=>MA(r(t,n),i)}function MA(e,t){let n=Ui(e,`background`);return new B({bgcolor:P.fromRgba(n),color:P.fromRgba(Jn(Ui(e,`primary`),n,4.5,t))})}function NA(e){return{current:null,drawnAt:e}}function PA(e,t,n,r,i,a){let o={segName:t,placementId:n,palette:r,disclosure:i,tint:a,bg:void 0,drops:[]};return e.current=o,o}function FA(e,t){let n=e.current;if(n===null)throw Error(`${t} is only available inside a segment's templates — there is no active segment here. Segment-scoped functions cannot be used in variable declarations or layout-node "when" predicates, which are evaluated outside any segment.`);return n}function IA(e){return new H(e).cellLength}function LA(e){return Math.max(1,e.width-e.chromeCols-2*e.padding)}function RA(e){return Math.max(1,LA(e)-(IA(`✕`)+2*e.padding+e.seamCols))}function zA(e,t,n){if(!Number.isFinite(t))return e.length>0?[e.map((e,t)=>t)]:[];let r=Math.max(1,t-n),i=[],a=[],o=0;for(let t=0;t<e.length;t++){let n=e[t];a.length===0?(a=[t],o=n):o+1+n<=r?(a.push(t),o+=1+n):(i.push(a),a=[t],o=n)}return a.length>0&&i.push(a),i}function BA(e,t){let n=[];for(let t of e)n.length>0&&n.push(new H(` `)),n.push(t);let r=H.fromFragments(n);return r.noWrap=t,r.end=``,r}function VA(e,t,n,r){let i=e.compiled.get(t);if(!i||i.kind!==n)throw Error(`picker references action "${t}" which must be ${r}, got ${i?`a ${i.kind} action`:`no such action`}`);return i}function HA(e,t,n){let r=e.compiled.get(t),i=r&&vA(r);if(!i||i.kind!==`set-option`&&i.kind!==`persist-option`&&i.kind!==`layout-op-option`)throw Error(`${n} references action "${t}" which must be a set-option, persist-option, or layout-op-option action ({ set, from }, { persist, from }, or { persist, insertSegmentFrom, anchor, relation }), got ${i?`a ${i.kind} action`:`no such action`}`);return i}function UA(e,t,n,r,i,a,o){let s=HA(a,e,`picker`),c=a.compiled.get(e),l=a.store,u=bA(l,`session.id`),d=`stateVar`in s?bA(l,s.stateVar):void 0,f=s.options.map(IA),p=i?LA(a):1/0,m=IA(`✕`)+1,h=IA(`←`)+1+IA(`→`)+1,g=zA(f,p,m),_=g.length>1?zA(f,p,m+h):g,v=parseInt(bA(l,t.stateVar),10),y=Number.isInteger(v)?Math.max(0,Math.min(v,_.length-1)):0,b=_[y]??[],x=e=>hT([{verb:Kw,args:[u,t.key,String(e)]}]),S=n.flatMap(([e,t])=>[e,t]),C=hT([{verb:Kw,args:[u,...S]}]),ee=r?[{verb:Kw,args:[u,...S]}]:[],te=e=>hT([...wA(c,e,e,l,u).effects,...ee]),ne=[SA(`✕`,C,!1)];y>0&&ne.push(SA(`←`,x(y-1),!1));for(let e of b){let t=s.options[e];ne.push(SA(t,te(t),t===d,o({index:e,count:s.options.length},t)))}return y<_.length-1&&ne.push(SA(`→`,x(y+1),!1)),BA(ne,i)}function WA(e,t){return{picker:{fn:(n,r,i,a)=>{let o=VA(e,r,`set-int`,`an int action ({ set, int: true })`);return UA(n,{key:o.key,stateVar:o.stateVar},[[o.key,`-1`]],i===!0,a===!0,e,jA(FA(t,`{{ picker }}`),Li(void 0),e,HA(e,n,`picker`).paletteOf,t.drawnAt()))},argTypes:[`string`,`string`,`bool`,`bool`],returnType:`T`}}}function GA(e,t,n,r,i){let a=Math.min(Math.floor((t-1)/2),i),o=n,s=0;for(;s<a;){let t=o+IA(e(-(s+1)))+1+IA(e(s+1))+1;if(t>r)break;o=t,s+=1}return s}function KA(e,t,n,r,i){if(!(`stateVar`in t))throw Error(`carousel references action "${e}", which inserts a segment and holds no current value to centre on — a carousel needs a { set, from } or { persist, from } action`);let a=n.store;if(!a.has(t.stateVar))throw Error(`carousel references action "${e}", whose key "${t.stateVar}" no variable reads back, so there is no current value to centre on — declare { kind: "state", key: "${t.stateVar}" } among the variables`);let o=n.compiled.get(e),s=bA(a,`session.id`),{options:c}=t,l=c.length,u=bA(a,t.stateVar),d=Math.max(c.indexOf(u),0),f=e=>((d+e)%l+l)%l,p=e=>c[f(e)],m=new Map,h=e=>{let t=m.get(e);if(t!==void 0)return t;let n=hT(wA(o,p(e),p(e),a,s).effects);return m.set(e,n),n},g=e=>SA(p(e),h(e),p(e)===u,r({index:f(e),count:l},p(e))),_=GA(p,l,IA(`◀`)+1+IA(p(0))+1+IA(`▶`),RA(n),i),v=e=>Array.from({length:_},(t,n)=>g(e*(n+1)));return BA([...v(-1).reverse(),SA(`◀`,h(-1),!1),g(0),SA(`▶`,h(1),!1),...v(1)],!0)}function qA(e,t){return{carousel:{fn:(n,r,...i)=>{if(i.length>0)throw Error(`carousel "${n}": takes at most one neighbours count after the action name, got ${1+i.length}`);if(r!==void 0&&!(Number.isInteger(r)&&r>=0))throw Error(`carousel "${n}": neighbours must be a whole number ≥ 0 (0 shows only ◀ CURRENT ▶), got ${String(r)}`);let a=r??1/0,o=HA(e,n,`carousel`);return KA(n,o,e,jA(FA(t,`{{ carousel }}`),Li(void 0),e,o.paletteOf,t.drawnAt()),a)},argTypes:[`string`,`float`],returnType:`T`}}}const JA=[`~/code`,`main`,`opus`,`42%`,`5m`,`$1.20`];function YA(e,t,n){let r=aa(e,{hue:Ai,depth:0},n);return[U(t).map((t,n)=>({text:JA[n%JA.length],colour:Wi(e,t)})),[{text:`▾ open`,colour:r.state},{text:`menu`,colour:r.plane}],[{text:`warn`,colour:Ui(e,`warning`)},{text:`error`,colour:Ui(e,`error`)}]]}function XA(e,t,n,r){let i=YA(e,t,n).flatMap((t,r)=>t.map(({text:t,colour:i},a)=>({gap:r>0&&a===0?` `:``,cell:new H(` ${t} `,{style:kA(e,i,n)})}))),a=[],o=0;for(let{gap:e,cell:t}of i){if(o+=e.length+t.cellLength,o>r)break;e!==``&&a.push(new H(e)),a.push(t)}let s=H.fromFragments(a);return s.noWrap=!0,s.end=``,s}function ZA(e,t){return{themePreview:{fn:()=>XA(e.palette,e.progression,t.drawnAt(),RA(e)),argTypes:[],returnType:`T`}}}const QA=e=>e.slice(e.lastIndexOf(`.`)+1),$A=(e,t)=>{let n=new H(QA(e));return n.truncate(t,{marker:`…`}),n.plain};function ej(e,t){let n=e.map(e=>e.map(({name:e})=>IA(QA(e)))),r=e=>n.every(n=>n.reduce((t,n)=>t+Math.min(n,e)+2,0)<=t),i=Math.max(1,...n.flat());for(;i>1&&!r(i);)--i;return i}function tj(e,t,n,r){let i=ej(e,r),a=e.map(e=>{let a=[],o=0;for(let{name:s,address:c,palette:l}of e){let e=new H(` ${$A(s,i)} `,{style:kA(l,ga(l,{kind:`bar`,progression:t,address:c},n).tint,n)});if(o+=e.cellLength,o>r)break;a.push(e)}return a}),o=H.fromFragments(a.flatMap((e,t)=>t===0?e:[new H(`
|
|
182
|
-
`),...e]));return o.noWrap=!0,o.end=``,o}function
|
|
170
|
+
Tip: every bar carries a settings menu — click it (${Sc} by\n default) for quick actions, preset switching, edit mode, and clickable\n theme/look/style/wrap/padding controls.\n`}async function TE(e){let t=e.includes(`--force`),n=e.filter(e=>e!==`--force`),r=n.length>0?n:[...rE],i=_E();process.platform===`darwin`?yE(i.distPath):process.stdout.write(`Skipping URL handler (cmd-click verbs are macOS-only).
|
|
171
|
+
`),EE(i.binPath,r,t),process.stdout.write(wE());let a=tE(QT,eE(BT,await $T(QT,fetch,`https://registry.npmjs.org`)));process[a.stream].write(a.text)}function EE(e,t,n,i){let a=i??UT(HT(VT(process.env,process.cwd())));r.mkdirSync(c.dirname(a),{recursive:!0});let o={};if(r.existsSync(a))try{o=JSON.parse(r.readFileSync(a,`utf-8`))}catch(e){throw Error(`Could not parse ${a}: ${e instanceof Error?e.message:String(e)}`)}let s=o.statusLine?.command,l=[e,aE(e)],u=typeof s==`string`&&(s.startsWith(`pnpm dlx @promptctl/cc-candybar@`)||l.some(e=>s===e||s.startsWith(`${e} `)));if(s&&!u&&!n){process.stderr.write(`Skipping settings.json update: existing statusLine.command appears customized.\n Current: ${s}\n To overwrite, re-run with --force.\n`);return}o.statusLine={type:`command`,command:oE(e,t)},k(a,JSON.stringify(o,null,2)),process.stdout.write(`Updated ${a}\n`)}function DE(e,t){return e.kind===`owned`?t(e.pid,e.startTime)?{kind:`attach-and-exit`,reason:`live owner pid=${e.pid} holds the socket`}:{kind:`reclaim`,reason:`owner pid=${e.pid} is gone or recycled`}:e.kind===`absent`?{kind:`reclaim`,reason:`no lease — stale socket, no live owner`}:{kind:`reclaim`,reason:`unreadable lease (${e.detail}) — cannot prove a live owner`}}function OE(e){let t;try{t=r.readFileSync(e,`utf8`)}catch(e){return e.code===`ENOENT`?{kind:`absent`}:{kind:`unreadable`,detail:`read failed: ${e.message}`}}let n;try{n=JSON.parse(t)}catch(e){return{kind:`unreadable`,detail:`bad JSON: ${e.message}`}}let i=n,a=i?.pid;if(typeof a!=`number`||!Number.isInteger(a)||a<=0)return{kind:`unreadable`,detail:`no valid pid (got ${JSON.stringify(a)})`};let o=i?.startTime;return o!=null&&typeof o!=`string`?{kind:`unreadable`,detail:`invalid startTime (got ${JSON.stringify(o)})`}:{kind:`owned`,pid:a,startTime:o??null}}function kE(e,n){let i=`${e}.${t.pid}.tmp`;try{return r.writeFileSync(i,JSON.stringify(n),{mode:384}),r.renameSync(i,e),null}catch(e){let t=e.message;try{r.unlinkSync(i)}catch(e){if(e.code!==`ENOENT`)return`${t}; also failed to remove temp ${i}: ${e.message}`}return t}}function AE(e,t){let n=OE(e);if(n.kind===`owned`&&n.pid===t)try{r.unlinkSync(e)}catch{}}function jE(e){try{let t=r.statSync(e);return{kind:`present`,identity:{dev:t.dev,ino:t.ino}}}catch(e){return e.code===`ENOENT`?{kind:`absent`}:{kind:`unreadable`,detail:e.message}}}function ME(e,t,n,r){let i=NE(e,t);return i===null?r.kind===`owned`?r.pid===n?{kind:`owned`}:{kind:`displaced`,reason:`lease reassigned (names pid=${r.pid}, we are pid=${n}) — a reclaimer overwrote it`}:{kind:`displaced`,reason:`lease not held (${r.kind}) — no longer the socket owner`}:{kind:`displaced`,reason:i}}function NE(e,t){return t.kind===`present`?t.identity.dev===e.dev&&t.identity.ino===e.ino?null:`socket replaced (bound dev=${e.dev} ino=${e.ino}, now dev=${t.identity.dev} ino=${t.identity.ino})`:t.kind===`absent`?`socket path gone (ENOENT) — unlinked by a reclaimer`:`socket path unreadable (${t.detail}) — cannot prove ownership`}function PE(e){let t=!1;function n(){let n=ME(e.bound,e.readIdentity(),e.myPid,e.readLease());return n.kind===`displaced`&&!t&&(t=!0,e.log(`warn`,`ownership self-check: ${n.reason}; shutting down`),e.shutdown(0)),n}function r(t=e.intervalMs??5e3){let r=setInterval(()=>{n().kind===`displaced`&&clearInterval(r)},t);return r.unref(),{disarm:()=>clearInterval(r)}}return{check:n,arm:r}}function FE(e,t=Oe){let n=t({bin:`ps`,args:[`-o`,`lstart=`,`-p`,String(e)],category:`process-fingerprint`,timeoutMs:2e3,env:{...process.env,LC_ALL:`C`,TZ:`UTC`}});if(n.ok){let e=n.stdout.trim();return e.length>0?{kind:`start`,token:e}:{kind:`unavailable`,detail:`ps produced no start-time`}}return{kind:`unavailable`,detail:n.reason===`spawn-error`?n.error??`ps spawn failed`:`ps ${n.reason} (exit ${n.exitCode})`}}function IE(e,t,n){if(t===null)return n.pidAlive(e);let r=n.readStartTime(e);switch(r.kind){case`start`:return r.token===t;case`unavailable`:return n.pidAlive(e)}}function LE(e,t=FE){let n=t(e);return n.kind===`start`?n.token:null}const RE=`CC_CANDYBAR_PARENT_PID`;function zE(e){let t=e[RE];if(t===void 0)return{kind:`outlives-nobody`};let n=Number.parseInt(t,10);if(!Number.isInteger(n)||n<=0)throw Error(`${RE} must be a positive integer pid, got ${JSON.stringify(t)}`);return{kind:`anchored`,pid:n}}function BE(e){if(e.anchor.kind===`outlives-nobody`)return{disarm:()=>{}};let{pid:t}=e.anchor,n=setInterval(()=>{e.isAlive(t)||e.onOrphaned(`spawner pid ${t} gone`)},e.intervalMs??250);return n.unref(),{disarm:()=>clearInterval(n)}}function VE(e){try{return t.kill(e,0),!0}catch(e){return e.code===`EPERM`}}function HE(){let e=Number(process.env.CC_CANDYBAR_DAEMON_CEILING??``);return Number.isInteger(e)&&e>0?e:16}function UE(e,t,n){return e?t>=n?{allow:!1,reason:`${t} live isolated daemons registered >= ceiling ${n}`}:{allow:!0,reason:`${t} live isolated daemons registered < ceiling ${n}`}:{allow:!0,reason:`canonical production socket — exempt (bind() already caps it to one)`}}function WE(e){try{return r.readdirSync(e).filter(e=>e.endsWith(`.json`)).map(t=>c.join(e,t))}catch{return[]}}function GE(e){let t;try{t=r.readFileSync(e,`utf8`)}catch{return null}try{let e=JSON.parse(t),n=e?.pid;return typeof n!=`number`||!Number.isInteger(n)||n<=0?null:{pid:n,startTime:typeof e?.startTime==`string`?e.startTime:null}}catch{return null}}function KE(e,t,n){let r=0;for(let i of e)t(i.identity.pid,i.identity.startTime)?r++:n(i.path);return r}function qE(e){if(!e.isolated)return{decision:UE(!1,0,e.ceiling),registryPath:null};e.ensureDirSafe(e.registryDir);let t=[];for(let n of e.listFiles(e.registryDir)){let r=e.readEntry(n);r!==null&&r.pid!==e.pid&&t.push({path:n,identity:r})}let n=UE(!0,KE(t,e.isSameLiveProcess,e.removeFile),e.ceiling);if(!n.allow)return{decision:n,registryPath:null};let r=c.join(e.registryDir,`pid-${e.pid}.json`);return e.writeEntry(r,{pid:e.pid,startTime:e.startTime}),{decision:n,registryPath:r}}function JE(e,t,n,r){let i=n(e);if(i!==null&&i.pid===t)try{r(e)}catch{}}function YE(e,t={}){return{isolated:!!process.env.CC_CANDYBAR_SOCKET,registryDir:He(),ceiling:HE(),pid:process.pid,startTime:e,isSameLiveProcess:(e,t)=>IE(e,t,{readStartTime:FE,pidAlive:VE}),listFiles:WE,readEntry:GE,removeFile:e=>{try{r.unlinkSync(e)}catch{}},writeEntry:(e,t)=>{let n=`${e}.${t.pid}.tmp`;try{r.writeFileSync(n,JSON.stringify(t),{mode:384}),r.renameSync(n,e)}catch(e){try{r.unlinkSync(n)}catch(e){e.code}throw e}},ensureDirSafe:process.env.CC_CANDYBAR_DAEMON_REGISTRY_DIR?Ie:e=>{Ie(c.dirname(e)),Ie(e)},...t}}function XE(e){return e<32||e===127||e>=128&&e<=159}function ZE(e){let t=``;for(let n of e)t+=XE(n.codePointAt(0)??0)?` `:n;return t.replace(/\s+/g,` `).trim()}function QE(e,t){let n=ZE(e),r=``,i=0;for(let e of n){if(i===t)return r.replace(/.$/u,`…`);r+=e,i++}return r}const $E=`\x1B[38;2;255;255;255m`,eD=`\x1B[48;2;200;40;40m`;function tD(e){let t=/;2;(\d+);(\d+);(\d+)m$/.exec(e);if(t===null)throw Error(`diagnostic-style: not a 24-bit SGR: ${e}`);return`#`+t.slice(1,4).map(e=>Number(e).toString(16).padStart(2,`0`)).join(``)}const nD={fg:tD($E),bg:tD(eD)},rD={fg:tD(`\x1B[38;2;0;0;0m`),bg:tD(`\x1B[48;2;220;160;40m`)},iD={unicode:yi,ascii:{glyph:`>`,divider:`|`,lead:`<`,tail:`>`}},aD={unicode:{},ascii:{left:`(`,right:`)`}};function oD(e,t,n){switch(e){case`capsule`:return new xi(aD[t]);case`plain`:return new Si(n===void 0?{}:{separator:n});case`powerline`:return new bi(iD[t]);default:return e}}const sD=new Map;function cD(e){let t=JSON.stringify([e.style,e.charset,e.separator??null]),n=sD.get(t);if(n!==void 0)return n;let r=oD(e.style,e.charset,e.separator),i=e=>new li(`x`,{end:``,noWrap:!0,style:new B({bgcolor:e})}),a=e=>new li(Ti(new ui(e,r),{colorSystem:null}).replace(/\n$/,``)).cellLength,o=a([i(`#101010`)]),s={chrome:o-1,seam:a([i(`#101010`),i(`#202020`)])-o-1};return sD.set(t,s),s}function lD(e){return cD(e).chrome}function uD(e){return cD(e).seam}function dD(e,t){if(e.length===0)return``;let n=oD(t.style,t.charset,t.separator),r=t.colorCompatibility,i=t.wrap&&Number.isFinite(t.width)?Ti(new ji([...e],{joiner:n}),{width:t.width,colorSystem:r}):Ti(new ui([...e],n),{colorSystem:r});if(!i.endsWith(`
|
|
172
|
+
`))throw Error(`renderStripCells: rich-js strip output did not end its last line`);return i.slice(0,-1)}function fD(e){return Math.min(20,e??20)}const pD={heading:`ERROR`,glyph:`⚠`,colors:nD},mD={heading:`WARNING`,glyph:`⚠`,colors:rD},hD={heading:`UPDATE`,glyph:`⬆`,colors:rD};function gD(e,t){return{text:ZE(e),link:t}}function _D(e,t,n){let[r,...i]=[vD(e,pD,gT),t,vD(n,mD,_T)].flat();return r===void 0?null:{channels:[r,...i]}}function vD(e,t,n){let r=PT([{verb:n,args:[e]}]),[i,...a]=e.split(/\r\n|\r|\n/).map(e=>gD(e,r)).filter(e=>e.text!==``).map(e=>[e]);return i===void 0?[]:[{severity:t,message:e,lines:[i,...a]}]}function yD(e){return e.channels.map(e=>`${e.severity.heading}\n${e.message}\n`).join(`
|
|
173
|
+
`)}function bD(e,t,n,r){if(t===null)return e;let i=xD(r),a=t.channels.flatMap(e=>SD(e,i)),o=n.failedConfigFile!==null||a.length>r.rowCap,s=a.slice(0,r.rowCap-Number(o)),c=o?[CD(t,n,a.length-s.length,i)]:[],l=[...s,...c].join(`
|
|
174
|
+
`);return e?`${l}\n${e}`:l}function xD(e){return{style:`plain`,separator:``,width:e.width,wrap:!0,padding:0,charset:`unicode`,colorCompatibility:e.colorCompatibility}}function SD(e,t){let n=new B({bgcolor:e.severity.colors.bg,color:e.severity.colors.fg}),r=Lt(Math.max(2,t.width-1)),i=(e,t)=>new li(`${e} `,{style:t,end:``,noWrap:!0});return e.lines.flatMap((a,o)=>dD([i(o===0?e.severity.glyph:` `,n.withLink(a[0].link)),...a.flatMap(e=>{let t=n.withLink(e.link);return e.text.split(` `).flatMap(e=>Vt(e,r)).map(e=>i(e,t))})],t).split(`
|
|
175
|
+
`))}function CD(e,t,n,r){let{colors:i}=e.channels[0].severity,{fullText:a,failedConfigFile:o}=t,s=new B({bgcolor:i.bg,color:i.fg}),c=(e,t)=>new li(e,{style:t,end:``,noWrap:!0}),l=n>0?[c(`${n} more rows · `,s),a.kind===`file`?c(`open full text`,s.withLink(T(a.path).href)):c(`full text unavailable: ${ZE(a.reason)}`,s)]:[],u=o===null?[]:[c(`${l.length>0?` · `:``}open `,s),c(ZE(o),s.withLink(T(o).href))],d=[c(`↳ `,s),...l,...u.slice(0,-1)],f=d.reduce((e,t)=>e+t.cellLength,0),p=u.slice(-1).map(e=>e.truncate(Math.max(1,r.width-f),{mode:`middle`})),m=li.fromFragments([...d,...p]).truncate(r.width);return m.noWrap=!0,dD([m],r)}const wD=e=>!e.startsWith(`.`)&&!e.endsWith(`~`);function TD(e,t){return t.isSymbolicLink()?Buffer.from(r.readlinkSync(e)):r.readFileSync(e)}function ED(e,t){return r.readdirSync(t).filter(wD).sort().flatMap(n=>{let i=c.join(t,n),a=r.lstatSync(i,{throwIfNoEntry:!1});return a===void 0?[]:a.isDirectory()?ED(e,i):[[c.relative(e,i).split(c.sep).join(`/`),TD(i,a)]]})}function DD(e){let t=E.createHash(`sha256`);for(let[n,r]of ED(e,e))t.update(n).update(`\0`).update(r).update(`\0`);return t.digest(`hex`)}const OD=e=>e.slice(0,7);function kD(e){return c.dirname(c.dirname(e))}function AD(){return{version:BT,digest:`e317fddaafca795d6138ccf25503827b2dc1078bade4ed8ef46f99f586c8e4d8`}}function jD(e){let t=JSON.parse(r.readFileSync(c.join(e,`package.json`),`utf8`)),n=typeof t==`object`&&t?t.version:void 0;if(typeof n!=`string`)throw Error(`${c.join(e,`package.json`)} has no version string`);return n}function MD(e,t){try{let n=kD(ie(e)),i=c.join(n,`src`);if(!r.existsSync(i))return{kind:`not-source-checkout`};let a=t(),o=DD(i);return o===a.digest?{kind:`current`,root:n,stamp:a}:{kind:`stale`,root:n,source:{version:jD(n),digest:o},running:a}}catch(e){return{kind:`unchecked`,reason:e.message}}}var $=class extends Error{constructor(e){super(e),this.name=`BadVerbArgs`}};function ND(e){return e.op===`remove`?`remove:${e.target}`:`insert:${e.segment}:${e.anchor}:${e.relation}`}function PD(e){let t=e.split(`:`);return t[0]===`remove`&&t.length===2&&t[1]?{op:`remove`,target:t[1]}:t[0]===`insert`&&t.length===4&&t[1]&&t[2]&&(t[3]===`before`||t[3]===`after`)?{op:`insert`,segment:t[1],anchor:t[2],relation:t[3]}:null}function FD(e,t,n){let r=ss(e,new Set(n.map(os).filter(e=>e.includes(t)).flat()));return r===e?{seg:e}:{seg:e,id:r}}const ID=/^-?\d+$/;function LD(e,t,n=`set-state`){let r=e.filter(e=>e.includes(`/`));if(r.length>0)throw Error(`makeAllowListValidator(${t}): values contain "/" — the ${n} wire shape splits values on "/" so slash-bearing options cannot be addressed. Offending values: ${r.join(`, `)}`);if(e.includes(``))throw Error(`makeAllowListValidator(${t}): empty string is not a writable option — the validator rejects empty input before the allow-list check, so an "" in the allowed list could be rendered but never delivered. Remove "" from the allowed list.`);let i=new Set(e),a=[...e];return e=>e?i.has(e)?{ok:!0,value:e}:{ok:!1,reason:`unknown ${t} "${e}" (have: ${a.join(`, `)})`}:{ok:!1,reason:`${t} value is required`}}function RD(e){return t=>{if(!t)return{ok:!1,reason:`${e} value is required`};if(!ID.test(t))return{ok:!1,reason:`${e} must be an integer, got "${t}"`};let n=t[0]===`-`,r=(n?t.slice(1):t).replace(/^0+/,``);return r===``?{ok:!0,value:`0`}:{ok:!0,value:n?`-${r}`:r}}}function zD(e,t,n){return r=>r?ID.test(r)?{ok:!0,value:String(Math.max(e,Math.min(t,parseInt(r,10))))}:{ok:!1,reason:`${n} must be an integer, got "${r}"`}:{ok:!1,reason:`${n} value is required`}}function BD(e,t,n=`state`){let r=t.filter(e=>e.kind===`range`),i=t.some(e=>e.kind===`int`),a=t.flatMap(e=>e.kind===`allow-list`?e.allowed:[]);if(r.length===0&&!i)return{kind:`allow-list`,allowed:[...new Set(a)]};let o=a.filter(e=>!ID.test(e));if(o.length>0)throw Error(`${n} action table: key "${e}" is an integer spec (a paged cursor or a bounded value) but a click writes non-integer value(s) to it (${o.join(`, `)}). A ${n} key has one key shape — point that click at a distinct key, or write an integer.`);if(i&&r.length>0)throw Error(`${n} action table: key "${e}" is declared as both a paged cursor (int) and a bounded value (range) — a ${n} key has one key shape. Use distinct keys.`);if(r.length>0){let t=Math.min(...r.map(e=>e.min)),i=Math.max(...r.map(e=>e.max)),o=a.filter(e=>{let n=parseInt(e,10);return n<t||n>i});if(o.length>0)throw Error(`${n} action table: key "${e}" is a bounded range [${t},${i}] but a click writes out-of-range value(s) to it (${o.join(`, `)}). The range gate would clamp them, storing a different value than the click renders — write an in-range integer, or point that click at a distinct key.`);return{kind:`range`,min:t,max:i}}return{kind:`int`}}function VD(e){return e===`config`?`set-config`:`set-state`}function HD(e,t,n){return t.kind===`int`?RD(`menu page "${e}"`):t.kind===`range`?zD(t.min,t.max,`${n} stepper "${e}"`):LD(t.allowed,`${n} "${e}"`,VD(n))}function UD(e,t=`state`){let n=new Map;for(let{key:t,spec:r}of e){let e=n.get(t);e?e.push(r):n.set(t,[r])}return[...n].map(([e,n])=>({key:e,spec:BD(e,n,t)}))}function WD(e,t=`state`){let n=new Map(Object.entries(e).map(([e,t])=>[e,{validator:t,permanent:!0}]));function r(){let e=[];for(let[t,r]of n)r.permanent&&e.push(t);return e}return{register(e,i){if(!e)throw Error(`register: key is required`);if(e.includes(`/`))throw Error(`register: key "${e}" contains "/" — the wire shape splits on "/" so a slash-bearing key cannot be addressed. Use a slash-free key.`);let a=n.get(e);if(a){if(a.permanent)throw Error(`register: key "${e}" is a built-in ${t} key and cannot be re-claimed (built-in keys: ${[...r()].join(`, `)})`);let n=BD(e,[...a.specs,i],t);a.specs.push(i),a.merged=n,a.validator=HD(e,n,t)}else{let r=BD(e,[i],t);n.set(e,{permanent:!1,specs:[i],merged:r,validator:HD(e,r,t)})}let o=!0;return()=>{if(!o)return;o=!1;let r=n.get(e);if(!r||r.permanent)return;let a=r.specs.indexOf(i);a>=0&&r.specs.splice(a,1),r.specs.length===0?n.delete(e):(r.merged=BD(e,r.specs,t),r.validator=HD(e,r.merged,t))}},validate(e,r){let i=n.get(e);return i?i.validator(r):{ok:!1,reason:`unknown ${t} key "${e}" (have: ${[...n.keys()].join(`, `)})`}},listKeys(){return[...n.keys()]},listBaselineKeys(){return r()},rangeParamsFor(e){let t=n.get(e);if(!t||t.permanent||t.merged.kind!==`range`)return null;let{min:r,max:i}=t.merged;return{min:r,max:i}}}}const GD=WD({},`config`);function KD(){return GD.listKeys()}function qD(e,t){return GD.validate(e,t)}function JD(e){return GD.rangeParamsFor(e)}function YD(e,t){return`persist`in e?`to`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:[e.to]}}]:`from`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:tb(e.from,t).members}}]:`cycle`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:e.cycle}}]:`removeSegment`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:[ND({op:`remove`,target:e.removeSegment})]}}]:`insertSegment`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:[ND({op:`insert`,segment:e.insertSegment,anchor:e.anchor,relation:e.relation})]}}]:`insertSegmentFrom`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:tb(e.insertSegmentFrom,t).members.map(t=>ND({op:`insert`,segment:t,anchor:e.anchor,relation:e.relation}))}}]:[{key:e.persist,spec:{kind:`range`,min:e.min,max:e.max}}]:[]}function XD(e,t){let n=tl(e.globals).get(t);return n===void 0?null:String(n)}function ZD(e){let t=new Set;for(let n of Object.values(e.actions)){`reset`in n&&t.add(n.reset);let e=`persist`in n?sb(n.persist):null;e?.scope===`preset-root`&&t.add(ab(e.preset))}return[...t].map(e=>({key:e,spec:{kind:`allow-list`,allowed:[]}}))}function QD(e){let t=new Map([...$y(e),...Tb(e)]);return[...ZD(e),...Object.values(e.actions).flatMap(e=>YD(e,t))]}function $D(e){return UD(QD(e),`config`)}function eO(e,t){return GD.register(e,t)}const tO=Array.from({length:10},(e,t)=>(t+1)*1e5),nO=tO[0],rO=tO[tO.length-1];function iO(e){let t;try{t=KT(e)}catch(e){return X(e instanceof Error?e.message:String(e))}let n=t.autoCompactWindow;return n===void 0?J(`auto`):typeof n==`number`&&Number.isInteger(n)&&n>=nO&&n<=rO?J(n):X(`${e}: autoCompactWindow is ${JSON.stringify(n)}, not a window /autocompact accepts (${nO}–${rO} tokens)`)}function aO(e,t){let n=Math.min(t??rO,rO),r=e===`auto`?n:Math.min(e,n);return{window:e===`auto`?0:e,applied:e===`auto`?0:r,lower:tO.filter(e=>e<r).at(-1)??0,higher:tO.find(e=>e>r&&e<=n)??0}}const oO=cx(`commands.`),sO=`trimPrefix "/" (trimPrefix .project_dir .current_dir)`,cO=`{{ \$dir := .current_dir }}{{ if and (ne .home "") (or (eq .home .current_dir) (hasPrefix (printf "%s/" .home) .current_dir)) }}{{ \$dir = printf "~%s" (trimPrefix .home .current_dir) }}{{ else }}{{ if or (eq .project_dir .current_dir) (hasPrefix (printf "%s/" .project_dir) .current_dir) }}{{ $dir = ternary (${sO}) (basename .project_dir) (ne (${sO}) "") }}{{ end }}{{ end }}{{ abbreviatePath \$dir }}`,lO={min:0,max:100,step:5},uO={warnAt:{label:`warning at %`,domain:lO,default:50},errorAt:{label:`error at %`,domain:{...lO,atLeast:`warnAt`},default:80}};function dO(e){return{budget:{label:`budget $`,domain:{min:0,max:1e4,step:5},default:e},warnAt:{label:`warning at %`,domain:lO,default:80}}}const fO={globals:{palette:`tokyo-night`},variables:{...oO.variables,...jy,current_dir:{kind:`input`,path:`workspace.current_dir`,default:`?`},"model.display_name":{kind:`input`,path:`model.display_name`,default:``},version:{kind:`input`,path:`version`,default:``},home:{kind:`input`,path:`home`,default:``},"tmux.session":{kind:`input`,path:`tmux.session`,default:``},"host.name":{kind:`input`,path:`host.name`,default:``},"host.user":{kind:`input`,path:`host.user`,default:``},"host.ssh":{kind:`input`,path:`host.ssh`,type:`boolean`,default:!1},"git.repoName":{kind:`input`,path:`git.repoName`,default:``},"git.branch":{kind:`input`,path:`git.branch`,default:``},"git.sha":{kind:`input`,path:`git.sha`,default:``},"git.ahead":{kind:`input`,path:`git.ahead`,type:`number`,default:0},"git.behind":{kind:`input`,path:`git.behind`,type:`number`,default:0},"git.staged":{kind:`input`,path:`git.staged`,type:`number`,default:0},"git.unstaged":{kind:`input`,path:`git.unstaged`,type:`number`,default:0},"git.untracked":{kind:`input`,path:`git.untracked`,type:`number`,default:0},"git.conflicts":{kind:`input`,path:`git.conflicts`,type:`number`,default:0},"git.upstream":{kind:`input`,path:`git.upstream`,default:``},"git.stash":{kind:`input`,path:`git.stash`,type:`number`,default:0},"git.status":{kind:`input`,path:`git.status`,default:`clean`},"git.operation":{kind:`input`,path:`git.operation`,default:``},"git.timeSinceCommit":{kind:`input`,path:`git.timeSinceCommit`,type:`number`,default:0},"git.color.branch":{kind:`literal`,value:`primary`},"git.color.staged":{kind:`literal`,value:`success`},"git.color.unstaged":{kind:`literal`,value:`warning`},"git.color.untracked":{kind:`literal`,value:`accent`},"git.color.conflicts":{kind:`literal`,value:`error`},"git.color.ahead":{kind:`literal`,value:`success`},"git.color.behind":{kind:`literal`,value:`warning`},"git.color.stash":{kind:`literal`,value:`accent`},"git.detail":{kind:`state`,key:`git-detail`,default:`collapsed`},"git.prNumber":{kind:`input`,path:`git.prNumber`,type:`number`,default:0},"git.prState":{kind:`input`,path:`git.prState`,default:``},"git.prUrl":{kind:`input`,path:`git.prUrl`,default:``},"git.prError":{kind:`input`,path:`git.prError`,default:``},"cache.expiresAt":{kind:`input`,path:`cache.expiresAt`,type:`number`,default:0},"session.cost":{kind:`input`,path:`session.cost`,type:`number`,default:0},"session.tokens":{kind:`input`,path:`session.tokens`,type:`number`,default:0},"today.cost":{kind:`input`,path:`today.cost`,type:`number`,default:0},"today.tokens":{kind:`input`,path:`today.tokens`,type:`number`,default:0},"block.nativeUtilization":{kind:`input`,path:`block.nativeUtilization`,type:`number`,default:0},"block.resetsAt":{kind:`input`,path:`block.resetsAt`,type:`number`,default:0},"weekly.percentage":{kind:`input`,path:`weekly.percentage`,type:`number`,default:0},"weekly.resetsAt":{kind:`input`,path:`weekly.resetsAt`,type:`number`,default:0},"burn.costPerHour":{kind:`input`,path:`burn.costPerHour`,type:`number`,default:-1},"block.etaMinutes":{kind:`input`,path:`block.etaMinutes`,type:`number`,default:-1},"weekly.etaMinutes":{kind:`input`,path:`weekly.etaMinutes`,type:`number`,default:-1},"speed.input":{kind:`input`,path:`speed.input`,type:`number`,default:-1},"speed.output":{kind:`input`,path:`speed.output`,type:`number`,default:-1},"speed.total":{kind:`input`,path:`speed.total`,type:`number`,default:-1},"speed.history":{kind:`input`,path:`speed.history`,type:`string`,default:``},"context.totalTokens":{kind:`input`,path:`context.totalTokens`,type:`number`,default:0},"context.contextLeft":{kind:`input`,path:`context.contextLeft`,type:`number`,default:100},"memento.ceiling":{kind:`input`,path:`memento.ceiling`,type:`number`,default:-1},"memento.off":{kind:`input`,path:`memento.off`,type:`boolean`,default:!1},"memento.session":{kind:`input`,path:`memento.session`,default:``},"memento.error":{kind:`input`,path:`memento.error`,default:``},"autocompact.window":{kind:`input`,path:`autocompact.window`,type:`number`,default:-1},...Object.fromEntries([`applied`,`lower`,`higher`].map(e=>[`autocompact.${e}`,{kind:`input`,path:`autocompact.${e}`,type:`number`,default:0}])),"autocompact.error":{kind:`input`,path:`autocompact.error`,default:``},"metrics.lastResponseTime":{kind:`input`,path:`metrics.lastResponseTime`,type:`number`,default:0},"metrics.responseTime":{kind:`input`,path:`metrics.responseTime`,type:`number`,default:0},"metrics.sessionDuration":{kind:`input`,path:`metrics.sessionDuration`,type:`number`,default:0},"metrics.messageCount":{kind:`input`,path:`metrics.messageCount`,type:`number`,default:0},"metrics.linesAdded":{kind:`input`,path:`metrics.linesAdded`,type:`number`,default:0},"metrics.linesRemoved":{kind:`input`,path:`metrics.linesRemoved`,type:`number`,default:0},"activity.command":{kind:`input`,path:`activity.command`,type:`string`,default:``},"activity.todo.total":{kind:`input`,path:`activity.todo.total`,type:`number`,default:0},"activity.todo.completed":{kind:`input`,path:`activity.todo.completed`,type:`number`,default:0},"activity.todo.position":{kind:`input`,path:`activity.todo.position`,type:`number`,default:0},"activity.todo.active":{kind:`input`,path:`activity.todo.active`,type:`string`,default:``},"activity.tool.running":{kind:`input`,path:`activity.tool.running`,type:`string`,default:``},"activity.tool.done":{kind:`input`,path:`activity.tool.done`,type:`string`,default:``}},segments:{directory:{description:"The current directory, shortened fish-style — `~` under home, project-relative inside the project.",template:cO},model:{description:`The active model's display name.`,template:`✱ {{ formatModelName .model.display_name }}`,when:`{{ ne .model.display_name "" }}`},sessionId:{description:`The session id, truncated to 8 characters.`,template:`⌗{{ trunc 8 .session.id }}`,when:`{{ ne .session.id "" }}`},version:{description:`The Claude Code version reported in the hook payload.`,template:`◈ v{{ .version }}`,when:`{{ ne .version "" }}`},tmux:{description:`The tmux session name; hidden when not inside tmux.`,template:`tmux:{{ .tmux.session | default "none" }}`,when:`{{ ne .tmux.session "" }}`},host:{description:`user@host on a warning background, shown only over SSH.`,template:`⇄ {{ .host.user | default "?" }}@{{ .host.name | default "?" }}`,bg:`warning`,when:`{{ .host.ssh }}`},gitaculous:{description:`The git state: a summary (branch, ahead/behind, S/U/? flags) that the arrow at its right edge expands to every fact — repo, in-progress operation, sha, upstream ±, stash count, time since the last commit.`,template:`{{ if eq .git.detail "expanded" }}{{ template "gitExpanded" . }}{{ else }}{{ template "gitCollapsed" . }}{{ end }} {{ action "gitDetail" "▸" "◂" }}`,fg:`{{ readableOn (mix (color "foreground") (bgOf) 60) (bgOf) 3 }}`,when:`{{ ne .git.branch "" }}`,settings:{aheadBehind:{label:`ahead/behind`,domain:`bool`,default:!0},flags:{label:`dirty flags`,domain:`bool`,default:!0},operation:{label:`operation`,domain:`bool`,default:!0},repo:{label:`repo name`,domain:`bool`,default:!0},sha:{label:`commit hash`,domain:`bool`,default:!0},stash:{label:`stash`,domain:`bool`,default:!0},upstream:{label:`upstream`,domain:`bool`,default:!0},age:{label:`time since commit`,domain:`bool`,default:!0}}},gitPr:{description:"The pull request open for this branch, as a link; `⚠ PR` when the forge lookup failed.",template:`{{ if ne .git.prUrl "" }}{{ link .git.prUrl (printf "⇆ #%v" .git.prNumber) }}{{ else }}⚠ PR{{ end }}`,when:`{{ or (ne .git.prUrl "") (ne .git.prError "") }}`},toolbar:{description:`Quick actions: copy the session id, and open the project, transcript or repo.`,template:$b(``).template},commands:{description:`Type /compact, /model or /clear into this session; /clear asks for a second click.`,template:oO.template},themeSwitcher:{description:"`◀ <theme> ▶`: the theme the bar is wearing; ◀ and ▶ switch this session to the previous or next theme, wrapping at the ends.",template:`{{ carousel "stepTheme" 0 }}`},session:{description:`This session's cost and token total, with a budget warning once a budget is configured.`,template:`§ {{ template "formatCost" .session.cost }} ({{ template "formatTokens" .session.tokens }}){{ template "budgetStatus" (dict "cost" .session.cost "budget" .settings.budget "warn" .settings.warnAt) }}`,settings:dO(0)},today:{description:`Today's cost and tokens across every session, with a budget warning once a budget is configured.`,template:`☉ {{ template "formatCost" .today.cost }} ({{ template "formatTokens" .today.tokens }}){{ template "budgetStatus" (dict "cost" .today.cost "budget" .settings.budget "warn" .settings.warnAt) }}`,settings:dO(50)},block:{description:`The 5-hour rate-limit block: percent used and time to reset, heating to warning then error.`,template:`◱ {{ round .block.nativeUtilization }}% ({{ template "formatResetCountdown" .block.resetsAt }})`,bg:`{{ ramp (round .block.nativeUtilization) "step" 0 (tint) .settings.warnAt "warning" .settings.errorAt "error" }}`,settings:uO,when:`{{ gt .block.resetsAt 0 }}`},weekly:{description:`The weekly rate-limit quota: percent used and time to reset, heating to warning then error.`,template:`◑ {{ round .weekly.percentage }}% ({{ template "formatResetCountdown" .weekly.resetsAt }})`,bg:`{{ ramp (round .weekly.percentage) "step" 0 (tint) .settings.warnAt "warning" .settings.errorAt "error" }}`,settings:uO,when:`{{ gt .weekly.resetsAt 0 }}`},burnrate:{description:`Spend per hour, with the projected time to the 5-hour and weekly limits.`,template:`⚡ {{ template "formatRate" .burn.costPerHour }} · {{ template "formatEta" .block.etaMinutes }} to 5h · {{ template "formatEta" .weekly.etaMinutes }} to wk`,bg:`{{ ramp .block.etaMinutes "step" -1 (tint) 0 "error" .settings.errorWithin "warning" .settings.warnWithin (tint) }}`,settings:{errorWithin:{label:`error within (min)`,domain:{min:0,max:300,step:5},default:30},warnWithin:{label:`warning within (min)`,domain:{min:0,max:300,step:5,atLeast:`errorWithin`},default:60}},when:`{{ or (gt .block.resetsAt 0) (gt .weekly.resetsAt 0) }}`},speed:{description:`Token throughput for the latest exchange: output, input, and total.`,template:`⇅ out {{ template "formatSpeed" .speed.output }} · in {{ template "formatSpeed" .speed.input }} · tot {{ template "formatSpeed" .speed.total }}`,when:`{{ gt .session.tokens 0 }}`},tokenSparkline:{description:`A sparkline of recent token throughput.`,template:`⚡ {{ sparkline .speed.history 24 }}`,when:`{{ ne .speed.history "" }}`},cacheTimer:{description:"Minutes until the prompt cache expires, or `cold` once it has.",template:`◴ {{ if le (minutesUntilReset .cache.expiresAt) 0 }}cold{{ else }}{{ minutesUntilReset .cache.expiresAt }}m{{ end }}`,fg:`{{ readableOn (color (cascade (minutesUntilReset .cache.expiresAt) "0:error" "9:warning" "21:foreground")) (bgOf) ${ta} }}`,when:`{{ gt .cache.expiresAt 0 }}`},context:{description:`Context used, in tokens and percent remaining, heating as it fills.`,template:`◔ {{ formatInteger .context.totalTokens }} ({{ .context.contextLeft }}%)`,bg:`{{ ramp .context.contextLeft "step" 0 "error" 21 "warning" 41 (tint) }}`,when:`{{ gt .context.totalTokens 0 }}`},ceiling:{description:`The memento plugin's context ceiling for this session: − and + move it by 100K, ∞ lifts it, ↺ drops this session's own setting.`,template:`{{ if ne .memento.error "" }}⌈ ⚠ {{ .memento.error }} {{ action "ceiling.clear" "↺" }}{{ else }}⌈ {{ if .memento.off }}off{{ else }}{{ template "formatTokenCount" .memento.ceiling }} {{ action "ceiling.lower" "−" }} {{ action "ceiling.raise" "+" }} {{ action "ceiling.off" "∞" }}{{ end }}{{ if ne .memento.session "" }} {{ action "ceiling.clear" "↺" }}{{ end }}{{ end }}`,bg:`{{ if ne .memento.error "" }}{{ color "error" }}{{ else }}{{ tint }}{{ end }}`,when:`{{ or (ge .memento.ceiling 0) (ne .memento.error "") }}`},autocompact:{description:`Claude Code's auto-compact window: − and + move it by 100K, ↺ returns it to auto. Clicks type /autocompact into this session.`,template:`{{ if ne .autocompact.error "" }}⇲ ⚠ {{ .autocompact.error }}{{ else }}⇲ {{ if eq .autocompact.window 0 }}auto{{ else }}{{ template "formatTokenCount" .autocompact.applied }}{{ end }}{{ if gt .autocompact.lower 0 }} {{ action (printf "autocompact.%d" .autocompact.lower) "−" }}{{ end }}{{ if gt .autocompact.higher 0 }} {{ action (printf "autocompact.%d" .autocompact.higher) "+" }}{{ end }}{{ if gt .autocompact.window 0 }} {{ action "autocompact.auto" "↺" }}{{ end }}{{ end }}`,bg:`{{ if ne .autocompact.error "" }}{{ color "error" }}{{ else }}{{ tint }}{{ end }}`,when:`{{ or (ge .autocompact.window 0) (ne .autocompact.error "") }}`},metrics:{description:`Response times, session duration, message count, and lines added/removed.`,template:`{{ if .metrics.lastResponseTime }} Δ {{ template "formatResponseTime" .metrics.lastResponseTime }}{{ end }}{{ if .metrics.responseTime }} ⧖ {{ template "formatResponseTime" .metrics.responseTime }}{{ end }}{{ if .metrics.sessionDuration }} ⧗ {{ template "formatDuration" .metrics.sessionDuration }}{{ end }}{{ if .metrics.messageCount }} ◆ {{ .metrics.messageCount }}{{ end }}{{ if .metrics.linesAdded }} + {{ .metrics.linesAdded }}{{ end }}{{ if .metrics.linesRemoved }} - {{ .metrics.linesRemoved }}{{ end }} `,when:`{{ or (gt .metrics.lastResponseTime 0.0) (gt .metrics.responseTime 0.0) (gt .metrics.sessionDuration 0.0) (gt .metrics.messageCount 0) (gt .metrics.linesAdded 0) (gt .metrics.linesRemoved 0) }}`},activity:{description:`What Claude is doing: the slash command that opened the turn, the in-progress todo, and the tools in flight.`,template:`{{ if .activity.command }} ⌘ {{ .activity.command }}{{ end }}{{ if .activity.todo.total }}{{ if .activity.todo.active }} ☐ {{ .activity.todo.position }}/{{ .activity.todo.total }} {{ abbrev 32 .activity.todo.active }}{{ else }} ☑ {{ .activity.todo.completed }}/{{ .activity.todo.total }}{{ end }}{{ end }}{{ if .activity.tool.running }} ⟳ {{ template "formatToolTally" .activity.tool.running }}{{ end }}{{ if .activity.tool.done }} ✓ {{ template "formatToolTally" .activity.tool.done }}{{ end }} `,when:`{{ or (ne .activity.command "") (gt .activity.todo.total 0) (ne .activity.tool.running "") (ne .activity.tool.done "") }}`}},root:{rows:{identity:{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`host`},{kind:`segment`,name:`directory`},{kind:`segment`,name:`gitaculous`}]},status:{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`model`},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`context`},{kind:`segment`,name:`ceiling`},{kind:`segment`,name:`autocompact`}]},{kind:`segment`,name:`cacheTimer`},{kind:`segment`,name:`block`},{kind:`segment`,name:`weekly`},{kind:`segment`,name:`activity`}]}}},actions:{...$b(``).actions,...oO.actions,copyDir:{copy:`{{ .current_dir }}`},stepTheme:{set:`theme`,from:`themes`},gitDetail:{set:`git-detail`,cycle:[`collapsed`,`expanded`]},"ceiling.raise":{ceiling:`set`,to:`+100_000`},"ceiling.lower":{ceiling:`set`,to:`-100_000`},"ceiling.off":{ceiling:`set`,to:`off`},"ceiling.clear":{ceiling:`clear`},"autocompact.auto":{slash:ax(`/autocompact auto`)},...Object.fromEntries(tO.map(e=>[`autocompact.${e}`,{slash:ax(`/autocompact ${e}`)}]))},looks:{none:{hueShift:0,chromaScale:1,lightnessScale:1,lightnessShift:0},vivid:{hueShift:0,chromaScale:1.35,lightnessScale:1,lightnessShift:0},muted:{hueShift:0,chromaScale:.55,lightnessScale:1,lightnessShift:0},dim:{hueShift:0,chromaScale:1,lightnessScale:.85,lightnessShift:0},bright:{hueShift:0,chromaScale:1,lightnessScale:1,lightnessShift:.08},inverted:{hueShift:0,chromaScale:1,lightnessScale:-1,lightnessShift:1}},presets:{default:{},compact:{root:{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`directory`},{kind:`segment`,name:`gitaculous`},{kind:`segment`,name:`context`}]},globals:{padding:0}},verbose:{root:{kind:`container`,direction:`vertical`,children:[{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`directory`},{kind:`segment`,name:`gitaculous`},{kind:`segment`,name:`gitPr`}]},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`model`},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`context`},{kind:`segment`,name:`ceiling`},{kind:`segment`,name:`autocompact`}]},{kind:`segment`,name:`cacheTimer`},{kind:`segment`,name:`block`},{kind:`segment`,name:`weekly`},{kind:`segment`,name:`burnrate`}]},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`speed`},{kind:`segment`,name:`tokenSparkline`}]}]}},zen:{root:{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`directory`},{kind:`segment`,name:`context`}]},globals:{style:`plain`,look:`dim`}},git:{root:{kind:`container`,direction:`vertical`,children:[{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`host`},{kind:`segment`,name:`directory`},{kind:`segment`,name:`gitaculous`},{kind:`segment`,name:`gitPr`}]},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`model`},{kind:`segment`,name:`context`},{kind:`segment`,name:`activity`}]}]}},usage:{root:{kind:`container`,direction:`vertical`,children:[{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`model`},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`context`},{kind:`segment`,name:`ceiling`},{kind:`segment`,name:`autocompact`}]},{kind:`segment`,name:`cacheTimer`}]},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`block`},{kind:`segment`,name:`weekly`},{kind:`segment`,name:`burnrate`}]},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`session`},{kind:`segment`,name:`today`},{kind:`segment`,name:`speed`},{kind:`segment`,name:`tokenSparkline`}]}]}},dense:{root:{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`host`},{kind:`segment`,name:`directory`},{kind:`segment`,name:`gitaculous`},{kind:`segment`,name:`model`},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`context`},{kind:`segment`,name:`ceiling`},{kind:`segment`,name:`autocompact`}]},{kind:`segment`,name:`cacheTimer`},{kind:`segment`,name:`block`},{kind:`segment`,name:`weekly`},{kind:`segment`,name:`session`},{kind:`segment`,name:`activity`}]},globals:{padding:0}}},editGlobals:{style:`plain`,default_separator:` | `},helpers:{gitPaint:`{{ fg (readableOn (color .color) (bgOf) ${ta}) .text }}`,gitCollapsed:`{{ template "gitBranch" . }}{{ template "gitAheadBehind" . }}{{ template "gitFlags" . }}`,gitExpanded:`(git){{ template "gitRepo" . }}{{ template "gitOperation" . }}{{ template "gitSha" . }}{{ template "gitFlags" . }} {{ template "gitBranch" . }}{{ template "gitUpstream" . }}{{ template "gitStash" . }}{{ template "gitAge" . }}`,gitBranch:`⎇ {{ template "gitPaint" (dict "color" .git.color.branch "text" .git.branch) }}`,gitRepo:`{{ if and .settings.repo (ne .git.repoName "") }} {{ .git.repoName }}{{ end }}`,gitOperation:`{{ if and .settings.operation (ne .git.operation "") }} [{{ .git.operation }}]{{ end }}`,gitSha:`{{ if and .settings.sha (ne .git.sha "") }} {{ .git.sha }}{{ end }}`,gitFlags:`{{ if and .settings.flags (or (gt .git.staged 0) (gt .git.unstaged 0) (gt .git.untracked 0) (gt .git.conflicts 0)) }} {{ if gt .git.staged 0 }}{{ template "gitPaint" (dict "color" .git.color.staged "text" "S") }}{{ end }}{{ if gt .git.unstaged 0 }}{{ template "gitPaint" (dict "color" .git.color.unstaged "text" "U") }}{{ end }}{{ if gt .git.untracked 0 }}{{ template "gitPaint" (dict "color" .git.color.untracked "text" "?") }}{{ end }}{{ if gt .git.conflicts 0 }}{{ template "gitPaint" (dict "color" .git.color.conflicts "text" (printf "!%v" .git.conflicts)) }}{{ end }}{{ end }}`,gitAheadBehind:`{{ if and .settings.aheadBehind (or (gt .git.ahead 0) (gt .git.behind 0)) }} {{ if gt .git.ahead 0 }}{{ template "gitPaint" (dict "color" .git.color.ahead "text" (printf "+%v" .git.ahead)) }}{{ end }}{{ if and (gt .git.ahead 0) (gt .git.behind 0) }}/{{ end }}{{ if gt .git.behind 0 }}{{ template "gitPaint" (dict "color" .git.color.behind "text" (printf "-%v" .git.behind)) }}{{ end }}{{ end }}`,gitUpstream:`{{ if and .settings.upstream (ne .git.upstream "") }} [{{ .git.upstream }}{{ template "gitAheadBehind" . }}]{{ end }}`,gitStash:`{{ if and .settings.stash (gt .git.stash 0) }} {{ template "gitPaint" (dict "color" .git.color.stash "text" (printf "(%v stashed)" .git.stash)) }}{{ end }}`,gitAge:`{{ if and .settings.age (gt .git.timeSinceCommit 0) }} ◷ {{ template "formatTimeSince" .git.timeSinceCommit }}{{ end }}`,formatCost:'{{ if lt . 0.01 }}<$0.01{{ else }}${{ printf "%.2f" . }}{{ end }}',formatTokenCount:`{{ if ge . 1000000 }}{{ printf "%.1f" (divf . 1000000) }}M{{ else if ge . 1000 }}{{ printf "%.1f" (divf . 1000) }}K{{ else }}{{ . }}{{ end }}`,formatTokens:`{{ template "formatTokenCount" . }} tokens`,formatToolTally:`{{ $names := splitList "," . }}{{ range $i, $pair := $names }}{{ if lt $i 2 }}{{ if $i }} {{ end }}{{ $kv := splitList ":" $pair }}{{ index $kv 0 }}{{ if ne (index $kv 1) "1" }}×{{ index $kv 1 }}{{ end }}{{ end }}{{ end }}{{ if gt (len $names) 2 }} +{{ sub (len $names) 2 }}{{ end }}`,formatRate:`{{ if lt . 0 }}—/hr{{ else }}{{ template "formatCost" . }}/hr{{ end }}`,formatEta:`{{ if lt . 0 }}—{{ else }}{{ template "formatLongTimeRemaining" . }}{{ end }}`,formatSpeed:`{{ if lt . 0 }}—{{ else }}{{ template "formatTokenCount" (round .) }}/s{{ end }}`,formatTokenBreakdown:`{{ $first := true }}{{ if gt .input 0 }}{{ template "formatTokenCount" .input }} in{{ $first = false }}{{ end }}{{ if gt .output 0 }}{{ if not $first }} + {{ end }}{{ template "formatTokenCount" .output }} out{{ $first = false }}{{ end }}{{ if or (gt .cacheCreation 0) (gt .cacheRead 0) }}{{ if not $first }} + {{ end }}{{ template "formatTokenCount" (add .cacheCreation .cacheRead) }} cached{{ $first = false }}{{ end }}{{ if $first }}0 tokens{{ end }}`,budgetStatus:`{{ if or (le .budget 0) (lt .cost 0) }}{{ else }}{{ $pct := minf 100 (mulf (divf .cost .budget) 100) }}{{ $p := printf "%.0f%%" $pct }}{{ if ge $pct .warn }} !{{ $p }}{{ else }}{{ if ge $pct 50 }} +{{ $p }}{{ else }} {{ $p }}{{ end }}{{ end }}{{ end }}`,formatTimeSince:`{{ if lt . 60 }}{{ . }}s{{ else if lt . 3600 }}{{ div . 60 }}m{{ else if lt . 86400 }}{{ div . 3600 }}h{{ else if lt . 604800 }}{{ div . 86400 }}d{{ else }}{{ div . 604800 }}w{{ end }}`,formatDuration:`{{ if lt . 60 }}{{ printf "%.0f" . }}s{{ else if lt . 3600 }}{{ printf "%.0f" (divf . 60) }}m{{ else if lt . 86400 }}{{ printf "%.1f" (divf . 3600) }}h{{ else }}{{ printf "%.1f" (divf . 86400) }}d{{ end }}`,formatResponseTime:`{{ if lt . 60 }}{{ printf "%.1f" . }}s{{ else }}{{ printf "%.1f" (divf . 60) }}m{{ end }}`,formatLongTimeRemaining:`{{ if ge . 1440 }}{{ $d := div . 1440 }}{{ $h := div (mod . 1440) 60 }}{{ if gt $h 0 }}{{ $d }}d {{ $h }}h{{ else }}{{ $d }}d{{ end }}{{ else if ge . 60 }}{{ $h := div . 60 }}{{ $m := mod . 60 }}{{ if gt $m 0 }}{{ $h }}h {{ $m }}m{{ else }}{{ $h }}h{{ end }}{{ else }}{{ . }}m{{ end }}`,formatResetCountdown:`{{ template "formatLongTimeRemaining" (add 1 (minutesUntilReset .)) }}`}},pO=new Set([fO.globals.palette,...Object.values(fO.segments).map(e=>e.palette)].filter(e=>e!==void 0)),mO=_c(YC(`<default>`,JSON.stringify(fO),pO),fO),hO=Fg(mO.presets);function gO(e){return hO.includes(e)}function _O(e){if(!e)return 0;try{return o(e).mtimeMs}catch{return 0}}const vO=new class{slots;head=null;tail=null;constructor(e){this.slots=e}async run(e){await this.acquire();try{return await e()}finally{this.release()}}async acquire(){if(this.slots>0){this.slots--;return}await new Promise(e=>{let t={wake:e,next:null};this.tail?this.tail.next=t:this.head=t,this.tail=t})}release(){let e=this.head;if(!e){this.slots++;return}this.head=e.next,this.head||(this.tail=null),e.wake()}}(8);function yO(e){return((...t)=>vO.run(()=>e(...t)))}const bO=yO(S),xO=yO(x),SO=yO(C);async function CO(e,t){return vO.run(async()=>{let n=null;try{n=await b(e,`r`);let{size:r,mtimeMs:i,ino:a}=await n.stat(),o=t!==void 0&&(a!==t.ino||r<t.offset),s=o||t===void 0?0:t.offset;if(s>=r)return J({buf:Buffer.alloc(0),start:s,size:r,mtimeMs:i,ino:a,reset:o});let c=Buffer.alloc(r-s),l=0;for(;l<c.length;){let{bytesRead:e}=await n.read(c,l,c.length-l,s+l);if(e===0)break;l+=e}return J({buf:l===c.length?c:c.subarray(0,l),start:s,size:r,mtimeMs:i,ino:a,reset:o})}catch(t){return t.code===`ENOENT`?Y:X(`readAppended ${e}: ${t instanceof Error?t.message:String(t)}`)}finally{await n?.close().catch(e=>{O(`transcript-fs: close failed: ${e instanceof Error?e.message:String(e)}`)})}})}async function wO(e,t){return vO.run(async()=>{let n=null;try{n=await b(e,`r`);let{size:r}=await n.stat(),i=Math.max(0,r-t),a=Buffer.alloc(r-i),o=0;for(;o<a.length;){let{bytesRead:e}=await n.read(a,o,a.length-o,i+o);if(e===0)break;o+=e}return J({buf:o===a.length?a:a.subarray(0,o),fromStart:i===0})}catch(t){return t.code===`ENOENT`?Y:X(`readTail ${e}: ${t instanceof Error?t.message:String(t)}`)}finally{await n?.close().catch(e=>{O(`transcript-fs: close failed: ${e instanceof Error?e.message:String(e)}`)})}})}const TO=/"(?:cache_read_input_tokens|cache_creation_input_tokens)":[1-9]/;function EO(e){let t;try{t=JSON.parse(e)}catch{return null}let n=t.message?.usage;if(!((n?.cache_read_input_tokens??0)>0||(n?.cache_creation_input_tokens??0)>0))return null;let r=t.timestamp==null?NaN:Date.parse(t.timestamp);return Number.isNaN(r)?null:r}async function DO(e){let t=await OO(e);return t.kind===`ok`?J(Math.floor((t.value+36e5)/1e3)):t}async function OO(e){for(let t of[65536,1048576]){let n=await wO(e,t);if(n.kind!==`ok`)return n;let r=kO(n.value.buf,n.value.fromStart);if(r!=null)return J(r);if(n.value.fromStart)return Y}return Y}function kO(e,t){let n=e.toString(`utf8`).split(`
|
|
176
|
+
`),r=+!t;for(let e=n.length-1;e>=r;e--){let t=n[e];if(!t||!TO.test(t))continue;let r=EO(t);if(r!=null)return r}return null}function AO(e,t,n){let r=Ig(t(`preset`),e.globals.preset,e.presets),i=zg(e,r),a=t(`edit.mode`)===`arrange`?e.editGlobals:{};return{preset:r,presetCustomized:n(r),theme:qy(a.palette,t(`theme`),i.palette),look:La(a.look,t(`look`),i.look,e.looks),style:Ba(a.style,t(`style`),i.style),progression:Qa(a.progression,t(`progression`),i.progression),separator:a.default_separator??i.default_separator,autoWrap:ao(a.autoWrap,t(`autoWrap`),i.autoWrap),padding:oo(a.padding,t(`padding`),i.padding),charset:Wa(a.charset,t(`charset`),i.charset),updateNotice:a.updateNotice??i.updateNotice??!0,colorCompatibility:Ja(a.colorCompatibility,t(`colorCompatibility`),i.colorCompatibility)}}function jO(e,t){return{style:e.style,separator:e.separator,colorCompatibility:e.colorCompatibility,wrap:e.autoWrap,padding:e.padding,charset:e.charset,width:t}}function MO(e){return{theme:e.theme,look:e.look,preset:e.preset,progression:e.progression}}function NO(e){return{preset:{effective:e.preset,customized:e.presetCustomized,bundled:gO(e.preset)},style:{effective:e.style},progression:{effective:e.progression},charset:{effective:e.charset},colorCompatibility:{effective:e.colorCompatibility},autoWrap:{effective:e.autoWrap},padding:{effective:e.padding}}}const PO=10*1e3;function FO(e,t,n,r){let i=n-(t*1e3-r);if(i<3e5||e<=0)return;let a=e/i,o=(100-e)/a;return Math.max(0,Math.round(o/6e4))}function IO(e,t){if(!(t<60))return e*3600/t}function LO(e,t,n,r){let i=r-t;if(i<50||i>PO)return;let a=n-e;if(!(a<=0))return a*1e3/i}function RO(e){let{prev:t,cur:n}=e;if(t===void 0)return;let r=LO(t.input,t.atMs,n.input,n.atMs),i=LO(t.output,t.atMs,n.output,n.atMs),a=LO(t.total,t.atMs,n.total,n.atMs);if(!(r===void 0&&i===void 0&&a===void 0))return{...r!==void 0&&{input:r},...i!==void 0&&{output:i},...a!==void 0&&{total:a}}}function zO(e){let{samples:t}=e,n=[];for(let e=1;e<t.length;e++){let r=t[e-1],i=t[e],a=i.atMs-r.atMs;if(a<50||a>PO)continue;let o=LO(r.total,r.atMs,i.total,i.atMs);n.push(o??0)}if(n.length!==0)return n.join(`,`)}function BO(e){let t=e.indexOf(`.`);return t<0?e:e.slice(0,t)}function VO(e){let t=[],n=(e,n)=>{try{let e=n();return e===``?void 0:e}catch(n){t.push(`host.${e}: ${String(n)}`);return}},r=n(`name`,()=>BO(p.hostname())),i=n(`user`,()=>p.userInfo().username);return{host:{...r!==void 0&&{name:r},...i!==void 0&&{user:i},...e.ssh!==void 0&&{ssh:e.ssh}},failures:t}}function HO(e,t){let n=new Map;for(let[t,r]of Object.entries(e.variables))n.set(t,r);for(let[t,r]of Object.entries(e.segments))if(r.vars)for(let[e,i]of Object.entries(r.vars))n.set(`${t}.${e}`,i);let r=[],i=new Set,a=t=>b_(t,e.helpers).keys();for(let n of ls(Rg(e,t).node)){if(n.when)for(let e of a(n.when))r.push(e);if(n.kind!==`segment`)continue;let t=e.segments[n.name];if(t){for(let e of[t.template,t.when,t.bg,t.fg])if(e)for(let t of a(e))r.push(t)}}let o=new Set;for(;r.length>0;){let e=r.pop();for(let t of WO(n,e)){if(i.has(t))continue;i.add(t);let e=n.get(t);if(e){if(e.kind===`input`)o.add(e.path);else if(e.kind===`template`)for(let t of a(e.template))r.push(t)}}}return o}function UO(e){let t=new Map;return n=>{let r=t.get(n);if(r!==void 0)return r;let i=HO(e,n);return t.set(n,i),i}}function WO(e,t){let n=t;for(;n.length>0;){if(e.has(n))return[n];let t=n.lastIndexOf(`.`);if(t<0)break;n=n.slice(0,t)}let r=`${t}.`,i=[];for(let t of e.keys())t.startsWith(r)&&i.push(t);return i}function GO(e,t){for(let n of e)if(n===t||n.startsWith(t+`.`))return!0;return!1}function KO(e){let t=t=>e.has(t),n=t(`git.staged`)||t(`git.unstaged`)||t(`git.untracked`)||t(`git.conflicts`);return{...t(`git.sha`)&&{showSha:!0},...n&&{showWorkingTree:!0},...t(`git.stash`)&&{showStashCount:!0},...t(`git.upstream`)&&{showUpstream:!0},...t(`git.repoName`)&&{showRepoName:!0},...t(`git.repoUrl`)&&{showRepoUrl:!0},...t(`git.operation`)&&{showOperation:!0},...t(`git.timeSinceCommit`)&&{showTimeSinceCommit:!0},...(t(`git.prNumber`)||t(`git.prState`)||t(`git.prUrl`)||t(`git.prError`))&&{showPullRequest:!0}}}async function qO(e,t,n,r,i,a,o){let s=e=>GO(r,e),c=(t.clock??(()=>new Date))().getTime(),l=(e,t,n)=>t?n().catch(t=>X(`${e}: ${String(t)}`)):Promise.resolve(Y),[u,d,f,p,m,h,g,_,v,y,b]=await Promise.all([l(`git`,s(`git`),()=>t.gitProvider.getGitInfo(n??e.workspace?.current_dir,KO(r),e.workspace?.project_dir)),l(`session`,s(`session.cost`)||s(`session.tokens`)||s(`burn`),()=>t.usageStore.getUsageInfo(e.session_id,e)),l(`today`,s(`today`),()=>t.usageStore.getTodayInfo(e)),l(`context`,s(`context`)||s(`autocompact`),()=>t.contextProvider.getContextInfo(e)),l(`metrics`,s(`metrics`)||s(`burn`),()=>t.metricsProvider.getMetricsInfo(e.session_id,e)),l(`activity`,s(`activity`),()=>t.activityProvider.getActivityInfo(e.session_id,e)),l(`tmux`,s(`tmux`),()=>t.tmuxService.getSessionId()),l(`cache`,s(`cache`),()=>DO(e.transcript_path)),l(`speed`,s(`speed`),()=>t.usageStore.observeSpeed(e.session_id,e.transcript_path,c)),l(`memento`,s(`memento`),()=>t.mementoProvider.getCeiling({sessionId:e.session_id,projectDir:e.workspace?.project_dir??``,cwd:n??e.workspace?.current_dir??``})),l(`autocompact`,s(`autocompact`),()=>Promise.resolve(t.autoCompact(UT(HT(a.claudeConfigDir)))))]),x=[],S=e=>{if(e.kind===`failed`){x.push(e.reason);return}return e.kind===`ok`?e.value:void 0},C=tk(u);x.push(...C.failures);let ee=VO(a);x.push(...ee.failures);let te=S(d),ne=S(f),re=S(p),w=S(m),ie=S(h),T=S(g),E=S(_),ae=XO(y);y.kind===`failed`&&x.push(`memento: ${y.reason}`);let oe=JO(b,re?.maxTokens);b.kind===`failed`&&x.push(`autocompact: ${b.reason}`);for(let e of x)t.log(`warn`,`provider fetch failed: ${e}`);let D=e.rate_limits?.five_hour,se=e.rate_limits?.seven_day,ce=D?FO(D.used_percentage,D.resets_at,18e6,c):void 0,le=se?FO(se.used_percentage,se.resets_at,6048e5,c):void 0,ue=te?.session.cost,de=w?.sessionDuration,fe=s(`burn`)&&ue!=null&&de!=null?IO(ue,de):void 0,pe=S(v),me=pe===void 0?void 0:RO(pe),he=pe===void 0?void 0:zO(pe),ge=me!==void 0||he!==void 0?{...me,...he!==void 0&&{history:he}}:void 0,O=ek(process.env.HOME??process.env.USERPROFILE),_e=e.workspace?{...e.workspace,current_dir:ek(e.workspace.current_dir)??``,project_dir:ek(e.workspace.project_dir)??``}:e.workspace,ve=te===void 0?void 0:$O({cost:te.session.cost,tokens:te.session.tokens}),ye=ne===void 0?void 0:{cost:ne.cost,tokens:ne.tokens},be=w===void 0?void 0:$O({lastResponseTime:w.lastResponseTime,responseTime:w.responseTime,sessionDuration:w.sessionDuration,messageCount:w.messageCount,linesAdded:w.linesAdded,linesRemoved:w.linesRemoved}),xe=ie===void 0?void 0:ZO(ie);return{...e,..._e!==void 0&&{workspace:_e},...O!==void 0&&{home:O},...C.git!==void 0&&{git:C.git},...T!==void 0&&{tmux:{session:T}},host:ee.host,...NO(i),history:t.history(e.session_id),unsaved:o,...ve!==void 0&&{session:ve},...ye!==void 0&&{today:ye},...fe!==void 0&&{burn:{costPerHour:fe}},...ge!==void 0&&{speed:ge},...s(`block`)&&D!==void 0&&{block:{nativeUtilization:D.used_percentage,resetsAt:D.resets_at,...ce!==void 0&&{etaMinutes:ce}}},...se!==void 0&&{weekly:{percentage:se.used_percentage,resetsAt:se.resets_at,...le!==void 0&&{etaMinutes:le}}},...E!==void 0&&{cache:{expiresAt:E}},...re!==void 0&&{context:{totalTokens:re.totalTokens,contextLeft:re.contextLeftPercentage}},...be!==void 0&&{metrics:be},...xe!==void 0&&{activity:xe},...ae!==void 0&&{memento:ae},...oe!==void 0&&{autocompact:oe}}}function JO(e,t){switch(e.kind){case`absent`:return;case`failed`:return{error:e.reason};case`ok`:return aO(e.value,t)}}const YO=e=>e.trim().split(`
|
|
177
|
+
`).at(-1).trim();function XO(e){switch(e.kind){case`absent`:return;case`failed`:return{error:YO(e.reason)};case`ok`:{let{ceiling:t,session:n}=e.value;return{ceiling:t===`off`?0:t,off:t===`off`,session:n??``}}}}function ZO(e){let t=e.todos.findIndex(e=>e.active),n=e.todos.length===0?void 0:{total:e.todos.length,completed:e.todos.filter(e=>e.done).length,...t>=0&&{position:t+1,active:e.todos[t].text}},r=QO(e.running),i=QO(e.done),a=r===void 0&&i===void 0?void 0:{...r!==void 0&&{running:r},...i!==void 0&&{done:i}};if(!(e.command===null&&n===void 0&&a===void 0))return{...e.command!==null&&{command:e.command},...n!==void 0&&{todo:n},...a!==void 0&&{tool:a}}}function QO(e){return e.length===0?void 0:e.map(e=>`${e.name}:${e.count}`).join(`,`)}function $O(e){let t={},n=!1;for(let r of Object.keys(e)){let i=e[r];i!=null&&(t[r]=i,n=!0)}return n?t:void 0}function ek(e){return e===void 0||e.length===0||c.sep!==`\\`?e:e.replace(/\\/g,`/`)}function tk(e){if(e.kind===`absent`)return{failures:[]};if(e.kind===`failed`)return{failures:[e.reason]};let t=e.value,n=[],r=(e,t)=>{if(!(t===void 0||t.kind===`absent`)){if(t.kind===`failed`){n.push(`git.${e}: ${t.reason}`);return}return t.value}},i=r(`aheadBehind`,t.aheadBehind),a=r(`sha`,t.sha),o=r(`operation`,t.operation),s=r(`timeSinceCommit`,t.timeSinceCommit),c=r(`stash`,t.stashCount),l=r(`upstream`,t.upstream),u=r(`repoName`,t.repoName),d=r(`repoUrl`,t.repoUrl),f=t.pullRequest,p={};return f?.kind===`ok`?(p.prNumber=f.value.number,p.prState=f.value.state,p.prUrl=f.value.url):f?.kind===`failed`&&(n.push(`git.pr: ${f.reason}`),p.prError=f.reason),{git:{branch:t.branch,status:t.status,...i!==void 0&&{ahead:i.ahead,behind:i.behind},...t.workingTree!==void 0&&{staged:t.workingTree.staged,unstaged:t.workingTree.unstaged,untracked:t.workingTree.untracked,conflicts:t.workingTree.conflicts},...a!==void 0&&{sha:a},...o!==void 0&&{operation:o},...s!==void 0&&{timeSinceCommit:s},...c!==void 0&&{stash:c},...l!==void 0&&{upstream:l},...u!==void 0&&{repoName:u},...d!==void 0&&{repoUrl:d},...p},failures:n}}const nk={theme:e=>e.theme.kind===`decided`?e.theme.name:null,preset:e=>e.preset,look:e=>e.look.kind===`decided`?e.look.name:null,style:e=>e.style,progression:e=>e.progression,charset:e=>e.charset,colorCompatibility:e=>e.colorCompatibility,autoWrap:e=>e.autoWrap?$a:eo,padding:e=>String(e.padding)},rk=Object.entries(My),ik=new Set(Ny.map(e=>e.sessionKey)),ak=()=>!1;function ok(e,t){return AO(e,e=>ik.has(e)?t(e):null,ak)}function sk(e,t,n,r){return e.flatMap(([e,i])=>{let a=nk[e](t);return a===null||a===nk[e](n(e))?[]:[{...i,value:a,target:r(i)}]})}function ck(e,t,n){return nk[n](ok(e,t))}function lk(e,t){let n=ok(e,t),r=AO(e,()=>null,ak),i=AO(e,e=>e===My.preset.sessionKey?n.preset:null,ak),a=Lg(e.presets,n.preset).globals??{};return sk(rk,n,e=>e===`preset`?r:i,e=>e.configKey in a?ob(n.preset,e.configKey):e.configKey)}function uk(e,t){let{preset:n}=ok(e,t);return pk(e,n).flatMap(({id:e,setting:r,key:i,decl:a,saved:o})=>{let s=t(i),c=s===null?void 0:Ts(a,s);return c===void 0||ws(c)===ws(o)?[]:[{preset:n,id:e,setting:r,key:i,value:c}]})}function dk(e,t,n){let r=new Map(n.map(e=>[e.key,e.value]));return Fg(e.presets).flatMap(n=>{let i=pk(e,n);return[...new Set(i.filter(e=>r.has(e.key)).map(e=>e.id))].flatMap(e=>{let n=i.filter(t=>t.id===e);return Ss(Object.fromEntries(n.map(e=>[e.setting,e.decl])),Object.fromEntries(n.map(e=>{let n=r.get(e.key)??t(e.key),i=n===null?void 0:Ts(e.decl,n);return[e.setting,i??e.saved]}))).map(({message:t})=>`placement "${e}": ${t}`)})})}const fk=new WeakMap;function pk(e,t){let n=fk.get(e)??new Map;fk.set(e,n);let r=n.get(t);if(r!==void 0)return r;let i=[...ls(Rg(e,t).node)].flatMap(t=>t.kind!==`segment`||t.drafts===void 0?[]:Object.entries(t.drafts).map(([n,{id:r,key:i}])=>{let a=bs(e.segments[t.name])[n];return{id:r,setting:n,key:i,decl:a,saved:t.settings?.[n]??a.default}})),a=[...new Map(i.map(e=>[e.key,e])).values()];return n.set(t,a),a}function mk(e,t){let n=ok(e,t),r=AO(e,e=>e===My.preset.sessionKey?n.preset:null,ak);return{from:n.preset,globals:Lg(e.presets,n.preset).globals??{},picks:sk(rk.filter(([e])=>e!==`preset`),n,()=>r,e=>e.configKey),placements:uk(e,t)}}function hk(e){return{sessionKeys:Ny.filter(t=>t.configKey===e).map(e=>e.sessionKey),fileKeys:[e,...Gc(e)?hO.map(t=>ob(t,e)):[]]}}const gk=Ta(),_k=new Set(gk),vk=new Set(Ra),yk=e=>e?_k.has(e)?{ok:!0,value:e}:{ok:!1,reason:`unknown theme "${e}" (have: ${gk.join(`, `)})`}:{ok:!1,reason:`theme name is required`},bk=e=>e?vk.has(e)?{ok:!0,value:e}:{ok:!1,reason:`unknown style "${e}" (have: ${Ra.join(`, `)})`}:{ok:!1,reason:`style name is required`},xk=new Set([`1`,`true`]),Sk=new Set([`0`,`false`]),Ck=WD({style:bk,theme:yk,"toolbar-expanded":e=>xk.has(e)?{ok:!0,value:`1`}:Sk.has(e)?{ok:!0,value:``}:{ok:!1,reason:`expected boolean-ish (1, 0, true, false), got "${e}"`}});function wk(){return Ck.listKeys()}function Tk(e,t){return Ck.register(e,t)}function Ek(e,t){return Ck.validate(e,t)}function Dk(e){return Ck.rangeParamsFor(e)}function Ok(e,t){return`set`in e?`to`in e?[{key:e.set,spec:{kind:`allow-list`,allowed:[e.to]}}]:`from`in e?[{key:e.set,spec:{kind:`allow-list`,allowed:tb(e.from,t).members}}]:`int`in e?[{key:e.set,spec:{kind:`int`}}]:`cycle`in e?[{key:e.set,spec:{kind:`allow-list`,allowed:e.cycle}}]:[{key:e.set,spec:{kind:`range`,min:e.min,max:e.max}}]:[]}function kk(e){let t=new Set(Ck.listBaselineKeys());return e.filter(e=>e.spec.kind!==`allow-list`||!t.has(e.key))}function Ak(e,t,n){let r=Iy.get(n);if(r!==void 0)return ck(e,t,r);let i=Object.values(e.variables).find(e=>e.kind===`state`&&e.key===n);return i?.kind===`state`?i.default??null:null}function jk(e){let t=$y(e);return kk(Object.values(e.actions).flatMap(e=>Ok(e,t)))}function Mk(e){return UD(jk(e))}const Nk=`update.dismissed`,Pk=`updateNotice`;function Fk(e){return e.kind===`source`?e.newer.digest:XT(e.newer)}const Ik=e=>`${e.version} [${OD(e.digest)}]`;function Lk(e){switch(e.kind){case`source`:return{headline:`Newer source`,newer:Ik(e.newer),running:Ik(e.running),act:`rebuild`,busy:`rebuilding…`,command:{bin:`pnpm`,args:[`build`],cwd:e.root}};case`release`:return{headline:`Newer release`,newer:XT(e.newer),running:XT(e.running),act:`upgrade`,busy:`upgrading…`,command:{bin:`pnpm`,args:[`dlx`,`${QT}@${XT(e.newer)}`,`install`]}}}}const Rk={kind:`idle`},zk={kind:`running`};function Bk(e,t,n){if(e===null)return[];let r=Fk(e);if(!n.enabled||n.dismissed===r)return[];let i=Lk(e),a=`${i.headline}: ${i.newer}. You're on ${i.running}.`,o=t.kind===`failed`&&t.identity===r?[`${i.act} failed: ${t.reason}`]:[],s=[a,...o].join(`
|
|
178
|
+
`),c=PT([{verb:_T,args:[s]}]),l=t.kind===`running`?gD(`[${i.busy}]`,c):gD(`[${i.act}]`,PT([{verb:DT,args:[n.sessionId]}]));return[{severity:hD,message:s,lines:[[gD(a,c),l,gD(`[dismiss]`,PT([{verb:dT,args:[n.sessionId,Nk,r]}])),gD(`[disable]`,PT([{verb:vT,args:[n.sessionId,Pk,`false`]}]))],...o.map(e=>[gD(e,c)])]}]}function Vk(e,t){return e.kind===`stale`?{kind:`source`,root:e.root,newer:e.source,running:e.running}:e.kind===`not-source-checkout`&&t!==null&&t.kind===`stale`?{kind:`release`,newer:t.latest,running:t.installed}:null}function Hk(e){switch(e.kind){case`current`:return[`info`,`build: current ${Ik(e.stamp)}`];case`stale`:return[`info`,`build: stale — source ${Ik(e.source)}, running ${Ik(e.running)}`];case`not-source-checkout`:return[`info`,`build: not a source checkout`];case`unchecked`:return[`warn`,`build: unchecked: ${e.reason}`]}}function Uk(e){switch(e.kind){case`current`:return[`info`,`release: current ${XT(e.installed)}`];case`stale`:return[`info`,`release: stale — latest ${XT(e.latest)}, running ${XT(e.installed)}`];case`ahead`:return[`info`,`release: ahead — running ${XT(e.installed)}, latest ${XT(e.latest)}`];case`unchecked`:return[`warn`,`release: unchecked: ${e.reason}`]}}function Wk(e){let t=null;return([n,r])=>{r!==t&&(t=r,e(n,r))}}const Gk=e=>e.split(/\r?\n/).map(e=>e.trim()).filter(e=>e!==``).at(-1);function Kk(e){let t=e.exitCode===null?``:` (exit ${e.exitCode})`,n=Gk(e.stderr)??e.error??Gk(e.stdout)??`no output`;return`${e.reason}${t}: ${n}`}function qk(e){let{entryUrl:t,intervalMs:n,releaseIntervalMs:r,registryUrl:i,fetchImpl:a,onApplied:o,log:s}=e,c={kind:`unchecked`,reason:`not sampled yet`},l=null,u=Rk,d=null,f=Wk(s),p=Wk(s),m=()=>Vk(c,l);function h(){let e=m(),t=e===null?null:Fk(e);(d===null?null:d.identity)!==t&&(d?.dispose(),d=t===null?null:{identity:t,dispose:Tk(Nk,{kind:`allow-list`,allowed:[t]})})}function g(){c=MD(t,AD),f(Hk(c)),h()}async function _(){l=eE(BT,await $T(QT,a,i)),p(Uk(l)),h()}return{arm(){eO(Pk,{kind:`allow-list`,allowed:[`false`]}),g(),setInterval(g,n).unref(),c.kind===`not-source-checkout`&&(_(),setInterval(()=>void _(),r).unref())},notice:e=>Bk(m(),u,e),act(){let e=m();if(e===null)throw new $(`apply-update: nothing newer is known to apply`);let t=Lk(e);if(u.kind===`running`)throw new $(`apply-update: already ${t.busy}`);u=zk,s(`info`,`apply-update: ${t.act} — ${t.command.bin} ${t.command.args?.join(` `)??``}`),De({...t.command,category:`update.apply`,timeoutMs:6e5}).then(n=>{if(n.ok){u=Rk,s(`info`,`apply-update: ${t.act} succeeded`),g(),o();return}let r=Kk(n);u={kind:`failed`,identity:Fk(e),reason:r},s(`error`,`apply-update: ${t.act} failed: ${r}`)})}}}var Jk=class{static CACHE_DIR=Ne();static USAGE_CACHE_DIR=c.join(this.CACHE_DIR,`usage`);static LOCKS_DIR=c.join(this.CACHE_DIR,`locks`);static isLocked(e){let t=c.join(this.LOCKS_DIR,e);if(!r.existsSync(t))return!1;try{let n=r.readFileSync(t,`utf-8`),i=parseInt(n.trim(),10);if(isNaN(i))return O(`Invalid PID in lock file ${e}, removing stale lock`),r.unlinkSync(t),!1;try{return process.kill(i,0),!0}catch(n){return n.code===`ESRCH`?(O(`Removing stale lock file ${e} for dead process ${i}`),r.unlinkSync(t),!1):(O(`Error checking process ${i} for lock ${e}:`,n),!0)}}catch(t){return O(`Error reading lock file ${e}:`,t),!0}}static async acquireLock(e,t=5e3){await this.ensureCacheDirectories();let n=c.join(this.LOCKS_DIR,e),i=Date.now(),a=String(process.pid);for(;Date.now()-i<t;)try{return await r.promises.writeFile(n,a,{flag:`wx`}),O(`Lock acquired for ${e}`),!0}catch(e){if(e.code===`EEXIST`)await D(50);else throw e}return O(`Failed to acquire lock for ${e} within ${t}ms`),!1}static async releaseLock(e){let t=c.join(this.LOCKS_DIR,e);try{await r.promises.unlink(t),O(`Lock released for ${e}`)}catch(t){t.code!==`ENOENT`&&O(`Error releasing lock for ${e}:`,t)}}static async ensureCacheDirectories(){try{await Promise.all([r.promises.mkdir(this.CACHE_DIR,{recursive:!0}),r.promises.mkdir(this.USAGE_CACHE_DIR,{recursive:!0}),r.promises.mkdir(this.LOCKS_DIR,{recursive:!0})])}catch(e){O(`Failed to create cache directories:`,e)}}static createProjectHash(e){return ae(`md5`).update(e).digest(`hex`).substring(0,8)}static async getUsageCache(e,t){await this.ensureCacheDirectories();let n=c.join(this.USAGE_CACHE_DIR,`${e}.json`),i=`${e}.usage.lock`;for(let a=0;a<3;a++){if(this.isLocked(i)){O(`Cache for ${e} is locked, waiting...`),await D(75);continue}try{let i=await r.promises.readFile(n,`utf-8`),a=JSON.parse(i);return!t||a.timestamp>=t?(O(`[CACHE-HIT] ${e} disk cache: found`),this.deserializeDates(a.data)):(O(`${e} cache outdated: cache=${a.timestamp}, latest=${t}`),null)}catch(t){if(t.code===`ENOENT`)return O(`No shared ${e} usage cache found`),null;O(`Attempt ${a+1} failed to read ${e} cache: ${t.message}. Retrying...`),await D(75)}}return O(`Failed to read ${e} cache after 3 attempts.`),null}static deserializeDates(e){return Array.isArray(e)?e.map(e=>({...e,timestamp:new Date(e.timestamp)})):e}static async setUsageCache(e,t,n){let i=`${e}.usage.lock`;if(!await this.acquireLock(i)){O(`Could not acquire lock to set usage cache for ${e}`);return}try{await this.ensureCacheDirectories();let i=c.join(this.USAGE_CACHE_DIR,`${e}.json`),a=JSON.stringify({data:t,timestamp:n||Date.now()});await r.promises.writeFile(i,a,`utf-8`),O(`[CACHE-SET] ${e} disk cache stored`)}catch(t){O(`Failed to save ${e} usage cache:`,t)}finally{await this.releaseLock(i)}}};const Yk={"claude-haiku-4-5-20251001":{name:`Claude Haiku 4.5`,input:1,output:5,cache_write_5m:1.25,cache_write_1h:2,cache_read:.1},"claude-haiku-4-5":{name:`Claude Haiku 4.5`,input:1,output:5,cache_write_5m:1.25,cache_write_1h:2,cache_read:.1},"claude-opus-4-20250514":{name:`Claude Opus 4`,input:15,output:75,cache_write_5m:18.75,cache_write_1h:30,cache_read:1.5},"claude-opus-4-1":{name:`Claude Opus 4.1`,input:15,output:75,cache_write_5m:18.75,cache_write_1h:30,cache_read:1.5},"claude-opus-4-1-20250805":{name:`Claude Opus 4.1`,input:15,output:75,cache_write_5m:18.75,cache_write_1h:30,cache_read:1.5},"claude-sonnet-4-20250514":{name:`Claude Sonnet 4`,input:3,output:15,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3},"claude-4-opus-20250514":{name:`Claude 4 Opus`,input:15,output:75,cache_write_5m:18.75,cache_write_1h:30,cache_read:1.5},"claude-4-sonnet-20250514":{name:`Claude 4 Sonnet`,input:3,output:15,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3},"claude-sonnet-4-5":{name:`Claude Sonnet 4.5`,input:3,output:15,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3},"claude-sonnet-4-5-20250929":{name:`Claude Sonnet 4.5`,input:3,output:15,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3},"claude-opus-4-5":{name:`Claude Opus 4.5`,input:5,output:25,cache_write_5m:6.25,cache_write_1h:10,cache_read:.5},"claude-opus-4-5-20251101":{name:`Claude Opus 4.5`,input:5,output:25,cache_write_5m:6.25,cache_write_1h:10,cache_read:.5},"claude-opus-4-6":{name:`Claude Opus 4.6`,input:5,output:25,cache_write_5m:6.25,cache_write_1h:10,cache_read:.5},"claude-opus-4-6-20260205":{name:`Claude Opus 4.6`,input:5,output:25,cache_write_5m:6.25,cache_write_1h:10,cache_read:.5},"claude-sonnet-4-6":{name:`Claude Sonnet 4.6`,input:3,output:15,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3}};var Xk=class{static executionCache=null;static modelPricingCache=new Map;static GITHUB_PRICING_URL=`https://raw.githubusercontent.com/promptctl/cc-candybar/main/pricing.json`;static async loadDiskCache(){let e=Date.now()-1440*60*1e3;return await Jk.getUsageCache(`pricing`,e)}static async saveDiskCache(e){await Jk.setUsageCache(`pricing`,e)}static async fetchPricingData(){return new Promise(e=>{let t=new re(this.GITHUB_PRICING_URL),n=oe({hostname:t.hostname,path:t.pathname,headers:{"User-Agent":`cc-candybar`,"Cache-Control":`no-cache`},timeout:5e3},t=>{if(t.statusCode!==200){O(`HTTP ${t.statusCode}: ${t.statusMessage}`),e(null);return}let r=``,i=0;t.on(`data`,t=>{if(i+=t.length,i>1048576){O(`Response too large`),n.destroy(),e(null);return}r+=t}),t.on(`end`,()=>{try{let t=JSON.parse(r),n=t._meta,i={};for(let[e,n]of Object.entries(t))e!==`_meta`&&(i[e]=n);this.validatePricingData(i)?(O(`Fetched fresh pricing from GitHub for ${Object.keys(i).length} models`),O(`Pricing last updated: ${n?.updated||`unknown`}`),e(i)):(O(`Invalid pricing data structure`),e(null))}catch(t){O(`Failed to parse JSON:`,t),e(null)}}),t.on(`error`,t=>{O(`Response error:`,t),e(null)})});n.on(`error`,t=>{O(`Request error:`,t),e(null)}),n.on(`timeout`,()=>{O(`Request timeout`),n.destroy(),e(null)}),n.end()})}static async getCurrentPricing(){if(this.executionCache!==null)return O(`[CACHE-HIT] Pricing execution cache: ${Object.keys(this.executionCache).length} models`),this.executionCache;let e=await this.loadDiskCache();if(e)return O(`[CACHE-HIT] Pricing disk cache: ${Object.keys(e).length} models`),this.executionCache=e,O(`[CACHE-SET] Pricing execution cache stored: ${Object.keys(e).length} models`),e;let t=await this.fetchPricingData();return t?(await this.saveDiskCache(t),O(`[CACHE-SET] Pricing disk cache stored: ${Object.keys(t).length} models`),this.executionCache=t,O(`[CACHE-SET] Pricing execution cache stored: ${Object.keys(t).length} models`),t):(O(`[CACHE-FALLBACK] Using offline pricing data: ${Object.keys(Yk).length} models`),this.executionCache=Yk,O(`[CACHE-SET] Pricing execution cache stored: ${Object.keys(Yk).length} models`),Yk)}static validatePricingData(e){if(!e||typeof e!=`object`)return!1;for(let[,t]of Object.entries(e)){if(!t||typeof t!=`object`)return!1;let e=t;if(typeof e.input!=`number`||typeof e.output!=`number`||typeof e.cache_read!=`number`)return!1}return!0}static async getModelPricing(e){if(this.modelPricingCache.has(e))return O(`[CACHE-HIT] Model pricing cache: ${e}`),this.modelPricingCache.get(e);let t=await this.getCurrentPricing(),n;return n=t[e]?t[e]:this.fuzzyMatchModel(e,t),this.modelPricingCache.set(e,n),O(`[CACHE-SET] Model pricing cache: ${e}`),n}static fuzzyMatchModel(e,t){let n=e.toLowerCase();for(let[e,r]of Object.entries(t))if(e.toLowerCase()===n)return r;for(let{pattern:e,fallback:r}of[{pattern:[`opus-4-6`,`claude-opus-4-6`],fallback:`claude-opus-4-6-20260205`},{pattern:[`opus-4-5`,`claude-opus-4-5`],fallback:`claude-opus-4-5-20251101`},{pattern:[`opus-4-1`,`claude-opus-4-1`],fallback:`claude-opus-4-1-20250805`},{pattern:[`opus-4`,`claude-opus-4`],fallback:`claude-opus-4-20250514`},{pattern:[`sonnet-4-6`,`sonnet-4.6`,`claude-sonnet-4-6`],fallback:`claude-sonnet-4-6`},{pattern:[`sonnet-4.5`,`4-5-sonnet`,`sonnet-4-5`],fallback:`claude-sonnet-4-5-20250929`},{pattern:[`sonnet-4`,`claude-sonnet-4`],fallback:`claude-sonnet-4-20250514`},{pattern:[`haiku-4.5`,`4-5-haiku`,`haiku-4-5`],fallback:`claude-haiku-4-5-20251001`},{pattern:[`haiku`],fallback:`claude-haiku-4-5-20251001`},{pattern:[`opus`],fallback:`claude-opus-4-20250514`},{pattern:[`sonnet`],fallback:`claude-sonnet-4-5-20250929`}])if(e.some(e=>n.includes(e))&&t[r])return t[r];return t[`claude-sonnet-4-5-20250929`]||{name:`${e} (Unknown Model)`,input:3,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3,output:15}}static async calculateCostForEntry(e){let t=e.message?.usage;if(!t)return 0;let n=this.extractModelId(e),r=await this.getModelPricing(n),i=t.input_tokens||0,a=t.output_tokens||0,o=t.cache_creation_input_tokens||0,s=t.cache_read_input_tokens||0,c=i/1e6*r.input,l=a/1e6*r.output,u=s/1e6*r.cache_read,d=o/1e6*r.cache_write_5m;return c+l+d+u}static extractModelId(e){if(e.model&&typeof e.model==`string`)return e.model;let t=e.message;if(t?.model){let e=t.model;if(typeof e==`string`)return e;let n=e;return(typeof n?.id==`string`?n.id:null)||`claude-sonnet-4-5-20250929`}return e.model_id&&typeof e.model_id==`string`?e.model_id:`claude-sonnet-4-5-20250929`}};const Zk=/<command-name>\s*([^<\s][^<]*?)\s*<\/command-name>/;function Qk(e){if(typeof e==`string`)return Zk.exec(e)?.[1]}function $k(e){let t=e?.todos;if(!Array.isArray(t))return;let n=[];for(let e of t){if(typeof e!=`object`||!e)continue;let{content:t,activeForm:r,status:i}=e,a=i===`in_progress`,o=a&&typeof r==`string`?r:t;typeof o==`string`&&n.push({text:o,active:a,done:i===`completed`})}return n}function eA(e){let t=e.message?.content,n=e.type===`user`,r=[],i=[],a,o;if(typeof t==`string`)o=t;else if(Array.isArray(t))for(let e of t){if(typeof e!=`object`||!e)continue;let t=e;switch(t.type){case`tool_use`:{let{id:e,name:n}=t;if(typeof e!=`string`||typeof n!=`string`)break;r.push({id:e,name:n}),n===`TodoWrite`&&(a=$k(t.input)??a);break}case`tool_result`:{let e=t.tool_use_id;typeof e==`string`&&i.push(e);break}case`text`:o??=t.text;break;default:break}}let s=n?Qk(o):void 0;if(!(r.length===0&&i.length===0&&a===void 0&&s===void 0))return{...r.length>0&&{started:r},...i.length>0&&{finished:i},...a!==void 0&&{todos:a},...s!==void 0&&{command:s}}}function tA(){let e=[],t=process.env.CLAUDE_CONFIG_DIR;if(t&&t.split(`,`).forEach(t=>{let n=t.trim();a(n)&&e.push(n)}),e.length===0){let t=m(),n=f(t,`.config`,`claude`),r=f(t,`.claude`);a(n)&&e.push(n),a(r)&&e.push(r)}return e}async function nA(e){let t=[];for(let n of e){let e=f(n,`projects`);if(a(e))try{let n=await bO(e,{withFileTypes:!0});for(let r of n)if(r.isDirectory()){let n=f(e,r.name);t.push(n)}}catch(t){O(`Failed to read projects directory ${e}:`,t)}}return t}async function rA(e,t,n){let r=[],i=f(t,e,`subagents`);try{let t=(await bO(i)).filter(e=>e.startsWith(`agent-`)&&e.endsWith(`.jsonl`));for(let a of t){let t=f(i,a);if(n?.has(t)){r.push(t);continue}try{let n=(await xO(t,`utf-8`)).split(`
|
|
179
|
+
`)[0];n&&JSON.parse(n).sessionId===e&&r.push(t)}catch{O(`Failed to check agent file ${t}`)}}}catch(e){O(`Failed to read subagents directory ${i}:`,e)}return r}function iA(e){let t=e.type||e.message?.role||e.message?.type,n=e.type===`user`&&e.message?.firstContentType===`tool_result`;return t===`user`&&!n}const aA=new Map;async function oA(e){try{let t=await SO(e),n=t.size,r=aA.get(e);if(r&&r.mtime===t.mtimeMs&&r.size===n)return O(`[parse-cache] hit ${e}`),aA.delete(e),aA.set(e,r),r.entries;let i;return n>1048576?(O(`Using streaming parser for large file ${e} (${Math.round(n/1024)}KB)`),i=await dA(e)):i=await lA(e),O(`Parsed ${i.length} entries from ${e}`),n>5242880?i:(aA.delete(e),aA.size>=16&&aA.delete(aA.keys().next().value),aA.set(e,{mtime:t.mtimeMs,size:n,entries:i}),i)}catch(t){if(t.code===`ENOENT`)return O(`Transcript not present yet: ${e}`),[];throw t}}function sA(e){if(!e.timestamp)return null;let t=e.message,n=t?.usage,r=t?.content,i=Array.isArray(r)&&typeof r[0]==`object`&&r[0]?r[0]:void 0;return{timestamp:new Date(e.timestamp),type:typeof e.type==`string`?e.type:void 0,message:t?{id:typeof t.id==`string`?t.id:void 0,model:typeof t.model==`string`?t.model:void 0,usage:n,role:typeof t.role==`string`?t.role:void 0,type:typeof t.type==`string`?t.type:void 0,firstContentType:typeof i?.type==`string`?i.type:void 0}:void 0,costUSD:typeof e.costUSD==`number`?e.costUSD:void 0,isSidechain:e.isSidechain===!0,activity:eA(e),raw:{model:typeof e.model==`string`?e.model:void 0,message:t?{id:typeof t.id==`string`?t.id:void 0,model:typeof t.model==`string`?t.model:void 0,usage:n}:void 0,requestId:typeof e.requestId==`string`?e.requestId:void 0}}}function cA(e){let t=[];for(let n of e.split(`
|
|
180
|
+
`))if(n.trim())try{let e=sA(JSON.parse(n));e&&t.push(e)}catch(e){O(`Failed to parse JSONL line: ${e}`);continue}return t}async function lA(e){return cA(await xO(e,`utf-8`))}async function uA(e,t){let n=await CO(e,t===void 0?void 0:{offset:t.offset,ino:t.ino});if(n.kind!==`ok`)return n;let{buf:r,start:i,mtimeMs:a,ino:o,reset:s}=n.value,c=r.lastIndexOf(10);return J(c<0?{entries:[],cursor:{offset:i,mtimeMs:a,ino:o},reset:s}:{entries:cA(r.subarray(0,c+1).toString(`utf-8`)),cursor:{offset:i+c+1,mtimeMs:a,ino:o},reset:s})}async function dA(e){return new Promise((t,n)=>{let r=[],a=i(e,{encoding:`utf8`}),o=se({input:a,crlfDelay:1/0});o.on(`line`,e=>{let t=e.trim();if(t)try{let e=sA(JSON.parse(t));e&&r.push(e)}catch(e){O(`Failed to parse JSONL line: ${e}`)}}),o.on(`close`,()=>{t(r)}),o.on(`error`,t=>{O(`Streaming parser error for ${e}:`,t),n(t)}),a.on(`error`,t=>{O(`File stream error for ${e}:`,t),n(t)})})}var fA=class{inflight=new Map;run(e,t){return this.inflight.get(e)??this.start(e,t)}start(e,t){let n=t();this.inflight.set(e,n);let r=()=>{this.inflight.get(e)===n&&this.inflight.delete(e)};return n.then(r,r),n}get size(){return this.inflight.size}};function pA(e,t){let n=e?e.input+e.cacheCreation+e.cacheRead:0,r=e?e.output:0;return{input:n,output:r,total:n+r,atMs:t}}const mA={cost:0,input:0,output:0,cacheCreation:0,cacheRead:0},hA={cost:null,calculatedCost:null,officialCost:null,tokens:null,tokenBreakdown:null};function gA(e){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`}function _A(){let e=new Date;return e.setHours(0,0,0,0),e.setDate(e.getDate()-1),e.getTime()}function vA(){return{input:0,output:0,cacheCreation:0,cacheRead:0}}async function yA(e,t,n,r){let i=gA(new Date(_A())),a=e&&!t?e:void 0,o=a?.entries??0,s=a?.cost??0,c=a?{...a.breakdown}:vA(),l=new Map;if(a)for(let[e,t]of a.days)e>=i&&l.set(e,{...t});for(let e of n){let t=e.message?.usage;if(!t)continue;o++;let n=e.costUSD??await Xk.calculateCostForEntry(e.raw);s+=n,c.input+=t.input_tokens||0,c.output+=t.output_tokens||0,c.cacheCreation+=t.cache_creation_input_tokens||0,c.cacheRead+=t.cache_read_input_tokens||0;let r=gA(new Date(e.timestamp));if(r<i)continue;let a=l.get(r)??{...mA};a.cost+=n,a.input+=t.input_tokens||0,a.output+=t.output_tokens||0,a.cacheCreation+=t.cache_creation_input_tokens||0,a.cacheRead+=t.cache_read_input_tokens||0,l.set(r,a)}return{cursor:r,entries:o,cost:s,breakdown:c,days:l}}function bA(e){let t=0,n=0,r=vA(),i=new Map;for(let a of e.values()){t+=a.entries,n+=a.cost,r.input+=a.breakdown.input,r.output+=a.breakdown.output,r.cacheCreation+=a.breakdown.cacheCreation,r.cacheRead+=a.breakdown.cacheRead;for(let[e,t]of a.days){let n=i.get(e)??{...mA};n.cost+=t.cost,n.input+=t.input,n.output+=t.output,n.cacheCreation+=t.cacheCreation,n.cacheRead+=t.cacheRead,i.set(e,n)}}if(t===0)return{sessionInfo:hA,days:i};let a=r.input+r.output+r.cacheCreation+r.cacheRead;return{sessionInfo:{cost:n,calculatedCost:n,officialCost:null,tokens:a,tokenBreakdown:r},days:i}}async function xA(e,t,n){let r=0,i=async()=>{for(;r<e.length;){let t=e[r++];await n(t)}},a=Math.min(t,e.length);await Promise.all(Array.from({length:a},i))}var SA=class{entries=new Map;flight=new fA;seeded=new Map;speedRings=new Map;speedFlight=new fA;maxEntries;staleAgeMs;hits=0;misses=0;sweeps=0;seeds=0;sweepTimer=null;constructor(e={}){this.maxEntries=e.maxEntries??256,this.staleAgeMs=e.staleAgeMs??864e5;let t=e.sweepIntervalMs??3e5;t>0&&(this.sweepTimer=setInterval(()=>this.sweepStale(),t),this.sweepTimer.unref())}getStats(){return{size:this.entries.size,hits:this.hits,misses:this.misses,sweeps:this.sweeps,seeds:this.seeds}}async getUsageInfo(e,t){let n=await this.ingest(e,t?.transcript_path);if(n.kind===`failed`)return n;let r=n.kind===`ok`?n.value.sessionInfo:hA,i=t?.cost?.total_cost_usd??null;return J({session:{...r,cost:i??r.cost,officialCost:i}})}async getTodayInfo(e){let t=gA(new Date);try{await this.ensureSeeded(t)}catch(e){return X(`usage seed: ${e instanceof Error?e.message:String(e)}`)}let n=await this.ingest(e?.session_id??``,e?.transcript_path);if(n.kind===`failed`)return n;let r={...mA},i=!1;for(let e of this.entries.values()){i||=e.days.has(t);let n=e.days.get(t)??mA;r.cost+=n.cost,r.input+=n.input,r.output+=n.output,r.cacheCreation+=n.cacheCreation,r.cacheRead+=n.cacheRead}return i?J({cost:r.cost,tokens:r.input+r.output+r.cacheCreation+r.cacheRead,tokenBreakdown:{input:r.input,output:r.output,cacheCreation:r.cacheCreation,cacheRead:r.cacheRead},date:t}):Y}async observeSpeed(e,t,n){let r=_O(t);return this.speedFlight.run(`${e}:${r}`,async()=>{let i=await this.ingest(e,t,r);if(i.kind===`failed`)return i;let a=pA(i.kind===`ok`?i.value.sessionInfo.tokenBreakdown:null,n),o=this.speedRings.get(e)??[],s;for(let e of o)e.atMs<a.atMs&&(s===void 0||e.atMs>s.atMs)&&(s=e);return o.push(a),o.sort((e,t)=>e.atMs-t.atMs),o.length>64&&o.shift(),this.speedRings.set(e,o),J({...s!==void 0&&{prev:s},cur:a,samples:[...o]})})}async ingest(e,t,n){if(!e)return Y;let r=n??_O(t),i=this.entries.get(e);if(i&&r!==0&&i.transcriptMtime===r)return i.lastSeenAt=Date.now(),this.entries.delete(e),this.entries.set(e,i),this.hits++,J(i);if(!t)return i?J(i):Y;this.misses++;let a;try{a=await this.flight.run(`${e}:${r}`,()=>this.refold(e,t,this.entries.get(e)))}catch(t){return X(`usage refold (${e}): ${t instanceof Error?t.message:String(t)}`)}if(a.kind!==`ok`)return a;let o={files:a.value.files,sessionInfo:a.value.sessionInfo,days:a.value.days,transcriptMtime:a.value.mainMtime,transcriptPath:t,lastSeenAt:Date.now()};return this.entries.delete(e),this.entries.set(e,o),this.evictIfNeeded(),J(o)}async refold(e,t,n){let r=await rA(e,u(t),n===void 0?void 0:new Set(n.files.keys())),i=new Map,a=0;for(let e of[t,...r]){let r=n?.files.get(e),o=await uA(e,r?.cursor);if(o.kind===`failed`)return o;if(o.kind===`absent`){r&&i.set(e,r);continue}let{entries:s,cursor:c,reset:l}=o.value;i.set(e,await yA(r,l,s,c)),e===t&&(a=c.mtimeMs)}return J({files:i,...bA(i),mainMtime:a})}ensureSeeded(e){let t=this.seeded.get(e);if(t)return t;this.seeded.clear();let n=this.seed(e);return this.seeded.set(e,n),n.catch(()=>{this.seeded.get(e)===n&&this.seeded.delete(e)}),n}async seed(e){let t=_A(),n=await nA(tA()),r=[];for(let e of n){let n;try{n=await bO(e)}catch{continue}for(let i of n){if(!i.endsWith(`.jsonl`))continue;let n=f(e,i),a;try{a=(await SO(n)).mtimeMs}catch{continue}a<t||r.push({sessionId:i.slice(0,-6),path:n,mtime:a})}}await xA(r,8,async e=>{let t=await this.ingest(e.sessionId,e.path,e.mtime);t.kind===`failed`&&Q(`warn`,`usageStore seed: ${t.reason}`)}),this.seeds++,Q(`info`,`usageStore seed sessions=${r.length}`)}sweepStale(){let e=Date.now(),t=0;for(let[n,r]of this.entries)e-r.lastSeenAt>this.staleAgeMs&&(this.entries.delete(n),this.speedRings.delete(n),t++);return t>0&&(this.sweeps++,Q(`info`,`usageStore sweep dropped=${t}`)),t}evictIfNeeded(){for(;this.entries.size>this.maxEntries;){let e=this.entries.keys().next().value;if(e===void 0)break;this.entries.delete(e),this.speedRings.delete(e),Q(`info`,`usageStore evict ${e}`)}}close(){this.sweepTimer&&=(clearInterval(this.sweepTimer),null),this.entries.clear(),this.seeded.clear(),this.speedRings.clear()}};function CA(e,t){return e===void 0?!0:e.evaluate(t).map(e=>e.plain).join(``)!==`false`}function wA(e,t){let n=li.fromFragments(e);return n.end=``,n.noWrap=!0,t!==void 0&&!t.isNull&&(n.style=t),n}function TA(e,t,n){e.cellLength>t?e.truncate(t,{mode:n.truncate,marker:`…`}):e.cellLength<t&&e.align(n.justify,t)}function EA({text:e,trail:t}){if(t===void 0)return e;let n=wA([e,t]);return n.style=e.style,n}function DA(e,t){let{width:n,justify:r,truncate:i,baseStyle:a,padding:o,trail:s=[]}=t;if(e.length===0)return[];let c=wA(e,a).pad(o),l=s.length===0?{}:{trail:wA([...s,new li(` `.repeat(o))],a)};if(n===`auto`)return[{text:c,...l}];let u={justify:r,truncate:i};return n===`fill`?[{text:c,fill:u,...l}]:(TA(c,n,u),[{text:c,...l}])}const OA=RegExp(`\\x1b\\[[0-9;]*m|${Zr.source}`,`g`);function kA(e){return M(e.replace(OA,``))}function AA(e,t){let n=e.map(EA),r=[];if(e.forEach(({fill:e},t)=>{e!==void 0&&r.push({at:t,how:e})}),r.length===0||!Number.isFinite(t.width))return n;let i=dD(n,t).split(`
|
|
181
|
+
`);if(i.length>1)return n;let a=Math.max(0,t.width-kA(i[0]??``)),o=Math.floor(a/r.length),s=a-o*r.length;return r.forEach(({at:t,how:i},a)=>{let c=o+(a===r.length-1?s:0),{text:l}=e[t];TA(l,l.cellLength+c,i),n[t]=EA(e[t])}),n}function jA(e,t){let n=[],r=[],i=()=>{if(!r.length)return;let e=MA(r,t);e.plain.length>0&&n.push(e),r=[]};for(let a of e)if(PA(a.style).link){i();let e=MA([a],t);e.plain.length>0&&n.push(e)}else r.push(a);return i(),n}function MA(e,t){let n=t!==void 0&&!t.isNull?e.map(e=>NA(e,t)):e,r=li.fromFragments(n);return r.end=``,r.noWrap=!0,n.length===1?r.style=n[0].style:t!==void 0&&!t.isNull&&(r.style=t),r}function NA(e,t){let n=e.copy();return n.style=t.add(PA(e.style)),n}function PA(e){return e instanceof B?e:B.parse(e)}var FA=class extends Error{constructor(e,t,n){super(`Invalid ${t} color ${JSON.stringify(e)}: ${n}`),this.name=`ColorSpecError`}};function IA(e,t,n,r,i){let{palette:a,tint:o}=e,s=LA(n,i),c=s===void 0?o:RA(a,s,`bg`);e.bg=c;let l=LA(r,i),u=l===void 0?na(a,c,t):RA(a,l,`fg`);return new B({bgcolor:un.fromRgba(c),color:un.fromRgba(u)})}function LA(e,t){if(e!==void 0)return e.evaluate(t).map(e=>e.plain).join(``)}function RA(e,t,n){try{return Un(e,t)}catch(e){throw e instanceof Vn?new FA(t,n,e.message):e}}function zA(e,t,n,r){let i=new Map,a=Object.entries(t);for(let[t,o]of[...a.filter(([,e])=>!(`do`in e)),...a.filter(([,e])=>`do`in e)])i.set(t,BA(e,t,o,n,r,i));return i}function BA(e,t,n,r,i,a){if(`set`in n){let e=r.get(n.set)??n.set;if(`to`in n)return{kind:`set-literal`,key:n.set,value:n.to,stateVar:e};if(`from`in n){let t=tb(n.from,i);return{kind:`set-option`,key:n.set,stateVar:e,options:[...t.members],paletteOf:t.paletteOf}}return`int`in n?{kind:`set-int`,key:n.set,stateVar:e}:`cycle`in n?{kind:`set-cycle`,key:n.set,stateVar:e,members:n.cycle}:{kind:`set-bounded`,key:n.set,by:n.by}}if(`persist`in n){let e=Py.get(n.persist)??n.persist;if(`to`in n)return{kind:`persist-literal`,key:n.persist,value:n.to,stateVar:e};if(`from`in n){let t=tb(n.from,i);return{kind:`persist-option`,key:n.persist,stateVar:e,options:[...t.members],paletteOf:t.paletteOf}}if(`cycle`in n)return{kind:`persist-cycle`,key:n.persist,stateVar:e,members:n.cycle};if(`removeSegment`in n)return{kind:`layout-op`,key:n.persist,op:{op:`remove`,target:n.removeSegment}};if(`insertSegment`in n)return{kind:`layout-op`,key:n.persist,op:{op:`insert`,segment:n.insertSegment,anchor:n.anchor,relation:n.relation}};if(`insertSegmentFrom`in n){let e=tb(n.insertSegmentFrom,i);return{kind:`layout-op-option`,key:n.persist,anchor:n.anchor,relation:n.relation,options:[...e.members],paletteOf:e.paletteOf}}return{kind:`persist-bounded`,key:n.persist,by:n.by}}if(`copy`in n)return{kind:`copy`,text:HA(e,n.copy,t)};if(`open`in n)return{kind:`open`,target:HA(e,n.open,t)};if(`reset`in n)return{kind:`reset`,key:n.reset};if(`doctor`in n)return n.doctor===`run`?{kind:`doctor-run`}:{kind:`doctor-fix`,check:n.check};if(`ceiling`in n)return{kind:`ceiling`,args:gS(n)};if(`slash`in n)return{kind:`slash`,line:n.slash};if(`undo`in n)return{kind:`undo`};if(`redo`in n)return{kind:`redo`};if(`save`in n)return{kind:`save`};if(`preset`in n)return n.preset===`save`?{kind:`preset-save`}:{kind:`preset-delete`,name:HA(e,n.name,t)};let[o,...s]=n.do.map(e=>{let n=a.get(e);if(n===void 0)throw Error(`action "${t}" fires "${e}", which is not declared in this config`);return n});return{kind:`do`,head:o,rest:s}}function VA(e){return e.kind===`do`?VA(e.head):e}function HA(e,t,n){try{return e(t)}catch(e){throw Error(`Template parse error in actions.${n}: ${e.message}`,{cause:e})}}function UA(e,t){return e.has(t)?N_(e.read(t)):``}function WA(e,t){return e.evaluate(t).map(e=>e.plain).join(``)}function GA(e,t,n,r){let i=new li(e,{style:B.combine([r,new B({link:t,bold:n})])});return i.noWrap=!0,i.end=``,i}function KA(e,t){return Math.max(e.members.indexOf(UA(t,e.stateVar)),0)}function qA(e,t,n,r,i){switch(e.kind){case`set-literal`:{let t=UA(r,e.stateVar);return{effects:[{verb:dT,args:[i,e.key,e.value]}],active:t===e.value}}case`set-option`:{let a=n??t,o=UA(r,e.stateVar);return{effects:[{verb:dT,args:[i,e.key,a]}],active:o===a}}case`set-int`:{let a=n??t,o=UA(r,e.stateVar);return{effects:[{verb:dT,args:[i,e.key,a]}],active:o===a}}case`set-cycle`:{let t=e.members[(KA(e,r)+1)%e.members.length];return{effects:[{verb:dT,args:[i,e.key,t]}],active:!1}}case`set-bounded`:return{effects:[{verb:fT,args:[i,e.key,String(e.by)]}],active:!1};case`copy`:return{effects:[{verb:pT,args:[WA(e.text,wv(r))]}],active:!1};case`open`:return{effects:[{verb:mT,args:[WA(e.target,wv(r))]}],active:!1};case`persist-literal`:{let t=UA(r,e.stateVar);return{effects:[{verb:vT,args:[i,e.key,e.value]}],active:t===e.value}}case`persist-option`:{let a=n??t,o=UA(r,e.stateVar);return{effects:[{verb:vT,args:[i,e.key,a]}],active:o===a}}case`persist-cycle`:{let t=e.members[(KA(e,r)+1)%e.members.length];return{effects:[{verb:vT,args:[i,e.key,t]}],active:!1}}case`persist-bounded`:return{effects:[{verb:yT,args:[i,e.key,String(e.by)]}],active:!1};case`reset`:return{effects:[{verb:CT,args:[i,e.key]}],active:!1};case`undo`:return{effects:[{verb:TT,args:[i]}],active:!1};case`redo`:return{effects:[{verb:ET,args:[i]}],active:!1};case`save`:return{effects:[{verb:bT,args:[i]}],active:!1};case`preset-save`:return{effects:[{verb:xT,args:[i]}],active:!1};case`preset-delete`:return{effects:[{verb:ST,args:[i,WA(e.name,wv(r))]}],active:!1};case`doctor-run`:return{effects:[{verb:OT,args:[i]}],active:!1};case`doctor-fix`:return{effects:[{verb:kT,args:[i,e.check]}],active:!1};case`ceiling`:return{effects:[{verb:AT,args:[i,...e.args]}],active:!1};case`slash`:return{effects:[{verb:jT,args:[i,e.line]}],active:!1};case`layout-op`:return{effects:[{verb:wT,args:[i,e.key,ND(e.op)]}],active:!1};case`do`:{let a=qA(e.head,t,n,r,i);return{effects:[...a.effects,...e.rest.flatMap(e=>qA(e,t,void 0,r,i).effects)],active:a.active}}case`layout-op-option`:{let r={op:`insert`,segment:n??t,anchor:e.anchor,relation:e.relation};return{effects:[{verb:wT,args:[i,e.key,ND(r)]}],active:!1}}}}function JA(e,t,n,r){if(n.length===0)throw Error(`action "${e}" needs a display (the clickable text)`);if(t.kind===`set-cycle`||t.kind===`persist-cycle`)return{display:wc(`action "${e}"`,n,t.members.length,KA(t,r)),boundValue:void 0};if(n.length>2)throw Error(`action "${e}" takes a display and an optional bound value, got ${n.length} arguments (per-state displays are a cycle action's form)`);return{display:n[0],boundValue:n[1]}}function YA(e,t,n){let r=n.compiled.get(e);if(!r)throw Error(`action "${e}" is not declared in this config`);let i=n.store,{display:a,boundValue:o}=JA(e,VA(r),t,i),{effects:s,active:c}=qA(r,a,o,i,UA(i,`session.id`));return GA(a,PT(s),c)}function XA(e){return{action:{fn:(t,...n)=>YA(t,n,e),argTypes:[`string`,`string`],returnType:`T`}}}function ZA(e,t){return GA(`✕`,PT([{verb:dT,args:[UA(e,`session.id`),t,xc]}]),!1)}function QA(e,t,n){return new B({bgcolor:un.fromRgba(t),color:un.fromRgba(na(e,t,n))})}function $A(e,t,n){return QA(e.palette,ha(e.palette,e.disclosure,[t],n),n)}function ej(e,t,n,r,i){return r===void 0?n=>$A(e,{...n,distribution:t},i):(e,t)=>tj(r(t,n),i)}function tj(e,t){let n=U(e,`background`);return new B({bgcolor:un.fromRgba(n),color:un.fromRgba(Zn(U(e,`primary`),n,4.5,t))})}function nj(e){return{current:null,drawnAt:e}}function rj(e,t,n,r,i,a){let o={segName:t,placementId:n,palette:r,disclosure:i,tint:a,bg:void 0,drops:[]};return e.current=o,o}function ij(e,t){let n=e.current;if(n===null)throw Error(`${t} is only available inside a segment's templates — there is no active segment here. Segment-scoped functions cannot be used in variable declarations or layout-node "when" predicates, which are evaluated outside any segment.`);return n}function aj(e){return new li(e).cellLength}function oj(e){return Math.max(1,e.width-e.chromeCols-2*e.padding)}function sj(e){return Math.max(1,oj(e)-(aj(`✕`)+2*e.padding+e.seamCols))}function cj(e,t,n){if(!Number.isFinite(t))return e.length>0?[e.map((e,t)=>t)]:[];let r=Math.max(1,t-n),i=[],a=[],o=0;for(let t=0;t<e.length;t++){let n=e[t];a.length===0?(a=[t],o=n):o+1+n<=r?(a.push(t),o+=1+n):(i.push(a),a=[t],o=n)}return a.length>0&&i.push(a),i}function lj(e,t){let n=[];for(let t of e)n.length>0&&n.push(new li(` `)),n.push(t);let r=li.fromFragments(n);return r.noWrap=t,r.end=``,r}function uj(e,t,n,r){let i=e.compiled.get(t);if(!i||i.kind!==n)throw Error(`picker references action "${t}" which must be ${r}, got ${i?`a ${i.kind} action`:`no such action`}`);return i}function dj(e,t,n){let r=e.compiled.get(t),i=r&&VA(r);if(!i||i.kind!==`set-option`&&i.kind!==`persist-option`&&i.kind!==`layout-op-option`)throw Error(`${n} references action "${t}" which must be a set-option, persist-option, or layout-op-option action ({ set, from }, { persist, from }, or { persist, insertSegmentFrom, anchor, relation }), got ${i?`a ${i.kind} action`:`no such action`}`);return i}function fj(e,t,n,r,i,a,o){let s=dj(a,e,`picker`),c=a.compiled.get(e),l=a.store,u=UA(l,`session.id`),d=`stateVar`in s?UA(l,s.stateVar):void 0,f=s.options.map(aj),p=i?oj(a):1/0,m=aj(`✕`)+1,h=aj(`←`)+1+aj(`→`)+1,g=cj(f,p,m),_=g.length>1?cj(f,p,m+h):g,v=parseInt(UA(l,t.stateVar),10),y=Number.isInteger(v)?Math.max(0,Math.min(v,_.length-1)):0,b=_[y]??[],x=e=>PT([{verb:dT,args:[u,t.key,String(e)]}]),S=n.flatMap(([e,t])=>[e,t]),C=PT([{verb:dT,args:[u,...S]}]),ee=r?[{verb:dT,args:[u,...S]}]:[],te=e=>PT([...qA(c,e,e,l,u).effects,...ee]),ne=[GA(`✕`,C,!1)];y>0&&ne.push(GA(`←`,x(y-1),!1));for(let e of b){let t=s.options[e];ne.push(GA(t,te(t),t===d,o({index:e,count:s.options.length},t)))}return y<_.length-1&&ne.push(GA(`→`,x(y+1),!1)),lj(ne,i)}function pj(e,t){return{picker:{fn:(n,r,i,a)=>{let o=uj(e,r,`set-int`,`an int action ({ set, int: true })`);return fj(n,{key:o.key,stateVar:o.stateVar},[[o.key,`-1`]],i===!0,a===!0,e,ej(ij(t,`{{ picker }}`),Vi(void 0),e,dj(e,n,`picker`).paletteOf,t.drawnAt()))},argTypes:[`string`,`string`,`bool`,`bool`],returnType:`T`}}}function mj(e,t,n,r,i){let a=Math.min(Math.floor((t-1)/2),i),o=n,s=0;for(;s<a;){let t=o+aj(e(-(s+1)))+1+aj(e(s+1))+1;if(t>r)break;o=t,s+=1}return s}function hj(e,t,n,r,i){if(!(`stateVar`in t))throw Error(`carousel references action "${e}", which inserts a segment and holds no current value to centre on — a carousel needs a { set, from } or { persist, from } action`);let a=n.store;if(!a.has(t.stateVar))throw Error(`carousel references action "${e}", whose key "${t.stateVar}" no variable reads back, so there is no current value to centre on — declare { kind: "state", key: "${t.stateVar}" } among the variables`);let o=n.compiled.get(e),s=UA(a,`session.id`),{options:c}=t,l=c.length,u=UA(a,t.stateVar),d=Math.max(c.indexOf(u),0),f=e=>((d+e)%l+l)%l,p=e=>c[f(e)],m=new Map,h=e=>{let t=m.get(e);if(t!==void 0)return t;let n=PT(qA(o,p(e),p(e),a,s).effects);return m.set(e,n),n},g=e=>GA(p(e),h(e),p(e)===u,r({index:f(e),count:l},p(e))),_=mj(p,l,aj(`◀`)+1+aj(p(0))+1+aj(`▶`),sj(n),i),v=e=>Array.from({length:_},(t,n)=>g(e*(n+1)));return lj([...v(-1).reverse(),GA(`◀`,h(-1),!1),g(0),GA(`▶`,h(1),!1),...v(1)],!0)}function gj(e,t){return{carousel:{fn:(n,r,...i)=>{if(i.length>0)throw Error(`carousel "${n}": takes at most one neighbours count after the action name, got ${1+i.length}`);if(r!==void 0&&!(Number.isInteger(r)&&r>=0))throw Error(`carousel "${n}": neighbours must be a whole number ≥ 0 (0 shows only ◀ CURRENT ▶), got ${String(r)}`);let a=r??1/0,o=dj(e,n,`carousel`);return hj(n,o,e,ej(ij(t,`{{ carousel }}`),Vi(void 0),e,o.paletteOf,t.drawnAt()),a)},argTypes:[`string`,`float`],returnType:`T`}}}const _j=[`~/code`,`main`,`opus`,`42%`,`5m`,`$1.20`];function vj(e,t,n){let r=ca(e,{hue:Ni,depth:0},n);return[Fi(t).map((t,n)=>({text:_j[n%_j.length],colour:qi(e,t)})),[{text:`▾ open`,colour:r.state},{text:`menu`,colour:r.plane}],[{text:`warn`,colour:U(e,`warning`)},{text:`error`,colour:U(e,`error`)}]]}function yj(e,t,n,r){let i=vj(e,t,n).flatMap((t,r)=>t.map(({text:t,colour:i},a)=>({gap:r>0&&a===0?` `:``,cell:new li(` ${t} `,{style:QA(e,i,n)})}))),a=[],o=0;for(let{gap:e,cell:t}of i){if(o+=e.length+t.cellLength,o>r)break;e!==``&&a.push(new li(e)),a.push(t)}let s=li.fromFragments(a);return s.noWrap=!0,s.end=``,s}function bj(e,t){return{themePreview:{fn:()=>yj(e.palette,e.progression,t.drawnAt(),sj(e)),argTypes:[],returnType:`T`}}}const xj=e=>e.slice(e.lastIndexOf(`.`)+1),Sj=(e,t)=>{let n=new li(xj(e));return n.truncate(t,{marker:`…`}),n.plain};function Cj(e,t){let n=e.map(e=>e.map(({name:e})=>aj(xj(e)))),r=e=>n.every(n=>n.reduce((t,n)=>t+Math.min(n,e)+2,0)<=t),i=Math.max(1,...n.flat());for(;i>1&&!r(i);)--i;return i}function wj(e,t,n,r){let i=Cj(e,r),a=e.map(e=>{let a=[],o=0;for(let{name:s,address:c,palette:l}of e){let e=new li(` ${Sj(s,i)} `,{style:QA(l,ya(l,{kind:`bar`,progression:t,address:c},n).tint,n)});if(o+=e.cellLength,o>r)break;a.push(e)}return a}),o=li.fromFragments(a.flatMap((e,t)=>t===0?e:[new li(`
|
|
182
|
+
`),...e]));return o.noWrap=!0,o.end=``,o}function Tj(e,t){return{layoutPreview:{fn:()=>wj(e.layout(),e.progression,t.drawnAt(),sj(e)),argTypes:[],returnType:`T`}}}function Ej(e,t,n,r){let i=ij(r.activeSegment,`{{ menu }}`),a=r.action,o=Tg(i.placementId,e,n.key),s=Og(o),c=wg(e),l=UA(a.store,o)===c,u=UA(a.store,`session.id`),d=l?xc:c,f=GA(wc(`{{ menu "${e}" }}`,t,2,+!!l),PT([{verb:dT,args:[u,o,d,s,`0`]}]),!1);return i.drops.push(...l?[fj(e,{key:s,stateVar:s},[[o,xc],[s,`0`]],n.closeOnPick,n.paged,a,ej(i,n.distribution,a,dj(a,e,`menu`).paletteOf,r.activeSegment.drawnAt()))]:[]),f}const Dj=e=>typeof e==`object`&&!!e&&!Array.isArray(e);function Oj(e,t){let n=t[t.length-1],r=Dj(n)?n:void 0,i=r===void 0?t:t.slice(0,-1),a=i.findIndex(e=>typeof e!=`string`);if(a!==-1)throw Error(`{{ menu "${e}" }} display #${a+1} is not text (${JSON.stringify(i[a])}) — a menu binds its trigger text, then an optional trailing (dict …) of options`);return{displays:i,options:Mg(r??{})}}function kj(e){return{menu:{fn:(t,...n)=>{let{displays:r,options:i}=Oj(t,n);return Ej(t,r,i,e)},argTypes:[`string`,`value`],returnType:`T`}}}function Aj(e){let{value:t,max:n,width:r,filled:i,empty:a,colourAt:o}=e,s=jj(t,n,r),c=[];for(let e=0;e<r;e++){let t=e<s,l=t&&o!==void 0?o(e*n/r):void 0;c.push(new li(t?i:a,{style:l===void 0?void 0:new B({color:l})}))}let l=li.fromFragments(c);return l.end=``,l.noWrap=!0,l}function jj(e,t,n){return!Number.isFinite(e)||!Number.isFinite(t)||t<=0?0:Math.min(n,Math.max(0,Math.round(e/t*n)))}function Mj(e){let t={fn:(()=>{let t=ij(e,`{{ bgOf }}`);if(t.bg===void 0)throw Error(`{{ bgOf }} is not available while segments.${t.segName}'s own "bg:" is being evaluated — the background is what that template computes. Reach for a palette color there instead, e.g. bg: '{{ darken (color "surface") 1 }}'.`);return t.bg.hex}),argTypes:[],returnType:`string`},n={fn:(()=>ij(e,`{{ tint }}`).tint.hex),argTypes:[],returnType:`string`},r=av(()=>ij(e,`{{ color }} / {{ ramp }} / {{ gauge }}`).palette),i={fn:((e,t,n,i,a,o,...s)=>Aj({value:e,max:t,width:n,filled:i,empty:a,colourAt:o===void 0||s.length===0?void 0:e=>String(r.ramp.fn(e,o,...Nj(s)))})),argTypes:[`float`,`float`,`int`,`string`,`string`,`string`,`string`],returnType:`T`};return{...r,bgOf:t,tint:n,gauge:i}}function Nj(e){return e.flatMap(e=>{let t=e.indexOf(`:`),n=t<0?NaN:Number(e.slice(0,t));if(!Number.isFinite(n))throw Error(`{{ gauge }} stop "${e}" must be "<position>:<colour>", e.g. "80:error" or "80:#ff0000"`);return[n,e.slice(t+1)]})}function Pj(e){let t=[],n=[];for(let r of e){if(!r.contains(`
|
|
183
183
|
`)){n.push(r);continue}let e=r.split(`
|
|
184
|
-
`);n.push(e[0]);for(let r=1;r<e.length;r++)t.push(n),n=[e[r]]}return t.push(n),t}const fj=({text:e,trail:t})=>t===void 0?[e]:[e,t];function pj(e,t){switch(e){case`vertical`:return hj(t.flatMap(e=>e));case`horizontal`:{let e=t.find(e=>e[0]?.span===`row`);return e===void 0?t.reduce((e,t)=>Math.max(e,t.length),0)===0?[]:[{cells:t.flatMap(e=>e[0]?.cells??[]),band:`own`,span:`shared`},...t.flatMap(e=>e.slice(1))]:hj(e)}}}function mj(e,t){let n=(e,r)=>t(e)?e.kind===`segment`?[{cells:[{name:e.name,address:r,settings:e.settings}],band:`own`,span:`shared`}]:pj(e.direction,e.children.map((t,i)=>n(t,[...r,gj(e,i)]))):[];return n(e,[]).map(e=>[...e.cells])}function hj(e){return e.map(e=>e.span===`row`?{...e,span:`shared`}:e)}function gj(e,t){return{index:t,count:e.children.length,distribution:e.distribution,axis:ts[e.direction]}}const _j={compile(e,t){return{kind:`container`,direction:e.direction,when:t.when,distribution:Li(e.distribution),children:e.children.map((e,n)=>t.compileChild(e,ss(t.path,n)))}},render(e,t){return pj(e.direction,e.children.map((n,r)=>t.renderChild(n,t.visible,gj(e,r))))}},vj={compile(e,t){return{kind:`segment`,when:t.when,name:e.name,id:ns(e),settings:t.placementSettings(e),...e.opens!==void 0&&{opens:{open:t.parse(yc(e.opens.ref),`opens`),body:t.compileChild(e.opens.body,cs(t.path)),key:e.opens.ref.key,placement:e.opens.placement}},...e.trail!==void 0&&{trail:t.parse(e.trail,`trail`)}}},render(e,t){let n=t.lookupSegment(e.name);if(!n)throw Error(`Layout segment "${e.name}" has no matching segment`);let{seg:r,compiled:i}=n;if(!t.visible)return[];let a=_v(t.scope,e.settings);try{if(!eA(i.when,a))return[];let n=Ny(e.settings.theme,t.palette),{styles:o,fragments:s,trail:c,drops:l}=t.evaluateSegment(e,a,n,t.region,{bg:i.bg,fg:i.fg,body:i.template,trail:e.trail}),u=e.opens!==void 0&&eA(e.opens.open,t.scope),d=l.length>0||u?o.trigger:o.closed,f={width:r.width??`auto`,justify:r.justify??`left`,truncate:r.truncate??`right`,baseStyle:d,padding:t.padding},p=e.opens===void 0?[]:t.renderBody(e.opens.body,u,o.disclosure),m=p.slice(0,+(e.opens?.placement===`inline`)),h=p.slice(m.length),g=e.opens!==void 0&&h.some(e=>e.band===`own`)?iA(cA([t.closeDisclosure(e.opens.key)],o.trigger),{...f,width:`auto`,baseStyle:o.trigger}):[],_=e=>e.band===`own`?g:[],v=h.map(e=>({cells:[..._(e),...e.cells],band:`deeper`,span:`shared`})),y=dj(cA(s,d)).map((e,t)=>({cells:iA(e,{...f,trail:t===0?cA(c,d):[]}),band:`own`,span:`shared`})),b=l.map(e=>({cells:iA(cA([e],o.band),{...f,baseStyle:o.band}),band:`deeper`,span:`shared`})),x=[...y,...b];return t.perSegmentSink!==void 0&&t.perSegmentSink.set(e.id,[...x.flatMap(e=>e.cells),...h.flatMap(_)].flatMap(fj)),[...x.map((e,t)=>t===0&&m.length>0?{cells:[...e.cells,...m.flatMap(e=>e.cells)],band:`own`,span:`row`}:e),...v]}catch(n){let r=n.message??String(n);t.onSegmentError?.(e.id,r);let i=r.replace(/\s*\n\s*/g,` `);return[{cells:iA([new H(`⚠ ${e.id}: ${i}`,{end:``})],{width:`auto`,justify:`left`,truncate:`right`,padding:0,trail:yj(e,a,t)}),band:`own`,span:`shared`}]}}};function yj(e,t,n){if(e.trail===void 0)return[];try{return n.evaluateSegment(e,t,n.palette,n.region,{bg:void 0,fg:void 0,body:e.trail,trail:void 0}).fragments}catch(t){return n.onSegmentError?.(e.id,t.message??String(t)),[]}}const bj={container:_j,segment:vj};function xj(e){return bj[e]}function Sj(e){if(`ttl`in e)return{kind:`ttl`,durationMs:iy(e.ttl)};if(`watch_file`in e)return{kind:`watch_file`,path:e.watch_file};if(`depends_on`in e)return{kind:`depends_on`,varNames:e.depends_on};if(`key`in e)return{kind:`key`,template:e.key};if(`never`in e)return{kind:`never`};throw Error(`Unknown CacheDecl discriminator — loader invariant violated: ${JSON.stringify(e)}`)}function Cj(e,t){switch(ds(e)){case`json`:return{kind:`json`,default:t};case`regex`:return{kind:`regex`,regex:new RegExp(e.regex),default:t};case`text`:return{kind:`text`,default:t}}}function wj(e,t,n,r){switch(n.kind){case`literal`:e.declareLiteral(t,n.value);break;case`input`:e.declareInput(t,n.path,n.type??`string`,n.default);break;case`env`:e.declareEnv(t,n.name,n.default);break;case`file`:e.declareFile(t,n.path,{readMode:n.readMode,cache:Sj(n.cache),parse:Cj(n.parse,n.default)});break;case`shell`:e.declareShell(t,n.command,{cache:Sj(n.cache),parse:Cj(n.parse,n.default)});break;case`template`:e.declareTemplate(t,n.template,{varDefault:n.default});break;case`time`:e.declareTime(t,{format:n.layout,ttlMs:n.cache?iy(n.cache.ttl):void 0,varDefault:n.default});break;case`git`:e.declareGit(t,{field:n.field,cwd:r,varDefault:n.default});break;case`state`:e.declareState(t,{key:n.key,...n.default!==void 0&&{varDefault:n.default}});break}}function Tj(e,t){let n=rd.EMPTY;for(let[r,i]of Object.entries(t))try{n=e.parse(`{{ define "${r}" }}${i}{{ end }}`,n).defines()}catch(e){throw Error(`Template parse error in helpers.${r}: ${e.message}`,{cause:e})}return n}const Ej=e=>Ya(void 0,null,e.globals.progression);function Dj(e,t,n){let r=n?.cwd??process.cwd(),i=By(e.globals.palette),a={store:t.variableStore,compiled:new Map,chromeCols:WE({style:`powerline`,charset:za}),width:80,basePalette:i,palette:i,progression:ki[Ej(e)],padding:1,seamCols:GE({style:`powerline`,charset:za}),layout:()=>[]},o=NA(t.drawnAt),s={action:a,activeSegment:o},c=Object.keys(e.looks),l=Eg(e.presets),u=new Map([...Wy(e),...gb(e)]),d=mv({...DA(a),...WA(a,o),...qA(a,o),...ZA(a,o),...nj(a,o),...oj(s),...lj(o),looks:{fn:()=>c,argTypes:[]},presets:{fn:()=>l,argTypes:[]}},n?.clock,t.drawnAt),f=Tj(d,e.helpers),p=e=>d.parse(e,f),m=new Map,h=e=>{let t=m.get(e);if(t!==void 0)return t;let n=p(e);return m.set(e,n),n},g=new Map;for(let[t,n]of Ey)n in e.variables&&g.set(t,n);for(let[t,n]of Object.entries(e.variables))n.kind===`state`&&!g.has(n.key)&&g.set(n.key,t);for(let[t,n]of Object.entries(e.segments))if(n.vars)for(let[e,r]of Object.entries(n.vars))r.kind===`state`&&!g.has(r.key)&&g.set(r.key,`${t}.${e}`);a.compiled=gA(p,e.actions,g,u);let _=[];for(let[n,i]of Object.entries(e.variables))try{wj(t,n,i,r)}catch(e){_.push(`Variable "${n}": ${e.message??String(e)}`)}for(let[n,i]of Object.entries(e.segments))if(i.vars)for(let[e,a]of Object.entries(i.vars))try{wj(t,`${n}.${e}`,a,r)}catch(t){_.push(`Variable "${n}.${e}": ${t.message??String(t)}`)}let v=Object.create(null);for(let[t,n]of Object.entries(e.segments)){let e=(e,n,r=p)=>{try{return r(e)}catch(e){throw Error(`Template parse error in segments.${t}.${n}: ${e.message}`,{cause:e})}};v[t]={when:n.when===void 0?void 0:e(n.when,`when`,h),template:e(n.template,`template`),bg:n.bg===void 0?void 0:e(n.bg,`bg`),fg:n.fg===void 0?void 0:e(n.fg,`fg`)}}let y=(e,t,n)=>{try{return h(e)}catch(e){throw Error(`Template parse error in ${t}.${n}: ${e.message}`,{cause:e})}},b=t.variableStore,x=t=>{let n=_s(e.segments[t.name]),r=Object.create(null);for(let[e,i]of Object.entries(n)){let n=t.settings?.[e]??i.default,a=t.drafts?.[e];Object.defineProperty(r,e,{enumerable:!0,get:a===void 0?()=>n:()=>bs(i,String(b.read(a.variable)))??n})}return Object.freeze(r)},S=(e,t)=>{let n={path:t,when:e.when===void 0?void 0:y(e.when,t,`when`),parse:(e,n)=>y(e,t,n),compileChild:S,placementSettings:x};return xj(e.kind).compile(e,n)},C=new Map;for(let t of l){let{node:n,path:r}=kg(e,t);C.set(t,S(n,r))}let ee=new Map;for(let t of Da){let n=e.globals[t];Oa(n)&&ee.set(t,Oj(p,t,n))}return{segments:v,roots:C,activeSegment:o,menuRuntime:s,globalExpressions:ee,loadWarnings:_}}function Oj(e,t,n){try{return e(n)}catch(e){throw Error(`globals.${t} is not a valid template: ${e instanceof Error?e.message:String(e)}`)}}function kj(e,t,n){let r=e.globalExpressions.get(t);if(r===void 0)throw Error(`globals.${t} is an expression but no compiled template exists — registerDslConfig and the resolution disagree about isExpression`);return r.evaluate(n).map(e=>e.plain).join(``)}function Aj(e,t){return e.kind===`decided`?e.name:t}function jj(e,t,n,r,i,a,o,s){let{perSegmentSink:c,onSegmentError:l,onRenderWarning:u}=o??{};r.drawAt(Ka(a.colorCompatibility));let{preset:d=wg}=s??{},f=ki[s?.progression??Ej(e)];t.menuRuntime.action.progression=f;let p=s?.look??Na(`none`,e.looks),m=s?.theme??Ry(void 0,null,e.globals.palette),h=(e,t)=>({...i,term:{cols:a.width},theme:{effective:e},look:{effective:t}});r.applyInput(h(Aj(m,ya),Aj(p,ja))),t.menuRuntime.action.chromeCols=WE(a),t.menuRuntime.action.padding=a.padding,t.menuRuntime.action.width=a.width,t.menuRuntime.action.seamCols=GE(a);let g=hv(n),_=Aa(m,()=>kj(t,`palette`,g),e=>Ly(e,e=>u?.(e))),v=Aa(p,()=>kj(t,`look`,g),t=>Na(t,e.looks));(_!==m||v!==p)&&r.applyInput(h(_.name,v.name));let y=_.value;t.menuRuntime.action.basePalette=y;let b=Fy(y,v.value);t.menuRuntime.action.palette=b,c?.clear();let x=n=>{let r=e.segments[n],i=t.segments[n];return r!==void 0&&i!==void 0?{seg:r,compiled:i}:void 0},S=(e,n,i,a,o)=>{try{let s=r.drawnAt(),{tint:c,disclosure:l}=ga(i,a,s),u=PA(t.activeSegment,e.name,e.id,i,l,c),d=pA(u,s,o.bg,o.fg,n),f=o.body.evaluate(n),p=o.trail?.evaluate(n)??[];return{styles:{closed:d,get trigger(){return kA(i,aa(i,l,s).state,s)},get band(){return kA(i,aa(i,l,s).plane,s)},disclosure:l},fragments:f,trail:p,drops:u.drops}}finally{t.activeSegment.current=null}},C=(e,t,r)=>{let i=t&&eA(e.when,g),o={scope:g,palette:b,visible:i,padding:a.padding,region:r,perSegmentSink:c,onSegmentError:l,evaluateSegment:S,lookupSegment:x,renderChild:(e,t,n)=>C(e,t,ma(r,n)),renderBody:(e,t,n)=>C(e,i&&t,ha(n)),closeDisclosure:e=>OA(n,e)};return xj(e.kind).render(e,o)},ee=t.roots.get(d);if(ee===void 0)throw Error(`Preset "${d}" has no compiled layout — registerDslConfig compiles one per declared preset and effectivePresetName collapses unknown names to "${wg}"; a miss here is merge/policy drift (have: ${[...t.roots.keys()].join(`, `)})`);let te=e=>{if(!eA(e.when,g))return!1;if(e.kind===`container`)return!0;if(Eb(e.name)===void 0)return!1;try{return eA(t.segments[e.name].when,_v(g,e.settings))}catch{return!0}};return t.menuRuntime.action.layout=()=>mj(ee,te).map(e=>e.flatMap(({name:e,address:t,settings:n})=>{let r=Eb(e);return r===void 0?[]:[{name:r,address:t,palette:Ny(n.theme,b)}]})),C(ee,!0,pa(f)).map(e=>KE(sA(e.cells,a),a)).join(`
|
|
185
|
-
`)}var
|
|
186
|
-
`)||null}var Gj=class{entries=new Map;deps;maxEntries;observers;constructor(e,t={}){this.deps=e,this.maxEntries=t.maxEntries??256,this.observers=t.observers??{}}getOrCreate(e,t,n){let r=Bj(e,t,n),i=this.entries.get(r);if(i)return this.entries.delete(r),this.entries.set(r,i),i;let a=this.loadFromDisk(e,t,n),o={projectDir:e,cwd:t,configFile:n,configFilePath:null,lastError:a.error,lastWarning:a.warning,state:a.state??this.buildState(t,null,[]),watcher:null,watcherKey:null};if(this.entries.set(r,o),this.entries.size>this.maxEntries){let e=this.entries.entries().next().value;if(e!==void 0){let[t,n]=e;n.state.registry.dispose(),n.state.validatorDisposers.forEach(e=>e()),n.watcher?.release(),this.entries.delete(t)}}return this.refreshWatcher(o,a.resolvedPath),this.observers.onReload?.(o),o}reload(e,t,n){this.reloadInto(this.getOrCreate(e,t,n))}reloadInto(e){let t=this.loadFromDisk(e.projectDir,e.cwd,e.configFile);e.lastWarning=t.warning,e.lastError=t.error,t.state!==null&&(e.state.registry.dispose(),e.state.validatorDisposers.forEach(e=>e()),e.state=t.state),this.refreshWatcher(e,t.resolvedPath),this.observers.onReload?.(e)}loadFromDisk(e,t,n){let r=xC(e,t,n),i=r.kind===`file`?r.path:null,a=[TC(e,t),CC(r)],o;try{o=this.buildState(t,i,a)}catch(e){return e instanceof Yo&&a.push(...e.warnings),{resolvedPath:i,warning:Wj(a),state:null,error:e instanceof Yo||e instanceof Error?e.message:String(e)}}return{resolvedPath:i,warning:Wj(a),state:o,error:null}}buildState(e,t,n){let r=EC(t,KD),{config:i,raw:a}=r;n.push(...r.warnings);let o=kC(r,t??`<default>`),s=new zj,c=new xy(s,o.globals.default_empty_value??``,this.deps.gitService,this.deps.sessionState),l,u=[];try{l=Dj(o,c,{cwd:e}),n.push(...l.loadWarnings);for(let{key:e,spec:t}of lk(o))u.push(nk(e,t));for(let{key:e,spec:t}of PD(o))u.push(FD(e,t))}catch(e){for(let e of u)e();throw c.dispose(),e}return{config:o,store:s,registry:c,compiled:l,neededInputPaths:xO(o),lastRenderCellsBySegment:new Map,validatorDisposers:u,authoredRoots:Vj(i,a)}}refreshWatcher(e,t){e.configFilePath=t;let n=Uj(e,t),r=`config:${e.projectDir}:${e.cwd}:${e.configFile??``}:${JSON.stringify(n)}`;e.watcher!==null&&e.watcherKey===r||(e.watcher?.release(),e.watcherKey=r,e.watcher=this.deps.watchers.acquire(r,n,()=>this.onConfigChanged(e)))}onConfigChanged(e){Q(`info`,`config change detected for entry projectDir=${e.projectDir} cwd=${e.cwd}`),this.reloadInto(e)}get size(){return this.entries.size}firstState(){return this.entries.values().next().value?.state??null}};const Kj=16384;var qj=class{startedAt=new Date;requestsTotal=0;requestsErrored=0;requestsTimedOut=0;inFlight=0;watchersOpened=0;watchersClosed=0;watchersEvicted=0;subprocessTotal=0;subprocessInFlight=0;subprocessCount=new Map;subprocessHistogram=new Map;subprocessHistogramRotator=new Map;rollingTimestamps=[];rollingHead=0;launchStats={onStart:e=>{this.subprocessTotal++,this.subprocessInFlight++,this.subprocessCount.set(e,(this.subprocessCount.get(e)??0)+1),this.recordRollingNow()},onEnd:(e,t)=>{this.subprocessInFlight=Math.max(0,this.subprocessInFlight-1),this.recordDuration(e,t)}};recordRollingNow(){let e=Date.now();if(this.rollingTimestamps.length<Kj){this.rollingTimestamps.push(e);return}this.rollingTimestamps[this.rollingHead]=e,this.rollingHead=(this.rollingHead+1)%Kj}recordDuration(e,t){let n=this.subprocessHistogram.get(e);if(n||(n=[],this.subprocessHistogram.set(e,n)),n.length<16){n.push(t);return}let r=(this.subprocessHistogramRotator.get(e)??0)%16;n[r]=t,this.subprocessHistogramRotator.set(e,r+1)}snapshotSubprocesses(){let e=Date.now()-6e4,t=0;for(let n of this.rollingTimestamps)n>=e&&t++;let n={};for(let[e,t]of this.subprocessCount)t>0&&(n[e]=t);let r={},i={};for(let[e,t]of this.subprocessHistogram){if(t.length===0)continue;let n=[...t].sort((e,t)=>e-t),a=Math.floor(n.length*.5),o=Math.min(n.length-1,Math.floor(n.length*.99)),s=n[a],c=n[o];s!==void 0&&(r[e]=s),c!==void 0&&(i[e]=c)}return{total:this.subprocessTotal,inFlight:this.subprocessInFlight,lastMinute:t,byCategory:n,p50DurationMs:r,p99DurationMs:i}}snapshot(e){let t=process.memoryUsage();return{pid:process.pid,version:xT,protocolVersion:3,startedAt:this.startedAt.toISOString(),uptimeSec:Math.floor((Date.now()-this.startedAt.getTime())/1e3),rssBytes:t.rss,heapUsedBytes:t.heapUsed,heapTotalBytes:t.heapTotal,externalBytes:t.external,arrayBuffersBytes:t.arrayBuffers,requests:{total:this.requestsTotal,errored:this.requestsErrored,timedOut:this.requestsTimedOut,inFlight:this.inFlight},gitCache:e.gitCache,usageCache:e.usageCache,renderCache:{size:e.renderCacheSize},watchers:{active:e.watchersActive,opened:this.watchersOpened,closed:this.watchersClosed,evicted:this.watchersEvicted},subprocesses:this.snapshotSubprocesses(),nextRestartReason:e.nextRestartReason??null}}};const Jj={load:()=>({}),save:()=>{},flush:()=>{}};function Yj(e){let t=new Map;for(let[n,r]of Object.entries(e))t.set(n,new Map(Object.entries(r)));return t}var Xj=class{sessions;storage;atom=(0,x_.createAtom)(`SessionState`);constructor(e=Jj,t=256){this.maxSessions=t,this.storage=e,this.sessions=new Map,this.hydrateFromStorage()}useStorage(e){this.storage=e,this.hydrateFromStorage()}hydrateFromStorage(){this.sessions=Yj(this.storage.load()),this.evictOldest(),this.persist()}get(e,t){this.atom.reportObserved();let n=this.sessions.get(e);return n?(this.touch(e,n),n.get(t)??null):null}set(e,t,n){this.setBatch(e,[{key:t,value:n}])}setBatch(e,t){t.length!==0&&(0,x_.runInAction)(()=>{let n=this.sessions.get(e)??new Map;for(let{key:e,value:r}of t)n.set(e,r);this.touch(e,n),this.evictOldest(),this.persist(),this.atom.reportChanged()})}clear(e,t){(0,x_.runInAction)(()=>{let n=this.sessions.get(e);n&&(n.delete(t),n.size===0?this.sessions.delete(e):this.touch(e,n)),this.persist(),this.atom.reportChanged()})}prune(e){(0,x_.runInAction)(()=>{for(let t of this.sessions.keys())e.has(t)||this.sessions.delete(t);this.persist(),this.atom.reportChanged()})}touch(e,t){this.sessions.delete(e),this.sessions.set(e,t)}evictOldest(){let e=this.sessions.size-this.maxSessions;if(!(e<=0)){for(let t of this.sessions.keys())if(this.sessions.delete(t),--e===0)break}}flush(){this.storage.flush()}persist(){this.storage.save(this.serialize())}serialize(){let e=Object.create(null);for(let[t,n]of this.sessions)e[t]=Object.fromEntries(n);return e}};const Zj=(e,t)=>D(t);function Qj(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;for(let t of Object.values(e)){if(typeof t!=`object`||!t||Array.isArray(t))return!1;for(let e of Object.values(t))if(typeof e!=`string`)return!1}return!0}var $j=class{timer=null;pending=null;constructor(e,t=500,n=Zj){this.filePath=e,this.debounceMs=t,this.logger=n}load(){let e;try{e=r.readFileSync(this.filePath,`utf8`)}catch(e){let t=e.code;return t!==`ENOENT`&&this.logger(`warn`,`session-state read failed (${t}); starting empty`),{}}try{let t=JSON.parse(e);return Qj(t)?t:(this.logger(`warn`,`session-state load: unexpected shape, starting empty`),{})}catch{return this.logger(`warn`,`session-state load: corrupt JSON, starting empty`),{}}}save(e){this.pending=e,!this.timer&&(this.timer=setTimeout(()=>this.flush(),this.debounceMs),this.timer.unref())}flush(){if(this.timer&&=(clearTimeout(this.timer),null),this.pending===null)return;let e=this.pending;try{r.mkdirSync(c.dirname(this.filePath),{recursive:!0});let t=`${this.filePath}.tmp`;r.writeFileSync(t,JSON.stringify(e),{mode:384}),r.chmodSync(t,384),r.renameSync(t,this.filePath),this.pending=null}catch(e){this.logger(`warn`,`session-state save failed: ${e.message}`)}}};const eM={default_bg:`string`,default_fg:`string`,default_empty_value:`string`,default_separator:`string`,default_truncate_marker:`string`,palette:`string`,look:`string`,preset:`string`,style:`string`,progression:`string`,autoWrap:`boolean`,padding:`number`,charset:`string`,updateNotice:`boolean`,colorCompatibility:`string`,menuGlyph:`string`},tM=new Set([`1`,`true`]),nM=new Set([`0`,`false`,``]);function rM(e,t){let n=OM(e),r=n.scope===`segment-palette`?`string`:eM[n.field];if(r===`string`)return JSON.stringify(t);if(r===`number`){let n=Number(t);if(!Number.isFinite(n))throw Error(`persistValueText: "${e}" expects a number, got "${t}"`);return String(n)}if(tM.has(t))return`true`;if(nM.has(t))return`false`;throw Error(`persistValueText: "${e}" expects boolean-ish (1, 0, true, false), got "${t}"`)}function iM(e){try{return r.readFileSync(e,`utf8`)}catch(e){if(e.code===`ENOENT`)return null;throw e}}function aM(e,t,n){try{if(t===null){r.rmSync(e,{force:!0});return}r.mkdirSync(c.dirname(e),{recursive:!0}),ke(e,t)}catch(t){let r=`config write failed (${e}): ${t.message}`;throw n(`error`,r),Error(r)}}function oM(e){return/^\s*$/.test(e)?null:uo(e)}function sM(e,t){return e!==null&&po(e,t)!==void 0}function cM(e){if(e.kind===`segment`)return e.when===void 0?e.name:{seg:e.name,when:e.when};if(e.kind===`container`){let{kind:t,direction:n,children:r,...i}=e;return{[n===`horizontal`?`h`:`v`]:r.map(cM),...i}}return e}function lM(e){if(!tc(e))return cM(e);let{rows:t,...n}=e;return{rows:Object.fromEntries(Object.entries(t).map(([e,t])=>[e,cM(t)])),...n}}const uM=WD,dM=uM.segments,fM=uM.presets,pM=uM.root;function mM(e,t,n,r){if(!sM(e,t)&&n===void 0)throw new $(`cannot edit ${r}: neither the config file nor the bundled default declares ${t.join(`.`)}`)}function hM(e,t){let n=$y(t);return t.scope===`segment-palette`&&mM(e,[`segments`,t.segment],dM[t.segment],n.join(`.`)),n}function gM(e){return uo(xo(e))}function _M(){return Object.entries(pM.rows).map(([e,t])=>{let n=cM(t);return{path:[`root`],fragment:gM({rows:{[e]:n}}),unit:{path:[`root`,`rows`,e],value:n}}})}function vM(e,t){let n=e===null?void 0:po(e,t);return n===void 0?null:{path:t,fragment:n,unit:null}}function yM(e,t){if(t===void 0)return null;let n=lM(t);return{path:e,fragment:gM(n),unit:{path:e,value:n}}}function bM(e,t){let n=[`presets`,t],r=[...n,`root`],i=fM[t];mM(e,n,i,r.join(`.`));let a=vM(e,r)??yM(r,i?.root);return a!==null&&Ho(a.fragment)?a:null}function xM(e,t){let n=Vo(t.fragment);return n===null?new Map([[`#`,{path:t.path,unit:t.unit,node:t.fragment}]]):new Map([...e,...n.map(e=>[e.key,{path:[...t.path,`rows`,e.key],unit:t.unit,node:e.value}])])}function SM(e,t){return[..._M(),vM(e,[`root`]),bM(e,t)].filter(e=>e!==null).reduce(xM,new Map)}function CM(e,t,n){for(let{node:r,...i}of SM(e,t).values())if(Wo(r,n))return i;throw new $(`${wM(e,t).join(`.`)} holds no placement "${n}" — the bar you clicked is stale (it reloads on the next render), or the action names a placement the layout never held`)}function wM(e,t){return bM(e,t)?.path??[`root`]}function TM(e,t){return t.scope===`preset-root`?wM(e,t.preset):$y(t)}function EM(e,{unit:t}){return t===null?e:Fo(e,t.path,xo(t.value),yo)}function DM(e){let t=Qy(e);if(t===null)throw Error(`"${e}" is not a valid persist target`);return t}function OM(e){let t=DM(e);if(t.scope===`preset-root`)throw Error(`"${e}" names a layout, not a value`);return t}function kM(e,t,n,r){AM(t,r),aM(t,r,e.logger),e.record(t,n,r)}function AM(e,t){try{return kC(DC(e,t,KD),e)}catch(e){throw e instanceof Yo?new $(`refused: the config file would not load after this click — ${e.message}`):e}}function jM(e,t){let n=OM(t),r=oM(iM(e)??``),i=r===null?void 0:po(r,$y(n));return i!==void 0&&`value`in i?i.value:void 0}function MM(e,t,n){NM(e,t,n,[])}function NM(e,t,n,r){let i=iM(t);kM(e,t,i,PM(n.reduce((e,[t,n])=>Fo(e,hM(oM(e),OM(t)),rM(t,n),yo),i??``),t,r,e=>e))}function PM(e,t,n,r){return n.reduce((e,{preset:n,id:i,setting:a,value:o})=>{let s=r(e,n,i),c=CM(oM(s),n,i),l=Jo(EM(s,c),c.path,i,a,xo(o));if(l===null)throw new $(`${c.path.join(`.`)} in ${t} has no placement "${i}" — the bar you clicked is stale (it reloads on the next render)`);return l},e)}function FM(e,t,n){let r=oM(e),i=[`presets`,t,`root`];for(let[a,{path:o,unit:s,node:c}]of SM(r,t)){if(!Wo(c,n))continue;if(i.every((e,t)=>o[t]===e))return e;let l=s===null?ho(e,c):xo(s.value);if(a!==`#`)return Fo(e,[...i,`rows`,a],l,yo);if(bM(r,t)!==null)throw new $(`cannot give preset "${t}" its own copy of ${o.join(`.`)}: it already stages rows of its own over that tree`);return Fo(e,i,l,yo)}return e}function IM(e,t){return Lo(e,t,t[0]===`presets`&&t.length>2&&!JD(t[1])?2:0)}function LM(e,t,n){let r=n.map(DM),i=iM(t);if(i===null)return;let a=r.reduce((e,t)=>IM(e,TM(oM(e),t)),i);a!==i&&kM(e,t,i,a)}function RM(e){let t=e===null?void 0:po(e,[`presets`]),n=new Set([...qD,...t?.kind===`object`?t.entries.map(e=>e.key):[]].map(kl));return Array.from({length:n.size+1},(e,t)=>`custom-${t+1}`).find(e=>!n.has(kl(e)))}function zM(e,t,n,r,i,a){let o=iM(t),s=oM(o??``),c=RM(s),l=[`presets`,c],u=bM(s,n),d=[...u===null?[]:[[[...l,`root`],u.unit===null?ho(o??``,u.fragment):xo(u.unit.value)]],...Object.keys(r).length===0?[]:[[[...l,`globals`],xo(r)]]],f=i.map(([e,t])=>{let n=Zy(c,e);return[hM(s,OM(n)),rM(n,t)]});return kM(e,t,o,PM([...d,...f].reduce((e,[t,n])=>Fo(e,t,n,yo),Fo(o??``,l,`{}`,yo)),t,a.map(e=>({...e,preset:c})),FM)),c}function BM(e,t,n){if(JD(n))throw new $(`cannot delete preset "${n}": it is bundled — reset its settings instead`);let r=[`presets`,n],i=iM(t),a=oM(i??``);if(i===null||a===null||po(a,r)===void 0)throw new $(`cannot delete preset "${n}": ${t} declares no ${r.join(`.`)} — the bar you clicked is stale; it reloads on the next render`);let o=po(a,[`globals`,`preset`]);kM(e,t,i,[r,...o?.kind===`string`&&o.value===n?[[`globals`,`preset`]]:[]].reduce((e,t)=>IM(e,t),i))}function VM(e,t,n,r){let i=DM(n);if(i.scope!==`preset-root`)throw Error(`"${n}" is not a "presets.<name>.root" target`);let a=iM(t),o=r.op===`remove`?r.target:r.anchor,s=CM(oM(a??``),i.preset,o),c=EM(a??``,s),{after:l,placed:u}=HM(c,s.path,r,()=>{let e=AM(t,c);return Eg(e.presets).map(t=>kg(e,t).node)});if(l===null)throw new $(`${s.path.join(`.`)} in ${t} has no placement "${o}" — the bar you clicked is stale (it reloads on the next render), or the action names a placement the layout never held`);return kM(e,t,a,l),u}function HM(e,t,n,r){switch(n.op){case`remove`:return{after:Ko(e,t,n.target),placed:null};case`insert`:{let i=gD(n.segment,n.anchor,r());return{after:qo(e,t,i,n.anchor,n.relation),placed:i}}}}const UM={load:()=>({}),save:()=>{}},WM=new Set(wy.map(e=>e.sessionKey)),GM=e=>WM.has(e)||e.startsWith(qg),KM={past:[],future:[]},qM=e=>e.kind===`session`?`session:${e.key}`:`file:${e.file}`;var JM=class{state=new Map;constructor(e,t,n=UM){this.sessionState=e,this.logger=t,this.storage=n,this.state=new Map(Object.entries(n.load()))}useStorage(e){this.storage=e,this.state=new Map(Object.entries(e.load()))}depth(e){let{past:t,future:n}=this.state.get(e)??KM;return{undo:t.length,redo:n.length}}history(e){return this.state.get(e)??KM}begin(){let e=new Map,t=(t,n)=>{let r=e.get(t)??new Map,i=r.get(qM(n));r.set(qM(n),i===void 0?n:{...n,before:i.before}),e.set(t,r)},n=this.sessionState,r=(e,r,i)=>{let a=r.filter(GM).map(t=>({key:t,before:n.get(e,t)}));i();for(let{key:r,before:i}of a)t(e,{kind:`session`,key:r,before:i,after:n.get(e,r)})};return{sessionState:{get:(e,t)=>n.get(e,t),set:(e,t,i)=>r(e,[t],()=>n.set(e,t,i)),setBatch:(e,t)=>r(e,t.map(e=>e.key),()=>n.setBatch(e,t)),clear:(e,t)=>r(e,[t],()=>n.clear(e,t))},file:(e,n,r,i)=>t(e,{kind:`file`,file:n,before:r,after:i}),commit:()=>{let t=[...e];e.clear();for(let[e,n]of t){let t=[...n.values()].filter(e=>e.before!==e.after);t.length!==0&&this.put(e,{past:ZM([...this.history(e).past,t]),future:[]})}}}}undo(e){let{past:t,future:n}=this.history(e),r=t.at(-1);if(r===void 0)throw new $(`undo: nothing to undo`);return this.apply(e,r,`before`,`undo`,{past:t.slice(0,-1),future:ZM([...n,r])}),r}redo(e){let{past:t,future:n}=this.history(e),r=n.at(-1);if(r===void 0)throw new $(`redo: nothing to redo`);return this.apply(e,r,`after`,`redo`,{past:ZM([...t,r]),future:n.slice(0,-1)}),r}apply(e,t,n,r,i){let a=n===`before`?`after`:`before`,o=t.filter(t=>this.read(e,t)!==t[a]);if(o.length>0){let t=new Set(o.map(qM));throw this.put(e,{past:QM(this.history(e).past,t),future:QM(this.history(e).future,t)}),new $(`${r}: ${o.map(eN).join(`, `)} changed since that edit — refusing to overwrite it; this session's undo history no longer steps it`)}let s=[];try{for(let r of t)this.write(e,r,r[n]),s.push(r);this.put(e,i)}catch(t){try{for(let t of s.reverse())this.write(e,t,t[a])}catch(e){throw Error(`${t.message}; and putting the step back failed, so it is half-applied: ${e.message}`)}throw t}}read(e,t){return t.kind===`session`?this.sessionState.get(e,t.key):iM(t.file)}write(e,t,n){t.kind===`file`?aM(t.file,n,this.logger):n===null?this.sessionState.clear(e,t.key):this.sessionState.set(e,t.key,n)}put(e,t){let n=new Map(this.state);for(n.delete(e),(t.past.length>0||t.future.length>0)&&n.set(e,t);n.size>32||YM(n)>8388608;){let[e,t]=n.entries().next().value;n.size>1?n.delete(e):n.set(e,XM(t))}this.storage.save(Object.fromEntries(n)),this.state=n}};function YM(e){let t=0;for(let{past:n,future:r}of e.values())for(let e of[...n,...r])for(let n of e)t+=(n.before?.length??0)+(n.after?.length??0);return t}function XM({past:e,future:t}){return e.length>0?{past:e.slice(1),future:t}:{past:e,future:t.slice(1)}}function ZM(e){return e.slice(-50)}function QM(e,t){return e.map(e=>e.filter(e=>!t.has(qM(e)))).filter(e=>e.length>0)}function $M(e){return e.map(eN).join(`, `)}function eN(e){return e.kind===`session`?`session setting "${e.key}"`:e.file}function tN(e){if(typeof e!=`object`||!e)return!1;let t=e,n=e=>e===null||typeof e==`string`;return(t.kind===`session`&&typeof t.key==`string`||t.kind===`file`&&typeof t.file==`string`)&&n(t.before)&&n(t.after)}function nN(e){return Array.isArray(e)&&e.every(e=>Array.isArray(e)&&e.every(tN))}function rN(e){if(typeof e!=`object`||!e)return!1;let t=e;return nN(t.past)&&nN(t.future)}function iN(e,t){return{load:()=>{let n;try{n=r.readFileSync(e,`utf8`)}catch(e){let n=e.code;return n!==`ENOENT`&&t(`warn`,`settings-history read failed (${n}); starting empty`),{}}try{let e=JSON.parse(n);if(typeof e==`object`&&e&&!Array.isArray(e)&&Object.values(e).every(rN))return e}catch{}return t(`warn`,`settings-history load: unexpected shape, starting empty`),{}},save:n=>{try{r.mkdirSync(c.dirname(e),{recursive:!0}),ke(e,JSON.stringify(n),384)}catch(e){let n=`settings-history write failed — the change landed but is not undoable: ${e.message}`;throw t(`error`,n),Error(n)}}}}function aN(e,t,n,r){let i=Ee({bin:`tmux`,args:[`-S`,e.socket,...n],timeoutMs:2e3,category:t,stdinInput:r});if(i.ok)return{kind:`ok`,stdout:i.stdout};if(i.reason===`rate-limited`)return{kind:`rate-limited`,reason:i.error??`rate-limited`};let a=i.error??[i.reason,i.stderr.trim()].filter(e=>e!==``).join(`: `);return{kind:`failed`,reason:`tmux ${n[0]} failed (${a})`}}function oN(e){let t=aN(e,`doctor.tmux`,[`display`,`-p`,`-t`,e.pane,`#{client_termfeatures}`]);return t.kind===`ok`?{kind:`ok`,value:t.stdout.trim().split(`,`).filter(e=>e!==``)}:{kind:`failed`,reason:t.reason}}function sN(){return{probeTmux:oN}}function cN(e){let t=DT(e).env;if(t===void 0)return{path:e,env:{}};if(typeof t!=`object`||!t||Array.isArray(t))throw Error(`cannot read ${e}: \`env\` is not an object`);return{path:e,env:t}}function lN(e,t){return t===void 0?{kind:`unreported`}:t===null?{kind:`outside`}:{kind:`inside`,hint:t,termfeatures:e.probeTmux(t)}}function uN(e,t){return{tmux:lN(e,t.tmux),claudeSettings:cN(wT(CT(t.claudeConfigDir)))}}function dN(e,t){let n=t.claudeSettings.path;switch(e.kind){case`claude-settings-env`:{let i=Fo(ET(n),[`env`,e.name],JSON.stringify(e.value),bo);return r.mkdirSync(c.dirname(n),{recursive:!0}),ke(n,i),{...t,claudeSettings:cN(n)}}default:return e.kind}}const fN=/^─{20,}/,pN=/^❯(\s|$)/,mN=/›\s*stashed$/;function hN(e){if(e.inMode)return{kind:`in-mode`};let t=e.screen.map(e=>e.trimEnd()),n=t.flatMap((e,t)=>fN.test(e)?[t]:[]).at(-2);return n===void 0||!pN.test(t[n+1]??``)?{kind:`no-prompt`}:mN.test(t[n-1]??``)?{kind:`stashed`}:{kind:`ready`}}const gN={"in-mode":`the Claude Code pane is in tmux copy mode — leave it (q) and click again`,stashed:`Claude Code is holding a stashed prompt (ctrl+s) — restore or send it, then click again`,"no-prompt":`Claude Code is not at its prompt (a dialog or picker is open) — close it and click again`};function _N(e,t,n){if(t===void 0)return{kind:`refused`,reason:`this session's statusline client reports no tmux facts (it predates this daemon) — rebuild or reinstall cc-candybar`};if(t===null)return{kind:`refused`,reason:`this Claude Code is not running inside tmux — the bar can only type into a tmux pane`};let r=hN(e.read(t));if(r.kind!==`ready`)return{kind:`refused`,reason:gN[r.kind]};let i=e.type(t,n);return i.kind===`typed`?{kind:`typed`,pane:t.pane}:i}const vN=`cc-candybar-slash`;function yN(e,t,n,r){let i=aN(e,t,n,r);if(i.kind===`failed`)throw Error(i.reason);return i}function bN(e){let t=yN(e,`claude-input.read`,[`display`,`-p`,`-t`,e.pane,`#{pane_in_mode}`,`;`,`capture-pane`,`-p`,`-t`,e.pane]);if(t.kind===`rate-limited`)throw Error(t.reason);let[n=``,...r]=t.stdout.split(`
|
|
187
|
-
`);return{inMode:n!==`0`,screen:r}}function xN(e,t){let n=yN(e,`claude-input.type`,[`load-buffer`,`-b`,vN,`-`,`;`,`send-keys`,`-t`,e.pane,`C-s`,`;`,`paste-buffer`,`-p`,`-d`,`-b`,vN,`-t`,e.pane,`;`,`send-keys`,`-t`,e.pane,`Enter`],t);return n.kind===`ok`?{kind:`typed`}:{kind:`refused`,reason:`cc-candybar typed a command moments ago — click again in a second (${n.reason})`}}function SN(){return{read:bN,type:xN}}function CN(e){if(!e)throw new $(`session id is required`);if(e.includes(`/`)||e.includes(`..`))throw new $(`invalid session id "${e}"`);return e}function wN(e){return TN(()=>decodeURIComponent(e))}function TN(e){try{return e()}catch(e){throw e instanceof URIError?new $(`malformed wire encoding: ${e.message}`):e}}function EN(e,t){let n=Ee({bin:`/usr/bin/pbcopy`,stdinInput:e,category:`click.pbcopy`});if(!n.ok){if(n.reason===`rate-limited`){t.dlog(`warn`,`click.pbcopy rate-limited: ${n.error??``}`);return}throw Error(`pbcopy failed (${n.reason}, exit ${n.exitCode??`null`})`)}}const DN=(e,t)=>EN(wN(e),t),ON=(e,t)=>{let n=Ee({bin:`/usr/bin/open`,args:[`-a`,`Visual Studio Code`,wN(e)],category:`click.open`});if(!n.ok){if(n.reason===`rate-limited`){t.dlog(`warn`,`click.open rate-limited: ${n.error??``}`);return}throw Error(`open -a "Visual Studio Code" failed (${n.reason}, exit ${n.exitCode??`null`})`)}},kN=(e,t)=>EN(wN(e),t),AN=(e,t)=>EN(wN(e),t),jN=(e,t)=>{let n=CN(wN(e));t.sessionState.get(n,`toolbar-expanded`)?t.sessionState.clear(n,`toolbar-expanded`):t.sessionState.set(n,`toolbar-expanded`,`1`)},MN=(e,t)=>{let[n=``,...r]=TN(()=>mT(e)),i=CN(n);if(r.length===0)throw new $(`set-state: <key>/<value> is required (have keys: ${tk().join(`, `)})`);if(r.length%2!=0)throw new $(`set-state: expected even-count <key>/<value> pairs, got ${r.length} segment(s) after session id (have keys: ${tk().join(`, `)})`);let a=[];for(let e=0;e<r.length;e+=2){let t=r[e],n=r[e+1];if(!t)throw new $(`set-state: empty key at pair ${e/2+1} (expected <sessionId>/<key>/<value>[/<key>/<value>...] segments)`);let i=rk(t,n);if(!i.ok)throw new $(`set-state: pair ${e/2+1}: ${i.reason}`);a.push({key:t,value:i.value})}t.sessionState.setBatch(i,a);let o=a.map(e=>`${e.key}=${e.value}`).join(` `);t.dlog(`info`,`set-state: ${o} (session=${i})`)},NN=/^-?\d+$/;function PN(e,t,n){return e>n?t:e<t?n:e}const FN=(e,t)=>{let[n=``,r=``,i=``]=TN(()=>mT(e)),a=CN(n);if(!r)throw new $(`step-state: <key> is required (shape: <sessionId>/<key>/<by>)`);if(!NN.test(i))throw new $(`step-state: delta must be an integer, got "${i}"`);let o=parseInt(i,10),s=ik(r);if(!s)throw new $(`step-state: key "${r}" is not a bounded (range) state key (have keys: ${tk().join(`, `)})`);let c=t.sessionState.get(a,r),l=c&&NN.test(c)?IN(s,parseInt(c,10)):LN(`step-state`,r,s,sk(t.configFor(VN(t,a)),e=>t.sessionState.get(a,e),r)),u=PN(l+o,s.min,s.max),d=rk(r,String(u));if(!d.ok)throw new $(`step-state: ${d.reason}`);t.sessionState.set(a,r,d.value),t.dlog(`info`,`step-state: ${r} ${l}→${d.value} (by ${o}, session=${a})`)};function IN(e,t){return Math.max(e.min,Math.min(e.max,t))}function LN(e,t,n,r){if(r===null)return n.min;if(!NN.test(r))throw new $(`${e}: "${t}" shows ${JSON.stringify(r)} before any click, not an integer to step`);return IN(n,parseInt(r,10))}const RN=`render-origin`;function zN(e){return JSON.stringify(e)}function BN(e){let t;try{t=JSON.parse(e)}catch{throw new $(`render origin is not JSON: ${e}`)}if(typeof t!=`object`||!t)throw new $(`render origin is not an object: ${e}`);let{projectDir:n,cwd:r,configFile:i}=t;if(typeof n!=`string`||typeof r!=`string`||i!==null&&typeof i!=`string`)throw new $(`render origin has the wrong shape: ${e}`);return{projectDir:n,cwd:r,configFile:i}}function VN(e,t){let n=e.sessionState.get(t,RN);if(n===null)throw new $(`session ${t} has not rendered yet — no config to act on`);return BN(n)}function HN(e){return SC(e.projectDir,e.cwd,e.configFile??void 0)}function UN(e,t){return HN(VN(e,t))}function WN(e,t){return{record:(n,r,i)=>e.journal.file(t,n,r,i),logger:e.dlog}}const GN=(e,t)=>{let[n=``,r=``,i=``]=TN(()=>mT(e)),a=CN(n);if(!r)throw new $(`set-config: <key>/<value> is required (have keys: ${DD().join(`, `)})`);let o=OD(r,i);if(!o.ok)throw new $(`set-config: ${o.reason}`);let s=UN(t,a);MM(WN(t,a),s,[[r,o.value]]),t.dlog(`info`,`set-config: ${r}=${o.value} → ${s} (session=${a})`)},KN=(e,t)=>{let[n=``,r=``,i=``]=TN(()=>mT(e)),a=CN(n);if(!r)throw new $(`step-config: <key> is required (shape: <sessionId>/<key>/<by>)`);if(!NN.test(i))throw new $(`step-config: delta must be an integer, got "${i}"`);let o=parseInt(i,10),s=kD(r);if(!s)throw new $(`step-config: key "${r}" is not a bounded (range) config key (have keys: ${DD().join(`, `)})`);let c=VN(t,a),l=HN(c),u=jM(l,r),d=typeof u==`number`?IN(s,u):LN(`step-config`,r,s,jD(t.configFor(c),r)),f=PN(d+o,s.min,s.max),p=OD(r,String(f));if(!p.ok)throw new $(`step-config: ${p.reason}`);MM(WN(t,a),l,[[r,p.value]]),t.dlog(`info`,`step-config: ${r} ${d}→${p.value} (by ${o}) → ${l} (session=${a})`)},qN=(e,t)=>{let[n=``]=TN(()=>mT(e)),r=CN(n),i=VN(t,r),a=t.configFor(i),o=e=>t.sessionState.get(r,e),s=VO(a,o),c=HO(a,o);if(s.length+c.length===0){t.dlog(`info`,`save: nothing unsaved (session=${r})`);return}let l=s.map(e=>{let t=rk(e.sessionKey,e.value);if(!t.ok)throw new $(`save: ${t.reason}`);return[e.target,t.value]});YN(`save`,c);let u=HN(i);NM(WN(t,r),u,l,c),t.reloadConfig(i);for(let e of[...s.map(e=>e.sessionKey),...c.map(e=>e.key)])t.sessionState.clear(r,e);t.dlog(`info`,`save: ${[...l.map(([e,t])=>`${e}=${t}`),...c.map(JN)].join(` `)} → ${u} (session=${r})`)},JN=e=>`${e.preset}/${e.id}.settings.${e.setting}=${ys(e.value)}`;function YN(e,t){for(let n of t){let t=rk(n.key,ys(n.value));if(!t.ok)throw new $(`${e}: ${t.reason}`)}}const XN=(e,t)=>{let[n=``]=TN(()=>mT(e)),r=CN(n),i=VN(t,r),a=GO(t.configFor(i),e=>t.sessionState.get(r,e)),o=a.picks.map(e=>{let t=rk(e.sessionKey,e.value);if(!t.ok)throw new $(`save-preset: ${t.reason}`);return[e.configKey,t.value]});YN(`save-preset`,a.placements);let s=HN(i),c=zM(WN(t,r),s,a.from,a.globals,o,a.placements);t.reloadConfig(i);for(let e of[...wy.map(e=>e.sessionKey),...a.placements.map(e=>e.key)])t.sessionState.clear(r,e);t.sessionState.set(r,Cy.preset.sessionKey,c),t.dlog(`info`,`save-preset: ${[`${c} from=${a.from}`,...o.map(([e,t])=>`${e}=${t}`),...a.placements.map(JN)].join(` `)} → ${s} (session=${r})`)},ZN=(e,t)=>{let[n=``,r=``]=TN(()=>mT(e)),i=CN(n);if(!r)throw new $(`delete-preset: <name> is required (shape: <sessionId>/<name>)`);let a=VN(t,i),o=HN(a);BM(WN(t,i),o,r),t.reloadConfig(a);let s=Cy.preset.sessionKey;t.sessionState.get(i,s)===r&&t.sessionState.clear(i,s),t.dlog(`info`,`delete-preset: ${r} ← ${o} (session=${i})`)},QN=(e,t)=>{let[n=``,...r]=TN(()=>mT(e)),i=CN(n),a=DD(),o=r.length===0?[``]:r.filter(e=>!a.includes(e));if(o.length>0)throw new $(`reset-config: unknown config key "${o.join(`", "`)}" (have: ${a.join(`, `)})`);let s=VN(t,i),c=HN(s),l=r.map(KO),u=l.flatMap(e=>e.fileKeys),d=l.flatMap(e=>e.sessionKeys);LM(WN(t,i),c,u),t.reloadConfig(s);for(let e of d)t.sessionState.clear(i,e);t.dlog(`info`,`reset-config: ${[...u,...d.map(e=>`session:${e}`)].join(` `)} ← ${c} (session=${i})`)};function $N(e,t){let n=(e,t)=>[...os(kg(e,t).node)].filter(e=>e.kind===`segment`),r=new Set(Eg(t.presets).flatMap(e=>n(t,e).map(t=>`${e}\0${ns(t)}`)));return Eg(e.presets).flatMap(t=>n(e,t).flatMap(e=>r.has(`${t}\0${ns(e)}`)?[]:Object.values(e.drafts??{}).map(e=>e.key)))}const eP=(e,t)=>{let[n=``,r=``,i=``]=TN(()=>mT(e)),a=CN(n);if(!r)throw new $(`apply-layout-op: <key>/<op> is required (have: ${DD().join(`, `)})`);let o=OD(r,i);if(!o.ok)throw new $(`apply-layout-op: ${o.reason}`);let s=hD(o.value);if(s===null)throw new $(`apply-layout-op: "${o.value}" is not a layout op token`);let c=VN(t,a),l=HN(c),u=t.configFor(c),d=VM(WN(t,a),l,r,s);t.reloadConfig(c);let f=$N(u,t.configFor(c)).filter(e=>t.sessionState.get(a,e)!==null);for(let e of f)t.sessionState.clear(a,e);t.dlog(`info`,`apply-layout-op: ${r} ${o.value} → ${l} placed=${JSON.stringify(d)} released=${JSON.stringify(f)} (session=${a})`)},tP=(e,t)=>{let[n=``]=TN(()=>mT(e)),r=CN(n);t.journal.commit();let i=t.history.undo(r);t.dlog(`info`,`undo: restored ${$M(i)} (session=${r})`)},nP=(e,t)=>{let[n=``]=TN(()=>mT(e)),r=CN(n);t.journal.commit();let i=t.history.redo(r);t.dlog(`info`,`redo: re-applied ${$M(i)} (session=${r})`)},rP=(e,t)=>{CN(wN(e)),t.applyUpdate()},iP=`client-hints`;function aP(e,t){let n=e.sessionState.get(t,iP);if(n===null)throw new $(`session ${t} has not rendered yet — no client facts are recorded for it`);let r;try{r=JSON.parse(n)}catch{throw new $(`client hints record is not JSON: ${n}`)}if(typeof r!=`object`||!r)throw new $(`client hints record is not an object: ${n}`);return IC(r)}function oP(e,t,n){let r=Rb(n);e.sessionState.setBatch(t,Hb(r)),e.dlog(`info`,`doctor: ${r.map(e=>`${e.check.name}=${e.verdict.ok?`ok`:`failed`}`).join(` `)} (session=${t})`)}const sP=(e,t)=>{let n=CN(wN(e));oP(t,n,uN(t.doctor,aP(t,n)))},cP=(e,t)=>{let[n=``,r=``]=TN(()=>mT(e)),i=CN(n),a=zb(r);if(a===void 0)throw new $(`doctor-fix: unknown check "${r}"`);let o=uN(t.doctor,aP(t,i)),s=a.probe(o);if(s.ok||s.fix===void 0)throw new $(`doctor-fix: ${a.label} — ${s.ok?`nothing to fix`:s.reason}`);let c=dN(s.fix,o);t.dlog(`info`,`doctor-fix: ${a.name} → ${s.fix.kind} ${s.fix.name}=${s.fix.value} (session=${i})`),oP(t,i,c)},lP=(e,t)=>{let[n=``,...r]=TN(()=>mT(e)),i=CN(n),a=VN(t,i),o=Object.values(t.configFor(a).actions).filter(e=>`ceiling`in e).find(e=>{let t=sS(e);return t.length===r.length&&t.every((e,t)=>e===r[t])});if(o===void 0)throw new $(`ceiling: "${r.join(` `)}" is not a move this config declares`);let s=o.ceiling===`set`?{kind:`set`,to:o.to}:{kind:`clear`};t.memento.move({sessionId:i,projectDir:a.projectDir,cwd:a.cwd},s),t.dlog(`info`,`ceiling: ${r.join(` `)} (session=${i})`)},uP=(e,t)=>{let[n=``,r=``]=TN(()=>mT(e)),i=CN(n),a=Object.values(t.configFor(VN(t,i)).actions).filter(e=>`slash`in e),o=a.find(e=>e.slash===r);if(o===void 0)throw new $(`${JSON.stringify(r)} is not a command this config declares (it declares: ${[...new Set(a.map(e=>e.slash))].join(`, `)||`none`})`);let s=_N(t.claudeInput,aP(t,i).tmux,o.slash);if(s.kind===`refused`)throw t.dlog(`warn`,`slash: ${r} refused — ${s.reason} (session=${i})`),new $(`${r} was not typed: ${s.reason}`);t.dlog(`info`,`slash: typed ${r} into ${s.pane} (session=${i})`)},dP=`config-override`,fP=new Map([[Jw,DN],[`load-config`,(e,t)=>{let n=e.indexOf(`/`);if(n===-1)throw new $(`load-config: expected <sessionId>/<path> (missing separator)`);let r=CN(TN(()=>decodeURIComponent(e.slice(0,n)))),i=TN(()=>decodeURIComponent(e.slice(n+1))).trim();if(i!==``){if(!i.startsWith(`/`))throw new $(`load-config: path must be absolute, got "${i}"`);if(!/\.(json5?|json)$/.test(i))throw new $(`load-config: path must end with .json5 or .json, got "${i}"`)}i===``?(t.sessionState.clear(r,dP),t.dlog(`info`,`load-config: override cleared (session=${r})`)):(t.sessionState.set(r,dP,i),t.dlog(`info`,`load-config: ${i} (session=${r})`))}],[Yw,ON],[Kw,MN],[qw,FN],[$w,GN],[eT,KN],[iT,QN],[tT,qN],[nT,XN],[rT,ZN],[aT,eP],[oT,tP],[sT,nP],[Zw,kN],[Qw,AN],[Xw,jN],[cT,rP],[lT,sP],[uT,cP],[dT,lP],[fT,uP]]),pP=new Set([Kw,qw,$w,eT,iT,tT,nT,rT,aT,oT,sT,Xw,cT,lT,uT,dT,fT]),mP=(e,t)=>{let n=[],r=!1,i=null;for(let{verb:a,value:o}of vT(gT(e))){if(!i&&pP.has(a)){let e=mT(o);e.length>0&&e[0]&&(i=e[0])}let e=fP.get(a);if(!e){n.push(`unknown effect verb "${a}"`);continue}try{e(o,t)}catch(e){e instanceof $||(r=!0),n.push(`${a}: ${e instanceof Error?e.message:String(e)}`)}}if(n.length>0){i&&t.sessionState.set(i,`click.error`,n.join(`
|
|
188
|
-
`));let e=`dispatch: ${n.join(`; `)}`;throw r?Error(e):new $(e)}};function hP(e){return(t,n)=>{let r=n.history.begin(),i=[];try{e(t,{...n,sessionState:r.sessionState,journal:r})}catch(e){i.push(e)}try{r.commit()}catch(e){i.push(e)}if(i.length===1)throw i[0];if(i.length>1)throw Error(i.map(e=>String(e.message??e)).join(`; `))}}const gP=new Map([...fP,[Gw,mP]].map(([e,t])=>[e,hP(t)]));Object.freeze([...gP.keys()]);const _P=new Set([`hook_event_name`,`session_id`,`session_name`,`transcript_path`,`cwd`,`model`,`workspace`,`version`,`output_style`,`cost`,`context_window`,`exceeds_200k_tokens`,`effort`,`thinking`,`rate_limits`,`vim`,`agent`,`worktree`]),vP=[[`session_id`,`string`],[`transcript_path`,`string`],[`cwd`,`string`],[`model`,`object`],[`model.id`,`string`],[`model.display_name`,`string`],[`workspace`,`object`],[`workspace.current_dir`,`string`],[`workspace.project_dir`,`string`]];function yP(e){let t={missingRequired:[],typeMismatches:[],unknownTopLevelFields:[]},n=typeof e==`object`&&e&&!Array.isArray(e)?e:{};for(let[e,r]of vP){let i=xP(n,e);if(i==null)t.missingRequired.push(e);else{let n=bP(i);n!==r&&t.typeMismatches.push({path:e,expected:r,got:n})}}for(let e of Object.keys(n))_P.has(e)||t.unknownTopLevelFields.push(e);return{data:e,report:t}}function bP(e){return Array.isArray(e)?`array`:typeof e==`string`&&!e.isWellFormed()?`ill-formed string`:typeof e}function xP(e,t){let n=e;for(let e of t.split(`.`)){if(typeof n!=`object`||!n||Array.isArray(n))return;n=n[e]}return n}function SP(e,t){switch(e){case`vars`:return{what:e,vars:CP(t)};case`segments`:return{what:e,segments:OP(t)};case`config`:return{what:e,config:MP(t)}}}function CP(e){if(e===null)return[];let{store:t,registry:n,config:r}=e,i=EP(r),a=t.names().sort(),o=[];for(let e of a){let r=t.getNode(e),a=n.getLastError(e);o.push({name:e,source:i.get(e)??null,...wP(r),lastError:a===void 0?null:{timestampMs:a.timestamp,message:a.message},ageMs:TP(r.lastUpdatedMs())})}return o}function wP(e){if(e.kind!==`document`)try{return{type:e.type,value:e.read()}}catch(t){return{type:e.type,value:t instanceof Error?t.message:String(t)}}let t=e.read();switch(t.kind){case`ok`:return{type:`document`,value:JSON.stringify(t.value)};case`absent`:return{type:`document`,value:`(not yet scanned)`};case`failed`:return{type:`document`,value:t.reason}}}function TP(e){return e===null?null:Math.max(0,Date.now()-e)}function EP(e){let t=new Map;for(let[n,r]of Object.entries(e.variables))t.set(n,DP(r));for(let[n,r]of Object.entries(e.segments))if(r.vars)for(let[e,i]of Object.entries(r.vars))t.set(`${n}.${e}`,DP(i));return t}function DP(e){return e.kind}function OP(e){if(e===null)return[];let{store:t,config:n,lastRenderBySegment:r}=e,i=new Set(t.names()),a=AP(n),o=kP(n),s=[];for(let e of a){let t=n.segments[e];t&&s.push({name:e,description:t.description??null,template:t.template,referencedVars:jP(t.template,n.helpers,i),placements:(o.get(e)??[]).map(e=>({id:e,lastRender:r.get(e)??null}))})}return s}function kP(e){let t=new Map;for(let n of Eg(e.presets))for(let r of os(kg(e,n).node)){if(r.kind!==`segment`)continue;let e=t.get(r.name)??[],n=ns(r);e.includes(n)||t.set(r.name,[...e,n])}return t}function AP(e){let t=[],n=new Set;for(let r of os(ic(e.root)))r.kind===`segment`&&e.segments[r.name]&&!n.has(r.name)&&(t.push(r.name),n.add(r.name));for(let r of Object.keys(e.segments))n.has(r)||(t.push(r),n.add(r));return t}function jP(e,t,n){let r=new Set;for(let i of d_(e,t).keys()){if(n.has(i)){r.add(i);continue}let e=i.split(`.`);for(;e.length>1;){e.pop();let t=e.join(`.`);if(n.has(t)){r.add(t);break}}}return Array.from(r).sort()}function MP(e){return e===null?null:e.config}const NP=[`vars`,`segments`,`config`];function PP(e){return typeof e==`string`&&NP.includes(e)}function FP(e){return Math.max(1,e-2)}var IP=class{thresholds={LOW:50,MEDIUM:80};getContextUsageThresholds(){return this.thresholds}ratioPercentages(e,t){let n=Math.min(100,Math.max(0,Math.round(e/t*100)));return{percentage:n,contextLeftPercentage:Math.max(0,100-n)}}calculateContextFromHookData(e){let t=e.context_window;if(!t?.current_usage)return D(`No current_usage in hook data, falling back to transcript parsing`),null;let n=t.current_usage,r=t.context_window_size,i=(n.input_tokens||0)+(n.cache_creation_input_tokens||0)+(n.cache_read_input_tokens||0);D(`Native current_usage: input=${n.input_tokens}, cache_create=${n.cache_creation_input_tokens}, cache_read=${n.cache_read_input_tokens}, total=${i} (limit: ${r})`);let a=this.ratioPercentages(i,r);return{totalTokens:i,maxTokens:r,percentage:t.used_percentage==null?a.percentage:Math.round(t.used_percentage),contextLeftPercentage:t.remaining_percentage==null?a.contextLeftPercentage:Math.round(t.remaining_percentage)}}async calculateContextTokensFromTranscript(e,t){try{D(`Calculating context tokens from transcript: ${e}`);let n=await Lk(e);if(n.length===0)return D(`No entries in transcript`),Y;let r=null;for(let e=n.length-1;e>=0;e--){let t=n[e];if(t&&t.message?.usage?.input_tokens&&t.isSidechain!==!0){r=t,D(`Context segment: Found most recent entry at ${t.timestamp.toISOString()}, stopping search`);break}}if(r?.message?.usage){let e=r.message.usage,n=(e.input_tokens||0)+(e.cache_read_input_tokens||0)+(e.cache_creation_input_tokens||0);return D(`Most recent main chain context: ${n} tokens (limit: ${t})`),J({totalTokens:n,maxTokens:t,...this.ratioPercentages(n,t)})}return D(`No main chain entries with usage data found`),Y}catch(e){return X(`context transcript: ${e instanceof Error?e.message:String(e)}`)}}async getContextInfo(e){let t=this.calculateContextFromHookData(e);if(t)return J(t);let n=e.context_window?.context_window_size??2e5;return this.calculateContextTokensFromTranscript(e.transcript_path,n)}},LP=class{states=new Map;constructor(e,t,n=256){this.empty=e,this.step=t,this.maxSessions=n}async read(e,t){let n=this.states.get(e),r=YD(t);if(n&&r!==0&&n.cursor.mtimeMs===r)return this.touch(e,n),{kind:`ok`,value:n.value};let i=await Vk(t,n?.cursor);if(i.kind===`failed`)return i;if(i.kind===`absent`)return{kind:`ok`,value:n?.value??this.empty};let{entries:a,cursor:o,reset:s}=i.value,c=s||n===void 0?this.empty:n.value;for(let e of a)c=this.step(c,e);for(this.touch(e,{cursor:o,value:c});this.states.size>this.maxSessions;){let e=this.states.keys().next().value;if(e===void 0)break;this.states.delete(e)}return{kind:`ok`,value:c}}touch(e,t){this.states.delete(e),this.states.set(e,t)}};const RP={messageCount:0,recent:[]};function zP(e,t){if(t.isSidechain)return e;let n=[...e.recent,t];return{messageCount:e.messageCount+ +!!Fk(t),recent:n.length>20?n.slice(-20):n}}function BP(e){let t=null,n=null;for(let r of e){let e=r.type||r.message?.role||r.message?.type;if(Fk(r))t=r.timestamp;else if(e===`assistant`&&t){let e=(r.timestamp.getTime()-t.getTime())/1e3;e>.1&&e<300&&(n=e)}}return n}var VP=class{fold=new LP(RP,zP);async getMetricsInfo(e,t){if(D(`Getting metrics from hook data for session: ${e}`),!t.cost)return Y;let n=await this.fold.read(e,t.transcript_path);return n.kind===`failed`?X(`metrics (${e}): ${n.reason}`):J({responseTime:t.cost.total_api_duration_ms/1e3,lastResponseTime:BP(n.value.recent),sessionDuration:t.cost.total_duration_ms/1e3,messageCount:n.value.messageCount,linesAdded:t.cost.total_lines_added,linesRemoved:t.cost.total_lines_removed})}};const HP={command:null,todos:[],pending:[],done:[]};function UP(e,t){let n=e.findIndex(e=>e.name===t);return n<0?[...e,{name:t,count:1}]:e.map((e,t)=>t===n?{name:e.name,count:e.count+1}:e)}function WP(e,t){if(t.isSidechain)return e;let n=Fk(t)?{...e,command:t.activity?.command??null,pending:[],done:[]}:e,r=t.activity;if(r===void 0)return n;let i=n.pending,a=n.done;r.started!==void 0&&(i=[...i,...r.started]);for(let e of r.finished??[]){let t=i.findIndex(t=>t.id===e);t<0||(a=UP(a,i[t].name),i=[...i.slice(0,t),...i.slice(t+1)])}return{...n,pending:i,done:a,todos:r.todos??n.todos}}function GP(e){return{command:e.command,todos:e.todos,running:e.pending.reduce((e,t)=>UP(e,t.name),[]),done:e.done}}var KP=class{fold=new LP(HP,WP);async getActivityInfo(e,t){let n=await this.fold.read(e,t.transcript_path);return n.kind===`failed`?X(`activity (${e}): ${n.reason}`):J(GP(n.value))}};const qP=new Map;function JP(e){if(!e)return``;let t=e.indexOf(`,`);return t<0?e:e.slice(0,t)}var YP=class{async getSessionId(){if(!process.env.TMUX_PANE)return Y;let e=JP(process.env.TMUX),t=qP.get(e);if(t!==void 0)return t;D(`Getting tmux session ID, TMUX_PANE: ${process.env.TMUX_PANE}`);let n=await Te({bin:`tmux`,args:[`display-message`,`-p`,`#S`],timeoutMs:1e3,category:`tmux`}),r=n.ok?n.stdout.trim()?J(n.stdout.trim()):Y:X(`tmux display-message: ${n.reason}`);return qP.set(e,r),r}isInTmux(){return!!process.env.TMUX_PANE}};const XP=e=>`${e.sessionId}|${e.projectDir}|${e.cwd}`;var ZP=class{readings=new Map;inFlight=new Map;constructor(e,t=Date.now){this.edge=e,this.now=t}getCeiling(e){let t=XP(e),n=this.readings.get(t);if(n&&this.now()-n.at<1e4)return Promise.resolve(n.outcome);let r=this.inFlight.get(t)??this.fetch(t,e);return n?Promise.resolve(n.outcome):r}fetch(e,t){let n=this.edge.locate(t.projectDir),r=(n.kind===`ok`?this.edge.read(n.value,t):Promise.resolve(n)).then(t=>{if(this.inFlight.get(e)!==r)return t;for(this.readings.delete(e),this.readings.set(e,{outcome:t,at:this.now()});this.readings.size>64;)this.readings.delete(this.readings.keys().next().value);return t}).finally(()=>{this.inFlight.get(e)===r&&this.inFlight.delete(e)});return this.inFlight.set(e,r),r}move(e,t){let n=this.edge.locate(e.projectDir);if(n.kind!==`ok`)throw Error(n.kind===`failed`?n.reason:`memento is not installed or not enabled for this project`);let r=XP(e);try{this.edge.move(n.value,e,t)}finally{this.readings.delete(r),this.inFlight.delete(r),this.fetch(r,e)}}};const QP=c.join(`lib`,`ceiling_config.py`),$P=c.join(`skills`,`ceiling`,`bin`,`ceiling`);function eF(e,t){let n=typeof e==`object`&&e?e.plugins:void 0;if(typeof n!=`object`||!n)throw Error(`${t} has no "plugins" object`);return Object.entries(n).filter(([e])=>e.split(`@`)[0]===`memento`).flatMap(([e,n])=>{if(!Array.isArray(n))throw Error(`${t}: "${e}" is not a list of installs`);return n.map(n=>{let{scope:r,installPath:i,projectPath:a}=n??{};if(typeof r!=`string`||typeof i!=`string`)throw Error(`${t}: an install of "${e}" has no scope/path`);return typeof a==`string`?{key:e,scope:r,installPath:i,projectPath:a}:{key:e,scope:r,installPath:i}})})}function tF(e,t){let n=!0;for(let i of e){if(!r.existsSync(i))continue;let e;try{e=JSON.parse(r.readFileSync(i,`utf8`))?.enabledPlugins?.[t]}catch(e){return X(`memento lookup: ${i}: ${e.message}`)}typeof e==`boolean`&&(n=e)}return J(n)}function nF(e,t){if(!r.existsSync(e))return Y;let n;try{n=eF(JSON.parse(r.readFileSync(e,`utf8`)),e)}catch(e){return X(`memento lookup: ${e.message}`)}let i=n.find(e=>e.projectPath===t)??n.find(e=>e.scope===`user`);if(i===void 0)return Y;let a=tF([c.join(c.dirname(c.dirname(e)),`settings.json`),c.join(t,`.claude`,`settings.json`),c.join(t,`.claude`,`settings.local.json`)],i.key);if(a.kind!==`ok`)return a;if(!a.value)return Y;let o=[QP,$P].filter(e=>!r.existsSync(c.join(i.installPath,e)));return o.length===0?J(i.installPath):X(`memento at ${i.installPath} has no ${o.join(` or `)} — upgrade the plugin`)}function rF(e){let{CLAUDE_PROJECT_DIR:t,CLAUDE_CODE_SESSION_ID:n,...r}=process.env;return{...r,CLAUDE_CODE_SESSION_ID:e.sessionId,CLAUDE_PROJECT_DIR:e.projectDir||e.cwd}}function iF(e){return e.stderr.trim()||e.error||`${e.reason}${e.exitCode===null?``:` (exit ${e.exitCode})`}`}function aF(e){let t;try{t=JSON.parse(e)}catch{return X(`memento read: not JSON: ${e.trim()}`)}let{ceiling:n,session:r}=t??{},i=n===`off`||typeof n==`number`&&n>=0?n:void 0;return i!==void 0&&(r===null||typeof r==`string`)?J({ceiling:i,session:r}):X(`memento read: unexpected answer: ${e.trim()}`)}async function oF(e,t){let n=await Te({bin:`python3`,args:[`-c`,`
|
|
184
|
+
`);n.push(e[0]);for(let r=1;r<e.length;r++)t.push(n),n=[e[r]]}return t.push(n),t}const Fj=({text:e,trail:t})=>t===void 0?[e]:[e,t];function Ij(e,t){switch(e){case`vertical`:return Rj(t.flatMap(e=>e));case`horizontal`:{let e=t.find(e=>e[0]?.span===`row`);return e===void 0?t.reduce((e,t)=>Math.max(e,t.length),0)===0?[]:[{cells:t.flatMap(e=>e[0]?.cells??[]),band:`own`,span:`shared`},...t.flatMap(e=>e.slice(1))]:Rj(e)}}}function Lj(e,t){let n=(e,r)=>t(e)?e.kind===`segment`?[{cells:[{name:e.name,address:r,settings:e.settings}],band:`own`,span:`shared`}]:Ij(e.direction,e.children.map((t,i)=>n(t,[...r,zj(e,i)]))):[];return n(e,[]).map(e=>[...e.cells])}function Rj(e){return e.map(e=>e.span===`row`?{...e,span:`shared`}:e)}function zj(e,t){return{index:t,count:e.children.length,distribution:e.distribution,axis:is[e.direction]}}const Bj={compile(e,t){return{kind:`container`,direction:e.direction,when:t.when,distribution:Vi(e.distribution),children:e.children.map((e,n)=>t.compileChild(e,us(t.path,n)))}},render(e,t){return Ij(e.direction,e.children.map((n,r)=>t.renderChild(n,t.visible,zj(e,r))))}},Vj={compile(e,t){return{kind:`segment`,when:t.when,name:e.name,id:as(e),settings:t.placementSettings(e),...e.opens!==void 0&&{opens:{open:t.parse(Dc(e.opens.ref),`opens`),body:t.compileChild(e.opens.body,ds(t.path)),key:e.opens.ref.key,placement:e.opens.placement}},...e.trail!==void 0&&{trail:t.parse(e.trail,`trail`)}}},render(e,t){let n=t.lookupSegment(e.name);if(!n)throw Error(`Layout segment "${e.name}" has no matching segment`);let{seg:r,compiled:i}=n;if(!t.visible)return[];let a=Ev(t.scope,e.settings);try{if(!CA(i.when,a))return[];let n=Hy(e.settings.theme,t.palette),{styles:o,fragments:s,trail:c,drops:l}=t.evaluateSegment(e,a,n,t.region,{bg:i.bg,fg:i.fg,body:i.template,trail:e.trail}),u=e.opens!==void 0&&CA(e.opens.open,t.scope),d=l.length>0||u?o.trigger:o.closed,f={width:r.width??`auto`,justify:r.justify??`left`,truncate:r.truncate??`right`,baseStyle:d,padding:t.padding},p=e.opens===void 0?[]:t.renderBody(e.opens.body,u,o.disclosure),m=p.slice(0,+(e.opens?.placement===`inline`)),h=p.slice(m.length),g=e.opens!==void 0&&h.some(e=>e.band===`own`)?DA(jA([t.closeDisclosure(e.opens.key)],o.trigger),{...f,width:`auto`,baseStyle:o.trigger}):[],_=e=>e.band===`own`?g:[],v=h.map(e=>({cells:[..._(e),...e.cells],band:`deeper`,span:`shared`})),y=Pj(jA(s,d)).map((e,t)=>({cells:DA(e,{...f,trail:t===0?jA(c,d):[]}),band:`own`,span:`shared`})),b=l.map(e=>({cells:DA(jA([e],o.band),{...f,baseStyle:o.band}),band:`deeper`,span:`shared`})),x=[...y,...b];return t.perSegmentSink!==void 0&&t.perSegmentSink.set(e.id,[...x.flatMap(e=>e.cells),...h.flatMap(_)].flatMap(Fj)),[...x.map((e,t)=>t===0&&m.length>0?{cells:[...e.cells,...m.flatMap(e=>e.cells)],band:`own`,span:`row`}:e),...v]}catch(n){let r=n.message??String(n);t.onSegmentError?.(e.id,r);let i=r.replace(/\s*\n\s*/g,` `);return[{cells:DA([new li(`⚠ ${e.id}: ${i}`,{end:``})],{width:`auto`,justify:`left`,truncate:`right`,padding:0,trail:Hj(e,a,t)}),band:`own`,span:`shared`}]}}};function Hj(e,t,n){if(e.trail===void 0)return[];try{return n.evaluateSegment(e,t,n.palette,n.region,{bg:void 0,fg:void 0,body:e.trail,trail:void 0}).fragments}catch(t){return n.onSegmentError?.(e.id,t.message??String(t)),[]}}const Uj={container:Bj,segment:Vj};function Wj(e){return Uj[e]}function Gj(e){if(`ttl`in e)return{kind:`ttl`,durationMs:py(e.ttl)};if(`watch_file`in e)return{kind:`watch_file`,path:e.watch_file};if(`depends_on`in e)return{kind:`depends_on`,varNames:e.depends_on};if(`key`in e)return{kind:`key`,template:e.key};if(`never`in e)return{kind:`never`};throw Error(`Unknown CacheDecl discriminator — loader invariant violated: ${JSON.stringify(e)}`)}function Kj(e,t){switch(ms(e)){case`json`:return{kind:`json`,default:t};case`regex`:return{kind:`regex`,regex:new RegExp(e.regex),default:t};case`text`:return{kind:`text`,default:t}}}function qj(e,t,n,r){switch(n.kind){case`literal`:e.declareLiteral(t,n.value);break;case`input`:e.declareInput(t,n.path,n.type??`string`,n.default);break;case`env`:e.declareEnv(t,n.name,n.default);break;case`file`:e.declareFile(t,n.path,{readMode:n.readMode,cache:Gj(n.cache),parse:Kj(n.parse,n.default)});break;case`shell`:e.declareShell(t,n.command,{cwd:r,cache:Gj(n.cache),parse:Kj(n.parse,n.default)});break;case`template`:e.declareTemplate(t,n.template,{varDefault:n.default});break;case`time`:e.declareTime(t,{format:n.layout,ttlMs:n.cache?py(n.cache.ttl):void 0,varDefault:n.default});break;case`git`:e.declareGit(t,{field:n.field,cwd:r,varDefault:n.default});break;case`state`:e.declareState(t,{key:n.key,...n.default!==void 0&&{varDefault:n.default}});break}}function Jj(e,t){let n=fd.EMPTY;for(let[r,i]of Object.entries(t))try{n=e.parse(`{{ define "${r}" }}${i}{{ end }}`,n).defines()}catch(e){throw Error(`Template parse error in helpers.${r}: ${e.message}`,{cause:e})}return n}const Yj=e=>Qa(void 0,null,e.globals.progression);function Xj(e,t,n){let r=n.cwd,i=Yy(e.globals.palette),a={store:t.variableStore,compiled:new Map,chromeCols:lD({style:`powerline`,charset:Ha}),width:80,basePalette:i,palette:i,progression:H[Yj(e)],padding:1,seamCols:uD({style:`powerline`,charset:Ha}),layout:()=>[]},o=nj(t.drawnAt),s={action:a,activeSegment:o},c=Object.keys(e.looks),l=Fg(e.presets),u=new Map([...$y(e),...Tb(e)]),d=Cv({...XA(a),...pj(a,o),...gj(a,o),...bj(a,o),...Tj(a,o),...kj(s),...Mj(o),looks:{fn:()=>c,argTypes:[]},presets:{fn:()=>l,argTypes:[]}},n.clock,t.drawnAt),f=Jj(d,e.helpers),p=e=>d.parse(e,f),m=new Map,h=e=>{let t=m.get(e);if(t!==void 0)return t;let n=p(e);return m.set(e,n),n},g=new Map;for(let[t,n]of Fy)n in e.variables&&g.set(t,n);for(let[t,n]of Object.entries(e.variables))n.kind===`state`&&!g.has(n.key)&&g.set(n.key,t);for(let[t,n]of Object.entries(e.segments))if(n.vars)for(let[e,r]of Object.entries(n.vars))r.kind===`state`&&!g.has(r.key)&&g.set(r.key,`${t}.${e}`);a.compiled=zA(p,e.actions,g,u);let _=[];for(let[n,i]of Object.entries(e.variables))try{qj(t,n,i,r)}catch(e){_.push(`Variable "${n}": ${e.message??String(e)}`)}for(let[n,i]of Object.entries(e.segments))if(i.vars)for(let[e,a]of Object.entries(i.vars))try{qj(t,`${n}.${e}`,a,r)}catch(t){_.push(`Variable "${n}.${e}": ${t.message??String(t)}`)}let v=Object.create(null);for(let[t,n]of Object.entries(e.segments)){let e=(e,n,r=p)=>{try{return r(e)}catch(e){throw Error(`Template parse error in segments.${t}.${n}: ${e.message}`,{cause:e})}};v[t]={when:n.when===void 0?void 0:e(n.when,`when`,h),template:e(n.template,`template`),bg:n.bg===void 0?void 0:e(n.bg,`bg`),fg:n.fg===void 0?void 0:e(n.fg,`fg`)}}let y=(e,t,n)=>{try{return h(e)}catch(e){throw Error(`Template parse error in ${t}.${n}: ${e.message}`,{cause:e})}},b=t.variableStore,x=t=>{let n=bs(e.segments[t.name]),r=Object.create(null);for(let[e,i]of Object.entries(n)){let n=t.settings?.[e]??i.default,a=t.drafts?.[e];Object.defineProperty(r,e,{enumerable:!0,get:a===void 0?()=>n:()=>Ts(i,String(b.read(a.variable)))??n})}return Object.freeze(r)},S=(e,t)=>{let n={path:t,when:e.when===void 0?void 0:y(e.when,t,`when`),parse:(e,n)=>y(e,t,n),compileChild:S,placementSettings:x};return Wj(e.kind).compile(e,n)},C=new Map;for(let t of l){let{node:n,path:r}=Rg(e,t);C.set(t,S(n,r))}let ee=new Map;for(let t of Aa){let n=e.globals[t];ja(n)&&ee.set(t,Zj(p,t,n))}return{segments:v,roots:C,activeSegment:o,menuRuntime:s,globalExpressions:ee,loadWarnings:_}}function Zj(e,t,n){try{return e(n)}catch(e){throw Error(`globals.${t} is not a valid template: ${e instanceof Error?e.message:String(e)}`)}}function Qj(e,t,n){let r=e.globalExpressions.get(t);if(r===void 0)throw Error(`globals.${t} is an expression but no compiled template exists — registerDslConfig and the resolution disagree about isExpression`);return r.evaluate(n).map(e=>e.plain).join(``)}function $j(e,t){return e.kind===`decided`?e.name:t}function eM(e,t,n,r,i,a,o,s){let{perSegmentSink:c,onSegmentError:l,onRenderWarning:u}=o??{};r.drawAt(Ya(a.colorCompatibility));let{preset:d=Ng}=s??{},f=H[s?.progression??Yj(e)];t.menuRuntime.action.progression=f;let p=s?.look??Ia(`none`,e.looks),m=s?.theme??qy(void 0,null,e.globals.palette),h=(e,t)=>({...i,term:{cols:a.width},theme:{effective:e},look:{effective:t}});r.applyInput(h($j(m,Sa),$j(p,Pa))),t.menuRuntime.action.chromeCols=lD(a),t.menuRuntime.action.padding=a.padding,t.menuRuntime.action.width=a.width,t.menuRuntime.action.seamCols=uD(a);let g=wv(n),_=Na(m,()=>Qj(t,`palette`,g),e=>Ky(e,e=>u?.(e))),v=Na(p,()=>Qj(t,`look`,g),t=>Ia(t,e.looks));(_!==m||v!==p)&&r.applyInput(h(_.name,v.name));let y=_.value;t.menuRuntime.action.basePalette=y;let b=Wy(y,v.value);t.menuRuntime.action.palette=b,c?.clear();let x=n=>{let r=e.segments[n],i=t.segments[n];return r!==void 0&&i!==void 0?{seg:r,compiled:i}:void 0},S=(e,n,i,a,o)=>{try{let s=r.drawnAt(),{tint:c,disclosure:l}=ya(i,a,s),u=rj(t.activeSegment,e.name,e.id,i,l,c),d=IA(u,s,o.bg,o.fg,n),f=o.body.evaluate(n),p=o.trail?.evaluate(n)??[];return{styles:{closed:d,get trigger(){return QA(i,ca(i,l,s).state,s)},get band(){return QA(i,ca(i,l,s).plane,s)},disclosure:l},fragments:f,trail:p,drops:u.drops}}finally{t.activeSegment.current=null}},C=(e,t,r)=>{let i=t&&CA(e.when,g),o={scope:g,palette:b,visible:i,padding:a.padding,region:r,perSegmentSink:c,onSegmentError:l,evaluateSegment:S,lookupSegment:x,renderChild:(e,t,n)=>C(e,t,_a(r,n)),renderBody:(e,t,n)=>C(e,i&&t,va(n)),closeDisclosure:e=>ZA(n,e)};return Wj(e.kind).render(e,o)},ee=t.roots.get(d);if(ee===void 0)throw Error(`Preset "${d}" has no compiled layout — registerDslConfig compiles one per declared preset and effectivePresetName collapses unknown names to "${Ng}"; a miss here is merge/policy drift (have: ${[...t.roots.keys()].join(`, `)})`);let te=e=>{if(!CA(e.when,g))return!1;if(e.kind===`container`)return!0;if(Fb(e.name)===void 0)return!1;try{return CA(t.segments[e.name].when,Ev(g,e.settings))}catch{return!0}};return t.menuRuntime.action.layout=()=>Lj(ee,te).map(e=>e.flatMap(({name:e,address:t,settings:n})=>{let r=Fb(e);return r===void 0?[]:[{name:r,address:t,palette:Hy(n.theme,b)}]})),C(ee,!0,ga(f)).map(e=>dD(AA(e.cells,a),a)).join(`
|
|
185
|
+
`)}var tM=class{kind=`box`;cell;lastChangedAt;constructor(e,t,n){this.name=e,this.type=t,sM(e,t,n,`initial value`),this.cell=A_.observable.box(n,{deep:!1}),this.lastChangedAt=Date.now()}read(){return this.cell.get()}set(e){sM(this.name,this.type,e,`set value`),!Object.is(this.cell.get(),e)&&(this.cell.set(e),this.lastChangedAt=Date.now())}lastUpdatedMs(){return this.lastChangedAt}},nM=class{kind=`computed`;cell;constructor(e,t,n){this.name=e,this.type=t,this.cell=(0,A_.computed)(()=>{let e=n();return sM(this.name,this.type,e,`computed result`),e},{keepAlive:!0})}read(){return this.cell.get()}lastUpdatedMs(){return null}},rM=class{kind=`document`;cell;lastChangedAt;constructor(e,t){this.name=e,this.cell=A_.observable.box(oM(t),{deep:!1}),this.lastChangedAt=Date.now()}read(){return this.cell.get()}set(e){let t=oM(e);aM(this.cell.get(),t)||(this.cell.set(t),this.lastChangedAt=Date.now())}lastUpdatedMs(){return this.lastChangedAt}};function iM(e){return JSON.stringify(e)}function aM(e,t){return iM(e)===iM(t)}function oM(e){return e.kind===`ok`?{kind:`ok`,value:j_(e.value)}:e}function sM(e,t,n,r){let i=M_(n);if(i!==t)throw TypeError(`Variable "${e}": ${r} type ${i} does not match declared type ${t}`)}var cM=class{nodes=new Map;defineBox(e,t,n){this.assertNotDefined(e),this.nodes.set(e,new tM(e,t,n))}defineDocument(e,t){this.assertNotDefined(e),this.nodes.set(e,new rM(e,t))}defineComputed(e,t,n){this.assertNotDefined(e);let r=e=>this.read(e);this.nodes.set(e,new nM(e,t,()=>n(r)))}read(e){return this.requireVar(e).read()}readDocument(e){let t=this.requireNode(e);if(t.kind!==`document`)throw TypeError(`Variable "${e}" is a ${t.kind}, not a document`);return t.read()}setDocument(e,t){let n=this.requireNode(e);if(n.kind!==`document`)throw TypeError(`Variable "${e}" is a ${n.kind}, not a document (use defineDocument to create one)`);(0,A_.runInAction)(()=>n.set(t))}setBox(e,t){let n=this.requireNode(e);if(n.kind!==`box`)throw TypeError(`Variable "${e}" is a ${n.kind}, not a box (use defineBox to create a settable variable)`);(0,A_.runInAction)(()=>n.set(t))}runInAction(e){(0,A_.runInAction)(e)}has(e){return this.nodes.has(e)}getType(e){return this.requireVar(e).type}getKind(e){return this.requireNode(e).kind}changeKey(e){let t=this.requireNode(e);if(t.kind===`document`)return iM(t.read());try{return String(t.read())}catch(e){return`failed:${e instanceof Error?e.message:String(e)}`}}getNode(e){let t=this.requireNode(e);return t.kind===`document`?{name:t.name,kind:t.kind,read:()=>t.read(),lastUpdatedMs:()=>t.lastUpdatedMs()}:{name:t.name,type:t.type,kind:t.kind,read:()=>t.read(),lastUpdatedMs:()=>t.lastUpdatedMs()}}names(){return[...this.nodes.keys()]}requireNode(e){let t=this.nodes.get(e);if(!t)throw ReferenceError(`Unknown variable "${e}"`);return t}requireVar(e){let t=this.requireNode(e);if(t.kind===`document`)throw TypeError(`Variable "${e}" is a document; read its fields by path (.${e}.<field>)`);return t}assertNotDefined(e){if(this.nodes.has(e))throw Error(`Variable "${e}" is already declared`)}};function lM(e,t,n){return e+`\0`+t+`\0`+(n??``)}function uM(e,t){return new Set(Fg(e.presets).filter(n=>Rg(e,n).path===`root`?t.root!==void 0:t.presets?.[n]?.root!==void 0))}function dM(e){let t=c.basename(e),n=c.dirname(e);for(;!r.existsSync(n);)t=c.basename(n),n=c.dirname(n);return{dir:n,name:t}}function fM(e,t){let n=new Map;for(let t of RC(e.projectDir,e.cwd,e.configFile)){let{dir:e,name:r}=dM(t);n.has(e)||n.set(e,new Set),n.get(e).add(r)}return{files:t===null?[]:[t],dirs:[...n.entries()].sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>({path:e,filenames:[...t].sort()}))}}function pM(e){return e.filter(Boolean).join(`
|
|
186
|
+
`)||null}var mM=class{entries=new Map;deps;maxEntries;observers;constructor(e,t={}){this.deps=e,this.maxEntries=t.maxEntries??256,this.observers=t.observers??{}}getOrCreate(e,t,n){let r=lM(e,t,n),i=this.entries.get(r);if(i)return this.entries.delete(r),this.entries.set(r,i),i;let a=this.loadFromDisk(e,t,n),o={projectDir:e,cwd:t,configFile:n,configFilePath:null,lastError:a.error,lastWarning:a.warning,state:a.state??this.buildState(t,null,[]),watcher:null,watcherKey:null};if(this.entries.set(r,o),this.entries.size>this.maxEntries){let e=this.entries.entries().next().value;if(e!==void 0){let[t,n]=e;n.state.registry.dispose(),n.state.validatorDisposers.forEach(e=>e()),n.watcher?.release(),this.entries.delete(t)}}return this.refreshWatcher(o,a.resolvedPath),this.observers.onReload?.(o),o}reload(e,t,n){this.reloadInto(this.getOrCreate(e,t,n))}reloadInto(e){let t=this.loadFromDisk(e.projectDir,e.cwd,e.configFile);e.lastWarning=t.warning,e.lastError=t.error,t.state!==null&&(e.state.registry.dispose(),e.state.validatorDisposers.forEach(e=>e()),e.state=t.state),this.refreshWatcher(e,t.resolvedPath),this.observers.onReload?.(e)}loadFromDisk(e,t,n){let r=BC(e,t,n),i=r.kind===`file`?r.path:null,a=[WC(e,t),HC(r)],o;try{o=this.buildState(t,i,a)}catch(e){return e instanceof Qo&&a.push(...e.warnings),{resolvedPath:i,warning:pM(a),state:null,error:e instanceof Qo||e instanceof Error?e.message:String(e)}}return{resolvedPath:i,warning:pM(a),state:o,error:null}}buildState(e,t,n){let r=GC(t,mO),{config:i,raw:a}=r;n.push(...r.warnings);let o=JC(r,t??`<default>`),s=new cM,c=new Ay(s,o.globals.default_empty_value??``,this.deps.gitService,this.deps.sessionState),l,u=[];try{l=Xj(o,c,{cwd:e}),n.push(...l.loadWarnings);for(let{key:e,spec:t}of Mk(o))u.push(Tk(e,t));for(let{key:e,spec:t}of $D(o))u.push(eO(e,t))}catch(e){for(let e of u)e();throw c.dispose(),e}return{config:o,store:s,registry:c,compiled:l,neededInputPaths:UO(o),lastRenderCellsBySegment:new Map,validatorDisposers:u,authoredRoots:uM(i,a)}}refreshWatcher(e,t){e.configFilePath=t;let n=fM(e,t),r=`config:${e.projectDir}:${e.cwd}:${e.configFile??``}:${JSON.stringify(n)}`;e.watcher!==null&&e.watcherKey===r||(e.watcher?.release(),e.watcherKey=r,e.watcher=this.deps.watchers.acquire(r,n,()=>this.onConfigChanged(e)))}onConfigChanged(e){Q(`info`,`config change detected for entry projectDir=${e.projectDir} cwd=${e.cwd}`),this.reloadInto(e)}get size(){return this.entries.size}firstState(){return this.entries.values().next().value?.state??null}};const hM=16384;var gM=class{startedAt=new Date;requestsTotal=0;requestsErrored=0;requestsTimedOut=0;inFlight=0;watchersOpened=0;watchersClosed=0;watchersEvicted=0;subprocessTotal=0;subprocessInFlight=0;subprocessCount=new Map;subprocessHistogram=new Map;subprocessHistogramRotator=new Map;rollingTimestamps=[];rollingHead=0;launchStats={onStart:e=>{this.subprocessTotal++,this.subprocessInFlight++,this.subprocessCount.set(e,(this.subprocessCount.get(e)??0)+1),this.recordRollingNow()},onEnd:(e,t)=>{this.subprocessInFlight=Math.max(0,this.subprocessInFlight-1),this.recordDuration(e,t)}};recordRollingNow(){let e=Date.now();if(this.rollingTimestamps.length<hM){this.rollingTimestamps.push(e);return}this.rollingTimestamps[this.rollingHead]=e,this.rollingHead=(this.rollingHead+1)%hM}recordDuration(e,t){let n=this.subprocessHistogram.get(e);if(n||(n=[],this.subprocessHistogram.set(e,n)),n.length<16){n.push(t);return}let r=(this.subprocessHistogramRotator.get(e)??0)%16;n[r]=t,this.subprocessHistogramRotator.set(e,r+1)}snapshotSubprocesses(){let e=Date.now()-6e4,t=0;for(let n of this.rollingTimestamps)n>=e&&t++;let n={};for(let[e,t]of this.subprocessCount)t>0&&(n[e]=t);let r={},i={};for(let[e,t]of this.subprocessHistogram){if(t.length===0)continue;let n=[...t].sort((e,t)=>e-t),a=Math.floor(n.length*.5),o=Math.min(n.length-1,Math.floor(n.length*.99)),s=n[a],c=n[o];s!==void 0&&(r[e]=s),c!==void 0&&(i[e]=c)}return{total:this.subprocessTotal,inFlight:this.subprocessInFlight,lastMinute:t,byCategory:n,p50DurationMs:r,p99DurationMs:i}}snapshot(e){let t=process.memoryUsage();return{pid:process.pid,version:BT,protocolVersion:3,startedAt:this.startedAt.toISOString(),uptimeSec:Math.floor((Date.now()-this.startedAt.getTime())/1e3),rssBytes:t.rss,heapUsedBytes:t.heapUsed,heapTotalBytes:t.heapTotal,externalBytes:t.external,arrayBuffersBytes:t.arrayBuffers,requests:{total:this.requestsTotal,errored:this.requestsErrored,timedOut:this.requestsTimedOut,inFlight:this.inFlight},gitCache:e.gitCache,usageCache:e.usageCache,renderCache:{size:e.renderCacheSize},watchers:{active:e.watchersActive,opened:this.watchersOpened,closed:this.watchersClosed,evicted:this.watchersEvicted},subprocesses:this.snapshotSubprocesses(),nextRestartReason:e.nextRestartReason??null}}};const _M={load:()=>({}),save:()=>{},flush:()=>{}};function vM(e){let t=new Map;for(let[n,r]of Object.entries(e))t.set(n,new Map(Object.entries(r)));return t}var yM=class{sessions;storage;atom=(0,A_.createAtom)(`SessionState`);constructor(e=_M,t=256){this.maxSessions=t,this.storage=e,this.sessions=new Map,this.hydrateFromStorage()}useStorage(e){this.storage=e,this.hydrateFromStorage()}hydrateFromStorage(){this.sessions=vM(this.storage.load()),this.evictOldest(),this.persist()}get(e,t){this.atom.reportObserved();let n=this.sessions.get(e);return n?(this.touch(e,n),n.get(t)??null):null}set(e,t,n){this.setBatch(e,[{key:t,value:n}])}setBatch(e,t){t.length!==0&&(0,A_.runInAction)(()=>{let n=this.sessions.get(e)??new Map;for(let{key:e,value:r}of t)n.set(e,r);this.touch(e,n),this.evictOldest(),this.persist(),this.atom.reportChanged()})}clear(e,t){(0,A_.runInAction)(()=>{let n=this.sessions.get(e);n&&(n.delete(t),n.size===0?this.sessions.delete(e):this.touch(e,n)),this.persist(),this.atom.reportChanged()})}prune(e){(0,A_.runInAction)(()=>{for(let t of this.sessions.keys())e.has(t)||this.sessions.delete(t);this.persist(),this.atom.reportChanged()})}touch(e,t){this.sessions.delete(e),this.sessions.set(e,t)}evictOldest(){let e=this.sessions.size-this.maxSessions;if(!(e<=0)){for(let t of this.sessions.keys())if(this.sessions.delete(t),--e===0)break}}flush(){this.storage.flush()}persist(){this.storage.save(this.serialize())}serialize(){let e=Object.create(null);for(let[t,n]of this.sessions)e[t]=Object.fromEntries(n);return e}};const bM=(e,t)=>O(t);function xM(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;for(let t of Object.values(e)){if(typeof t!=`object`||!t||Array.isArray(t))return!1;for(let e of Object.values(t))if(typeof e!=`string`)return!1}return!0}var SM=class{timer=null;pending=null;constructor(e,t=500,n=bM){this.filePath=e,this.debounceMs=t,this.logger=n}load(){let e;try{e=r.readFileSync(this.filePath,`utf8`)}catch(e){let t=e.code;return t!==`ENOENT`&&this.logger(`warn`,`session-state read failed (${t}); starting empty`),{}}try{let t=JSON.parse(e);return xM(t)?t:(this.logger(`warn`,`session-state load: unexpected shape, starting empty`),{})}catch{return this.logger(`warn`,`session-state load: corrupt JSON, starting empty`),{}}}save(e){this.pending=e,!this.timer&&(this.timer=setTimeout(()=>this.flush(),this.debounceMs),this.timer.unref())}flush(){if(this.timer&&=(clearTimeout(this.timer),null),this.pending===null)return;let e=this.pending;try{r.mkdirSync(c.dirname(this.filePath),{recursive:!0});let t=`${this.filePath}.tmp`;r.writeFileSync(t,JSON.stringify(e),{mode:384}),r.chmodSync(t,384),r.renameSync(t,this.filePath),this.pending=null}catch(e){this.logger(`warn`,`session-state save failed: ${e.message}`)}}};const CM={default_empty_value:`string`,default_separator:`string`,palette:`string`,look:`string`,preset:`string`,style:`string`,progression:`string`,autoWrap:`boolean`,padding:`number`,charset:`string`,updateNotice:`boolean`,colorCompatibility:`string`,menuGlyph:`string`},wM=new Set([`1`,`true`]),TM=new Set([`0`,`false`,``]);function EM(e,t){let n=ZM(e),r=n.scope===`segment-palette`?`string`:CM[n.field];if(r===`string`)return JSON.stringify(t);if(r===`number`){let n=Number(t);if(!Number.isFinite(n))throw Error(`persistValueText: "${e}" expects a number, got "${t}"`);return String(n)}if(wM.has(t))return`true`;if(TM.has(t))return`false`;throw Error(`persistValueText: "${e}" expects boolean-ish (1, 0, true, false), got "${t}"`)}function DM(e){try{return r.readFileSync(e,`utf8`)}catch(e){if(e.code===`ENOENT`)return null;throw e}}function OM(e,t,n){try{if(t===null){r.rmSync(e,{force:!0});return}r.mkdirSync(c.dirname(e),{recursive:!0}),k(e,t)}catch(t){let r=`config write failed (${e}): ${t.message}`;throw n(`error`,r),Error(r)}}function kM(e){return/^\s*$/.test(e)?null:mo(e)}function AM(e,t){return e!==null&&go(e,t)!==void 0}function jM(e){if(e.kind===`segment`)return e.when===void 0?e.name:{seg:e.name,when:e.when};if(e.kind===`container`){let{kind:t,direction:n,children:r,...i}=e;return{[n===`horizontal`?`h`:`v`]:r.map(jM),...i}}return e}function MM(e){if(!lc(e))return jM(e);let{rows:t,...n}=e;return{rows:Object.fromEntries(Object.entries(t).map(([e,t])=>[e,jM(t)])),...n}}const NM=fO,PM=NM.segments,FM=NM.presets,IM=NM.root;function LM(e,t,n,r){if(!AM(e,t)&&n===void 0)throw new $(`cannot edit ${r}: neither the config file nor the bundled default declares ${t.join(`.`)}`)}function RM(e,t){let n=cb(t);return t.scope===`segment-palette`&&LM(e,[`segments`,t.segment],PM[t.segment],n.join(`.`)),n}function zM(e){return mo(wo(e))}function BM(){return Object.entries(IM.rows).map(([e,t])=>{let n=jM(t);return{path:[`root`],fragment:zM({rows:{[e]:n}}),unit:{path:[`root`,`rows`,e],value:n}}})}function VM(e,t){let n=e===null?void 0:go(e,t);return n===void 0?null:{path:t,fragment:n,unit:null}}function HM(e,t){if(t===void 0)return null;let n=MM(t);return{path:e,fragment:zM(n),unit:{path:e,value:n}}}function UM(e,t){let n=[`presets`,t],r=[...n,`root`],i=FM[t];LM(e,n,i,r.join(`.`));let a=VM(e,r)??HM(r,i?.root);return a!==null&&Go(a.fragment)?a:null}function WM(e,t){let n=Wo(t.fragment);return n===null?new Map([[`#`,{path:t.path,unit:t.unit,node:t.fragment}]]):new Map([...e,...n.map(e=>[e.key,{path:[...t.path,`rows`,e.key],unit:t.unit,node:e.value}])])}function GM(e,t){return[...BM(),VM(e,[`root`]),UM(e,t)].filter(e=>e!==null).reduce(WM,new Map)}function KM(e,t,n){for(let{node:r,...i}of GM(e,t).values())if(qo(r,n))return i;throw new $(`${qM(e,t).join(`.`)} holds no placement "${n}" — the bar you clicked is stale (it reloads on the next render), or the action names a placement the layout never held`)}function qM(e,t){return UM(e,t)?.path??[`root`]}function JM(e,t){return t.scope===`preset-root`?qM(e,t.preset):cb(t)}function YM(e,{unit:t}){return t===null?e:Ro(e,t.path,wo(t.value),So)}function XM(e){let t=sb(e);if(t===null)throw Error(`"${e}" is not a valid persist target`);return t}function ZM(e){let t=XM(e);if(t.scope===`preset-root`)throw Error(`"${e}" names a layout, not a value`);return t}function QM(e,t,n,r){$M(t,r),OM(t,r,e.logger),e.record(t,n,r)}function $M(e,t){try{return JC(KC(e,t,mO),e)}catch(e){throw e instanceof Qo?new $(`refused: the config file would not load after this click — ${e.message}`):e}}function eN(e,t){let n=ZM(t),r=kM(DM(e)??``),i=r===null?void 0:go(r,cb(n));return i!==void 0&&`value`in i?i.value:void 0}function tN(e,t,n){nN(e,t,n,[])}function nN(e,t,n,r){let i=DM(t);QM(e,t,i,rN(n.reduce((e,[t,n])=>Ro(e,RM(kM(e),ZM(t)),EM(t,n),So),i??``),t,r,e=>e))}function rN(e,t,n,r){return n.reduce((e,{preset:n,id:i,setting:a,value:o})=>{let s=r(e,n,i),c=KM(kM(s),n,i),l=Zo(YM(s,c),c.path,i,a,wo(o));if(l===null)throw new $(`${c.path.join(`.`)} in ${t} has no placement "${i}" — the bar you clicked is stale (it reloads on the next render)`);return l},e)}function iN(e,t,n){let r=kM(e),i=[`presets`,t,`root`];for(let[a,{path:o,unit:s,node:c}]of GM(r,t)){if(!qo(c,n))continue;if(i.every((e,t)=>o[t]===e))return e;let l=s===null?vo(e,c):wo(s.value);if(a!==`#`)return Ro(e,[...i,`rows`,a],l,So);if(UM(r,t)!==null)throw new $(`cannot give preset "${t}" its own copy of ${o.join(`.`)}: it already stages rows of its own over that tree`);return Ro(e,i,l,So)}return e}function aN(e,t){return Bo(e,t,t[0]===`presets`&&t.length>2&&!gO(t[1])?2:0)}function oN(e,t,n){let r=n.map(XM),i=DM(t);if(i===null)return;let a=r.reduce((e,t)=>aN(e,JM(kM(e),t)),i);a!==i&&QM(e,t,i,a)}function sN(e){let t=e===null?void 0:go(e,[`presets`]),n=new Set([...hO,...t?.kind===`object`?t.entries.map(e=>e.key):[]].map(Rl));return Array.from({length:n.size+1},(e,t)=>`custom-${t+1}`).find(e=>!n.has(Rl(e)))}function cN(e,t,n,r,i,a){let o=DM(t),s=kM(o??``),c=sN(s),l=[`presets`,c],u=UM(s,n),d=[...u===null?[]:[[[...l,`root`],u.unit===null?vo(o??``,u.fragment):wo(u.unit.value)]],...Object.keys(r).length===0?[]:[[[...l,`globals`],wo(r)]]],f=i.map(([e,t])=>{let n=ob(c,e);return[RM(s,ZM(n)),EM(n,t)]});return QM(e,t,o,rN([...d,...f].reduce((e,[t,n])=>Ro(e,t,n,So),Ro(o??``,l,`{}`,So)),t,a.map(e=>({...e,preset:c})),iN)),c}function lN(e,t,n){if(gO(n))throw new $(`cannot delete preset "${n}": it is bundled — reset its settings instead`);let r=[`presets`,n],i=DM(t),a=kM(i??``);if(i===null||a===null||go(a,r)===void 0)throw new $(`cannot delete preset "${n}": ${t} declares no ${r.join(`.`)} — the bar you clicked is stale; it reloads on the next render`);let o=go(a,[`globals`,`preset`]);QM(e,t,i,[r,...o?.kind===`string`&&o.value===n?[[`globals`,`preset`]]:[]].reduce((e,t)=>aN(e,t),i))}function uN(e,t,n,r){let i=XM(n);if(i.scope!==`preset-root`)throw Error(`"${n}" is not a "presets.<name>.root" target`);let a=DM(t),o=r.op===`remove`?r.target:r.anchor,s=KM(kM(a??``),i.preset,o),c=YM(a??``,s),{after:l,placed:u}=dN(c,s.path,r,()=>{let e=$M(t,c);return Fg(e.presets).map(t=>Rg(e,t).node)});if(l===null)throw new $(`${s.path.join(`.`)} in ${t} has no placement "${o}" — the bar you clicked is stale (it reloads on the next render), or the action names a placement the layout never held`);return QM(e,t,a,l),u}function dN(e,t,n,r){switch(n.op){case`remove`:return{after:Yo(e,t,n.target),placed:null};case`insert`:{let i=FD(n.segment,n.anchor,r());return{after:Xo(e,t,i,n.anchor,n.relation),placed:i}}}}const fN={load:()=>({}),save:()=>{}},pN=new Set(Ny.map(e=>e.sessionKey)),mN=e=>pN.has(e)||e.startsWith(n_),hN={past:[],future:[]},gN=e=>e.kind===`session`?`session:${e.key}`:`file:${e.file}`;var _N=class{state=new Map;constructor(e,t,n=fN){this.sessionState=e,this.logger=t,this.storage=n,this.state=new Map(Object.entries(n.load()))}useStorage(e){this.storage=e,this.state=new Map(Object.entries(e.load()))}depth(e){let{past:t,future:n}=this.state.get(e)??hN;return{undo:t.length,redo:n.length}}history(e){return this.state.get(e)??hN}begin(){let e=new Map,t=(t,n)=>{let r=e.get(t)??new Map,i=r.get(gN(n));r.set(gN(n),i===void 0?n:{...n,before:i.before}),e.set(t,r)},n=this.sessionState,r=(e,r,i)=>{let a=r.filter(mN).map(t=>({key:t,before:n.get(e,t)}));i();for(let{key:r,before:i}of a)t(e,{kind:`session`,key:r,before:i,after:n.get(e,r)})};return{sessionState:{get:(e,t)=>n.get(e,t),set:(e,t,i)=>r(e,[t],()=>n.set(e,t,i)),setBatch:(e,t)=>r(e,t.map(e=>e.key),()=>n.setBatch(e,t)),clear:(e,t)=>r(e,[t],()=>n.clear(e,t))},file:(e,n,r,i)=>t(e,{kind:`file`,file:n,before:r,after:i}),commit:()=>{let t=[...e];e.clear();for(let[e,n]of t){let t=[...n.values()].filter(e=>e.before!==e.after);t.length!==0&&this.put(e,{past:bN([...this.history(e).past,t]),future:[]})}}}}undo(e){let{past:t,future:n}=this.history(e),r=t.at(-1);if(r===void 0)throw new $(`undo: nothing to undo`);return this.apply(e,r,`before`,`undo`,{past:t.slice(0,-1),future:bN([...n,r])}),r}redo(e){let{past:t,future:n}=this.history(e),r=n.at(-1);if(r===void 0)throw new $(`redo: nothing to redo`);return this.apply(e,r,`after`,`redo`,{past:bN([...t,r]),future:n.slice(0,-1)}),r}apply(e,t,n,r,i){let a=n===`before`?`after`:`before`,o=t.filter(t=>this.read(e,t)!==t[a]);if(o.length>0){let t=new Set(o.map(gN));throw this.put(e,{past:xN(this.history(e).past,t),future:xN(this.history(e).future,t)}),new $(`${r}: ${o.map(CN).join(`, `)} changed since that edit — refusing to overwrite it; this session's undo history no longer steps it`)}let s=[];try{for(let r of t)this.write(e,r,r[n]),s.push(r);this.put(e,i)}catch(t){try{for(let t of s.reverse())this.write(e,t,t[a])}catch(e){throw Error(`${t.message}; and putting the step back failed, so it is half-applied: ${e.message}`)}throw t}}read(e,t){return t.kind===`session`?this.sessionState.get(e,t.key):DM(t.file)}write(e,t,n){t.kind===`file`?OM(t.file,n,this.logger):n===null?this.sessionState.clear(e,t.key):this.sessionState.set(e,t.key,n)}put(e,t){let n=new Map(this.state);for(n.delete(e),(t.past.length>0||t.future.length>0)&&n.set(e,t);n.size>32||vN(n)>8388608;){let[e,t]=n.entries().next().value;n.size>1?n.delete(e):n.set(e,yN(t))}this.storage.save(Object.fromEntries(n)),this.state=n}};function vN(e){let t=0;for(let{past:n,future:r}of e.values())for(let e of[...n,...r])for(let n of e)t+=(n.before?.length??0)+(n.after?.length??0);return t}function yN({past:e,future:t}){return e.length>0?{past:e.slice(1),future:t}:{past:e,future:t.slice(1)}}function bN(e){return e.slice(-50)}function xN(e,t){return e.map(e=>e.filter(e=>!t.has(gN(e)))).filter(e=>e.length>0)}function SN(e){return e.map(CN).join(`, `)}function CN(e){return e.kind===`session`?`session setting "${e.key}"`:e.file}function wN(e){if(typeof e!=`object`||!e)return!1;let t=e,n=e=>e===null||typeof e==`string`;return(t.kind===`session`&&typeof t.key==`string`||t.kind===`file`&&typeof t.file==`string`)&&n(t.before)&&n(t.after)}function TN(e){return Array.isArray(e)&&e.every(e=>Array.isArray(e)&&e.every(wN))}function EN(e){if(typeof e!=`object`||!e)return!1;let t=e;return TN(t.past)&&TN(t.future)}function DN(e,t){return{load:()=>{let n;try{n=r.readFileSync(e,`utf8`)}catch(e){let n=e.code;return n!==`ENOENT`&&t(`warn`,`settings-history read failed (${n}); starting empty`),{}}try{let e=JSON.parse(n);if(typeof e==`object`&&e&&!Array.isArray(e)&&Object.values(e).every(EN))return e}catch{}return t(`warn`,`settings-history load: unexpected shape, starting empty`),{}},save:n=>{try{r.mkdirSync(c.dirname(e),{recursive:!0}),k(e,JSON.stringify(n),384)}catch(e){let n=`settings-history write failed — the change landed but is not undoable: ${e.message}`;throw t(`error`,n),Error(n)}}}}function ON(e,t,n,r){let i=Oe({bin:`tmux`,args:[`-S`,e.socket,...n],timeoutMs:2e3,category:t,stdinInput:r});if(i.ok)return{kind:`ok`,stdout:i.stdout};if(i.reason===`rate-limited`)return{kind:`rate-limited`,reason:i.error??`rate-limited`};let a=i.error??[i.reason,i.stderr.trim()].filter(e=>e!==``).join(`: `);return{kind:`failed`,reason:`tmux ${n[0]} failed (${a})`}}function kN(e){let t=ON(e,`doctor.tmux`,[`display`,`-p`,`-t`,e.pane,`#{client_termfeatures}`]);return t.kind===`ok`?{kind:`ok`,value:t.stdout.trim().split(`,`).filter(e=>e!==``)}:{kind:`failed`,reason:t.reason}}function AN(){return{probeTmux:kN}}function jN(e){let t=KT(e).env;if(t===void 0)return{path:e,env:{}};if(typeof t!=`object`||!t||Array.isArray(t))throw Error(`cannot read ${e}: \`env\` is not an object`);return{path:e,env:t}}function MN(e,t){return t===void 0?{kind:`unreported`}:t===null?{kind:`outside`}:{kind:`inside`,hint:t,termfeatures:e.probeTmux(t)}}function NN(e,t){return{tmux:MN(e,t.tmux),claudeSettings:jN(UT(HT(t.claudeConfigDir)))}}function PN(e,t){let n=t.claudeSettings.path;switch(e.kind){case`claude-settings-env`:{let i=Ro(GT(n),[`env`,e.name],JSON.stringify(e.value),Co);return r.mkdirSync(c.dirname(n),{recursive:!0}),k(n,i),{...t,claudeSettings:jN(n)}}default:return e.kind}}const FN=/^─{20,}/,IN=/^❯(\s|$)/,LN=/›\s*stashed$/;function RN(e){if(e.inMode)return{kind:`in-mode`};let t=e.screen.map(e=>e.trimEnd()),n=t.flatMap((e,t)=>FN.test(e)?[t]:[]).at(-2);return n===void 0||!IN.test(t[n+1]??``)?{kind:`no-prompt`}:LN.test(t[n-1]??``)?{kind:`stashed`}:{kind:`ready`}}const zN={"in-mode":`the Claude Code pane is in tmux copy mode — leave it (q) and click again`,stashed:`Claude Code is holding a stashed prompt (ctrl+s) — restore or send it, then click again`,"no-prompt":`Claude Code is not at its prompt (a dialog or picker is open) — close it and click again`};function BN(e,t,n){if(t===void 0)return{kind:`refused`,reason:`this session's statusline client reports no tmux facts (it predates this daemon) — rebuild or reinstall cc-candybar`};if(t===null)return{kind:`refused`,reason:`this Claude Code is not running inside tmux — the bar can only type into a tmux pane`};let r=RN(e.read(t));if(r.kind!==`ready`)return{kind:`refused`,reason:zN[r.kind]};let i=e.type(t,n);return i.kind===`typed`?{kind:`typed`,pane:t.pane}:i}const VN=`cc-candybar-slash`;function HN(e,t,n,r){let i=ON(e,t,n,r);if(i.kind===`failed`)throw Error(i.reason);return i}function UN(e){let t=HN(e,`claude-input.read`,[`display`,`-p`,`-t`,e.pane,`#{pane_in_mode}`,`;`,`capture-pane`,`-p`,`-t`,e.pane]);if(t.kind===`rate-limited`)throw Error(t.reason);let[n=``,...r]=t.stdout.split(`
|
|
187
|
+
`);return{inMode:n!==`0`,screen:r}}function WN(e,t){let n=HN(e,`claude-input.type`,[`load-buffer`,`-b`,VN,`-`,`;`,`send-keys`,`-t`,e.pane,`C-s`,`;`,`paste-buffer`,`-p`,`-d`,`-b`,VN,`-t`,e.pane,`;`,`send-keys`,`-t`,e.pane,`Enter`],t);return n.kind===`ok`?{kind:`typed`}:{kind:`refused`,reason:`cc-candybar typed a command moments ago — click again in a second (${n.reason})`}}function GN(){return{read:UN,type:WN}}function KN(e){if(!e)throw new $(`session id is required`);if(e.includes(`/`)||e.includes(`..`))throw new $(`invalid session id "${e}"`);return e}function qN(e){return JN(()=>decodeURIComponent(e))}function JN(e){try{return e()}catch(e){throw e instanceof URIError?new $(`malformed wire encoding: ${e.message}`):e}}function YN(e,t){let n=Oe({bin:`/usr/bin/pbcopy`,stdinInput:e,category:`click.pbcopy`});if(!n.ok){if(n.reason===`rate-limited`){t.dlog(`warn`,`click.pbcopy rate-limited: ${n.error??``}`);return}throw Error(`pbcopy failed (${n.reason}, exit ${n.exitCode??`null`})`)}}const XN=(e,t)=>YN(qN(e),t),ZN=(e,t)=>{let n=Oe({bin:`/usr/bin/open`,args:[`-a`,`Visual Studio Code`,qN(e)],category:`click.open`});if(!n.ok){if(n.reason===`rate-limited`){t.dlog(`warn`,`click.open rate-limited: ${n.error??``}`);return}throw Error(`open -a "Visual Studio Code" failed (${n.reason}, exit ${n.exitCode??`null`})`)}},QN=(e,t)=>YN(qN(e),t),$N=(e,t)=>YN(qN(e),t),eP=(e,t)=>{let n=KN(qN(e));t.sessionState.get(n,`toolbar-expanded`)?t.sessionState.clear(n,`toolbar-expanded`):t.sessionState.set(n,`toolbar-expanded`,`1`)},tP=(e,t)=>{let[n=``,...r]=JN(()=>NT(e)),i=KN(n);if(r.length===0)throw new $(`set-state: <key>/<value> is required (have keys: ${wk().join(`, `)})`);if(r.length%2!=0)throw new $(`set-state: expected even-count <key>/<value> pairs, got ${r.length} segment(s) after session id (have keys: ${wk().join(`, `)})`);let a=[];for(let e=0;e<r.length;e+=2){let t=r[e],n=r[e+1];if(!t)throw new $(`set-state: empty key at pair ${e/2+1} (expected <sessionId>/<key>/<value>[/<key>/<value>...] segments)`);let i=Ek(t,n);if(!i.ok)throw new $(`set-state: pair ${e/2+1}: ${i.reason}`);a.push({key:t,value:i.value})}aP(t,i,`set-state`,a),t.sessionState.setBatch(i,a);let o=a.map(e=>`${e.key}=${e.value}`).join(` `);t.dlog(`info`,`set-state: ${o} (session=${i})`)},nP=/^-?\d+$/;function rP(e,t,n,r){let i=e+t;return i>r?e===r?n:r:i<n?e===n?r:n:i}const iP=(e,t)=>{let[n=``,r=``,i=``]=JN(()=>NT(e)),a=KN(n);if(!r)throw new $(`step-state: <key> is required (shape: <sessionId>/<key>/<by>)`);if(!nP.test(i))throw new $(`step-state: delta must be an integer, got "${i}"`);let o=parseInt(i,10),s=Dk(r);if(!s)throw new $(`step-state: key "${r}" is not a bounded (range) state key (have keys: ${wk().join(`, `)})`);let c=t.sessionState.get(a,r),l=c&&nP.test(c)?oP(s,parseInt(c,10)):sP(`step-state`,r,s,Ak(t.configFor(dP(t,a)),e=>t.sessionState.get(a,e),r)),u=rP(l,o,s.min,s.max),d=Ek(r,String(u));if(!d.ok)throw new $(`step-state: ${d.reason}`);aP(t,a,`step-state`,[{key:r,value:d.value}]),t.sessionState.set(a,r,d.value),t.dlog(`info`,`step-state: ${r} ${l}→${d.value} (by ${o}, session=${a})`)};function aP(e,t,n,r){let i=r.filter(e=>e.key.startsWith(n_));if(i.length===0)return;let a=dk(e.configFor(dP(e,t)),n=>e.sessionState.get(t,n),i);if(a.length>0)throw new $(`${n}: refused — ${a.join(`; `)}`)}function oP(e,t){return Math.max(e.min,Math.min(e.max,t))}function sP(e,t,n,r){if(r===null)return n.min;if(!nP.test(r))throw new $(`${e}: "${t}" shows ${JSON.stringify(r)} before any click, not an integer to step`);return oP(n,parseInt(r,10))}const cP=`render-origin`;function lP(e){return JSON.stringify(e)}function uP(e){let t;try{t=JSON.parse(e)}catch{throw new $(`render origin is not JSON: ${e}`)}if(typeof t!=`object`||!t)throw new $(`render origin is not an object: ${e}`);let{projectDir:n,cwd:r,configFile:i}=t;if(typeof n!=`string`||typeof r!=`string`||i!==null&&typeof i!=`string`)throw new $(`render origin has the wrong shape: ${e}`);return{projectDir:n,cwd:r,configFile:i}}function dP(e,t){let n=e.sessionState.get(t,cP);if(n===null)throw new $(`session ${t} has not rendered yet — no config to act on`);return uP(n)}function fP(e){return VC(e.projectDir,e.cwd,e.configFile??void 0)}function pP(e,t){return fP(dP(e,t))}function mP(e,t){return{record:(n,r,i)=>e.journal.file(t,n,r,i),logger:e.dlog}}const hP=(e,t)=>{let[n=``,r=``,i=``]=JN(()=>NT(e)),a=KN(n);if(!r)throw new $(`set-config: <key>/<value> is required (have keys: ${KD().join(`, `)})`);let o=qD(r,i);if(!o.ok)throw new $(`set-config: ${o.reason}`);let s=pP(t,a);tN(mP(t,a),s,[[r,o.value]]),t.dlog(`info`,`set-config: ${r}=${o.value} → ${s} (session=${a})`)},gP=(e,t)=>{let[n=``,r=``,i=``]=JN(()=>NT(e)),a=KN(n);if(!r)throw new $(`step-config: <key> is required (shape: <sessionId>/<key>/<by>)`);if(!nP.test(i))throw new $(`step-config: delta must be an integer, got "${i}"`);let o=parseInt(i,10),s=JD(r);if(!s)throw new $(`step-config: key "${r}" is not a bounded (range) config key (have keys: ${KD().join(`, `)})`);let c=dP(t,a),l=fP(c),u=eN(l,r),d=typeof u==`number`?oP(s,u):sP(`step-config`,r,s,XD(t.configFor(c),r)),f=rP(d,o,s.min,s.max),p=qD(r,String(f));if(!p.ok)throw new $(`step-config: ${p.reason}`);tN(mP(t,a),l,[[r,p.value]]),t.dlog(`info`,`step-config: ${r} ${d}→${p.value} (by ${o}) → ${l} (session=${a})`)},_P=(e,t)=>{let[n=``]=JN(()=>NT(e)),r=KN(n),i=dP(t,r),a=t.configFor(i),o=e=>t.sessionState.get(r,e),s=lk(a,o),c=uk(a,o);if(s.length+c.length===0){t.dlog(`info`,`save: nothing unsaved (session=${r})`);return}let l=s.map(e=>{let t=Ek(e.sessionKey,e.value);if(!t.ok)throw new $(`save: ${t.reason}`);return[e.target,t.value]});yP(`save`,c);let u=fP(i);nN(mP(t,r),u,l,c),t.reloadConfig(i);for(let e of[...s.map(e=>e.sessionKey),...c.map(e=>e.key)])t.sessionState.clear(r,e);t.dlog(`info`,`save: ${[...l.map(([e,t])=>`${e}=${t}`),...c.map(vP)].join(` `)} → ${u} (session=${r})`)},vP=e=>`${e.preset}/${e.id}.settings.${e.setting}=${ws(e.value)}`;function yP(e,t){for(let n of t){let t=Ek(n.key,ws(n.value));if(!t.ok)throw new $(`${e}: ${t.reason}`)}}const bP=(e,t)=>{let[n=``]=JN(()=>NT(e)),r=KN(n),i=dP(t,r),a=mk(t.configFor(i),e=>t.sessionState.get(r,e)),o=a.picks.map(e=>{let t=Ek(e.sessionKey,e.value);if(!t.ok)throw new $(`save-preset: ${t.reason}`);return[e.configKey,t.value]});yP(`save-preset`,a.placements);let s=fP(i),c=cN(mP(t,r),s,a.from,a.globals,o,a.placements);t.reloadConfig(i);for(let e of[...Ny.map(e=>e.sessionKey),...a.placements.map(e=>e.key)])t.sessionState.clear(r,e);t.sessionState.set(r,My.preset.sessionKey,c),t.dlog(`info`,`save-preset: ${[`${c} from=${a.from}`,...o.map(([e,t])=>`${e}=${t}`),...a.placements.map(vP)].join(` `)} → ${s} (session=${r})`)},xP=(e,t)=>{let[n=``,r=``]=JN(()=>NT(e)),i=KN(n);if(!r)throw new $(`delete-preset: <name> is required (shape: <sessionId>/<name>)`);let a=dP(t,i),o=fP(a);lN(mP(t,i),o,r),t.reloadConfig(a);let s=My.preset.sessionKey;t.sessionState.get(i,s)===r&&t.sessionState.clear(i,s),t.dlog(`info`,`delete-preset: ${r} ← ${o} (session=${i})`)},SP=(e,t)=>{let[n=``,...r]=JN(()=>NT(e)),i=KN(n),a=KD(),o=r.length===0?[``]:r.filter(e=>!a.includes(e));if(o.length>0)throw new $(`reset-config: unknown config key "${o.join(`", "`)}" (have: ${a.join(`, `)})`);let s=dP(t,i),c=fP(s),l=r.map(hk),u=l.flatMap(e=>e.fileKeys),d=l.flatMap(e=>e.sessionKeys);oN(mP(t,i),c,u),t.reloadConfig(s);for(let e of d)t.sessionState.clear(i,e);t.dlog(`info`,`reset-config: ${[...u,...d.map(e=>`session:${e}`)].join(` `)} ← ${c} (session=${i})`)};function CP(e,t){let n=(e,t)=>[...ls(Rg(e,t).node)].filter(e=>e.kind===`segment`),r=new Set(Fg(t.presets).flatMap(e=>n(t,e).map(t=>`${e}\0${as(t)}`)));return Fg(e.presets).flatMap(t=>n(e,t).flatMap(e=>r.has(`${t}\0${as(e)}`)?[]:Object.values(e.drafts??{}).map(e=>e.key)))}const wP=(e,t)=>{let[n=``,r=``,i=``]=JN(()=>NT(e)),a=KN(n);if(!r)throw new $(`apply-layout-op: <key>/<op> is required (have: ${KD().join(`, `)})`);let o=qD(r,i);if(!o.ok)throw new $(`apply-layout-op: ${o.reason}`);let s=PD(o.value);if(s===null)throw new $(`apply-layout-op: "${o.value}" is not a layout op token`);let c=dP(t,a),l=fP(c),u=t.configFor(c),d=uN(mP(t,a),l,r,s);t.reloadConfig(c);let f=CP(u,t.configFor(c)).filter(e=>t.sessionState.get(a,e)!==null);for(let e of f)t.sessionState.clear(a,e);t.dlog(`info`,`apply-layout-op: ${r} ${o.value} → ${l} placed=${JSON.stringify(d)} released=${JSON.stringify(f)} (session=${a})`)},TP=(e,t)=>{let[n=``]=JN(()=>NT(e)),r=KN(n);t.journal.commit();let i=t.history.undo(r);t.dlog(`info`,`undo: restored ${SN(i)} (session=${r})`)},EP=(e,t)=>{let[n=``]=JN(()=>NT(e)),r=KN(n);t.journal.commit();let i=t.history.redo(r);t.dlog(`info`,`redo: re-applied ${SN(i)} (session=${r})`)},DP=(e,t)=>{KN(qN(e)),t.applyUpdate()},OP=`client-hints`;function kP(e,t){let n=e.sessionState.get(t,OP);if(n===null)throw new $(`session ${t} has not rendered yet — no client facts are recorded for it`);let r;try{r=JSON.parse(n)}catch{throw new $(`client hints record is not JSON: ${n}`)}if(typeof r!=`object`||!r)throw new $(`client hints record is not an object: ${n}`);return tw(r)}function AP(e,t,n){let r=qb(n);e.sessionState.setBatch(t,Zb(r)),e.dlog(`info`,`doctor: ${r.map(e=>`${e.check.name}=${e.verdict.ok?`ok`:`failed`}`).join(` `)} (session=${t})`)}const jP=(e,t)=>{let n=KN(qN(e));AP(t,n,NN(t.doctor,kP(t,n)))},MP=(e,t)=>{let[n=``,r=``]=JN(()=>NT(e)),i=KN(n),a=Jb(r);if(a===void 0)throw new $(`doctor-fix: unknown check "${r}"`);let o=NN(t.doctor,kP(t,i)),s=a.probe(o);if(s.ok||s.fix===void 0)throw new $(`doctor-fix: ${a.label} — ${s.ok?`nothing to fix`:s.reason}`);let c=PN(s.fix,o);t.dlog(`info`,`doctor-fix: ${a.name} → ${s.fix.kind} ${s.fix.name}=${s.fix.value} (session=${i})`),AP(t,i,c)},NP=(e,t)=>{let[n=``,...r]=JN(()=>NT(e)),i=KN(n),a=dP(t,i),o=Object.values(t.configFor(a).actions).filter(e=>`ceiling`in e).find(e=>{let t=gS(e);return t.length===r.length&&t.every((e,t)=>e===r[t])});if(o===void 0)throw new $(`ceiling: "${r.join(` `)}" is not a move this config declares`);let s=o.ceiling===`set`?{kind:`set`,to:o.to}:{kind:`clear`};t.memento.move({sessionId:i,projectDir:a.projectDir,cwd:a.cwd},s),t.dlog(`info`,`ceiling: ${r.join(` `)} (session=${i})`)},PP=(e,t)=>{let[n=``,r=``]=JN(()=>NT(e)),i=KN(n),a=Object.values(t.configFor(dP(t,i)).actions).filter(e=>`slash`in e),o=a.find(e=>e.slash===r);if(o===void 0)throw new $(`${JSON.stringify(r)} is not a command this config declares (it declares: ${[...new Set(a.map(e=>e.slash))].join(`, `)||`none`})`);let s=BN(t.claudeInput,kP(t,i).tmux,o.slash);if(s.kind===`refused`)throw t.dlog(`warn`,`slash: ${r} refused — ${s.reason} (session=${i})`),new $(`${r} was not typed: ${s.reason}`);t.dlog(`info`,`slash: typed ${r} into ${s.pane} (session=${i})`)},FP=`config-override`,IP=new Map([[pT,XN],[`load-config`,(e,t)=>{let n=e.indexOf(`/`);if(n===-1)throw new $(`load-config: expected <sessionId>/<path> (missing separator)`);let r=KN(JN(()=>decodeURIComponent(e.slice(0,n)))),i=JN(()=>decodeURIComponent(e.slice(n+1))).trim();if(i!==``){if(!i.startsWith(`/`))throw new $(`load-config: path must be absolute, got "${i}"`);if(!/\.(json5?|json)$/.test(i))throw new $(`load-config: path must end with .json5 or .json, got "${i}"`)}i===``?(t.sessionState.clear(r,FP),t.dlog(`info`,`load-config: override cleared (session=${r})`)):(t.sessionState.set(r,FP,i),t.dlog(`info`,`load-config: ${i} (session=${r})`))}],[mT,ZN],[dT,tP],[fT,iP],[vT,hP],[yT,gP],[CT,SP],[bT,_P],[xT,bP],[ST,xP],[wT,wP],[TT,TP],[ET,EP],[gT,QN],[_T,$N],[hT,eP],[DT,DP],[OT,jP],[kT,MP],[AT,NP],[jT,PP]]),LP=new Set([dT,fT,vT,yT,CT,bT,xT,ST,wT,TT,ET,hT,DT,OT,kT,AT,jT]),RP=(e,t)=>{let n=[],r=!1,i=null;for(let{verb:a,value:o}of LT(FT(e))){if(!i&&LP.has(a)){let e=NT(o);e.length>0&&e[0]&&(i=e[0])}let e=IP.get(a);if(!e){n.push(`unknown effect verb "${a}"`);continue}try{e(o,t)}catch(e){e instanceof $||(r=!0),n.push(`${a}: ${e instanceof Error?e.message:String(e)}`)}}if(n.length>0){i&&t.sessionState.set(i,`click.error`,n.join(`
|
|
188
|
+
`));let e=`dispatch: ${n.join(`; `)}`;throw r?Error(e):new $(e)}};function zP(e){return(t,n)=>{let r=n.history.begin(),i=[];try{e(t,{...n,sessionState:r.sessionState,journal:r})}catch(e){i.push(e)}try{r.commit()}catch(e){i.push(e)}if(i.length===1)throw i[0];if(i.length>1)throw Error(i.map(e=>String(e.message??e)).join(`; `))}}const BP=new Map([...IP,[uT,RP]].map(([e,t])=>[e,zP(t)]));Object.freeze([...BP.keys()]);const VP=new Set([`hook_event_name`,`session_id`,`session_name`,`transcript_path`,`cwd`,`model`,`workspace`,`version`,`output_style`,`cost`,`context_window`,`exceeds_200k_tokens`,`effort`,`thinking`,`rate_limits`,`vim`,`agent`,`worktree`]),HP=[[`session_id`,`string`],[`transcript_path`,`string`],[`cwd`,`string`],[`model`,`object`],[`model.id`,`string`],[`model.display_name`,`string`],[`workspace`,`object`],[`workspace.current_dir`,`string`],[`workspace.project_dir`,`string`]];function UP(e){let t={missingRequired:[],typeMismatches:[],unknownTopLevelFields:[]},n=typeof e==`object`&&e&&!Array.isArray(e)?e:{};for(let[e,r]of HP){let i=GP(n,e);if(i==null)t.missingRequired.push(e);else{let n=WP(i);n!==r&&t.typeMismatches.push({path:e,expected:r,got:n})}}for(let e of Object.keys(n))VP.has(e)||t.unknownTopLevelFields.push(e);return{data:e,report:t}}function WP(e){return Array.isArray(e)?`array`:typeof e==`string`&&!e.isWellFormed()?`ill-formed string`:typeof e}function GP(e,t){let n=e;for(let e of t.split(`.`)){if(typeof n!=`object`||!n||Array.isArray(n))return;n=n[e]}return n}function KP(e,t){switch(e){case`vars`:return{what:e,vars:qP(t)};case`segments`:return{what:e,segments:QP(t)};case`config`:return{what:e,config:nF(t)}}}function qP(e){if(e===null)return[];let{store:t,registry:n,config:r}=e,i=XP(r),a=t.names().sort(),o=[];for(let e of a){let r=t.getNode(e),a=n.getLastError(e);o.push({name:e,source:i.get(e)??null,...JP(r),lastError:a===void 0?null:{timestampMs:a.timestamp,message:a.message},ageMs:YP(r.lastUpdatedMs())})}return o}function JP(e){if(e.kind!==`document`)try{return{type:e.type,value:e.read()}}catch(t){return{type:e.type,value:t instanceof Error?t.message:String(t)}}let t=e.read();switch(t.kind){case`ok`:return{type:`document`,value:JSON.stringify(t.value)};case`absent`:return{type:`document`,value:`(not yet scanned)`};case`failed`:return{type:`document`,value:t.reason}}}function YP(e){return e===null?null:Math.max(0,Date.now()-e)}function XP(e){let t=new Map;for(let[n,r]of Object.entries(e.variables))t.set(n,ZP(r));for(let[n,r]of Object.entries(e.segments))if(r.vars)for(let[e,i]of Object.entries(r.vars))t.set(`${n}.${e}`,ZP(i));return t}function ZP(e){return e.kind}function QP(e){if(e===null)return[];let{store:t,config:n,lastRenderBySegment:r}=e,i=new Set(t.names()),a=eF(n),o=$P(n),s=[];for(let e of a){let t=n.segments[e];t&&s.push({name:e,description:t.description??null,template:t.template,referencedVars:tF(t.template,n.helpers,i),placements:(o.get(e)??[]).map(e=>({id:e,lastRender:r.get(e)??null}))})}return s}function $P(e){let t=new Map;for(let n of Fg(e.presets))for(let r of ls(Rg(e,n).node)){if(r.kind!==`segment`)continue;let e=t.get(r.name)??[],n=as(r);e.includes(n)||t.set(r.name,[...e,n])}return t}function eF(e){let t=[],n=new Set;for(let r of ls(fc(e.root)))r.kind===`segment`&&e.segments[r.name]&&!n.has(r.name)&&(t.push(r.name),n.add(r.name));for(let r of Object.keys(e.segments))n.has(r)||(t.push(r),n.add(r));return t}function tF(e,t,n){let r=new Set;for(let i of b_(e,t).keys()){if(n.has(i)){r.add(i);continue}let e=i.split(`.`);for(;e.length>1;){e.pop();let t=e.join(`.`);if(n.has(t)){r.add(t);break}}}return Array.from(r).sort()}function nF(e){return e===null?null:e.config}const rF=[`vars`,`segments`,`config`];function iF(e){return typeof e==`string`&&rF.includes(e)}function aF(e){return Math.max(1,e-2)}var oF=class{thresholds={LOW:50,MEDIUM:80};getContextUsageThresholds(){return this.thresholds}ratioPercentages(e,t){let n=Math.min(100,Math.max(0,Math.round(e/t*100)));return{percentage:n,contextLeftPercentage:Math.max(0,100-n)}}calculateContextFromHookData(e){let t=e.context_window;if(!t?.current_usage)return O(`No current_usage in hook data, falling back to transcript parsing`),null;let n=t.current_usage,r=t.context_window_size,i=(n.input_tokens||0)+(n.cache_creation_input_tokens||0)+(n.cache_read_input_tokens||0);O(`Native current_usage: input=${n.input_tokens}, cache_create=${n.cache_creation_input_tokens}, cache_read=${n.cache_read_input_tokens}, total=${i} (limit: ${r})`);let a=this.ratioPercentages(i,r);return{totalTokens:i,maxTokens:r,percentage:t.used_percentage==null?a.percentage:Math.round(t.used_percentage),contextLeftPercentage:t.remaining_percentage==null?a.contextLeftPercentage:Math.round(t.remaining_percentage)}}async calculateContextTokensFromTranscript(e,t){try{O(`Calculating context tokens from transcript: ${e}`);let n=await oA(e);if(n.length===0)return O(`No entries in transcript`),Y;let r=null;for(let e=n.length-1;e>=0;e--){let t=n[e];if(t&&t.message?.usage?.input_tokens&&t.isSidechain!==!0){r=t,O(`Context segment: Found most recent entry at ${t.timestamp.toISOString()}, stopping search`);break}}if(r?.message?.usage){let e=r.message.usage,n=(e.input_tokens||0)+(e.cache_read_input_tokens||0)+(e.cache_creation_input_tokens||0);return O(`Most recent main chain context: ${n} tokens (limit: ${t})`),J({totalTokens:n,maxTokens:t,...this.ratioPercentages(n,t)})}return O(`No main chain entries with usage data found`),Y}catch(e){return X(`context transcript: ${e instanceof Error?e.message:String(e)}`)}}async getContextInfo(e){let t=this.calculateContextFromHookData(e);if(t)return J(t);let n=e.context_window?.context_window_size??2e5;return this.calculateContextTokensFromTranscript(e.transcript_path,n)}},sF=class{states=new Map;constructor(e,t,n=256){this.empty=e,this.step=t,this.maxSessions=n}async read(e,t){let n=this.states.get(e),r=_O(t);if(n&&r!==0&&n.cursor.mtimeMs===r)return this.touch(e,n),{kind:`ok`,value:n.value};let i=await uA(t,n?.cursor);if(i.kind===`failed`)return i;if(i.kind===`absent`)return{kind:`ok`,value:n?.value??this.empty};let{entries:a,cursor:o,reset:s}=i.value,c=s||n===void 0?this.empty:n.value;for(let e of a)c=this.step(c,e);for(this.touch(e,{cursor:o,value:c});this.states.size>this.maxSessions;){let e=this.states.keys().next().value;if(e===void 0)break;this.states.delete(e)}return{kind:`ok`,value:c}}touch(e,t){this.states.delete(e),this.states.set(e,t)}};const cF={messageCount:0,recent:[]};function lF(e,t){if(t.isSidechain)return e;let n=[...e.recent,t];return{messageCount:e.messageCount+ +!!iA(t),recent:n.length>20?n.slice(-20):n}}function uF(e){let t=null,n=null;for(let r of e){let e=r.type||r.message?.role||r.message?.type;if(iA(r))t=r.timestamp;else if(e===`assistant`&&t){let e=(r.timestamp.getTime()-t.getTime())/1e3;e>.1&&e<300&&(n=e)}}return n}var dF=class{fold=new sF(cF,lF);async getMetricsInfo(e,t){if(O(`Getting metrics from hook data for session: ${e}`),!t.cost)return Y;let n=await this.fold.read(e,t.transcript_path);return n.kind===`failed`?X(`metrics (${e}): ${n.reason}`):J({responseTime:t.cost.total_api_duration_ms/1e3,lastResponseTime:uF(n.value.recent),sessionDuration:t.cost.total_duration_ms/1e3,messageCount:n.value.messageCount,linesAdded:t.cost.total_lines_added,linesRemoved:t.cost.total_lines_removed})}};const fF={command:null,todos:[],pending:[],done:[]};function pF(e,t){let n=e.findIndex(e=>e.name===t);return n<0?[...e,{name:t,count:1}]:e.map((e,t)=>t===n?{name:e.name,count:e.count+1}:e)}function mF(e,t){if(t.isSidechain)return e;let n=iA(t)?{...e,command:t.activity?.command??null,pending:[],done:[]}:e,r=t.activity;if(r===void 0)return n;let i=n.pending,a=n.done;r.started!==void 0&&(i=[...i,...r.started]);for(let e of r.finished??[]){let t=i.findIndex(t=>t.id===e);t<0||(a=pF(a,i[t].name),i=[...i.slice(0,t),...i.slice(t+1)])}return{...n,pending:i,done:a,todos:r.todos??n.todos}}function hF(e){return{command:e.command,todos:e.todos,running:e.pending.reduce((e,t)=>pF(e,t.name),[]),done:e.done}}var gF=class{fold=new sF(fF,mF);async getActivityInfo(e,t){let n=await this.fold.read(e,t.transcript_path);return n.kind===`failed`?X(`activity (${e}): ${n.reason}`):J(hF(n.value))}};const _F=new Map;function vF(e){if(!e)return``;let t=e.indexOf(`,`);return t<0?e:e.slice(0,t)}var yF=class{async getSessionId(){if(!process.env.TMUX_PANE)return Y;let e=vF(process.env.TMUX),t=_F.get(e);if(t!==void 0)return t;O(`Getting tmux session ID, TMUX_PANE: ${process.env.TMUX_PANE}`);let n=await De({bin:`tmux`,args:[`display-message`,`-p`,`#S`],timeoutMs:1e3,category:`tmux`}),r=n.ok?n.stdout.trim()?J(n.stdout.trim()):Y:X(`tmux display-message: ${n.reason}`);return _F.set(e,r),r}isInTmux(){return!!process.env.TMUX_PANE}};const bF=e=>`${e.sessionId}|${e.projectDir}|${e.cwd}`;var xF=class{readings=new Map;inFlight=new Map;constructor(e,t=Date.now){this.edge=e,this.now=t}getCeiling(e){let t=bF(e),n=this.readings.get(t);if(n&&this.now()-n.at<1e4)return Promise.resolve(n.outcome);let r=this.inFlight.get(t)??this.fetch(t,e);return n?Promise.resolve(n.outcome):r}fetch(e,t){let n=this.edge.locate(t.projectDir),r=(n.kind===`ok`?this.edge.read(n.value,t):Promise.resolve(n)).then(t=>{if(this.inFlight.get(e)!==r)return t;for(this.readings.delete(e),this.readings.set(e,{outcome:t,at:this.now()});this.readings.size>64;)this.readings.delete(this.readings.keys().next().value);return t}).finally(()=>{this.inFlight.get(e)===r&&this.inFlight.delete(e)});return this.inFlight.set(e,r),r}move(e,t){let n=this.edge.locate(e.projectDir);if(n.kind!==`ok`)throw Error(n.kind===`failed`?n.reason:`memento is not installed or not enabled for this project`);let r=bF(e);try{this.edge.move(n.value,e,t)}finally{this.readings.delete(r),this.inFlight.delete(r),this.fetch(r,e)}}};const SF=c.join(`lib`,`ceiling_config.py`),CF=c.join(`skills`,`ceiling`,`bin`,`ceiling`);function wF(e,t){let n=typeof e==`object`&&e?e.plugins:void 0;if(typeof n!=`object`||!n)throw Error(`${t} has no "plugins" object`);return Object.entries(n).filter(([e])=>e.split(`@`)[0]===`memento`).flatMap(([e,n])=>{if(!Array.isArray(n))throw Error(`${t}: "${e}" is not a list of installs`);return n.map(n=>{let{scope:r,installPath:i,projectPath:a}=n??{};if(typeof r!=`string`||typeof i!=`string`)throw Error(`${t}: an install of "${e}" has no scope/path`);return typeof a==`string`?{key:e,scope:r,installPath:i,projectPath:a}:{key:e,scope:r,installPath:i}})})}function TF(e,t){let n=!0;for(let i of e){if(!r.existsSync(i))continue;let e;try{e=JSON.parse(r.readFileSync(i,`utf8`))?.enabledPlugins?.[t]}catch(e){return X(`memento lookup: ${i}: ${e.message}`)}typeof e==`boolean`&&(n=e)}return J(n)}function EF(e,t){if(!r.existsSync(e))return Y;let n;try{n=wF(JSON.parse(r.readFileSync(e,`utf8`)),e)}catch(e){return X(`memento lookup: ${e.message}`)}let i=n.find(e=>e.projectPath===t)??n.find(e=>e.scope===`user`);if(i===void 0)return Y;let a=TF([c.join(c.dirname(c.dirname(e)),`settings.json`),c.join(t,`.claude`,`settings.json`),c.join(t,`.claude`,`settings.local.json`)],i.key);if(a.kind!==`ok`)return a;if(!a.value)return Y;let o=[SF,CF].filter(e=>!r.existsSync(c.join(i.installPath,e)));return o.length===0?J(i.installPath):X(`memento at ${i.installPath} has no ${o.join(` or `)} — upgrade the plugin`)}function DF(e){let{CLAUDE_PROJECT_DIR:t,CLAUDE_CODE_SESSION_ID:n,...r}=process.env;return{...r,CLAUDE_CODE_SESSION_ID:e.sessionId,CLAUDE_PROJECT_DIR:e.projectDir||e.cwd}}function OF(e){return e.stderr.trim()||e.error||`${e.reason}${e.exitCode===null?``:` (exit ${e.exitCode})`}`}function kF(e){let t;try{t=JSON.parse(e)}catch{return X(`memento read: not JSON: ${e.trim()}`)}let{ceiling:n,session:r}=t??{},i=n===`off`||typeof n==`number`&&n>=0?n:void 0;return i!==void 0&&(r===null||typeof r==`string`)?J({ceiling:i,session:r}):X(`memento read: unexpected answer: ${e.trim()}`)}async function AF(e,t){let n=await De({bin:`python3`,args:[`-c`,`
|
|
189
189
|
import json, math, sys
|
|
190
190
|
sys.path.insert(0, sys.argv[1])
|
|
191
191
|
from ceiling_config import CONFIG_NAME, anchored, ceiling_in, in_force, session_directory
|
|
@@ -194,26 +194,26 @@ ceiling = in_force(directory, anchored(sys.argv[3]))
|
|
|
194
194
|
layer = ceiling_in(directory / CONFIG_NAME)
|
|
195
195
|
print(json.dumps({"ceiling": "off" if ceiling == math.inf else ceiling,
|
|
196
196
|
"session": layer.text if layer else None}))
|
|
197
|
-
`,c.join(e,`lib`),t.sessionId,t.cwd],env:
|
|
198
|
-
`),te=
|
|
199
|
-
`)),w=
|
|
200
|
-
`})}catch(e){throw
|
|
201
|
-
`);return}t.stdout.write(
|
|
197
|
+
`,c.join(e,`lib`),t.sessionId,t.cwd],env:DF(t),timeoutMs:3e3,category:`memento.read`});return n.ok?kF(n.stdout):X(OF(n))}function jF(e,t,n){let r=Oe({bin:c.join(e,CF),args:n.kind===`set`?[`set`,`session`,n.to]:[`clear`,`session`],env:DF(t),timeoutMs:5e3,category:`memento.move`});if(!r.ok)throw Error(OF(r))}function MF(){let e=WT(HT(VT(process.env,process.cwd())));return{locate:t=>EF(e,t),read:AF,move:jF}}var NF=class{written=new Map;constructor(e){this.dir=e}pathFor(e){return c.join(this.dir,`${encodeURIComponent(e)}.txt`)}sync(e,t){let n=this.pathFor(e);if(t===(this.written.get(e)??null))return null;try{return t===null?(r.rmSync(n,{force:!0}),this.written.delete(e)):(r.mkdirSync(this.dir,{recursive:!0,mode:448}),r.writeFileSync(n,t,{mode:384}),this.written.set(e,t)),null}catch(e){return`${n}: ${e.message}`}}reset(){this.written.clear();try{return r.rmSync(this.dir,{recursive:!0,force:!0}),null}catch(e){return`${this.dir}: ${e.message}`}}};const PF=new gM;Te(PF.launchStats);const FF=new $v({counters:PF,logger:Q}),IF=new sy({watchers:FF,logger:Q}),LF=new SA,RF=new yM,zF=new _N(RF,Q),BF=new NF(Ke()),VF=new oF,HF=new dF,UF=new gF,WF=new yF,GF=new xF(MF()),KF=new mM({gitService:IF,sessionState:RF,watchers:FF},{observers:{onReload:e=>Q(`info`,`config loaded projectDir=${e.projectDir} cwd=${e.cwd} file=${e.configFilePath??`<bundled default>`} error=${e.lastError===null?`none`:JSON.stringify(e.lastError)} warning=${e.lastWarning===null?`none`:JSON.stringify(e.lastWarning)}`)}}),qF=60*1e3;function JF(){let e=import.meta.url,n=[];e.startsWith(`file://`)&&n.push(ie(e)),t.argv[1]&&n.push(t.argv[1]);let i=new Map;for(let e of n)try{i.set(e,r.statSync(e).mtimeMs)}catch{}let a=null,o=()=>{for(let[e,t]of i)try{if(r.statSync(e).mtimeMs!==t){Q(`info`,`binary mtime changed (${e}); shutting down`),a&&clearInterval(a),uI(0);return}}catch(e){Q(`warn`,`bin stat failed: ${e.message}`)}};return{arm(){i.size!==0&&(a=setInterval(o,qF),a.unref())},checkNow:o}}const YF=JF(),XF=qk({entryUrl:import.meta.url,intervalMs:qF,releaseIntervalMs:216e5,registryUrl:t.env.CC_CANDYBAR_REGISTRY_URL??`https://registry.npmjs.org`,fetchImpl:fetch,onApplied:()=>YF.checkNow(),log:Q});let ZF=null,QF=null,$F=0;function eI(){t.on(`uncaughtException`,e=>{Q(`error`,`uncaughtException: ${e.stack||e.message}`),uI(1)}),t.on(`unhandledRejection`,e=>{Q(`error`,`unhandledRejection: ${String(e)}`),uI(1)});for(let e of[`SIGINT`,`SIGTERM`,`SIGHUP`])t.on(e,()=>{Q(`info`,`received ${e}, shutting down`),uI(0)});try{$F=Iw(t.env)}catch(e){Q(`error`,`refusing to boot: ${e.message}`),uI(1);return}ZF=LE(t.pid);let e=qE(YE(ZF));if(!e.decision.allow){Q(`warn`,`fork-bomb breaker: ${e.decision.reason}; refusing to boot`),uI(1);return}QF=e.registryPath,r.mkdirSync(Pe(),{recursive:!0}),Le(Fe()),RF.useStorage(new SM(Be(),500,Q)),zF.useStorage(DN(Ve(),Q)),BE({anchor:zE(t.env),isAlive:VE,onOrphaned:e=>{Q(`info`,`parent watchdog: ${e}; shutting down`),uI(0)}}),tI(y.createServer({allowHalfOpen:!1},e=>{dI(e)}),Fe(),!1)}function tI(e,n,r){e.removeAllListeners(`error`),e.removeAllListeners(`listening`),e.once(`error`,i=>{if(i.code!==`EADDRINUSE`){Q(`error`,`server error: ${i.message}`),uI(1);return}if(r){Q(`info`,`lost rebind race; another daemon is alive — exiting`),t.exit(0);return}nI(e,n)}),e.listen(n,()=>rI(n))}function nI(e,n){let i=DE(OE(Re(n)),(e,t)=>IE(e,t,{readStartTime:FE,pidAlive:VE}));if(i.kind===`attach-and-exit`){Q(`info`,`EADDRINUSE: ${i.reason} — exiting`),t.exit(0);return}Q(`warn`,`EADDRINUSE: ${i.reason} — unlinking stale socket and rebinding`);try{r.unlinkSync(n)}catch(e){if(e.code!==`ENOENT`){Q(`error`,`cannot unlink stale socket ${n}: ${e.message}`),uI(1);return}}tI(e,n,!0)}function rI(e){let n=jE(e);if(n.kind!==`present`){Q(`warn`,`no ownable socket at bind callback (${n.kind}); exiting`),uI(0);return}sI(e);try{r.chmodSync(e,384)}catch(e){Q(`warn`,`chmod socket failed: ${e.message}`)}Q(`info`,`daemon up: pid=${t.pid} v=3 sock=${e} heapCap=${Math.round(ne.getHeapStatistics().heap_size_limit/1048576)}MB rssLimit=${Math.round($F/1048576)}MB`),$w();let i=BF.reset();i!==null&&Q(`warn`,`diagnostic dump wipe failed: ${i}`),YF.arm(),XF.arm(),oI(),iI(e,n.identity)}function iI(e,n){PE({bound:n,myPid:t.pid,readIdentity:()=>jE(e),readLease:()=>OE(Re(e)),shutdown:e=>uI(e),log:Q}).arm()}let aI=null;function oI(){aI=Bw(Ww(PF.startedAt.getTime(),e=>uI(e),{rssLimitBytes:$F})),aI.arm()}function sI(e){let n=kE(Re(e),{pid:t.pid,version:3,binPath:t.argv[1],startTime:ZF});n!==null&&Q(`warn`,`lease write failed: ${n}`)}let cI=0,lI=!1;function uI(e){if(!lI){lI=!0,setTimeout(()=>t.kill(t.pid,`SIGKILL`),500);try{IF.close()}catch(e){Q(`warn`,`gitService close failed: ${e.message}`)}try{LF.close()}catch(e){Q(`warn`,`usageStore close failed: ${e.message}`)}try{FF.closeAll()}catch(e){Q(`warn`,`watcherRegistry close failed: ${e.message}`)}try{RF.flush()}catch(e){Q(`warn`,`sessionState flush failed: ${e.message}`)}AE(ze(),t.pid),QF!==null&&JE(QF,t.pid,GE,e=>r.unlinkSync(e)),t.exit(e)}}function dI(e){cI++,PF.inFlight=cI;let t=!1,n=(n,r)=>{if(t){r!==null&&Q(`warn`,`exit-after-flush dropped: an earlier responder settled this socket`);return}t=!0;let i=r===null?void 0:()=>uI(r);try{e.end(lw(n),i)}catch(e){Q(`warn`,`response write failed: ${e.message}`),i?.()}},r=setTimeout(()=>{PF.requestsTimedOut++,n({ok:!1,error:`request exceeded 200ms`,code:`TIMEOUT`,daemonV:3},null)},200),i=uw(e=>{pI(e).then(e=>n(e.resp,e.exitAfterFlush)).catch(e=>{Q(`error`,`handler threw: ${e?.stack||e}`),n({ok:!1,error:String(e?.message||e),code:`RENDER_FAILED`,daemonV:3},null)})},e=>{Q(`warn`,`frame parse failed: ${e.message}`),n({ok:!1,error:e.message,code:`BAD_REQUEST`,daemonV:3},null)});e.on(`data`,i),e.on(`error`,e=>{Q(`warn`,`socket error: ${e.message}`)}),e.on(`close`,()=>{clearTimeout(r),cI=Math.max(0,cI-1),PF.inFlight=cI})}const fI=e=>({resp:e,exitAfterFlush:null});async function pI(e){if(!e||typeof e!=`object`||typeof e.v!=`number`)return fI({ok:!1,error:`malformed request`,code:`BAD_REQUEST`,daemonV:3});if(e.v!==3)return e.v>3?Q(`info`,`version mismatch: client=${e.v} > daemon=3; binary likely upgraded — exiting after the response flushes`):Q(`info`,`version mismatch: client=${e.v} < daemon=3; client is stale — staying up`),{resp:{ok:!1,error:`protocol v${e.v} not supported (daemon at v3)`,code:`VERSION_MISMATCH`,daemonV:3},exitAfterFlush:e.v>3?0:null};if(e.kind===`shutdown`)return{resp:{ok:!0,output:``},exitAfterFlush:0};if(e.kind===`stats`)return fI({ok:!0,stats:PF.snapshot({gitCache:IF.getStats(),usageCache:LF.getStats(),renderCacheSize:KF.size,watchersActive:FF.size(),nextRestartReason:aI?.describeNextRestart()??null})});if(e.kind===`render`){PF.requestsTotal++;let t=Date.now();try{let{report:n}=UP(e.hookData);for(let e of n.unknownTopLevelFields)Q(`info`,`schema: unknown field '${e}' — Anthropic may have added it`);let r=[];for(let e of n.missingRequired)r.push(`missing required field '${e}'`);for(let{path:e,expected:t,got:i}of n.typeMismatches)r.push(`field '${e}' expected ${t}, got ${i}`);if(e.cwd===``&&r.push(`request 'cwd' is empty`),r.length>0)return PF.requestsErrored++,Q(`warn`,`BAD_REQUEST: ${r.join(`; `)}`),fI({ok:!1,error:`malformed hookData: ${r.join(`; `)}`,code:`BAD_REQUEST`,daemonV:3});let i=e.hookData.workspace.project_dir,{configFile:a,unknownFlagsError:o}=mI(e.args),s=e.hookData.session_id,c=tw(e),l=JSON.stringify(c);RF.get(s,`client-hints`)!==l&&RF.set(s,OP,l);let u=RF.get(s,`config-override`)??a??c.configEnv,d=KF.getOrCreate(i,e.cwd,u),f=lP({projectDir:i,cwd:e.cwd,configFile:u??null});RF.get(s,`render-origin`)!==f&&RF.set(s,cP,f);let p=c.termCols,m=aF(p??120),h=fD(c.termRows),{authoredRoots:g}=d.state,_=t=>RF.get(e.hookData.session_id,t),v=AO(d.state.config,_,e=>g.has(e)),y=await qO(e.hookData,yI,e.cwd,d.state.neededInputPaths(v.preset),v,c,lk(d.state.config,_).length+uk(d.state.config,_).length),b=[],x=jO(v,m),S=eM(d.state.config,d.state.compiled,d.state.store,d.state.registry,y,x,{perSegmentSink:d.state.lastRenderCellsBySegment,onRenderWarning:e=>b.push(e)},MO(v)),C=RF.get(e.hookData.session_id,`click.error`);C&&RF.clear(e.hookData.session_id,`click.error`);let ee=[o,d.lastError,C].filter(Boolean).join(`
|
|
198
|
+
`),te=XF.notice({sessionId:s,dismissed:RF.get(s,Nk),enabled:v.updateNotice}),ne=d.lastError===null?null:d.configFilePath,re=_D(ee,te,[d.lastWarning??``,...b].filter(Boolean).join(`
|
|
199
|
+
`)),w=BF.sync(s,re===null?null:yD(re));w!==null&&Q(`warn`,`diagnostic dump failed: ${w}`);let ie=bD(S,re,{fullText:w===null?{kind:`file`,path:BF.pathFor(s)}:{kind:`unavailable`,reason:w},failedConfigFile:ne},{width:m,rowCap:h,colorCompatibility:v.colorCompatibility}),T=Date.now()-t,E=IF.getStats(),ae=LF.getStats();return Q(`info`,`render sid=${e.hookData.session_id??`?`} took=${T}ms termCols=${p??`?`} termRows=${c.termRows??`?`} width=${m} git=${E.size}/${E.hits}h/${E.misses}m usage=${ae.size}/${ae.hits}h/${ae.misses}m err=${ee?`Y`:`N`} upd=${te.length} warn=${d.lastWarning?`Y`:`N`}`),fI({ok:!0,output:ie+`
|
|
200
|
+
`})}catch(e){throw PF.requestsErrored++,e}}if(e.kind===`click`)return fI(await bI(e.verb,e.value));if(e.kind===`debug`){if(!iF(e.what))return fI({ok:!1,error:`unknown debug 'what': ${String(e.what)} (have: ${rF.join(`, `)})`,code:`BAD_REQUEST`,daemonV:3});let t=KF.firstState(),n=t===null?null:{store:t.store,registry:t.registry,config:t.config,compiled:t.compiled,lastRenderBySegment:e.what===`segments`?vI(t.lastRenderCellsBySegment,t.config.globals.charset??`unicode`,t.config.globals.colorCompatibility??`truecolor`):_I};return fI({ok:!0,debug:KP(e.what,n)})}return fI({ok:!1,error:`unknown kind`,code:`BAD_REQUEST`,daemonV:3})}function mI(e){let{values:t,tokens:n}=_({args:e.slice(1),options:{config:{type:`string`}},strict:!1,tokens:!0,allowPositionals:!0}),r=[...new Set((n??[]).filter(e=>e.kind===`option`&&e.name!==`config`).map(e=>`--${e.name}`))];return{configFile:rw(t.config),unknownFlagsError:r.length>0?`Unknown flags: ${r.join(`, `)}`:null}}const hI={sessionState:RF,dlog:Q,applyUpdate:()=>XF.act(),doctor:AN(),memento:GF,claudeInput:GN(),history:zF,configFor:e=>KF.getOrCreate(e.projectDir,e.cwd,e.configFile??void 0).state.config,reloadConfig:e=>KF.reload(e.projectDir,e.cwd,e.configFile??void 0)},gI={style:`powerline`,colorCompatibility:Ka,wrap:!0,padding:1,charset:Ha,width:1/0},_I=new Map;function vI(e,t,n){let r=new Map;for(let[i,a]of e)r.set(i,dD(a,{...gI,charset:t,colorCompatibility:n}));return r}const yI={gitProvider:IF,usageStore:LF,contextProvider:VF,metricsProvider:HF,activityProvider:UF,tmuxService:WF,mementoProvider:GF,autoCompact:iO,log:Q,clock:()=>new Date,history:e=>zF.depth(e)};function bI(e,t){let n=BP.get(e);if(!n)return{ok:!1,error:`unknown click verb: ${e}`,code:`BAD_REQUEST`,daemonV:3};try{return n(t,hI),{ok:!0,output:``}}catch(e){let t=e instanceof $?`BAD_REQUEST`:`RENDER_FAILED`;return{ok:!1,error:String(e instanceof Error?e.message:e),code:t,daemonV:3}}}const xI={connectMs:200,budgetMs:500};async function SI(e){let n=e.includes(`--json`),r=await CI();if(r.kind!==`ok`&&(t.stderr.write(`daemon-stats: ${vw(r)}\n`),t.exit(1)),n){t.stdout.write(JSON.stringify(r.value,null,2)+`
|
|
201
|
+
`);return}t.stdout.write(DI(r.value))}function CI(){return fw({kind:`stats`},xI,e=>`stats`in e?e.stats:void 0)}function wI(e){return e<1024?`${e}B`:e<1024*1024?`${(e/1024).toFixed(1)}KB`:`${(e/1024/1024).toFixed(1)}MB`}function TI(e,t){let n=e+t;return n===0?`n/a`:`${(e/n*100).toFixed(1)}%`}function EI(e){return e<60?`${e}s`:e<3600?`${Math.floor(e/60)}m${e%60}s`:`${Math.floor(e/3600)}h${Math.floor(e%3600/60)}m`}function DI(e){let t=[];t.push(`cc-candybar daemon stats`),t.push(``),t.push(`process`),t.push(` pid ${e.pid}`),t.push(` version ${e.version}`),t.push(` protocol ${e.protocolVersion}`),t.push(` startedAt ${e.startedAt}`),t.push(` uptime ${EI(e.uptimeSec)}`),t.push(` rss ${wI(e.rssBytes)}`),t.push(` heapUsed ${wI(e.heapUsedBytes)}`),t.push(` heapTotal ${wI(e.heapTotalBytes)}`),t.push(` external ${wI(e.externalBytes)}`),t.push(` arrayBuffers ${wI(e.arrayBuffersBytes)}`),t.push(``),t.push(`requests`),t.push(` total ${e.requests.total}`),t.push(` errored ${e.requests.errored}`),t.push(` timedOut ${e.requests.timedOut}`),t.push(` inFlight ${e.requests.inFlight}`),t.push(``),t.push(`gitCache`),t.push(` size ${e.gitCache.size}`),t.push(` hit rate ${TI(e.gitCache.hits,e.gitCache.misses)} (${e.gitCache.hits} / ${e.gitCache.hits+e.gitCache.misses})`),t.push(` invalidations ${e.gitCache.invalidations}`),t.push(``),t.push(`usageCache`),t.push(` size ${e.usageCache.size}`),t.push(` hit rate ${TI(e.usageCache.hits,e.usageCache.misses)} (${e.usageCache.hits} / ${e.usageCache.hits+e.usageCache.misses})`),t.push(` sweeps ${e.usageCache.sweeps}`),t.push(``),t.push(`renderCache`),t.push(` size ${e.renderCache.size}`),t.push(`watchers`),t.push(` active ${e.watchers.active}`),t.push(` opened ${e.watchers.opened}`),t.push(` closed ${e.watchers.closed}`),t.push(` evicted ${e.watchers.evicted}`),t.push(``),t.push(`subprocesses`),t.push(` total ${e.subprocesses.total}`),t.push(` inFlight ${e.subprocesses.inFlight}`),t.push(` lastMinute ${e.subprocesses.lastMinute}`);let n=Object.entries(e.subprocesses.byCategory),r=n.reduce((e,[t])=>Math.max(e,t.length),13);for(let[i,a]of n){let n=e.subprocesses.p50DurationMs[i],o=e.subprocesses.p99DurationMs[i],s=n!==void 0&&o!==void 0?` (p50 ${n}ms · p99 ${o}ms)`:``;t.push(` ${i.padEnd(r)} ${a}${s}`)}return e.nextRestartReason&&(t.push(``),t.push(`nextRestart ${e.nextRestartReason}`)),t.join(`
|
|
202
202
|
`)+`
|
|
203
|
-
`}const
|
|
204
|
-
`);return}t.stdout.write(
|
|
205
|
-
`;let t=[`variables (${e.length})`,``],n=e.reduce((e,t)=>Math.max(e,t.name.length),4),r=e.reduce((e,t)=>Math.max(e,(t.source??`—`).length),6),i=e.reduce((e,t)=>Math.max(e,t.type.length),4);for(let a of e){let e=a.ageMs===null?``:` ${
|
|
203
|
+
`}const OI={connectMs:200,budgetMs:500};async function kI(e,n){let r=n.includes(`--json`),i=await AI(e);if(i.kind!==`ok`&&(t.stderr.write(`${e}: ${vw(i)}\n`),t.exit(1)),r){t.stdout.write(JSON.stringify(i.value,null,2)+`
|
|
204
|
+
`);return}t.stdout.write(jI(i.value))}function AI(e){return fw({kind:`debug`,what:e},OI,e=>`debug`in e?e.debug:void 0)}function jI(e){switch(e.what){case`vars`:return MI(e.vars);case`segments`:return NI(e.segments);case`config`:return PI(e.config);default:return e}}function MI(e){if(e.length===0)return`no variables (DSL not active)
|
|
205
|
+
`;let t=[`variables (${e.length})`,``],n=e.reduce((e,t)=>Math.max(e,t.name.length),4),r=e.reduce((e,t)=>Math.max(e,(t.source??`—`).length),6),i=e.reduce((e,t)=>Math.max(e,t.type.length),4);for(let a of e){let e=a.ageMs===null?``:` ${II(a.ageMs)}`,o=a.lastError?` ✗ ${a.lastError.message}`:``;t.push(` ${a.name.padEnd(n)} ${(a.source??`—`).padEnd(r)} ${a.type.padEnd(i)} ${FI(a.value)}${e}${o}`)}return t.join(`
|
|
206
206
|
`)+`
|
|
207
|
-
`}function
|
|
207
|
+
`}function NI(e){if(e.length===0)return`no segments (DSL not active)
|
|
208
208
|
`;let t=[`segments (${e.length})`,``];for(let n of e){t.push(` ${n.name}`),n.description!==null&&t.push(` shows ${n.description}`),t.push(` template ${n.template}`),n.referencedVars.length>0&&t.push(` vars ${n.referencedVars.join(`, `)}`);for(let{id:e,lastRender:r}of n.placements)r!==null&&t.push(` last ${e}: ${r}`)}return t.join(`
|
|
209
209
|
`)+`
|
|
210
|
-
`}function
|
|
210
|
+
`}function PI(e){return e===null?`config: DSL not active
|
|
211
211
|
`:JSON.stringify(e,null,2)+`
|
|
212
|
-
`}function
|
|
213
|
-
`));return n.rendered}finally{r.registry.dispose()}}function
|
|
214
|
-
`,kick:!0,debug:`daemon unavailable (transient: ${e.cause}: ${e.message}) — kicking daemon`};case`permanent`:return{output:
|
|
212
|
+
`}function FI(e){let t=typeof e==`string`?e:JSON.stringify(e);return t.length>60?t.slice(0,57)+`…`:t}function II(e){return e<1e3?`${e}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${Math.floor(e/6e4)}m`}function LI(){let e=zI();return e===null?null:r.readFileSync(e,`utf-8`)}function RI(){let e;try{e=LI()}catch(e){t.stderr.write(`schema: cannot read bundled schema: ${e instanceof Error?e.message:String(e)}\n`),t.exit(2)}e===null&&(t.stderr.write("schema: bundled schema not found (expected schema/cc-candybar.schema.json). Run `pnpm gen:schema` from a source checkout.\n"),t.exit(2)),t.stdout.write(e),t.exit(0)}function zI(){let e=c.join(`schema`,`cc-candybar.schema.json`),n=t.argv[1];if(n===void 0)return null;let i=c.dirname(c.resolve(n));for(;;){let t=c.join(i,e);if(r.existsSync(t))return t;let n=c.dirname(i);if(n===i)return null;i=n}}function BI(e){let t=e.CC_CANDYBAR_CONFIG??``;return t===``?void 0:t}const VI=5e3;function HI(e){let t=`/home/tester`,n=Math.floor(Date.now()/1e3);return{hook_event_name:`Status`,session_id:`test0a1b-2c3d-4e5f-6a7b-8c9d0e1f2a3b`,version:`1.15.0`,home:t,cwd:`${t}/code/cc-candybar/src`,transcript_path:`${t}/.claude/projects/x/test.jsonl`,model:{id:`claude-opus-4-8`,display_name:`Opus 4.8`},workspace:{current_dir:`${t}/code/cc-candybar/src`,project_dir:`${t}/code/cc-candybar`},git:{repoName:`cc-candybar`,repoUrl:`https://github.com/promptctl/cc-candybar`,branch:`main`,sha:`abc1234`,ahead:2,behind:1,staged:3,unstaged:2,untracked:1,conflicts:0,upstream:`origin/main`,stash:1,status:`dirty`,operation:`rebase`,timeSinceCommit:780},session:{cost:.39,tokens:241400},today:{cost:12.5,tokens:34e5},context:{totalTokens:48487,contextLeft:24},metrics:{lastResponseTime:8.2,responseTime:4.2,sessionDuration:930,messageCount:8,linesAdded:512,linesRemoved:88},block:{nativeUtilization:63,resetsAt:n+2*3600},weekly:{percentage:21,resetsAt:n+5*86400},cache:{expiresAt:n+900},tmux:{session:`work`},host:{name:`tester-box`,user:`tester`,ssh:!0},autocompact:aO(4e5,1e6),...NO(e),history:{undo:1,redo:1},unsaved:1}}function UI(e,t){let n=BC(e,e),r=HC(n);return r!==null&&t.push(r),n.kind===`file`?n.path:null}async function WI(e,n=t.cwd()){let i=[],a=e===void 0?UI(n,i):c.resolve(LC(e));if(e!==void 0&&a!==null){let e;try{e=r.statSync(a,{throwIfNoEntry:!1})}catch(e){return{kind:`unreadable`,path:a,message:e instanceof Error?e.message:String(e)}}if(e!==void 0&&!e.isFile())return{kind:`unreadable`,path:a,message:`not a file`}}let o=WC(n,n);o!==null&&i.push(o);try{return{kind:`clean`,configPath:a,warnings:i,rendered:await qI(a,n,i)}}catch(e){let t=e;return a!==null&&typeof t==`object`&&t&&typeof t.code==`string`&&t.path===a&&typeof t.message==`string`?{kind:`unreadable`,path:a,message:t.message}:(e instanceof Qo&&i.push(...e.warnings),{kind:`fatal`,configPath:a,message:e instanceof Qo||e instanceof Error?e.message:String(e),warnings:i})}}async function GI(e,t,n){let r=GC(e,mO);n.push(...r.warnings);let i=JC(r,e??`<default>`),a=new cM,o=new Ay(a,i.globals.default_empty_value??``,void 0,new yM);try{let e=Xj(i,o,{cwd:t});n.push(...e.loadWarnings);let r=await o.settled(VI);return r.length>0&&n.push(`source${r.length===1?``:`s`} still running after ${VI} ms, rendered with fallback values: ${r.join(`, `)}`),{config:i,compiled:e,store:a,registry:o}}catch(e){throw o.dispose(),e}}function KI({config:e,compiled:t,store:n,registry:r},i,a){let o=new Map;return{rendered:eM(e,t,n,r,HI(i),jO(i,a),{onSegmentError:(e,t)=>o.set(`segment "${e}"`,t),onRenderWarning:e=>o.set(`globals.palette`,e)},MO(i)),failures:o}}async function qI(e,t,n){let r=await GI(e,t,n),{config:i}=r;try{Mk(i);let e=AO(i,()=>null,()=>!1),t=e=>KI(r,e,200),n=t(e),a=t({...e,presetCustomized:!0}),o=[...[...n.failures].map(([e,t])=>`${e}: ${t}`),...[...a.failures].filter(([e])=>!n.failures.has(e)).map(([e,t])=>`${e}: ${t} (under .preset.customized = true)`)];if(o.length>0)throw Error(`config renders with ${o.length} render error${o.length===1?``:`s`} (the daemon would show them on the bar):\n`+o.map(e=>` ${e}`).join(`
|
|
213
|
+
`));return n.rendered}finally{r.registry.dispose()}}function JI(e){return e.map(e=>`warning: ${e}\n`).join(``)}function YI(e,t=!1){switch(e.kind){case`clean`:return{stdout:`✓ ${e.configPath??`bundled default (no config file found)`}: config OK${e.warnings.length>0?` (${e.warnings.length} warning${e.warnings.length===1?``:`s`})`:``}\n`+(t?`${e.rendered}\n`:``),stderr:JI(e.warnings),code:0};case`fatal`:return{stdout:``,stderr:JI(e.warnings)+`✗ ${e.configPath??`<default>`}\n${e.message}\n`,code:1};case`unreadable`:return{stdout:``,stderr:`check: cannot read ${e.path}: ${e.message}\n`,code:2}}}const XI=`--render`,ZI=`Usage: cc-candybar check [${XI}] [config-file]\n`;function QI(e){let t=e.filter(e=>e.startsWith(`--`)),n=e.filter(e=>!e.startsWith(`--`)),r=t.filter(e=>e!==XI);return r.length>0?{kind:`usage`,message:`check: unknown option ${r.join(` `)}\n${ZI}`}:n.length>1||n[0]===``?{kind:`usage`,message:`check: expected at most one non-empty path\n${ZI}`}:{kind:`run`,target:n[0],render:t.includes(XI)}}async function $I(e){let n=QI(e),r=n.kind===`usage`?{stdout:``,stderr:n.message,code:2}:YI(await WI(n.target??BI(t.env)),n.render);t.stdout.write(r.stdout),t.stderr.write(r.stderr),t.exit(r.code)}const eL=`${eD}${$E}`;function tL(e){return`${eL}⚠ cc-candybar: ${nL(e)}[0m\n`}function nL(e){switch(e.cause){case`version_mismatch`:{let t=e.daemonV===0?`unknown`:`v${e.daemonV}`;return`protocol mismatch (client v${e.clientV} ≠ daemon ${t})`}case`bad_request`:return`daemon rejected request: ${QE(e.message,60)}`;case`render_failed`:return`render failed: ${QE(e.message,60)}`;case`malformed_response`:return`malformed daemon response: ${QE(e.message,60)}`}}function rL(e){switch(e.kind){case`ok`:return{output:e.value,kick:!1,debug:null};case`transient`:return{output:`
|
|
214
|
+
`,kick:!0,debug:`daemon unavailable (transient: ${e.cause}: ${e.message}) — kicking daemon`};case`permanent`:return{output:tL(e),kick:!1,debug:`daemon refused request (permanent: ${e.cause}) — not kicking`}}}function iL(e,t){if(e!==void 0&&/^\+?\d+$/.test(e)){let t=Number(e);if(t>0&&t<=4294967295)return t}if(t&&t>0)return t}const aL=` (fix: click the settings menu (${Sc} by default) › 🧰 tools ▸ 🩺 doctor, then [fix] on the bar)`;function oL({check:e,verdict:t}){return t.ok?`✓ ${e.label}\n`:`✗ ${e.label} — ${t.reason}${t.fix===void 0?``:aL}\n`}function sL(e,t,n){let r;try{r=NN(e,{tmux:Wb(t),claudeConfigDir:VT(t,n)})}catch(e){return{stdout:``,stderr:`doctor: ${e instanceof Error?e.message:String(e)}\n`,code:2}}let i=qb(r);return{stdout:i.map(oL).join(``),stderr:``,code:+!i.every(e=>e.verdict.ok)}}function cL(e){e.length>0&&(t.stderr.write(`doctor: takes no arguments
|
|
215
215
|
Usage: cc-candybar doctor
|
|
216
|
-
`),t.exit(2));let n=
|
|
216
|
+
`),t.exit(2));let n=sL(AN(),t.env,t.cwd());t.stdout.write(n.stdout),t.stderr.write(n.stderr),t.exit(n.code)}function lL(){return iL(t.env.COLUMNS,t.stderr.columns)}function uL(){return iL(t.env.LINES,t.stderr.rows)}const dL=[`SSH_CONNECTION`,`SSH_CLIENT`,`SSH_TTY`],fL=e=>e.some(e=>t.argv.includes(e));function pL(){return dL.some(e=>(t.env[e]??``)!==``)}function mL(){console.log(mb)}async function hL(){try{fL(fb.help)&&(mL(),t.exit(0)),fL(fb.version)&&(console.log(`cc-candybar ${BT}`),t.exit(0));let e=t.argv[2];if(e===`install`&&(await TE(t.argv.slice(3)),t.exit(0)),e===`install-url-handler`&&(bE(),t.exit(0)),e===`url-handle`){await SE(t.argv[3]);return}if(e===`daemon`){eI();return}if(e===`daemon-stats`&&(await SI(t.argv.slice(3)),t.exit(0)),e===`check`||e===`lint`){await $I(t.argv.slice(3));return}if(e===`schema`){RI();return}if(e===`doctor`){cL(t.argv.slice(3));return}iF(e)&&(await kI(e,t.argv.slice(3)),t.exit(0)),t.stdin.isTTY===!0&&(console.error(`Error: This tool requires input from Claude Code
|
|
217
217
|
|
|
218
218
|
cc-candybar is designed to be used as a Claude Code statusLine command.
|
|
219
219
|
It reads hook data from stdin and outputs formatted statusline.
|
|
@@ -229,4 +229,4 @@ Add to ~/.claude/settings.json:
|
|
|
229
229
|
Run with --help for more options.
|
|
230
230
|
|
|
231
231
|
To test output manually:
|
|
232
|
-
echo '{"session_id":"test-session","workspace":{"project_dir":"/path/to/project"},"model":{"id":"claude-sonnet-4-5","display_name":"Claude"}}' | cc-candybar --style=powerline`),t.exit(1)),
|
|
232
|
+
echo '{"session_id":"test-session","workspace":{"project_dir":"/path/to/project"},"model":{"id":"claude-sonnet-4-5","display_name":"Claude"}}' | cc-candybar --style=powerline`),t.exit(1)),O(`Working directory: ${t.cwd()}`),O(`Process args:`,t.argv);let r=await n(t.stdin);O(`Received hook data:`,JSON.stringify(r,null,2)),r||(console.error(`Error: No input data received from stdin`),mL(),t.exit(1));let i=rL(await Sw(r,t.argv,t.cwd(),{termCols:lL(),termRows:uL(),ssh:pL(),tmux:Wb(t.env),configEnv:BI(t.env),claudeConfigDir:VT(t.env,t.cwd())}));i.debug!==null&&O(i.debug),i.kick&&Gw(),t.stdout.write(i.output),t.exit(0)}catch(e){let n=e instanceof Error?e.message:String(e);console.error(`Error generating statusline:`,n),t.exit(1)}}hL();export{};
|