@promptctl/cc-candybar 1.131.0 → 1.132.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 +85 -117
- package/package.json +6 -6
- package/schema/cc-candybar.schema.json +0 -204
package/dist/index.mjs
CHANGED
|
@@ -1,108 +1,76 @@
|
|
|
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,realpathSync as o,statSync as s,watch as c}from"node:fs";import l,{basename as u,dirname as d,isAbsolute as f,join as p,sep as m}from"node:path";import h,{homedir as g}from"node:os";import{spawn as _,spawnSync as v}from"node:child_process";import{inspect as y,parseArgs as b,types as x}from"node:util";import S from"node:net";import C from"node:v8";import{URL as ee,URLSearchParams as te,fileURLToPath as ne,pathToFileURL as re}from"node:url";import ie,{createHash as ae,randomUUID as w}from"node:crypto";import{open as T,readFile as oe,readdir as se,stat as ce}from"node:fs/promises";import{clearInterval as le,setInterval as ue}from"node:timers";import{get as E}from"node:https";import{setTimeout as de}from"node:timers/promises";import{createInterface as fe}from"node:readline";var pe=Object.create,me=Object.defineProperty,he=Object.getOwnPropertyDescriptor,ge=Object.getOwnPropertyNames,_e=Object.getPrototypeOf,ve=Object.prototype.hasOwnProperty,ye=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),be=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=ge(t),a=0,o=i.length,s;a<o;a++)s=i[a],!ve.call(e,s)&&s!==n&&me(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=he(t,s))||r.enumerable});return e},xe=(e,t,n)=>(n=e==null?{}:pe(_e(e)),be(t||!e||!e.__esModule?me(n,`default`,{value:e,enumerable:!0}):n,e));function D(e,...t){process.env.CC_CANDYBAR_DEBUG&&console.error(`[DEBUG] ${e}`,...t)}function Se(e,t){return x.isNativeError(e)?e.code===`ENOENT`&&t!==void 0&&!a(t)?`working directory does not exist: ${t}`:e.message:String(e)}const Ce={"click.pbcopy":1e3,"click.open":1e3,"doctor.tmux":1e3,"claude-input.type":1e3},we=new Map;function Te(e){let t=Ce[e];if(t===void 0)return{allowed:!0};let n=we.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 Ee(e){we.set(e,Date.now())}function De(e){return e.env??process.env}function Oe(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 ke=null;function Ae(e){ke=e}function je(e,t){try{process.kill(-e,t)}catch(e){if(e.code!==`ESRCH`)throw e}}async function O(e){if(e.signal?.aborted)return{ok:!1,reason:`aborted`,stdout:``,stderr:``,exitCode:null,signal:null};let t=Te(e.category);if(!t.allowed)return Oe(e.category,t.minIntervalMs,t.sinceLastMs);Ee(e.category);let n=Date.now();return ke?.onStart(e.category),new Promise(t=>{let r;try{r=_(e.bin,e.args??[],{cwd:e.cwd,env:De(e),stdio:[`pipe`,`pipe`,`pipe`],detached:!0})}catch(r){ke?.onEnd(e.category,Date.now()-n),t({ok:!1,reason:`spawn-error`,stdout:``,stderr:``,exitCode:null,signal:null,error:Se(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),ke?.onEnd(e.category,Date.now()-n),t())},f=e=>d(()=>t(e)),p=(e,t)=>{try{je(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:Se(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 Me(e){let t=Te(e.category);if(!t.allowed)return Oe(e.category,t.minIntervalMs,t.sinceLastMs);Ee(e.category);let n=Date.now();ke?.onStart(e.category);let r=[`pipe`,`pipe`,`pipe`];try{let t=v(e.bin,e.args??[],{cwd:e.cwd,env:De(e),input:e.stdinInput,timeout:e.timeoutMs&&e.timeoutMs>0?e.timeoutMs:void 0,stdio:r,encoding:`utf8`});ke?.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:Se(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 ke?.onEnd(e.category,Date.now()-n),{ok:!1,reason:`spawn-error`,stdout:``,stderr:``,exitCode:null,signal:null,error:Se(t,e.cwd)}}}function Ne(e){let t=Te(e.category);if(!t.allowed)return Oe(e.category,t.minIntervalMs,t.sinceLastMs);Ee(e.category);let n=Date.now();ke?.onStart(e.category);let r=Pe(e);return ke?.onEnd(e.category,Date.now()-n),r}function Pe(e){let t;try{t=_(e.bin,e.args??[],{cwd:e.cwd,env:De(e),detached:!0,stdio:`ignore`})}catch(t){return{ok:!1,reason:`spawn-error`,stdout:``,stderr:``,exitCode:null,signal:null,error:Se(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 Fe(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 Ie(e,t){let n=e[t];return n&&n.length>0?n:void 0}function Le(e=process.env){let t=Ie(e,`XDG_STATE_HOME`)??l.join(h.homedir(),`.local`,`state`);return l.join(t,`cc-candybar`)}function Re(){let e=Ie(process.env,`XDG_CACHE_HOME`)??l.join(h.homedir(),`.cache`);return l.join(e,`cc-candybar`)}function ze(){return Le()}function Be(){return process.env.CC_CANDYBAR_SOCKET||Ve()}function Ve(){let e=h.userInfo().uid;return l.join(`/tmp`,`cc-candybar-${e}`,`socket`)}function He(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=h.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 Ue(e){He(l.dirname(e));for(let t of[e,We(e)])try{if(r.lstatSync(t).isSymbolicLink())throw Error(`path is a symlink: ${t}`)}catch(e){if(e.code!==`ENOENT`)throw e}}function We(e){return`${e}.lease`}function Ge(){return We(Be())}function Ke(){return l.join(Le(),`session-state.json`)}function qe(){return l.join(Le(),`settings-history.json`)}function Je(){let e=process.env.CC_CANDYBAR_DAEMON_REGISTRY_DIR;if(e)return e;let t=h.userInfo().uid;return l.join(`/tmp`,`cc-candybar-${t}`,`daemons`)}function Ye(){return l.join(Le(),`spawn.lock`)}function Xe(){return l.join(Le(),`spawn.cooldown`)}function Ze(){return l.join(Le(),`spawn.backoff`)}function Qe(){return l.join(Le(),`diagnostics`)}function $e(e=process.env){return l.join(Le(e),`daemon.log`)}const et=[`MEMENTO_CONFIG_HOME`,`XDG_CONFIG_HOME`];function tt(e,t){return Object.fromEntries(et.flatMap(n=>{let r=e[n]??``;return r===``?[]:[[n,l.resolve(t,r)]]}))}const nt=Object.keys({termCols:!0,termRows:!0,ssh:!0,tmux:!0,configEnv:!0,claudeConfigDir:!0,mementoEnv:!0});function rt(e){let t=ut(e.termCols),n=ut(e.termRows),r=dt(e.ssh),i=ct(e.tmux),a=st(e.configEnv),o=st(e.claudeConfigDir),s=ot(e.mementoEnv);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},...s!==void 0&&{mementoEnv:s}}}function it(e,t){return nt.filter(n=>e[n]!==void 0&&t[n]===void 0).map(t=>({hint:t,sent:e[t]}))}function at(e){return e.length===0?null:`Client hints refused: ${e.map(({hint:e,sent:t})=>`${e}=${JSON.stringify(t)}`).join(`, `)} — is the statusline client older than the daemon? Reinstall it (\`cc-candybar install\`, or \`just install-rust\` in a checkout).`}function ot(e){if(typeof e!=`object`||!e||Array.isArray(e))return;let t=e,n=et.filter(e=>t[e]!==void 0);return n.every(e=>st(t[e])!==void 0)?Object.fromEntries(n.map(e=>[e,t[e]])):void 0}function st(e){return typeof e==`string`&&l.isAbsolute(e)?e:void 0}function ct(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 lt=1e4;function ut(e){if(typeof e!=`number`||!Number.isFinite(e))return;let t=Math.floor(e);if(!(t<=0))return t>lt?lt:t}function dt(e){return typeof e==`boolean`?e:void 0}function ft(e){return typeof e==`string`&&e!==``&&e.length<=64?e:null}var pt=class extends Error{constructor(e){super(e),this.name=`ProtocolError`}};function mt(e){let t=Buffer.from(JSON.stringify(e),`utf8`),n=Buffer.alloc(4);return n.writeUInt32BE(t.length,0),Buffer.concat([n,t])}function ht(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 pt(`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 pt(e instanceof Error?e.message:String(e));e instanceof Error&&(n.cause=e),t(n);return}}}}function gt(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=ht(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(mt(t))})}async function _t(e,t,n){let r=null;try{r=await St(Be(),t.connectMs);let i=await gt(r,{v:3,...e},t.budgetMs);return bt(e.kind,i,n)}catch(e){return xt(e)}finally{r&&r.destroy()}}function vt(e,t){return typeof e==`string`?e:t}function yt(e){return typeof e==`number`&&Number.isInteger(e)&&e>=0?e:0}function bt(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=vt(r.error,`(no error message)`);switch(r.code){case`VERSION_MISMATCH`:return{kind:`permanent`,cause:`version_mismatch`,clientV:3,daemonV:yt(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 xt(e){if(e instanceof pt||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 St(e,t){return new Promise((n,r)=>{let i=S.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 Ct(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 wt=`1.131.0`,Tt={connectMs:50,budgetMs:150},Et={connectMs:50,budgetMs:200};function Dt(e){let t=e.output;return typeof t==`string`?t:void 0}function Ot(e,t,n,r){return _t({kind:`render`,hookData:e,args:t,cwd:n,...r},Tt,Dt)}function kt(e,t){return _t({kind:`click`,verb:e,value:t,clientVersion:wt},Et,Dt)}let At=null;function jt(e){if(At!==null)return At;r.mkdirSync(l.dirname(e),{recursive:!0});try{At=r.statSync(e).size}catch{At=0}return At}function Mt(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{}At=0}const Nt=(e,t)=>D(t);function k(e,t){let n=`${new Date().toISOString()} [${e}] ${t}\n`;try{let e=$e(),t=jt(e);r.appendFileSync(e,n),At=t+Buffer.byteLength(n,`utf8`),At>=5242880&&Mt(e)}catch(e){At=null;try{process.stderr.write(`${n}cc-candybar: daemon.log unwritable: ${e.message}\n`)}catch{}}}function Pt(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(`
|
|
3
|
-
`)}function
|
|
4
|
-
`).map(e=>e.trim()).find(e=>e.length>0);return t===void 0?``:` (${t})`}const
|
|
5
|
-
`)}catch(e){t.stderr.write(`cc-candybar: daemon spawn failed: ${e.message}\n`)}}function en(e,t){return e===null?{kind:`allow`}:e<-1e4?{kind:`allow-future-garbage`,futureMs:-e}:e<t?{kind:`deny`}:{kind:`allow`}}function tn(e){return Math.min(3e3*2**Math.min(Math.max(e,0),5),6e4)}function nn(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 rn(e,n){try{r.mkdirSync(l.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 M(){try{r.unlinkSync(Ze())}catch(e){e.code!==`ENOENT`&&t.stderr.write(`cc-candybar: could not reset spawn.backoff: ${e.message}\n`)}}function an(){let e=Xe(),n=Ze(),r=nn(n),i=en(on(e),tn(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`),sn(e),rn(n,Math.min(r+1,5)),!0)}function on(e){try{return Date.now()-r.statSync(e).mtimeMs}catch{return null}}function sn(e){try{r.mkdirSync(l.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 cn=null;function ln(){let e=Ye();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 cn={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(!un(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 un(e){try{let t=r.statSync(e);return Date.now()-t.mtimeMs>1e4}catch{return!0}}function dn(){if(!cn)return;let{fd:e,path:t}=cn;cn=null;try{r.closeSync(e)}catch{}try{r.unlinkSync(t)}catch{}}function fn(){try{return r.mkdirSync(ze(),{recursive:!0}),null}catch(e){return`mkdir ${ze()}: ${e.message}`}}function pn(){let e=t.execPath,n=t.argv[1];return n?Ne({bin:e,args:[`--max-old-space-size=${zt(t.env)}`,n,`daemon`],category:`daemon-spawn`}).ok:!1}const mn=`cc-candybar`,hn=`dispatch`,gn=`set-state`,N=`step-state`,_n=`copy`,vn=`open-vscode`,yn=`toolbar-toggle`,bn=`show-config-error`,xn=`show-config-warning`,Sn=`set-config`,Cn=`step-config`,wn=`save`,P=`save-preset`,Tn=`save-theme-default`,En=`delete-preset`,Dn=`reset-config`,On=`apply-layout-op`,kn=`undo`,An=`redo`,jn=`back`,Mn=`rewind`,Nn=`apply-update`,Pn=`doctor-run`,Fn=`doctor-fix`,In=`doctor-probe`,Ln=`ceiling`,Rn=`slash`;function F(e){return e.map(encodeURIComponent).join(`/`)}function zn(e){return e.length===0?[]:e.split(`/`).map(decodeURIComponent)}function I(e){return`${mn}://${hn}/${e.map(e=>`e=${encodeURIComponent(`${e.verb}/${F(e.args)}`)}`).join(`&`)}`}function Bn(e){return new te(e).getAll(`e`).map(Wn)}const Vn=new Set([gn,Dn]);function Hn(e){return e.reduce((e,t)=>{let n=e.at(-1),r=n&&Un(n,t);return r?[...e.slice(0,-1),r]:[...e,t]},[])}function Un(e,t){if(e.verb!==t.verb||!Vn.has(e.verb))return;let[n,r]=[Wn(e.value),Wn(t.value)];return n.verb===r.verb?{verb:e.verb,value:`${n.verb}/${n.value}/${r.value}`}:void 0}function Wn(e){let t=e.indexOf(`/`);return t===-1?{verb:e,value:``}:{verb:e.slice(0,t),value:e.slice(t+1)}}const L=`closed`,Gn=`🍫`;function Kn(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 qn(e,t,n,r){let i=Kn(e,t.length,n);if(i!==void 0)throw Error(i);return t.length===1?t[0]:t[r]}function Jn(e){return e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}function Yn(e,t,n,r,i){return{kind:`segment`,name:e,opens:{ref:t,body:n,placement:r},...i!==void 0&&{when:i}}}function Xn(e,...t){return`{{ and ${[e,...t].map(Zn).join(` `)} }}`}function Zn(e){return`(eq .${e.variable} "${Jn(e.member)}")`}function Qn(e,t,n){return`{{ ${$n(e,er(t),er(n))} }}`}function $n(e,t,n){return`action "${e}" ${t} ${n}`}function er(e){return`"${Jn(e)}"`}function tr(e,t){return{kind:`state`,key:e,default:t}}function nr(e,t){return{set:e,cycle:[L,t]}}const rr=/^[A-Za-z0-9_./,:@%+-][A-Za-z0-9_./,:@%+=-]*$/;function ir(e){return`'${e.replaceAll(`'`,`'\\''`)}'`}function ar(e){return rr.test(e)?e:ir(e)}var or=ye(((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]/})),sr=ye(((e,t)=>{let n=or();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)}}})),cr=ye(((e,t)=>{let n=sr(),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,realpathSync as o,statSync as s,watch as c}from"node:fs";import l,{basename as u,dirname as d,isAbsolute as f,join as p,sep as m}from"node:path";import h,{homedir as g}from"node:os";import{spawn as _,spawnSync as v}from"node:child_process";import{inspect as y,parseArgs as b,types as x}from"node:util";import S from"node:net";import C from"node:v8";import{URL as ee,URLSearchParams as te,fileURLToPath as ne,pathToFileURL as re}from"node:url";import ie,{createHash as ae,randomUUID as w}from"node:crypto";import{open as T,readFile as oe,readdir as E,stat as se}from"node:fs/promises";import{clearInterval as ce,setInterval as le}from"node:timers";import{get as ue}from"node:https";import{setTimeout as de}from"node:timers/promises";import{createInterface as fe}from"node:readline";var pe=Object.create,me=Object.defineProperty,he=Object.getOwnPropertyDescriptor,ge=Object.getOwnPropertyNames,_e=Object.getPrototypeOf,ve=Object.prototype.hasOwnProperty,ye=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),be=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=ge(t),a=0,o=i.length,s;a<o;a++)s=i[a],!ve.call(e,s)&&s!==n&&me(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=he(t,s))||r.enumerable});return e},xe=(e,t,n)=>(n=e==null?{}:pe(_e(e)),be(t||!e||!e.__esModule?me(n,`default`,{value:e,enumerable:!0}):n,e));function D(e,...t){process.env.CC_CANDYBAR_DEBUG&&console.error(`[DEBUG] ${e}`,...t)}function Se(e,t){return x.isNativeError(e)?e.code===`ENOENT`&&t!==void 0&&!a(t)?`working directory does not exist: ${t}`:e.message:String(e)}const Ce={"click.pbcopy":1e3,"click.open":1e3,"doctor.tmux":1e3,"claude-input.type":1e3},we=new Map;function Te(e){let t=Ce[e];if(t===void 0)return{allowed:!0};let n=we.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 Ee(e){we.set(e,Date.now())}function De(e){return e.env??process.env}function Oe(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 ke=null;function Ae(e){ke=e}function je(e,t){try{process.kill(-e,t)}catch(e){if(e.code!==`ESRCH`)throw e}}async function Me(e){if(e.signal?.aborted)return{ok:!1,reason:`aborted`,stdout:``,stderr:``,exitCode:null,signal:null};let t=Te(e.category);if(!t.allowed)return Oe(e.category,t.minIntervalMs,t.sinceLastMs);Ee(e.category);let n=Date.now();return ke?.onStart(e.category),new Promise(t=>{let r;try{r=_(e.bin,e.args??[],{cwd:e.cwd,env:De(e),stdio:[`pipe`,`pipe`,`pipe`],detached:!0})}catch(r){ke?.onEnd(e.category,Date.now()-n),t({ok:!1,reason:`spawn-error`,stdout:``,stderr:``,exitCode:null,signal:null,error:Se(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),ke?.onEnd(e.category,Date.now()-n),t())},f=e=>d(()=>t(e)),p=(e,t)=>{try{je(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:Se(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 Ne(e){let t=Te(e.category);if(!t.allowed)return Oe(e.category,t.minIntervalMs,t.sinceLastMs);Ee(e.category);let n=Date.now();ke?.onStart(e.category);let r=[`pipe`,`pipe`,`pipe`];try{let t=v(e.bin,e.args??[],{cwd:e.cwd,env:De(e),input:e.stdinInput,timeout:e.timeoutMs&&e.timeoutMs>0?e.timeoutMs:void 0,stdio:r,encoding:`utf8`});ke?.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:Se(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 ke?.onEnd(e.category,Date.now()-n),{ok:!1,reason:`spawn-error`,stdout:``,stderr:``,exitCode:null,signal:null,error:Se(t,e.cwd)}}}function Pe(e){let t=Te(e.category);if(!t.allowed)return Oe(e.category,t.minIntervalMs,t.sinceLastMs);Ee(e.category);let n=Date.now();ke?.onStart(e.category);let r=Fe(e);return ke?.onEnd(e.category,Date.now()-n),r}function Fe(e){let t;try{t=_(e.bin,e.args??[],{cwd:e.cwd,env:De(e),detached:!0,stdio:`ignore`})}catch(t){return{ok:!1,reason:`spawn-error`,stdout:``,stderr:``,exitCode:null,signal:null,error:Se(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 Ie(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 Le(e,t){let n=e[t];return n&&n.length>0?n:void 0}function Re(e=process.env){let t=Le(e,`XDG_STATE_HOME`)??l.join(h.homedir(),`.local`,`state`);return l.join(t,`cc-candybar`)}function ze(){let e=Le(process.env,`XDG_CACHE_HOME`)??l.join(h.homedir(),`.cache`);return l.join(e,`cc-candybar`)}function Be(){return Re()}function Ve(){return process.env.CC_CANDYBAR_SOCKET||He()}function He(){let e=h.userInfo().uid;return l.join(`/tmp`,`cc-candybar-${e}`,`socket`)}function Ue(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=h.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 We(e){Ue(l.dirname(e));for(let t of[e,Ge(e)])try{if(r.lstatSync(t).isSymbolicLink())throw Error(`path is a symlink: ${t}`)}catch(e){if(e.code!==`ENOENT`)throw e}}function Ge(e){return`${e}.lease`}function Ke(){return Ge(Ve())}function qe(){return l.join(Re(),`session-state.json`)}function Je(){return l.join(Re(),`settings-history.json`)}function Ye(){let e=process.env.CC_CANDYBAR_DAEMON_REGISTRY_DIR;if(e)return e;let t=h.userInfo().uid;return l.join(`/tmp`,`cc-candybar-${t}`,`daemons`)}function Xe(){return l.join(Re(),`spawn.lock`)}function Ze(){return l.join(Re(),`spawn.cooldown`)}function Qe(){return l.join(Re(),`spawn.backoff`)}function $e(){return l.join(Re(),`diagnostics`)}function et(e=process.env){return l.join(Re(e),`daemon.log`)}const tt=[`MEMENTO_CONFIG_HOME`,`XDG_CONFIG_HOME`];function nt(e,t){return Object.fromEntries(tt.flatMap(n=>{let r=e[n]??``;return r===``?[]:[[n,l.resolve(t,r)]]}))}const rt=Object.keys({termCols:!0,termRows:!0,ssh:!0,tmux:!0,configEnv:!0,claudeConfigDir:!0,mementoEnv:!0});function it(e){let t=dt(e.termCols),n=dt(e.termRows),r=ft(e.ssh),i=lt(e.tmux),a=ct(e.configEnv),o=ct(e.claudeConfigDir),s=st(e.mementoEnv);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},...s!==void 0&&{mementoEnv:s}}}function at(e,t){return rt.filter(n=>e[n]!==void 0&&t[n]===void 0).map(t=>({hint:t,sent:e[t]}))}function ot(e){return e.length===0?null:`Client hints refused: ${e.map(({hint:e,sent:t})=>`${e}=${JSON.stringify(t)}`).join(`, `)} — is the statusline client older than the daemon? Reinstall it (\`cc-candybar install\`, or \`just install-rust\` in a checkout).`}function st(e){if(typeof e!=`object`||!e||Array.isArray(e))return;let t=e,n=tt.filter(e=>t[e]!==void 0);return n.every(e=>ct(t[e])!==void 0)?Object.fromEntries(n.map(e=>[e,t[e]])):void 0}function ct(e){return typeof e==`string`&&l.isAbsolute(e)?e:void 0}function lt(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 ut=1e4;function dt(e){if(typeof e!=`number`||!Number.isFinite(e))return;let t=Math.floor(e);if(!(t<=0))return t>ut?ut:t}function ft(e){return typeof e==`boolean`?e:void 0}function O(e){return typeof e==`string`&&e!==``&&e.length<=64?e:null}var pt=class extends Error{constructor(e){super(e),this.name=`ProtocolError`}};function mt(e){let t=Buffer.from(JSON.stringify(e),`utf8`),n=Buffer.alloc(4);return n.writeUInt32BE(t.length,0),Buffer.concat([n,t])}function ht(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 pt(`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 pt(e instanceof Error?e.message:String(e));e instanceof Error&&(n.cause=e),t(n);return}}}}function gt(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=ht(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(mt(t))})}async function k(e,t,n){let r=null;try{r=await xt(Ve(),t.connectMs);let i=await gt(r,{v:3,...e},t.budgetMs);return yt(e.kind,i,n)}catch(e){return bt(e)}finally{r&&r.destroy()}}function _t(e,t){return typeof e==`string`?e:t}function vt(e){return typeof e==`number`&&Number.isInteger(e)&&e>=0?e:0}function yt(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=_t(r.error,`(no error message)`);switch(r.code){case`VERSION_MISMATCH`:return{kind:`permanent`,cause:`version_mismatch`,clientV:3,daemonV:vt(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 bt(e){if(e instanceof pt||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 xt(e,t){return new Promise((n,r)=>{let i=S.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 St(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 Ct=`1.132.1`,wt={connectMs:50,budgetMs:150},Tt={connectMs:50,budgetMs:200};function Et(e){let t=e.output;return typeof t==`string`?t:void 0}function Dt(e,t,n,r){return k({kind:`render`,hookData:e,args:t,cwd:n,...r},wt,Et)}function Ot(e,t){return k({kind:`click`,verb:e,value:t,clientVersion:Ct},Tt,Et)}let kt=null;function At(e){if(kt!==null)return kt;r.mkdirSync(l.dirname(e),{recursive:!0});try{kt=r.statSync(e).size}catch{kt=0}return kt}function jt(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{}kt=0}const Mt=(e,t)=>D(t);function A(e,t){let n=`${new Date().toISOString()} [${e}] ${t}\n`;try{let e=et(),t=At(e);r.appendFileSync(e,n),kt=t+Buffer.byteLength(n,`utf8`),kt>=5242880&&jt(e)}catch(e){kt=null;try{process.stderr.write(`${n}cc-candybar: daemon.log unwritable: ${e.message}\n`)}catch{}}}function Nt(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(`
|
|
3
|
+
`)}function Pt(e,t){return e===`darwin`?[Ft(`footprint`,[`-p`,String(t)]),Ft(`vmmap`,[`--summary`,String(t)])]:e===`linux`?[It(`/proc/self/smaps_rollup`),It(`/proc/self/status`)]:[]}function Ft(e,t){return{name:`${e} ${t.join(` `)}`,read:()=>{let n=Ne({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}`}${Lt(n.stderr)}`}}}}function It(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 Lt(e){let t=e.split(`
|
|
4
|
+
`).map(e=>e.trim()).find(e=>e.length>0);return t===void 0?``:` (${t})`}const Rt=`CC_CANDYBAR_RSS_LIMIT_MB`;function zt(e){let t=e[Rt];if(t===void 0)return 512;let n=/^\d+$/.test(t)?Number(t):NaN;if(!Number.isSafeInteger(n)||n<=0)throw Error(`${Rt} must be a positive integer (MB), got ${JSON.stringify(t)}`);return n}function Bt(e){return zt(e)*2}const Vt=1024*1024;function Ht(e){return zt(e)*Vt}const Ut={memoryReport:{prefix:`memory-`,suffix:`.txt`},heapSnapshot:{prefix:`heap-`,suffix:`.heapsnapshot`}};function j(e,t,n){let{prefix:r,suffix:i}=Ut[t];return l.join(e,`${r}${n}${i}`)}function Wt(e){for(let t of Object.keys(Ut)){let{prefix:n,suffix:r}=Ut[t];if(e.startsWith(n)&&e.endsWith(r))return t}return null}function Gt(e){let t=e.rssLimitBytes??512*Vt,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 Kt(e.log,`memory report`,()=>{let t=j(e.snapshotDir,`memoryReport`,o);e.writeMemoryReport(t,e.captureMemoryReport()),e.log(`info`,`memory report written: ${t}`)}),Kt(e.log,`heap snapshot`,()=>{let t=j(e.snapshotDir,`heapSnapshot`,o);e.log(`info`,`heap snapshot written: ${e.writeHeapSnapshot(t)}`)}),Kt(e.log,`artifact rotation`,()=>{Jt(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 Kt(e,t,n){try{n()}catch(n){e(`warn`,`${t} failed: ${n.message}`)}}function qt(e){let t=e.slice(e.lastIndexOf(`/`)+1),n=Wt(t);if(n===null)return t;let{prefix:r,suffix:i}=Ut[n];return t.slice(r.length,t.length-i.length)}function Jt(e,t,n){let r=new Map;for(let t of e){let e=qt(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 Yt(e,t,n={}){let i=Be();return{now:()=>Date.now(),pid:process.pid,snapshotDir:i,log:A,memoryBytes:()=>{let e=process.memoryUsage();return{rss:e.rss,heapTotal:e.heapTotal}},captureMemoryReport:()=>Nt(Pt(process.platform,process.pid)),writeMemoryReport:(e,t)=>r.writeFileSync(e,t,{mode:384}),writeHeapSnapshot:e=>C.writeHeapSnapshot(e),listArtifacts:()=>{try{return r.readdirSync(i).filter(e=>Wt(e)!==null).map(e=>l.join(i,e))}catch{return[]}},removeFile:e=>r.unlinkSync(e),shutdown:t,startedAtMs:e,...n}}function M(e={}){if(fn()!==null)return;let n=e.spawn??pn,r=ln();if(r.kind===`contended`){let e=Zt();e!==null&&e>2e3&&(t.stderr.write(`cc-candybar: spawn-lock held ${e}ms (likely crashed holder) — spawning unlocked\n`),Xt(n));return}if(r.kind===`error`){t.stderr.write(`cc-candybar: spawn-lock unavailable (${r.reason}) — spawning unlocked\n`),Xt(n);return}try{Xt(n)}finally{dn()}}function Xt(e){an()&&Qt(e)}function Zt(){try{let e=r.statSync(Xe());return Date.now()-e.mtimeMs}catch{return null}}function Qt(e){try{e()||t.stderr.write(`cc-candybar: daemon spawn returned false (unable to resolve script path?)
|
|
5
|
+
`)}catch(e){t.stderr.write(`cc-candybar: daemon spawn failed: ${e.message}\n`)}}function $t(e,t){return e===null?{kind:`allow`}:e<-1e4?{kind:`allow-future-garbage`,futureMs:-e}:e<t?{kind:`deny`}:{kind:`allow`}}function en(e){return Math.min(3e3*2**Math.min(Math.max(e,0),5),6e4)}function tn(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 nn(e,n){try{r.mkdirSync(l.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 rn(){try{r.unlinkSync(Qe())}catch(e){e.code!==`ENOENT`&&t.stderr.write(`cc-candybar: could not reset spawn.backoff: ${e.message}\n`)}}function an(){let e=Ze(),n=Qe(),r=tn(n),i=$t(on(e),en(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`),sn(e),nn(n,Math.min(r+1,5)),!0)}function on(e){try{return Date.now()-r.statSync(e).mtimeMs}catch{return null}}function sn(e){try{r.mkdirSync(l.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 cn=null;function ln(){let e=Xe();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 cn={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(!un(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 un(e){try{let t=r.statSync(e);return Date.now()-t.mtimeMs>1e4}catch{return!0}}function dn(){if(!cn)return;let{fd:e,path:t}=cn;cn=null;try{r.closeSync(e)}catch{}try{r.unlinkSync(t)}catch{}}function fn(){try{return r.mkdirSync(Be(),{recursive:!0}),null}catch(e){return`mkdir ${Be()}: ${e.message}`}}function pn(){let e=t.execPath,n=t.argv[1];return n?Pe({bin:e,args:[`--max-old-space-size=${Bt(t.env)}`,n,`daemon`],category:`daemon-spawn`}).ok:!1}const mn=`cc-candybar`,hn=`dispatch`,gn=`set-state`,_n=`step-state`,vn=`copy`,yn=`open-vscode`,N=`toolbar-toggle`,bn=`show-config-error`,xn=`show-config-warning`,Sn=`set-config`,Cn=`step-config`,wn=`save`,P=`save-preset`,Tn=`save-theme-default`,En=`delete-preset`,Dn=`reset-config`,On=`apply-layout-op`,kn=`undo`,An=`redo`,jn=`back`,Mn=`rewind`,Nn=`apply-update`,Pn=`doctor-run`,Fn=`doctor-fix`,In=`doctor-probe`,Ln=`ceiling`,Rn=`slash`;function zn(e){return e.map(encodeURIComponent).join(`/`)}function Bn(e){return e.length===0?[]:e.split(`/`).map(decodeURIComponent)}function Vn(e){return`${mn}://${hn}/${e.map(e=>`e=${encodeURIComponent(`${e.verb}/${zn(e.args)}`)}`).join(`&`)}`}function Hn(e){return new te(e).getAll(`e`).map(Kn)}const Un=new Set([gn,Dn]);function Wn(e){return e.reduce((e,t)=>{let n=e.at(-1),r=n&&Gn(n,t);return r?[...e.slice(0,-1),r]:[...e,t]},[])}function Gn(e,t){if(e.verb!==t.verb||!Un.has(e.verb))return;let[n,r]=[Kn(e.value),Kn(t.value)];return n.verb===r.verb?{verb:e.verb,value:`${n.verb}/${n.value}/${r.value}`}:void 0}function Kn(e){let t=e.indexOf(`/`);return t===-1?{verb:e,value:``}:{verb:e.slice(0,t),value:e.slice(t+1)}}const qn=`closed`,Jn=`🍫`;function Yn(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 Xn(e,t,n,r){let i=Yn(e,t.length,n);if(i!==void 0)throw Error(i);return t.length===1?t[0]:t[r]}function Zn(e){return e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}function Qn(e,t,n,r,i){return{kind:`segment`,name:e,opens:{ref:t,body:n,placement:r},...i!==void 0&&{when:i}}}function $n(e,...t){return`{{ and ${[e,...t].map(er).join(` `)} }}`}function er(e){return`(eq .${e.variable} "${Zn(e.member)}")`}function tr(e,t,n){return`{{ ${nr(e,rr(t),rr(n))} }}`}function nr(e,t,n){return`action "${e}" ${t} ${n}`}function rr(e){return`"${Zn(e)}"`}function ir(e,t){return{kind:`state`,key:e,default:t}}function ar(e,t){return{set:e,cycle:[qn,t]}}const or=/^[A-Za-z0-9_./,:@%+-][A-Za-z0-9_./,:@%+=-]*$/;function sr(e){return`'${e.replaceAll(`'`,`'\\''`)}'`}function cr(e){return or.test(e)?e:sr(e)}var lr=ye(((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]/})),ur=ye(((e,t)=>{let n=lr();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)}}})),dr=ye(((e,t)=>{let n=ur(),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===`
|
|
6
6
|
`?(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`
|
|
7
7
|
`: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 w(b())},multiLineComment(){switch(_){case`*`:b(),p=`multiLineCommentAsterisk`;return;case void 0:throw w(b())}b()},multiLineCommentAsterisk(){switch(_){case`*`:b();return;case`/`:b(),p=`default`;return;case void 0:throw w(b())}b(),p=`multiLineComment`},singleLineComment(){switch(_){case`
|
|
8
8
|
`: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 w(b())},identifierNameStartEscape(){if(_!==`u`)throw w(b());b();let e=ne();switch(e){case`$`:case`_`:break;default:if(!n.isIdStartChar(e))throw oe();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 w(b());b();let e=ne();switch(e){case`$`:case`_`:case``:case``:break;default:if(!n.isIdContinueChar(e))throw oe();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 w(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 w(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 w(b())},decimalExponentSign(){if(n.isDigit(_)){m+=b(),p=`decimalExponentInteger`;return}throw w(b())},decimalExponentInteger(){if(n.isDigit(_)){m+=b();return}return S(`numeric`,g*Number(m))},hexadecimal(){if(n.isHexDigit(_)){m+=b(),p=`hexadecimalInteger`;return}throw w(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`
|
|
9
|
-
`:case`\r`:throw w(b());case`\u2028`:case`\u2029`:
|
|
9
|
+
`:case`\r`:throw w(b());case`\u2028`:case`\u2029`:E(_);break;case void 0:throw w(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 w(b())},afterPropertyName(){if(_===`:`)return S(`punctuator`,b());throw w(b())},beforePropertyValue(){p=`value`},afterPropertyValue(){switch(_){case`,`:case`}`:return S(`punctuator`,b())}throw w(b())},beforeArrayValue(){if(_===`]`)return S(`punctuator`,b());p=`value`},afterArrayValue(){switch(_){case`,`:case`]`:return S(`punctuator`,b())}throw w(b())},end(){throw w(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 w(b());b()}}function ee(){switch(y()){case`b`:return b(),`\b`;case`f`:return b(),`\f`;case`n`:return b(),`
|
|
10
10
|
`;case`r`:return b(),`\r`;case`t`:return b(),` `;case`v`:return b(),`\v`;case`0`:if(b(),n.isDigit(y()))throw w(b());return`\0`;case`x`:return b(),te();case`u`:return b(),ne();case`
|
|
11
11
|
`:case`\u2028`:case`\u2029`:return b(),``;case`\r`:return b(),y()===`
|
|
12
|
-
`&&b(),``;case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:throw w(b());case void 0:throw w(b())}return b()}function te(){let e=``,t=y();if(!n.isHexDigit(t)||(e+=b(),t=y(),!n.isHexDigit(t)))throw w(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 w(b());e+=b()}return String.fromCodePoint(parseInt(e,16))}let re={start(){if(l.type===`eof`)throw T();ie()},beforePropertyName(){switch(l.type){case`identifier`:case`string`:u=l.value,i=`afterPropertyName`;return;case`punctuator`:ae();return;case`eof`:throw T()}},afterPropertyName(){if(l.type===`eof`)throw T();i=`beforePropertyValue`},beforePropertyValue(){if(l.type===`eof`)throw T();ie()},beforeArrayValue(){if(l.type===`eof`)throw T();if(l.type===`punctuator`&&l.value===`]`){ae();return}ie()},afterPropertyValue(){if(l.type===`eof`)throw T();switch(l.value){case`,`:i=`beforePropertyName`;return;case`}`:ae()}},afterArrayValue(){if(l.type===`eof`)throw T();switch(l.value){case`,`:i=`beforeArrayValue`;return;case`]`:ae()}},end(){}};function ie(){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 ae(){a.pop();let e=a[a.length-1];i=e==null?`end`:Array.isArray(e)?`afterArrayValue`:`afterPropertyValue`}function w(e){return
|
|
12
|
+
`&&b(),``;case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:throw w(b());case void 0:throw w(b())}return b()}function te(){let e=``,t=y();if(!n.isHexDigit(t)||(e+=b(),t=y(),!n.isHexDigit(t)))throw w(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 w(b());e+=b()}return String.fromCodePoint(parseInt(e,16))}let re={start(){if(l.type===`eof`)throw T();ie()},beforePropertyName(){switch(l.type){case`identifier`:case`string`:u=l.value,i=`afterPropertyName`;return;case`punctuator`:ae();return;case`eof`:throw T()}},afterPropertyName(){if(l.type===`eof`)throw T();i=`beforePropertyValue`},beforePropertyValue(){if(l.type===`eof`)throw T();ie()},beforeArrayValue(){if(l.type===`eof`)throw T();if(l.type===`punctuator`&&l.value===`]`){ae();return}ie()},afterPropertyValue(){if(l.type===`eof`)throw T();switch(l.value){case`,`:i=`beforePropertyName`;return;case`}`:ae()}},afterArrayValue(){if(l.type===`eof`)throw T();switch(l.value){case`,`:i=`beforeArrayValue`;return;case`]`:ae()}},end(){}};function ie(){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 ae(){a.pop();let e=a[a.length-1];i=e==null?`end`:Array.isArray(e)?`afterArrayValue`:`afterPropertyValue`}function w(e){return ce(e===void 0?`JSON5: invalid end of input at ${s}:${c}`:`JSON5: invalid character '${se(e)}' at ${s}:${c}`)}function T(){return ce(`JSON5: invalid end of input at ${s}:${c}`)}function oe(){return c-=5,ce(`JSON5: invalid identifier character at ${s}:${c}`)}function E(e){console.warn(`JSON5: '${se(e)}' in strings is not valid ECMAScript; consider escaping`)}function se(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 ce(e){let t=SyntaxError(e);return t.lineNumber=s,t.columnNumber=c,t}})),fr=ye(((e,t)=>{let n=ur();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=`,
|
|
13
13
|
`+a;e=r.join(n),s=`{
|
|
14
14
|
`+a+e+`,
|
|
15
15
|
`+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=`,
|
|
16
16
|
`+a,i=n.join(e);r=`[
|
|
17
17
|
`+a+i+`,
|
|
18
|
-
`+t+`]`}return i.pop(),a=t,r}}})),
|
|
19
|
-
`,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&&
|
|
18
|
+
`+t+`]`}return i.pop(),a=t,r}}})),pr=xe(ye(((e,t)=>{t.exports={parse:dr(),stringify:fr()}}))(),1),mr=class extends Error{constructor(e,t){super(`${e} (at offset ${t})`),this.reason=e,this.offset=t,this.name=`Json5EditError`}};const hr=/[A-Za-z_$\p{L}]/u,gr=/[A-Za-z0-9_$\u200C\u200D\p{L}\p{N}]/u,_r=/[A-Za-z0-9_$.+\-\p{L}\p{N}]/u,vr=/[\t\n\v\f\r \u00A0\uFEFF\u2028\u2029\p{Zs}]/u;var yr=class{pos=0;constructor(e){this.text=e}peek(){return this.text[this.pos]??``}fail(e){throw new mr(e,this.pos)}skipTrivia(){for(;;){let e=this.peek();if(e===``)return;if(vr.test(e))this.pos++;else if(e===`/`&&this.text[this.pos+1]===`/`){let e=this.text.indexOf(`
|
|
19
|
+
`,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&&_r.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 pr.default.parse(this.text.slice(e.start,e.end))}catch(t){throw new mr(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
|
|
20
20
|
`,this.pos+1);this.pos+=e?3:2;continue}if(this.pos++,n===t)return{start:e,end:this.pos};n===`
|
|
21
|
-
`&&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(
|
|
21
|
+
`&&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(hr.test(e)||this.fail(`expected an object key`);this.pos<this.text.length&&gr.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 mr(`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 br(e){let t=new yr(e),n=t.value();return t.skipTrivia(),t.pos!==e.length&&t.fail(`trailing content after the document`),n}function xr(e,t){return e.kind===`object`?e.entries.find(e=>e.key===t):void 0}function Sr(e,t){let n=e;for(let e of t)n=n===void 0?void 0:xr(n,e)?.value;return n}function Cr(e,t){return e.slice(t.span.start,t.span.end)}function wr(e,t){let n=Lr(e,t.span.start),r=Tr(t),i=e=>r.some(t=>t.start<e&&e<t.end),a=t.span.start;return Cr(e,t).split(`
|
|
22
22
|
`).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(`
|
|
23
|
-
`)}function
|
|
23
|
+
`)}function Tr(e){switch(e.kind){case`object`:return e.entries.flatMap(e=>[e.keySpan,...Tr(e.value)]);case`array`:return e.elements.flatMap(Tr);case`string`:return[e.span];default:return[]}}const Er=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function Dr(e){return Er.test(e)?e:JSON.stringify(e)}const Or={key:Dr,trailingComma:`,`,parse:e=>pr.default.parse(e)},kr={key:e=>JSON.stringify(e),trailingComma:``,parse:e=>JSON.parse(e)};function Ar(e){if(Array.isArray(e))return e.length===0?`[]`:`[\n${e.map(e=>` ${Mr(Ar(e),` `,`
|
|
24
24
|
`)},`).join(`
|
|
25
|
-
`)}\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])=>` ${
|
|
25
|
+
`)}\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])=>` ${Dr(e)}: ${Mr(Ar(t),` `,`
|
|
26
26
|
`)},`).join(`
|
|
27
|
-
`)}\n}`}return JSON.stringify(e)}function
|
|
27
|
+
`)}\n}`}return JSON.stringify(e)}function jr(e){return e.includes(`\r
|
|
28
28
|
`)?`\r
|
|
29
29
|
`:`
|
|
30
|
-
`}function
|
|
31
|
-
`).join(`${n}${t}`)}function
|
|
32
|
-
`)}${n.trailingComma}\n}`;return`${n.key(r)}: ${a}`}function
|
|
33
|
-
`,t-1)+1}function
|
|
34
|
-
`)}function
|
|
35
|
-
`)}]}function
|
|
36
|
-
`),process.exit(1));let t;try{t=
|
|
37
|
-
`),process.exit(1)}function
|
|
30
|
+
`}function Mr(e,t,n){return e.split(`
|
|
31
|
+
`).join(`${n}${t}`)}function Nr(e,t,n){let[r,...i]=e,a=i.length===0?t:`{\n ${Mr(Nr(i,t,n),` `,`
|
|
32
|
+
`)}${n.trailingComma}\n}`;return`${n.key(r)}: ${a}`}function Pr(e,t,n,r){return e.slice(0,t)+r+e.slice(n)}function Fr(e,t){return e.lastIndexOf(`
|
|
33
|
+
`,t-1)+1}function Ir(e){return/^[ \t]*$/.test(e)}function Lr(e,t){let n=Fr(e,t);return/^[ \t]*/.exec(e.slice(n))[0]}function Rr(e,t){return Ir(e.slice(Fr(e,t),t))}const zr=/(?:\/\/[^\n]*?)?(\r\n|\n|$)/y;function Br(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++;zr.lastIndex=n;let i=zr.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 Vr(e,t){let{commaEnd:n,line:r}=Br(e,t.end);if(Rr(e,t.start)&&r!==null)return Pr(e,Fr(e,t.start),r.next,``);if(n!==-1){let r=n;for(;r<e.length&&e[r]===` `;)r++;return Pr(e,t.start,r,``)}let i=t.start;for(;i>0&&(e[i-1]===` `||e[i-1]===` `);)i--;return e[i-1]===`,`?Pr(e,i-1,t.end,``):Pr(e,t.start,t.end,``)}function Hr(e,t,n,r,i){let a=n.commaEnd!==-1,o=a?e:Pr(e,t.end,t.end,`,`),s=n.line.at+ +!a,c=jr(e);return Pr(o,s,s,`${c}${i}${Mr(r,i,c)}${a?`,`:``}`)}function Ur(e,t,n,r){let i=t.kind===`object`?t.entries:t.elements,a=i[i.length-1],o=Lr(e,t.span.start);if(a===void 0){let i=o+` `,a=jr(e);return Pr(e,t.span.start+1,t.span.end-1,`${a}${i}${Mr(n,i,a)}${r.trailingComma}${a}${o}`)}let{commaEnd:s,line:c}=Br(e,a.span.end);if(Rr(e,a.span.start)&&c!==null){let t=e.slice(Fr(e,a.span.start),a.span.start);return Hr(e,a.span,{commaEnd:s,line:c},n,t)}let l=s===-1?a.span.end:s;return Pr(e,l,l,`${s===-1?`, `:` `}${n}${s===-1?``:`,`}`)}function Wr(e,t,n,r){if(t.length===0)throw new mr(`setValue needs a non-empty path`,0);if(/^\s*$/.test(e)){let i=jr(e);return`{${i} ${Mr(Nr(t,n,r),` `,i)}${r.trailingComma}${i}}${i}`}return Gr(e,br(e),t,n,r)}function Gr(e,t,n,r,i){let a=t;for(let t=0;t<n.length;t++){if(a.kind!==`object`)throw new mr(`cannot set ${n.join(`.`)}: ${n.slice(0,t).join(`.`)||`the document`} is not an object`,a.span.start);let o=xr(a,n[t]);if(o===void 0)return Ur(e,a,Nr(n.slice(t),r,i),i);if(t===n.length-1){let t=Lr(e,o.keySpan.start);return Pr(e,o.value.span.start,o.value.span.end,Mr(r,t,jr(e)))}a=o.value}throw new mr(`unreachable: path exhausted`,0)}function Kr(e,t,n=0){if(t.length===0)throw new mr(`deleteValue needs a non-empty path`,0);if(/^\s*$/.test(e))return e;let r=t.slice(0,-1),i=Sr(br(e),r),a=i===void 0?void 0:xr(i,t[t.length-1]);if(a===void 0||i?.kind!==`object`)return e;let o=Vr(e,a.span);return r.length>n&&i.entries.length===1?Kr(o,r,n):o}const qr=[`h`,`v`,`children`];function Jr(e){if(e.kind===`string`)return e.value;if(e.kind!==`object`)return;let t=xr(e,`seg`)?.value,n=xr(e,`kind`)?.value,r=xr(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=xr(e,`id`)?.value;return a?.kind===`string`?a.value:i}function Yr(e){return e.kind===`object`?qr.map(t=>xr(e,t)?.value).filter(e=>e?.kind===`array`):[]}function Xr(e){let t=xr(e,`rows`)?.value;return t?.kind===`object`?t.entries:null}function Zr(e){if(e.kind!==`object`)return!0;let t=Xr(e);return t===null||t.length>0||e.entries.some(e=>e.key!==`rows`)}function*Qr(e,t){yield{node:e,bareAt:t};for(let t of Yr(e))for(let e of t.elements)yield*Qr(e,null);for(let n of Xr(e)??[])yield*Qr(n.value,t===null?null:[...t,`rows`,n.key])}function $r(e,t){for(let{node:n}of Qr(e,null))if(Jr(n)===t)return!0;return!1}function ei(e,t,n){let r=Sr(br(e),t);if(r===void 0)return null;for(let{node:i,bareAt:a}of Qr(r,t))if(Jr(i)===n)return a===null?{text:e,ref:i}:ei(Wr(e,a,`{ h: [${Cr(e,i)}] }`,Or),t,n);return null}function ti(e,t,n){let r=ei(e,t,n);return r===null?null:Vr(r.text,r.ref.span)}function ni(e,t,n,r,i){let a=ei(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}=Br(o,s.span.end);if(Rr(o,s.span.start)&&u!==null){let e=o.slice(Fr(o,s.span.start),s.span.start);return i===`after`?Hr(o,s.span,{commaEnd:l,line:u},c,e):Pr(o,s.span.start,s.span.start,`${c},${jr(o)}${e}`)}let d=Cr(o,s),f=i===`before`?`${c}, ${d}`:`${d}, ${c}`;return Pr(o,s.span.start,s.span.end,f)}function ri(e,t,n,r,i){let a=ei(e,t,n);if(a===null)return null;let{text:o,ref:s}=a,c=`{ ${Dr(r)}: ${i} }`;return s.kind===`string`?Pr(o,s.span.start,s.span.end,`{ seg: ${JSON.stringify(s.value)}, settings: ${c} }`):xr(s,`settings`)===void 0?Gr(o,s,[`settings`],c,Or):Gr(o,s,[`settings`,r],i,Or)}function ii(e,t){let n=(e.CLAUDE_CONFIG_DIR??``).split(`,`)[0].trim();return n===``?void 0:l.resolve(t,n)}function ai(e){return e??l.join(h.homedir(),`.claude`)}function oi(e){return l.join(e,`settings.json`)}function F(e){return l.join(e,`plugins`,`installed_plugins.json`)}function si(e){return r.existsSync(e)?r.readFileSync(e,`utf8`):``}function ci(e){let t;try{let n=si(e);if(/^\s*$/.test(n))return{};t=kr.parse(n)}catch(t){throw Error(`cannot read ${e}: ${ui(t)}`,{cause:t})}if(!li(t))throw Error(`cannot read ${e}: not a JSON object`);return t}const li=e=>typeof e==`object`&&!!e&&!Array.isArray(e),ui=e=>e instanceof Error?e.message:String(e);function I(e){return{kind:`ok`,value:e}}const L={kind:`absent`};function R(e){return{kind:`failed`,reason:e}}function di(e,t){return e?.kind===`ok`?e.value:t}const fi=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$/;function pi(e){let t=fi.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 mi(e){return e.join(`.`)}function hi([e,t,n],[r,i,a]){return e-r||t-i||n-a}const gi=`@promptctl/cc-candybar`;async function _i(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 R(`registry responded ${e.status} for ${r}`);let n=await e.json();return typeof n.latest==`string`?pi(n.latest):L}catch(e){return R(e instanceof Error?e.message:String(e))}}function vi(e,t){let n=pi(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=hi(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 yi(e,t){switch(t.kind){case`current`:return{stream:`stdout`,text:`✓ cc-candybar ${mi(t.installed)} is the latest release.\n`};case`ahead`:return{stream:`stdout`,text:`cc-candybar ${mi(t.installed)} is newer than the registry's latest release (${mi(t.latest)}): an unpublished build.\n`};case`stale`:{let n=mi(t.latest);return{stream:`stderr`,text:`⚠ cc-candybar ${mi(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 bi=`CCCandybarURLHandler`,xi=[],Si={"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 Ci(e,t){return[e,...t].map(cr).join(` `)}function wi(){return l.join(h.homedir(),`Applications`,`${bi}.app`)}function Ti(){if(process.platform!==`darwin`)throw Error(`URL handler installation requires macOS (found platform: ${process.platform}).`)}function Ei(){if(process.platform===`darwin`)return l.join(h.homedir(),`Library`,`Application Support`,`CCCandybar`);let e=process.env.XDG_DATA_HOME??l.join(h.homedir(),`.local`,`share`);return l.join(e,`cc-candybar`)}function Di(){return l.join(Ei(),`bin`,`cc-candybar`)}function Oi(){return l.join(Ei(),`dist`,`index.mjs`)}function ki(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(`
|
|
34
|
+
`)}function Ai(e){let t=/do shell script "'([^']+)' '([^']+)' url-handle "/.exec(e);if(t===null)return null;let n=e=>e.replace(/\\"/g,`"`);return{node:n(t[1]),script:n(t[2])}}function ji(e){return l.join(e,`Contents`,`Resources`,`Scripts`,`main.scpt`)}function Mi(e){if(!e)throw Error(`install: process.argv[1] not set`);return e.endsWith(`.mjs`)||e.endsWith(`.js`)?e:l.resolve(l.dirname(e),`..`,`dist`,`index.mjs`)}function Ni(t){let n=Si[`${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:l.resolve(l.dirname(t),`..`,`bin`,`cc-candybar`)}}function Pi(e,t){l.resolve(e)!==l.resolve(t)&&r.copyFileSync(e,t)}function Fi(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 ${gi}@latest install`);return n.toString(`latin1`)===`#!`?`node-shim`:`native`}finally{r.closeSync(t)}}function Ii(){let e=Mi(process.argv[1]);if(!r.existsSync(e))throw Error(`install: bundled dist not found at ${e}. Reinstall the package.`);let t=Ni(e);if(!r.existsSync(t.sourcePath))throw Error(`install: render entry not found at ${t.sourcePath}. Reinstall the package.`);r.mkdirSync(l.dirname(Oi()),{recursive:!0}),r.mkdirSync(l.dirname(Di()),{recursive:!0}),Pi(e,Oi()),Pi(t.sourcePath,Di()),r.chmodSync(Di(),493),r.rmSync(l.join(Ei(),`url-handler.mjs`),{force:!0});let n=Fi(Di());return process.stdout.write(`Staged cc-candybar v${Ct} runtime at ${Ei()}\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:Di(),distPath:Oi(),entryKind:n}}function Li(){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>${mn}</string>`,` </array>`,` </dict>`,`</array>`].join(`
|
|
35
|
+
`)}]}function Ri(e){let t=wi();r.mkdirSync(l.dirname(t),{recursive:!0}),r.existsSync(t)&&r.rmSync(t,{recursive:!0,force:!0}),process.stdout.write(`Building ${t}\n`);let n=Ne({bin:`/usr/bin/osacompile`,args:[`-o`,t,`-e`,ki(process.execPath,e)],category:`install.osacompile`});if(!n.ok)throw process.stderr.write(n.stderr),Error(`osacompile failed (${n.reason})`);let i=l.join(t,`Contents`,`Info.plist`);for(let{key:e}of Li())Ne({bin:`/usr/bin/plutil`,args:[`-remove`,e,i],category:`install.plutil`});for(let{key:e,xml:t}of Li()){let n=Ne({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 ${mn}:// with Launch Services\n`);let a=Ne({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(`✓ ${bi}.app installed and registered.\n`),process.stdout.write(` Test: open '${mn}://hello-world' && pbpaste\n`)}function zi(){Ti(),Ri(Ii().distPath)}function Bi(e,t=mn){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:vn,value:r}:{verb:decodeURIComponent(r.slice(0,i)),value:r.slice(i+1)}}async function Vi(e){e||(process.stderr.write(`url-handle: missing URL argument.
|
|
36
|
+
`),process.exit(1));let t;try{t=Bi(e)}catch(e){process.stderr.write(`url-handle: ${e instanceof Error?e.message:String(e)}\n`),process.exit(1)}let n=await Ot(t.verb,t.value);n.kind===`ok`&&process.exit(0),n.kind===`transient`&&(M(),process.stderr.write(`url-handle: daemon unavailable (${n.cause}: ${n.message})\n`),process.exit(1)),process.stderr.write(Hi(n)+`
|
|
37
|
+
`),process.exit(1)}function Hi(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 Ui(){return`✓ install complete.
|
|
38
38
|
Restart Claude Code to pick up the new statusline.
|
|
39
|
-
Tip: every bar carries a settings menu — click it (${
|
|
40
|
-
`),Ui(i.binPath,r,t),process.stdout.write(Vi());let a=_i(mi,gi(wt,await hi(mi,fetch,`https://registry.npmjs.org`)));process[a.stream].write(a.text)}function Ui(e,t,n,i){let a=i??ri(ni(ti(process.env,process.cwd())));r.mkdirSync(l.dirname(a),{recursive:!0});let o=oi(a).statusLine,s=si(o)?o.command:void 0,c=[e,ar(e),ir(e)],u=typeof s==`string`&&(s.startsWith(`pnpm dlx @promptctl/cc-candybar@`)||c.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}let d=xi(e,t);Fe(a,(si(o)?[[[`statusLine`,`type`],`command`],[[`statusLine`,`command`],d]]:[[[`statusLine`],{type:`command`,command:d}]]).reduce((e,[t,n])=>Vr(e,t,JSON.stringify(n,null,2),Er),ai(a))),process.stdout.write(`Updated ${a}\n`)}function Wi(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 Gi(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 Ki(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 qi(e,t){let n=Gi(e);if(n.kind===`owned`&&n.pid===t)try{r.unlinkSync(e)}catch{}}function Ji(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 Yi(e,t,n,r){let i=Xi(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 Xi(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 Zi(e){let t=!1;function n(){let n=Yi(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 Qi(e,t=Me){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 $i(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 ea(e,t=Qi){let n=t(e);return n.kind===`start`?n.token:null}const ta=`CC_CANDYBAR_PARENT_PID`;function na(e){let t=e[ta];if(t===void 0)return{kind:`outlives-nobody`};let n=Number.parseInt(t,10);if(!Number.isInteger(n)||n<=0)throw Error(`${ta} must be a positive integer pid, got ${JSON.stringify(t)}`);return{kind:`anchored`,pid:n}}function ra(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 ia(e){try{return t.kill(e,0),!0}catch(e){return e.code===`EPERM`}}function aa(){let e=Number(process.env.CC_CANDYBAR_DAEMON_CEILING??``);return Number.isInteger(e)&&e>0?e:16}function oa(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 sa(e){try{return r.readdirSync(e).filter(e=>e.endsWith(`.json`)).map(t=>l.join(e,t))}catch{return[]}}function ca(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 la(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 ua(e){if(!e.isolated)return{decision:oa(!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=oa(!0,la(t,e.isSameLiveProcess,e.removeFile),e.ceiling);if(!n.allow)return{decision:n,registryPath:null};let r=l.join(e.registryDir,`pid-${e.pid}.json`);return e.writeEntry(r,{pid:e.pid,startTime:e.startTime}),{decision:n,registryPath:r}}function da(e,t,n,r){let i=n(e);if(i!==null&&i.pid===t)try{r(e)}catch{}}function fa(e,t={}){return{isolated:!!process.env.CC_CANDYBAR_SOCKET,registryDir:Je(),ceiling:aa(),pid:process.pid,startTime:e,isSameLiveProcess:(e,t)=>$i(e,t,{readStartTime:Qi,pidAlive:ia}),listFiles:sa,readEntry:ca,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?He:e=>{He(l.dirname(e)),He(e)},...t}}const pa={theme:{configKey:`palette`,sessionKey:`theme`,effectiveVar:`theme.effective`,label:`🎨 theme`},preset:{configKey:`preset`,sessionKey:`preset`,effectiveVar:`preset.effective`,label:`▦`},style:{configKey:`style`,sessionKey:`style`,effectiveVar:`style.effective`,label:`◐`},effect:{configKey:`effect`,sessionKey:`effect`,effectiveVar:`effect.effective`,label:`✨`},endcaps:{configKey:`endcaps`,sessionKey:`endcaps`,effectiveVar:`endcaps.effective`,label:`✦`},variation:{configKey:`variation`,sessionKey:`variation`,effectiveVar:`variation.effective`,label:`🎼`},shade:{configKey:`shade`,sessionKey:`shade`,effectiveVar:`shade.effective`,label:`🔆`},transitions:{configKey:`transitions`,sessionKey:`transitions`,effectiveVar:`transitions.effective`,label:`fade in/out`},autoWrap:{configKey:`autoWrap`,sessionKey:`autoWrap`,effectiveVar:`autoWrap.effective`,label:`wrap`},padding:{configKey:`padding`,sessionKey:`padding`,effectiveVar:`padding.effective`,label:`padding`},updateNotice:{configKey:`updateNotice`,sessionKey:`updateNotice`,effectiveVar:`updateNotice.effective`,label:`update notice`}},ma=Object.values(pa),ha=[{configKey:`charset`,effectiveVar:`charset.effective`},{configKey:`colorCompatibility`,effectiveVar:`colorCompatibility.effective`}],ga=new Set(ha.map(e=>e.configKey)),_a=new Map([...ma,...ha].map(e=>[e.configKey,e.effectiveVar])),va=new Map(ma.map(e=>[e.sessionKey,e.effectiveVar]));function ya(e){return Object.fromEntries(Object.keys(pa).map(t=>[t,e(t)]))}const ba=new Map(Object.keys(pa).map(e=>[pa[e].sessionKey,e]));function xa({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 Sa=xa();function Ca(e){if(typeof e!=`string`)throw TypeError(`Expected a \`string\`, got \`${typeof e}\``);return!e.includes(`\x1B`)&&!e.includes(``)?e:e.replace(Sa,``)}const wa=[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],Ta=[12288,12288,65281,65376,65504,65510],Ea=[8361,8361,65377,65470,65474,65479,65482,65487,65490,65495,65498,65500,65512,65518],Da=[32,126,162,163,165,166,172,172,175,175,10214,10221,10629,10630],Oa=[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],ka=(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},Aa=wa[0],ja=wa.at(-1),Ma=Ta[0],Na=Ta.at(-1);Ea[0],Ea.at(-1),Da[0],Da.at(-1);const Pa=Oa[0],Fa=Oa.at(-1),Ia=19968,[La,Ra]=za(Oa);function za(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(Ia>=i&&Ia<=a)return[i,a];a-i>n-t&&(t=i,n=a)}return[t,n]}const Ba=e=>e<Aa||e>ja?!1:ka(wa,e),Va=e=>e<Ma||e>Na?!1:ka(Ta,e),Ha=e=>e>=La&&e<=Ra?!0:e<Pa||e>Fa?!1:ka(Oa,e);function Ua(e){if(!Number.isSafeInteger(e))throw TypeError(`Expected a code point, got \`${typeof e}\`.`)}function Wa(e,{ambiguousAsWide:t=!1}={}){return Ua(e),Va(e)||Ha(e)||t&&Ba(e)?2:1}const Ga=new Intl.Segmenter,Ka=RegExp(`[^\\p{Default_Ignorable_Code_Point}\\p{Control}\\p{Format}\\p{Nonspacing_Mark}\\p{Enclosing_Mark}\\p{Surrogate}]`,`v`),qa=RegExp(`\\p{Spacing_Mark}`,`v`),Ja=RegExp(`^\\p{RGI_Emoji}$`,`v`),Ya=/^[\d#*]\u20E3$/,Xa=/\p{Extended_Pictographic}/gu;function Za(e){if(e.length>50)return!1;if(Ya.test(e))return!0;if(e.includes(``)){let t=e.match(Xa);return t!==null&&t.length>=2}return!1}function Qa(e){let t=e.search(Ka);return t===-1?void 0:e.slice(t)}function $a(e){return e>=4352&&e<=4447||e>=43360&&e<=43388}function eo(e){return e>=4448&&e<=4519||e>=55216&&e<=55238}function to(e){return e>=4520&&e<=4607||e>=55243&&e<=55291}function no(e){return $a(e)||eo(e)||to(e)}function ro(e,t){let n=[];for(let t of e)Ka.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(!no(i)){if(r===0)return;for(let i=e;i<n.length;i++)r+=Wa(n[i],t);return r}if($a(i)&&eo(n[e+1])){r+=2,e+=to(n[e+2])?2:1;continue}r+=Wa(i,t)}return r}function io(e,t){let n=0,r=!0;for(let i of e){if(r){r=!1;continue}(qa.test(i)||i>=``&&i<=``)&&(n+=Wa(i.codePointAt(0),t))}return n}function ao(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=Ca(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 Ga.segment(i)){let t=Qa(e);if(t===void 0)continue;if(Ja.test(e)||Za(e)){a+=2;continue}let n=ro(t,o);if(n!==void 0){a+=n;continue}let r=t.codePointAt(0);a+=Wa(r,o),a+=io(t,o)}return a}var oo=class{entries=new Map;get size(){return this.entries.size}get(e,t){let n=this.entries.get(e);if(n!==void 0)return n;let r=t(e);return this.entries.size>=4096&&this.entries.clear(),this.entries.set(e,r),r}};const so=new oo;function V(e){return e.length===0?0:e.length<=64?so.get(e,ao):ao(e)}function co(e){return e}function lo(e){return e}function uo(e){return e>0?Math.floor(e):0}function fo(e,t){if(t<=0)return[``,e];if(t>=V(e))return[e,``];let n=bo(e,t);return[n+` `.repeat(t-V(n)),e.slice(n.length)]}function po(e,t){let n=bo(e,t),r=t-V(n),[i=``]=r>0?yo(e,lo(n.length)):[];return[n+` `.repeat(r),` `.repeat(V(i)-r)+e.slice(n.length+i.length)]}function mo(e,t){if(t<=0||e.length===0)return[e];let n=[],r=lo(0);for(;r<e.length;){let i=wo(e,r,t);n.push(e.slice(r,i)),r=i}return n}let ho,go;function _o(e){return go?.text!==e&&(ho??=new Intl.Segmenter(void 0,{granularity:`grapheme`}),go={text:e,segments:ho.segment(e)}),go.segments}function vo(e){return Array.from(yo(e,lo(0)))}function*yo(e,t){let n=_o(e);for(let r=t,i=n.containing(r);i;i=n.containing(r)){let t=i.index+i.segment.length;yield e.slice(r,t),r=lo(t)}}function bo(e,t){return e.slice(0,So(yo(e,lo(0)),t))}function xo(e,t){return e.slice(e.length-So(vo(e).reverse(),t))}function So(e,t){let n=0,r=0;for(let i of e){let e=V(i);if(n+e>t)break;n+=e,r+=i.length}return r}function Co(e,t,n){return lo(t+So(yo(e,t),n))}function wo(e,t,n){let[r=``]=yo(e,t);return lo(Math.max(Co(e,t,n),t+r.length))}function To(e){if(!Number.isInteger(e)||e<1)throw RangeError(`tabSize must be a positive integer, got ${e}`);return e}function Eo(e,t){let[n,...r]=e.split(` `),i=[],a=[],o=(e,t)=>{let n=e.lastIndexOf(`
|
|
41
|
-
`);return(n<0?t:0)+V(e.slice(n+1))},s=n,c=n,l=0,u=n.length,d=0;for(let e of r){l=o(c,l);let n=t-l%t;d+=n-1,i.push(u),a.push(d),s+=` `.repeat(n)+e,l+=n,c=e,u+=1+e.length}return{text:s,offsetOf:e=>{let t=0,n=i.length;for(;t<n;){let r=t+n>>1;i[r]<e?t=r+1:n=r}return e+(t===0?0:a[t-1])}}}var Do=class{name;dark;vars;constructor(e,t,n){this.name=e,this.dark=t;let r=n.get(`background`),i=r===void 0?ko(e):Oo(e,r);this.vars=new Map([...n].map(([e,t])=>[e,i(t,e)]))}get(e){return this.vars.get(e)}};function Oo(e,t){if(t.alpha!==1)throw RangeError(`palette ${JSON.stringify(e)}: background is the surface its translucent colours are drawn on, so it must be opaque; got ${t.hex}`);return e=>e.alpha===0?e:e.compositeOver(t)}function ko(e){return(t,n)=>{if(t.alpha!==1&&t.alpha!==0)throw RangeError(`palette ${JSON.stringify(e)}: ${n} is translucent (${t.hex}) but the palette has no "background" to draw it on`);return t}}function Ao(e){return e.toString(16).padStart(2,`0`)}function jo(e){return Number.isInteger(e)&&e>=0&&e<=255}function Mo(e,t){if(!jo(t))throw RangeError(`ColorRgba.${e} must be an integer in [0, 255]; got ${t}`)}var H=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,Mo(`red`,e),Mo(`green`,t),Mo(`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=`#`+Ao(this.red)+Ao(this.green)+Ao(this.blue);return this.alpha===1?e:e+Ao(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 No=new H(0,0,0);function Po(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 Fo(e,t){return Io(Po(e),Po(t))}function Io(e,t){return(Math.max(e,t)+.05)/(Math.min(e,t)+.05)}function Lo(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 Ro=class{colors;firstIndex;matchMemo=new oo;readableMemo=new oo;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(Po),this.luminanceCache}get size(){return this.colors.length}match(e){let t=`${e.red},${e.green},${e.blue},${e.alpha}`;return this.matchMemo.get(t,()=>this.nearest(e))}nearest(e){let t=0,n=1/0;for(let r=0;r<this.colors.length;r++){let i=this.colors[r],a=Lo(i,e);a<n&&(n=a,t=r)}return this.firstIndex+t}matchReadable(e,t,n){let r=`${e.red},${e.green},${e.blue}|${t.red},${t.green},${t.blue}|${n}`;return this.readableMemo.get(r,()=>this.nearestReadable(e,t,n))}nearestReadable(e,t,n){let r=Po(t),i=0,a=!1,o=-1/0;for(let t=0;t<this.colors.length;t++){let s=this.colors[t],c=this.luminances()[t],l=Io(c,r),u=l>=n,d=u?-Lo(s,e):l;(u&&!a||u===a&&d>o)&&(i=t,a=u,o=d)}return this.firstIndex+i}matchWhere(e,t){let n=this.colors.map(t=>Lo(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}},U;(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`})(U||={});function zo(e){switch(e){case U.DEFAULT:return 0;case U.STANDARD:case U.WINDOWS:return 1;case U.EIGHT_BIT:return 2;case U.TRUECOLOR:return 3}}const Bo={truecolor:U.TRUECOLOR,256:U.EIGHT_BIT,ansi:U.STANDARD,none:null},Vo=new Map([[`0`,null],[`false`,null],[`1`,U.STANDARD],[`true`,U.STANDARD],[`2`,U.EIGHT_BIT],[`3`,U.TRUECOLOR],[`iTerm.app`,U.TRUECOLOR],[`Apple_Terminal`,U.EIGHT_BIT],[`vscode`,U.TRUECOLOR],[`Tabby`,U.TRUECOLOR],[`xterm-kitty`,U.TRUECOLOR],[`xterm-ghostty`,U.TRUECOLOR],[`wezterm`,U.TRUECOLOR],[`alacritty`,U.TRUECOLOR],[`foot`,U.TRUECOLOR],[`contour`,U.TRUECOLOR]]);function Ho(e={}){let t=Wo(e).NO_COLOR;if(t!==void 0&&t!==``)return null;let n=Uo(Wo(e));return n===void 0?Ko(e):n}function Uo(e){let t=e.FORCE_COLOR;if(t===void 0||t===``)return;let n=Vo.get(t);return n===void 0?U.STANDARD:n}function Wo(e){return e.env??(typeof process<`u`?process.env:{})}function Go(e){let t=e.TERM;return t===`dumb`||t===`unknown`}function Ko(e){let t=Wo(e);if(!(e.isTTY??(typeof process<`u`?process.stdout?.isTTY??!1:!1))||Go(t))return null;let n=t.TERM??``,r=t.COLORTERM;if(r===`truecolor`||r===`24bit`)return U.TRUECOLOR;let i=Vo.get(n);if(i!==void 0)return i;let a=t.TERM_PROGRAM;if(a!==void 0){let e=Vo.get(a);if(e!==void 0)return e}return/-256(color)?$/i.test(n)?U.EIGHT_BIT:/-truecolor$/i.test(n)?U.TRUECOLOR:(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(n),U.STANDARD)}function qo(e,t){return e===`auto`?{colorSystem:Ho(t),hyperlinks:(Uo(Wo(t??{}))??null)!==null||Ko(t??{})!==null}:{colorSystem:typeof e==`string`?Jo(e):e,hyperlinks:!0}}function Jo(e,t){if(e===`auto`)return Ho(t);if(Object.hasOwn(Bo,e))return Bo[e];throw new Yo(`Unknown color system name: ${JSON.stringify(e)} (expected "auto", "truecolor", "256", "ansi", or "none")`)}var Yo=class extends Error{constructor(e){super(e),this.name=`ColorParseError`}};const Xo=new oo;var W=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===U.DEFAULT}get fixedValue(){switch(this.type){case U.TRUECOLOR:return this.value;case U.EIGHT_BIT:return this.number<16?void 0:vs.get(this.number);case U.DEFAULT:case U.STANDARD:case U.WINDOWS:return}}get isSystemDefined(){return this.type===U.STANDARD||this.type===U.WINDOWS}getAnsiCodes(e=!0){switch(this.type){case U.DEFAULT:return[e?`39`:`49`];case U.STANDARD:{let t=this.number;return e?t<8?[`${30+t}`]:[`${90+t-8}`]:t<8?[`${40+t}`]:[`${100+t-8}`]}case U.EIGHT_BIT:return[e?`38`:`48`,`5`,`${this.number}`];case U.TRUECOLOR:{let t=this.value;return[e?`38`:`48`,`2`,`${t.red}`,`${t.green}`,`${t.blue}`]}case U.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!==U.TRUECOLOR||!this.value)return this;let n=this.value.compositeOver(t);return n===this.value?this:e.fromRgba(n)}downgrade(e){if(this.type===U.DEFAULT||this.type===e||zo(this.type)<zo(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 U.TRUECOLOR:return this.value;case U.EIGHT_BIT:return this.number<16?Cs(e,this.type).ansiColors.get(this.number):vs.get(this.number);case U.STANDARD:case U.WINDOWS:return Cs(e,this.type).ansiColors.get(this.number);case U.DEFAULT:{let n=Cs(e,this.type);return t?n.foregroundColor:n.backgroundColor}}}static default(){return new e(`default`,U.DEFAULT)}static fromAnsi(t){let n=t<16?U.STANDARD:U.EIGHT_BIT;return new e(`color(${t})`,n,t)}static fromRgba(t){return new e(t.hex,U.TRUECOLOR,void 0,t)}static fromRgb(t,n,r){return e.fromRgba(new H(t,n,r))}static blend(t,n,r){for(let e of[t,n]){if(e.isDefault)throw new Yo(`A blend cannot mix "default", which is no colour`);if(e.value!==void 0&&e.value.alpha<1)throw new Yo(`A blend's ends are opaque; "${e.name}" is translucent`)}if(!(r>=0&&r<=1))throw new Yo(`A blend's fraction is in [0, 1]; got ${r}`);let i=t.fixedValue,a=n.fixedValue;return i!==void 0&&a!==void 0?e.fromRgba(fs(i,a,r)):r===0?t:r===1?n:t.type===n.type&&(t.number===void 0?t.name===n.name:t.number===n.number)?t:new es(t,n,r)}static matchOn(t,n,r,i){if(t.alpha<1)throw RangeError(`matchOn rounds an opaque colour; got alpha ${t.alpha}`);if(n===U.TRUECOLOR)return e.fromRgba(t);if(n===U.DEFAULT)return e.default();let a=r.ansiColors.match(t);return[[e.default(),i?r.foregroundColor:r.backgroundColor],[new e(`color(${a})`,n===U.WINDOWS?n:U.STANDARD,a),r.ansiColors.get(a)],...n===U.EIGHT_BIT?[Zo(t)]:[]].reduce((e,n)=>Lo(n[1],t)<Lo(e[1],t)?n:e)[0]}static matchMove(t,n,r,i,a){let o=e.matchOn(n,r,i,a);return Lo(t,n)<=Lo(o.getTruecolor(i,a),n)?void 0:o}static parse(e){return Xo.get(e.toLowerCase().trim(),as)}performDowngrade(t){let n=this.getTruecolor(Cs(void 0,t));switch(t){case U.EIGHT_BIT:return e.fromAnsi(ws(t).match(n));case U.STANDARD:case U.WINDOWS:{let r=this.number!==void 0&&this.number<16?this.number:ws(t).match(n);return new e(`color(${r})`,t,r)}case U.TRUECOLOR:return this;case U.DEFAULT:return e.default()}}};function Zo(e){let t=ys.match(e);return[W.fromAnsi(t),ys.get(t)]}function Qo(e,t,n,r){return fs(e.getTruecolor(r),t.getTruecolor(r),n)}function $o(e){return e.fixedValue?.hex??(e.number===void 0?e.name:`color(${e.number})`)}var es=class extends W{from;to;t;constructor(e,t,n){super(`blend(${$o(e)},${$o(t)},${n})`,U.TRUECOLOR,void 0,Qo(e,t,n)),this.from=e,this.to=t,this.t=n}get fixedValue(){}getTruecolor(e){return Qo(this.from,this.to,this.t,e)}};const ts=/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/,ns=/^color\((\d+)\)$/,rs=/^blend\((.*)\)$/,is=/^\s*(?:\d+(?:\.\d+)?|\.\d+)(?:e[+-]?\d+)?\s*$/;function as(e){if(e===`default`||e===``)return W.default();let t=Es[e];if(t!==void 0)return new W(e,t<16?U.STANDARD:U.EIGHT_BIT,t);if(e.startsWith(`#`))return new W(e,U.TRUECOLOR,void 0,ds(e));let n=ts.exec(e);if(n){let t=ss(e,n[1],`red`),r=ss(e,n[2],`green`),i=ss(e,n[3],`blue`);return new W(e,U.TRUECOLOR,void 0,new H(t,r,i))}let r=ns.exec(e);if(r){let t=ss(e,r[1],`number`);return new W(e,t<16?U.STANDARD:U.EIGHT_BIT,t)}let i=rs.exec(e);if(i){let t=os(i[1]),n=t[2]??``;if(t.length!==3||!is.test(n))throw new Yo(`ColorSpec "${e}": a blend is blend(<color>,<color>,<fraction>)`);return W.blend(W.parse(t[0]),W.parse(t[1]),Number(n))}throw new Yo(`Failed to parse color: "${e}"`)}function os(e){let t=[],n=0,r=0;for(let i=0;i<e.length;i++){let a=e[i];a===`(`?n++:a===`)`?n--:a===`,`&&n===0&&(t.push(e.slice(r,i)),r=i+1)}return t.push(e.slice(r)),t}function ss(e,t,n){let r=parseInt(t,10);if(!jo(r))throw new Yo(`ColorSpec "${e}": ${n} ${t} is out of range (0-255)`);return r}const cs=/^[0-9a-fA-F]+$/,ls={6:`RRGGBB`,8:`RRGGBBAA`};function us(e,t,n,r){if(!r.includes(n.length)||!cs.test(n)){let n=r.map(e=>t+ls[e]).join(` or `);throw new Yo(`Invalid hex colour ${JSON.stringify(e)} (expected ${n})`)}let i=e=>parseInt(n.slice(e,e+2),16);return new H(i(0),i(2),i(4),n.length===8?i(6)/255:1)}function ds(e){return us(e,`#`,e.startsWith(`#`)?e.slice(1):``,[6,8])}function fs(e,t,n=.5){return new H(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 ps=class{backgroundColor;foregroundColor;ansiColors;palette;constructor(e,t,n,r){if(this.backgroundColor=e,this.foregroundColor=t,this.ansiColors=n,this.palette=r,n.firstIndex!==0||n.size!==16)throw RangeError(`a TerminalTheme's ansiColors are the sixteen ANSI colours, indices 0–15; got ${n.size} from index ${n.firstIndex}`)}};function ms(){return[new H(0,0,0),new H(128,0,0),new H(0,128,0),new H(128,128,0),new H(0,0,128),new H(128,0,128),new H(0,128,128),new H(192,192,192),new H(128,128,128),new H(255,0,0),new H(0,255,0),new H(255,255,0),new H(0,0,255),new H(255,0,255),new H(0,255,255),new H(255,255,255)]}function hs(){let e=ms(),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 H(t[n],t[r],t[i]));for(let t=0;t<24;t++){let n=8+10*t;e.push(new H(n,n,n))}return e}function gs(){return[new H(12,12,12),new H(197,15,31),new H(19,161,14),new H(193,156,0),new H(0,55,218),new H(136,23,152),new H(58,150,221),new H(204,204,204),new H(118,118,118),new H(231,72,86),new H(22,198,12),new H(249,241,165),new H(59,120,255),new H(180,0,158),new H(97,214,214),new H(242,242,242)]}const _s=new Ro(ms()),vs=new Ro(hs()),ys=new Ro(hs().slice(16),16),bs=new Ro(gs()),xs=new ps(new H(0,0,0),new H(255,255,255),_s,new Do(`default`,!0,new Map)),Ss=new ps(bs.get(0),bs.get(7),bs,new Do(`windows`,!0,new Map));function Cs(e,t){return e??(t===U.WINDOWS?Ss:xs)}function ws(e){switch(e){case U.EIGHT_BIT:return ys;case U.STANDARD:return _s;case U.WINDOWS:return bs}}function Ts(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 Es=Ts({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}),Ds=[`default`,...Object.keys(Es)];var Os;const ks=[`l`,`c`,`h`,`alpha`],As=Object.freeze({hueShift:0,chromaScale:1,lightnessScale:1,lightnessShift:0});Object.freeze({hueShift:0,chromaScale:1,lightnessScale:-1,lightnessShift:1});function js(e){return e.hueShift%360==0&&e.chromaScale===1&&e.lightnessScale===1&&e.lightnessShift===0}function Ms(e){return e<=.04045?e/12.92:((e+.055)/1.055)**2.4}function Ns(e){return e<=.0031308?12.92*e:1.055*e**(1/2.4)-.055}function Ps(e){return e<0?0:e>1?1:e}const Fs=1e-4,Is=1e-7,Ls=(e,t)=>e<Is?0:t,Rs=(e,t,n)=>e*(1-n)+t*n,zs=e=>{let t=e%360;return t<0?t+360:t};function Bs(e,t,n){return e>=-Fs&&e<=1+Fs&&t>=-Fs&&t<=1+Fs&&n>=-Fs&&n<=1+Fs}var Vs=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=Ms(t),o=Ms(n),s=Ms(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=zs(180/Math.PI*Math.atan2(g,h));return new Os(m,_,Ls(_,v),i)}toRgba(){let e=Ps(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 H(Math.round(Ps(Ns(r))*255),Math.round(Ps(Ns(i))*255),Math.round(Ps(Ns(a))*255),this.alpha)}applyKey(e){if(js(e))return this;let t=Ps(this.l*e.lightnessScale+e.lightnessShift),n=Math.max(0,this.c*e.chromaScale),r=zs(this.h+e.hueShift);return new Os(t,n,Ls(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 ks){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>=Is,o=e.c>=Is,s=zs(a?this.h:o?e.h:0),c=zs(o?e.h:s),l=c-s,u=l<-180?s-360:s,d=l>180?c-360:c,f=Rs(this.c,e.c,n);return new Os(Rs(this.l,e.l,t),f,Ls(f,zs(Rs(u,d,r))),Rs(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(Bs(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);Bs(r.r,r.g,r.b)?i=t:a=t}return i}};Os=Vs;var Hs=class extends Error{ref;constructor(e,t,n){super(`color reference ${JSON.stringify(e)} did not resolve — ${t}`,n),this.ref=e,this.name=`ColorRefError`}};function Us(e,t){let n=t.trim();if(n.startsWith(`#`))try{return ds(n)}catch(e){throw e instanceof Yo?new Hs(t,e.message,{cause:e}):e}let r=e.get(n);if(r===void 0)throw new Hs(t,`no such variable in palette ${JSON.stringify(e.name)}`+Ws(e,n));return r}function Ws(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 Gs(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 Ks(e){let t=Math.round(e);return t<0?0:t>255?255:t}function qs(e){let{h:t,s:n,l:r}=e;if(n===0){let e=Ks(r*255);return new H(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 H(Ks((s+u)*255),Ks((c+u)*255),Ks((l+u)*255))}function Js(e){return e<0?0:e>1?1:e}function Ys(e,t){let n=Gs(e);return n.l=Js(n.l-.1*t),qs(n)}function Xs(e,t,n){return fs(t,e,Js(n))}function Zs(e,t=No){return Po(nc(e,t))>.179?new H(0,0,0):new H(255,255,255)}function Qs(e,t,n=4.5,r=U.TRUECOLOR,i=No,a){let o=nc(t,i),s=ic(e,o,n,Zs(o)),c=rc(r,a);if(c===void 0)return s;let l=tc(c,o);return Fo(tc(c,s),l)>=n?s:c.written.get(c.shown.matchReadable(e.compositeOver(o),l,n))}function $s(e,t,n,r=No,i){let a=nc(e,r),o=rc(t,i),s=e=>tc(o,nc(e,r));if(n(s(a),s))return a;let c=o?.shown.matchWhere(a,e=>n(e,s));return c===void 0?void 0:o.written.get(c)}function ec(e,t,n=No,r){return tc(rc(t,r),nc(e,n))}function tc(e,t){return e===void 0?t:W.fromRgba(t).downgrade(e.depth).getTruecolor(e.terminal)}function nc(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)}function rc(e,t){let n=Cs(t,e);switch(e){case U.EIGHT_BIT:return{depth:e,terminal:n,written:ws(e),shown:ws(e)};case U.STANDARD:case U.WINDOWS:return{depth:e,terminal:n,written:ws(e),shown:n.ansiColors};case U.TRUECOLOR:case U.DEFAULT:return}}function ic(e,t,n,r){let i=e.compositeOver(t);if(Fo(i,t)>=n)return i;let a=Vs.fromRgba(i),o=+(Po(r)>.179);if(Fo(new Vs(o,a.c,a.h,a.alpha).toRgba(),t)<n)return Zs(t);let s=a.l,c=o;for(let e=0;e<20;e++){let e=(s+c)/2;Fo(new Vs(e,a.c,a.h,a.alpha).toRgba(),t)>=n?c=e:s=e}return new Vs(c,a.c,a.h,a.alpha).toRgba()}const ac=.7,oc=[`primary`,`secondary`,`accent`,`success`,`warning`,`error`];function sc(e,t,n){let r=Oo(e,n.background),i=t=>{let i=n[t];if(i.alpha===0)throw RangeError(`palette ${JSON.stringify(e)}: ${t} is fully transparent (${i.hex}), so there is no colour to derive the palette from`);return r(i)},a={primary:i(`primary`),secondary:i(`secondary`),accent:i(`accent`),success:i(`success`),warning:i(`warning`),error:i(`error`),background:n.background,foreground:i(`foreground`)},o=new Map;o.set(`background`,a.background),o.set(`foreground`,a.foreground);for(let e of oc)o.set(e,a[e]);o.set(`foreground-muted`,fs(a.foreground,a.background,ac)),o.set(`background-muted`,fs(a.background,a.foreground,ac)),o.set(`surface`,fs(a.background,a.foreground,.05));let s=Zs(a.background);for(let e of oc){let t=a[e],n=fs(t,a.background,ac);o.set(`${e}-muted`,n),o.set(`text-${e}`,cc(Xs(t,s,.66),n,a.background)),o.set(`on-${e}`,Zs(t))}return new Do(e,t,o)}function cc(e,t,n){return ic(e,t,4.5,Zs(n))}const lc={name:`atom-one-dark`,dark:!0,ansi:{black:`#282C34`,red:`#E06C75`,green:`#98C379`,yellow:`#E5C07B`,blue:`#61AFEF`,magenta:`#C678DD`,cyan:`#56B6C2`,white:`#DCDFE4`,brightBlack:`#5D677A`,brightRed:`#E06C75`,brightGreen:`#98C379`,brightYellow:`#E5C07B`,brightBlue:`#61AFEF`,brightMagenta:`#C678DD`,brightCyan:`#56B6C2`,brightWhite:`#DCDFE4`},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`}},uc={name:`atom-one-light`,dark:!1,ansi:{black:`#383A42`,red:`#E45649`,green:`#50A14F`,yellow:`#C18401`,blue:`#0184BC`,magenta:`#A626A4`,cyan:`#0997B3`,white:`#BABABA`,brightBlack:`#4F525E`,brightRed:`#E06C75`,brightGreen:`#98C379`,brightYellow:`#D8B36E`,brightBlue:`#61AFEF`,brightMagenta:`#C678DD`,brightCyan:`#56B6C2`,brightWhite:`#FFFFFF`},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`}},dc={name:`catppuccin-frappe`,dark:!0,ansi:{black:`#51576D`,red:`#E78284`,green:`#A6D189`,yellow:`#E5C890`,blue:`#8CAAEE`,magenta:`#F4B8E4`,cyan:`#81C8BE`,white:`#B5BFE2`,brightBlack:`#626880`,brightRed:`#EDA0A2`,brightGreen:`#B9DBA2`,brightYellow:`#ECD7AE`,brightBlue:`#ADC2F3`,brightMagenta:`#F38ED8`,brightCyan:`#98D2CA`,brightWhite:`#A5ADCE`},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`}},fc={name:`catppuccin-latte`,dark:!1,ansi:{black:`#BCC0CC`,red:`#D20F39`,green:`#40A02B`,yellow:`#DF8E1D`,blue:`#1E66F5`,magenta:`#EA76CB`,cyan:`#179299`,white:`#5C5F77`,brightBlack:`#ACB0BE`,brightRed:`#E7103F`,brightGreen:`#46B02F`,brightYellow:`#E49931`,brightBlue:`#3878F6`,brightMagenta:`#EF95D7`,brightCyan:`#19A1A8`,brightWhite:`#6C6F85`},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`}},pc={name:`catppuccin-macchiato`,dark:!0,ansi:{black:`#494D64`,red:`#ED8796`,green:`#A6DA95`,yellow:`#EED49F`,blue:`#8AADF4`,magenta:`#F5BDE6`,cyan:`#8BD5CA`,white:`#B8C0E0`,brightBlack:`#5B6078`,brightRed:`#F2A7B2`,brightGreen:`#BDE3B0`,brightYellow:`#F4E3C1`,brightBlue:`#ADC5F7`,brightMagenta:`#F493DA`,brightCyan:`#A5DED6`,brightWhite:`#A5ADCB`},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`}},mc={name:`catppuccin-mocha`,dark:!0,ansi:{black:`#45475A`,red:`#F38BA8`,green:`#A6E3A1`,yellow:`#F9E2AF`,blue:`#89B4FA`,magenta:`#F5C2E7`,cyan:`#94E2D5`,white:`#BAC2DE`,brightBlack:`#585B70`,brightRed:`#F7AEC2`,brightGreen:`#C2ECBF`,brightYellow:`#FCD682`,brightBlue:`#AECCFC`,brightMagenta:`#F398DA`,brightCyan:`#B1EAE1`,brightWhite:`#A6ADC8`},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`}},hc=[`black`,`red`,`green`,`yellow`,`blue`,`magenta`,`cyan`,`white`,`brightBlack`,`brightRed`,`brightGreen`,`brightYellow`,`brightBlue`,`brightMagenta`,`brightCyan`,`brightWhite`],gc=Object.fromEntries(hc.map((e,t)=>[e,_s.get(t).hex])),_c={black:`#1A1A1A`,red:`#F4005F`,green:`#98E024`,yellow:`#FD971F`,blue:`#9D65FF`,magenta:`#F4005F`,cyan:`#58D1EB`,white:`#C4C5B5`,brightBlack:`#625E4C`,brightRed:`#F4005F`,brightGreen:`#98E024`,brightYellow:`#E0D561`,brightBlue:`#9D65FF`,brightMagenta:`#F4005F`,brightCyan:`#58D1EB`,brightWhite:`#F6F6EF`},vc={"atom-one-dark":lc,"atom-one-light":uc,"catppuccin-frappe":dc,"catppuccin-latte":fc,"catppuccin-macchiato":pc,"catppuccin-mocha":mc,cyberpunk:{name:`cyberpunk`,dark:!0,ansi:_c,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,ansi:gc,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,ansi:{black:`#21222C`,red:`#FF5555`,green:`#50FA7B`,yellow:`#F1FA8C`,blue:`#BD93F9`,magenta:`#FF79C6`,cyan:`#8BE9FD`,white:`#F8F8F2`,brightBlack:`#6272A4`,brightRed:`#FF6E6E`,brightGreen:`#69FF94`,brightYellow:`#FFFFA5`,brightBlue:`#D6ACFF`,brightMagenta:`#FF92DF`,brightCyan:`#A4FFFF`,brightWhite:`#FFFFFF`},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,ansi:{black:`#100F0F`,red:`#D14D41`,green:`#879A39`,yellow:`#D0A215`,blue:`#4385BE`,magenta:`#CE5D97`,cyan:`#3AA99F`,white:`#878580`,brightBlack:`#575653`,brightRed:`#AF3029`,brightGreen:`#66800B`,brightYellow:`#AD8301`,brightBlue:`#205EA6`,brightMagenta:`#A02F6F`,brightCyan:`#24837B`,brightWhite:`#CECDC3`},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,ansi:{black:`#282828`,red:`#CC241D`,green:`#98971A`,yellow:`#D79921`,blue:`#458588`,magenta:`#B16286`,cyan:`#689D6A`,white:`#A89984`,brightBlack:`#928374`,brightRed:`#FB4934`,brightGreen:`#B8BB26`,brightYellow:`#FABD2F`,brightBlue:`#83A598`,brightMagenta:`#D3869B`,brightCyan:`#8EC07C`,brightWhite:`#EBDBB2`},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,ansi:{black:`#333333`,red:`#C4265E`,green:`#86B42B`,yellow:`#B3B42B`,blue:`#6A7EC8`,magenta:`#8C6BC8`,cyan:`#56ADBC`,white:`#E3E3DD`,brightBlack:`#666666`,brightRed:`#F92672`,brightGreen:`#A6E22E`,brightYellow:`#E2E22E`,brightBlue:`#819AFF`,brightMagenta:`#AE81FF`,brightCyan:`#66D9EF`,brightWhite:`#F8F8F2`},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,ansi:{black:`#3B4252`,red:`#BF616A`,green:`#A3BE8C`,yellow:`#EBCB8B`,blue:`#81A1C1`,magenta:`#B48EAD`,cyan:`#88C0D0`,white:`#E5E9F0`,brightBlack:`#596377`,brightRed:`#BF616A`,brightGreen:`#A3BE8C`,brightYellow:`#EBCB8B`,brightBlue:`#81A1C1`,brightMagenta:`#B48EAD`,brightCyan:`#8FBCBB`,brightWhite:`#ECEFF4`},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,ansi:{black:`#26233A`,red:`#EB6F92`,green:`#31748F`,yellow:`#F6C177`,blue:`#9CCFD8`,magenta:`#C4A7E7`,cyan:`#EBBCBA`,white:`#E0DEF4`,brightBlack:`#6E6A86`,brightRed:`#EB6F92`,brightGreen:`#31748F`,brightYellow:`#F6C177`,brightBlue:`#9CCFD8`,brightMagenta:`#C4A7E7`,brightCyan:`#EBBCBA`,brightWhite:`#E0DEF4`},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,ansi:{black:`#F2E9E1`,red:`#B4637A`,green:`#286983`,yellow:`#EA9D34`,blue:`#56949F`,magenta:`#907AA9`,cyan:`#D7827E`,white:`#575279`,brightBlack:`#9893A5`,brightRed:`#B4637A`,brightGreen:`#286983`,brightYellow:`#EA9D34`,brightBlue:`#56949F`,brightMagenta:`#907AA9`,brightCyan:`#D7827E`,brightWhite:`#575279`},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,ansi:{black:`#393552`,red:`#EB6F92`,green:`#3E8FB0`,yellow:`#F6C177`,blue:`#9CCFD8`,magenta:`#C4A7E7`,cyan:`#EA9A97`,white:`#E0DEF4`,brightBlack:`#6E6A86`,brightRed:`#EB6F92`,brightGreen:`#3E8FB0`,brightYellow:`#F6C177`,brightBlue:`#9CCFD8`,brightMagenta:`#C4A7E7`,brightCyan:`#EA9A97`,brightWhite:`#E0DEF4`},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,ansi:{black:`#073642`,red:`#DC322F`,green:`#859900`,yellow:`#B58900`,blue:`#268BD2`,magenta:`#D33682`,cyan:`#2AA198`,white:`#EEE8D5`,brightBlack:`#335E69`,brightRed:`#CB4B16`,brightGreen:`#586E75`,brightYellow:`#657B83`,brightBlue:`#839496`,brightMagenta:`#6C71C4`,brightCyan:`#93A1A1`,brightWhite:`#FDF6E3`},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,ansi:{black:`#073642`,red:`#DC322F`,green:`#859900`,yellow:`#B58900`,blue:`#268BD2`,magenta:`#D33682`,cyan:`#2AA198`,white:`#BBB5A2`,brightBlack:`#002B36`,brightRed:`#CB4B16`,brightGreen:`#586E75`,brightYellow:`#657B83`,brightBlue:`#839496`,brightMagenta:`#6C71C4`,brightCyan:`#93A1A1`,brightWhite:`#FDF6E3`},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,ansi:{black:`#4B4E55`,red:`#CC555A`,green:`#98A84B`,yellow:`#D0B344`,blue:`#608AB1`,magenta:`#98729F`,cyan:`#68A0B3`,white:`#C5C8C6`,brightBlack:`#9A9B99`,brightRed:`#FF2627`,brightGreen:`#00823D`,brightYellow:`#D08442`,brightBlue:`#1984E9`,brightMagenta:`#FF2C7A`,brightCyan:`#398280`,brightWhite:`#FDFDC5`},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,ansi:gc,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,ansi:_c,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,ansi:{black:`#000000`,red:`#AA3731`,green:`#448C27`,yellow:`#CB9000`,blue:`#325CC0`,magenta:`#7A3E9D`,cyan:`#0083B2`,white:`#F7F7F7`,brightBlack:`#777777`,brightRed:`#F05050`,brightGreen:`#60CB00`,brightYellow:`#FFBC5D`,brightBlue:`#007ACC`,brightMagenta:`#E64CE6`,brightCyan:`#00AACB`,brightWhite:`#F7F7F7`},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,ansi:{black:`#15161E`,red:`#F7768E`,green:`#9ECE6A`,yellow:`#E0AF68`,blue:`#7AA2F7`,magenta:`#BB9AF7`,cyan:`#7DCFFF`,white:`#A9B1D6`,brightBlack:`#414868`,brightRed:`#F7768E`,brightGreen:`#9ECE6A`,brightYellow:`#E0AF68`,brightBlue:`#7AA2F7`,brightMagenta:`#BB9AF7`,brightCyan:`#7DCFFF`,brightWhite:`#C0CAF5`},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`}}},yc=Object.freeze(Object.keys(vc).sort()),bc=new Map;function xc(){return yc}function Sc(e){if(!Cc(e))return null;let t=bc.get(e);if(t!==void 0)return t;let n=Ec(vc[e]);return bc.set(e,n),n}function Cc(e){return Object.hasOwn(vc,e)}function wc(e){let t=vc[e],n=Tc(t,`background`),r=Oo(t.name,n),i=e=>r(Tc(t,e));return{name:t.name,dark:t.dark,bg:n,fg:i(`foreground`),primary:i(`primary`),secondary:i(`secondary`),accent:i(`accent`),success:i(`success`),warning:i(`warning`),error:i(`error`),ansi:new Ro(hc.map(e=>Oc(t.ansi[e],t.name,`ansi.${e}`)))}}function Tc(e,t){let n=e.vars[t];if(n===void 0)throw Error(`Theme ${e.name}: required base var "${t}" missing from data file`);return Dc(n,e.name,t)}function Ec(e){let t=new Map;for(let[n,r]of Object.entries(e.vars))t.set(n,Dc(r,e.name,`var ${n}`));for(let n of oc){let r=Tc(e,`text-${n}`);t.set(`text-${n}`,cc(r,Tc(e,`${n}-muted`),Tc(e,`background`)))}return new Do(e.name,e.dark,t)}function Dc(e,t,n){try{return ds(e)}catch(e){throw e instanceof Yo?Error(`Theme ${t}: ${n}: ${e.message}`,{cause:e}):e}}function Oc(e,t,n){let r=Dc(e,t,n);if(r.alpha!==1)throw Error(`Theme ${t}: ${n} has alpha in ${JSON.stringify(e)} (expected #RRGGBB)`);return r}function kc(e){return new ps(e.bg,e.fg,e.ansi,sc(e.name,e.dark,{primary:e.primary,secondary:e.secondary,accent:e.accent,success:e.success,warning:e.warning,error:e.error,background:e.bg,foreground:e.fg}))}const Ac=kc(wc(`default`));kc(wc(`svg-export`)),kc(wc(`monokai`)),kc(wc(`nord`)),kc(wc(`gruvbox`)),kc(wc(`dracula`)),kc(wc(`tokyo-night`)),kc(wc(`flexoki`)),kc(wc(`cyberpunk`)),kc(wc(`catppuccin-mocha`)),kc(wc(`catppuccin-latte`)),kc(wc(`catppuccin-frappe`)),kc(wc(`catppuccin-macchiato`)),kc(wc(`solarized-dark`)),kc(wc(`solarized-light`)),kc(wc(`rose-pine`)),kc(wc(`rose-pine-moon`)),kc(wc(`rose-pine-dawn`)),kc(wc(`atom-one-dark`)),kc(wc(`atom-one-light`)),kc(wc(`textual-dark`)),kc(wc(`textual-light`)),kc(wc(`textual-ansi`));const jc=new Set([`error`,`success`,`warning`]);function Mc(e){let t=e.indexOf(`-`);return t===-1?e:e.slice(0,t)}function Nc(e){return jc.has(Mc(e))}function Pc(e,t,n){if(js(t))return new Do(n??e.name,e.dark,e.vars);let r={...t,hueShift:0},i=new Map;for(let[n,a]of e.vars){let e=Nc(n)?r:t;i.set(n,Vs.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=Vs.fromRgba(a).l<.5;return new Do(n??e.name,o,i)}var Fc=class{ease;stops;constructor(e,t){if(this.ease=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=this.ease((e-r.at)/(i.at-r.at));return a<=0?r.color:a>=1?i.color:Vs.fromRgba(r.color).mix(Vs.fromRgba(i.color),a).toRgba()}};function Ic(e,t,n,r){for(let[i,a]of[[`x1`,e],[`y1`,t],[`x2`,n],[`y2`,r]])if(!Number.isFinite(a))throw RangeError(`cubicBezier ${i} must be finite, got ${a}`);if(e<0||e>1||n<0||n>1)throw RangeError(`cubicBezier x1 and x2 must lie in [0, 1], got ${e} and ${n}`);let i=3*e,a=3*(n-e)-i,o=1-i-a,s=3*t,c=3*(r-t)-s,l=1-s-c,u=e=>((o*e+a)*e+i)*e,d=e=>((l*e+c)*e+s)*e,f=e=>(3*o*e+2*a)*e+i,p=1e-9,m=e=>{let t=e;for(let n=0;n<8;n++){let n=u(t)-e;if(Math.abs(n)<p)return t;let r=f(t);if(Math.abs(r)<1e-6)break;t-=n/r}let n=0,r=1;for(t=e;r-n>p;)u(t)<e?n=t:r=t,t=(n+r)/2;return t};return e=>d(m(Math.min(1,Math.max(0,e))))}function Lc(e,t=`jump-end`){let n=t===`jump-none`?2:1;if(!Number.isInteger(e)||e<n)throw RangeError(`steps(${e}, "${t}") needs a whole number of steps ≥ ${n}`);let r=t===`jump-start`||t===`start`||t===`jump-both`,i={"jump-start":e,start:e,"jump-end":e,end:e,"jump-both":e+1,"jump-none":e-1}[t],a=+!!r;return t=>Math.min(i,Math.floor(Math.min(1,Math.max(0,t))*e)+a)/i}const Rc=e=>e,zc=Lc(1,`jump-end`),Bc={linear:Rc,ease:Ic(.25,.1,.25,1),"ease-in":Ic(.42,0,1,1),"ease-out":Ic(0,0,.58,1),"ease-in-out":Ic(.42,0,.58,1),"step-start":Lc(1,`jump-start`),"step-end":zc,step:zc,sine:e=>(1-Math.cos(Math.PI*e))/2};function Vc(e){if(!Object.hasOwn(Bc,e))throw RangeError(`unknown ease ${JSON.stringify(e)}; expected one of `+Object.keys(Bc).map(e=>JSON.stringify(e)).join(`, `));return Bc[e]}function Hc(e,t){if(!Number.isFinite(t)||t<=0)throw RangeError(`${e} must be a positive number of seconds, got ${t}`)}const Uc={once(e,t){if(!Number.isFinite(e))throw RangeError(`Phase.once start must be finite, got ${e}`);return Hc(`Phase.once duration`,t),n=>Math.min(1,Math.max(0,(n-e)/t))},loop(e){return Hc(`Phase.loop period`,e),t=>(t%e+e)%e/e},pingPong(e){Hc(`Phase.pingPong period`,e);let t=Uc.loop(e);return e=>1-Math.abs(2*t(e)-1)}};function Wc(e,t){return{owner:e.owner,row:e.row,col:e.col+t,inner:e.inner&&Wc(e.inner,t)}}function Gc(e,t){for(let n=e;n;n=n.inner)if(n.owner===t)return!0;return!1}const Kc=[`bold`,`dim`,`italic`,`underline`,`blink`,`blink2`,`reverse`,`conceal`,`strike`,`underline2`,`frame`,`encircle`,`overline`],qc={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},Jc={b:`bold`,d:`dim`,i:`italic`,u:`underline`,s:`strike`,r:`reverse`,o:`overline`,uu:`underline2`};var Yc=class extends Error{constructor(e,t){super(e,t),this.name=`StyleSyntaxError`}};const Xc=new oo;var G=class e{color;bgcolor;bold;dim;italic;underline;blink;blink2;reverse;conceal;strike;underline2;frame;encircle;overline;link;meta;anchor;constructor(e={}){this.color=sl(e.color),this.bgcolor=cl(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,this.anchor=e.anchor}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&&this.anchor===void 0}get transparentBackground(){return this.bgcolor===void 0||this.bgcolor.isDefault}get backgroundStyle(){return new e({bgcolor:this.bgcolor})}with(t){return new e({...this,...t})}get withoutColor(){return this.with({color:void 0,bgcolor:void 0})}withLink(e){return this.with({link:e})}clearMetaAndLinks(){return this.with({link:void 0,meta:void 0})}withAnchor(e){return this.with({anchor:e})}shiftedBy(e){return this.anchor?this.withAnchor(Wc(this.anchor,e)):this}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,anchor:t.anchor??this.anchor})}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&&dl(this.anchor,e.anchor)}drawnColors(e){let t=No,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=this.drawnColors(e);return[...Kc.filter(e=>this[e]===!0).map(e=>`${qc[e]}`),...t.color?.getAnsiCodes(!0)??[],...t.bgcolor?.getAnsiCodes(!1)??[]].join(`;`)}toString(){if(this.isNull)return`none`;let e=[];for(let t of Kc)this[t]===!1&&e.push(`not ${t}`);for(let t of Kc)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 Zc}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=Zc;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);return n===``||n===`none`?Zc:Xc.get(n,ol)}};const Zc=new G,Qc=/^[a-z][a-z0-9._-]*$/;function $c(e,t){return e instanceof G?e.add(t):e===``?t:typeof e==`string`?{under:e,over:t}:{under:e.under,over:e.over.add(t)}}var el=class{styles;constructor(e={},t){if(this.styles=new Map,t?.inherit!==!1)for(let[e,t]of Object.entries(ll))this.styles.set(e,t);for(let[t,n]of Object.entries(e)){if(!Qc.test(t))throw Error(`Invalid style name: "${t}" (must be lowercase, start with letter, contain only letters, digits, ".", "-", "_")`);this.styles.set(t,G.parse(n))}}get(e){return this.styles.get(e)}resolve(e){return e instanceof G?e:typeof e==`string`?this.styles.get(e)??G.parse(e):this.resolve(e.under).add(e.over)}has(e){return this.styles.has(e)}};const tl=new Set(Kc),nl=[`not`,`on`,`link`,...Kc,...Ds];function rl(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 il(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:rl(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 al(e,t,n){try{return W.parse(e)}catch(r){throw new Yc(`${t} "${e}"${il(e,n)}: ${String(r)}`,{cause:r})}}function ol(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 Yc(`Expected attribute after "not" in style definition`);let i=Jc[e]??e;if(!tl.has(i))throw new Yc(`Invalid attribute: "${e}"${il(e,Kc)}`);n[i]=!1,r++;continue}if(e===`on`){r++;let e=t[r];if(!e)throw new Yc(`Expected color after "on" in style definition`);n.bgcolor=al(e,`Invalid background color`,Ds),r++;continue}if(e===`link`){r++;let e=t[r];e&&(n.link=e),r++;continue}let i=Jc[e]??e;if(tl.has(i)){n[i]=!0,r++;continue}n.color=al(e,`Invalid style definition`,nl),r++}return new G(n)}function sl(e){if(e!==void 0)return e instanceof W?e:W.parse(e)}function cl(e){let t=sl(e);return t?.value?.alpha===0?void 0:t}const ll={none:Zc,reset:new G({color:W.default(),bgcolor:W.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 G({bold:!0}),dim:new G({dim:!0}),italic:new G({italic:!0}),underline:new G({underline:!0}),blink:new G({blink:!0}),blink2:new G({blink2:!0}),reverse:new G({reverse:!0}),conceal:new G({conceal:!0}),strike:new G({strike:!0}),underline2:new G({underline2:!0}),frame:new G({frame:!0}),encircle:new G({encircle:!0}),overline:new G({overline:!0}),"table.header":new G({bold:!0}),"table.footer":new G({bold:!0}),"table.cell":Zc,"table.title":new G({italic:!0}),"table.caption":new G({italic:!0,dim:!0}),"repr.ellipsis":G.parse(`yellow`),"repr.indent":G.parse(`dim green`),"repr.error":G.parse(`bold red`),"repr.str":G.parse(`not bold not italic green`),"repr.brace":G.parse(`bold`),"repr.comma":G.parse(`bold`),"repr.ipv4":G.parse(`bold bright_green`),"repr.ipv6":G.parse(`bold bright_green`),"repr.eui48":G.parse(`bold bright_green`),"repr.eui64":G.parse(`bold bright_green`),"repr.tag_start":G.parse(`bold`),"repr.tag_name":G.parse(`bold bright_magenta`),"repr.tag_contents":G.parse(`default`),"repr.tag_end":G.parse(`bold`),"repr.attrib_name":G.parse(`not italic yellow`),"repr.attrib_equal":G.parse(`bold`),"repr.attrib_value":G.parse(`not italic magenta`),"repr.number":G.parse(`bold not italic cyan`),"repr.number_complex":G.parse(`bold not italic cyan`),"repr.bool_true":G.parse(`italic bright_green`),"repr.bool_false":G.parse(`italic bright_red`),"repr.none":G.parse(`italic magenta`),"repr.url":G.parse(`not bold not italic underline bright_blue`),"repr.uuid":G.parse(`not bold bright_yellow`),"repr.call":G.parse(`bold magenta`),"repr.path":G.parse(`magenta`),"repr.filename":G.parse(`bright_magenta`),"log.time":G.parse(`cyan dim`),"log.message":Zc,"log.path":G.parse(`dim`),"log.line_no":G.parse(`cyan`),"log.level":Zc,"rule.line":G.parse(`bright_green`),"rule.text":Zc,"strip.separator":G.parse(`bright_black`),"strip.rail":G.parse(`bright_black`),"json.brace":G.parse(`bold`),"json.bool_true":G.parse(`italic bright_green`),"json.bool_false":G.parse(`italic bright_red`),"json.key":G.parse(`bold blue`),"json.null":G.parse(`italic magenta`),"json.number":G.parse(`bold not italic cyan`),"json.str":G.parse(`not bold not italic green`),"syntax.keyword":G.parse(`bold magenta`),"syntax.constant":G.parse(`italic bright_magenta`),"syntax.string":G.parse(`green`),"syntax.number":G.parse(`cyan`),"syntax.comment":G.parse(`dim italic`),"syntax.line_number":G.parse(`dim`),"syntax.line_number.highlight":G.parse(`bold grey93 on grey27`),"markdown.h1":G.parse(`bold underline`),"markdown.h2":G.parse(`bold`),"markdown.h3":G.parse(`bold dim`),"markdown.h4":G.parse(`bold dim italic`),"markdown.code":G.parse(`bold dark_turquoise on grey11`),"markdown.hr":G.parse(`yellow`),"markdown.link":G.parse(`bright_blue`),"markdown.link_url":G.parse(`blue`),"progress.description":Zc,"progress.percentage":G.parse(`magenta`),"progress.remaining":G.parse(`cyan`),"progress.elapsed":G.parse(`yellow`),"progress.spinner":G.parse(`green`),"progress.download":G.parse(`green`),"progress.filesize":G.parse(`green`),"progress.filesize.total":G.parse(`green`),"progress.data.speed":G.parse(`red`),"bar.back":G.parse(`grey23`),"bar.complete":G.parse(`rgb(249,38,114)`),"bar.finished":G.parse(`rgb(114,156,31)`),"bar.pulse":G.parse(`rgb(249,38,114)`),"scrollbar.thumb":Zc,"scrollbar.track":G.parse(`grey37`),tree:Zc,"tree.guide":Zc,"status.spinner":G.parse(`green`),"status.message":Zc,prompt:Zc,"prompt.choices":G.parse(`bold magenta`),"prompt.default":G.parse(`bold cyan`),"prompt.invalid":G.parse(`red`),"prompt.invalid.choice":G.parse(`red`),"inspect.attr":G.parse(`yellow italic`),"inspect.attr.dunder":G.parse(`yellow italic dim`),"inspect.callable":G.parse(`bold magenta`),"inspect.error":G.parse(`bold red`),"inspect.help":G.parse(`cyan`),"inspect.doc":G.parse(`dim`),"inspect.value.border":G.parse(`green`),"traceback.border":G.parse(`red`),"traceback.text":G.parse(`red`),"traceback.title":G.parse(`bold red`),"traceback.exc_type":G.parse(`bold bright_red`),"traceback.exc_value":Zc,"traceback.offset":G.parse(`bold bright_red`),"scope.border":G.parse(`blue`),"scope.key":G.parse(`italic`),"scope.key.special":G.parse(`dim italic`),pretty:Zc,"iso8601.date":G.parse(`blue`),"iso8601.time":G.parse(`magenta`),"iso8601.timezone":G.parse(`yellow`),"iso8601.year":Zc,"iso8601.month":Zc,"iso8601.day":Zc,"iso8601.week":Zc,"iso8601.hour":Zc,"iso8601.minute":Zc,"iso8601.second":Zc,"iso8601.frac":Zc,"iso8601.ms":Zc,"iso8601.hyphen":Zc},ul=new el;function dl(e,t){return e===t?!0:!e||!t?!1:e.owner===t.owner&&e.row===t.row&&e.col===t.col&&dl(e.inner,t.inner)}var fl;(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`})(fl||={});var K=class e{text;style;control;constructor(e,t,n){this.text=e,this.style=t,this.control=n}get cellLength(){return this.control?0:V(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]=po(this.text,t);return[new e(n,this.style),new e(r,this.style?.shiftedBy(t))]}static _line;static line(){return e._line??=new e(`
|
|
42
|
-
`)}static anchorLines(t,n,r=0){return t.map((t,i)=>{let a=r+i,o=0;return t.map(t=>{if(t.isControl)return t;let r=t.style??
|
|
39
|
+
Tip: every bar carries a settings menu — click it (${Jn} by\n default) for quick actions, preset switching, edit mode, and clickable\n theme/style/variation/shade/endcaps/wrap/padding controls.\n`}async function Wi(e){let t=e.includes(`--force`),n=e.filter(e=>e!==`--force`),r=n.length>0?n:[...xi],i=Ii();process.platform===`darwin`?Ri(i.distPath):process.stdout.write(`Skipping URL handler (cmd-click verbs are macOS-only).
|
|
40
|
+
`),Gi(i.binPath,r,t),process.stdout.write(Ui());let a=yi(gi,vi(Ct,await _i(gi,fetch,`https://registry.npmjs.org`)));process[a.stream].write(a.text)}function Gi(e,t,n,i){let a=i??oi(ai(ii(process.env,process.cwd())));r.mkdirSync(l.dirname(a),{recursive:!0});let o=ci(a).statusLine,s=li(o)?o.command:void 0,c=[e,cr(e),sr(e)],u=typeof s==`string`&&(s.startsWith(`pnpm dlx @promptctl/cc-candybar@`)||c.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}let d=Ci(e,t);Ie(a,(li(o)?[[[`statusLine`,`type`],`command`],[[`statusLine`,`command`],d]]:[[[`statusLine`],{type:`command`,command:d}]]).reduce((e,[t,n])=>Wr(e,t,JSON.stringify(n,null,2),kr),si(a))),process.stdout.write(`Updated ${a}\n`)}function Ki(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 qi(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 Ji(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 Yi(e,t){let n=qi(e);if(n.kind===`owned`&&n.pid===t)try{r.unlinkSync(e)}catch{}}function Xi(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 Zi(e,t,n,r){let i=Qi(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 Qi(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 $i(e){let t=!1;function n(){let n=Zi(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 ea(e,t=Ne){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 ta(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 na(e,t=ea){let n=t(e);return n.kind===`start`?n.token:null}const ra=`CC_CANDYBAR_PARENT_PID`;function ia(e){let t=e[ra];if(t===void 0)return{kind:`outlives-nobody`};let n=Number.parseInt(t,10);if(!Number.isInteger(n)||n<=0)throw Error(`${ra} must be a positive integer pid, got ${JSON.stringify(t)}`);return{kind:`anchored`,pid:n}}function aa(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 oa(e){try{return t.kill(e,0),!0}catch(e){return e.code===`EPERM`}}function sa(){let e=Number(process.env.CC_CANDYBAR_DAEMON_CEILING??``);return Number.isInteger(e)&&e>0?e:16}function ca(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 la(e){try{return r.readdirSync(e).filter(e=>e.endsWith(`.json`)).map(t=>l.join(e,t))}catch{return[]}}function ua(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 da(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 fa(e){if(!e.isolated)return{decision:ca(!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=ca(!0,da(t,e.isSameLiveProcess,e.removeFile),e.ceiling);if(!n.allow)return{decision:n,registryPath:null};let r=l.join(e.registryDir,`pid-${e.pid}.json`);return e.writeEntry(r,{pid:e.pid,startTime:e.startTime}),{decision:n,registryPath:r}}function pa(e,t,n,r){let i=n(e);if(i!==null&&i.pid===t)try{r(e)}catch{}}function ma(e,t={}){return{isolated:!!process.env.CC_CANDYBAR_SOCKET,registryDir:Ye(),ceiling:sa(),pid:process.pid,startTime:e,isSameLiveProcess:(e,t)=>ta(e,t,{readStartTime:ea,pidAlive:oa}),listFiles:la,readEntry:ua,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?Ue:e=>{Ue(l.dirname(e)),Ue(e)},...t}}const ha={theme:{configKey:`palette`,sessionKey:`theme`,effectiveVar:`theme.effective`,label:`🎨 theme`},preset:{configKey:`preset`,sessionKey:`preset`,effectiveVar:`preset.effective`,label:`▦`},style:{configKey:`style`,sessionKey:`style`,effectiveVar:`style.effective`,label:`◐`},effect:{configKey:`effect`,sessionKey:`effect`,effectiveVar:`effect.effective`,label:`✨`},endcaps:{configKey:`endcaps`,sessionKey:`endcaps`,effectiveVar:`endcaps.effective`,label:`✦`},variation:{configKey:`variation`,sessionKey:`variation`,effectiveVar:`variation.effective`,label:`🎼`},shade:{configKey:`shade`,sessionKey:`shade`,effectiveVar:`shade.effective`,label:`🔆`},transitions:{configKey:`transitions`,sessionKey:`transitions`,effectiveVar:`transitions.effective`,label:`fade in/out`},autoWrap:{configKey:`autoWrap`,sessionKey:`autoWrap`,effectiveVar:`autoWrap.effective`,label:`wrap`},padding:{configKey:`padding`,sessionKey:`padding`,effectiveVar:`padding.effective`,label:`padding`},updateNotice:{configKey:`updateNotice`,sessionKey:`updateNotice`,effectiveVar:`updateNotice.effective`,label:`update notice`}},ga=Object.values(ha),_a=[{configKey:`charset`,effectiveVar:`charset.effective`},{configKey:`colorCompatibility`,effectiveVar:`colorCompatibility.effective`}],va=new Set(_a.map(e=>e.configKey)),ya=new Map([...ga,..._a].map(e=>[e.configKey,e.effectiveVar])),ba=new Map(ga.map(e=>[e.sessionKey,e.effectiveVar]));function xa(e){return Object.fromEntries(Object.keys(ha).map(t=>[t,e(t)]))}const Sa=new Map(Object.keys(ha).map(e=>[ha[e].sessionKey,e]));function Ca({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 wa=Ca();function Ta(e){if(typeof e!=`string`)throw TypeError(`Expected a \`string\`, got \`${typeof e}\``);return!e.includes(`\x1B`)&&!e.includes(``)?e:e.replace(wa,``)}const Ea=[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],Da=[12288,12288,65281,65376,65504,65510],Oa=[8361,8361,65377,65470,65474,65479,65482,65487,65490,65495,65498,65500,65512,65518],ka=[32,126,162,163,165,166,172,172,175,175,10214,10221,10629,10630],Aa=[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],ja=(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},Ma=Ea[0],Na=Ea.at(-1),Pa=Da[0],Fa=Da.at(-1);Oa[0],Oa.at(-1),ka[0],ka.at(-1);const Ia=Aa[0],La=Aa.at(-1),Ra=19968,[za,Ba]=Va(Aa);function Va(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(Ra>=i&&Ra<=a)return[i,a];a-i>n-t&&(t=i,n=a)}return[t,n]}const Ha=e=>e<Ma||e>Na?!1:ja(Ea,e),Ua=e=>e<Pa||e>Fa?!1:ja(Da,e),Wa=e=>e>=za&&e<=Ba?!0:e<Ia||e>La?!1:ja(Aa,e);function Ga(e){if(!Number.isSafeInteger(e))throw TypeError(`Expected a code point, got \`${typeof e}\`.`)}function Ka(e,{ambiguousAsWide:t=!1}={}){return Ga(e),Ua(e)||Wa(e)||t&&Ha(e)?2:1}const qa=new Intl.Segmenter,Ja=RegExp(`[^\\p{Default_Ignorable_Code_Point}\\p{Control}\\p{Format}\\p{Nonspacing_Mark}\\p{Enclosing_Mark}\\p{Surrogate}]`,`v`),Ya=RegExp(`\\p{Spacing_Mark}`,`v`),Xa=RegExp(`^\\p{RGI_Emoji}$`,`v`),Za=/^[\d#*]\u20E3$/,Qa=/\p{Extended_Pictographic}/gu;function $a(e){if(e.length>50)return!1;if(Za.test(e))return!0;if(e.includes(``)){let t=e.match(Qa);return t!==null&&t.length>=2}return!1}function eo(e){let t=e.search(Ja);return t===-1?void 0:e.slice(t)}function to(e){return e>=4352&&e<=4447||e>=43360&&e<=43388}function no(e){return e>=4448&&e<=4519||e>=55216&&e<=55238}function ro(e){return e>=4520&&e<=4607||e>=55243&&e<=55291}function io(e){return to(e)||no(e)||ro(e)}function ao(e,t){let n=[];for(let t of e)Ja.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(!io(i)){if(r===0)return;for(let i=e;i<n.length;i++)r+=Ka(n[i],t);return r}if(to(i)&&no(n[e+1])){r+=2,e+=ro(n[e+2])?2:1;continue}r+=Ka(i,t)}return r}function oo(e,t){let n=0,r=!0;for(let i of e){if(r){r=!1;continue}(Ya.test(i)||i>=``&&i<=``)&&(n+=Ka(i.codePointAt(0),t))}return n}function so(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=Ta(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 qa.segment(i)){let t=eo(e);if(t===void 0)continue;if(Xa.test(e)||$a(e)){a+=2;continue}let n=ao(t,o);if(n!==void 0){a+=n;continue}let r=t.codePointAt(0);a+=Ka(r,o),a+=oo(t,o)}return a}var co=class{entries=new Map;get size(){return this.entries.size}get(e,t){let n=this.entries.get(e);if(n!==void 0)return n;let r=t(e);return this.entries.size>=4096&&this.entries.clear(),this.entries.set(e,r),r}};const lo=new co;function z(e){return e.length===0?0:e.length<=64?lo.get(e,so):so(e)}function uo(e){return e}function fo(e){return e}function po(e){return e>0?Math.floor(e):0}function mo(e,t){if(t<=0)return[``,e];if(t>=z(e))return[e,``];let n=So(e,t);return[n+` `.repeat(t-z(n)),e.slice(n.length)]}function ho(e,t){let n=So(e,t),r=t-z(n),[i=``]=r>0?xo(e,fo(n.length)):[];return[n+` `.repeat(r),` `.repeat(z(i)-r)+e.slice(n.length+i.length)]}function go(e,t){if(t<=0||e.length===0)return[e];let n=[],r=fo(0);for(;r<e.length;){let i=Eo(e,r,t);n.push(e.slice(r,i)),r=i}return n}let _o,vo;function yo(e){return vo?.text!==e&&(_o??=new Intl.Segmenter(void 0,{granularity:`grapheme`}),vo={text:e,segments:_o.segment(e)}),vo.segments}function bo(e){return Array.from(xo(e,fo(0)))}function*xo(e,t){let n=yo(e);for(let r=t,i=n.containing(r);i;i=n.containing(r)){let t=i.index+i.segment.length;yield e.slice(r,t),r=fo(t)}}function So(e,t){return e.slice(0,wo(xo(e,fo(0)),t))}function Co(e,t){return e.slice(e.length-wo(bo(e).reverse(),t))}function wo(e,t){let n=0,r=0;for(let i of e){let e=z(i);if(n+e>t)break;n+=e,r+=i.length}return r}function To(e,t,n){return fo(t+wo(xo(e,t),n))}function Eo(e,t,n){let[r=``]=xo(e,t);return fo(Math.max(To(e,t,n),t+r.length))}function Do(e){if(!Number.isInteger(e)||e<1)throw RangeError(`tabSize must be a positive integer, got ${e}`);return e}function Oo(e,t){let[n,...r]=e.split(` `),i=[],a=[],o=(e,t)=>{let n=e.lastIndexOf(`
|
|
41
|
+
`);return(n<0?t:0)+z(e.slice(n+1))},s=n,c=n,l=0,u=n.length,d=0;for(let e of r){l=o(c,l);let n=t-l%t;d+=n-1,i.push(u),a.push(d),s+=` `.repeat(n)+e,l+=n,c=e,u+=1+e.length}return{text:s,offsetOf:e=>{let t=0,n=i.length;for(;t<n;){let r=t+n>>1;i[r]<e?t=r+1:n=r}return e+(t===0?0:a[t-1])}}}var ko=class{name;dark;vars;constructor(e,t,n){this.name=e,this.dark=t;let r=n.get(`background`),i=r===void 0?jo(e):Ao(e,r);this.vars=new Map([...n].map(([e,t])=>[e,i(t,e)]))}get(e){return this.vars.get(e)}};function Ao(e,t){if(t.alpha!==1)throw RangeError(`palette ${JSON.stringify(e)}: background is the surface its translucent colours are drawn on, so it must be opaque; got ${t.hex}`);return e=>e.alpha===0?e:e.compositeOver(t)}function jo(e){return(t,n)=>{if(t.alpha!==1&&t.alpha!==0)throw RangeError(`palette ${JSON.stringify(e)}: ${n} is translucent (${t.hex}) but the palette has no "background" to draw it on`);return t}}function Mo(e){return e.toString(16).padStart(2,`0`)}function No(e){return Number.isInteger(e)&&e>=0&&e<=255}function Po(e,t){if(!No(t))throw RangeError(`ColorRgba.${e} must be an integer in [0, 255]; got ${t}`)}var B=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,Po(`red`,e),Po(`green`,t),Po(`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=`#`+Mo(this.red)+Mo(this.green)+Mo(this.blue);return this.alpha===1?e:e+Mo(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 Fo=new B(0,0,0);function Io(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 Lo(e,t){return Ro(Io(e),Io(t))}function Ro(e,t){return(Math.max(e,t)+.05)/(Math.min(e,t)+.05)}function zo(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 Bo=class{colors;firstIndex;matchMemo=new co;readableMemo=new co;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(Io),this.luminanceCache}get size(){return this.colors.length}match(e){let t=`${e.red},${e.green},${e.blue},${e.alpha}`;return this.matchMemo.get(t,()=>this.nearest(e))}nearest(e){let t=0,n=1/0;for(let r=0;r<this.colors.length;r++){let i=this.colors[r],a=zo(i,e);a<n&&(n=a,t=r)}return this.firstIndex+t}matchReadable(e,t,n){let r=`${e.red},${e.green},${e.blue}|${t.red},${t.green},${t.blue}|${n}`;return this.readableMemo.get(r,()=>this.nearestReadable(e,t,n))}nearestReadable(e,t,n){let r=Io(t),i=0,a=!1,o=-1/0;for(let t=0;t<this.colors.length;t++){let s=this.colors[t],c=this.luminances()[t],l=Ro(c,r),u=l>=n,d=u?-zo(s,e):l;(u&&!a||u===a&&d>o)&&(i=t,a=u,o=d)}return this.firstIndex+i}matchWhere(e,t){let n=this.colors.map(t=>zo(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}},V;(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`})(V||={});function Vo(e){switch(e){case V.DEFAULT:return 0;case V.STANDARD:case V.WINDOWS:return 1;case V.EIGHT_BIT:return 2;case V.TRUECOLOR:return 3}}const Ho={truecolor:V.TRUECOLOR,256:V.EIGHT_BIT,ansi:V.STANDARD,none:null},Uo=new Map([[`0`,null],[`false`,null],[`1`,V.STANDARD],[`true`,V.STANDARD],[`2`,V.EIGHT_BIT],[`3`,V.TRUECOLOR],[`iTerm.app`,V.TRUECOLOR],[`Apple_Terminal`,V.EIGHT_BIT],[`vscode`,V.TRUECOLOR],[`Tabby`,V.TRUECOLOR],[`xterm-kitty`,V.TRUECOLOR],[`xterm-ghostty`,V.TRUECOLOR],[`wezterm`,V.TRUECOLOR],[`alacritty`,V.TRUECOLOR],[`foot`,V.TRUECOLOR],[`contour`,V.TRUECOLOR]]);function Wo(e={}){let t=Ko(e).NO_COLOR;if(t!==void 0&&t!==``)return null;let n=Go(Ko(e));return n===void 0?Jo(e):n}function Go(e){let t=e.FORCE_COLOR;if(t===void 0||t===``)return;let n=Uo.get(t);return n===void 0?V.STANDARD:n}function Ko(e){return e.env??(typeof process<`u`?process.env:{})}function qo(e){let t=e.TERM;return t===`dumb`||t===`unknown`}function Jo(e){let t=Ko(e);if(!(e.isTTY??(typeof process<`u`?process.stdout?.isTTY??!1:!1))||qo(t))return null;let n=t.TERM??``,r=t.COLORTERM;if(r===`truecolor`||r===`24bit`)return V.TRUECOLOR;let i=Uo.get(n);if(i!==void 0)return i;let a=t.TERM_PROGRAM;if(a!==void 0){let e=Uo.get(a);if(e!==void 0)return e}return/-256(color)?$/i.test(n)?V.EIGHT_BIT:/-truecolor$/i.test(n)?V.TRUECOLOR:(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(n),V.STANDARD)}function Yo(e,t){return e===`auto`?{colorSystem:Wo(t),hyperlinks:(Go(Ko(t??{}))??null)!==null||Jo(t??{})!==null}:{colorSystem:typeof e==`string`?Xo(e):e,hyperlinks:!0}}function Xo(e,t){if(e===`auto`)return Wo(t);if(Object.hasOwn(Ho,e))return Ho[e];throw new Zo(`Unknown color system name: ${JSON.stringify(e)} (expected "auto", "truecolor", "256", "ansi", or "none")`)}var Zo=class extends Error{constructor(e){super(e),this.name=`ColorParseError`}};const Qo=new co;var H=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===V.DEFAULT}get fixedValue(){switch(this.type){case V.TRUECOLOR:return this.value;case V.EIGHT_BIT:return this.number<16?void 0:bs.get(this.number);case V.DEFAULT:case V.STANDARD:case V.WINDOWS:return}}get isSystemDefined(){return this.type===V.STANDARD||this.type===V.WINDOWS}getAnsiCodes(e=!0){switch(this.type){case V.DEFAULT:return[e?`39`:`49`];case V.STANDARD:{let t=this.number;return e?t<8?[`${30+t}`]:[`${90+t-8}`]:t<8?[`${40+t}`]:[`${100+t-8}`]}case V.EIGHT_BIT:return[e?`38`:`48`,`5`,`${this.number}`];case V.TRUECOLOR:{let t=this.value;return[e?`38`:`48`,`2`,`${t.red}`,`${t.green}`,`${t.blue}`]}case V.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!==V.TRUECOLOR||!this.value)return this;let n=this.value.compositeOver(t);return n===this.value?this:e.fromRgba(n)}downgrade(e){if(this.type===V.DEFAULT||this.type===e||Vo(this.type)<Vo(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 V.TRUECOLOR:return this.value;case V.EIGHT_BIT:return this.number<16?Ts(e,this.type).ansiColors.get(this.number):bs.get(this.number);case V.STANDARD:case V.WINDOWS:return Ts(e,this.type).ansiColors.get(this.number);case V.DEFAULT:{let n=Ts(e,this.type);return t?n.foregroundColor:n.backgroundColor}}}static default(){return new e(`default`,V.DEFAULT)}static fromAnsi(t){let n=t<16?V.STANDARD:V.EIGHT_BIT;return new e(`color(${t})`,n,t)}static fromRgba(t){return new e(t.hex,V.TRUECOLOR,void 0,t)}static fromRgb(t,n,r){return e.fromRgba(new B(t,n,r))}static blend(t,n,r){for(let e of[t,n]){if(e.isDefault)throw new Zo(`A blend cannot mix "default", which is no colour`);if(e.value!==void 0&&e.value.alpha<1)throw new Zo(`A blend's ends are opaque; "${e.name}" is translucent`)}if(!(r>=0&&r<=1))throw new Zo(`A blend's fraction is in [0, 1]; got ${r}`);let i=t.fixedValue,a=n.fixedValue;return i!==void 0&&a!==void 0?e.fromRgba(ms(i,a,r)):r===0?t:r===1?n:t.type===n.type&&(t.number===void 0?t.name===n.name:t.number===n.number)?t:new ns(t,n,r)}static matchOn(t,n,r,i){if(t.alpha<1)throw RangeError(`matchOn rounds an opaque colour; got alpha ${t.alpha}`);if(n===V.TRUECOLOR)return e.fromRgba(t);if(n===V.DEFAULT)return e.default();let a=r.ansiColors.match(t);return[[e.default(),i?r.foregroundColor:r.backgroundColor],[new e(`color(${a})`,n===V.WINDOWS?n:V.STANDARD,a),r.ansiColors.get(a)],...n===V.EIGHT_BIT?[$o(t)]:[]].reduce((e,n)=>zo(n[1],t)<zo(e[1],t)?n:e)[0]}static matchMove(t,n,r,i,a){let o=e.matchOn(n,r,i,a);return zo(t,n)<=zo(o.getTruecolor(i,a),n)?void 0:o}static parse(e){return Qo.get(e.toLowerCase().trim(),ss)}performDowngrade(t){let n=this.getTruecolor(Ts(void 0,t));switch(t){case V.EIGHT_BIT:return e.fromAnsi(Es(t).match(n));case V.STANDARD:case V.WINDOWS:{let r=this.number!==void 0&&this.number<16?this.number:Es(t).match(n);return new e(`color(${r})`,t,r)}case V.TRUECOLOR:return this;case V.DEFAULT:return e.default()}}};function $o(e){let t=xs.match(e);return[H.fromAnsi(t),xs.get(t)]}function es(e,t,n,r){return ms(e.getTruecolor(r),t.getTruecolor(r),n)}function ts(e){return e.fixedValue?.hex??(e.number===void 0?e.name:`color(${e.number})`)}var ns=class extends H{from;to;t;constructor(e,t,n){super(`blend(${ts(e)},${ts(t)},${n})`,V.TRUECOLOR,void 0,es(e,t,n)),this.from=e,this.to=t,this.t=n}get fixedValue(){}getTruecolor(e){return es(this.from,this.to,this.t,e)}};const rs=/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/,is=/^color\((\d+)\)$/,as=/^blend\((.*)\)$/,os=/^\s*(?:\d+(?:\.\d+)?|\.\d+)(?:e[+-]?\d+)?\s*$/;function ss(e){if(e===`default`||e===``)return H.default();let t=Os[e];if(t!==void 0)return new H(e,t<16?V.STANDARD:V.EIGHT_BIT,t);if(e.startsWith(`#`))return new H(e,V.TRUECOLOR,void 0,ps(e));let n=rs.exec(e);if(n){let t=ls(e,n[1],`red`),r=ls(e,n[2],`green`),i=ls(e,n[3],`blue`);return new H(e,V.TRUECOLOR,void 0,new B(t,r,i))}let r=is.exec(e);if(r){let t=ls(e,r[1],`number`);return new H(e,t<16?V.STANDARD:V.EIGHT_BIT,t)}let i=as.exec(e);if(i){let t=cs(i[1]),n=t[2]??``;if(t.length!==3||!os.test(n))throw new Zo(`ColorSpec "${e}": a blend is blend(<color>,<color>,<fraction>)`);return H.blend(H.parse(t[0]),H.parse(t[1]),Number(n))}throw new Zo(`Failed to parse color: "${e}"`)}function cs(e){let t=[],n=0,r=0;for(let i=0;i<e.length;i++){let a=e[i];a===`(`?n++:a===`)`?n--:a===`,`&&n===0&&(t.push(e.slice(r,i)),r=i+1)}return t.push(e.slice(r)),t}function ls(e,t,n){let r=parseInt(t,10);if(!No(r))throw new Zo(`ColorSpec "${e}": ${n} ${t} is out of range (0-255)`);return r}const us=/^[0-9a-fA-F]+$/,ds={6:`RRGGBB`,8:`RRGGBBAA`};function fs(e,t,n,r){if(!r.includes(n.length)||!us.test(n)){let n=r.map(e=>t+ds[e]).join(` or `);throw new Zo(`Invalid hex colour ${JSON.stringify(e)} (expected ${n})`)}let i=e=>parseInt(n.slice(e,e+2),16);return new B(i(0),i(2),i(4),n.length===8?i(6)/255:1)}function ps(e){return fs(e,`#`,e.startsWith(`#`)?e.slice(1):``,[6,8])}function ms(e,t,n=.5){return new B(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 hs=class{backgroundColor;foregroundColor;ansiColors;palette;constructor(e,t,n,r){if(this.backgroundColor=e,this.foregroundColor=t,this.ansiColors=n,this.palette=r,n.firstIndex!==0||n.size!==16)throw RangeError(`a TerminalTheme's ansiColors are the sixteen ANSI colours, indices 0–15; got ${n.size} from index ${n.firstIndex}`)}};function gs(){return[new B(0,0,0),new B(128,0,0),new B(0,128,0),new B(128,128,0),new B(0,0,128),new B(128,0,128),new B(0,128,128),new B(192,192,192),new B(128,128,128),new B(255,0,0),new B(0,255,0),new B(255,255,0),new B(0,0,255),new B(255,0,255),new B(0,255,255),new B(255,255,255)]}function _s(){let e=gs(),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 B(t[n],t[r],t[i]));for(let t=0;t<24;t++){let n=8+10*t;e.push(new B(n,n,n))}return e}function vs(){return[new B(12,12,12),new B(197,15,31),new B(19,161,14),new B(193,156,0),new B(0,55,218),new B(136,23,152),new B(58,150,221),new B(204,204,204),new B(118,118,118),new B(231,72,86),new B(22,198,12),new B(249,241,165),new B(59,120,255),new B(180,0,158),new B(97,214,214),new B(242,242,242)]}const ys=new Bo(gs()),bs=new Bo(_s()),xs=new Bo(_s().slice(16),16),Ss=new Bo(vs()),Cs=new hs(new B(0,0,0),new B(255,255,255),ys,new ko(`default`,!0,new Map)),ws=new hs(Ss.get(0),Ss.get(7),Ss,new ko(`windows`,!0,new Map));function Ts(e,t){return e??(t===V.WINDOWS?ws:Cs)}function Es(e){switch(e){case V.EIGHT_BIT:return xs;case V.STANDARD:return ys;case V.WINDOWS:return Ss}}function Ds(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 Os=Ds({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}),ks=[`default`,...Object.keys(Os)];var As;const js=[`l`,`c`,`h`,`alpha`],Ms=Object.freeze({hueShift:0,chromaScale:1,lightnessScale:1,lightnessShift:0});Object.freeze({hueShift:0,chromaScale:1,lightnessScale:-1,lightnessShift:1});function Ns(e){return e.hueShift%360==0&&e.chromaScale===1&&e.lightnessScale===1&&e.lightnessShift===0}function Ps(e){return e<=.04045?e/12.92:((e+.055)/1.055)**2.4}function Fs(e){return e<=.0031308?12.92*e:1.055*e**(1/2.4)-.055}function Is(e){return e<0?0:e>1?1:e}const Ls=1e-4,Rs=1e-7,zs=(e,t)=>e<Rs?0:t,Bs=(e,t,n)=>e*(1-n)+t*n,Vs=e=>{let t=e%360;return t<0?t+360:t};function Hs(e,t,n){return e>=-Ls&&e<=1+Ls&&t>=-Ls&&t<=1+Ls&&n>=-Ls&&n<=1+Ls}var Us=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=Ps(t),o=Ps(n),s=Ps(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=Vs(180/Math.PI*Math.atan2(g,h));return new As(m,_,zs(_,v),i)}toRgba(){let e=Is(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 B(Math.round(Is(Fs(r))*255),Math.round(Is(Fs(i))*255),Math.round(Is(Fs(a))*255),this.alpha)}applyKey(e){if(Ns(e))return this;let t=Is(this.l*e.lightnessScale+e.lightnessShift),n=Math.max(0,this.c*e.chromaScale),r=Vs(this.h+e.hueShift);return new As(t,n,zs(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 js){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>=Rs,o=e.c>=Rs,s=Vs(a?this.h:o?e.h:0),c=Vs(o?e.h:s),l=c-s,u=l<-180?s-360:s,d=l>180?c-360:c,f=Bs(this.c,e.c,n);return new As(Bs(this.l,e.l,t),f,zs(f,Vs(Bs(u,d,r))),Bs(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(Hs(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);Hs(r.r,r.g,r.b)?i=t:a=t}return i}};As=Us;var Ws=class extends Error{ref;constructor(e,t,n){super(`color reference ${JSON.stringify(e)} did not resolve — ${t}`,n),this.ref=e,this.name=`ColorRefError`}};function Gs(e,t){let n=t.trim();if(n.startsWith(`#`))try{return ps(n)}catch(e){throw e instanceof Zo?new Ws(t,e.message,{cause:e}):e}let r=e.get(n);if(r===void 0)throw new Ws(t,`no such variable in palette ${JSON.stringify(e.name)}`+Ks(e,n));return r}function Ks(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 qs(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 Js(e){let t=Math.round(e);return t<0?0:t>255?255:t}function Ys(e){let{h:t,s:n,l:r}=e;if(n===0){let e=Js(r*255);return new B(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 B(Js((s+u)*255),Js((c+u)*255),Js((l+u)*255))}function Xs(e){return e<0?0:e>1?1:e}function Zs(e,t){let n=qs(e);return n.l=Xs(n.l-.1*t),Ys(n)}function Qs(e,t,n){return ms(t,e,Xs(n))}function $s(e,t=Fo){return Io(ic(e,t))>.179?new B(0,0,0):new B(255,255,255)}function ec(e,t,n=4.5,r=V.TRUECOLOR,i=Fo,a){let o=ic(t,i),s=oc(e,o,n,$s(o)),c=ac(r,a);if(c===void 0)return s;let l=rc(c,o);return Lo(rc(c,s),l)>=n?s:c.written.get(c.shown.matchReadable(e.compositeOver(o),l,n))}function tc(e,t,n,r=Fo,i){let a=ic(e,r),o=ac(t,i),s=e=>rc(o,ic(e,r));if(n(s(a),s))return a;let c=o?.shown.matchWhere(a,e=>n(e,s));return c===void 0?void 0:o.written.get(c)}function nc(e,t,n=Fo,r){return rc(ac(t,r),ic(e,n))}function rc(e,t){return e===void 0?t:H.fromRgba(t).downgrade(e.depth).getTruecolor(e.terminal)}function ic(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)}function ac(e,t){let n=Ts(t,e);switch(e){case V.EIGHT_BIT:return{depth:e,terminal:n,written:Es(e),shown:Es(e)};case V.STANDARD:case V.WINDOWS:return{depth:e,terminal:n,written:Es(e),shown:n.ansiColors};case V.TRUECOLOR:case V.DEFAULT:return}}function oc(e,t,n,r){let i=e.compositeOver(t);if(Lo(i,t)>=n)return i;let a=Us.fromRgba(i),o=+(Io(r)>.179);if(Lo(new Us(o,a.c,a.h,a.alpha).toRgba(),t)<n)return $s(t);let s=a.l,c=o;for(let e=0;e<20;e++){let e=(s+c)/2;Lo(new Us(e,a.c,a.h,a.alpha).toRgba(),t)>=n?c=e:s=e}return new Us(c,a.c,a.h,a.alpha).toRgba()}const sc=.7,cc=[`primary`,`secondary`,`accent`,`success`,`warning`,`error`];function lc(e,t,n){let r=Ao(e,n.background),i=t=>{let i=n[t];if(i.alpha===0)throw RangeError(`palette ${JSON.stringify(e)}: ${t} is fully transparent (${i.hex}), so there is no colour to derive the palette from`);return r(i)},a={primary:i(`primary`),secondary:i(`secondary`),accent:i(`accent`),success:i(`success`),warning:i(`warning`),error:i(`error`),background:n.background,foreground:i(`foreground`)},o=new Map;o.set(`background`,a.background),o.set(`foreground`,a.foreground);for(let e of cc)o.set(e,a[e]);o.set(`foreground-muted`,ms(a.foreground,a.background,sc)),o.set(`background-muted`,ms(a.background,a.foreground,sc)),o.set(`surface`,ms(a.background,a.foreground,.05));let s=$s(a.background);for(let e of cc){let t=a[e],n=ms(t,a.background,sc);o.set(`${e}-muted`,n),o.set(`text-${e}`,uc(Qs(t,s,.66),n,a.background)),o.set(`on-${e}`,$s(t))}return new ko(e,t,o)}function uc(e,t,n){return oc(e,t,4.5,$s(n))}const dc={name:`atom-one-dark`,dark:!0,ansi:{black:`#282C34`,red:`#E06C75`,green:`#98C379`,yellow:`#E5C07B`,blue:`#61AFEF`,magenta:`#C678DD`,cyan:`#56B6C2`,white:`#DCDFE4`,brightBlack:`#5D677A`,brightRed:`#E06C75`,brightGreen:`#98C379`,brightYellow:`#E5C07B`,brightBlue:`#61AFEF`,brightMagenta:`#C678DD`,brightCyan:`#56B6C2`,brightWhite:`#DCDFE4`},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`}},fc={name:`atom-one-light`,dark:!1,ansi:{black:`#383A42`,red:`#E45649`,green:`#50A14F`,yellow:`#C18401`,blue:`#0184BC`,magenta:`#A626A4`,cyan:`#0997B3`,white:`#BABABA`,brightBlack:`#4F525E`,brightRed:`#E06C75`,brightGreen:`#98C379`,brightYellow:`#D8B36E`,brightBlue:`#61AFEF`,brightMagenta:`#C678DD`,brightCyan:`#56B6C2`,brightWhite:`#FFFFFF`},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`}},pc={name:`catppuccin-frappe`,dark:!0,ansi:{black:`#51576D`,red:`#E78284`,green:`#A6D189`,yellow:`#E5C890`,blue:`#8CAAEE`,magenta:`#F4B8E4`,cyan:`#81C8BE`,white:`#B5BFE2`,brightBlack:`#626880`,brightRed:`#EDA0A2`,brightGreen:`#B9DBA2`,brightYellow:`#ECD7AE`,brightBlue:`#ADC2F3`,brightMagenta:`#F38ED8`,brightCyan:`#98D2CA`,brightWhite:`#A5ADCE`},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`}},mc={name:`catppuccin-latte`,dark:!1,ansi:{black:`#BCC0CC`,red:`#D20F39`,green:`#40A02B`,yellow:`#DF8E1D`,blue:`#1E66F5`,magenta:`#EA76CB`,cyan:`#179299`,white:`#5C5F77`,brightBlack:`#ACB0BE`,brightRed:`#E7103F`,brightGreen:`#46B02F`,brightYellow:`#E49931`,brightBlue:`#3878F6`,brightMagenta:`#EF95D7`,brightCyan:`#19A1A8`,brightWhite:`#6C6F85`},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`}},hc={name:`catppuccin-macchiato`,dark:!0,ansi:{black:`#494D64`,red:`#ED8796`,green:`#A6DA95`,yellow:`#EED49F`,blue:`#8AADF4`,magenta:`#F5BDE6`,cyan:`#8BD5CA`,white:`#B8C0E0`,brightBlack:`#5B6078`,brightRed:`#F2A7B2`,brightGreen:`#BDE3B0`,brightYellow:`#F4E3C1`,brightBlue:`#ADC5F7`,brightMagenta:`#F493DA`,brightCyan:`#A5DED6`,brightWhite:`#A5ADCB`},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`}},gc={name:`catppuccin-mocha`,dark:!0,ansi:{black:`#45475A`,red:`#F38BA8`,green:`#A6E3A1`,yellow:`#F9E2AF`,blue:`#89B4FA`,magenta:`#F5C2E7`,cyan:`#94E2D5`,white:`#BAC2DE`,brightBlack:`#585B70`,brightRed:`#F7AEC2`,brightGreen:`#C2ECBF`,brightYellow:`#FCD682`,brightBlue:`#AECCFC`,brightMagenta:`#F398DA`,brightCyan:`#B1EAE1`,brightWhite:`#A6ADC8`},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`}},_c=[`black`,`red`,`green`,`yellow`,`blue`,`magenta`,`cyan`,`white`,`brightBlack`,`brightRed`,`brightGreen`,`brightYellow`,`brightBlue`,`brightMagenta`,`brightCyan`,`brightWhite`],vc=Object.fromEntries(_c.map((e,t)=>[e,ys.get(t).hex])),yc={black:`#1A1A1A`,red:`#F4005F`,green:`#98E024`,yellow:`#FD971F`,blue:`#9D65FF`,magenta:`#F4005F`,cyan:`#58D1EB`,white:`#C4C5B5`,brightBlack:`#625E4C`,brightRed:`#F4005F`,brightGreen:`#98E024`,brightYellow:`#E0D561`,brightBlue:`#9D65FF`,brightMagenta:`#F4005F`,brightCyan:`#58D1EB`,brightWhite:`#F6F6EF`},bc={"atom-one-dark":dc,"atom-one-light":fc,"catppuccin-frappe":pc,"catppuccin-latte":mc,"catppuccin-macchiato":hc,"catppuccin-mocha":gc,cyberpunk:{name:`cyberpunk`,dark:!0,ansi:yc,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,ansi:vc,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,ansi:{black:`#21222C`,red:`#FF5555`,green:`#50FA7B`,yellow:`#F1FA8C`,blue:`#BD93F9`,magenta:`#FF79C6`,cyan:`#8BE9FD`,white:`#F8F8F2`,brightBlack:`#6272A4`,brightRed:`#FF6E6E`,brightGreen:`#69FF94`,brightYellow:`#FFFFA5`,brightBlue:`#D6ACFF`,brightMagenta:`#FF92DF`,brightCyan:`#A4FFFF`,brightWhite:`#FFFFFF`},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,ansi:{black:`#100F0F`,red:`#D14D41`,green:`#879A39`,yellow:`#D0A215`,blue:`#4385BE`,magenta:`#CE5D97`,cyan:`#3AA99F`,white:`#878580`,brightBlack:`#575653`,brightRed:`#AF3029`,brightGreen:`#66800B`,brightYellow:`#AD8301`,brightBlue:`#205EA6`,brightMagenta:`#A02F6F`,brightCyan:`#24837B`,brightWhite:`#CECDC3`},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,ansi:{black:`#282828`,red:`#CC241D`,green:`#98971A`,yellow:`#D79921`,blue:`#458588`,magenta:`#B16286`,cyan:`#689D6A`,white:`#A89984`,brightBlack:`#928374`,brightRed:`#FB4934`,brightGreen:`#B8BB26`,brightYellow:`#FABD2F`,brightBlue:`#83A598`,brightMagenta:`#D3869B`,brightCyan:`#8EC07C`,brightWhite:`#EBDBB2`},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,ansi:{black:`#333333`,red:`#C4265E`,green:`#86B42B`,yellow:`#B3B42B`,blue:`#6A7EC8`,magenta:`#8C6BC8`,cyan:`#56ADBC`,white:`#E3E3DD`,brightBlack:`#666666`,brightRed:`#F92672`,brightGreen:`#A6E22E`,brightYellow:`#E2E22E`,brightBlue:`#819AFF`,brightMagenta:`#AE81FF`,brightCyan:`#66D9EF`,brightWhite:`#F8F8F2`},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,ansi:{black:`#3B4252`,red:`#BF616A`,green:`#A3BE8C`,yellow:`#EBCB8B`,blue:`#81A1C1`,magenta:`#B48EAD`,cyan:`#88C0D0`,white:`#E5E9F0`,brightBlack:`#596377`,brightRed:`#BF616A`,brightGreen:`#A3BE8C`,brightYellow:`#EBCB8B`,brightBlue:`#81A1C1`,brightMagenta:`#B48EAD`,brightCyan:`#8FBCBB`,brightWhite:`#ECEFF4`},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,ansi:{black:`#26233A`,red:`#EB6F92`,green:`#31748F`,yellow:`#F6C177`,blue:`#9CCFD8`,magenta:`#C4A7E7`,cyan:`#EBBCBA`,white:`#E0DEF4`,brightBlack:`#6E6A86`,brightRed:`#EB6F92`,brightGreen:`#31748F`,brightYellow:`#F6C177`,brightBlue:`#9CCFD8`,brightMagenta:`#C4A7E7`,brightCyan:`#EBBCBA`,brightWhite:`#E0DEF4`},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,ansi:{black:`#F2E9E1`,red:`#B4637A`,green:`#286983`,yellow:`#EA9D34`,blue:`#56949F`,magenta:`#907AA9`,cyan:`#D7827E`,white:`#575279`,brightBlack:`#9893A5`,brightRed:`#B4637A`,brightGreen:`#286983`,brightYellow:`#EA9D34`,brightBlue:`#56949F`,brightMagenta:`#907AA9`,brightCyan:`#D7827E`,brightWhite:`#575279`},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,ansi:{black:`#393552`,red:`#EB6F92`,green:`#3E8FB0`,yellow:`#F6C177`,blue:`#9CCFD8`,magenta:`#C4A7E7`,cyan:`#EA9A97`,white:`#E0DEF4`,brightBlack:`#6E6A86`,brightRed:`#EB6F92`,brightGreen:`#3E8FB0`,brightYellow:`#F6C177`,brightBlue:`#9CCFD8`,brightMagenta:`#C4A7E7`,brightCyan:`#EA9A97`,brightWhite:`#E0DEF4`},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,ansi:{black:`#073642`,red:`#DC322F`,green:`#859900`,yellow:`#B58900`,blue:`#268BD2`,magenta:`#D33682`,cyan:`#2AA198`,white:`#EEE8D5`,brightBlack:`#335E69`,brightRed:`#CB4B16`,brightGreen:`#586E75`,brightYellow:`#657B83`,brightBlue:`#839496`,brightMagenta:`#6C71C4`,brightCyan:`#93A1A1`,brightWhite:`#FDF6E3`},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,ansi:{black:`#073642`,red:`#DC322F`,green:`#859900`,yellow:`#B58900`,blue:`#268BD2`,magenta:`#D33682`,cyan:`#2AA198`,white:`#BBB5A2`,brightBlack:`#002B36`,brightRed:`#CB4B16`,brightGreen:`#586E75`,brightYellow:`#657B83`,brightBlue:`#839496`,brightMagenta:`#6C71C4`,brightCyan:`#93A1A1`,brightWhite:`#FDF6E3`},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,ansi:{black:`#4B4E55`,red:`#CC555A`,green:`#98A84B`,yellow:`#D0B344`,blue:`#608AB1`,magenta:`#98729F`,cyan:`#68A0B3`,white:`#C5C8C6`,brightBlack:`#9A9B99`,brightRed:`#FF2627`,brightGreen:`#00823D`,brightYellow:`#D08442`,brightBlue:`#1984E9`,brightMagenta:`#FF2C7A`,brightCyan:`#398280`,brightWhite:`#FDFDC5`},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,ansi:vc,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,ansi:yc,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,ansi:{black:`#000000`,red:`#AA3731`,green:`#448C27`,yellow:`#CB9000`,blue:`#325CC0`,magenta:`#7A3E9D`,cyan:`#0083B2`,white:`#F7F7F7`,brightBlack:`#777777`,brightRed:`#F05050`,brightGreen:`#60CB00`,brightYellow:`#FFBC5D`,brightBlue:`#007ACC`,brightMagenta:`#E64CE6`,brightCyan:`#00AACB`,brightWhite:`#F7F7F7`},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,ansi:{black:`#15161E`,red:`#F7768E`,green:`#9ECE6A`,yellow:`#E0AF68`,blue:`#7AA2F7`,magenta:`#BB9AF7`,cyan:`#7DCFFF`,white:`#A9B1D6`,brightBlack:`#414868`,brightRed:`#F7768E`,brightGreen:`#9ECE6A`,brightYellow:`#E0AF68`,brightBlue:`#7AA2F7`,brightMagenta:`#BB9AF7`,brightCyan:`#7DCFFF`,brightWhite:`#C0CAF5`},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`}}},xc=Object.freeze(Object.keys(bc).sort()),Sc=new Map;function Cc(){return xc}function wc(e){if(!Tc(e))return null;let t=Sc.get(e);if(t!==void 0)return t;let n=Oc(bc[e]);return Sc.set(e,n),n}function Tc(e){return Object.hasOwn(bc,e)}function Ec(e){let t=bc[e],n=Dc(t,`background`),r=Ao(t.name,n),i=e=>r(Dc(t,e));return{name:t.name,dark:t.dark,bg:n,fg:i(`foreground`),primary:i(`primary`),secondary:i(`secondary`),accent:i(`accent`),success:i(`success`),warning:i(`warning`),error:i(`error`),ansi:new Bo(_c.map(e=>Ac(t.ansi[e],t.name,`ansi.${e}`)))}}function Dc(e,t){let n=e.vars[t];if(n===void 0)throw Error(`Theme ${e.name}: required base var "${t}" missing from data file`);return kc(n,e.name,t)}function Oc(e){let t=new Map;for(let[n,r]of Object.entries(e.vars))t.set(n,kc(r,e.name,`var ${n}`));for(let n of cc){let r=Dc(e,`text-${n}`);t.set(`text-${n}`,uc(r,Dc(e,`${n}-muted`),Dc(e,`background`)))}return new ko(e.name,e.dark,t)}function kc(e,t,n){try{return ps(e)}catch(e){throw e instanceof Zo?Error(`Theme ${t}: ${n}: ${e.message}`,{cause:e}):e}}function Ac(e,t,n){let r=kc(e,t,n);if(r.alpha!==1)throw Error(`Theme ${t}: ${n} has alpha in ${JSON.stringify(e)} (expected #RRGGBB)`);return r}function jc(e){return new hs(e.bg,e.fg,e.ansi,lc(e.name,e.dark,{primary:e.primary,secondary:e.secondary,accent:e.accent,success:e.success,warning:e.warning,error:e.error,background:e.bg,foreground:e.fg}))}const Mc=jc(Ec(`default`));jc(Ec(`svg-export`)),jc(Ec(`monokai`)),jc(Ec(`nord`)),jc(Ec(`gruvbox`)),jc(Ec(`dracula`)),jc(Ec(`tokyo-night`)),jc(Ec(`flexoki`)),jc(Ec(`cyberpunk`)),jc(Ec(`catppuccin-mocha`)),jc(Ec(`catppuccin-latte`)),jc(Ec(`catppuccin-frappe`)),jc(Ec(`catppuccin-macchiato`)),jc(Ec(`solarized-dark`)),jc(Ec(`solarized-light`)),jc(Ec(`rose-pine`)),jc(Ec(`rose-pine-moon`)),jc(Ec(`rose-pine-dawn`)),jc(Ec(`atom-one-dark`)),jc(Ec(`atom-one-light`)),jc(Ec(`textual-dark`)),jc(Ec(`textual-light`)),jc(Ec(`textual-ansi`));const Nc=new Set([`error`,`success`,`warning`]);function Pc(e){let t=e.indexOf(`-`);return t===-1?e:e.slice(0,t)}function Fc(e){return Nc.has(Pc(e))}function Ic(e,t,n){if(Ns(t))return new ko(n??e.name,e.dark,e.vars);let r={...t,hueShift:0},i=new Map;for(let[n,a]of e.vars){let e=Fc(n)?r:t;i.set(n,Us.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=Us.fromRgba(a).l<.5;return new ko(n??e.name,o,i)}var Lc=class{ease;stops;constructor(e,t){if(this.ease=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=this.ease((e-r.at)/(i.at-r.at));return a<=0?r.color:a>=1?i.color:Us.fromRgba(r.color).mix(Us.fromRgba(i.color),a).toRgba()}};function Rc(e,t,n,r){for(let[i,a]of[[`x1`,e],[`y1`,t],[`x2`,n],[`y2`,r]])if(!Number.isFinite(a))throw RangeError(`cubicBezier ${i} must be finite, got ${a}`);if(e<0||e>1||n<0||n>1)throw RangeError(`cubicBezier x1 and x2 must lie in [0, 1], got ${e} and ${n}`);let i=3*e,a=3*(n-e)-i,o=1-i-a,s=3*t,c=3*(r-t)-s,l=1-s-c,u=e=>((o*e+a)*e+i)*e,d=e=>((l*e+c)*e+s)*e,f=e=>(3*o*e+2*a)*e+i,p=1e-9,m=e=>{let t=e;for(let n=0;n<8;n++){let n=u(t)-e;if(Math.abs(n)<p)return t;let r=f(t);if(Math.abs(r)<1e-6)break;t-=n/r}let n=0,r=1;for(t=e;r-n>p;)u(t)<e?n=t:r=t,t=(n+r)/2;return t};return e=>d(m(Math.min(1,Math.max(0,e))))}function zc(e,t=`jump-end`){let n=t===`jump-none`?2:1;if(!Number.isInteger(e)||e<n)throw RangeError(`steps(${e}, "${t}") needs a whole number of steps ≥ ${n}`);let r=t===`jump-start`||t===`start`||t===`jump-both`,i={"jump-start":e,start:e,"jump-end":e,end:e,"jump-both":e+1,"jump-none":e-1}[t],a=+!!r;return t=>Math.min(i,Math.floor(Math.min(1,Math.max(0,t))*e)+a)/i}const Bc=e=>e,Vc=zc(1,`jump-end`),Hc={linear:Bc,ease:Rc(.25,.1,.25,1),"ease-in":Rc(.42,0,1,1),"ease-out":Rc(0,0,.58,1),"ease-in-out":Rc(.42,0,.58,1),"step-start":zc(1,`jump-start`),"step-end":Vc,step:Vc,sine:e=>(1-Math.cos(Math.PI*e))/2};function Uc(e){if(!Object.hasOwn(Hc,e))throw RangeError(`unknown ease ${JSON.stringify(e)}; expected one of `+Object.keys(Hc).map(e=>JSON.stringify(e)).join(`, `));return Hc[e]}function Wc(e,t){if(!Number.isFinite(t)||t<=0)throw RangeError(`${e} must be a positive number of seconds, got ${t}`)}const Gc={once(e,t){if(!Number.isFinite(e))throw RangeError(`Phase.once start must be finite, got ${e}`);return Wc(`Phase.once duration`,t),n=>Math.min(1,Math.max(0,(n-e)/t))},loop(e){return Wc(`Phase.loop period`,e),t=>(t%e+e)%e/e},pingPong(e){Wc(`Phase.pingPong period`,e);let t=Gc.loop(e);return e=>1-Math.abs(2*t(e)-1)}};function Kc(e,t){return{owner:e.owner,row:e.row,col:e.col+t,inner:e.inner&&Kc(e.inner,t)}}function qc(e,t){for(let n=e;n;n=n.inner)if(n.owner===t)return!0;return!1}const Jc=[`bold`,`dim`,`italic`,`underline`,`blink`,`blink2`,`reverse`,`conceal`,`strike`,`underline2`,`frame`,`encircle`,`overline`],Yc={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},Xc={b:`bold`,d:`dim`,i:`italic`,u:`underline`,s:`strike`,r:`reverse`,o:`overline`,uu:`underline2`};var Zc=class extends Error{constructor(e,t){super(e,t),this.name=`StyleSyntaxError`}};const Qc=new co;var U=class e{color;bgcolor;bold;dim;italic;underline;blink;blink2;reverse;conceal;strike;underline2;frame;encircle;overline;link;meta;anchor;constructor(e={}){this.color=cl(e.color),this.bgcolor=ll(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,this.anchor=e.anchor}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&&this.anchor===void 0}get transparentBackground(){return this.bgcolor===void 0||this.bgcolor.isDefault}get backgroundStyle(){return new e({bgcolor:this.bgcolor})}with(t){return new e({...this,...t})}get withoutColor(){return this.with({color:void 0,bgcolor:void 0})}withLink(e){return this.with({link:e})}clearMetaAndLinks(){return this.with({link:void 0,meta:void 0})}withAnchor(e){return this.with({anchor:e})}shiftedBy(e){return this.anchor?this.withAnchor(Kc(this.anchor,e)):this}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,anchor:t.anchor??this.anchor})}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&&fl(this.anchor,e.anchor)}drawnColors(e){let t=Fo,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=this.drawnColors(e);return[...Jc.filter(e=>this[e]===!0).map(e=>`${Yc[e]}`),...t.color?.getAnsiCodes(!0)??[],...t.bgcolor?.getAnsiCodes(!1)??[]].join(`;`)}toString(){if(this.isNull)return`none`;let e=[];for(let t of Jc)this[t]===!1&&e.push(`not ${t}`);for(let t of Jc)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 W}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=W;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);return n===``||n===`none`?W:Qc.get(n,sl)}};const W=new U,$c=/^[a-z][a-z0-9._-]*$/;function el(e,t){return e instanceof U?e.add(t):e===``?t:typeof e==`string`?{under:e,over:t}:{under:e.under,over:e.over.add(t)}}var tl=class{styles;constructor(e={},t){if(this.styles=new Map,t?.inherit!==!1)for(let[e,t]of Object.entries(ul))this.styles.set(e,t);for(let[t,n]of Object.entries(e)){if(!$c.test(t))throw Error(`Invalid style name: "${t}" (must be lowercase, start with letter, contain only letters, digits, ".", "-", "_")`);this.styles.set(t,U.parse(n))}}get(e){return this.styles.get(e)}resolve(e){return e instanceof U?e:typeof e==`string`?this.styles.get(e)??U.parse(e):this.resolve(e.under).add(e.over)}has(e){return this.styles.has(e)}};const nl=new Set(Jc),rl=[`not`,`on`,`link`,...Jc,...ks];function il(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 al(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:il(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 ol(e,t,n){try{return H.parse(e)}catch(r){throw new Zc(`${t} "${e}"${al(e,n)}: ${String(r)}`,{cause:r})}}function sl(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 Zc(`Expected attribute after "not" in style definition`);let i=Xc[e]??e;if(!nl.has(i))throw new Zc(`Invalid attribute: "${e}"${al(e,Jc)}`);n[i]=!1,r++;continue}if(e===`on`){r++;let e=t[r];if(!e)throw new Zc(`Expected color after "on" in style definition`);n.bgcolor=ol(e,`Invalid background color`,ks),r++;continue}if(e===`link`){r++;let e=t[r];e&&(n.link=e),r++;continue}let i=Xc[e]??e;if(nl.has(i)){n[i]=!0,r++;continue}n.color=ol(e,`Invalid style definition`,rl),r++}return new U(n)}function cl(e){if(e!==void 0)return e instanceof H?e:H.parse(e)}function ll(e){let t=cl(e);return t?.value?.alpha===0?void 0:t}const ul={none:W,reset:new U({color:H.default(),bgcolor:H.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 U({bold:!0}),dim:new U({dim:!0}),italic:new U({italic:!0}),underline:new U({underline:!0}),blink:new U({blink:!0}),blink2:new U({blink2:!0}),reverse:new U({reverse:!0}),conceal:new U({conceal:!0}),strike:new U({strike:!0}),underline2:new U({underline2:!0}),frame:new U({frame:!0}),encircle:new U({encircle:!0}),overline:new U({overline:!0}),"table.header":new U({bold:!0}),"table.footer":new U({bold:!0}),"table.cell":W,"table.title":new U({italic:!0}),"table.caption":new U({italic:!0,dim:!0}),"repr.ellipsis":U.parse(`yellow`),"repr.indent":U.parse(`dim green`),"repr.error":U.parse(`bold red`),"repr.str":U.parse(`not bold not italic green`),"repr.brace":U.parse(`bold`),"repr.comma":U.parse(`bold`),"repr.ipv4":U.parse(`bold bright_green`),"repr.ipv6":U.parse(`bold bright_green`),"repr.eui48":U.parse(`bold bright_green`),"repr.eui64":U.parse(`bold bright_green`),"repr.tag_start":U.parse(`bold`),"repr.tag_name":U.parse(`bold bright_magenta`),"repr.tag_contents":U.parse(`default`),"repr.tag_end":U.parse(`bold`),"repr.attrib_name":U.parse(`not italic yellow`),"repr.attrib_equal":U.parse(`bold`),"repr.attrib_value":U.parse(`not italic magenta`),"repr.number":U.parse(`bold not italic cyan`),"repr.number_complex":U.parse(`bold not italic cyan`),"repr.bool_true":U.parse(`italic bright_green`),"repr.bool_false":U.parse(`italic bright_red`),"repr.none":U.parse(`italic magenta`),"repr.url":U.parse(`not bold not italic underline bright_blue`),"repr.uuid":U.parse(`not bold bright_yellow`),"repr.call":U.parse(`bold magenta`),"repr.path":U.parse(`magenta`),"repr.filename":U.parse(`bright_magenta`),"log.time":U.parse(`cyan dim`),"log.message":W,"log.path":U.parse(`dim`),"log.line_no":U.parse(`cyan`),"log.level":W,"rule.line":U.parse(`bright_green`),"rule.text":W,"strip.separator":U.parse(`bright_black`),"strip.rail":U.parse(`bright_black`),"json.brace":U.parse(`bold`),"json.bool_true":U.parse(`italic bright_green`),"json.bool_false":U.parse(`italic bright_red`),"json.key":U.parse(`bold blue`),"json.null":U.parse(`italic magenta`),"json.number":U.parse(`bold not italic cyan`),"json.str":U.parse(`not bold not italic green`),"syntax.keyword":U.parse(`bold magenta`),"syntax.constant":U.parse(`italic bright_magenta`),"syntax.string":U.parse(`green`),"syntax.number":U.parse(`cyan`),"syntax.comment":U.parse(`dim italic`),"syntax.line_number":U.parse(`dim`),"syntax.line_number.highlight":U.parse(`bold grey93 on grey27`),"markdown.h1":U.parse(`bold underline`),"markdown.h2":U.parse(`bold`),"markdown.h3":U.parse(`bold dim`),"markdown.h4":U.parse(`bold dim italic`),"markdown.code":U.parse(`bold dark_turquoise on grey11`),"markdown.hr":U.parse(`yellow`),"markdown.link":U.parse(`bright_blue`),"markdown.link_url":U.parse(`blue`),"progress.description":W,"progress.percentage":U.parse(`magenta`),"progress.remaining":U.parse(`cyan`),"progress.elapsed":U.parse(`yellow`),"progress.spinner":U.parse(`green`),"progress.download":U.parse(`green`),"progress.filesize":U.parse(`green`),"progress.filesize.total":U.parse(`green`),"progress.data.speed":U.parse(`red`),"bar.back":U.parse(`grey23`),"bar.complete":U.parse(`rgb(249,38,114)`),"bar.finished":U.parse(`rgb(114,156,31)`),"bar.pulse":U.parse(`rgb(249,38,114)`),"scrollbar.thumb":W,"scrollbar.track":U.parse(`grey37`),tree:W,"tree.guide":W,"status.spinner":U.parse(`green`),"status.message":W,prompt:W,"prompt.choices":U.parse(`bold magenta`),"prompt.default":U.parse(`bold cyan`),"prompt.invalid":U.parse(`red`),"prompt.invalid.choice":U.parse(`red`),"inspect.attr":U.parse(`yellow italic`),"inspect.attr.dunder":U.parse(`yellow italic dim`),"inspect.callable":U.parse(`bold magenta`),"inspect.error":U.parse(`bold red`),"inspect.help":U.parse(`cyan`),"inspect.doc":U.parse(`dim`),"inspect.value.border":U.parse(`green`),"traceback.border":U.parse(`red`),"traceback.text":U.parse(`red`),"traceback.title":U.parse(`bold red`),"traceback.exc_type":U.parse(`bold bright_red`),"traceback.exc_value":W,"traceback.offset":U.parse(`bold bright_red`),"scope.border":U.parse(`blue`),"scope.key":U.parse(`italic`),"scope.key.special":U.parse(`dim italic`),pretty:W,"iso8601.date":U.parse(`blue`),"iso8601.time":U.parse(`magenta`),"iso8601.timezone":U.parse(`yellow`),"iso8601.year":W,"iso8601.month":W,"iso8601.day":W,"iso8601.week":W,"iso8601.hour":W,"iso8601.minute":W,"iso8601.second":W,"iso8601.frac":W,"iso8601.ms":W,"iso8601.hyphen":W},dl=new tl;function fl(e,t){return e===t?!0:!e||!t?!1:e.owner===t.owner&&e.row===t.row&&e.col===t.col&&fl(e.inner,t.inner)}var pl;(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`})(pl||={});var G=class e{text;style;control;constructor(e,t,n){this.text=e,this.style=t,this.control=n}get cellLength(){return this.control?0:z(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]=ho(this.text,t);return[new e(n,this.style),new e(r,this.style?.shiftedBy(t))]}static _line;static line(){return e._line??=new e(`
|
|
42
|
+
`)}static anchorLines(t,n,r=0){return t.map((t,i)=>{let a=r+i,o=0;return t.map(t=>{if(t.isControl)return t;let r=t.style??U.null(),i=new e(t.text,r.withAnchor({owner:n,row:a,col:o,inner:r.anchor}));return o+=t.cellLength,i})})}static anchorAt(e,t,n){if(!Number.isInteger(t)||t<0)return;let r=0;for(let i of e[n]??[]){let e=r+i.cellLength;if(t<e){let e=i.style?.anchor;return e&&Kc(e,t-r)}r=e}}static*applyStyle(t,n,r){if(!n&&!r){yield*t;return}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(`
|
|
43
43
|
`)){r.push(i);continue}let a=t.split(`
|
|
44
|
-
`);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(
|
|
45
|
-
`);for(let e=0;e<t.length;e++){e>0&&(i=0);let[n]=
|
|
46
|
-
`);yield a===n.text?n:new e(a,n.style)}}static splitAndCropLines(t,n){return e.splitLines(t).map(t=>e.adjustLineLength(t,n))}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}
|
|
47
|
-
`,this._tabSize=
|
|
48
|
-
`,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}expandTabs(){let e=
|
|
49
|
-
`),n=t.reduce((e,t)=>Math.max(e,
|
|
50
|
-
`).forEach((e,i)=>{i>0&&n.push([]);let a=n.at(-1);a.push({end:(a.at(-1)?.end??0)+
|
|
51
|
-
`)a++,o=0;else{let n=r.anchor&&Wc(r.anchor,p);e=Wu(i(d,{row:a,col:o,seed:this.seed(a,o),terminal:u,anchor:n}),l.reverse),o+=V(t)}p+=V(t);let m=f[f.length-1],h=m!==void 0&&Yu(m.colors,e)?m.drawn:this.respec(s,c,e,n);m!==void 0&&Ku(m.drawn,h)?(m.text+=t,m.cells+=V(t),m.colors=e):f.push({text:t,cells:V(t),colors:e,drawn:h})}if(f.every(e=>Ku(e.drawn,s))){yield e;continue}let m=0;for(let e of f){let t=r.shiftedBy(m),n=Ku(e.drawn,s)?t:t.add(G.fromColor(e.drawn.color,e.drawn.bgcolor));yield new K(e.text,n),m+=e.cells}}}measure(e){return xl.get(e,this.renderable)}static shows(e,t,n,r){let i=Wu(e,e.reverse),a=Gu(i,Wu(t,e.reverse),n,r);return Wu({fg:a.fg?.getTruecolor(r,!0)??i.fg,bg:a.bg?.getTruecolor(r,!1)??i.bg},e.reverse)}respec(e,t,n,r){let i=Gu(t,n,r,this.theme);return{color:i.fg??e.color,bgcolor:i.bg??e.bgcolor}}seed(e,t){return Number.parseInt(Ol(`${this.key}:${e}:${t}`),16)/4294967296}};const Bu=W.default();function Vu(e,t,n){return[...e].map(e=>{if(e.isControl)return{segment:e,look:void 0};let r=e.style??G.null(),i=r.drawnColors(t),a={fg:(i.color??Bu).getTruecolor(n,!0),bg:(i.bgcolor??Bu).getTruecolor(n,!1)},o=r.reverse===!0,s=Wu({fg:i.color?.isDefault??!0,bg:i.bgcolor?.isDefault??!0},o);return{segment:e,look:{style:r,wire:i,slots:a,pair:{...Wu(a,o),terminal:s,reverse:o}}}})}function Hu(e,t,n){let r=e.flatMap(({segment:e,look:t})=>t!==void 0&&e.text.trim()!==``&&!Gc(t.style.anchor,Jl)?[t.pair]:[]),i=[...new Map(r.map(e=>[`${e.fg.hex}/${e.bg.hex}/${e.terminal.fg}/${e.terminal.bg}/${e.reverse}`,e])).values()],a=e=>i.flatMap(t=>t.terminal[e]?[]:[t[e].hex]);return{pairs:i,colors:new Set([...a(`fg`),...a(`bg`)]),fills:new Set(a(`bg`)),depth:t,theme:n}}function Uu(e,...t){let n=new Set(t);return(t,r)=>{let i=e(t,r);return(e,t)=>{let r=Xl(t.anchor,n);if(!r.fg&&!r.bg)return e;let a=i(e,t);return{fg:r.fg?a.fg:e.fg,bg:r.bg?a.bg:e.bg}}}}function Wu(e,t){return t?{fg:e.bg,bg:e.fg}:e}function Gu(e,t,n,r){let i=t.bg.compositeOver(No),a=t.fg.compositeOver(i);return{fg:W.matchMove(e.fg,a,n,r,!0),bg:W.matchMove(e.bg,i,n,r,!1)}}function Ku(e,t){return qu(e.color,t.color,!0)&&qu(e.bgcolor,t.bgcolor,!1)}function qu(e,t,n){return e===t||Ju(e,n)===Ju(t,n)}function Ju(e,t){return e?.getAnsiCodes(t).join(`;`)??``}function Yu(e,t){return Xu(e.fg,t.fg)&&Xu(e.bg,t.bg)}function Xu(e,t){return e.red===t.red&&e.green===t.green&&e.blue===t.blue&&e.alpha===t.alpha}const Zu=(()=>{let e=[151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225,140,36,103,30,69,142,8,99,37,240,21,10,23,190,6,148,247,120,234,75,0,26,197,62,94,252,219,203,117,35,11,32,57,177,33,88,237,149,56,87,174,20,125,136,171,168,68,175,74,165,71,134,139,48,27,166,77,146,158,231,83,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244,102,143,54,65,25,63,161,1,216,80,73,209,76,132,187,208,89,18,169,200,196,135,130,116,188,159,86,164,100,109,198,173,186,3,64,52,217,226,250,124,123,5,202,38,147,118,126,255,82,85,212,207,206,59,227,47,16,58,17,182,189,28,42,223,183,170,213,119,248,152,2,44,154,163,70,221,153,101,155,167,43,172,9,129,22,39,253,19,98,108,110,79,113,224,232,178,185,112,104,218,246,97,228,251,34,242,193,238,210,144,12,191,179,162,241,81,51,145,235,249,14,239,107,49,192,214,31,181,199,106,157,184,84,204,176,115,121,50,45,127,4,150,254,138,236,205,93,222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180];return[...e,...e]})(),Qu=e=>e*e*e*(e*(e*6-15)+10),$u=(e,t,n)=>e+n*(t-e);function ed(e,t,n,r){let i=e&15,a=i<8?t:n,o=i<4?n:i===12||i===14?t:r;return(i&1?-a:a)+(i&2?-o:o)}function td(e,t,n){let r=Math.floor(e),i=Math.floor(t),a=Math.floor(n),o=r&255,s=i&255,c=a&255;e-=r,t-=i,n-=a;let l=Qu(e),u=Qu(t),d=Qu(n),f=Zu[o]+s,p=Zu[f]+c,m=Zu[f+1]+c,h=Zu[o+1]+s,g=Zu[h]+c,_=Zu[h+1]+c;return $u($u($u(ed(Zu[p],e,t,n),ed(Zu[g],e-1,t,n),l),$u(ed(Zu[m],e,t-1,n),ed(Zu[_],e-1,t-1,n),l),u),$u($u(ed(Zu[p+1],e,t,n-1),ed(Zu[g+1],e-1,t,n-1),l),$u(ed(Zu[m+1],e,t-1,n-1),ed(Zu[_+1],e-1,t-1,n-1),l),u),d)}function nd(e,t,n,r){let i=0,a=1,o=0;for(let s=0;s<r;s++){let r=2**s;i+=a*td(e*r,t*r,n*r),o+=a,a/=2}return i/o}function rd(e,t){let n=Math.sin(e*12.9898+t*78.233)*43758.5453;return n-Math.floor(n)}function id(e,t,n){let r=Math.min(1,Math.max(0,(n-e)/(t-e)));return r*r*(3-2*r)}const ad=Array.from({length:48},(e,t)=>(t+1)/48),od=[`fg`,`bg`];function sd({pairs:e,depth:t,theme:n},r,i){let a=(e,t)=>e.terminal[t]?void 0:e[t].hex,o=new Map(e.flatMap(e=>od.flatMap(t=>{let n=a(e,t);return n===void 0?[]:[[n,e[t]]]}))),s=t===U.TRUECOLOR?.01:0,c=new Map([...r].filter(e=>!o.has(e)).map(e=>[e,1])),l=e=>Vs.fromRgba(o.get(e)).l;for(let u of[...r].filter(e=>o.has(e)).sort((e,t)=>l(t)-l(e))){let r=e.flatMap(e=>{let t=od.find(t=>a(e,t)===u);if(t===void 0)return[];let n=a(e,t===`fg`?`bg`:`fg`);return[[e,t,n===void 0?0:c.get(n)??0]]}),o=e=>r.every(([r,a,o])=>{let c=Math.min(Fo(r.fg,r.bg),4.5)-s,l=(t,n)=>ud(i,r[t],(t===a?e:o)*n);return ad.every(e=>{let i=zu.shows(r,{fg:l(`fg`,e),bg:l(`bg`,e)},t,n);return Fo(i.fg,i.bg)>=c})}),[l,d]=o(1)?[1,1]:[0,1];for(let e=0;e<20&&d-l>.001;e++){let e=(l+d)/2;[l,d]=o(e)?[e,d]:[l,e]}c.set(u,l)}return c}function cd(e,t){let n=new WeakMap;return ld(e,r=>{let i=t??r.colors,a=[r.depth,...r.pairs.map(({fg:e,bg:t,terminal:n,reverse:r})=>`${e.hex}/${t.hex}/${n.fg}/${n.bg}/${r}`),`|`,...i].join(` `),o=n.get(r.theme)??new oo;return n.set(r.theme,o),o.get(a,()=>sd(r,i,e.touch))})}function ld(e,t){return(n,r)=>{let i=t(r),a=e.field(n);return({fg:t,bg:n},r)=>{let o=Math.round(md(a(r))*48)/48,s=(t,n)=>ud(e.touch,t,(n?0:i.get(t.hex)??0)*o);return{fg:s(t,r.terminal.fg),bg:s(n,r.terminal.bg)}}}}function ud(e,t,n){return n===0?t:e(t,n)}function dd(e){if(!(Number.isFinite(e.seconds)&&e.seconds>0))throw RangeError(`curve: seconds must be a positive number of seconds, got ${e.seconds}`);if(!(e.swing>=0&&e.swing<=1))throw RangeError(`curve: swing must be in [0, 1], got ${e.swing}`)}const fd={shimmer:{seconds:109,ease:Bc.linear,swing:.9},pulse:{seconds:43,ease:Bc.linear,swing:.85},sparkle:{seconds:139,ease:Bc.linear,swing:.95},wheel:{seconds:907,ease:Bc.linear,swing:1},fade:{seconds:20,ease:Bc[`ease-in-out`],swing:1},dissolve:{seconds:30,ease:Bc[`ease-in-out`],swing:1}},pd={sun:new H(255,228,176),firefly:new H(222,245,140)},md=e=>Math.min(1,Math.max(0,e));function hd(e,t,n){if(!(n>=0&&n<=1))throw RangeError(`blend: w must be in [0, 1]; got ${n}`);let r=Math.PI/180,i=(1-n)*e.c*Math.cos(e.h*r)+n*t.c*Math.cos(t.h*r),a=(1-n)*e.c*Math.sin(e.h*r)+n*t.c*Math.sin(t.h*r);return new Vs((1-n)*e.l+n*t.l,Math.hypot(i,a),Math.atan2(a,i)/r,e.alpha)}function gd(e){let t=Vs.fromRgba(e);return(e,n)=>{let r=Vs.fromRgba(e);return hd(r,new Vs(Math.max(r.l,t.l),t.c,t.h,t.alpha),n).toRgba()}}const _d=(e,t)=>t*e[e.length-1][0];function vd(e,t,n){let r=t/n,i=e.findIndex(([e])=>r<e);if(!(r>0)||i<0)return 0;let[a,o]=i===0?[0,0]:e[i-1],[s,c]=e[i];return n*(o+(c-o)*(1-Math.cos(Math.PI*(r-a)/(s-a)))/2)}function yd(e,t,n){let r=_d(e,n),i=t=>{let r=0;for(let i=0;i<24;i++)r+=vd(e,(i+.5)/24*t,n);return r*t};return i(Math.min(Math.max(t,0),r))/i(r)}const bd=[[.24,1],[.6,0]];function xd(e,t,n){dd(e);let r=.9+.2*rd(n,3.1),i=t=>.1*td(t/(3*e.seconds),.5,.5+n),a=i(0);return{touch:gd(t),field:t=>{let o=r*t/e.seconds+i(t)-a,s=Math.floor(o),c=.7+.3*id(-.5,.5,td(s*.37,2.1,n)),l=.5-.5*Math.cos(2*Math.PI*(o-s)),u=e.swing*e.ease(c*l);return()=>u}}}const Sd=e=>Math.abs(e)>=1?0:(1-e*e)**3;function Cd(e,t,n,r,i){dd(e);let a=e.seconds,o=t+2*n,s=a/2,c=e=>id(-.4,.4,td(e/7,3.3,5.5+i)),l=.7,u=.51,d=.4,f=l+(u+d)*a*o/80/s,p=(e,t)=>{let r=c(e),f=(rd(e,7.5+i)<.35+.6*r)*(.3+.7*r*(.6+.4*rd(e,8.5+i))),p=a*o/80*(u+d*rd(e,5.5+i)),m=md((t-(e+l*rd(e,6.5+i))*s)/p);return{strength:f,centre:m*o-n+.06*o*Math.sin(Math.PI*m)*td(m,2.7,e+i)}},m=e=>{let t=Math.floor(e/s),n=[];for(let r=Math.max(0,Math.ceil(t-f));r<=t;r++)n.push(p(r,e));return n},h=(e,t,n)=>Math.exp(-((td(e,t,n)/.8)**2));return{touch:gd(r),field:t=>{let r=m(t);return a=>{let o=0;for(let{strength:e,centre:t}of r)o=Math.max(o,e*Sd((a.col-t)/n));let s=a.row+i,c=.8*td(a.col*.05,s*.3+1.3,t*.02),l=(h(a.col*.21+c,s*.9,t*.022)*h(a.col*.33+9.1-c,s*.7,t*.018+4.2))**2;return e.swing*e.ease(o*(.1+.6*l))}}}}function wd(e,t,n,r){dd(e);let i=Math.max(3,Math.round(t/8)),a=e.seconds,o=Array.from({length:i},(e,n)=>({home:(n+.5+.7*td(n*1.7+.2,.3,.5+r))*(t/i),z:n*4.9+.3+r,offset:rd(n,.7+r)*a})),s=e=>o.map(t=>{let n=e+t.offset,r=Math.floor(n/a),i=rd(r,t.z+1)<.15?0:1,o=.5+.5*rd(r,t.z+2),s=rd(r,t.z+3)*(1-_d(bd,o)),c=n/a-r-s;return{x:t.home+5*(2*rd(r,t.z+4)-1)+5*o*(2*rd(r,t.z+5)-1)*yd(bd,c,o)+1.5*td(t.z,.1,e*.035),y:.6*td(t.z,2.2,e*.035),glow:i*vd(bd,c,o)}});return{touch:gd(n),field:t=>{let n=s(t);return t=>{let r=0;for(let e of n)r=Math.max(r,e.glow*Sd(Math.hypot(t.col-e.x,2*(t.row-e.y))/5));return e.swing*e.ease(r)}}}}function Td(e,t){return(n,{theme:r})=>{let i=e(n),a=Vs.fromRgba(r.backgroundColor);return(e,n)=>{let r=t*(1-md(i(n)));if(r===0)return e;let o=hd(Vs.fromRgba(e.bg),a,r);return{fg:hd(Vs.fromRgba(e.fg),o,r).toRgba(),bg:o.toRgba()}}}}function Ed(e){let t=new Map;return n=>{let r=`${n.row}:${n.col}`,i=t.get(r)??md(.5+1.1*nd(n.col*.09+1.4*td(n.col*.035,n.row*.2+2.6,e+.5),n.row*.45,e,3));return t.set(r,i),i}}function Dd(e,t){return{effect:t,done:t=>t>=e.seconds}}function Od(e,t){let n=e.seconds*.45,r=Uc.once(0,n);return i=>a=>r(i-t(a)*(e.seconds-n))}function kd(e,t){dd(e);let n=Od(e,Ed(1.7+t));return Dd(e,Td(t=>{let r=n(t);return t=>e.ease(r(t))},e.swing))}const Ad={depth:.4,from:.5,to:.95,maskFrom:.35,maskTo:.75,late:.6};function jd(e,t){dd(e);let n=Ed(4.2+t),r=Ed(9.3+t),i=Od(e,n),{depth:a,from:o,to:s,maskFrom:c,maskTo:l,late:u}=Ad;return Dd(e,Td(t=>{let d=i(t);return t=>{let i=e.ease(d(t)),f=md((i-o)/(s-o)),p=a*id(c,l,r(t))*(1-u+u*n(t))*Math.sin(Math.PI*f)**2;return 1-i+p}},e.swing))}const Md=[211,337];function Nd(e,t){dd(e);let n=e.seconds,r=e=>rd(Number.parseInt(e.slice(1),16)*1e-4,17.3+t),i=(e,n)=>td(n/Md[0],5.9+97*e,t)+.5*td(n/Md[1],2.3+89*e,t+7.1),a=(t,a)=>{let o=r(t);return 360*a/n+e.swing*180*((i(o,a)-i(o,0))/1.5)};return(e,{colors:t,fills:n})=>(r,i)=>{let o={fg:!i.terminal.fg&&t.has(r.fg.hex),bg:!i.terminal.bg&&t.has(r.bg.hex)},s=(t,r,i,o)=>r?Vs.fromRgba(t).applyKey({...As,hueShift:a(n.has(t.hex)||!o?t.hex:i.hex,e)}).toRgba():t;return{fg:s(r.fg,o.fg,r.bg,o.bg),bg:s(r.bg,o.bg,r.fg,o.fg)}}}const Pd={loops:{shimmer:(e,t=fd.shimmer)=>cd(Cd(t,e.span,24,pd.sun,e.z)),pulse:(e,t=fd.pulse)=>cd(xd(t,pd.sun,e.z)),sparkle:(e,t=fd.sparkle)=>cd(wd(t,e.span,pd.firefly,e.z)),wheel:(e,t=fd.wheel)=>Nd(t,e.z)},transitions:{fade:(e,t=fd.fade)=>kd(t,e.z),dissolve:(e,t=fd.dissolve)=>jd(t,e.z)}};function Fd(e,t){let n=[...e.render(t)],r=0;for(let e of n)r+=e.cellLength;return{segments:n,width:r}}const Id={segments:[],width:0},Ld={left:()=>0,justify:()=>0,center:e=>Math.floor(e/2),right:e=>e};function Rd(e,t){return Ld[e](t)}function zd(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 Bd=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=>Fd(Ql(t),e)),o=n=>i?Fd(Zl(i,null,t[n],{index:n}),e):Id,s=n=>i?Fd(Zl(i,t[n],null,{index:n+1}),e):Id,c=(n,r)=>i?Fd(Zl(i,t[n],t[r],{index:r}),e):Id,l=[],u=null,d=r>0?{segments:[new K(` `.repeat(r))],width:r}:Id;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=Rd(p,i),o=zd(p,r,i,t.itemBlockIndices.length),s=new Map;t.itemBlockIndices.forEach((e,t)=>s.set(e,t)),a>0&&(yield new K(` `.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 K(` `.repeat(e)))}yield*t.blocks[e].segments}yield K.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=Fd(t[i],e).width,o=this.joiner?Fd(Zl(this.joiner,null,t[i],{index:i}),e).width:0,s=this.joiner?Fd(Zl(this.joiner,t[i],null,{index:i+1}),e).width:0;n=Math.max(n,a+o+s),r+=a,i>0&&(r+=this.gap*2,this.joiner&&(r+=Fd(Zl(this.joiner,t[i-1],t[i],{index:i}),e).width))}return this.joiner&&(r+=Fd(Zl(this.joiner,null,t[0],{index:0}),e).width,r+=Fd(Zl(this.joiner,t[t.length-1],null,{index:t.length}),e).width),{minimum:n,maximum:r}}};function Vd(e){return e<32||e===127||e>=128&&e<=159}function Hd(e){let t=``;for(let n of e)t+=Vd(n.codePointAt(0)??0)?` `:n;return t.replace(/\s+/g,` `).trim()}function Ud(e,t){let n=Hd(e),r=``,i=0;for(let e of n){if(i===t)return r.replace(/.$/u,`…`);r+=e,i++}return r}const Wd=`\x1B[38;2;255;255;255m`,Gd=`\x1B[48;2;200;40;40m`;function Kd(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 qd={fg:Kd(Wd),bg:Kd(Gd)},Jd={fg:Kd(`\x1B[38;2;0;0;0m`),bg:Kd(`\x1B[48;2;220;160;40m`)};function Yd(){let e=new WeakMap;return(t,n,r)=>{let i=e.get(t);i===void 0&&(i=new Map,e.set(t,i));let a=i.get(n);if(a!==void 0)return a;let o=r();return i.set(n,o),o}}const Xd=[`primary`,`secondary`,`accent`],Zd=[`darken-3`,`darken-2`,`darken-1`,`base`,`lighten-1`,`lighten-2`,`lighten-3`],Qd={"darken-3":`-darken-3`,"darken-2":`-darken-2`,"darken-1":`-darken-1`,base:``,"lighten-1":`-lighten-1`,"lighten-2":`-lighten-2`,"lighten-3":`-lighten-3`,muted:`-muted`},$d=(e,t)=>`${e}${Qd[t]}`,ef=(e,t,n,r)=>Pf(e,n,r),tf=(e,t,n,r)=>If(e,wf(e,`text-${t}`),n,r),nf=e=>({tones:[Zd[e],Zd[e+2],Zd[e+1]],text:ef}),rf={muted:{tones:[`muted`],text:tf},deepest:nf(0),deeper:nf(1),middle:nf(2),brighter:nf(3),brightest:nf(4)},af=1/0,of={accent:{hues:[`secondary`,`accent`],run:af},duo:{hues:[`primary`,`secondary`],run:af},mono:{hues:[`primary`],run:af},alt:{hues:[`secondary`,`accent`],run:3}},sf=e=>e.variation.hues.flatMap(t=>e.shade.tones.map(e=>({hue:t,shade:e}))),cf=e=>{let t=0,n=.5;for(let r=e;r>0;r>>=1,n/=2)t+=n*(r&1);return t},lf=[`van-der-corput`,`golden-angle`,`ends-interleaved`,`monotonic`,`uniform`],uf=e=>typeof e==`string`&&lf.includes(e),df={"van-der-corput":cf,"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},ff=e=>df[e??`van-der-corput`];function pf(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 mf=(e,t)=>Math.floor(e*t),hf=(e,t)=>Math.round(e*t)%t;function gf(e){return e===void 0?0:e.distribution(e.index,e.count)}function _f(e,t,n){let r=e[n(gf(t),e.length)];if(r===void 0)throw Error(`vocabularySelect: empty vocabulary`);return r}function vf(e){let t=e.findIndex(e=>e.axis===`cell`),n=t===-1?e:e.slice(0,t);return{row:n.at(-1),cell:e[n.length]}}const yf=(e,t)=>mf(gf(t),e.hues.length);function bf(e,t){let{row:n,cell:r}=vf(t);return xf(e,n,r)}function xf(e,t,n){let{hues:r,run:i}=e.variation,a=n===void 0?0:Math.floor(n.index/i),o=r[(yf(e.variation,t)+a)%r.length];if(o===void 0)throw Error(`decorEntryFor: empty variation`);return{hue:o,shade:_f(e.shade.tones,n,hf)}}function Sf(e,t){let{row:n,cell:r}=vf(t),i=r===void 0?[void 0]:Array.from({length:r.count},(e,t)=>({...r,index:t}));return[...new Map(i.map(t=>xf(e,n,t)).map(e=>[$d(e.hue,e.shade),e])).values()].sort((e,t)=>Xd.indexOf(e.hue)-Xd.indexOf(t.hue)||Cf.indexOf(e.shade)-Cf.indexOf(t.shade))}const Cf=[...Zd,`muted`];function wf(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}const Tf=(e,t)=>wf(e,$d(t.hue,t.shade)),Ef=2.2,Df=(e,t)=>t.map(t=>Tf(e,t)),Of=e=>t=>ec(t,e),kf=Of(U.TRUECOLOR);function Af(e,t,n,r){return jf(e,`${t}|${n.map(e=>e.hex).join(`+`)}|${r}`,()=>Mf(e,t,n,r))}const jf=Yd();function Mf(e,t,n,r){let i=n.map(kf),a=wf(e,t),o=new H(0,0,0),s=new H(255,255,255),c=(e,t)=>Vs.fromRgba(a).mixAxes(Vs.fromRgba(e),{l:t,c:0,h:0,alpha:0}).toRgba(),l=e=>Array.from({length:12},(t,n)=>c(e,(n+1)/12)),u=l(o),d=[a,...l(s).flatMap((e,t)=>[e,u[t]])],f=e=>{let t=Of(e),n=i.map(t);return e=>Math.min(1/0,...n.map(n=>Fo(t(e),n)))},p=f(U.TRUECOLOR),m=f(r),h=e=>$s(e,r,(e,t)=>i.every(n=>Fo(e,t(n))>=Ef)),g=e=>p(e)>=2.2&&h(e)!==void 0,_=(e,t)=>{let n=n=>Fo(kf(n),e)-Fo(kf(n),t),r=n(a)<0?o:s,i=r===o?1:-1,[l,u]=[0,1];for(let e=0;e<40;e++){let e=(l+u)/2;i*n(c(r,e))>0?u=e:l=e}return[c(r,l),c(r,u)]},v=()=>{let e=[...i].sort((e,t)=>Po(e)-Po(t));return e.slice(1).flatMap((t,n)=>_(t,e[n]))},y=d.find(g)??[...d,...v()].reduce((e,t)=>m(t)>m(e)?t:e),b=h(y)??y,x=m(b);return{anchor:y,state:b,short:x>=2.2?null:x}}const Nf=4.5;function Pf(e,t,n){return Ff(e,`${t.hex}|${n}`,()=>{let r=Zs(t);return If(e,[`background`,`foreground`].map(t=>wf(e,t)).reduce((e,t)=>Fo(r,t)<Fo(r,e)?t:e),t,n)})}const Ff=Yd();function If(e,t,n,r){return Lf(e,`${t.hex}|${n.hex}|${r}`,()=>Qs(t,n,Nf,r))}const Lf=Yd();function Rf(e,t,n){return t.depth===0?Df(e,t.ground):zf(e,t,n)}const zf=(e,t,n)=>t.depth===0?[]:[Xf(e,{...t,depth:t.depth-1},n).plane],Bf=(e,{short:t},n)=>t===null?[]:[`theme "${e.name}": no open-trigger colour stands ${Ef}:1 off every cell beside it — the nearest stands ${t.toFixed(2)}:1 as drawn at depth ${U[n]}; another shade or variation clears it`],Vf=(e,t,n)=>t>=Gf.triggerPlane?[]:[`theme "${e.name}": an open band's plane stands ΔE ${t.toFixed(3)} off the trigger that opened it as drawn at depth ${U[n]}, under the ${Gf.triggerPlane} that tells them apart; another style clears it`],Hf={base:.42,perDepth:.14,cap:.75},Uf={floor:.12,span:.8};function Wf(e,t){return Xd[(Xd.indexOf(e)+t)%Xd.length]}const Gf={triggerPlane:.1,nestedPlane:.035};function Kf(e,t,n){return qf(e,`${Jf(t)}|${n}`,()=>{let r=Af(e,Wf(t.hue,t.depth),Rf(e,t,n),n),{state:i}=r,a=ep(e,t,i,n),o=$s(Xf(e,t,n).plane,n,(e,t)=>a.every(n=>n(e,t)));if(o===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 ${U[n]}`);let s=Of(n);return{state:i,plane:o,shortfalls:n===U.DEFAULT?[]:[...Bf(e,r,n),...Vf(e,Yf(s(i),s(o)),n)]}})}const qf=Yd(),Jf=({hue:e,depth:t,ground:n})=>`${e}|${t}|${n.map(e=>$d(e.hue,e.shade)).join(`+`)}`,Yf=(e,t)=>Vs.fromRgba(e).deltaE(Vs.fromRgba(t));function Xf(e,t,n){return Zf(e,`${Jf(t)}|${n}`,()=>Qf(e,t,n))}const Zf=Yd();function Qf(e,t,n){let{anchor:r}=Af(e,Wf(t.hue,t.depth),Rf(e,t,n),n),i=Math.min(Hf.cap,Hf.base+Hf.perDepth*t.depth),a=(t,n)=>fs(r,wf(e,t),n),o=zf(e,t,n),s=e=>Yf(kf(r),kf(e))>=Gf.triggerPlane&&o.every(t=>Yf(kf(t),kf(e))>=Gf.nestedPlane),c=a(`background`,i);return{state:r,plane:[c,a(`foreground`,i),a(`background`,Hf.cap),a(`foreground`,Hf.cap),...$f.toSorted((e,t)=>Math.abs(e-i)-Math.abs(t-i)).flatMap(e=>[a(`background`,e),a(`foreground`,e)])].find(s)??c}}const $f=Array.from({length:12},(e,t)=>(t+1)/12);function ep(e,t,n,r){let{hue:i,depth:a,ground:o}=t,s=t=>Xf(e,{hue:i,depth:t,ground:o},r).state,c=t=>Xf(e,{hue:i,depth:t,ground:o},r).plane,l=c(a),u=(e,t)=>Yf(kf(l),kf(t))>=e?e:0,d=Af(e,Wf(i,a+1),Rf(e,{hue:i,depth:a+1,ground:o},r),r),f=Fo(kf(l),kf(d.anchor))>=2.2?Ef:0,p=(e,t)=>(n,r)=>Yf(n,r(e))>=t;return[p(n,u(Gf.triggerPlane,s(a))),(e,t)=>Fo(e,t(d.state))>=f,...a>0?[p(Kf(e,{hue:i,depth:a-1,ground:o},r).plane,u(Gf.nestedPlane,c(a-1)))]:[]]}function tp(e,t,n,r){let i=Kf(e,t,r),a=Xf(e,t,r),o=e=>fs(a.plane,a.state,e),s=Uf.floor+Uf.span*pf(n),c=Uf.floor+Uf.span/2,l=(e,t)=>e.hex!==t(i.plane).hex&&e.hex!==t(i.state).hex;for(let e=0;e<=12;e++){let t=$s(o(s+(c-s)*e/12),r,l);if(t!==void 0)return t}return o(s)}const np=e=>({kind:`bar`,decor:e,address:[]}),rp=(e,t)=>({...e,address:[...e.address,t]}),ip=e=>({kind:`band`,band:e,address:[]});function ap(e,t,n){switch(t.kind){case`bar`:{let{decor:r,address:i}=t,a=bf(r,i),o=Tf(e,a),s;return{tint:o,text:r.shade.text(e,a.hue,o,n),disclosure:{hue:`accent`,depth:0,get ground(){return s??=Sf(r,i)}}}}case`band`:{let{band:r,address:i}=t,a=tp(e,r,i,n);return{tint:a,text:Pf(e,a,n),disclosure:{...r,depth:r.depth+1}}}}}const op=new Map([[`dark`,`textual-dark`],[`light`,`textual-light`]]);function sp(e){let t=typeof e==`string`?op.get(e):void 0;return t===void 0?``:` — "${e}" was retired; write "${t}", the same palette`}const cp=`textual-dark`;function lp(e,t,n,r,i){let a=t===null?null:i(t);return e??a??n??r}function up(){return xc()}function dp(){return[`bar`,...up()]}let fp;function pp(e){return fp??=new Set(dp()),fp.has(e)}function mp(e,t,n,r,i){let a=e=>Object.prototype.hasOwnProperty.call(i,e)?e:null;return lp(e===void 0?null:a(e),t,a(n??r),r,a)}const hp=[`style`,`palette`,`effect`];function gp(e){return e!==void 0&&e.includes(`{{`)}function _p(e,t,n,r,i){let a=gp(n)?{kind:`expression`,source:n}:i(n??r.name);return lp(e===void 0?null:i(e),t,a,r,i)}function vp(e,t){return e.kind===`decided`?e:t(e.source)}const yp=`none`;function bp(e,t){let n=t[e];return n===void 0?null:{kind:`decided`,name:e,value:n}}function xp(e,t){return bp(e,t)??bp(`none`,t)??{kind:`decided`,name:`none`,value:As}}function Sp(e,t,n,r){return _p(e,t,n,xp(yp,r),e=>bp(e,r))}const Cp=`none`,wp={style:yp,palette:cp,effect:Cp};function Tp(e,t,n){return`${e} rendered "${wp[t]}": ${n}`}const Ep=Object.freeze([Cp,...Object.keys(Pd.loops)]),Dp=Object.freeze([`bar`,...Ep]);function Op(e){let t=Ep.find(t=>t===e);return t===void 0?null:{kind:`decided`,name:e,value:t}}function kp(e){return Op(e)??{kind:`decided`,name:`none`,value:`none`}}function Ap(e,t,n){return _p(e,t,n,kp(Cp),Op)}const jp=Object.freeze(Object.keys(Fu));function Mp(e){return jp.includes(e)}const Np=[`powerline`,`capsule`,`plain`];function Pp(e){return Np.includes(e)}function Fp(e,t,n){return lp(e,t,n,`powerline`,e=>Mp(e)?e:null)}const Ip=[`unicode`,`ascii`];function Lp(e){return[...e].every(e=>e.codePointAt(0)<=127)}const Rp=`unicode`,zp=[`truecolor`,`256`,`ansi`,`none`];function Bp(e){return Jo(e)??U.DEFAULT}const Vp=Object.keys(of);function Hp(e){return Vp.includes(e)}function Up(e,t,n){return lp(e,t,n,`accent`,e=>Hp(e)?e:null)}const Wp=Object.keys(rf);function Gp(e){return Wp.includes(e)}function Kp(e,t,n){return lp(e,t,n,`middle`,e=>Gp(e)?e:null)}const qp=`true`,Jp=`false`,Yp=[qp,Jp],Xp={min:0,max:16};function Zp(e){return e===`true`?!0:e===`false`?!1:null}function Qp(e,t){let n=Number(e);return Number.isInteger(n)&&String(n)===e&&n>=t.min&&n<=t.max?n:null}function $p(e){return Qp(e,Xp)}function em(e,t,n){return lp(e,t,n,!0,Zp)}function tm(e,t,n){return lp(e,t,n,!0,Zp)}function nm(e,t,n){return lp(e,t,n,!1,Zp)}function rm(e,t,n){return lp(e,t,n,1,$p)}const im=new el({"strip.separator":`default`,"strip.rail":`default`});function am(e){return im.resolve(e)}const om=RegExp(`\\x1b\\[[0-9;]*m|${Nl.source}`,`g`),sm={kind:`still`},cm=Symbol(`bar`);function lm(e){return e.name!==Cp}function um(e){return(t,n)=>{let r=e.map(({t:e,effect:t})=>t(e,n));return(e,t)=>r.reduce((e,n)=>n(e,t),e)}}const dm=Ac;function fm(e,t){let n=new ps(t,dm.foregroundColor,dm.ansiColors,dm.palette);return(t,r)=>e(t,{...r,theme:n})}function pm(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619)>>>0;return t/4294967296}const mm=4096;var hm=class{inForce=null;placements=new Map;made=new Map;drawn=null;frame={effect:Cp,t:0,made:0,reused:0,own:[],basis:`off`,revision:0,fades:[],leaves:[]};constructor(e){this.key=e}lastFrame(){return this.frame}get heldCount(){let e=[...this.drawn?.placements.values()??[]].filter(({passage:e})=>e!==null).length;return[...this.made.values()].reduce((e,t)=>e+t.size,e)}motion(e,t,n){let r=this.inForce?.name===e?this.inForce:{name:e,since:t},i={scope:cm,name:e,t:t-r.since},a=this.placements,o=new Map,s=this.made,c=new Map,l=[],u=this.drawn,d=n.transitions?u!==null&&u.source.config===n.source.config&&u.source.preset===n.source.preset&&u.source.revision===n.source.revision&&u.source.width===n.source.width?`compared`:`fresh`:`off`,f=d===`compared`?u.placements:null,p=new Map,m=[],h=[],g={effect:e,t:i.t,made:0,reused:0,own:l,basis:d,revision:n.source.revision,fades:m,leaves:h},_=(e,n,{ground:r})=>{let i=Pd.transitions[e]({span:0,z:pm(`${this.key}@${n}`)*mm});return{name:e,since:t,transition:{effect:fm(i.effect,r),done:e=>i.done(e)}}},v=({since:e,transition:n})=>n.done(t-e),y=(e,t,n)=>({drawing:t,passage:f===null?null:n===void 0||n.passage?.name===`dissolve`?_(`fade`,e,t):n.passage!==null&&!v(n.passage)?n.passage:null}),b=(e,t)=>{if(t===void 0||t.drawing.own.length===0)return;if(t.passage?.name===`dissolve`)return v(t.passage)?void 0:t;let r={...t.drawing,own:t.drawing.own.map(n.hold)};return{drawing:r,passage:_(`dissolve`,e,r)}},x=(e,r)=>{if(p.has(e))throw Error(`placement "${e}" was reached twice in one frame`);let i=f?.get(e),{drawing:a,deeper:o}=n.returned(e,r),s=a===null?b(e,i):y(e,a,i);return s===void 0?r:(p.set(e,s),s.passage!==null&&(s.passage.name===`fade`?m:h).push({placement:e,t:t-s.passage.since}),a===null?[...s.drawing.own,...o]:r)},S=(e,n)=>{let r=o.get(e)??a.get(e),i=r?.name===n?r:{name:n,since:t},s=t-i.since;return o.has(e)||(o.set(e,i),l.push({placement:e,effect:n,t:s})),{scope:e,name:n,t:s}},C=(e,t,n)=>{let r=c.get(e)??new Map;c.set(e,r);let i=r.get(t.scope);if(i!==void 0)return i.effect;let a=s.get(e)?.get(t.scope),o=a?.name===t.name&&a.span===n,l=pm(t.scope===cm?e:`${e}@${t.scope}`),u=o?a.effect:Pd.loops[t.name]({span:n,z:l*mm});return g[o?`reused`:`made`]++,r.set(t.scope,{name:t.name,span:n,effect:u}),u},ee=e=>{let t=new Map;for(let{owner:n,placement:r}of e){let e=r.effect===`bar`?i:S(r.id,r.effect),a=t.get(e.scope);a===void 0?t.set(e.scope,{...e,owners:[n]}):a.owners.push(n)}return[...t.values()]},te=e=>{let n=new Map;for(let{owner:t,placement:r}of e){let e=n.get(r.id);e===void 0?n.set(r.id,[t]):e.push(t)}return[...n].flatMap(([e,n])=>{let r=p.get(e)?.passage??null;return r===null?[]:[{t:t-r.since,effect:Uu(r.transition.effect,...n)}]})};return{placed:d===`off`?(e,t)=>t:x,row:(e,t)=>{let n=(t.some(e=>e.placement.effect!==`bar`)?ee(t):[{...i,owners:void 0}]).filter(lm),r=te(t);if(n.length===0&&r.length===0)return sm;let a=`${this.key}#${e}`;return{kind:`moving`,wrap:(e,t)=>new zu(e,um([...n.map(e=>{let n=C(a,e,t);return{t:e.t,effect:e.owners===void 0?n:Uu(n,...e.owners)}}),...r]),{t:i.t,key:a,theme:dm})}},drawn:()=>{this.inForce=r,this.placements=o,this.made=c,this.drawn=d===`off`?null:{source:n.source,placements:p},this.frame=g}}}},gm=class{sessions=new Map;constructor(e=256){this.maxSessions=e}of(e){let t=this.sessions.get(e)??new hm(e);this.sessions.delete(e),this.sessions.set(e,t);for(let e of this.sessions.keys()){if(this.sessions.size<=this.maxSessions)break;this.sessions.delete(e)}return t}getStats(){let e=0;for(let t of this.sessions.values())e+=t.heldCount;return{sessions:this.sessions.size,effects:e}}};function _m(e){return Math.max(0,...e.split(`
|
|
52
|
-
`).map(e=>
|
|
53
|
-
`))throw Error(`renderStripCells: rich-js strip output did not end its last line`);return s.slice(0,-1)}function
|
|
54
|
-
`)}function
|
|
55
|
-
`);return e?`${l}\n${e}`:l}function
|
|
56
|
-
`))}function zm(e,t,n,r){let{colors:i}=e.channels[0].severity,{fullText:a,failedConfigFile:o}=t,s=new G({bgcolor:i.bg,color:i.fg}),c=(e,t)=>new q(e,{style:t,end:``,overflow:`ignore`}),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: ${Hd(a.reason)}`,s)]:[],u=o===null?[]:[c(`${l.length>0?` · `:``}open `,s),c(Hd(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=q.fromFragments([...d,...p]).truncate(r.width);return m.overflow=`ignore`,Dm([m],r)}const Bm=e=>!e.startsWith(`.`)&&!e.endsWith(`~`);function Vm(e,t){return t.isSymbolicLink()?Buffer.from(r.readlinkSync(e)):r.readFileSync(e)}function Hm(e,t){return r.readdirSync(t).filter(Bm).sort().flatMap(n=>{let i=l.join(t,n),a=r.lstatSync(i,{throwIfNoEntry:!1});return a===void 0?[]:a.isDirectory()?Hm(e,i):[[l.relative(e,i).split(l.sep).join(`/`),Vm(i,a)]]})}function Um(e){let t=ie.createHash(`sha256`);for(let[n,r]of Hm(e,e))t.update(n).update(`\0`).update(r).update(`\0`);return t.digest(`hex`)}const Wm=e=>e.slice(0,7);function Gm(e){return l.dirname(l.dirname(e))}function Km(){return{version:wt,digest:`4403324d4363a3f0dff73df8f6fb3c0e69e7dd8cb4e3d166c45a674b41d6c03e`}}function qm(e){let t=JSON.parse(r.readFileSync(l.join(e,`package.json`),`utf8`)),n=typeof t==`object`&&t?t.version:void 0;if(typeof n!=`string`)throw Error(`${l.join(e,`package.json`)} has no version string`);return n}function Jm(e,t){try{let n=Gm(ne(e)),i=l.join(n,`src`);if(!r.existsSync(i))return{kind:`not-source-checkout`};let a=t(),o=Um(i);return o===a.digest?{kind:`current`,root:n,stamp:a}:{kind:`stale`,root:n,source:{version:qm(n),digest:o},running:a}}catch(e){return{kind:`unchecked`,reason:e.message}}}var J=class extends Error{constructor(e){super(e),this.name=`BadVerbArgs`}};const Ym=new Map;function Xm(e){let t=Qm(e);if(t===null)throw Error(`Palette "${e}" did not resolve in the theme registry — allowed names and the registry are inconsistent`);return t}function Zm(e,t){return e===`bar`?t:Xm(e)}function Qm(e){let t=Ym.get(e);if(t!==void 0)return t;let n=Sc(e);return n===null?null:(Ym.set(e,n),n)}function $m(e,t){return eh(e,`${t.hueShift} ${t.chromaScale} ${t.lightnessScale} ${t.lightnessShift}`,()=>Pc(e,t))}const eh=Yd();function th(e){let t=Qm(e);return t===null?null:{kind:`decided`,name:e,value:t}}function nh(e,t,n){let r=th(e);return r===null?(n(Tp(t,`palette`,`"${e}" names no installed theme${sp(e)}`)),ih()):r}function rh(e,t,n){return _p(e,t,n,ih(),th)}function ih(){return{kind:`decided`,name:cp,value:Xm(cp)}}const ah=[`vertical`,`horizontal`],oh={vertical:`row`,horizontal:`cell`};function sh(e){return e.id??e.name}function ch(e){return[...dh(e)].flatMap(e=>e.kind===`segment`?[sh(e)]:[])}function lh(e,t){if(!t.has(e))return e;let n=2;for(;t.has(`${e}-${n}`);)n++;return`${e}-${n}`}function uh(e,t){return e.opens===void 0?e:{...e,opens:{...e.opens,body:t(e.opens.body)}}}function*dh(e){yield e;for(let t of hh(e))yield*dh(t)}const fh=(e,t)=>`${e}.children[${t}]`,ph=e=>`${e}.opens.body`;function*mh(e,t){if(yield[e,t],e.kind===`container`)for(let[n,r]of e.children.entries())yield*mh(r,fh(t,n));else e.opens!==void 0&&(yield*mh(e.opens.body,ph(t)))}function hh(e){return e.kind===`container`?e.children:e.opens===void 0?[]:[e.opens.body]}const gh=[`shade`,`variation`,`style`];function _h(e){return e===void 0||`text`in e?`text`:`regex`in e?`regex`:`json`}const vh=[`ttl`,`watch_file`,`depends_on`,`key`,`never`];function yh(e){return e.kind===`file`||e.kind===`shell`||e.kind===`template`}const bh=[`branch`,`sha`,`dirty`,`ahead`,`behind`,`stash`],xh=`theme`,Sh=`effect`,Ch=[xh,Sh];function wh(e){return{...e.settings,[xh]:{label:xh,domain:`theme`,default:e.palette??`bar`},[Sh]:{label:Sh,domain:Dp,default:`bar`}}}function Th(e){let t=e?.domain;return typeof t==`object`&&`min`in t?t:void 0}function Eh(e,t){return Object.entries(e).flatMap(([n,r])=>{let i=Th(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 Dh(e,t){let{domain:n}=e;return n===`bool`?typeof t==`boolean`:n===`theme`?typeof t==`string`&&pp(t):`min`in n?typeof t==`number`&&Number.isInteger(t)&&t>=n.min&&t<=n.max:typeof t==`string`&&n.includes(t)}function Oh(e){return String(e)}function kh(e,t){let{domain:n}=e;if(typeof n==`object`&&`min`in n)return Qp(t,n)??void 0;let r=n===`bool`?t===`true`?!0:t===`false`?!1:t:t;return Dh(e,r)?r:void 0}function Ah(e,t,n,r){let i=e.settings?.[t]??n.default,a=e.drafts?.[t],o=a===void 0?null:r(a);return(o===null?void 0:kh(n,o))??i}function jh(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 Mh=[`left`,`center`,`right`],Nh=[`right`,`left`,`middle`],Ph=/^[A-Za-z_][A-Za-z0-9_]*$/;function Fh(e){return`#${e+1}`}const Ih={rows:{}};function Lh(e){return`rows`in e}function Rh(e){return Object.fromEntries(e.map((e,t)=>[Fh(t),e]))}function zh(e){if(e.kind===`container`&&e.direction===`vertical`){let{kind:t,direction:n,children:r,...i}=e;return{...i,rows:Rh(r)}}let{when:t,...n}=e;return{...t!==void 0&&{when:t},rows:Rh([n])}}function Bh(e){let{rows:t,...n}=e;return{kind:`container`,direction:`vertical`,children:Object.values(t),...n}}function Vh(e){return Lh(e)?Bh(e):e}function*Hh(e,t){if(!Lh(e)){yield*mh(e,t);return}yield[Bh(e),t];for(let[n,r]of Object.entries(e.rows))yield*mh(r,`${t}.rows.${n}`)}function Uh(e,t){return Lh(e)?{...t,...e,rows:{...t.rows,...e.rows}}:zh(e)}function Wh(e){if(!Lh(e))return!0;let{rows:t,...n}=e;return Object.values(n).some(e=>e!==void 0)||Object.keys(t).length>0}const Gh=`default`,Kh={};function qh(e){return[...new Set([Gh,...Object.keys(e)])]}function Jh(e,t,n){return mp(void 0,e,t,Gh,n)}function Yh(e,t){let n={[Gh]:Kh,...e}[t];if(n===void 0)throw Error(`Preset "${t}" is not declared in this config — effectivePresetName collapses unknown names to "${Gh}", which always resolves; a miss here means a raw name reached this function without going through that resolution`);return n}function Xh(e,t){let n=Yh(e.presets,t).root??Ih;return{node:Bh(Uh(n,e.root)),path:Wh(n)?`presets.${t}.root`:`root`}}function Zh(e,t){return{...e.globals,...Yh(e.presets,t).globals}}const Qh=new Map;function $h(e,t,n){Qh.set(e,{permanent:!0,resolve:t,paletteOf:n})}$h(`themes`,()=>up(),e=>Xm(e));const eg=`placementThemes`;$h(eg,dp,(e,t)=>Zm(e,t.palette)),$h(`endcaps`,()=>jp),$h(`variations`,()=>Vp),$h(`shades`,()=>Wp),$h(`charsets`,()=>Ip),$h(`colorCompatibilities`,()=>zp);function tg(e){return new Map([[`styles`,{members:Object.keys(e.styles),paletteOf:(t,n)=>$m(n.basePalette,e.styles[t])}],[`presets`,{members:qh(e.presets)}]])}function ng(e){return[...new Set([...Qh.keys(),...e.keys()])]}function rg(e,t){if(typeof e!=`string`)return{members:e};let n=t.get(e);if(n)return n;let r=Qh.get(e);if(r)return{members:r.resolve(),paletteOf:r.paletteOf};throw Error(ag(e,t))}const ig=new Map([[`looks`,`styles`],[`progressions`,`variations`]]);function ag(e,t){let n=ig.get(e);return`unknown option domain "${e}"${n===void 0?``:` — it was renamed "${n}"; write from: "${n}"`} (have: ${ng(t).join(`, `)})`}const og=/"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|`[^`]*`/g;function*sg(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 cg=`[A-Za-z_]\\w*(?:\\.[A-Za-z_]\\w*)*`,lg=RegExp(`^(?:(\\$)(?:\\.(${cg}))?|\\.(${cg})?)(?=[\\s)]|$)`);function ug(e,t,n){let r=lg.exec(e.trimStart());if(r===null)return null;let[i,a]=r[1]===void 0?[t,r[3]]:[n,r[2]];return i===null?null:a===void 0?i:`${i}${a}.`}const dg=/^(\w+)\b\s*([\s\S]*)$/;function*fg(e,t){let n=[t];for(let r of sg(e)){let e=r.replace(/^-(?=\s)/,``).trim(),[,i=``,a=``]=dg.exec(e)??[],o=n[n.length-1],s=n.length>1?n[n.length-2]:o;if(i===`end`){n.length>1&&n.pop();continue}if(i===`else`){yield{code:e,dot:s};let r=/^with\b([\s\S]*)$/.exec(a);n[n.length-1]=r===null?s:ug(r[1],s,t);continue}yield{code:e,dot:o},i===`if`&&n.push(o),i===`with`&&n.push(ug(a,o,t)),(i===`range`||i===`define`||i===`block`)&&n.push(null)}}const pg=/(?<![.$])\btemplate\s+$/;function*mg(e,t,n){let r=0;for(let i of[...e.matchAll(og)]){let a=i.index+i[0].length;pg.test(e.slice(r,i.index))&&(yield{name:i[0].slice(1,-1),at:ug(e.slice(a),t,n)}),r=a}}function*hg(e,t){let n=new Set;function*r(e,i,a,o){for(let{code:s,dot:c}of[...fg(e,i)]){yield{code:s,dot:c,root:i,via:a};for(let e of[...mg(s,c,i)]){let i=Object.hasOwn(t,e.name)?t[e.name]:void 0,a=`${e.name}\0${e.at??`\0`}`;i===void 0||o.has(e.name)||n.has(a)||(n.add(a),yield*r(i,e.at,e.name,new Set([...o,e.name])))}}}yield*r(e,``,null,new Set)}const gg=RegExp(`(?<![A-Za-z0-9_)$])(\\$?)\\.(${cg})`,`g`);function*_g({code:e,dot:t,root:n}){let r=e.replace(og,``);for(let e of[...r.matchAll(gg)]){let r=e[1]===`$`?n:t;r!==null&&(yield`${r}${e[2]}`)}}function vg(e,t){let n=new Map;for(let r of hg(e,t))for(let e of _g(r))n.has(e)||n.set(e,r.via);return n}const yg=/(?<![.$])\b(action|picker|menu|carousel|swatches|swatch|themePreview)\s+$/,bg={action:1,picker:2,menu:1,carousel:2,swatch:1,swatches:2,themePreview:1};function*xg(e){let t=0,n=0,r=0,i=`action`;for(let a of[...e.matchAll(og)]){let o=e.slice(t,a.index),s=yg.exec(o);if(s!==null)n=bg[s[1]],r=0,i=s[1]===`action`?`action`:`options`;else for(let e of o)e===`(`&&r++,e===`)`&&r--,(r<0||e===`|`&&r===0)&&(n=0);n>0&&r===0&&(yield{name:a[0].slice(1,-1),site:i},n--),t=a.index+a[0].length}}function Sg(e,t){let n=new Map;for(let{code:r,via:i}of hg(e,t))for(let{name:e,site:t}of xg(r)){let r=`${e}\0${i??`\0`}`;n.has(r)||n.set(r,{name:e,site:t,via:i})}return[...n.values()]}function Cg(e,t){return new Set([...wg(e,t)].filter(e=>Object.hasOwn(t,e)))}function wg(e,t){let n=new Set;for(let{code:r,dot:i,root:a}of hg(e,t))for(let{name:e}of mg(r,i,a))n.add(e);return n}function Tg(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 Eg(e){let t=new Set,n=new Set,r=(e,r)=>{t.add(e),Dg(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 Dg(e){return e.kind===`dropped`||(e.kind===`shell`||e.kind===`file`)&&_h(e.parse)===`json`}function Og(e){let t=l.basename(e),n=l.dirname(e);for(;;){let r=kg(n);if(r!==null)return{dir:r,name:t,leaf:n===l.dirname(e)};t=l.basename(n),n=l.dirname(n)}}function kg(e){try{return r.statSync(e).isDirectory()?r.realpathSync(e):null}catch{return null}}var Ag=ye((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:rn}function r(){un||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()===dn}function l(e){var t=e?.constructor;return!!t&&(t.name===`GeneratorFunction`||t.displayName===`GeneratorFunction`)}function u(e,t,n){on(e,t,{enumerable:!1,writable:!0,configurable:!0,value:n})}function d(e,t,n){on(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 sn.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&&ie(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,ae(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.
|
|
57
|
-
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,ie(e,t)}function re(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch{}return(re=function(){return!!e})()}function ie(e,t){return(ie=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function ae(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 w(e){var t=typeof Map==`function`?new Map:void 0;return(w=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}}),ie(n,e)})(e)}function T(e){return Object.assign((function(t,n){if(se(n))return e.t(t,n);oe(t,n,e)}),e)}function oe(e,t,n){g(e,gn)||u(e,gn,ee({},e[gn])),function(e){return e.i===`override`}(n)||(e[gn][t]=n)}function se(e){return typeof e==`object`&&typeof e.kind==`string`}function ce(e,t,n){t===void 0&&(t=fn),n===void 0&&(n=fn);var r=new _n(e);return t!==fn&&dt(r,t),n!==fn&&ft(r,n),r}function le(e,t,n){return xt(e)?e:Array.isArray(e)?On.array(e,{name:n}):c(e)?On.object(e,void 0,{name:n}):p(e)?On.map(e,{name:n}):m(e)?On.set(e,{name:n}):typeof e!=`function`||ct(e)||vt(e)?e:l(e)?ar(e):$n(n,e)}function ue(e){return e}function E(e,t){return{i:e,u:t,o:de,s:fe,t:pe}}function de(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:ct(n.value)?1:(on(r,t,me(e,this,t,n,!1)),2)}function fe(e,t,n,r){var i=me(e,this,t,n);return e.l(t,i,r)}function pe(e,n){var r,i=n.kind,a=n.name,o=n.addInitializer,s=this,c=function(e){var t;return Ne(s.u?.name??a.toString(),e,(t=s.u?.autoAction)!=null&&t)};return i==`field`?function(e){var t,n=e;return ct(n)||(n=c(n)),(t=s.u)!=null&&t.bound&&((n=n.bind(this)).isMobxAction=!0),n}:i==`method`?(ct(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+`):
|
|
58
|
-
'`+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=L.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:ge,s:_e,t:ve}}function ge(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:(on(r,t,ye(e,0,0,n,!1,!1)),2)}function _e(e,t,n,r){var i=ye(e,0,0,n,this.u?.bound);return e.l(t,i,r)}function ve(e,t){var n,r=t.name,i=t.addInitializer;return vt(e)||(e=ar(e)),(n=this.u)!=null&&n.bound&&i((function(){var e=this[r].bind(this);e.isMobXFlow=!0,this[r]=e})),e}function ye(e,t,n,r,i,a){a===void 0&&(a=L.safeDescriptors);var o=r.value;return vt(o)||(o=ar(o)),i&&((o=o.bind(e.v??e.h)).isMobXFlow=!0),{value:o,configurable:!a||e.p,enumerable:!1,writable:!a}}function be(e,t){return{i:e,u:t,o:xe,s:D,t:Se}}function xe(e,t,n){return this.s(e,t,n,!1)===null?0:1}function D(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=Vt(this)[N],i=ee({},n.u,{get:e,context:this});i.name||=`ObservableObject.`+r.toString(),t.j.set(r,new Rn(i))})),function(){return this[N].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??le,r)}function Ee(e,t){function n(e,t){var n=Vt(e)[N],i=new In(t,r.u?.enhancer??le,`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[N].O(a)},set:function(e){return o.has(this)||n(this,e),this[N].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 jn.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:!L.safeDescriptors||e.p,set:s})===null?0:2:(on(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?ar.bound:ar).o(e,t,n,r):((a=this.u)!=null&&a.autoBind?$n.bound:$n).o(e,t,n,r);var c=!1===this.u?.deep?On.ref:On;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?jn.s(e,t,n,r):n.set?e.l(t,{configurable:!L.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?On.ref:On).s(e,t,n,r))}function Ae(){t(`'`+this.i+`' cannot be used as a decorator`)}function je(e){return e||Sn}function O(e){return!0===e.deep?le:!1===e.deep?ue:(t=e.defaultDecorator)&&(n=(r=t.u)?.enhancer)!=null?n:le;var t,n,r}function Me(e,t,n){return se(t)?Cn.t(e,t):o(t)?void oe(e,t,Cn):xt(e)?e:c(e)?On.object(e,t,n):Array.isArray(e)?On.array(e,t):p(e)?On.map(e,t):m(e)?On.set(e,t):typeof e==`object`&&e?e:On.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()},Pn&&(Fn.value=e,on(i,`name`,Fn)),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=L.trackingDerivation,r=!t||!n;$e();var i=L.allowStateChanges;r&&(Ge(),i=Re(!0));var a={A:r,k:n,M:i,V:qe(!0),R:!1,N:0,T:Nn++,C:Mn};return Mn=a.T,a}function Ie(e){Mn!==e.T&&t(30),Mn=e.C,e._!==void 0&&(L.suppressReactionErrors=!0),ze(e.M),Je(e.V),et(),e.A&&Ke(e.k),L.suppressReactionErrors=!1}function Le(e,t){var n=Re(e);try{return t()}finally{ze(n)}}function Re(e){var t=L.allowStateChanges;return L.allowStateChanges=e,t}function ze(e){L.allowStateChanges=e}function Be(e){return e instanceof Bn}function Ve(e){switch(e.I){case F.L:return!1;case F.P:case F.K:return!0;case F.B:for(var t=qe(!0),n=Ge(),r=e.D,i=r.length,a=0;a<i;a++){var o=r[a];if(I(o)){if(L.disableErrorBoundaries)o.get();else try{o.get()}catch{return Ke(n),Je(t),!0}if(e.I===F.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=++L.runId;var i,a=L.trackingDerivation;if(L.trackingDerivation=e,L.inBatch++,!0===L.disableErrorBoundaries)i=t.call(n);else try{i=t.call(n)}catch(e){i=new Bn(e)}return L.inBatch--,L.trackingDerivation=a,function(e){for(var t=e.D,n=e.D=e.W,r=F.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!==F.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=F.P}function We(e){var t=Ge();try{return e()}finally{Ke(t)}}function Ge(){var e=L.trackingDerivation;return L.trackingDerivation=null,e}function Ke(e){L.trackingDerivation=e}function qe(e){var t=L.allowStateReads;return L.allowStateReads=e,t}function Je(e){L.allowStateReads=e}function Ye(e){if(e.I!==F.L){e.I=F.L;for(var t=e.D,n=t.length;n--;)t[n].U=F.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,L.pendingUnobservations.push(e))}function $e(){L.inBatch++}function et(){if(--L.inBatch==0){rt();for(var e=L.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 Rn&&n.X())}L.pendingUnobservations=[]}}function tt(e){var t=L.trackingDerivation;return t===null?(e.F.size===0&&L.inBatch>0&&Qe(e),!1):(t.q!==e.$&&(e.$=t.q,t.W[t.G++]=e,!e.isBeingObserved&&L.trackingContext&&(e.isBeingObserved=!0,e.onBO())),e.isBeingObserved)}function nt(e){e.U!==F.K&&(e.U=F.K,e.F.forEach((function(e){e.I===F.L&&e.H(),e.I=F.K})))}function rt(){L.inBatch>0||L.isRunningReactions||Kn(it)}function it(){L.isRunningReactions=!0;for(var e=L.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()}L.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):se(n)?(e?Xn:Jn).t(t,n):o(n)?oe(t,n,e?Xn:Jn):o(t)?T(E(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=ln);var i,a=t?.name??`Autorun`;if(t.scheduler||t.delay){var o=ut(t),s=!1;i=new Gn(a,(function(){s||(s=!0,o((function(){s=!1,i.isDisposed||i.track(n)})))}),t.onError,t.requiresObservable)}else i=new Gn(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)}:er}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=hn(t);return Qt((function(){var t=Vt(e,r)[N];mn(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?I(e):!1===Ut(e)||!e[N].j.has(t)?!1:I(Yt(e,t))}function bt(e,t){return!!e&&(t===void 0?Ut(e)||!!e[N]||vn(e)||qn(e)||I(e):!!Ut(e)&&e[N].j.has(t))}function xt(e){return bt(e)}function St(e){return Ut(e)?e[N].nt():vr(e)||xr(e)?Array.from(e.keys()):Rt(e)?e.map((function(e,t){return t})):void t(5)}function Ct(e,n){return Ut(e)?e[N].it(n):vr(e)||xr(e)?e.has(n):Rt(e)?n>=0&&n<e.length:void t(10)}function wt(e){if(Ut(e))return e[N].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[N].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[N]}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 k(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=Ge(),r=e.ut;if(r){for(var i=0,a=(r=r.slice()).length;i<a;i++)r[i](t);Ke(n)}}function Ft(e,t,n,i){return n===void 0&&(n=`ObservableArray`),i===void 0&&(i=!1),r(),Qt((function(){var r=new ur(n,t,i,!1);d(r.j,N,r);var a=new Proxy(r.j,lr);return r.v=a,e&&e.length&&r.ot(0,0,e),a}))}function A(e,t){typeof Array.prototype[e]==`function`&&(dr[e]=t(e))}function It(e){return function(){var t=this[N];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[N];return i.st.reportObserved(),i.ft(i.j)[e]((function(e,i){return t.call(n,e,i,r)}))}}function Lt(e){return function(){var t=this,n=this[N];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 Rt(e){return s(e)&&mr(e[N])}function zt(e){return e[Symbol.toStringTag]=`MapIterator`,tn(e)}function Bt(e){return e[Symbol.toStringTag]=`SetIterator`,tn(e)}function Vt(e,t){if(g(e,N))return e;var n=t?.name??`ObservableObject`;return u(e,N,new Cr(e,new Map,String(n),function(e){return e?e.defaultDecorator??De(e):void 0}(t))),e}function Ht(e){return Sr[e]||(Sr[e]={get:function(){return this[N].O(e)},set:function(t){return this[N].S(e,t)}})}function Ut(e){return!!s(e)&&wr(e[N])}function Wt(e,t,n){var r;(r=e.h[gn])==null||delete r[n]}function Gt(e){return{enumerable:!1,configurable:!0,get:function(){return this[N].ct(e)},set:function(t){this[N].ht(e,t)}}}function Kt(e){on(kr.prototype,``+e,Gt(e))}function qt(e){if(e>Dr){for(var t=Dr;t<e+100;t++)Kt(t);Dr=e}}function Jt(e,t,n){return new kr(e,t,n)}function Yt(e,n){if(typeof e==`object`&&e){if(Rt(e))return n!==void 0&&t(23),e[N].st;if(xr(e))return e.st;if(vr(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(Ut(e)){if(!n)return t(26);var i=e[N].j.get(n);return i||t(27,n,Zt(e)),i}if(vn(e)||I(e)||qn(e))return e}else if(a(e)&&qn(e[N]))return e[N];t(28)}function Xt(e,n){return e||t(29),n===void 0?vn(e)||I(e)||qn(e)||vr(e)||xr(e)?e:e[N]?e[N]: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=Ut(e)||vr(e)||xr(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=Ar.call(t);if(c!==Ar.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=en(t),n=en(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 en(e){return Rt(e)?e.slice():p(e)||vr(e)||m(e)||xr(e)?Array.from(e.entries()):e}function tn(e){return e[Symbol.iterator]=nn,Object.assign(Object.create(jr),e)}function nn(){return this}Object.defineProperty(e,`__esModule`,{value:!0});var rn={},M=Object.assign,an=Object.getOwnPropertyDescriptor,on=Object.defineProperty,sn=Object.prototype,cn=[];Object.freeze(cn);var ln={};Object.freeze(ln);var un=typeof Proxy<`u`,dn=Object.toString(),fn=function(){},pn=Object.getOwnPropertySymbols!==void 0,mn=typeof Reflect<`u`&&Reflect.ownKeys?Reflect.ownKeys:pn?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,hn=Object.getOwnPropertyDescriptors||function(e){var t={};return mn(e).forEach((function(n){t[n]=an(e,n)})),t},gn=Symbol(`mobx-stored-annotations`),N=Symbol(`mobx administration`),_n=function(){function e(e){e===void 0&&(e=`Atom`),this.tt=void 0,this.bt=0,this.F=new Set,this.$=0,this.U=F.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)}}])}();_n.pt=1,_n.yt=2,_n.wt=4;var vn=f(`Atom`,_n),yn={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)}},bn=T({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`)}}),xn=De(),Sn={deep:!0,name:void 0,defaultDecorator:void 0,proxy:!0};Object.freeze(Sn);var Cn=Ce(`observable`),wn=Ce(`observable.ref`,{enhancer:ue}),P=Ce(`observable.shallow`,{enhancer:function(e,t,n){return e==null||Ut(e)||Rt(e)||vr(e)||xr(e)?e:Array.isArray(e)?On.array(e,{name:n,deep:!1}):c(e)?On.object(e,void 0,{name:n,deep:!1}):p(e)?On.map(e,{name:n,deep:!1}):m(e)?On.set(e,{name:n,deep:!1}):void 0}}),Tn=Ce(`observable.struct`,{enhancer:function(e,t){return $t(e,t)?t:e}}),En=T(Cn);M(Me,En);var Dn,On=M(Me,{box:function(e,t){var n=je(t);return new In(e,O(n),n.name,!0,n.equals)},array:function(e,t){var n=je(t);return(!1===L.useProxies||!1===n.proxy?Jt:Ft)(e,O(n),n.name)},map:function(e,t){var n=je(t);return new _r(e,O(n),n.name)},set:function(e,t){var n=je(t);return new br(e,O(n),n.name)},object:function(e,t,n){return Qt((function(){return mt(!1===L.useProxies||!1===n?.proxy?Vt({},n):function(e,t){var n;return r(),(n=(e=Vt(e,t))[N]).v??(n.v=new Proxy(e,or))}({},n),e,t)}))},ref:T(wn),shallow:T(P),deep:En,struct:T(Tn)}),kn=be(`computed`),An=be(`computed.struct`,{equals:yn.structural}),jn=function(e,t){if(se(t))return kn.t(e,t);if(o(t))return oe(e,t,kn);if(c(e))return T(be(`computed`,e));var n=c(t)?t:{};return n.get=e,n.name||=e.name||``,new Rn(n)};Object.assign(jn,kn),jn.struct=T(An);var Mn=0,Nn=1,Pn=(Dn=an((function(){}),`name`)?.configurable)!=null&&Dn,Fn={value:`action`,configurable:!0,writable:!1,enumerable:!1},In=function(e){function t(t,n,r,i,a){var o;return r===void 0&&(r=`ObservableValue`),a===void 0&&(a=yn.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))!==L.UNCHANGED&&this.gt(e)},n.xt=function(e){if(At(this)){var t=Mt(this,{object:this,type:cr,newValue:e});if(!t)return L.UNCHANGED;e=t.newValue}return e=this.enhancer(e,this.Ot,this.tt),this.equals(this.Ot,e)?L.UNCHANGED:e},n.gt=function(e){var t=this.Ot;this.Ot=e,this.reportChanged(),Nt(this)&&Pt(this,{type:cr,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:cr,newValue:this.Ot,oldValue:void 0}),k(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}(_n),Ln=f(`ObservableValue`,In),Rn=function(){function e(e){this.I=F.P,this.D=[],this.W=null,this.F=new Set,this.q=0,this.$=0,this.U=F.L,this.G=0,this.Ot=new Bn(null),this.tt=void 0,this.At=void 0,this.bt=0,this.derivation=void 0,this.kt=void 0,this.Mt=zn.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?yn.structural:yn.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===F.L&&(e.U=F.B,e.F.forEach((function(e){e.I===F.L&&(e.I=F.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),L.inBatch!==0||this.F.size!==0||this.Nt){if(tt(this),Ve(this)){var e=L.trackingContext;this.Nt&&!e&&(L.trackingContext=this),this.trackAndCompute()&&function(e){e.U!==F.K&&(e.U=F.K,e.F.forEach((function(t){t.I===F.B?t.I=F.K:t.I===F.L&&(e.U=F.L)})))}(this),L.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===F.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===L.disableErrorBoundaries)t=this.derivation.call(this.Et);else try{t=this.derivation.call(this.Et)}catch(e){t=new Bn(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:cr,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)}}])}();Rn.It=1,Rn.Lt=2,Rn.pt=4,Rn.yt=8,Rn.wt=16;var F,zn,I=f(`ComputedValue`,Rn);(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_`})(F||={}),function(e){e[e.NONE=0]=`NONE`,e[e.LOG=1]=`LOG`,e[e.BREAK=2]=`BREAK`}(zn||={});var Bn=function(e){this.cause=void 0,this.cause=e},Vn=[`mobxGuid`,`spyListeners`,`enforceActions`,`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`allowStateReads`,`disableErrorBoundaries`,`runId`,`UNCHANGED`,`useProxies`],Hn=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},Un=!0,Wn=!1,L=function(){var e=n();return e.__mobxInstanceCount>0&&!e.__mobxGlobals&&(Un=!1),e.__mobxGlobals&&e.__mobxGlobals.version!==new Hn().version&&(Un=!1),Un?e.__mobxGlobals?(e.__mobxInstanceCount+=1,e.__mobxGlobals.UNCHANGED||(e.__mobxGlobals.UNCHANGED={}),e.__mobxGlobals):(e.__mobxInstanceCount=1,e.__mobxGlobals=new Hn):(setTimeout((function(){Wn||t(35)}),1),new Hn)}(),Gn=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=F.P,this.q=0,this.G=0,this.bt=0,this.Mt=zn.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,L.pendingReactions.push(this),rt())},t.J=function(){if(!this.isDisposed){$e(),this.isScheduled=!1;var e=L.trackingContext;if(L.trackingContext=this,Ve(this)){this.isTrackPending=!0;try{this.Pt()}catch(e){this.Dt(e)}}L.trackingContext=e,et()}},t.track=function(e){if(!this.isDisposed){$e(),this.isRunning=!0;var t=L.trackingContext;L.trackingContext=this;var n=He(this,e,void 0);L.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(L.disableErrorBoundaries)throw e;L.suppressReactionErrors||console.error(`[mobx] uncaught error in '`+this+`'`,e),L.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[N]=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)}}])}();Gn.Wt=1,Gn.qt=2,Gn.Gt=4,Gn.Ht=8,Gn.wt=16;var Kn=function(e){return e()},qn=f(`Reaction`,Gn),Jn=E(`action`),Yn=E(`action.bound`,{bound:!0}),Xn=E(`autoAction`,{autoAction:!0}),Zn=E(`autoAction.bound`,{autoAction:!0,bound:!0}),Qn=ot(!1);Object.assign(Qn,Jn);var $n=ot(!0);Object.assign($n,Xn),Qn.bound=T(Yn),$n.bound=T(Zn);var er=function(e){return e()},tr=0,nr=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}(w(Error)),rr=he(`flow`),ir=he(`flow.bound`,{bound:!0}),ar=Object.assign((function(e,t){if(se(t))return rr.t(e,t);if(o(t))return oe(e,t,rr);var n=e,r=n.name||`<unnamed flow>`,i=function(){var e,t=this,i=arguments,o=++tr,s=Qn(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=Qn(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=Qn(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=Qn(r+` - runid: `+o+` - cancel`,(function(){try{c&&_t(c);var t=s.return(void 0),n=Promise.resolve(t.value);n.then(fn,fn),_t(n),e(new nr)}catch(t){e(t)}})),l};return i.isMobXFlow=!0,i}),rr);ar.bound=T(ir);var or={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)}},sr=Symbol(`mobx-keys`),cr=`update`,lr={get:function(e,t){var n=e[N];return t===N?n:t===`length`?n.Ft():typeof t!=`string`||isNaN(t)?g(dr,t)?dr[t]:e[t]:n.ct(parseInt(t))},set:function(e,t,n){var r=e[N];return t===`length`&&r.Xt(n),typeof t==`symbol`||isNaN(t)?e[t]=n:r.ht(parseInt(t),n),!0},preventExtensions:function(){t(15)}},ur=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 _n(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}),k(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=cn),At(this)){var a=Mt(this,{object:this.v,type:`splice`,index:e,removedCount:t,added:n});if(!a)return cn;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:cr,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=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&&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(At(this)){var a=Mt(this,{type:cr,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}(),dr={clear:function(){return this.splice(0)},replace:function(e){var t=this[N];return t.ot(0,t.j.length,e)},toJSON:function(){return this.slice()},splice:function(e,t){var n=[...arguments].slice(2),r=this[N];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[N].ot(e,t,n)},push:function(){for(var e=this[N],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[N].j.length-1,0),1)[0]},shift:function(){return this.splice(0,1)[0]},unshift:function(){for(var e=this[N],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 L.trackingDerivation&&t(37,`reverse`),this.replace(this.slice().reverse()),this},sort:function(){L.trackingDerivation&&t(37,`sort`);var e=this.slice();return e.sort.apply(e,arguments),this.replace(e),this},remove:function(e){var t=this[N],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`,Lt),A(`reduceRight`,Lt);var fr,pr,mr=f(`ObservableArrayAdministration`,ur),hr={},gr=`add`,_r=function(){function e(e,n,r){var i=this;n===void 0&&(n=le),r===void 0&&(r=`ObservableMap`),this.Jt=void 0,this.tt=void 0,this[N]=hr,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=ce(`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(!L.trackingDerivation)return this.it(e);var n=this.dt.get(e);if(!n){var r=n=new In(this.it(e),ue,`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?cr:gr,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&&Pt(this,r),!0}return!1},n.rn=function(e,t){var n=this.vt.get(e);if((t=n.xt(t))!==L.UNCHANGED){var r=Nt(this),i=r?{observableKind:`map`,debugObjectName:this.tt,type:cr,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;Et((function(){var r,i=new In(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&&Pt(this,r?{observableKind:`map`,debugObjectName:this.tt,type:gr,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 zt({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 zt({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 vr(e)&&(e=new Map(e)),Et((function(){var r,i;c(e)?function(e){var t=Object.keys(e);if(!pn)return t;var n=Object.getOwnPropertySymbols(e);return n.length?[].concat(t,n.filter((function(t){return sn.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)||vr(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 k(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`}}])}(),vr=f(`ObservableMap`,_r),yr={},br=function(){function e(e,n,r){var i=this;n===void 0&&(n=le),r===void 0&&(r=`ObservableSet`),this.tt=void 0,this[N]=yr,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=ce(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:gr,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&&Pt(this,r?{observableKind:`set`,debugObjectName:this.tt,type:gr,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&&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 Bt({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 Bt({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)&&!xr(e)?e.intersection(this):new Set(this).intersection(e)},n.union=function(e){return m(e)&&!xr(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)&&!xr(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)&&!xr(e)?e.isDisjointFrom(this):new Set(this).isDisjointFrom(e)},n.replace=function(e){var n=this;return xr(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 k(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`}}])}(),xr=f(`ObservableSet`,br),Sr=Object.create(null),Cr=function(){function e(e,t,n,r){t===void 0&&(t=new Map),r===void 0&&(r=xn),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 _n(`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 Rn)return n.set(t),!0;if(At(this)){var r=Mt(this,{type:cr,object:this.v||this.h,name:e,newValue:t});if(!r)return null;t=r.newValue}if((t=n.xt(t))!==L.UNCHANGED){var i=Nt(this),a=i?{type:cr,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 L.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(!L.trackingDerivation)return e in this.h;this.sn||=new Map;var t=this.sn.get(e);return t||(t=new In(e in this.h,ue,`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[gn])!=null&&r[e])return;t(1,n.i,this.tt+`.`+e.toString())}for(var i=this.h;i&&i!==sn;){var a=an(i,e);if(a){var o=n.o(this,e,a,i);if(o===0)return;if(o===1)break}i=Object.getPrototypeOf(i)}Wt(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&&Wt(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:gr,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 on(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:gr,newValue:t});if(!a)return null;t=a.newValue}var o=Ht(e),s={configurable:!L.safeDescriptors||this.p,enumerable:!0,get:o.get,set:o.set};if(r){if(!Reflect.defineProperty(this.h,e,s))return!1}else on(this.h,e,s);var c=new In(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:gr,newValue:void 0}))return null;t.name||=`ObservableObject.key`,t.context=this.v||this.h;var i=Ht(e),a={configurable:!L.safeDescriptors||this.p,enumerable:!1,get:i.get,set:i.set};if(n){if(!Reflect.defineProperty(this.h,e,a))return!1}else on(this.h,e,a);this.j.set(e,new Rn(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=an(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 In&&(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&&Pt(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 k(this,e)},n.St=function(e){return jt(this,e)},n.fn=function(e,t){var n,r=Nt(this);r&&r&&Pt(this,r?{type:gr,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(),mn(this.h)},n.nt=function(){return this.lt.reportObserved(),Object.keys(this.h)},e}(),wr=f(`ObservableObjectAdministration`,Cr),Tr=Gt(0),Er=function(){var e=!1,t={};return Object.defineProperty(t,`0`,{set:function(){e=!0}}),Object.create(t)[0]=1,!1===e}(),Dr=0,Or=function(){};fr=Or,pr=Array.prototype,Object.setPrototypeOf?Object.setPrototypeOf(fr.prototype,pr):fr.prototype.__proto__===void 0?fr.prototype=pr:fr.prototype.__proto__=pr;var kr=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 ur(r,n,i,!0);e.v=a,d(a,N,e),t&&t.length&&a.spliceWithArray(0,0,t),Er&&Object.defineProperty(a,`0`,Tr)})),a}ne(t,e);var n=t.prototype;return n.concat=function(){this[N].st.reportObserved();var e=[...arguments];return Array.prototype.concat.apply(this.slice(),e.map((function(e){return Rt(e)?e.slice():e})))},n[Symbol.iterator]=function(){var e=this,t=0;return tn({next:function(){return t<e.length?{value:e[t++],done:!1}:{done:!0,value:void 0}}})},S(t,[{key:`length`,get:function(){return this[N].Ft()},set:function(e){this[N].Xt(e)}},{key:Symbol.toStringTag,get:function(){return`Array`}}])}(Or);Object.entries(dr).forEach((function(e){var t=e[0];t!==`concat`&&u(kr.prototype,t,e[1])})),qt(1e3);var Ar=sn.toString,jr=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:N}),e.$mobx=N,e.FlowCancellationError=nr,e.ObservableMap=_r,e.ObservableSet=br,e.Reaction=Gn,e._allowStateChanges=Le,e._allowStateChangesInsideComputed=st,e._allowStateReadsEnd=Je,e._allowStateReadsStart=qe,e._autoAction=$n,e._endAction=Ie,e._getAdministration=Xt,e._getGlobalState=function(){return L},e._interceptReads=function(e,t,n){var r;return vr(e)||Rt(e)||Ln(e)?r=Xt(e):Ut(e)&&(r=Xt(e,t)),r.dehancer=typeof t==`function`?t:n,function(){r.dehancer=void 0}},e._isComputingDerivation=function(){return L.trackingDerivation!==null},e._resetGlobalState=function(){var e=new Hn;for(var t in e)Vn.indexOf(t)===-1&&(L[t]=e[t]);L.allowStateChanges=!L.enforceActions},e._startAction=Fe,e.action=Qn,e.autorun=lt,e.comparer=yn,e.computed=jn,e.configure=function(e){!0===e.isolateGlobalState&&function(){if((L.pendingReactions.length||L.inBatch||L.isRunningReactions)&&t(36),Wn=!0,Un){var e=n();--e.__mobxInstanceCount==0&&(e.__mobxGlobals=void 0),L=new Hn}}();var r,i,a=e.useProxies,o=e.enforceActions;if(a!==void 0&&(L.useProxies=a===`always`||a!==`never`&&typeof Proxy<`u`),a===`ifavailable`&&(L.verifyProxies=!0),o!==void 0){var s=o===`always`?`always`:o===`observed`;L.enforceActions=s,L.allowStateChanges=!0!==s&&s!==`always`}[`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`disableErrorBoundaries`,`safeDescriptors`].forEach((function(t){t in e&&(L[t]=!!e[t])})),L.allowStateReads=!L.observableRequiresReaction,e.reactionScheduler&&(r=e.reactionScheduler,i=Kn,Kn=function(e){return r((function(){return i(e)}))})},e.createAtom=ce,e.defineProperty=function(e,n,r){if(Ut(e))return e[N].l(n,r);t(39)},e.entries=function(e){return Ut(e)?St(e).map((function(t){return[t,e[t]]})):vr(e)?St(e).map((function(t){return[t,e.get(t)]})):xr(e)?Array.from(e.entries()):Rt(e)?e.map((function(e,t){return[t,e]})):void t(7)},e.extendObservable=mt,e.flow=ar,e.flowResult=function(e){return e},e.get=function(e,n){if(Ct(e,n))return Ut(e)?e[N].ct(n):vr(e)?e.get(n):Rt(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=Ln,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 nr},e.isObservable=xt,e.isObservableArray=Rt,e.isObservableMap=vr,e.isObservableObject=Ut,e.isObservableProp=function(e,t){return bt(e,t)},e.isObservableSet=xr,e.keys=St,e.makeAutoObservable=function(e,t,n){return c(e)?mt(e,e,t,n):(Qt((function(){var r=Vt(e,n)[N];if(!e[sr]){var i=Object.getPrototypeOf(e),a=new Set([].concat(mn(e),mn(i)));a.delete(`constructor`),a.delete(N),u(i,sr,a)}e[sr].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=Vt(e,n)[N];t??=function(e){return g(e,gn)||u(e,gn,ee({},e[gn])),e[gn]}(e),mn(t).forEach((function(e){return r.o(e,t[e])}))})),e},e.observable=On,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 L.globalReactionErrorHandlers.push(e),function(){var t=L.globalReactionErrorHandlers.indexOf(e);t>=0&&L.globalReactionErrorHandlers.splice(t,1)}},e.override=bn,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=ln);var a,o,s,c=n.name??`Reaction`,l=Qn(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?yn.structural:n.equals||yn.default,h=new Gn(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){Ut(e)?e[N].Ut(n):vr(e)||xr(e)?e.delete(n):Rt(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||xr(n))Ut(n)?n[N].ht(r,i):vr(n)?n.set(r,i):xr(n)?n.add(r):Rt(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(Ln(t)||I(t))return e(t.get(),n);if(n.has(t))return n.get(t);if(Rt(t)){var r=Tt(n,t,Array(t.length));return t.forEach((function(t,i){r[i]=e(t,n)})),r}if(xr(t)){var i=Tt(n,t,new Set);return t.forEach((function(t){i.add(e(t,n))})),i}if(vr(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){sn.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 Ut(e)?St(e).map((function(t){return e[t]})):vr(e)?St(e).map((function(t){return e.get(t)})):xr(e)?Array.from(e.values()):Rt(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||{})}})),jg=ye((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){P.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++P.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 ie(e){return e!=null&&Object.prototype.toString.call(e)===`[object Set]`}var ae=Object.getOwnPropertySymbols!==void 0;function w(e){var t=Object.keys(e);if(!ae)return t;var n=Object.getOwnPropertySymbols(e);return n.length?[].concat(t,n.filter(function(t){return c.propertyIsEnumerable.call(e,t)})):t}var T=typeof Reflect<`u`&&Reflect.ownKeys?Reflect.ownKeys:ae?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames;function oe(e){return typeof e==`string`?e:typeof e==`symbol`?e.toString():new String(e).toString()}function se(e){return e===null?null:typeof e==`object`?``+e:e}function ce(e,t){return c.hasOwnProperty.call(e,t)}var le=Object.getOwnPropertyDescriptors||function(e){var t={};return T(e).forEach(function(n){t[n]=o(e,n)}),t};function ue(e,t){return!!(e&t)}function E(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(be())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,t);var i=new(e.bind.apply(e,r));return n&&xe(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.
|
|
59
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ge(){return ge=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},ge.apply(null,arguments)}function _e(e){return _e=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},_e(e)}function ve(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,xe(e,t)}function ye(e){try{return Function.toString.call(e).indexOf(`[native code]`)!==-1}catch{return typeof e==`function`}}function be(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(be=function(){return!!e})()}function xe(e,t){return xe=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},xe(e,t)}function D(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 Se(e){var t=D(e,`string`);return typeof t==`symbol`?t:t+``}function Ce(e,t){if(e){if(typeof e==`string`)return de(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)?de(e,t):void 0}}function we(e){var t=typeof Map==`function`?new Map:void 0;return we=function(e){if(e===null||!ye(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 fe(e,arguments,_e(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),xe(n,e)},we(e)}var Te=Symbol(`mobx-stored-annotations`);function Ee(e){function t(t,n){if(Ae(n))return e.decorate_20223_(t,n);De(t,n,e)}return Object.assign(t,e)}function De(e,t,r){ce(e,Te)||C(e,Te,ge({},e[Te])),Ke(r)&&!ce(e[Te],t)&&n(`'`+(e.constructor.name+`.prototype.`+t.toString())+`' is decorated with 'override', but no such decorated member was found on prototype.`),Oe(e,r,t),Ke(r)||(e[Te][t]=r)}function Oe(e,t,r){if(!Ke(t)&&ce(e[Te],r)){var i=e.constructor.name+`.prototype.`+r.toString(),a=e[Te][r].annotationType_,o=t.annotationType_;n(`Cannot apply '@`+o+`' to '`+i+`':`+(`
|
|
60
|
-
The field is already decorated with '@`+a+`'.`)+`
|
|
61
|
-
Re-decorating fields is not allowed.
|
|
62
|
-
Use '@override' decorator for methods overridden by subclass.`)}}function ke(e){return ce(e,Te)||C(e,Te,ge({},e[Te])),e[Te]}function Ae(e){return typeof e==`object`&&typeof e.kind==`string`}function je(e,t){t.includes(e.kind)||n(`The decorator applied to '`+String(e.name)+`' cannot be used on a `+e.kind+` element`)}var O=Symbol(`mobx administration`),Me=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_=M.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 Fn(this)},t.reportChanged=function(){Nn(),In(this),Pn()},t.toString=function(){return this.name_},me(e,[{key:`isBeingObserved`,get:function(){return ue(this.flags_,e.isBeingObservedMask_)},set:function(t){this.flags_=E(this.flags_,e.isBeingObservedMask_,t)}},{key:`isPendingUnobservation`,get:function(){return ue(this.flags_,e.isPendingUnobservationMask_)},set:function(t){this.flags_=E(this.flags_,e.isPendingUnobservationMask_,t)}},{key:`diffValue`,get:function(){return+!!ue(this.flags_,e.diffValueMask_)},set:function(t){this.flags_=E(this.flags_,e.diffValueMask_,t===1)}}])}();Me.isBeingObservedMask_=1,Me.isPendingUnobservationMask_=2,Me.diffValueMask_=4;var Ne=te(`Atom`,Me);function Pe(e,t,n){t===void 0&&(t=_),n===void 0&&(n=_);var r=new Me(e);return t!==_&&yr(r,t),n!==_&&br(r,n),r}function Fe(e,t){return e===t}function Ie(e,t){return xa(e,t)}function Le(e,t){return xa(e,t,1)}function Re(e,t){return Object.is?Object.is(e,t):e===t?e!==0||1/e==1/t:e!==e&&t!==t}var ze={identity:Fe,structural:Ie,default:Re,shallow:Le};function Be(e,t,n){return Yr(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}):ie(e)?j.set(e,{name:n}):typeof e==`function`&&!dr(e)&&!Br(e)?S(e)?Lr(e):lr(n,e):e}function Ve(e,t,r){if(e==null||ra(e)||zi(e)||Wi(e)||Yi(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(ie(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 He(e){return e}function Ue(e,t){return Yr(e)&&n(`observable.struct should not be used with observable values`),xa(e,t)?t:e}var We=`override`,Ge=Ee({annotationType_:We,make_:qe,extend_:Je,decorate_20223_:Ye});function Ke(e){return e.annotationType_===We}function qe(e,t){return e.isPlainObject_&&n(`Cannot apply '`+this.annotationType_+`' to '`+e.name_+`.`+t.toString()+`':`+(`
|
|
63
|
-
'`+this.annotationType_+`' cannot be used on plain objects.`)),ce(e.appliedAnnotations_,t)||n(`'`+e.name_+`.`+t.toString()+`' is annotated with '`+this.annotationType_+`', but no such annotated member was found on prototype.`),0}function Je(e,t,r,i){n(`'`+this.annotationType_+`' can only be used with 'makeObservable'`)}function Ye(e,t){console.warn(`'`+this.annotationType_+`' cannot be used with decorators - this is a no-op`)}function Xe(e,t){return{annotationType_:e,options_:t,make_:Ze,extend_:Qe,decorate_20223_:$e}}function Ze(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:dr(n.value)?1:(s(r,t,tt(e,this,t,n,!1)),2)}function Qe(e,t,n,r){var i=tt(e,this,t,n);return e.defineProperty_(t,i,r)}function $e(e,t){je(t,[`method`,`field`]);var r=t.kind,i=t.name,a=t.addInitializer,o=this,s=function(e){return Kt(o.options_?.name??i.toString(),e,o.options_?.autoAction??!1)};if(r==`field`)return function(e){var t,n=e;return dr(n)||(n=s(n)),(t=o.options_)!=null&&t.bound&&(n=n.bind(this),n.isMobxAction=!0),n};if(r==`method`){var c;return dr(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+`):`+(`
|
|
64
|
-
'`+o.annotationType_+`' can only be used on properties with a function value.`))}function et(e,t,r,i){var a=t.annotationType_,o=i.value;v(o)||n(`Cannot apply '`+a+`' to '`+e.name_+`.`+r.toString()+`':`+(`
|
|
65
|
-
'`+a+`' can only be used on properties with a function value.`))}function tt(e,t,n,r,i){var a,o;i===void 0&&(i=P.safeDescriptors),et(e,t,n,r);var s=r.value;return(a=t.options_)!=null&&a.bound&&(s=s.bind(e.proxy_??e.target_)),{value:Kt(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 nt(e,t){return{annotationType_:e,options_:t,make_:rt,extend_:it,decorate_20223_:at}}function rt(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&&(!ce(e.target_,t)||!Br(e.target_[t]))&&this.extend_(e,t,n,!1)===null?0:Br(n.value)?1:(s(r,t,st(e,this,t,n,!1,!1)),2)}function it(e,t,n,r){var i=st(e,this,t,n,this.options_?.bound);return e.defineProperty_(t,i,r)}function at(e,t){var n;je(t,[`method`]);var r=t.name,i=t.addInitializer;return Br(e)||(e=Lr(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 ot(e,t,r,i){var a=t.annotationType_,o=i.value;v(o)||n(`Cannot apply '`+a+`' to '`+e.name_+`.`+r.toString()+`':`+(`
|
|
66
|
-
'`+a+`' can only be used on properties with a generator function value.`))}function st(e,t,n,r,i,a){a===void 0&&(a=P.safeDescriptors),ot(e,t,n,r);var o=r.value;return Br(o)||(o=Lr(o)),i&&(o=o.bind(e.proxy_??e.target_),o.isMobXFlow=!0),{value:o,configurable:a?e.isPlainObject_:!0,enumerable:!1,writable:!a}}function ct(e,t){return{annotationType_:e,options_:t,make_:lt,extend_:ut,decorate_20223_:dt}}function lt(e,t,n){return this.extend_(e,t,n,!1)===null?0:1}function ut(e,t,n,r){return ft(e,this,t,n),e.defineComputedProperty_(t,ge({},this.options_,{get:n.get,set:n.set}),r)}function dt(e,t){je(t,[`getter`]);var n=this,r=t.name,i=t.addInitializer;return i(function(){var t=ea(this)[O],i=ge({},n.options_,{get:e,context:this});i.name||=t.name_+`.`+r.toString(),t.values_.set(r,new nn(i))}),function(){return this[O].getObservablePropValue_(r)}}function ft(e,t,r,i){var a=t.annotationType_;i.get||n(`Cannot apply '`+a+`' to '`+e.name_+`.`+r.toString()+`':`+(`
|
|
67
|
-
'`+a+`' can only be used on getter(+setter) properties.`))}function pt(e,t){return{annotationType_:e,options_:t,make_:mt,extend_:ht,decorate_20223_:gt}}function mt(e,t,n){return this.extend_(e,t,n,!1)===null?0:1}function ht(e,t,n,r){return _t(e,this,t,n),e.defineObservableProperty_(t,n.value,this.options_?.enhancer??Be,r)}function gt(e,t){if(t.kind===`field`)throw n("Please use `@observable accessor "+String(t.name)+"` instead of `@observable "+String(t.name)+"`");je(t,[`accessor`]);var r=this,i=t.kind,a=t.name,o=new WeakSet;function s(e,t){var n=ea(e)[O],i=new en(t,r.options_?.enhancer??Be,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[O].getObservablePropValue_(a)},set:function(e){return o.has(this)||s(this,e),this[O].setObservablePropValue_(a,e)},init:function(e){return o.has(this)||s(this,e),e}}}function _t(e,t,r,i){var a=t.annotationType_;`value`in i||n(`Cannot apply '`+a+`' to '`+e.name_+`.`+r.toString()+`':`+(`
|
|
68
|
-
'`+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 Vt.make_(e,t,n,r);if(n.set){var a=dr(n.set)?n.set:Kt(t.toString(),n.set);return r===e.target_?e.defineProperty_(t,{configurable:P.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?Lr.bound:Lr).make_(e,t,n,r)}return((o=this.options_)!=null&&o.autoBind?lr.bound:lr).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 St(e,t,n,r){var i;return n.get?Vt.extend_(e,t,n,r):n.set?e.defineProperty_(t,{configurable:P.safeDescriptors?e.isPlainObject_:!0,set:Kt(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 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}),k=Ee(At);function Pt(e){return e.deep===!0?Be:e.deep===!1?He:A(e.defaultDecorator)}function Ft(e){return e?e.defaultDecorator??bt(e):void 0}function A(e){return e?e.options_?.enhancer??Be:Be}function It(e,t,n){if(Ae(t))return At.decorate_20223_(e,t);if(y(t)){De(e,t,At);return}return Yr(e)?e:x(e)?j.object(e,t,n):Array.isArray(e)?j.array(e,t):ne(e)?j.map(e,t):ie(e)?j.set(e,t):typeof e==`object`&&e?e:j.box(e,t)}a(It,k);var j=a(It,{box:function(e,t){var n=kt(t);return new en(e,Pt(n),n.name,!0,n.equals)},array:function(e,t){var n=kt(t);return(P.useProxies===!1||n.proxy===!1?ha:Mi)(e,Pt(n),n.name)},map:function(e,t){var n=kt(t);return new Ui(e,Pt(n),n.name)},set:function(e,t){var n=kt(t);return new Ji(e,Pt(n),n.name)},object:function(e,t,n){return ya(function(){return Er(P.useProxies===!1||n?.proxy===!1?ea({},n):_i({},n),e,t)})},ref:Ee(jt),shallow:Ee(Mt),deep:k,struct:Ee(Nt)}),Lt=`computed`,Rt=`computed.struct`,zt=ct(Lt),Bt=ct(Rt,{equals:ze.structural}),Vt=function(e,t){if(Ae(t))return zt.decorate_20223_(e,t);if(y(t))return De(e,t,zt);if(x(e))return Ee(ct(Lt,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 nn(r)};Object.assign(Vt,zt),Vt.struct=Ee(Bt);var Ht=0,Ut=1,Wt=o(function(){},`name`)?.configurable??!1,Gt={value:`action`,configurable:!0,writable:!1,enumerable:!1};function Kt(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()},Wt&&(Gt.value=e,s(a,`name`,Gt)),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=Kn()&&!!e,a=0;i&&(a=Date.now(),Jn({type:Qn,name:e,object:n,arguments:r?Array.from(r):l}));var o=P.trackingDerivation,s=!t||!o;Nn();var c=P.allowStateChanges;s&&(N(),c=Zt(!0));var u=vn(!0),d={runAsAction_:s,prevDerivation_:o,prevAllowStateChanges_:c,prevAllowStateReads_:u,notifySpy_:i,startTime_:a,actionId_:Ut++,parentActionId_:Ht};return Ht=d.actionId_,d}function Yt(e){Ht!==e.actionId_&&n(30),Ht=e.parentActionId_,e.error_!==void 0&&(P.suppressReactionErrors=!0),Qt(e.prevAllowStateChanges_),yn(e.prevAllowStateReads_),Pn(),e.runAsAction_&&_n(e.prevDerivation_),e.notifySpy_&&Xn({time:Date.now()-e.startTime_}),P.suppressReactionErrors=!1}function Xt(e,t){var n=Zt(e);try{return t()}finally{Qt(n)}}function Zt(e){var t=P.allowStateChanges;return P.allowStateChanges=e,t}function Qt(e){P.allowStateChanges=e}var $t=`create`,en=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&&Kn()&&qn({type:$t,object:o,observableKind:`value`,debugObjectName:o.name_,newValue:``+o.value_?.toString()}),o}ve(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!==P.UNCHANGED){var n=Kn();n&&Jn({type:Oi,object:this,observableKind:`value`,debugObjectName:this.name_,newValue:e,oldValue:t}),this.setNewValue_(e),n&&Xn()}},n.prepareNewValue_=function(e){if(un(this),vi(this)){var t=bi(this,{object:this,type:Oi,newValue:e});if(!t)return P.UNCHANGED;e=t.newValue}return e=this.enhancer(e,this.value_,this.name_),this.equals(this.value_,e)?P.UNCHANGED:e},n.setNewValue_=function(e){var t=this.value_;this.value_=e,this.reportChanged(),xi(this)&&Ci(this,{type:Oi,object:this,newValue:e,oldValue:t})},n.get=function(){return this.reportObserved(),this.dehanceValue(this.value_)},n.intercept_=function(e){return yi(this,e)},n.observe_=function(e,t){return t&&e({observableKind:`value`,debugObjectName:this.name_,object:this,type:Oi,newValue:this.value_,oldValue:void 0}),Si(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 se(this.get())},n[Symbol.toPrimitive]=function(){return this.valueOf()},t}(Me),tn=te(`ObservableValue`,en),nn=function(){function e(e){this.dependenciesState_=M.NOT_TRACKING_,this.observing_=[],this.newObserving_=null,this.observers_=new Set,this.runId_=0,this.lastAccessedBy_=0,this.lowestObserverState_=M.UP_TO_DATE_,this.unboundDepsCount_=0,this.value_=new on(null),this.name_=void 0,this.triggeredBy_=void 0,this.flags_=0,this.derivation=void 0,this.setter_=void 0,this.isTracing_=an.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_=Kt(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(){Rn(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),P.inBatch===0&&this.observers_.size===0&&!this.keepAlive_)cn(this)&&(this.warnAboutUntrackedRead_(),Nn(),this.value_=this.computeValue_(!1),Pn());else if(Fn(this),cn(this)){var e=P.trackingContext;this.keepAlive_&&!e&&(P.trackingContext=this),this.trackAndCompute()&&Ln(this),P.trackingContext=e}var t=this.value_;if(sn(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_===M.NOT_TRACKING_,n=this.computeValue_(!0),r=t||sn(e)||sn(n)||!this.equals_(e,n);return r&&(this.value_=n,Kn()&&qn({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=fn(this,this.derivation,this.scope_);else if(P.disableErrorBoundaries===!0)n=this.derivation.call(this.scope_);else try{n=this.derivation.call(this.scope_)}catch(e){n=new on(e)}return Qt(t),this.isComputing=!1,n},t.suspend_=function(){this.keepAlive_||(hn(this),this.value_=void 0,this.isTracing_!==an.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 fr(function(){var a=n.get();if(!r||t){var o=N();e({observableKind:`computed`,debugObjectName:n.name_,type:Oi,object:n,newValue:a,oldValue:i}),_n(o)}r=!1,i=a})},t.warnAboutUntrackedRead_=function(){this.isTracing_!==an.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_:P.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 se(this.get())},t[Symbol.toPrimitive]=function(){return this.valueOf()},me(e,[{key:`isComputing`,get:function(){return ue(this.flags_,e.isComputingMask_)},set:function(t){this.flags_=E(this.flags_,e.isComputingMask_,t)}},{key:`isRunningSetter`,get:function(){return ue(this.flags_,e.isRunningSetterMask_)},set:function(t){this.flags_=E(this.flags_,e.isRunningSetterMask_,t)}},{key:`isBeingObserved`,get:function(){return ue(this.flags_,e.isBeingObservedMask_)},set:function(t){this.flags_=E(this.flags_,e.isBeingObservedMask_,t)}},{key:`isPendingUnobservation`,get:function(){return ue(this.flags_,e.isPendingUnobservationMask_)},set:function(t){this.flags_=E(this.flags_,e.isPendingUnobservationMask_,t)}},{key:`diffValue`,get:function(){return+!!ue(this.flags_,e.diffValueMask_)},set:function(t){this.flags_=E(this.flags_,e.diffValueMask_,t===1)}}])}();nn.isComputingMask_=1,nn.isRunningSetterMask_=2,nn.isBeingObservedMask_=4,nn.isPendingUnobservationMask_=8,nn.diffValueMask_=16;var rn=te(`ComputedValue`,nn),M;(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_`})(M||={});var an;(function(e){e[e.NONE=0]=`NONE`,e[e.LOG=1]=`LOG`,e[e.BREAK=2]=`BREAK`})(an||={});var on=function(e){this.cause=void 0,this.cause=e};function sn(e){return e instanceof on}function cn(e){switch(e.dependenciesState_){case M.UP_TO_DATE_:return!1;case M.NOT_TRACKING_:case M.STALE_:return!0;case M.POSSIBLY_STALE_:for(var t=vn(!0),n=N(),r=e.observing_,i=r.length,a=0;a<i;a++){var o=r[a];if(rn(o)){if(P.disableErrorBoundaries)o.get();else try{o.get()}catch{return _n(n),yn(t),!0}if(e.dependenciesState_===M.STALE_)return _n(n),yn(t),!0}}return bn(e),_n(n),yn(t),!1}}function ln(){return P.trackingDerivation!==null}function un(e){var t=e.observers_.size>0;!P.allowStateChanges&&(t||P.enforceActions===`always`)&&console.warn(`[MobX] `+(P.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 dn(e){!P.allowStateReads&&P.observableRequiresReaction&&console.warn(`[mobx] Observable '`+e.name_+`' being read outside a reactive context.`)}function fn(e,t,n){var r=vn(!0);bn(e),e.newObserving_=Array(e.runId_===0?100:e.observing_.length),e.unboundDepsCount_=0,e.runId_=++P.runId;var i=P.trackingDerivation;P.trackingDerivation=e,P.inBatch++;var a;if(P.disableErrorBoundaries===!0)a=t.call(n);else try{a=t.call(n)}catch(e){a=new on(e)}return P.inBatch--,P.trackingDerivation=i,mn(e),pn(e),yn(r),a}function pn(e){e.observing_.length===0&&(typeof e.requiresObservable_==`boolean`?e.requiresObservable_:P.reactionRequiresObservable)&&console.warn(`[mobx] Derivation '`+e.name_+`' is created/updated without reading any observable value.`)}function mn(e){for(var t=e.observing_,n=e.observing_=e.newObserving_,r=M.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&&jn(c,e),c.diffValue=0}for(;i--;){var l=n[i];l.diffValue===1&&(l.diffValue=0,An(l,e))}r!==M.UP_TO_DATE_&&(e.dependenciesState_=r,e.onBecomeStale_())}function hn(e){var t=e.observing_;e.observing_=[];for(var n=t.length;n--;)jn(t[n],e);e.dependenciesState_=M.NOT_TRACKING_}function gn(e){var t=N();try{return e()}finally{_n(t)}}function N(){var e=P.trackingDerivation;return P.trackingDerivation=null,e}function _n(e){P.trackingDerivation=e}function vn(e){var t=P.allowStateReads;return P.allowStateReads=e,t}function yn(e){P.allowStateReads=e}function bn(e){if(e.dependenciesState_!==M.UP_TO_DATE_){e.dependenciesState_=M.UP_TO_DATE_;for(var t=e.observing_,n=t.length;n--;)t[n].lowestObserverState_=M.UP_TO_DATE_}}var xn=[`mobxGuid`,`spyListeners`,`enforceActions`,`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`allowStateReads`,`disableErrorBoundaries`,`runId`,`UNCHANGED`,`useProxies`],Sn=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},Cn=!0,wn=!1,P=function(){var e=i();return e.__mobxInstanceCount>0&&!e.__mobxGlobals&&(Cn=!1),e.__mobxGlobals&&e.__mobxGlobals.version!==new Sn().version&&(Cn=!1),Cn?e.__mobxGlobals?(e.__mobxInstanceCount+=1,e.__mobxGlobals.UNCHANGED||(e.__mobxGlobals.UNCHANGED={}),e.__mobxGlobals):(e.__mobxInstanceCount=1,e.__mobxGlobals=new Sn):(setTimeout(function(){wn||n(35)},1),new Sn)}();function Tn(){if((P.pendingReactions.length||P.inBatch||P.isRunningReactions)&&n(36),wn=!0,Cn){var e=i();--e.__mobxInstanceCount===0&&(e.__mobxGlobals=void 0),P=new Sn}}function En(){return P}function Dn(){var e=new Sn;for(var t in e)xn.indexOf(t)===-1&&(P[t]=e[t]);P.allowStateChanges=!P.enforceActions}function On(e){return e.observers_&&e.observers_.size>0}function kn(e){return e.observers_}function An(e,t){e.observers_.add(t),e.lowestObserverState_>t.dependenciesState_&&(e.lowestObserverState_=t.dependenciesState_)}function jn(e,t){e.observers_.delete(t),e.observers_.size===0&&Mn(e)}function Mn(e){e.isPendingUnobservation===!1&&(e.isPendingUnobservation=!0,P.pendingUnobservations.push(e))}function Nn(){P.inBatch++}function Pn(){if(--P.inBatch===0){Un();for(var e=P.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 nn&&n.suspend_())}P.pendingUnobservations=[]}}function Fn(e){dn(e);var t=P.trackingDerivation;return t===null?(e.observers_.size===0&&P.inBatch>0&&Mn(e),!1):(t.runId_!==e.lastAccessedBy_&&(e.lastAccessedBy_=t.runId_,t.newObserving_[t.unboundDepsCount_++]=e,!e.isBeingObserved&&P.trackingContext&&(e.isBeingObserved=!0,e.onBO())),e.isBeingObserved)}function In(e){e.lowestObserverState_!==M.STALE_&&(e.lowestObserverState_=M.STALE_,e.observers_.forEach(function(t){t.dependenciesState_===M.UP_TO_DATE_&&(t.isTracing_!==an.NONE&&F(t,e),t.onBecomeStale_()),t.dependenciesState_=M.STALE_}))}function Ln(e){e.lowestObserverState_!==M.STALE_&&(e.lowestObserverState_=M.STALE_,e.observers_.forEach(function(t){t.dependenciesState_===M.POSSIBLY_STALE_?(t.dependenciesState_=M.STALE_,t.isTracing_!==an.NONE&&F(t,e)):t.dependenciesState_===M.UP_TO_DATE_&&(e.lowestObserverState_=M.UP_TO_DATE_)}))}function Rn(e){e.lowestObserverState_===M.UP_TO_DATE_&&(e.lowestObserverState_=M.POSSIBLY_STALE_,e.observers_.forEach(function(e){e.dependenciesState_===M.UP_TO_DATE_&&(e.dependenciesState_=M.POSSIBLY_STALE_,e.onBecomeStale_())}))}function F(e,t){if(console.log(`[mobx.trace] '`+e.name_+`' is invalidated due to a change in: '`+t.name_+`'`),e.isTracing_===an.BREAK){var n=[];zn(Dr(e),n,1),Function(`debugger;
|
|
69
|
-
/*
|
|
70
|
-
Tracing '`+e.name_+`'
|
|
71
|
-
|
|
72
|
-
You are entering this break point because derivation '`+e.name_+`' is being traced and '`+t.name_+`' is now forcing it to update.
|
|
73
|
-
Just follow the stacktrace you should now see in the devtools to see precisely what piece of your code is causing this update
|
|
74
|
-
The stackframe you are looking for is at least ~6-8 stack-frames up.
|
|
75
|
-
|
|
76
|
-
`+(e instanceof nn?e.derivation.toString().replace(/[*]\//g,`/`):``)+`
|
|
77
|
-
|
|
78
|
-
The dependencies for this derivation are:
|
|
79
|
-
|
|
80
|
-
`+n.join(`
|
|
81
|
-
`)+`
|
|
82
|
-
*/
|
|
83
|
-
`)()}}function zn(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 zn(e,t,n+1)})}var I=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_=M.NOT_TRACKING_,this.runId_=0,this.unboundDepsCount_=0,this.flags_=0,this.isTracing_=an.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,P.pendingReactions.push(this),Un())},t.runReaction_=function(){if(!this.isDisposed){Nn(),this.isScheduled=!1;var e=P.trackingContext;if(P.trackingContext=this,cn(this)){this.isTrackPending=!0;try{this.onInvalidate_(),this.isTrackPending&&Kn()&&qn({name:this.name_,type:`scheduled-reaction`})}catch(e){this.reportExceptionInDerivation_(e)}}P.trackingContext=e,Pn()}},t.track=function(e){if(!this.isDisposed){Nn();var t=Kn(),n;t&&(n=Date.now(),Jn({name:this.name_,type:`reaction`})),this.isRunning=!0;var r=P.trackingContext;P.trackingContext=this;var i=fn(this,e,void 0);P.trackingContext=r,this.isRunning=!1,this.isTrackPending=!1,this.isDisposed&&hn(this),sn(i)&&this.reportExceptionInDerivation_(i.cause),t&&Xn({time:Date.now()-n}),Pn()}},t.reportExceptionInDerivation_=function(e){var t=this;if(this.errorHandler_){this.errorHandler_(e,this);return}if(P.disableErrorBoundaries)throw e;var n=`[mobx] Encountered an uncaught exception that was thrown by a reaction or observer component, in: '`+this+`'`;P.suppressReactionErrors?console.warn(`[mobx] (error in reaction '`+this.name_+`' suppressed, fix error of causing action below)`):console.error(n,e),Kn()&&qn({type:`error`,name:this.name_,message:n,error:``+e}),P.globalReactionErrorHandlers.forEach(function(n){return n(e,t)})},t.dispose=function(){this.isDisposed||(this.isDisposed=!0,this.isRunning||(Nn(),hn(this),Pn()))},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),li(this,e)},me(e,[{key:`isDisposed`,get:function(){return ue(this.flags_,e.isDisposedMask_)},set:function(t){this.flags_=E(this.flags_,e.isDisposedMask_,t)}},{key:`isScheduled`,get:function(){return ue(this.flags_,e.isScheduledMask_)},set:function(t){this.flags_=E(this.flags_,e.isScheduledMask_,t)}},{key:`isTrackPending`,get:function(){return ue(this.flags_,e.isTrackPendingMask_)},set:function(t){this.flags_=E(this.flags_,e.isTrackPendingMask_,t)}},{key:`isRunning`,get:function(){return ue(this.flags_,e.isRunningMask_)},set:function(t){this.flags_=E(this.flags_,e.isRunningMask_,t)}},{key:`diffValue`,get:function(){return+!!ue(this.flags_,e.diffValueMask_)},set:function(t){this.flags_=E(this.flags_,e.diffValueMask_,t===1)}}])}();I.isDisposedMask_=1,I.isScheduledMask_=2,I.isTrackPendingMask_=4,I.isRunningMask_=8,I.diffValueMask_=16;function Bn(e){return P.globalReactionErrorHandlers.push(e),function(){var t=P.globalReactionErrorHandlers.indexOf(e);t>=0&&P.globalReactionErrorHandlers.splice(t,1)}}var Vn=100,Hn=function(e){return e()};function Un(){P.inBatch>0||P.isRunningReactions||Hn(Wn)}function Wn(){P.isRunningReactions=!0;for(var e=P.pendingReactions,t=0;e.length>0;){++t===Vn&&(console.error(`Reaction doesn't converge to a stable state after `+Vn+` 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_()}P.isRunningReactions=!1}var L=te(`Reaction`,I);function Gn(e){var t=Hn;Hn=function(n){return e(function(){return t(n)})}}function Kn(){return!!P.spyListeners.length}function qn(e){if(P.spyListeners.length)for(var t=P.spyListeners,n=0,r=t.length;n<r;n++)t[n](e)}function Jn(e){qn(ge({},e,{spyReportStart:!0}))}var Yn={type:`report-end`,spyReportEnd:!0};function Xn(e){qn(e?ge({},e,{type:`report-end`,spyReportEnd:!0}):Yn)}function Zn(e){return P.spyListeners.push(e),g(function(){P.spyListeners=P.spyListeners.filter(function(t){return t!==e})})}var Qn=`action`,$n=`action.bound`,er=`autoAction`,tr=`autoAction.bound`,nr=`<unnamed action>`,rr=Xe(Qn),ir=Xe($n,{bound:!0}),ar=Xe(er,{autoAction:!0}),or=Xe(tr,{autoAction:!0,bound:!0});function sr(e){return function(t,r){if(v(t))return Kt(t.name||nr,t,e);if(v(r))return Kt(t,r,e);if(Ae(r))return(e?ar:rr).decorate_20223_(t,r);if(y(r))return De(t,r,e?ar:rr);if(y(t))return Ee(Xe(e?er:Qn,{name:t,autoAction:e}));n("Invalid arguments for `action`")}}var cr=sr(!1);Object.assign(cr,rr);var lr=sr(!0);Object.assign(lr,ar),cr.bound=Ee(ir),lr.bound=Ee(or);function ur(e){return qt(e.name||nr,!1,e,this,void 0)}function dr(e){return v(e)&&e.isMobxAction===!0}function fr(e,t){var r;t===void 0&&(t=u),v(e)||n(`Autorun expects a function as first argument`),dr(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 I(i,function(){this.track(l)},t.onError,t.requiresObservable);else{var s=mr(t),c=!1;o=new I(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 pr=function(e){return e()};function mr(e){return e.scheduler?e.scheduler:e.delay?function(t){return setTimeout(t,e.delay)}:pr}function hr(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=cr(a,r.onError?gr(r.onError,t):t),s=!r.scheduler&&!r.delay,c=mr(r),l=!0,d=!1,f,p=r.compareStructural?ze.structural:r.equals||ze.default,m=new I(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 gr(e,t){return function(){try{return t.apply(this,arguments)}catch(t){e.call(this,t)}}}var _r=`onBO`,vr=`onBUO`;function yr(e,t,n){return xr(_r,e,t,n)}function br(e,t,n){return xr(vr,e,t,n)}function xr(e,t,n,r){var i=typeof r==`function`?ga(t,n):ga(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 Sr=`never`,Cr=`always`,wr=`observed`;function Tr(e){e.isolateGlobalState===!0&&Tn();var t=e.useProxies,n=e.enforceActions;if(t!==void 0&&(P.useProxies=t===Cr?!0:t===Sr?!1:typeof Proxy<`u`),t===`ifavailable`&&(P.verifyProxies=!0),n!==void 0){var r=n===Cr?Cr:n===wr;P.enforceActions=r,P.allowStateChanges=!(r===!0||r===Cr)}[`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`disableErrorBoundaries`,`safeDescriptors`].forEach(function(t){t in e&&(P[t]=!!e[t])}),P.allowStateReads=!P.observableRequiresReaction,P.disableErrorBoundaries===!0&&console.warn("WARNING: Debug feature only. MobX will NOT recover from errors when `disableErrorBoundaries` is enabled."),e.reactionScheduler&&Gn(e.reactionScheduler)}function Er(e,t,r,i){arguments.length>4&&n(`'extendObservable' expected 2-4 arguments`),typeof e!=`object`&&n(`'extendObservable' expects an object as first argument`),Wi(e)&&n(`'extendObservable' should not be used on maps, use map.merge instead`),x(t)||n(`'extendObservable' only accepts plain objects as second argument`),(Yr(t)||Yr(r))&&n(`Extending an object with another observable (object) is not supported`);var a=le(t);return ya(function(){var t=ea(e,i)[O];T(a).forEach(function(e){t.extend_(e,a[e],r&&e in r?r[e]:!0)})}),e}function Dr(e,t){return Or(ga(e,t))}function Or(e){var t={name:e.name_};return e.observing_&&e.observing_.length>0&&(t.dependencies=jr(e.observing_).map(Or)),t}function kr(e,t){return Ar(ga(e,t))}function Ar(e){var t={name:e.name_};return On(e)&&(t.observers=Array.from(kn(e)).map(Ar)),t}function jr(e){return Array.from(new Set(e))}var Mr=0,Nr=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}ve(t,e);var n=t.prototype;return n.toString=function(){return`Error: `+this.message},t}(we(Error));function Pr(e){return e instanceof Nr}var Fr=nt(`flow`),Ir=nt(`flow.bound`,{bound:!0}),Lr=Object.assign(function(e,t){if(Ae(t))return Fr.decorate_20223_(e,t);if(y(t))return De(e,t,Fr);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=++Mr,a=cr(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=cr(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=cr(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=cr(i+` - runid: `+n+` - cancel`,function(){try{s&&Rr(s);var e=a.return(void 0),t=Promise.resolve(e.value);t.then(_,_),Rr(t),o(new Nr)}catch(e){o(e)}}),c};return a.isMobXFlow=!0,a},Fr);Lr.bound=Ee(Ir);function Rr(e){v(e.cancel)&&e.cancel()}function zr(e){return e}function Br(e){return e?.isMobXFlow===!0}function Vr(e,t,r){var i;if(Wi(e)||zi(e)||tn(e))i=_a(e);else if(ra(e)){if(!y(t))return n(`InterceptReads can only be used with a specific property, not with an object in general`);i=_a(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 Hr(e,t,n){return v(n)?Wr(e,t,n):Ur(e,t)}function Ur(e,t){return _a(e).intercept_(t)}function Wr(e,t,n){return _a(e,t).intercept_(n)}function Gr(e,t){return t===void 0?rn(e):ra(e)===!1||!e[O].values_.has(t)?!1:rn(ga(e,t))}function Kr(e){return arguments.length>1?n(`isComputed expects only 1 argument. Use isComputedProp to inspect the observability of a property`):Gr(e)}function qr(e,t){return y(t)?Gr(e,t):n(`isComputed expected a property name as second argument`)}function Jr(e,t){return e?t===void 0?ra(e)||!!e[O]||Ne(e)||L(e)||rn(e):Wi(e)||zi(e)?n(`isObservable(object, propertyName) is not supported for arrays and maps. Use map.has or array.length instead.`):ra(e)?e[O].values_.has(t):!1:!1}function Yr(e){return arguments.length!==1&&n(`isObservable expects only 1 argument. Use isObservableProp to inspect the observability of a property`),Jr(e)}function Xr(e,t){return y(t)?Jr(e,t):n(`expected a property name as second argument`)}function Zr(e){if(ra(e))return e[O].keys_();if(Wi(e)||Yi(e))return Array.from(e.keys());if(zi(e))return e.map(function(e,t){return t});n(5)}function Qr(e){if(ra(e))return Zr(e).map(function(t){return e[t]});if(Wi(e))return Zr(e).map(function(t){return e.get(t)});if(Yi(e))return Array.from(e.values());if(zi(e))return e.slice();n(6)}function $r(e){if(ra(e))return Zr(e).map(function(t){return[t,e[t]]});if(Wi(e))return Zr(e).map(function(t){return[t,e.get(t)]});if(Yi(e))return Array.from(e.entries());if(zi(e))return e.map(function(e,t){return[t,e]});n(7)}function ei(e,t,r){if(arguments.length===2&&!Yi(e)){Nn();var i=t;try{for(var a in i)ei(e,a,i[a])}finally{Pn()}return}ra(e)?e[O].set_(t,r):Wi(e)?e.set(t,r):Yi(e)?e.add(t):zi(e)?(typeof t!=`number`&&(t=parseInt(t,10)),t<0&&n(`Invalid index: '`+t+`'`),Nn(),t>=e.length&&(e.length=t+1),e[t]=r,Pn()):n(8)}function ti(e,t){ra(e)?e[O].delete_(t):Wi(e)||Yi(e)?e.delete(t):zi(e)?(typeof t!=`number`&&(t=parseInt(t,10)),e.splice(t,1)):n(9)}function ni(e,t){if(ra(e))return e[O].has_(t);if(Wi(e)||Yi(e))return e.has(t);if(zi(e))return t>=0&&t<e.length;n(10)}function ri(e,t){if(ni(e,t)){if(ra(e))return e[O].get_(t);if(Wi(e))return e.get(t);if(zi(e))return e[t];n(11)}}function ii(e,t,r){if(ra(e))return e[O].defineProperty_(t,r);n(39)}function ai(e){if(ra(e))return e[O].ownKeys_();n(38)}function oi(e,t,n,r){return v(n)?ci(e,t,n,r):si(e,t,n)}function si(e,t,n){return _a(e).observe_(t,n)}function ci(e,t,n,r){return _a(e,t).observe_(n,r)}function R(e,t,n){return e.set(t,n),n}function z(e,t){if(typeof e!=`object`||!e||e instanceof Date||!Yr(e))return e;if(tn(e)||rn(e))return z(e.get(),t);if(t.has(e))return t.get(e);if(zi(e)){var n=R(t,e,Array(e.length));return e.forEach(function(e,r){n[r]=z(e,t)}),n}if(Yi(e)){var r=R(t,e,new Set);return e.forEach(function(e){r.add(z(e,t))}),r}if(Wi(e)){var i=R(t,e,new Map);return e.forEach(function(e,n){i.set(n,z(e,t))}),i}else{var a=R(t,e,{});return ai(e).forEach(function(n){c.propertyIsEnumerable.call(e,n)&&(a[n]=z(e[n],t))}),a}}function B(e,t){return t&&n(`toJS no longer supports options`),z(e,new Map)}function li(){var e=!1,t=[...arguments];typeof t[t.length-1]==`boolean`&&(e=t.pop());var r=ui(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_===an.NONE&&console.log(`[mobx.trace] '`+r.name_+`' tracing enabled`),r.isTracing_=e?an.BREAK:an.LOG}function ui(e){switch(e.length){case 0:return P.trackingDerivation;case 1:return ga(e[0]);case 2:return ga(e[0],e[1])}}function di(e,t){t===void 0&&(t=void 0),Nn();try{return e.apply(t)}finally{Pn()}}function fi(e,t,n){return arguments.length===1||t&&typeof t==`object`?mi(e,t):pi(e,t,n||{})}function pi(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=Kt(n.name+`-effect`,t),o=fr(function(t){Xt(!1,e)&&(t.dispose(),r&&clearTimeout(r),a())},n);return o}function mi(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=pi(e,n,ge({},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 hi(e){return e[O]}var gi={has:function(e,t){return P.trackingDerivation&&m(`detect new properties using the 'in' operator. Use 'has' from 'mobx' instead.`),hi(e).has_(t)},get:function(e,t){return hi(e).get_(t)},set:function(e,t,n){return y(t)?(hi(e).values_.has(t)||m(`add a new observable property through direct assignment. Use 'set' from 'mobx' instead.`),hi(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)?hi(e).delete_(t,!0)??!0:!1},defineProperty:function(e,t,n){return m(`define property on an observable object. Use 'defineProperty' from 'mobx' instead.`),hi(e).defineProperty_(t,n)??!0},ownKeys:function(e){return P.trackingDerivation&&m(`iterate keys to detect added / removed properties. Use 'keys' from 'mobx' instead.`),hi(e).ownKeys_()},preventExtensions:function(e){n(13)}};function _i(e,t){var n;return p(),e=ea(e,t),(n=e[O]).proxy_??(n.proxy_=new Proxy(e,gi))}function vi(e){return e.interceptors_!==void 0&&e.interceptors_.length>0}function yi(e,t){var n=e.interceptors_||=[];return n.push(t),g(function(){var e=n.indexOf(t);e!==-1&&n.splice(e,1)})}function bi(e,t){var r=N();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{_n(r)}}function xi(e){return e.changeListeners_!==void 0&&e.changeListeners_.length>0}function Si(e,t){var n=e.changeListeners_||=[];return n.push(t),g(function(){var e=n.indexOf(t);e!==-1&&n.splice(e,1)})}function Ci(e,t){var n=N(),r=e.changeListeners_;if(r){r=r.slice();for(var i=0,a=r.length;i<a;i++)r[i](t);_n(n)}}function wi(e,t,r){return ya(function(){var i=ea(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),T(t).forEach(function(e){return i.make_(e,t[e])})}),e}var Ti=Symbol(`mobx-keys`);function Ei(e,t,r){return!x(e)&&!x(Object.getPrototypeOf(e))&&n(`'makeAutoObservable' can only be used for classes that don't have a superclass`),ra(e)&&n(`makeAutoObservable can only be used on objects not already made observable`),x(e)?Er(e,e,t,r):(ya(function(){var n=ea(e,r)[O];if(!e[Ti]){var i=Object.getPrototypeOf(e),a=new Set([].concat(T(e),T(i)));a.delete(`constructor`),a.delete(O),C(i,Ti,a)}e[Ti].forEach(function(e){return n.make_(e,t&&e in t?t[e]:!0)})}),e)}var Di=`splice`,Oi=`update`,ki=1e4,Ai={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)):ce(Ni,t)?Ni[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)}},ji=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 yi(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}),Si(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&&ma(e+t+1)},t.spliceWithArray_=function(e,t,n){var r=this;un(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),vi(this)){var a=bi(this,{object:this.proxy_,type:Di,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<ki){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_&&Kn(),i=xi(this),a=i||r?{observableKind:`array`,object:this.proxy_,type:Oi,debugObjectName:this.atom_.name_,index:e,newValue:t,oldValue:n}:null;r&&Jn(a),this.atom_.reportChanged(),i&&Ci(this,a),r&&Xn()},t.notifyArraySplice_=function(e,t,n){var r=!this.owned_&&Kn(),i=xi(this),a=i||r?{observableKind:`array`,object:this.proxy_,debugObjectName:this.atom_.name_,type:Di,index:e,removed:n,added:t,removedCount:n.length,addedCount:t.length}:null;r&&Jn(a),this.atom_.reportChanged(),i&&Ci(this,a),r&&Xn()},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){un(this.atom_);var i=r[e];if(vi(this)){var a=bi(this,{type:Oi,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 Mi(e,t,n,r){return n===void 0&&(n=`ObservableArray@`+h()),r===void 0&&(r=!1),p(),ya(function(){var i=new ji(n,t,r,!1);ee(i.values_,O,i);var a=new Proxy(i.values_,Ai);return i.proxy_=a,e&&e.length&&i.spliceWithArray_(0,0,e),a})}var Ni={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 P.trackingDerivation&&n(37,`reverse`),this.replace(this.slice().reverse()),this},sort:function(){P.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}};Pi(`at`,Fi),Pi(`concat`,Fi),Pi(`flat`,Fi),Pi(`includes`,Fi),Pi(`indexOf`,Fi),Pi(`join`,Fi),Pi(`lastIndexOf`,Fi),Pi(`slice`,Fi),Pi(`toString`,Fi),Pi(`toLocaleString`,Fi),Pi(`toSorted`,Fi),Pi(`toSpliced`,Fi),Pi(`with`,Fi),Pi(`every`,Ii),Pi(`filter`,Ii),Pi(`find`,Ii),Pi(`findIndex`,Ii),Pi(`findLast`,Ii),Pi(`findLastIndex`,Ii),Pi(`flatMap`,Ii),Pi(`forEach`,Ii),Pi(`map`,Ii),Pi(`some`,Ii),Pi(`toReversed`,Ii),Pi(`reduce`,Li),Pi(`reduceRight`,Li);function Pi(e,t){typeof Array.prototype[e]==`function`&&(Ni[e]=t(e))}function Fi(e){return function(){var t=this[O];t.atom_.reportObserved();var n=t.dehanceValues_(t.values_);return n[e].apply(n,arguments)}}function Ii(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 Li(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 Ri=te(`ObservableArrayAdministration`,ji);function zi(e){return b(e)&&Ri(e[O])}var Bi={},Vi=`add`,Hi=`delete`,Ui=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]=Bi,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),ya(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(!P.trackingDerivation)return this.has_(e);var n=this.hasMap_.get(e);if(!n){var r=n=new en(this.has_(e),He,this.name_+`.`+oe(e)+`?`,!1);this.hasMap_.set(e,r),br(r,function(){return t.hasMap_.delete(e)})}return n.get()},t.set=function(e,t){var n=this.has_(e);if(vi(this)){var r=bi(this,{type:n?Oi:Vi,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(un(this.keysAtom_),vi(this)&&!bi(this,{type:Hi,object:this,name:e}))return!1;if(this.has_(e)){var n=Kn(),r=xi(this),i=r||n?{observableKind:`map`,debugObjectName:this.name_,type:Hi,object:this,oldValue:this.data_.get(e).value_,name:e}:null;return n&&Jn(i),di(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&&Ci(this,i),n&&Xn(),!0}return!1},t.updateValue_=function(e,t){var n=this.data_.get(e);if(t=n.prepareNewValue_(t),t!==P.UNCHANGED){var r=Kn(),i=xi(this),a=i||r?{observableKind:`map`,debugObjectName:this.name_,type:Oi,object:this,oldValue:n.value_,name:e,newValue:t}:null;r&&Jn(a),n.setNewValue_(t),i&&Ci(this,a),r&&Xn()}},t.addValue_=function(e,t){var n=this;un(this.keysAtom_),di(function(){var r,i=new en(t,n.enhancer_,n.name_+`.`+oe(e),!1);n.data_.set(e,i),t=i.value_,(r=n.hasMap_.get(e))==null||r.setNewValue_(!0),n.keysAtom_.reportChanged()});var r=Kn(),i=xi(this),a=i||r?{observableKind:`map`,debugObjectName:this.name_,type:Vi,object:this,name:e,newValue:t}:null;r&&Jn(a),i&&Ci(this,a),r&&Xn()},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 Gi({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 Gi({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 Wi(e)&&(e=new Map(e)),di(function(){x(e)?w(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;di(function(){gn(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 di(function(){for(var n=Ki(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."),Si(this,e)},t.intercept_=function(e){return yi(this,e)},me(e,[{key:`size`,get:function(){return this.keysAtom_.reportObserved(),this.data_.size}},{key:Symbol.toStringTag,get:function(){return`Map`}}])}(),Wi=te(`ObservableMap`,Ui);function Gi(e){return e[Symbol.toStringTag]=`MapIterator`,Ta(e)}function Ki(e){if(ne(e)||Wi(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 qi={},Ji=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]=qi,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)},ya(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;di(function(){gn(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(un(this.atom_),vi(this)){var n=bi(this,{type:Vi,object:this,newValue:e});if(!n)return this;e=n.newValue}if(!this.has(e)){di(function(){t.data_.add(t.enhancer_(e,void 0)),t.atom_.reportChanged()});var r=Kn(),i=xi(this),a=i||r?{observableKind:`set`,debugObjectName:this.name_,type:Vi,object:this,newValue:e}:null;r&&Jn(a),i&&Ci(this,a),r&&Xn()}return this},t.delete=function(e){var t=this;if(vi(this)&&!bi(this,{type:Hi,object:this,oldValue:e}))return!1;if(this.has(e)){var n=Kn(),r=xi(this),i=r||n?{observableKind:`set`,debugObjectName:this.name_,type:Hi,object:this,oldValue:e}:null;return n&&Jn(i),di(function(){t.atom_.reportChanged(),t.data_.delete(e)}),r&&Ci(this,i),n&&Xn(),!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 Xi({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 Xi({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 ie(e)&&!Yi(e)?e.intersection(this):new Set(this).intersection(e)},t.union=function(e){return ie(e)&&!Yi(e)?e.union(this):new Set(this).union(e)},t.difference=function(e){return new Set(this).difference(e)},t.symmetricDifference=function(e){return ie(e)&&!Yi(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 ie(e)&&!Yi(e)?e.isDisjointFrom(this):new Set(this).isDisjointFrom(e)},t.replace=function(e){var t=this;return Yi(e)&&(e=new Set(e)),di(function(){Array.isArray(e)||ie(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."),Si(this,e)},t.intercept_=function(e){return yi(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`}}])}(),Yi=te(`ObservableSet`,Ji);function Xi(e){return e[Symbol.toStringTag]=`SetIterator`,Ta(e)}var Zi=Object.create(null),Qi=`remove`,$i=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_),Da(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 nn)return n.set(t),!0;if(vi(this)){var r=bi(this,{type:Oi,object:this.proxy_||this.target_,name:e,newValue:t});if(!r)return null;t=r.newValue}if(t=n.prepareNewValue_(t),t!==P.UNCHANGED){var i=xi(this),a=Kn(),o=i||a?{type:Oi,observableKind:`object`,debugObjectName:this.name_,object:this.proxy_||this.target_,oldValue:n.value_,name:e,newValue:t}:null;a&&Jn(o),n.setNewValue_(t),i&&Ci(this,o),a&&Xn()}return!0},t.get_=function(e){return P.trackingDerivation&&!ce(this.target_,e)&&this.has_(e),this.target_[e]},t.set_=function(e,t,n){return n===void 0&&(n=!1),ce(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(!P.trackingDerivation)return e in this.target_;this.pendingKeys_||=new Map;var t=this.pendingKeys_.get(e);return t||(t=new en(e in this.target_,He,this.name_+`.`+oe(e)+`?`,!1),this.pendingKeys_.set(e,t)),t.get()},t.make_=function(e,t){if(t===!0&&(t=this.defaultAnnotation_),t!==!1){if(aa(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)}ia(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);aa(this,n,e);var i=n.extend_(this,e,t,r);return i&&ia(this,n,e),i},t.defineProperty_=function(e,t,n){n===void 0&&(n=!1),un(this.keysAtom_);try{Nn();var r=this.delete_(e);if(!r)return r;if(vi(this)){var i=bi(this,{object:this.proxy_||this.target_,name:e,type:Vi,newValue:t.value});if(!i)return null;var a=i.newValue;t.value!==a&&(t=ge({},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{Pn()}return!0},t.defineObservableProperty_=function(e,t,n,r){r===void 0&&(r=!1),un(this.keysAtom_);try{Nn();var i=this.delete_(e);if(!i)return i;if(vi(this)){var a=bi(this,{object:this.proxy_||this.target_,name:e,type:Vi,newValue:t});if(!a)return null;t=a.newValue}var o=na(e),c={configurable:P.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 en(t,n,this.name_+`.`+e.toString(),!1);this.values_.set(e,l),this.notifyPropertyAddition_(e,l.value_)}finally{Pn()}return!0},t.defineComputedProperty_=function(e,t,n){n===void 0&&(n=!1),un(this.keysAtom_);try{Nn();var r=this.delete_(e);if(!r)return r;if(vi(this)&&!bi(this,{object:this.proxy_||this.target_,name:e,type:Vi,newValue:void 0}))return null;t.name||=this.name_+`.`+e.toString(),t.context=this.proxy_||this.target_;var i=na(e),a={configurable:P.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 nn(t)),this.notifyPropertyAddition_(e,void 0)}finally{Pn()}return!0},t.delete_=function(e,t){if(t===void 0&&(t=!1),un(this.keysAtom_),!ce(this.target_,e))return!0;if(vi(this)&&!bi(this,{object:this.proxy_||this.target_,name:e,type:Qi}))return null;try{var n;Nn();var r=xi(this),i=Kn(),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 en&&(s=a.value_),In(a)),this.keysAtom_.reportChanged(),(n=this.pendingKeys_)==null||(n=n.get(e))==null||n.set(e in this.target_),r||i){var c={type:Qi,observableKind:`object`,object:this.proxy_||this.target_,debugObjectName:this.name_,oldValue:s,name:e};i&&Jn(c),r&&Ci(this,c),i&&Xn()}}finally{Pn()}return!0},t.observe_=function(e,t){return t===!0&&n("`observe` doesn't support the fire immediately property for observable objects."),Si(this,e)},t.intercept_=function(e){return yi(this,e)},t.notifyPropertyAddition_=function(e,t){var n,r=xi(this),i=Kn();if(r||i){var a=r||i?{type:Vi,observableKind:`object`,debugObjectName:this.name_,object:this.proxy_||this.target_,name:e,newValue:t}:null;i&&Jn(a),r&&Ci(this,a),i&&Xn()}(n=this.pendingKeys_)==null||(n=n.get(e))==null||n.set(!0),this.keysAtom_.reportChanged()},t.ownKeys_=function(){return this.keysAtom_.reportObserved(),T(this.target_)},t.keys_=function(){return this.keysAtom_.reportObserved(),Object.keys(this.target_)},e}();function ea(e,t){if(t&&ra(e)&&n(`Options can't be provided for already observable objects.`),ce(e,O))return _a(e)instanceof $i||n(`Cannot convert '`+va(e)+`' into observable object:
|
|
84
|
-
The target is already observable of different type.
|
|
85
|
-
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,O,new $i(e,new Map,String(r),Ft(t))),e}var ta=te(`ObservableObjectAdministration`,$i);function na(e){return Zi[e]||(Zi[e]={get:function(){return this[O].getObservablePropValue_(e)},set:function(t){return this[O].setObservablePropValue_(e,t)}})}function ra(e){return b(e)?ta(e[O]):!1}function ia(e,t,n){var r;e.appliedAnnotations_[n]=t,(r=e.target_[Te])==null||delete r[n]}function aa(e,t,r){if(Da(t)||n(`Cannot annotate '`+e.name_+`.`+r.toString()+`': Invalid annotation.`),!Ke(t)&&ce(e.appliedAnnotations_,r)){var i=e.name_+`.`+r.toString(),a=e.appliedAnnotations_[r].annotationType_,o=t.annotationType_;n(`Cannot apply '`+o+`' to '`+i+`':`+(`
|
|
86
|
-
The field is already annotated with '`+a+`'.`)+`
|
|
87
|
-
Re-annotating fields is not allowed.
|
|
88
|
-
Use 'override' annotation for methods overridden by subclass.`)}}var oa=fa(0),sa=function(){var e=!1,t={};return Object.defineProperty(t,`0`,{set:function(){e=!0}}),Object.create(t)[0]=1,e===!1}(),ca=0,la=function(){};function ua(e,t){Object.setPrototypeOf?Object.setPrototypeOf(e.prototype,t):e.prototype.__proto__===void 0?e.prototype=t:e.prototype.__proto__=t}ua(la,Array.prototype);var da=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,ya(function(){var e=new ji(r,n,i,!0);e.proxy_=a,ee(a,O,e),t&&t.length&&a.spliceWithArray(0,0,t),sa&&Object.defineProperty(a,`0`,oa)}),a}ve(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 zi(e)?e.slice():e}))},n[Symbol.iterator]=function(){var e=this,t=0;return Ta({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`}}])}(la);Object.entries(Ni).forEach(function(e){var t=e[0],n=e[1];t!==`concat`&&C(da.prototype,t,n)});function fa(e){return{enumerable:!1,configurable:!0,get:function(){return this[O].get_(e)},set:function(t){this[O].set_(e,t)}}}function pa(e){s(da.prototype,``+e,fa(e))}function ma(e){if(e>ca){for(var t=ca;t<e+100;t++)pa(t);ca=e}}ma(1e3);function ha(e,t,n){return new da(e,t,n)}function ga(e,t){if(typeof e==`object`&&e){if(zi(e))return t!==void 0&&n(23),e[O].atom_;if(Yi(e))return e.atom_;if(Wi(e)){if(t===void 0)return e.keysAtom_;var r=e.data_.get(t)||e.hasMap_.get(t);return r||n(25,t,va(e)),r}if(ra(e)){if(!t)return n(26);var i=e[O].values_.get(t);return i||n(27,t,va(e)),i}if(Ne(e)||rn(e)||L(e))return e}else if(v(e)&&L(e[O]))return e[O];n(28)}function _a(e,t){if(e||n(29),t!==void 0)return _a(ga(e,t));if(Ne(e)||rn(e)||L(e)||Wi(e)||Yi(e))return e;if(e[O])return e[O];n(24,e)}function va(e,t){var n;if(t!==void 0)n=ga(e,t);else if(dr(e))return e.name;else n=ra(e)||Wi(e)||Yi(e)?_a(e):ga(e);return n.name_}function ya(e){var t=N(),n=Zt(!0);Nn();try{return e()}finally{Pn(),Qt(n),_n(t)}}var ba=c.toString;function xa(e,t,n){return n===void 0&&(n=-1),Sa(e,t,n)}function Sa(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=ba.call(e);if(o!==ba.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=Ca(e),t=Ca(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(!Sa(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(!(ce(t,m)&&Sa(e[m],t[m],n-1,r,i)))return!1}}return r.pop(),i.pop(),!0}function Ca(e){return zi(e)?e.slice():ne(e)||Wi(e)||ie(e)||Yi(e)?Array.from(e.entries()):e}var wa=i().Iterator?.prototype||{};function Ta(e){return e[Symbol.iterator]=Ea,Object.assign(Object.create(wa),e)}function Ea(){return this}function Da(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:Zn,extras:{getDebugName:va},$mobx:O}),e.$mobx=O,e.FlowCancellationError=Nr,e.ObservableMap=Ui,e.ObservableSet=Ji,e.Reaction=I,e._allowStateChanges=Xt,e._allowStateChangesInsideComputed=ur,e._allowStateReadsEnd=yn,e._allowStateReadsStart=vn,e._autoAction=lr,e._endAction=Yt,e._getAdministration=_a,e._getGlobalState=En,e._interceptReads=Vr,e._isComputingDerivation=ln,e._resetGlobalState=Dn,e._startAction=Jt,e.action=cr,e.autorun=fr,e.comparer=ze,e.computed=Vt,e.configure=Tr,e.createAtom=Pe,e.defineProperty=ii,e.entries=$r,e.extendObservable=Er,e.flow=Lr,e.flowResult=zr,e.get=ri,e.getAtom=ga,e.getDebugName=va,e.getDependencyTree=Dr,e.getObserverTree=kr,e.has=ni,e.intercept=Hr,e.isAction=dr,e.isBoxedObservable=tn,e.isComputed=Kr,e.isComputedProp=qr,e.isFlow=Br,e.isFlowCancellationError=Pr,e.isObservable=Yr,e.isObservableArray=zi,e.isObservableMap=Wi,e.isObservableObject=ra,e.isObservableProp=Xr,e.isObservableSet=Yi,e.keys=Zr,e.makeAutoObservable=Ei,e.makeObservable=wi,e.observable=j,e.observe=oi,e.onBecomeObserved=yr,e.onBecomeUnobserved=br,e.onReactionError=Bn,e.override=Ge,e.ownKeys=ai,e.reaction=hr,e.remove=ti,e.runInAction=ur,e.set=ei,e.spy=Zn,e.toJS=B,e.trace=li,e.transaction=di,e.untracked=gn,e.values=Qr,e.when=fi})),Mg=ye(((e,t)=>{process.env.NODE_ENV===`production`?t.exports=Ag():t.exports=jg()}))();function Ng(e){if(Array.isArray(e))return Object.freeze(e.map(Ng));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]=Ng(r);return Object.freeze(t)}return e}function Pg(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 Fg(e){return typeof e==`string`?e:String(e)}function Ig(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 Lg(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")`)}var Rg=class extends Error{name=`TemplateError`;kind=`EvalError`;pos;source;constructor(e,t,n={}){super(e,{cause:n.cause}),this.pos=t,this.source=n.source}get sourceSnippet(){return this.source?qg(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}},zg=class extends Rg{name=`ParseError`;kind=`ParseError`;expected;found;constructor(e,t,n={}){super(e,t,n),this.expected=n.expected,this.found=n.found}},Bg=class extends Rg{name=`EvalError`;kind=`EvalError`},Vg=class extends Bg{name=`FuncNotFoundError`;kind=`FuncNotFoundError`;funcName;suggestions;constructor(e,t,n={}){let r=Jg(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}},Hg=class extends Bg{name=`ArgCountError`;kind=`ArgCountError`;funcName;accepted;got;constructor(e,t,n,r,i={}){let a=t.minimum===t.maximum?`${t.minimum}`:`at least ${t.minimum}`;super(`wrong number of args for ${e}: want ${a} got ${n}`,r,i),this.funcName=e,this.accepted=t,this.got=n}},Ug=class extends Bg{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}},Wg=class extends Ug{constructor(e,t,n,r,i={}){super(e,t,`integer`,String(n),r,i),this.message=Number.isInteger(Number(n))?`integer out of range: ${String(n)}`:`expected integer; found ${String(n)}`}},Gg=class extends Bg{name=`MissingFieldError`;kind=`MissingFieldError`;path;constructor(e,t,n={}){super(`field "${e.join(`.`)}" not found on receiver`,t,n),this.path=e}},Kg=class extends Bg{name=`FailError`;kind=`FailError`;constructor(e,t={line:0,column:0,offset:0},n={}){super(e,t,n)}};function qg(e,t){let n=e.split(`
|
|
44
|
+
`);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(uo(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(`
|
|
45
|
+
`);for(let e=0;e<t.length;e++){e>0&&(i=0);let[n]=mo(t[e],uo(r-i));i+=z(n),t[e]=n}let a=t.join(`
|
|
46
|
+
`);yield a===n.text?n:new e(a,n.style)}}static splitAndCropLines(t,n){return e.splitLines(t).map(t=>e.adjustLineLength(t,n))}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}ml(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;)t.push(a),i+=a.cellLength,r++,a=e[r];if(a&&!a.isControl&&i<o){let e=uo(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)}};function ml(e,t){return e===t?!0:!e||!t?!1:e.equals(t)}const hl=e=>/^[\x00-\x7F]*$/.test(e);function gl(e,t,n,r=String){return e.asciiOnly===!0&&!hl(r(t))?n:t}function _l(e,t){return(e.theme??dl).resolve(t)}function vl(e){return{...e,maxWidth:po(e.maxWidth)}}function yl(e){return{...e,onDraw:void 0}}function bl(e,t){let n=vl(e);if(Number.isFinite(n.maxWidth))return n;let r=t.measure(yl(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:po(r)}}function xl(e){return typeof e==`object`&&!!e&&`measure`in e&&typeof e.measure==`function`}var Sl=class e{minimum;maximum;constructor(e,t){this.minimum=e,this.maximum=t}get span(){return this.maximum-this.minimum}normalize(){let t=e=>Number.isNaN(e)?0:e;return new e(Math.max(0,Math.min(t(this.minimum),t(this.maximum))),Math.max(0,t(this.maximum)))}withMaximum(t){return new e(Math.min(this.minimum,t),Math.min(this.maximum,t))}withMinimum(t){let n=Math.max(this.minimum,t);return new e(n,Math.max(this.maximum,n))}clamp(t,n){return new e(Math.min(Math.max(this.minimum,t),n),Math.min(Math.max(this.maximum,t),n))}static get(t,n){if(t.maxWidth<1)return new e(0,0);if(!xl(n))return new e(0,t.maxWidth);let{minimum:r,maximum:i}=n.measure(yl(t));return new e(r,Math.min(i,t.maxWidth)).normalize()}};function*Cl(e){let t=/\s*\S+\s*/y;for(let n=t.exec(e);n!==null;n=t.exec(e))yield n[0]}function wl(e){return z(e.trimEnd())}function Tl(e){return Array.from(Cl(e),wl)}function El(e,t){let n=go(e,t);return z(n[0])>t?[``,...n]:n}function Dl(e,t,n){if(t<=0)return[];let r=[],i=e=>{e>0&&r.push(uo(e))},a=0,o=0;for(let r of Cl(e)){let e=wl(r);if(t-a>=e)a+=z(r);else if(n.fold&&e>t){let e=El(r,t),n=o;for(let t=0;t<e.length;t+=1){i(n);let r=e[t];t===e.length-1?a=z(r):n+=z(r)}}else i(o),a=z(r);o+=z(r)}return r}const Ol=new TextEncoder;function kl(e){let t=2166136261;for(let n of Ol.encode(e))t=Math.imul(t^n,16777619);return(t>>>0).toString(16).padStart(8,`0`)}const Al=`\\x1b\\x07\\x9c`,jl=RegExp(`[${Al}]`,`g`);function Ml(e){return e.replace(jl,``)}function Nl(e){let t=Ml(e);return`\x1b]8;id=${kl(t)};${t}\x1b\\`}const Pl=RegExp(`\\x1b\\]8;([^;${Al}]*);([^${Al}]*)(?:\\x1b\\\\|\\x07|\\x9c)`);new RegExp(Pl.source,`g`);const Fl=/[\x00-\x08\x0B-\x1F\x7F]/g;function Il(e){return e.replace(Fl,``)}const Ll=/\s+$/;function Rl(e){return e.map(e=>e.text).join(``)}function zl(e){return z(Ll.exec(Rl(e))?.[0]??``)}function Bl(e){let t=e.link;if(!t)return e;let n=Ml(t);return n===t?e:e.withLink(n)}function Vl(e){return typeof e==`string`?e:e instanceof U?Hl(e):{under:e.under,over:Hl(e.over)}}function Hl(e){return Bl(e.anchor?e.withAnchor(void 0):e)}function Ul(e){return e instanceof U?e.isNull:e===``}function Wl(e,t){return Bl(t instanceof U?t:typeof t==`string`?Gl(e,t):Gl(e,t.under).add(t.over))}function Gl(e,t){try{return _l(e,t)}catch(n){if(!(n instanceof Zc))throw n;return e.onStyleError?.(n,t),W}}var Kl=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)}},K=class e{_text;_spans;_style;_justify;_overflow;_end;_tabSize;_noWrap;constructor(e,t){this._text=e?Il(e):``,this._spans=[],this._style=Vl(t?.style??W),this._justify=t?.justify,this._overflow=t?.overflow,this._end=t?.end??`
|
|
47
|
+
`,this._tabSize=Do(t?.tabSize??8),this._noWrap=t?.noWrap??!1}get plain(){return this._text}set plain(e){let t=Il(e);this._text=t;let n=t.length;this._spans=this._spans.map(e=>e.end>n?new Kl(e.start,Math.min(e.end,n),e.style):e).filter(e=>e.start<n)}get length(){return this._text.length}get cellLength(){return z(Oo(this._text,this._tabSize).text)}get hasContent(){return this._text.length>0}get style(){return this._style}set style(e){this._style=Vl(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 Wl(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(Wl(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,this._addSpan(e,this._text.length,t._style);for(let n of t._spans)this._spans.push(n.move(e));return this}let r=Il(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 Kl(t,n,e.style))}return l}_addSpan(e,t,n){let r=Vl(n);Ul(r)||this._spans.push(new Kl(e,t,r))}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??`
|
|
48
|
+
`,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}expandTabs(){let e=Oo(this._text,this._tabSize);return this._spans=this._spans.map(t=>new Kl(e.offsetOf(t.start),e.offsetOf(t.end),t.style)),this._text=e.text,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;this.expandTabs();let n=t?.mode??`right`,r=po(e),i=So(t?.marker??`…`,r),a=uo(r-z(i));if(n===`right`)return this._cropRightTo(a),i&&(this._text+=i),this;if(n===`left`)return this._cropLeftTo(a),i&&(this._spans=this._spans.map(e=>e.move(i.length)),this._text=i+this._text),this;let o=uo(Math.floor(a/2)),s=uo(a-o),c=So(this._text,o).length,l=this._text.length-Co(this._text,s).length,u=this._text.slice(0,c),d=this._text.slice(l),f=c,p=l,m=i.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 Kl(e.start,f,e.style)),e.end>p&&h.push(new Kl(p+m,e.end+m,e.style)));return this._text=u+i+d,this._spans=h,this}_cropRightTo(e){this.plain=So(this._text,e)}_cropLeftTo(e){let t=this._text.length-Co(this._text,e).length,n=-t;this._spans=this._spans.map(e=>{if(!(e.end<=t))return new Kl(Math.max(0,e.start+n),e.end+n,e.style)}).filter(e=>e!==void 0),this._text=this._text.slice(t)}align(e,t){let n=this.cellLength;if(n>=t)return this;this.expandTabs();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)r.append(e);return r}*render(e){let t=Oo(this._text,this._tabSize),n=this.resolvedStyle(e),{segments:r,covered:i}=this._buildSegments(t,n,e),a=ql(r,i);r.push(G.line());let o=G.splitLines(r),s=po(bl(e,this).maxWidth),c=this._overflow??e.overflow??`fold`,l=this._noWrap||(e.noWrap??!1),u=c===`ignore`?po(1/0):s,d=l?po(1/0):u,f=c===`ignore`?void 0:this._justify??e.justify,p=gl(e,`…`,`.`);for(let e=0;e<o.length;e+=1){let t=o[e],r=a[e],i=e<o.length-1,l=Dl(Rl(t),d,{fold:c===`fold`}),m=G.divide(t,l),h=this._justifyLines(m.map((e,t)=>({segments:[...this._fitLine(e,u,c,p)],free:e=>r(t===0?e:l[t-1]+e)})),s,n,f);for(let e=0;e<h.length;e+=1)yield*h[e],(e<h.length-1||i)&&(yield G.line())}this._end&&(yield new G(this._end))}measure(e){let t=Oo(this._text,this._tabSize).text.split(`
|
|
49
|
+
`),n=t.reduce((e,t)=>Math.max(e,z(t)),0),r=t.flatMap(Tl),i=r.length>0?r.reduce((e,t)=>Math.max(e,t),0):n,a=po(e.maxWidth);return{minimum:Math.min(i,a),maximum:Math.min(n,a)}}_buildSegments({text:e,offsetOf:t},n,r){let i=n=>Math.max(0,Math.min(t(n),e.length)),a=new Set;for(let e of this._spans)a.add(i(e.start)),a.add(i(e.end));a.delete(0),a.delete(e.length);let o=[0,...[...a].sort((e,t)=>e-t),e.length],s=new Map(o.map((e,t)=>[e,t]).reverse()),c=o.slice(0,-1).map(()=>n),l=c.map(()=>!1);for(let e of this._spans){let t=i(e.end),n=Wl(r,e.style),a=s.get(i(e.start));for(let e=a;o[e]<t;e++)c[e]=c[e].add(n),l[e]=!0}return{segments:c.map((t,n)=>new G(e.slice(o[n],o[n+1]),t.isNull?void 0:t)),covered:l}}_justifyLines(e,t,n,r){return r===`full`?e.map(({segments:r},i)=>i===e.length-1?r:this._fillLine(r,t,n)):e.map(e=>[...this._justifyLine(e,t,n,r)])}*_justifyLine({segments:e,free:t},n,r,i){let a=r.isNull?void 0:r;switch(i){case`center`:case`right`:{let r=G.adjustLineLength(e,G.getLineLength(e)-zl(e),void 0,!1),o=Math.max(n-G.getLineLength(r),0),s=i===`center`?Math.floor(o/2):o;yield*Jl(r,t,s,o-s,a);break}case`left`:yield*Jl(e,t,0,Math.max(n-G.getLineLength(e),0),a);break;default:yield*e;break}}_fillLine(e,t,n){let r=Rl(e),i=r.split(` `);r.endsWith(` `)&&i.pop();let a=i.length-1,o=Array(a).fill(1),s=i.reduce((e,t)=>e+z(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+=z(i[e]),c.push(l),l+=1,e<a&&c.push(l);let u=G.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 G(` `.repeat(o[e]),i.isNull?void 0:i))}return f}*_fitLine(e,t,n,r){let i=G.getLineLength(e);if(i-zl(e)<=t){yield*G.adjustLineLength(e,Math.min(i,t),void 0,!1);return}if(n===`ellipsis`&&t>0){yield*G.adjustLineLength(e,t-1,void 0,!1),yield new G(r);return}yield*G.adjustLineLength(e,t,void 0,!1)}};function ql(e,t){let n=[[]];return e.forEach((e,r)=>{e.text.split(`
|
|
50
|
+
`).forEach((e,i)=>{i>0&&n.push([]);let a=n.at(-1);a.push({end:(a.at(-1)?.end??0)+z(e),free:!t[r]})})}),n.map(e=>t=>{let n=0,r=e.length;for(;n<r;){let i=n+r>>1;e[i].end<=t?n=i+1:r=i}return e[n].free})}function*Jl(e,t,n,r,i){if(n+r===0)return yield*e;let a=e.filter(e=>e.text!==``),o=e=>` `.repeat(e),s=G.getLineLength(a);if(s===0)return yield new G(o(n+r),i);let c=a.length-1,l=n>0&&a[0].cellLength>0&&t(0),u=r>0&&a[c].cellLength>0&&t(s-1),d=+!!l,f=u?c:c+1;if(d>f){yield new G(o(n)+a[0].text+o(r),i);return}n>0&&(yield new G(o(n)+(l?a[0].text:``),i)),yield*a.slice(d,f),r>0&&(yield new G((u?a[c].text:``)+o(r),i))}const Yl=Object.freeze({name:`join`});var Xl=class{fg;bg;constructor(e,t){this.fg=e,this.bg=t}};function Zl(e,t){for(let n=e;n;n=n.inner){if(t.has(n.owner))return{fg:!0,bg:!0};if(n.owner instanceof Xl){let{fg:e,bg:r}=n.owner;return{fg:e!==null&&t.has(e),bg:r!==null&&t.has(r)}}}return{fg:!1,bg:!1}}function Ql(e,t,n,r){let i=e.join(t,n,r);return{render:e=>G.anchorLines([[...i.render(e)]],Yl)[0]}}function $l(e){return{render:t=>G.anchorLines([[...e.render(t)]],e)[0]}}var eu=class{items;joiner;constructor(e,t){this.items=e,this.joiner=t}*render(e){let t=this.items;if(t.length===0)return;let n={...e,justify:void 0};yield*Ql(this.joiner,null,t[0],{index:0}).render(n);for(let e=0;e<t.length;e++){let r=t[e];yield*$l(r).render(n);let i=e+1<t.length?t[e+1]:null;yield*Ql(this.joiner,r,i,{index:e+1}).render(n)}yield G.line()}measure(e){let t=0;for(let n of this.render(e))t+=n.cellLength;return{minimum:t,maximum:t}}};const tu=[`seam`,`divider`,`lead`,`tail`];function*nu(e){yield e,`mix`in e&&(yield*nu(e.mix[0]),yield*nu(e.mix[1]))}const ru=e=>typeof e.glyph==`string`?[e.glyph]:e.glyph.oneOf,iu=(e,t,n,r)=>{let i=ru(e);return i[Math.floor(parseInt(kl(`${t}:${n}:${r}`),16)/2**32*i.length)]},au=e=>z(ru(e)[0]??``),ou=e=>e.reduce((e,t)=>e+au(t),0);function su(e,t,n){if(e===`ground`)return n(`mixes ground, whose colour is unknown`);let r=typeof e==`object`&&e?e:{};if((r.edge===`left`||r.edge===`right`)&&(r.part===`bg`||r.part===`fg`))return r.edge===t&&n(`names the ${t} neighbour, which this part is drawn without`),Object.freeze({edge:r.edge,part:r.part});if(typeof r.role==`string`)return Object.freeze({role:r.role});if(Array.isArray(r.mix)&&r.mix.length===3){let[e,i,a]=r.mix;return(typeof a!=`number`||!(a>=0&&a<=1))&&n(`mixes at ${String(a)}, outside 0..1`),Object.freeze({mix:Object.freeze([su(e,t,n),su(i,t,n),a])})}return n(`has a colour that is not a Paint: ${JSON.stringify(e)}`)}const cu=(e,t,n)=>e===`ground`?e:su(e,t,n),lu={seam:void 0,divider:void 0,lead:`left`,tail:`right`};function uu(e,t){if(!Array.isArray(e))throw Error(`CellJoiner: ${t} is not a list of cells`);return e.map((e,n)=>{if(typeof e!=`object`||!e)throw Error(`CellJoiner: ${t}[${n}] is not a cell`);return e})}function du(e,t){let n=n=>Object.freeze(uu(e[n],`${t} ${n}`).map((e,r)=>{let i=e=>{throw Error(`CellJoiner: ${t} ${n}[${r}] ${e}`)},a=e.glyph,o=typeof a==`object`&&a?a.oneOf:void 0;typeof a!=`string`&&!(Array.isArray(o)&&o.every(e=>typeof e==`string`))&&i(`has a glyph that is neither a string nor a oneOf of strings: ${JSON.stringify(a)}`),e.fg===`ground`&&e.bg===`ground`&&i(`has ground on both sides`);let s=ru(e);return s.length===0&&i(`has an empty oneOf`),s.some(t=>z(t)!==au(e))&&i(`has oneOf members of different widths`),t===`ascii`&&!s.every(hl)&&i(`is not ASCII`),Object.freeze({glyph:typeof e.glyph==`string`?e.glyph:Object.freeze({oneOf:Object.freeze([...s])}),fg:cu(e.fg,lu[n],i),bg:cu(e.bg,lu[n],i)})})),r=n(`seam`),i=e.divider===e.seam?r:n(`divider`);if(ou(i)!==ou(r))throw Error(`CellJoiner: ${t} divider is not the width of the seam`);return Object.freeze({seam:r,divider:i,lead:n(`lead`),tail:n(`tail`)})}const fu=(e,t)=>tu.flatMap(t=>e[t]).some(e=>[e.fg,e.bg].some(e=>e!==`ground`&&[...nu(e)].some(e=>`edge`in e&&e.edge===t&&e.part===`bg`)));function pu(e){return{shape:e,reads:{left:fu(e,`left`),right:fu(e,`right`)}}}function mu(e){return e!==void 0&&!e.isDefault?e:void 0}function hu(e){return e.flattenAlpha(Fo)}function gu(e,t){if(e.reverse)return!1;let{color:n,bgcolor:r}=e.drawnColors(t??V.TRUECOLOR);if(n===void 0||r===void 0)return!1;let i=n.fixedValue,a=r.fixedValue;return i!==void 0&&a!==void 0?Us.fromRgba(i).deltaE(Us.fromRgba(a))<.04:n.number===void 0?n.name===r.name:n.number===r.number}function _u(e,t,n){if(`edge`in e){let n=t[e.edge];if(e.part===`fg`)return n?.color;let r=mu(n?.bgcolor);return r&&hu(r)}if(`role`in e)return _l(n,e.role).color;let[r,i,a]=e.mix,o=_u(r,t,n),s=_u(i,t,n);return o&&s&&H.blend(o,s,a)}function vu(e,t,n){return e.fg===`ground`?new U({color:e.bg===`ground`?void 0:_u(e.bg,t,n),reverse:!0}):new U({color:_u(e.fg,t,n),bgcolor:e.bg===`ground`?void 0:_u(e.bg,t,n)})}const yu=e=>tu.flatMap(t=>e[t].flatMap(ru)).join(``);var bu=class{shape;ascii;_forms;constructor(e,t){this.shape=du(e,`glyph`),this.ascii=du(t,`ascii`),this._forms={glyph:pu(this.shape),ascii:pu(this.ascii)}}join(e,t,{index:n}){let r=this._forms;return{*render(i){let{shape:a,reads:o}=gl(i,r.glyph,r.ascii,e=>yu(e.shape)),s={left:e?.edgeStyle(`right`,i),right:t?.edgeStyle(`left`,i)},c=mu(s.left?.bgcolor),l=mu(s.right?.bgcolor),u=e!==null&&(!o.left||c!==void 0),d=t!==null&&(!o.right||l!==void 0),f={left:e,right:t},p=e=>e!==`ground`&&`edge`in e?f[e.edge]:null,m=e=>a[e].map((t,r)=>{let a=new Xl(p(t.fg),p(t.bg));return new G(iu(t,e,n,r),vu(t,s,i).withAnchor({owner:a,row:0,col:0,inner:void 0}))});if(!u||!d){(u||d)&&(yield*m(d?`lead`:`tail`));return}let h=m(`seam`);yield*a.divider!==a.seam&&h.every(e=>e.style!==void 0&&gu(e.style,i.colorSystem))?m(`divider`):h}}}};const xu={edge:`left`,part:`bg`},Su={edge:`right`,part:`bg`},Cu={edge:`left`,part:`fg`},wu={mix:[xu,Su,1/2]},Tu=`ground`;function Eu(e,t){return{seam:[{glyph:e,fg:xu,bg:Su}],divider:[{glyph:t,fg:Cu,bg:xu}],lead:[{glyph:e,fg:Tu,bg:Su}],tail:[{glyph:e,fg:xu,bg:Tu}]}}function Du(e,t){let n=e=>({mix:[xu,Su,e]}),r={glyph:` `,fg:Cu,bg:xu};return{...Eu(e,t),seam:[{glyph:e,fg:xu,bg:n(1/3)},{glyph:e,fg:n(1/3),bg:n(2/3)},{glyph:e,fg:n(2/3),bg:Su}],divider:[r,{glyph:t,fg:Cu,bg:xu},r]}}const Ou=(e,t,n,r,i)=>new bu(e(t,n),{...e(r,i),lead:[]});function ku(e,t,n){let r=[{glyph:t,fg:xu,bg:Tu},...n,{glyph:e,fg:Su,bg:Tu}];return{seam:r,divider:r,lead:[{glyph:e,fg:Su,bg:Tu}],tail:[{glyph:t,fg:xu,bg:Tu}]}}const Au=(e,t)=>ku(e,t,[{glyph:` `,fg:Cu,bg:Tu}]),ju=(e,t,n)=>ku(e,t,[{glyph:n,fg:{role:`strip.rail`},bg:Tu}]);function Mu(e,t){let n=[{glyph:e,fg:t,bg:wu}];return{seam:n,divider:n,lead:[],tail:[]}}function Nu(e){return{...Mu({oneOf:e},xu),divider:[{glyph:{oneOf:e},fg:Cu,bg:wu}]}}const Pu=[{glyph:` | `,fg:{role:`strip.separator`},bg:Tu}],Fu={seam:Pu,divider:Pu,lead:[],tail:[]},Iu=Object.freeze({powerline:Ou(Eu,``,``,`>`,`>`),prism:Ou(Du,``,``,`>`,`>`),slant:Ou(Eu,``,``,`/`,`/`),backslant:Ou(Eu,``,``,`\\`,`\\`),flame:Ou(Eu,``,``,`}`,`}`),pixel:Ou(Eu,``,``,`#`,`>`),ice:Ou(Eu,``,``,`]`,`>`),bubble:Ou(Eu,``,``,`)`,`)`),capsule:new bu(Au(``,``),Au(`(`,`)`)),wrapper:new bu(ku(``,``,[]),ku(`<`,`>`,[])),metro:new bu(ju(``,``,`──`),ju(`(`,`)`,`--`)),stitch:new bu(Mu(`┊`,Cu),Mu(`:`,Cu)),torn:new bu(Nu([`▚▞`,`▞▚`,`▘▗`,`▝▖`,`▖▝`,`▗▘`]),Nu([`/\\`,`\\/`])),plain:new bu(Fu,Fu)});function Lu(e,t){if(e.isControl)return``;let{text:n,style:r}=e;if(n.length===0||r===void 0)return n;let i=t.colorSystem===null?``:r.toSgrCodes(t.colorSystem),a=i.length>0?`\x1b[${i}m${n}\x1b[0m`:n,o=t.hyperlinks?r.link:void 0;return o===void 0?a:`${Nl(o)}${a}]8;;\\`}function Ru(e,t){let n=[];for(let r of e)n.push(Lu(r,t));return n.join(``)}function zu(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=Yo(i===void 0?V.TRUECOLOR:i,r),o={colorSystem:t?.noColor?null:a.colorSystem,hyperlinks:t?.hyperlinks??a.hyperlinks},s={maxWidth:n,isTerminal:!1,asciiOnly:t?.asciiOnly??!1,theme:t?.theme,onStyleError:t?.onStyleError,highlight:t?.highlight,highlighter:t?.highlighter,colorSystem:o.colorSystem};return Ru(e.render(s),o)}var Bu=class{renderable;effect;t;key;theme;constructor(e,t,n){if(this.renderable=e,this.effect=t,!Number.isFinite(n.t))throw RangeError(`Effected needs a finite t, got ${n.t}`);this.t=n.t,this.key=n.key,this.theme=n.theme}*render(e){let t=this.renderable.render(e);if(e.colorSystem===null){yield*t;return}let n=e.colorSystem??V.TRUECOLOR,r=Hu(t,n,this.theme),i=this.effect(this.t,Uu(r,n,this.theme)),a=0,o=0;for(let{segment:e,look:t}of r){if(t===void 0){yield e;continue}let{style:r,wire:s,slots:c,pair:l}=t,{terminal:u}=l,d={fg:l.fg,bg:l.bg},f=[],p=0;for(let t of bo(e.text)){let e=c;if(t===`
|
|
51
|
+
`)a++,o=0;else{let n=r.anchor&&Kc(r.anchor,p);e=Gu(i(d,{row:a,col:o,seed:this.seed(a,o),terminal:u,anchor:n}),l.reverse),o+=z(t)}p+=z(t);let m=f[f.length-1],h=m!==void 0&&Xu(m.colors,e)?m.drawn:this.respec(s,c,e,n);m!==void 0&&qu(m.drawn,h)?(m.text+=t,m.cells+=z(t),m.colors=e):f.push({text:t,cells:z(t),colors:e,drawn:h})}if(f.every(e=>qu(e.drawn,s))){yield e;continue}let m=0;for(let e of f){let t=r.shiftedBy(m),n=qu(e.drawn,s)?t:t.add(U.fromColor(e.drawn.color,e.drawn.bgcolor));yield new G(e.text,n),m+=e.cells}}}measure(e){return Sl.get(e,this.renderable)}static shows(e,t,n,r){let i=Gu(e,e.reverse),a=Ku(i,Gu(t,e.reverse),n,r);return Gu({fg:a.fg?.getTruecolor(r,!0)??i.fg,bg:a.bg?.getTruecolor(r,!1)??i.bg},e.reverse)}respec(e,t,n,r){let i=Ku(t,n,r,this.theme);return{color:i.fg??e.color,bgcolor:i.bg??e.bgcolor}}seed(e,t){return Number.parseInt(kl(`${this.key}:${e}:${t}`),16)/4294967296}};const Vu=H.default();function Hu(e,t,n){return[...e].map(e=>{if(e.isControl)return{segment:e,look:void 0};let r=e.style??U.null(),i=r.drawnColors(t),a={fg:(i.color??Vu).getTruecolor(n,!0),bg:(i.bgcolor??Vu).getTruecolor(n,!1)},o=r.reverse===!0,s=Gu({fg:i.color?.isDefault??!0,bg:i.bgcolor?.isDefault??!0},o);return{segment:e,look:{style:r,wire:i,slots:a,pair:{...Gu(a,o),terminal:s,reverse:o}}}})}function Uu(e,t,n){let r=e.flatMap(({segment:e,look:t})=>t!==void 0&&e.text.trim()!==``&&!qc(t.style.anchor,Yl)?[t.pair]:[]),i=[...new Map(r.map(e=>[`${e.fg.hex}/${e.bg.hex}/${e.terminal.fg}/${e.terminal.bg}/${e.reverse}`,e])).values()],a=e=>i.flatMap(t=>t.terminal[e]?[]:[t[e].hex]);return{pairs:i,colors:new Set([...a(`fg`),...a(`bg`)]),fills:new Set(a(`bg`)),depth:t,theme:n}}function Wu(e,...t){let n=new Set(t);return(t,r)=>{let i=e(t,r);return(e,t)=>{let r=Zl(t.anchor,n);if(!r.fg&&!r.bg)return e;let a=i(e,t);return{fg:r.fg?a.fg:e.fg,bg:r.bg?a.bg:e.bg}}}}function Gu(e,t){return t?{fg:e.bg,bg:e.fg}:e}function Ku(e,t,n,r){let i=t.bg.compositeOver(Fo),a=t.fg.compositeOver(i);return{fg:H.matchMove(e.fg,a,n,r,!0),bg:H.matchMove(e.bg,i,n,r,!1)}}function qu(e,t){return Ju(e.color,t.color,!0)&&Ju(e.bgcolor,t.bgcolor,!1)}function Ju(e,t,n){return e===t||Yu(e,n)===Yu(t,n)}function Yu(e,t){return e?.getAnsiCodes(t).join(`;`)??``}function Xu(e,t){return Zu(e.fg,t.fg)&&Zu(e.bg,t.bg)}function Zu(e,t){return e.red===t.red&&e.green===t.green&&e.blue===t.blue&&e.alpha===t.alpha}const Qu=(()=>{let e=[151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225,140,36,103,30,69,142,8,99,37,240,21,10,23,190,6,148,247,120,234,75,0,26,197,62,94,252,219,203,117,35,11,32,57,177,33,88,237,149,56,87,174,20,125,136,171,168,68,175,74,165,71,134,139,48,27,166,77,146,158,231,83,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244,102,143,54,65,25,63,161,1,216,80,73,209,76,132,187,208,89,18,169,200,196,135,130,116,188,159,86,164,100,109,198,173,186,3,64,52,217,226,250,124,123,5,202,38,147,118,126,255,82,85,212,207,206,59,227,47,16,58,17,182,189,28,42,223,183,170,213,119,248,152,2,44,154,163,70,221,153,101,155,167,43,172,9,129,22,39,253,19,98,108,110,79,113,224,232,178,185,112,104,218,246,97,228,251,34,242,193,238,210,144,12,191,179,162,241,81,51,145,235,249,14,239,107,49,192,214,31,181,199,106,157,184,84,204,176,115,121,50,45,127,4,150,254,138,236,205,93,222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180];return[...e,...e]})(),$u=e=>e*e*e*(e*(e*6-15)+10),ed=(e,t,n)=>e+n*(t-e);function td(e,t,n,r){let i=e&15,a=i<8?t:n,o=i<4?n:i===12||i===14?t:r;return(i&1?-a:a)+(i&2?-o:o)}function nd(e,t,n){let r=Math.floor(e),i=Math.floor(t),a=Math.floor(n),o=r&255,s=i&255,c=a&255;e-=r,t-=i,n-=a;let l=$u(e),u=$u(t),d=$u(n),f=Qu[o]+s,p=Qu[f]+c,m=Qu[f+1]+c,h=Qu[o+1]+s,g=Qu[h]+c,_=Qu[h+1]+c;return ed(ed(ed(td(Qu[p],e,t,n),td(Qu[g],e-1,t,n),l),ed(td(Qu[m],e,t-1,n),td(Qu[_],e-1,t-1,n),l),u),ed(ed(td(Qu[p+1],e,t,n-1),td(Qu[g+1],e-1,t,n-1),l),ed(td(Qu[m+1],e,t-1,n-1),td(Qu[_+1],e-1,t-1,n-1),l),u),d)}function rd(e,t,n,r){let i=0,a=1,o=0;for(let s=0;s<r;s++){let r=2**s;i+=a*nd(e*r,t*r,n*r),o+=a,a/=2}return i/o}function id(e,t){let n=Math.sin(e*12.9898+t*78.233)*43758.5453;return n-Math.floor(n)}function ad(e,t,n){let r=Math.min(1,Math.max(0,(n-e)/(t-e)));return r*r*(3-2*r)}const od=Array.from({length:48},(e,t)=>(t+1)/48),sd=[`fg`,`bg`];function cd({pairs:e,depth:t,theme:n},r,i){let a=(e,t)=>e.terminal[t]?void 0:e[t].hex,o=new Map(e.flatMap(e=>sd.flatMap(t=>{let n=a(e,t);return n===void 0?[]:[[n,e[t]]]}))),s=t===V.TRUECOLOR?.01:0,c=new Map([...r].filter(e=>!o.has(e)).map(e=>[e,1])),l=e=>Us.fromRgba(o.get(e)).l;for(let u of[...r].filter(e=>o.has(e)).sort((e,t)=>l(t)-l(e))){let r=e.flatMap(e=>{let t=sd.find(t=>a(e,t)===u);if(t===void 0)return[];let n=a(e,t===`fg`?`bg`:`fg`);return[[e,t,n===void 0?0:c.get(n)??0]]}),o=e=>r.every(([r,a,o])=>{let c=Math.min(Lo(r.fg,r.bg),4.5)-s,l=(t,n)=>dd(i,r[t],(t===a?e:o)*n);return od.every(e=>{let i=Bu.shows(r,{fg:l(`fg`,e),bg:l(`bg`,e)},t,n);return Lo(i.fg,i.bg)>=c})}),[l,d]=o(1)?[1,1]:[0,1];for(let e=0;e<20&&d-l>.001;e++){let e=(l+d)/2;[l,d]=o(e)?[e,d]:[l,e]}c.set(u,l)}return c}function ld(e,t){let n=new WeakMap;return ud(e,r=>{let i=t??r.colors,a=[r.depth,...r.pairs.map(({fg:e,bg:t,terminal:n,reverse:r})=>`${e.hex}/${t.hex}/${n.fg}/${n.bg}/${r}`),`|`,...i].join(` `),o=n.get(r.theme)??new co;return n.set(r.theme,o),o.get(a,()=>cd(r,i,e.touch))})}function ud(e,t){return(n,r)=>{let i=t(r),a=e.field(n);return({fg:t,bg:n},r)=>{let o=Math.round(hd(a(r))*48)/48,s=(t,n)=>dd(e.touch,t,(n?0:i.get(t.hex)??0)*o);return{fg:s(t,r.terminal.fg),bg:s(n,r.terminal.bg)}}}}function dd(e,t,n){return n===0?t:e(t,n)}function fd(e){if(!(Number.isFinite(e.seconds)&&e.seconds>0))throw RangeError(`curve: seconds must be a positive number of seconds, got ${e.seconds}`);if(!(e.swing>=0&&e.swing<=1))throw RangeError(`curve: swing must be in [0, 1], got ${e.swing}`)}const pd={shimmer:{seconds:109,ease:Hc.linear,swing:.9},pulse:{seconds:43,ease:Hc.linear,swing:.85},sparkle:{seconds:139,ease:Hc.linear,swing:.95},wheel:{seconds:907,ease:Hc.linear,swing:1},fade:{seconds:20,ease:Hc[`ease-in-out`],swing:1},dissolve:{seconds:30,ease:Hc[`ease-in-out`],swing:1}},md={sun:new B(255,228,176),firefly:new B(222,245,140)},hd=e=>Math.min(1,Math.max(0,e));function gd(e,t,n){if(!(n>=0&&n<=1))throw RangeError(`blend: w must be in [0, 1]; got ${n}`);let r=Math.PI/180,i=(1-n)*e.c*Math.cos(e.h*r)+n*t.c*Math.cos(t.h*r),a=(1-n)*e.c*Math.sin(e.h*r)+n*t.c*Math.sin(t.h*r);return new Us((1-n)*e.l+n*t.l,Math.hypot(i,a),Math.atan2(a,i)/r,e.alpha)}function _d(e){let t=Us.fromRgba(e);return(e,n)=>{let r=Us.fromRgba(e);return gd(r,new Us(Math.max(r.l,t.l),t.c,t.h,t.alpha),n).toRgba()}}const vd=(e,t)=>t*e[e.length-1][0];function yd(e,t,n){let r=t/n,i=e.findIndex(([e])=>r<e);if(!(r>0)||i<0)return 0;let[a,o]=i===0?[0,0]:e[i-1],[s,c]=e[i];return n*(o+(c-o)*(1-Math.cos(Math.PI*(r-a)/(s-a)))/2)}function bd(e,t,n){let r=vd(e,n),i=t=>{let r=0;for(let i=0;i<24;i++)r+=yd(e,(i+.5)/24*t,n);return r*t};return i(Math.min(Math.max(t,0),r))/i(r)}const xd=[[.24,1],[.6,0]];function Sd(e,t,n){fd(e);let r=.9+.2*id(n,3.1),i=t=>.1*nd(t/(3*e.seconds),.5,.5+n),a=i(0);return{touch:_d(t),field:t=>{let o=r*t/e.seconds+i(t)-a,s=Math.floor(o),c=.7+.3*ad(-.5,.5,nd(s*.37,2.1,n)),l=.5-.5*Math.cos(2*Math.PI*(o-s)),u=e.swing*e.ease(c*l);return()=>u}}}const Cd=e=>Math.abs(e)>=1?0:(1-e*e)**3;function wd(e,t,n,r,i){fd(e);let a=e.seconds,o=t+2*n,s=a/2,c=e=>ad(-.4,.4,nd(e/7,3.3,5.5+i)),l=.7,u=.51,d=.4,f=l+(u+d)*a*o/80/s,p=(e,t)=>{let r=c(e),f=(id(e,7.5+i)<.35+.6*r)*(.3+.7*r*(.6+.4*id(e,8.5+i))),p=a*o/80*(u+d*id(e,5.5+i)),m=hd((t-(e+l*id(e,6.5+i))*s)/p);return{strength:f,centre:m*o-n+.06*o*Math.sin(Math.PI*m)*nd(m,2.7,e+i)}},m=e=>{let t=Math.floor(e/s),n=[];for(let r=Math.max(0,Math.ceil(t-f));r<=t;r++)n.push(p(r,e));return n},h=(e,t,n)=>Math.exp(-((nd(e,t,n)/.8)**2));return{touch:_d(r),field:t=>{let r=m(t);return a=>{let o=0;for(let{strength:e,centre:t}of r)o=Math.max(o,e*Cd((a.col-t)/n));let s=a.row+i,c=.8*nd(a.col*.05,s*.3+1.3,t*.02),l=(h(a.col*.21+c,s*.9,t*.022)*h(a.col*.33+9.1-c,s*.7,t*.018+4.2))**2;return e.swing*e.ease(o*(.1+.6*l))}}}}function Td(e,t,n,r){fd(e);let i=Math.max(3,Math.round(t/8)),a=e.seconds,o=Array.from({length:i},(e,n)=>({home:(n+.5+.7*nd(n*1.7+.2,.3,.5+r))*(t/i),z:n*4.9+.3+r,offset:id(n,.7+r)*a})),s=e=>o.map(t=>{let n=e+t.offset,r=Math.floor(n/a),i=id(r,t.z+1)<.15?0:1,o=.5+.5*id(r,t.z+2),s=id(r,t.z+3)*(1-vd(xd,o)),c=n/a-r-s;return{x:t.home+5*(2*id(r,t.z+4)-1)+5*o*(2*id(r,t.z+5)-1)*bd(xd,c,o)+1.5*nd(t.z,.1,e*.035),y:.6*nd(t.z,2.2,e*.035),glow:i*yd(xd,c,o)}});return{touch:_d(n),field:t=>{let n=s(t);return t=>{let r=0;for(let e of n)r=Math.max(r,e.glow*Cd(Math.hypot(t.col-e.x,2*(t.row-e.y))/5));return e.swing*e.ease(r)}}}}function Ed(e,t){return(n,{theme:r})=>{let i=e(n),a=Us.fromRgba(r.backgroundColor);return(e,n)=>{let r=t*(1-hd(i(n)));if(r===0)return e;let o=gd(Us.fromRgba(e.bg),a,r);return{fg:gd(Us.fromRgba(e.fg),o,r).toRgba(),bg:o.toRgba()}}}}function Dd(e){let t=new Map;return n=>{let r=`${n.row}:${n.col}`,i=t.get(r)??hd(.5+1.1*rd(n.col*.09+1.4*nd(n.col*.035,n.row*.2+2.6,e+.5),n.row*.45,e,3));return t.set(r,i),i}}function Od(e,t){return{effect:t,done:t=>t>=e.seconds}}function kd(e,t){let n=e.seconds*.45,r=Gc.once(0,n);return i=>a=>r(i-t(a)*(e.seconds-n))}function Ad(e,t){fd(e);let n=kd(e,Dd(1.7+t));return Od(e,Ed(t=>{let r=n(t);return t=>e.ease(r(t))},e.swing))}const jd={depth:.4,from:.5,to:.95,maskFrom:.35,maskTo:.75,late:.6};function Md(e,t){fd(e);let n=Dd(4.2+t),r=Dd(9.3+t),i=kd(e,n),{depth:a,from:o,to:s,maskFrom:c,maskTo:l,late:u}=jd;return Od(e,Ed(t=>{let d=i(t);return t=>{let i=e.ease(d(t)),f=hd((i-o)/(s-o)),p=a*ad(c,l,r(t))*(1-u+u*n(t))*Math.sin(Math.PI*f)**2;return 1-i+p}},e.swing))}const Nd=[211,337];function Pd(e,t){fd(e);let n=e.seconds,r=e=>id(Number.parseInt(e.slice(1),16)*1e-4,17.3+t),i=(e,n)=>nd(n/Nd[0],5.9+97*e,t)+.5*nd(n/Nd[1],2.3+89*e,t+7.1),a=(t,a)=>{let o=r(t);return 360*a/n+e.swing*180*((i(o,a)-i(o,0))/1.5)};return(e,{colors:t,fills:n})=>(r,i)=>{let o={fg:!i.terminal.fg&&t.has(r.fg.hex),bg:!i.terminal.bg&&t.has(r.bg.hex)},s=(t,r,i,o)=>r?Us.fromRgba(t).applyKey({...Ms,hueShift:a(n.has(t.hex)||!o?t.hex:i.hex,e)}).toRgba():t;return{fg:s(r.fg,o.fg,r.bg,o.bg),bg:s(r.bg,o.bg,r.fg,o.fg)}}}const Fd={loops:{shimmer:(e,t=pd.shimmer)=>ld(wd(t,e.span,24,md.sun,e.z)),pulse:(e,t=pd.pulse)=>ld(Sd(t,md.sun,e.z)),sparkle:(e,t=pd.sparkle)=>ld(Td(t,e.span,md.firefly,e.z)),wheel:(e,t=pd.wheel)=>Pd(t,e.z)},transitions:{fade:(e,t=pd.fade)=>Ad(t,e.z),dissolve:(e,t=pd.dissolve)=>Md(t,e.z)}};function Id(e,t){let n=[...e.render(t)],r=0;for(let e of n)r+=e.cellLength;return{segments:n,width:r}}const Ld={segments:[],width:0},Rd={left:()=>0,justify:()=>0,center:e=>Math.floor(e/2),right:e=>e};function zd(e,t){return Rd[e](t)}function Bd(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 Vd=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=>Id($l(t),e)),o=n=>i?Id(Ql(i,null,t[n],{index:n}),e):Ld,s=n=>i?Id(Ql(i,t[n],null,{index:n+1}),e):Ld,c=(n,r)=>i?Id(Ql(i,t[n],t[r],{index:r}),e):Ld,l=[],u=null,d=r>0?{segments:[new G(` `.repeat(r))],width:r}:Ld;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=zd(p,i),o=Bd(p,r,i,t.itemBlockIndices.length),s=new Map;t.itemBlockIndices.forEach((e,t)=>s.set(e,t)),a>0&&(yield new G(` `.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 G(` `.repeat(e)))}yield*t.blocks[e].segments}yield G.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=Id(t[i],e).width,o=this.joiner?Id(Ql(this.joiner,null,t[i],{index:i}),e).width:0,s=this.joiner?Id(Ql(this.joiner,t[i],null,{index:i+1}),e).width:0;n=Math.max(n,a+o+s),r+=a,i>0&&(r+=this.gap*2,this.joiner&&(r+=Id(Ql(this.joiner,t[i-1],t[i],{index:i}),e).width))}return this.joiner&&(r+=Id(Ql(this.joiner,null,t[0],{index:0}),e).width,r+=Id(Ql(this.joiner,t[t.length-1],null,{index:t.length}),e).width),{minimum:n,maximum:r}}};function Hd(e){return e<32||e===127||e>=128&&e<=159}function Ud(e){let t=``;for(let n of e)t+=Hd(n.codePointAt(0)??0)?` `:n;return t.replace(/\s+/g,` `).trim()}function Wd(e,t){let n=Ud(e),r=``,i=0;for(let e of n){if(i===t)return r.replace(/.$/u,`…`);r+=e,i++}return r}const Gd=`\x1B[38;2;255;255;255m`,Kd=`\x1B[48;2;200;40;40m`;function qd(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 Jd={fg:qd(Gd),bg:qd(Kd)},Yd={fg:qd(`\x1B[38;2;0;0;0m`),bg:qd(`\x1B[48;2;220;160;40m`)};function Xd(){let e=new WeakMap;return(t,n,r)=>{let i=e.get(t);i===void 0&&(i=new Map,e.set(t,i));let a=i.get(n);if(a!==void 0)return a;let o=r();return i.set(n,o),o}}const Zd=[`primary`,`secondary`,`accent`],Qd=[`darken-3`,`darken-2`,`darken-1`,`base`,`lighten-1`,`lighten-2`,`lighten-3`],$d={"darken-3":`-darken-3`,"darken-2":`-darken-2`,"darken-1":`-darken-1`,base:``,"lighten-1":`-lighten-1`,"lighten-2":`-lighten-2`,"lighten-3":`-lighten-3`,muted:`-muted`},ef=(e,t)=>`${e}${$d[t]}`,tf=(e,t,n,r)=>Ff(e,n,r),nf=(e,t,n,r)=>Lf(e,Tf(e,`text-${t}`),n,r),rf=e=>({tones:[Qd[e],Qd[e+2],Qd[e+1]],text:tf}),af={muted:{tones:[`muted`],text:nf},deepest:rf(0),deeper:rf(1),middle:rf(2),brighter:rf(3),brightest:rf(4)},of=1/0,sf={accent:{hues:[`secondary`,`accent`],run:of},duo:{hues:[`primary`,`secondary`],run:of},mono:{hues:[`primary`],run:of},alt:{hues:[`secondary`,`accent`],run:3}},cf=e=>e.variation.hues.flatMap(t=>e.shade.tones.map(e=>({hue:t,shade:e}))),lf=e=>{let t=0,n=.5;for(let r=e;r>0;r>>=1,n/=2)t+=n*(r&1);return t},uf=[`van-der-corput`,`golden-angle`,`ends-interleaved`,`monotonic`,`uniform`],df=e=>typeof e==`string`&&uf.includes(e),ff={"van-der-corput":lf,"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},pf=e=>ff[e??`van-der-corput`];function mf(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 hf=(e,t)=>Math.floor(e*t),gf=(e,t)=>Math.round(e*t)%t;function _f(e){return e===void 0?0:e.distribution(e.index,e.count)}function vf(e,t,n){let r=e[n(_f(t),e.length)];if(r===void 0)throw Error(`vocabularySelect: empty vocabulary`);return r}function yf(e){let t=e.findIndex(e=>e.axis===`cell`),n=t===-1?e:e.slice(0,t);return{row:n.at(-1),cell:e[n.length]}}const bf=(e,t)=>hf(_f(t),e.hues.length);function xf(e,t){let{row:n,cell:r}=yf(t);return Sf(e,n,r)}function Sf(e,t,n){let{hues:r,run:i}=e.variation,a=n===void 0?0:Math.floor(n.index/i),o=r[(bf(e.variation,t)+a)%r.length];if(o===void 0)throw Error(`decorEntryFor: empty variation`);return{hue:o,shade:vf(e.shade.tones,n,gf)}}function Cf(e,t){let{row:n,cell:r}=yf(t),i=r===void 0?[void 0]:Array.from({length:r.count},(e,t)=>({...r,index:t}));return[...new Map(i.map(t=>Sf(e,n,t)).map(e=>[ef(e.hue,e.shade),e])).values()].sort((e,t)=>Zd.indexOf(e.hue)-Zd.indexOf(t.hue)||wf.indexOf(e.shade)-wf.indexOf(t.shade))}const wf=[...Qd,`muted`];function Tf(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}const Ef=(e,t)=>Tf(e,ef(t.hue,t.shade)),Df=2.2,Of=(e,t)=>t.map(t=>Ef(e,t)),kf=e=>t=>nc(t,e),Af=kf(V.TRUECOLOR);function jf(e,t,n,r){return Mf(e,`${t}|${n.map(e=>e.hex).join(`+`)}|${r}`,()=>Nf(e,t,n,r))}const Mf=Xd();function Nf(e,t,n,r){let i=n.map(Af),a=Tf(e,t),o=new B(0,0,0),s=new B(255,255,255),c=(e,t)=>Us.fromRgba(a).mixAxes(Us.fromRgba(e),{l:t,c:0,h:0,alpha:0}).toRgba(),l=e=>Array.from({length:12},(t,n)=>c(e,(n+1)/12)),u=l(o),d=[a,...l(s).flatMap((e,t)=>[e,u[t]])],f=e=>{let t=kf(e),n=i.map(t);return e=>Math.min(1/0,...n.map(n=>Lo(t(e),n)))},p=f(V.TRUECOLOR),m=f(r),h=e=>tc(e,r,(e,t)=>i.every(n=>Lo(e,t(n))>=Df)),g=e=>p(e)>=2.2&&h(e)!==void 0,_=(e,t)=>{let n=n=>Lo(Af(n),e)-Lo(Af(n),t),r=n(a)<0?o:s,i=r===o?1:-1,[l,u]=[0,1];for(let e=0;e<40;e++){let e=(l+u)/2;i*n(c(r,e))>0?u=e:l=e}return[c(r,l),c(r,u)]},v=()=>{let e=[...i].sort((e,t)=>Io(e)-Io(t));return e.slice(1).flatMap((t,n)=>_(t,e[n]))},y=d.find(g)??[...d,...v()].reduce((e,t)=>m(t)>m(e)?t:e),b=h(y)??y,x=m(b);return{anchor:y,state:b,short:x>=2.2?null:x}}const Pf=4.5;function Ff(e,t,n){return If(e,`${t.hex}|${n}`,()=>{let r=$s(t);return Lf(e,[`background`,`foreground`].map(t=>Tf(e,t)).reduce((e,t)=>Lo(r,t)<Lo(r,e)?t:e),t,n)})}const If=Xd();function Lf(e,t,n,r){return Rf(e,`${t.hex}|${n.hex}|${r}`,()=>ec(t,n,Pf,r))}const Rf=Xd();function zf(e,t,n){return t.depth===0?Of(e,t.ground):Bf(e,t,n)}const Bf=(e,t,n)=>t.depth===0?[]:[Zf(e,{...t,depth:t.depth-1},n).plane],Vf=(e,{short:t},n)=>t===null?[]:[`theme "${e.name}": no open-trigger colour stands ${Df}:1 off every cell beside it — the nearest stands ${t.toFixed(2)}:1 as drawn at depth ${V[n]}; another shade or variation clears it`],Hf=(e,t,n)=>t>=Kf.triggerPlane?[]:[`theme "${e.name}": an open band's plane stands ΔE ${t.toFixed(3)} off the trigger that opened it as drawn at depth ${V[n]}, under the ${Kf.triggerPlane} that tells them apart; another style clears it`],Uf={base:.42,perDepth:.14,cap:.75},Wf={floor:.12,span:.8};function Gf(e,t){return Zd[(Zd.indexOf(e)+t)%Zd.length]}const Kf={triggerPlane:.1,nestedPlane:.035};function qf(e,t,n){return Jf(e,`${Yf(t)}|${n}`,()=>{let r=jf(e,Gf(t.hue,t.depth),zf(e,t,n),n),{state:i}=r,a=tp(e,t,i,n),o=tc(Zf(e,t,n).plane,n,(e,t)=>a.every(n=>n(e,t)));if(o===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 ${V[n]}`);let s=kf(n);return{state:i,plane:o,shortfalls:n===V.DEFAULT?[]:[...Vf(e,r,n),...Hf(e,Xf(s(i),s(o)),n)]}})}const Jf=Xd(),Yf=({hue:e,depth:t,ground:n})=>`${e}|${t}|${n.map(e=>ef(e.hue,e.shade)).join(`+`)}`,Xf=(e,t)=>Us.fromRgba(e).deltaE(Us.fromRgba(t));function Zf(e,t,n){return Qf(e,`${Yf(t)}|${n}`,()=>$f(e,t,n))}const Qf=Xd();function $f(e,t,n){let{anchor:r}=jf(e,Gf(t.hue,t.depth),zf(e,t,n),n),i=Math.min(Uf.cap,Uf.base+Uf.perDepth*t.depth),a=(t,n)=>ms(r,Tf(e,t),n),o=Bf(e,t,n),s=e=>Xf(Af(r),Af(e))>=Kf.triggerPlane&&o.every(t=>Xf(Af(t),Af(e))>=Kf.nestedPlane),c=a(`background`,i);return{state:r,plane:[c,a(`foreground`,i),a(`background`,Uf.cap),a(`foreground`,Uf.cap),...ep.toSorted((e,t)=>Math.abs(e-i)-Math.abs(t-i)).flatMap(e=>[a(`background`,e),a(`foreground`,e)])].find(s)??c}}const ep=Array.from({length:12},(e,t)=>(t+1)/12);function tp(e,t,n,r){let{hue:i,depth:a,ground:o}=t,s=t=>Zf(e,{hue:i,depth:t,ground:o},r).state,c=t=>Zf(e,{hue:i,depth:t,ground:o},r).plane,l=c(a),u=(e,t)=>Xf(Af(l),Af(t))>=e?e:0,d=jf(e,Gf(i,a+1),zf(e,{hue:i,depth:a+1,ground:o},r),r),f=Lo(Af(l),Af(d.anchor))>=2.2?Df:0,p=(e,t)=>(n,r)=>Xf(n,r(e))>=t;return[p(n,u(Kf.triggerPlane,s(a))),(e,t)=>Lo(e,t(d.state))>=f,...a>0?[p(qf(e,{hue:i,depth:a-1,ground:o},r).plane,u(Kf.nestedPlane,c(a-1)))]:[]]}function np(e,t,n,r){let i=qf(e,t,r),a=Zf(e,t,r),o=e=>ms(a.plane,a.state,e),s=Wf.floor+Wf.span*mf(n),c=Wf.floor+Wf.span/2,l=(e,t)=>e.hex!==t(i.plane).hex&&e.hex!==t(i.state).hex;for(let e=0;e<=12;e++){let t=tc(o(s+(c-s)*e/12),r,l);if(t!==void 0)return t}return o(s)}const rp=e=>({kind:`bar`,decor:e,address:[]}),ip=(e,t)=>({...e,address:[...e.address,t]}),ap=e=>({kind:`band`,band:e,address:[]});function op(e,t,n){switch(t.kind){case`bar`:{let{decor:r,address:i}=t,a=xf(r,i),o=Ef(e,a),s;return{tint:o,text:r.shade.text(e,a.hue,o,n),disclosure:{hue:`accent`,depth:0,get ground(){return s??=Cf(r,i)}}}}case`band`:{let{band:r,address:i}=t,a=np(e,r,i,n);return{tint:a,text:Ff(e,a,n),disclosure:{...r,depth:r.depth+1}}}}}const sp=new Map([[`dark`,`textual-dark`],[`light`,`textual-light`]]);function cp(e){let t=typeof e==`string`?sp.get(e):void 0;return t===void 0?``:` — "${e}" was retired; write "${t}", the same palette`}const lp=`textual-dark`;function up(e,t,n,r,i){let a=t===null?null:i(t);return e??a??n??r}function dp(){return Cc()}function fp(){return[`bar`,...dp()]}let pp;function mp(e){return pp??=new Set(fp()),pp.has(e)}function hp(e,t,n,r,i){let a=e=>Object.prototype.hasOwnProperty.call(i,e)?e:null;return up(e===void 0?null:a(e),t,a(n??r),r,a)}const gp=[`style`,`palette`,`effect`];function _p(e){return e!==void 0&&e.includes(`{{`)}function vp(e,t,n,r,i){let a=_p(n)?{kind:`expression`,source:n}:i(n??r.name);return up(e===void 0?null:i(e),t,a,r,i)}function yp(e,t){return e.kind===`decided`?e:t(e.source)}const bp=`none`;function xp(e,t){let n=t[e];return n===void 0?null:{kind:`decided`,name:e,value:n}}function Sp(e,t){return xp(e,t)??xp(`none`,t)??{kind:`decided`,name:`none`,value:Ms}}function Cp(e,t,n,r){return vp(e,t,n,Sp(bp,r),e=>xp(e,r))}const wp=`none`,Tp={style:bp,palette:lp,effect:wp};function Ep(e,t,n){return`${e} rendered "${Tp[t]}": ${n}`}const Dp=Object.freeze([wp,...Object.keys(Fd.loops)]),Op=Object.freeze([`bar`,...Dp]);function kp(e){let t=Dp.find(t=>t===e);return t===void 0?null:{kind:`decided`,name:e,value:t}}function Ap(e){return kp(e)??{kind:`decided`,name:`none`,value:`none`}}function jp(e,t,n){return vp(e,t,n,Ap(wp),kp)}const Mp=Object.freeze(Object.keys(Iu));function Np(e){return Mp.includes(e)}const Pp=[`powerline`,`capsule`,`plain`];function Fp(e){return Pp.includes(e)}function Ip(e,t,n){return up(e,t,n,`powerline`,e=>Np(e)?e:null)}const Lp=[`unicode`,`ascii`];function Rp(e){return[...e].every(e=>e.codePointAt(0)<=127)}const zp=`unicode`,Bp=[`truecolor`,`256`,`ansi`,`none`];function Vp(e){return Xo(e)??V.DEFAULT}const Hp=Object.keys(sf);function Up(e){return Hp.includes(e)}function Wp(e,t,n){return up(e,t,n,`accent`,e=>Up(e)?e:null)}const Gp=Object.keys(af);function Kp(e){return Gp.includes(e)}function qp(e,t,n){return up(e,t,n,`middle`,e=>Kp(e)?e:null)}const Jp=`true`,Yp=`false`,Xp=[Jp,Yp],Zp={min:0,max:16};function Qp(e){return e===`true`?!0:e===`false`?!1:null}function $p(e,t){let n=Number(e);return Number.isInteger(n)&&String(n)===e&&n>=t.min&&n<=t.max?n:null}function em(e){return $p(e,Zp)}function tm(e,t,n){return up(e,t,n,!0,Qp)}function nm(e,t,n){return up(e,t,n,!0,Qp)}function rm(e,t,n){return up(e,t,n,!1,Qp)}function im(e,t,n){return up(e,t,n,1,em)}const am=new tl({"strip.separator":`default`,"strip.rail":`default`});function om(e){return am.resolve(e)}const sm=RegExp(`\\x1b\\[[0-9;]*m|${Pl.source}`,`g`),cm={kind:`still`},lm=Symbol(`bar`);function um(e){return e.name!==wp}function dm(e){return(t,n)=>{let r=e.map(({t:e,effect:t})=>t(e,n));return(e,t)=>r.reduce((e,n)=>n(e,t),e)}}const fm=Mc;function pm(e,t){let n=new hs(t,fm.foregroundColor,fm.ansiColors,fm.palette);return(t,r)=>e(t,{...r,theme:n})}function mm(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619)>>>0;return t/4294967296}const hm=4096;var gm=class{inForce=null;placements=new Map;made=new Map;drawn=null;frame={effect:wp,t:0,made:0,reused:0,own:[],basis:`off`,revision:0,fades:[],leaves:[]};constructor(e){this.key=e}lastFrame(){return this.frame}get heldCount(){let e=[...this.drawn?.placements.values()??[]].filter(({passage:e})=>e!==null).length;return[...this.made.values()].reduce((e,t)=>e+t.size,e)}motion(e,t,n){let r=this.inForce?.name===e?this.inForce:{name:e,since:t},i={scope:lm,name:e,t:t-r.since},a=this.placements,o=new Map,s=this.made,c=new Map,l=[],u=this.drawn,d=n.transitions?u!==null&&u.source.config===n.source.config&&u.source.preset===n.source.preset&&u.source.revision===n.source.revision&&u.source.width===n.source.width?`compared`:`fresh`:`off`,f=d===`compared`?u.placements:null,p=new Map,m=[],h=[],g={effect:e,t:i.t,made:0,reused:0,own:l,basis:d,revision:n.source.revision,fades:m,leaves:h},_=(e,n,{ground:r})=>{let i=Fd.transitions[e]({span:0,z:mm(`${this.key}@${n}`)*hm});return{name:e,since:t,transition:{effect:pm(i.effect,r),done:e=>i.done(e)}}},v=({since:e,transition:n})=>n.done(t-e),y=(e,t,n)=>({drawing:t,passage:f===null?null:n===void 0||n.passage?.name===`dissolve`?_(`fade`,e,t):n.passage!==null&&!v(n.passage)?n.passage:null}),b=(e,t)=>{if(t===void 0||t.drawing.own.length===0)return;if(t.passage?.name===`dissolve`)return v(t.passage)?void 0:t;let r={...t.drawing,own:t.drawing.own.map(n.hold)};return{drawing:r,passage:_(`dissolve`,e,r)}},x=(e,r)=>{if(p.has(e))throw Error(`placement "${e}" was reached twice in one frame`);let i=f?.get(e),{drawing:a,deeper:o}=n.returned(e,r),s=a===null?b(e,i):y(e,a,i);return s===void 0?r:(p.set(e,s),s.passage!==null&&(s.passage.name===`fade`?m:h).push({placement:e,t:t-s.passage.since}),a===null?[...s.drawing.own,...o]:r)},S=(e,n)=>{let r=o.get(e)??a.get(e),i=r?.name===n?r:{name:n,since:t},s=t-i.since;return o.has(e)||(o.set(e,i),l.push({placement:e,effect:n,t:s})),{scope:e,name:n,t:s}},C=(e,t,n)=>{let r=c.get(e)??new Map;c.set(e,r);let i=r.get(t.scope);if(i!==void 0)return i.effect;let a=s.get(e)?.get(t.scope),o=a?.name===t.name&&a.span===n,l=mm(t.scope===lm?e:`${e}@${t.scope}`),u=o?a.effect:Fd.loops[t.name]({span:n,z:l*hm});return g[o?`reused`:`made`]++,r.set(t.scope,{name:t.name,span:n,effect:u}),u},ee=e=>{let t=new Map;for(let{owner:n,placement:r}of e){let e=r.effect===`bar`?i:S(r.id,r.effect),a=t.get(e.scope);a===void 0?t.set(e.scope,{...e,owners:[n]}):a.owners.push(n)}return[...t.values()]},te=e=>{let n=new Map;for(let{owner:t,placement:r}of e){let e=n.get(r.id);e===void 0?n.set(r.id,[t]):e.push(t)}return[...n].flatMap(([e,n])=>{let r=p.get(e)?.passage??null;return r===null?[]:[{t:t-r.since,effect:Wu(r.transition.effect,...n)}]})};return{placed:d===`off`?(e,t)=>t:x,row:(e,t)=>{let n=(t.some(e=>e.placement.effect!==`bar`)?ee(t):[{...i,owners:void 0}]).filter(um),r=te(t);if(n.length===0&&r.length===0)return cm;let a=`${this.key}#${e}`;return{kind:`moving`,wrap:(e,t)=>new Bu(e,dm([...n.map(e=>{let n=C(a,e,t);return{t:e.t,effect:e.owners===void 0?n:Wu(n,...e.owners)}}),...r]),{t:i.t,key:a,theme:fm})}},drawn:()=>{this.inForce=r,this.placements=o,this.made=c,this.drawn=d===`off`?null:{source:n.source,placements:p},this.frame=g}}}},_m=class{sessions=new Map;constructor(e=256){this.maxSessions=e}of(e){let t=this.sessions.get(e)??new gm(e);this.sessions.delete(e),this.sessions.set(e,t);for(let e of this.sessions.keys()){if(this.sessions.size<=this.maxSessions)break;this.sessions.delete(e)}return t}getStats(){let e=0;for(let t of this.sessions.values())e+=t.heldCount;return{sessions:this.sessions.size,effects:e}}};function vm(e){return Math.max(0,...e.split(`
|
|
52
|
+
`).map(e=>z(e.replace(sm,``))))}function ym(e,t){return zu(e,{...t,theme:am,onStyleError:e=>{throw e}})}const bm=new Map;function xm(e){let t=bm.get(e);if(t!==void 0)return t;let n=t=>{let n=t.seam.map(t=>({...t,glyph:e}));return{...t,seam:n,divider:n}},{shape:r,ascii:i}=Iu.plain,a=new bu(n(r),Rp(e)?n(i):i);return bm.set(e,a),a}function Sm(e,t){return e===`plain`&&t!==void 0?xm(t):Iu[e]}const Cm=e=>({asciiOnly:e===`ascii`}),wm=new Map;function Tm(e){let t=JSON.stringify([e.endcaps,e.charset,e.separator??null]),n=wm.get(t);if(n!==void 0)return n;let r=Sm(e.endcaps,e.separator),i=e=>new K(`x`,{end:``,overflow:`ignore`,style:new U({bgcolor:e})}),a=t=>new K(ym(new eu(t,r),{colorSystem:null,...Cm(e.charset)}).replace(/\n$/,``)).cellLength,o=a([i(`#101010`)]),s={chrome:o-1,seam:a([i(`#101010`),i(`#202020`)])-o-1};return wm.set(t,s),s}function Em(e){return Tm(e).chrome}function Dm(e){return Tm(e).seam}function Om(e,t,n=cm){if(e.length===0)return``;let r=Sm(t.endcaps,t.separator),i=t.wrap&&Number.isFinite(t.width),a={colorSystem:t.colorCompatibility,...Cm(t.charset),...i?{width:t.width}:{}},o=i?new Vd([...e],{joiner:r}):new eu([...e],r),s=n.kind===`still`?ym(o,a):ym(n.wrap(o,vm(ym(o,a))),a);if(!s.endsWith(`
|
|
53
|
+
`))throw Error(`renderStripCells: rich-js strip output did not end its last line`);return s.slice(0,-1)}function km(e){return Math.min(20,e??20)}const Am={heading:`ERROR`,glyph:`⚠`,colors:Jd},jm={heading:`WARNING`,glyph:`⚠`,colors:Yd},Mm={heading:`UPDATE`,glyph:`⬆`,colors:Yd};function Nm(e,t){return{text:Ud(e),link:t}}function Pm(e,t,n){let[r,...i]=[Fm(e,Am,bn),t,Fm(n,jm,xn)].flat();return r===void 0?null:{channels:[r,...i]}}function Fm(e,t,n){let r=Vn([{verb:n,args:[e]}]),[i,...a]=e.split(/\r\n|\r|\n/).map(e=>Nm(e,r)).filter(e=>e.text!==``).map(e=>[e]);return i===void 0?[]:[{severity:t,message:e,lines:[i,...a]}]}function Im(e){return e.channels.map(e=>`${e.severity.heading}\n${e.message}\n`).join(`
|
|
54
|
+
`)}function Lm(e,t,n,r){if(t===null)return e;let i=Rm(r),a=t.channels.flatMap(e=>zm(e,i)),o=n.failedConfigFile!==null||a.length>r.rowCap,s=a.slice(0,r.rowCap-Number(o)),c=o?[Bm(t,n,a.length-s.length,i)]:[],l=[...s,...c].join(`
|
|
55
|
+
`);return e?`${l}\n${e}`:l}function Rm(e){return{endcaps:`plain`,separator:``,width:e.width,wrap:!0,padding:0,charset:`unicode`,colorCompatibility:e.colorCompatibility}}function zm(e,t){let n=new U({bgcolor:e.severity.colors.bg,color:e.severity.colors.fg}),r=uo(Math.max(2,t.width-1)),i=(e,t)=>new K(`${e} `,{style:t,end:``,overflow:`ignore`});return e.lines.flatMap((a,o)=>Om([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=>go(e,r)).map(e=>i(e,t))})],t).split(`
|
|
56
|
+
`))}function Bm(e,t,n,r){let{colors:i}=e.channels[0].severity,{fullText:a,failedConfigFile:o}=t,s=new U({bgcolor:i.bg,color:i.fg}),c=(e,t)=>new K(e,{style:t,end:``,overflow:`ignore`}),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: ${Ud(a.reason)}`,s)]:[],u=o===null?[]:[c(`${l.length>0?` · `:``}open `,s),c(Ud(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=K.fromFragments([...d,...p]).truncate(r.width);return m.overflow=`ignore`,Om([m],r)}const Vm=e=>!e.startsWith(`.`)&&!e.endsWith(`~`);function Hm(e,t){return t.isSymbolicLink()?Buffer.from(r.readlinkSync(e)):r.readFileSync(e)}function Um(e,t){return r.readdirSync(t).filter(Vm).sort().flatMap(n=>{let i=l.join(t,n),a=r.lstatSync(i,{throwIfNoEntry:!1});return a===void 0?[]:a.isDirectory()?Um(e,i):[[l.relative(e,i).split(l.sep).join(`/`),Hm(i,a)]]})}function Wm(e){let t=ie.createHash(`sha256`);for(let[n,r]of Um(e,e))t.update(n).update(`\0`).update(r).update(`\0`);return t.digest(`hex`)}const Gm=e=>e.slice(0,7);function Km(e){return l.dirname(l.dirname(e))}function qm(){return{version:Ct,digest:`97e09820d8cd5703f5288fa7ded6e9e89dcb684b3bfde3068ac697c359a493b0`}}function Jm(e){let t=JSON.parse(r.readFileSync(l.join(e,`package.json`),`utf8`)),n=typeof t==`object`&&t?t.version:void 0;if(typeof n!=`string`)throw Error(`${l.join(e,`package.json`)} has no version string`);return n}function Ym(e,t){try{let n=Km(ne(e)),i=l.join(n,`src`);if(!r.existsSync(i))return{kind:`not-source-checkout`};let a=t(),o=Wm(i);return o===a.digest?{kind:`current`,root:n,stamp:a}:{kind:`stale`,root:n,source:{version:Jm(n),digest:o},running:a}}catch(e){return{kind:`unchecked`,reason:e.message}}}var q=class extends Error{constructor(e){super(e),this.name=`BadVerbArgs`}};const Xm=new Map;function Zm(e){let t=$m(e);if(t===null)throw Error(`Palette "${e}" did not resolve in the theme registry — allowed names and the registry are inconsistent`);return t}function Qm(e,t){return e===`bar`?t:Zm(e)}function $m(e){let t=Xm.get(e);if(t!==void 0)return t;let n=wc(e);return n===null?null:(Xm.set(e,n),n)}function eh(e,t){return th(e,`${t.hueShift} ${t.chromaScale} ${t.lightnessScale} ${t.lightnessShift}`,()=>Ic(e,t))}const th=Xd();function nh(e){let t=$m(e);return t===null?null:{kind:`decided`,name:e,value:t}}function rh(e,t,n){let r=nh(e);return r===null?(n(Ep(t,`palette`,`"${e}" names no installed theme${cp(e)}`)),ah()):r}function ih(e,t,n){return vp(e,t,n,ah(),nh)}function ah(){return{kind:`decided`,name:lp,value:Zm(lp)}}const oh=[`vertical`,`horizontal`],sh={vertical:`row`,horizontal:`cell`};function ch(e){return e.id??e.name}function lh(e){return[...fh(e)].flatMap(e=>e.kind===`segment`?[ch(e)]:[])}function uh(e,t){if(!t.has(e))return e;let n=2;for(;t.has(`${e}-${n}`);)n++;return`${e}-${n}`}function dh(e,t){return e.opens===void 0?e:{...e,opens:{...e.opens,body:t(e.opens.body)}}}function*fh(e){yield e;for(let t of gh(e))yield*fh(t)}const ph=(e,t)=>`${e}.children[${t}]`,mh=e=>`${e}.opens.body`;function*hh(e,t){if(yield[e,t],e.kind===`container`)for(let[n,r]of e.children.entries())yield*hh(r,ph(t,n));else e.opens!==void 0&&(yield*hh(e.opens.body,mh(t)))}function gh(e){return e.kind===`container`?e.children:e.opens===void 0?[]:[e.opens.body]}const _h=[`shade`,`variation`,`style`];function vh(e){return e===void 0||`text`in e?`text`:`regex`in e?`regex`:`json`}const yh=[`ttl`,`watch_file`,`depends_on`,`key`,`never`];function bh(e){return e.kind===`file`||e.kind===`shell`}const xh=[`branch`,`sha`,`dirty`,`ahead`,`behind`,`stash`],Sh=`theme`,Ch=`effect`,wh=[Sh,Ch];function Th(e){return{...e.settings,[Sh]:{label:Sh,domain:`theme`,default:e.palette??`bar`},[Ch]:{label:Ch,domain:Op,default:`bar`}}}function Eh(e){let t=e?.domain;return typeof t==`object`&&`min`in t?t:void 0}function Dh(e,t){return Object.entries(e).flatMap(([n,r])=>{let i=Eh(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 Oh(e,t){let{domain:n}=e;return n===`bool`?typeof t==`boolean`:n===`theme`?typeof t==`string`&&mp(t):`min`in n?typeof t==`number`&&Number.isInteger(t)&&t>=n.min&&t<=n.max:typeof t==`string`&&n.includes(t)}function kh(e){return String(e)}function Ah(e,t){let{domain:n}=e;if(typeof n==`object`&&`min`in n)return $p(t,n)??void 0;let r=n===`bool`?t===`true`?!0:t===`false`?!1:t:t;return Oh(e,r)?r:void 0}function jh(e,t,n,r){let i=e.settings?.[t]??n.default,a=e.drafts?.[t],o=a===void 0?null:r(a);return(o===null?void 0:Ah(n,o))??i}function Mh(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 Nh=[`left`,`center`,`right`],Ph=[`right`,`left`,`middle`],Fh=/^[A-Za-z_][A-Za-z0-9_]*$/;function Ih(e){return`#${e+1}`}const Lh={rows:{}};function Rh(e){return`rows`in e}function zh(e){return Object.fromEntries(e.map((e,t)=>[Ih(t),e]))}function Bh(e){if(e.kind===`container`&&e.direction===`vertical`){let{kind:t,direction:n,children:r,...i}=e;return{...i,rows:zh(r)}}let{when:t,...n}=e;return{...t!==void 0&&{when:t},rows:zh([n])}}function Vh(e){let{rows:t,...n}=e;return{kind:`container`,direction:`vertical`,children:Object.values(t),...n}}function Hh(e){return Rh(e)?Vh(e):e}function*Uh(e,t){if(!Rh(e)){yield*hh(e,t);return}yield[Vh(e),t];for(let[n,r]of Object.entries(e.rows))yield*hh(r,`${t}.rows.${n}`)}function Wh(e,t){return Rh(e)?{...t,...e,rows:{...t.rows,...e.rows}}:Bh(e)}function Gh(e){if(!Rh(e))return!0;let{rows:t,...n}=e;return Object.values(n).some(e=>e!==void 0)||Object.keys(t).length>0}const Kh=`default`,qh={};function Jh(e){return[...new Set([Kh,...Object.keys(e)])]}function Yh(e,t,n){return hp(void 0,e,t,Kh,n)}function Xh(e,t){let n={[Kh]:qh,...e}[t];if(n===void 0)throw Error(`Preset "${t}" is not declared in this config — effectivePresetName collapses unknown names to "${Kh}", which always resolves; a miss here means a raw name reached this function without going through that resolution`);return n}function Zh(e,t){let n=Xh(e.presets,t).root??Lh;return{node:Vh(Wh(n,e.root)),path:Gh(n)?`presets.${t}.root`:`root`}}function Qh(e,t){return{...e.globals,...Xh(e.presets,t).globals}}const $h=new Map;function eg(e,t,n){$h.set(e,{permanent:!0,resolve:t,paletteOf:n})}eg(`themes`,()=>dp(),e=>Zm(e));const tg=`placementThemes`;eg(tg,fp,(e,t)=>Qm(e,t.palette)),eg(`endcaps`,()=>Mp),eg(`variations`,()=>Hp),eg(`shades`,()=>Gp),eg(`charsets`,()=>Lp),eg(`colorCompatibilities`,()=>Bp);function ng(e){return new Map([[`styles`,{members:Object.keys(e.styles),paletteOf:(t,n)=>eh(n.basePalette,e.styles[t])}],[`presets`,{members:Jh(e.presets)}]])}function rg(e){return[...new Set([...$h.keys(),...e.keys()])]}function ig(e,t){if(typeof e!=`string`)return{members:e};let n=t.get(e);if(n)return n;let r=$h.get(e);if(r)return{members:r.resolve(),paletteOf:r.paletteOf};throw Error(og(e,t))}const ag=new Map([[`looks`,`styles`],[`progressions`,`variations`]]);function og(e,t){let n=ag.get(e);return`unknown option domain "${e}"${n===void 0?``:` — it was renamed "${n}"; write from: "${n}"`} (have: ${rg(t).join(`, `)})`}const sg=/"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|`[^`]*`/g;function*cg(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 lg=`[A-Za-z_]\\w*(?:\\.[A-Za-z_]\\w*)*`,ug=RegExp(`^(?:(\\$)(?:\\.(${lg}))?|\\.(${lg})?)(?=[\\s)]|$)`);function dg(e,t,n){let r=ug.exec(e.trimStart());if(r===null)return null;let[i,a]=r[1]===void 0?[t,r[3]]:[n,r[2]];return i===null?null:a===void 0?i:`${i}${a}.`}const fg=/^(\w+)\b\s*([\s\S]*)$/;function*pg(e,t){let n=[t];for(let r of cg(e)){let e=r.replace(/^-(?=\s)/,``).trim(),[,i=``,a=``]=fg.exec(e)??[],o=n[n.length-1],s=n.length>1?n[n.length-2]:o;if(i===`end`){n.length>1&&n.pop();continue}if(i===`else`){yield{code:e,dot:s};let r=/^with\b([\s\S]*)$/.exec(a);n[n.length-1]=r===null?s:dg(r[1],s,t);continue}yield{code:e,dot:o},i===`if`&&n.push(o),i===`with`&&n.push(dg(a,o,t)),(i===`range`||i===`define`||i===`block`)&&n.push(null)}}const mg=/(?<![.$])\btemplate\s+$/;function*hg(e,t,n){let r=0;for(let i of[...e.matchAll(sg)]){let a=i.index+i[0].length;mg.test(e.slice(r,i.index))&&(yield{name:i[0].slice(1,-1),at:dg(e.slice(a),t,n)}),r=a}}function*gg(e,t){let n=new Set;function*r(e,i,a,o){for(let{code:s,dot:c}of[...pg(e,i)]){yield{code:s,dot:c,root:i,via:a};for(let e of[...hg(s,c,i)]){let i=Object.hasOwn(t,e.name)?t[e.name]:void 0,a=`${e.name}\0${e.at??`\0`}`;i===void 0||o.has(e.name)||n.has(a)||(n.add(a),yield*r(i,e.at,e.name,new Set([...o,e.name])))}}}yield*r(e,``,null,new Set)}const _g=RegExp(`(?<![A-Za-z0-9_)$])(\\$?)\\.(${lg})`,`g`);function*vg({code:e,dot:t,root:n}){let r=e.replace(sg,``);for(let e of[...r.matchAll(_g)]){let r=e[1]===`$`?n:t;r!==null&&(yield`${r}${e[2]}`)}}function yg(e,t){let n=new Map;for(let r of gg(e,t))for(let e of vg(r))n.has(e)||n.set(e,r.via);return n}const bg=/(?<![.$])\b(action|picker|menu|carousel|swatches|swatch|themePreview)\s+$/,xg={action:1,picker:2,menu:1,carousel:2,swatch:1,swatches:2,themePreview:1};function*Sg(e){let t=0,n=0,r=0,i=`action`;for(let a of[...e.matchAll(sg)]){let o=e.slice(t,a.index),s=bg.exec(o);if(s!==null)n=xg[s[1]],r=0,i=s[1]===`action`?`action`:`options`;else for(let e of o)e===`(`&&r++,e===`)`&&r--,(r<0||e===`|`&&r===0)&&(n=0);n>0&&r===0&&(yield{name:a[0].slice(1,-1),site:i},n--),t=a.index+a[0].length}}function Cg(e,t){let n=new Map;for(let{code:r,via:i}of gg(e,t))for(let{name:e,site:t}of Sg(r)){let r=`${e}\0${i??`\0`}`;n.has(r)||n.set(r,{name:e,site:t,via:i})}return[...n.values()]}function wg(e,t){return new Set([...Tg(e,t)].filter(e=>Object.hasOwn(t,e)))}function Tg(e,t){let n=new Set;for(let{code:r,dot:i,root:a}of gg(e,t))for(let{name:e}of hg(r,i,a))n.add(e);return n}function Eg(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 Dg(e){let t=new Set,n=new Set,r=(e,r)=>{t.add(e),Og(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 Og(e){return e.kind===`dropped`||(e.kind===`shell`||e.kind===`file`)&&vh(e.parse)===`json`}function kg(e){let t=l.basename(e),n=l.dirname(e);for(;;){let r=Ag(n);if(r!==null)return{dir:r,name:t,leaf:n===l.dirname(e)};t=l.basename(n),n=l.dirname(n)}}function Ag(e){try{return r.statSync(e).isDirectory()?r.realpathSync(e):null}catch{return null}}var jg=ye((e=>{function t(e,...t){throw Error(`[MobX] minified error nr: ${e}${t.length?` `+t.map(String).join(`,`):``}. See mobx.js.org/errors`)}function n(e){let t=!1;return function(){if(!t)return t=!0,e.apply(this,arguments)}}function r(e){return typeof e==`function`}function i(e){switch(typeof e){case`string`:case`symbol`:case`number`:return!0}return!1}function a(e){return typeof e==`object`&&!!e}function o(e){if(!a(e))return!1;let t=Object.getPrototypeOf(e);if(t==null)return!0;let n=p(t,`constructor`)&&t.constructor;return typeof n==`function`&&n.toString()===Bt}function s(e){let t=e?.constructor;return!!t&&(t.name===`GeneratorFunction`||t.displayName===`GeneratorFunction`)}function c(e,t,n){It(e,t,{enumerable:!1,writable:!0,configurable:!0,value:n})}function l(e,t){let n=`isMobX`+e;return t.prototype[n]=!0,function(e){return a(e)&&!0===e[n]}}function u(e){return e!=null&&Object.prototype.toString.call(e)===`[object Map]`}function d(e){return e!=null&&Object.prototype.toString.call(e)===`[object Set]`}function f(e){return e===null?null:typeof e==`object`?``+e:e}function p(e,t){return Lt.hasOwnProperty.call(e,t)}function m(e,t){return!!(e&t)}function h(e,t,n){return n?e|=t:e&=~t,e}function g(e,t=Vt,n=Vt){let r=new Wt(e);return t!==Vt&&(r.onBOL=new Set([t])),n!==Vt&&(r.onBUOL=new Set([n])),r}function _(e,t){return At(e,t)}function v(e,t,n){return e===null||typeof e!=`object`&&typeof e!=`function`||tt(e)?e:Array.isArray(e)?sn.array(e,{name:n}):o(e)?sn.object(e,void 0,{name:n}):u(e)?sn.map(e,{name:n}):d(e)?sn.set(e,{name:n}):typeof e!=`function`||We(e)||Qe(e)?e:s(e)?Wn(e):In(n,e)}function y(e){return e}function b(e,t){return{t:e,i:t,o:x,u:S}}function x(e,t,n,r){var i;return(i=this.i)!=null&&i.bound?this.u(e,t,n,!1)===null?0:1:r===e.h?this.u(e,t,n,!1)===null?0:2:We(n.value)?1:(It(r,t,ee(e,this,t,n,!1)),2)}function S(e,t,n,r){let i=ee(e,this,t,n);return e.l(t,i,r)}function C(e,n,r){let{kind:i,name:a,addInitializer:o}=r,s=e,c=e=>{var t;return ye(s.i?.name??a.toString(),e,(t=s.i?.autoAction)!=null&&t)};return i==`field`?function(e){var t;let n=e;return We(n)||(n=c(n)),(t=s.i)!=null&&t.bound&&(n=n.bind(this),n.isMobxAction=!0),n}:i==`method`?(We(n)||(n=c(n)),(l=s.i)!=null&&l.bound&&o(function(){let e=this,t=e[a].bind(e);t.isMobxAction=!0,e[a]=t}),n):void t(43,s.t,String(a),i);var l}function ee(e,t,n,r,i=P.safeDescriptors){var a,o,s;let{value:c}=r;return(a=t.i)!=null&&a.bound&&(c=c.bind(e.v??e.h)),{value:ye(t.i?.name??n.toString(),c,(o=t.i?.autoAction)!=null&&o,(s=t.i)!=null&&s.bound?e.v??e.h:void 0),configurable:!i||e.p,enumerable:!1,writable:!i}}function te(e,t){return{t:e,i:t,o:ne,u:re}}function ne(e,t,n,r){var i;return r===e.h?this.u(e,t,n,!1)===null?0:2:(i=this.i)!=null&&i.bound&&(!p(e.h,t)||!Qe(e.h[t]))&&this.u(e,t,n,!1)===null?0:Qe(n.value)?1:(It(r,t,ae(e,0,0,n,!1,!1)),2)}function re(e,t,n,r){let i=ae(e,0,0,n,this.i?.bound);return e.l(t,i,r)}function ie(e,t,n){var r;let{name:i,addInitializer:a}=n;return Qe(t)||(t=Wn(t)),(r=e.i)!=null&&r.bound&&a(function(){let e=this,t=e[i].bind(e);t.isMobXFlow=!0,e[i]=t}),t}function ae(e,t,n,r,i,a=P.safeDescriptors){let{value:o}=r;return Qe(o)||(o=Wn(o)),i&&(o=o.bind(e.v??e.h),o.isMobXFlow=!0),{value:o,configurable:!a||e.p,enumerable:!1,writable:!a}}function w(e,t){return{t:e,i:t,o:T,u:oe}}function T(e,t,n){return this.u(e,t,n,!1)===null?0:1}function oe(e,t,n,r){return e.m(t,Pt({},this.i,{get:n.get,set:n.set}),r)}function E(e,t,n){function r(e){let n=Pt({},i.i,{get:t,context:e});return n.name||=`ObservableObject.${a.toString()}`,new yn(n)}let i=e,{name:a,addInitializer:o}=n,s;return o(function(){let e=Ct(this)[j],n=this,i=e.j.get(a);i instanceof yn&&i.derivation!==t&&e.j.delete(a),(e.O??=new Map).set(a,()=>r(n))}),function(){let e=this[j],n=e.j.get(a);if(n instanceof yn&&n.derivation!==t){let e=s?.get(this);return e||(e=r(this),(s??=new WeakMap).set(this,e)),e.get()}return e._(a)}}function se(e,t){return{t:e,i:t,o:ce,u:le}}function ce(e,t,n){return this.u(e,t,n,!1)===null?0:1}function le(e,t,n,r){return e.S(t,n.value,this.i?.A??v,r)}function ue(e,t,n){function r(e,t){let n=Ct(e)[j];return(n.V??=new Map).set(o,()=>new _n(t,i.i?.A??v,`ObservableObject.${o.toString()}`,!1)),n}let i=e,{kind:a,name:o}=n;if(a===`accessor`)return{get(){return(this[j]??r(this,t.get.call(this)))._(o)},set(e){return(this[j]??r(this,e)).M(o,e)},init(e){return r(this,e),e}}}function de(e){return{t:Jt,i:e,o:fe,u:pe}}function fe(e,t,n,r){var i,a,o;if(n.get)return dn.o(e,t,n,r);if(n.set){let i=We(n.set)?n.set:ye(t.toString(),n.set);return r===e.h?e.l(t,{configurable:!P.safeDescriptors||e.p,set:i})===null?0:2:(It(r,t,{configurable:!0,set:i}),2)}if(r!==e.h&&typeof n.value==`function`)return s(n.value)?((o=this.i)!=null&&o.autoBind?Gn:Wn).o(e,t,n,r):((a=this.i)!=null&&a.autoBind?Rn:In).o(e,t,n,r);let c=!1===this.i?.deep?nn:sn;return typeof n.value==`function`&&(i=this.i)!=null&&i.autoBind&&(n.value=n.value.bind(e.v??e.h)),c.o(e,t,n,r)}function pe(e,t,n,r){var i;return n.get?dn.u(e,t,n,r):n.set?e.l(t,{configurable:!P.safeDescriptors||e.p,set:ye(t.toString(),n.set)},r):(typeof n.value==`function`&&(i=this.i)!=null&&i.autoBind&&(n.value=n.value.bind(e.v??e.h)),(!1===this.i?.deep?nn:sn).u(e,t,n,r))}function me(e,t){return Pt(function(n,r){if(r&&typeof r.kind==`string`)return t(e,n,r)},e)}function he(e){return e||Xt}function ge(e){return me(e,ue)}function _e(e){return!0===e.deep?v:!1===e.deep?y:(t=e.defaultDecorator)&&(n=(r=t.i)?.A)!=null?n:v;var t,n,r}function ve(e){return me(e,E)}function ye(e,t,n=!1,r){function i(){return be(0,n,t,r||this,arguments)}return i.isMobxAction=!0,i.toString=()=>t.toString(),hn&&(gn.value=e,It(i,`name`,gn)),i}function be(e,t,n,r,i){let a=xe(0,t);try{return n.apply(r,i)}catch(e){throw a.N=e,e}finally{D(a)}}function xe(e,t){let n=P.trackingDerivation,r=!t||!n;Pe();let i=P.allowStateChanges;r&&Oe();let a={R:r,k:n,C:i,I:P.allowStateReads,P:!1,T:0,B:mn++,D:pn};return pn=a.B,a}function D(e){pn!==e.B&&t(30),pn=e.D,e.N!==void 0&&(P.suppressReactionErrors=!0),Fe(),e.R&&ke(e.k),P.suppressReactionErrors=!1}function Se(e,t){let n=function(e){let t=P.allowStateChanges;return P.allowStateChanges=e,t}(e);try{return t()}finally{(function(e){P.allowStateChanges=e})(n)}}function Ce(e){return e instanceof bn}function we(e){switch(e.K){case 0:return!1;case-1:case 2:return!0;case 1:{let t=Oe(),n=e.L,r=n.length;for(let i=0;i<r;i++){let r=n[i];if(N(r)){if(P.disableErrorBoundaries)r.get();else try{r.get()}catch{return ke(t),!0}if(e.K===2)return ke(t),!0}}return Ae(e),ke(t),!1}}}function Te(e,t,n){Ae(e),e.$=Array(e.U===0?100:e.L.length),e.W=0,e.U=++P.runId;let r=P.trackingDerivation,i;if(P.trackingDerivation=e,P.inBatch++,!0===P.disableErrorBoundaries)i=t.call(n);else try{i=t.call(n)}catch(e){i=new bn(e)}return P.inBatch--,P.trackingDerivation=r,function(e){let t=e.L,n=e.L=e.$,r=0,i=0,a=e.W;for(let e=0;e<a;e++){let t=n[e];t.diffValue===0&&(t.diffValue=1,i!==e&&(n[i]=t),i++),t.K>r&&(r=t.K)}for(n.length=i,e.$=null,a=t.length;a--;){let n=t[a];n.diffValue===0&&Me(n,e),n.diffValue=0}for(;i--;){let t=n[i];t.diffValue===1&&(t.diffValue=0,je(t,e))}r!==0&&(e.K=r,e.q())}(e),i}function Ee(e){let t=e.L;e.L=[];let n=t.length;for(;n--;)Me(t[n],e);e.K=-1}function De(e){let t=Oe();try{return e()}finally{ke(t)}}function Oe(){let e=P.trackingDerivation;return P.trackingDerivation=null,e}function ke(e){P.trackingDerivation=e}function Ae(e){if(e.K===0)return;e.K=0;let t=e.L,n=t.length;for(;n--;)t[n].F=0}function je(e,t){(e.H??=new Set).add(t),e.F>t.K&&(e.F=t.K)}function Me(e,t){let n=e.H;n&&(n.delete(t),n.size===0&&Ne(e))}function Ne(e){!1===e.isPendingUnobservation&&(e.isPendingUnobservation=!0,P.pendingUnobservations.push(e))}function Pe(){P.inBatch++}function Fe(){--P.inBatch===0&&(ze(),!P.isRunningUnobservations&&P.pendingUnobservations.length>0&&function(){P.isRunningUnobservations=!0;try{let e=P.pendingUnobservations;for(let t=0;t<e.length;t++){let n=e[t];n.isPendingUnobservation=!1,n.H&&n.H.size!==0||(n.H=null,n.isBeingObserved&&(n.isBeingObserved=!1,n.onBUO()),n instanceof yn&&n.G())}P.pendingUnobservations=[]}finally{P.isRunningUnobservations=!1}}())}function Ie(e){var t;e.isBeingObserved||(e.isBeingObserved=!0,e.onBO(),(t=e.L)==null||t.forEach(Ie))}function Le(e){let t=P.trackingDerivation;return t===null?((!e.H||e.H.size===0)&&P.inBatch>0&&Ne(e),!1):(t.U!==e.J&&(e.J=t.U,t.$[t.W++]=e,!e.isBeingObserved&&P.trackingContext&&(e.isBeingObserved=!0,e.onBO())),e.isBeingObserved)}function Re(e){var t;e.F!==2&&(e.F=2,(t=e.H)==null||t.forEach(e=>{e.K===0&&e.q(),e.K=2}))}function ze(){P.inBatch>0||P.isRunningReactions||Dn(Be)}function Be(){P.isRunningReactions=!0;let e=P.pendingReactions,t=0;for(;e.length>0;){++t===En&&(console.error(`[mobx] cycle in reaction: ${e[0]}`),e.splice(0));let n=e.splice(0);for(let e=0,t=n.length;e<t;e++)n[e].X()}P.isRunningReactions=!1}function Ve(e){return me(e,C)}function He(e){return function(t,n){return n&&typeof n.kind==`string`?C(e?Nn:jn,t,n):r(t)?ye(t.name||`<unnamed action>`,t,e):r(n)?ye(t,n,e):i(t)?Ve(b(e?An:kn,{name:t,autoAction:e})):void 0}}function Ue(e){return be(0,!1,e,this,void 0)}function We(e){return r(e)&&!0===e.isMobxAction}function Ge(e,t=zt){function n(){e(a)}var r;let i=t?.name??`Autorun`,a;if(t.scheduler||t.delay){let e=Ke(t),r=!1;a=new Tn(i,()=>{r||(r=!0,e(()=>{r=!1,a.isDisposed||a.track(n)}))},t.onError,t.requiresObservable)}else a=new Tn(i,function(){this.track(n)},t.onError,t.requiresObservable);return t!=null&&(r=t.signal)!=null&&r.aborted||a.Y(),a.Z(t?.signal)}function Ke(e){return e.scheduler?e.scheduler:e.delay?t=>setTimeout(t,e.delay):zn}function qe(e,t,n,i){let a=typeof i==`function`?Et(t,n):Et(t),o=r(i)?i:n,s=`${e}L`;return a[s]?a[s].add(o):a[s]=new Set([o]),function(){let e=a[s];e&&(e.delete(o),e.size===0&&delete a[s])}}function Je(e,t,n,r){let i=Ut(t);return kt(()=>{let t=Ct(e,r)[j];Ht(i).forEach(e=>{t.u(e,i[e],!n||!(e in n)||n[e])})}),e}function Ye(e){let t={name:e.tt};var n;return e.L&&e.L.length>0&&(t.dependencies=(n=e.L,Array.from(new Set(n))).map(Ye)),t}function Xe(e){let t={name:e.tt};return function(e){return!!e.H&&e.H.size>0}(e)&&(t.observers=Array.from(function(e){return e.H??new Set}(e),Xe)),t}function Ze(e){r(e.cancel)&&e.cancel()}function Qe(e){return!0===e?.isMobXFlow}function $e(e,t){var n;if(t===void 0)return N(e);if(!1===Tt(e))return!1;let r=e[j];return(n=r.O)!=null&&n.has(t)?!0:r.j.has(t)?N(Et(e,t)):!1}function et(e,t){if(!e)return!1;if(t!==void 0){if(Tt(e)){var n,r;let i=e[j];return i.j.has(t)||!((n=i.O)==null||!n.has(t))||!((r=i.V)==null||!r.has(t))}return!1}return Tt(e)||!!e[j]||Gt(e)||On(e)||N(e)}function tt(e){return et(e)}function nt(e){return Tt(e)?e[j].nt():rr(e)||or(e)?Array.from(e.keys()):bt(e)?e.map((e,t)=>t):void t(5)}function rt(e,n){return Tt(e)?e[j].et(n):rr(e)||or(e)?e.has(n):bt(e)?n>=0&&n<e.length:void t(10)}function it(e){if(Tt(e))return e[j].it();t(38)}function at(e,t,n){if(N(e)){let r,i=!0;return Ge(()=>{let a=e.get();if(!i||n){let n=Oe();t({observableKind:`computed`,debugObjectName:e.tt,type:Yn,object:e,newValue:a,oldValue:r}),ke(n)}i=!1,r=a})}return n&&t({observableKind:`value`,debugObjectName:e.tt,object:e,type:Yn,newValue:e.rt,oldValue:void 0}),mt(e,t)}function ot(e,t,n){return e.set(t,n),n}function st(e,t){if(typeof e!=`object`||!e||e instanceof Date||!tt(e))return e;if(vn(e)||N(e))return st(e.get(),t);if(t.has(e))return t.get(e);if(bt(e)){let n=ot(t,e,Array(e.length));return e.forEach((e,r)=>{n[r]=st(e,t)}),n}if(or(e)){let n=ot(t,e,new Set);return e.forEach(e=>{n.add(st(e,t))}),n}if(rr(e)){let n=ot(t,e,new Map);return e.forEach((e,r)=>{n.set(r,st(e,t))}),n}{let n=ot(t,e,{});return it(e).forEach(r=>{Lt.propertyIsEnumerable.call(e,r)&&(n[r]=st(e[r],t))}),n}}function ct(e,t){Pe();try{return e.apply(t)}finally{Fe()}}function lt(e,t,n){let r;if(typeof n.timeout==`number`){let e=Error(`WHEN_TIMEOUT`);r=setTimeout(()=>{if(!a[j].isDisposed){if(a(),!n.onError)throw e;n.onError(e)}},n.timeout)}n.name=`When`;let i=ye(`When-effect`,t);var a=Ge(t=>{Se(!1,e)&&(t.dispose(),r&&clearTimeout(r),i())},n);return a}function ut(e){return e[j]}function dt(e){return e.st!==void 0&&e.st.length>0}function ft(e,t){let r=e.st;return r?r.push(t):r=e.st=[t],n(()=>{let e=r.indexOf(t);e!==-1&&r.splice(e,1)})}function O(e,n){let r=Oe();try{let r=[...e.st||[]];for(let e=0,i=r.length;e<i&&((n=r[e](n))&&!n.type&&t(14),n);e++);return n}finally{ke(r)}}function pt(e){return e.ot!==void 0&&e.ot.length>0}function mt(e,t){let r=e.ot;return r?r.push(t):r=e.ot=[t],n(()=>{let e=r.indexOf(t);e!==-1&&r.splice(e,1)})}function ht(e,t){let n=Oe(),r=e.ot;if(r){r=r.slice();for(let e=0,n=r.length;e<n;e++)r[e](t);ke(n)}}function gt(e,n,r){if(!0===r&&(r=e.ut),!1===r)return;n in e.h||t(1,r.t,`${e.tt}.${n.toString()}`);let i=e.h;for(;i&&i!==Lt;){let t=Ft(i,n);if(t){let a=r.o(e,n,t,i);if(a===0)return;if(a===1)break}i=Object.getPrototypeOf(i)}}function k(e,t){typeof Array.prototype[e]==`function`&&(Qn[e]=t(e))}function _t(e){return function(){let t=this[j];t.ct.reportObserved();let n=t.ht(t.j);return n[e].apply(n,arguments)}}function vt(e){return function(t,n){let r=this[j];return r.ct.reportObserved(),r.ht(r.j)[e]((e,r)=>t.call(n,e,r,this))}}function yt(e){return function(){let t=this[j];t.ct.reportObserved();let n=t.ht(t.j),r=arguments[0];return arguments[0]=(e,t,n)=>r(e,t,n,this),n[e].apply(n,arguments)}}function bt(e){return a(e)&&$n(e[j])}function xt(e){return e[Symbol.toStringTag]=`MapIterator`,A(e)}function St(e){return e[Symbol.toStringTag]=`SetIterator`,A(e)}function Ct(e,t){if(p(e,j))return e;let n=t?.name??`ObservableObject`;return c(e,j,new lr(e,new Map,String(n),function(e){return e?e.defaultDecorator??function(e){let t=!1!==e.deep,n=!!e.autoBind,r=!t|(n?2:0);return M[r]??(M[r]=de({deep:t,autoBind:n}))}(e):void 0}(t))),e}function wt(e){return sr[e]||(sr[e]={get(){return this[j]._(e)},set(t){return this[j].M(e,t)}})}function Tt(e){return!!a(e)&&ur(e[j])}function Et(e,n){if(typeof e==`object`&&e){if(bt(e))return n!==void 0&&t(23),e[j].ct;if(or(e))return e.ct;if(rr(e)){if(n===void 0)return e.lt;let r=e.ft.get(n)||e.dt.get(n);return r||t(25,n,Ot(e)),r}if(Tt(e)){if(!n)return t(26);let r=e[j],i=r.j.get(n)??r.vt(n)??r.bt(n);return i||t(27,n,Ot(e)),i}if(Gt(e)||N(e)||On(e))return e}else if(r(e)&&On(e[j]))return e[j];t(28)}function Dt(e,n){return e||t(29),n===void 0?Gt(e)||N(e)||On(e)||rr(e)||or(e)?e:e[j]?e[j]:void t(24,e):Dt(Et(e,n))}function Ot(e,t){let n;if(t!==void 0)n=Et(e,t);else{if(We(e))return e.name;n=Tt(e)||rr(e)||or(e)?Dt(e):Et(e)}return n.tt}function kt(e){let t=Oe();Pe();try{return e()}finally{Fe(),ke(t)}}function At(e,t,n=-1){return jt(e,t,n)}function jt(e,t,n,i,a){if(e===t)return e!==0||1/e==1/t;if(e==null||t==null)return!1;if(e!=e)return t!=t;let o=typeof e;if(o!==`function`&&o!==`object`&&typeof t!=`object`)return!1;let s=dr.call(e);if(s!==dr.call(t))return!1;switch(s){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++}e=Mt(e),t=Mt(t);let c=s===`[object Array]`;if(!c){if(typeof e!=`object`||typeof t!=`object`)return!1;let n=e.constructor,i=t.constructor;if(n!==i&&!(r(n)&&n instanceof n&&r(i)&&i instanceof i)&&`constructor`in e&&`constructor`in t)return!1}if(n===0)return!1;n<0&&(n=-1),a||=[];let l=(i||=[]).length;for(;l--;)if(i[l]===e)return a[l]===t;if(i.push(e),a.push(t),c){if(l=e.length,l!==t.length)return!1;for(;l--;)if(!jt(e[l],t[l],n-1,i,a))return!1}else{let r=Object.keys(e),o=r.length;if(Object.keys(t).length!==o)return!1;for(let s=0;s<o;s++){let o=r[s];if(!p(t,o)||!jt(e[o],t[o],n-1,i,a))return!1}}return i.pop(),a.pop(),!0}function Mt(e){return bt(e)?e.slice():u(e)||rr(e)||d(e)||or(e)?Array.from(e.entries()):e}function A(e){return e[Symbol.iterator]=Nt,Pt(Object.create(fr),e)}function Nt(){return this}Object.defineProperty(e,`__esModule`,{value:!0});let Pt=Object.assign,Ft=Object.getOwnPropertyDescriptor,It=Object.defineProperty,Lt=Object.prototype,Rt=[];Object.freeze(Rt);let zt={};Object.freeze(zt);let Bt=Object.toString(),Vt=()=>{},Ht=Reflect.ownKeys,Ut=Object.getOwnPropertyDescriptors,j=Symbol(`mobx administration`);var Wt=class{constructor(e=`Atom`){this.tt=void 0,this.yt=0,this.H=null,this.J=0,this.F=-1,this.onBOL=void 0,this.onBUOL=void 0,this.tt=e}get isBeingObserved(){return m(this.yt,1)}set isBeingObserved(e){this.yt=h(this.yt,1,e)}get isPendingUnobservation(){return m(this.yt,2)}set isPendingUnobservation(e){this.yt=h(this.yt,2,e)}get diffValue(){return+!!m(this.yt,4)}set diffValue(e){this.yt=h(this.yt,4,e===1)}onBO(){this.onBOL&&this.onBOL.forEach(e=>e())}onBUO(){this.onBUOL&&this.onBUOL.forEach(e=>e())}reportObserved(){return Le(this)}reportChanged(){Pe(),Re(this),Fe()}toString(){return this.tt}};let Gt=l(`Atom`,Wt),Kt=Object.is,qt={t:`override`,o:function(){return 0},u:function(){t(44,this.t)}},Jt=`true`,Yt=de(),M=[Yt],Xt={deep:!0,name:void 0,defaultDecorator:void 0};Object.freeze(Xt);let Zt=se(`observable`),Qt=se(`observable.ref`,{A:y}),$t=se(`observable.shallow`,{A:function(e,t,n){return e==null||Tt(e)||bt(e)||rr(e)||or(e)?e:Array.isArray(e)?sn.array(e,{name:n,deep:!1}):o(e)?sn.object(e,void 0,{name:n,deep:!1}):u(e)?sn.map(e,{name:n,deep:!1}):d(e)?sn.set(e,{name:n,deep:!1}):void 0}}),en=se(`observable.struct`,{A:function(e,t){return At(e,t)?t:e}}),tn={box(e,t){let n=he(t);return new _n(e,_e(n),n.name,!0,n.equals)},array(e,t){let n=he(t);return function(e,t,n=`ObservableArray`,r=!1){return kt(()=>{let i=new Zn(n,t,r);It(i.j,j,{enumerable:!1,writable:!1,configurable:!0,value:i});let a=new Proxy(i.j,Xn);return i.v=a,e&&e.length&&i.wt(0,0,e),a})}(e,_e(n),n.name)},map(e,t){let n=he(t);return new nr(e,_e(n),n.name)},set(e,t){let n=he(t);return new ar(e,_e(n),n.name)},object:(e,t,n)=>kt(()=>Je(function(e,t){var n;return(n=(e=Ct(e,t))[j]).v??(n.v=new Proxy(e,Kn))}({},n),e,t))},nn=ge(Qt),rn=ge($t),an=ge(Zt),on=ge(en);var sn=Pt(function(e,t,n){return t&&typeof t.kind==`string`?ue(Zt,e,t):tt(e)?e:o(e)?sn.object(e,t,n):Array.isArray(e)?sn.array(e,t):u(e)?sn.map(e,t):d(e)?sn.set(e,t):typeof e==`object`&&e?e:sn.box(e,t)},Zt,tn);let cn=`computed`,ln=w(cn),un=ve(w(`computed.struct`,{equals:_})),dn=function(e,t){if(t&&typeof t.kind==`string`)return E(ln,e,t);if(o(e))return ve(w(cn,e));let n=o(t)?t:{};return n.get=e,n.name||=e.name||``,new yn(n)};var fn;Pt(dn,ln);let pn=0,mn=1,hn=(fn=Ft(()=>{},`name`)?.configurable)!=null&&fn,gn={value:`action`,configurable:!0,writable:!1,enumerable:!1};var _n=class extends Wt{constructor(e,t,n=`ObservableValue`,r=!0,i=Kt){super(n),this.A=void 0,this.tt=void 0,this.xt=void 0,this.gt=!1,this.st=void 0,this.ot=void 0,this.rt=void 0,this.dehancer=void 0,this.A=t,this.tt=n,this.xt=i,this.rt=t(e,void 0,n)}dehanceValue(e){return this.dehancer===void 0?e:this.dehancer(e)}set(e){(e=this.jt(e))!==P.UNCHANGED&&this.Ot(e)}jt(e){if(dt(this)){let t=O(this,{object:this,type:Yn,newValue:e});if(!t)return P.UNCHANGED;e=t.newValue}return e=this.A(e,this.rt,this.tt),this.xt(this.rt,e)?P.UNCHANGED:e}Ot(e){let t=this.rt;this.rt=e,this.reportChanged(),pt(this)&&ht(this,{type:Yn,object:this,newValue:e,oldValue:t})}get(){return this.reportObserved(),this.dehanceValue(this.rt)}raw(){return this.rt}toJSON(){return this.get()}toString(){return`${this.tt}[${this.rt}]`}valueOf(){return f(this.get())}[Symbol.toPrimitive](){return this.valueOf()}};let vn=l(`ObservableValue`,_n);var yn=class{constructor(e){this.K=-1,this.L=[],this.$=null,this.H=null,this.U=0,this.J=0,this.F=0,this.W=0,this.rt=new bn(null),this.tt=void 0,this._t=void 0,this.yt=0,this.derivation=void 0,this.St=void 0,this.At=void 0,this.xt=void 0,this.Vt=void 0,this.Mt=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.St=ye(`ComputedValue-setter`,e.set)),this.xt=e.equals||Kt,this.At=e.context,this.Vt=e.requiresReaction,this.Mt=!!e.keepAlive}q(){(function(e){var t;e.F===0&&(e.F=1,(t=e.H)==null||t.forEach(e=>{e.K===0&&(e.K=1,e.q())}))})(this)}onBO(){this.onBOL&&this.onBOL.forEach(e=>e())}onBUO(){this.onBUOL&&this.onBUOL.forEach(e=>e())}get isComputing(){return m(this.yt,1)}set isComputing(e){this.yt=h(this.yt,1,e)}get isRunningSetter(){return m(this.yt,2)}set isRunningSetter(e){this.yt=h(this.yt,2,e)}get isBeingObserved(){return m(this.yt,4)}set isBeingObserved(e){this.yt=h(this.yt,4,e)}get isPendingUnobservation(){return m(this.yt,8)}set isPendingUnobservation(e){this.yt=h(this.yt,8,e)}get diffValue(){return+!!m(this.yt,16)}set diffValue(e){this.yt=h(this.yt,16,e===1)}get(){if(this.isComputing&&t(32,this.tt,this.derivation),P.inBatch!==0||this.H&&this.H.size!==0||this.Mt){let e=this.isBeingObserved;if(Le(this),we(this)){let e=P.trackingContext;e||!this.Mt&&!this.isBeingObserved||(P.trackingContext=this),this.trackAndCompute()&&function(e){var t;e.F!==2&&(e.F=2,(t=e.H)==null||t.forEach(t=>{t.K===1?t.K=2:t.K===0&&(e.F=0)}))}(this),P.trackingContext=e}else !e&&this.isBeingObserved&&this.L.forEach(Ie)}else we(this)&&(this.Nt(),Pe(),this.rt=this.Rt(!1),Fe());let e=this.rt;if(Ce(e))throw e.cause;return e}set(e){if(this.St){this.isRunningSetter&&t(33,this.tt),this.isRunningSetter=!0;try{this.St.call(this.At,e)}finally{this.isRunningSetter=!1}}else t(34,this.tt)}trackAndCompute(){let e=this.rt,t=this.K===-1,n=this.Rt(!0),r=t||Ce(e)||Ce(n)||!this.xt(e,n);return r&&(this.rt=n),r}Rt(e){let t;if(this.isComputing=!0,e)t=Te(this,this.derivation,this.At);else if(!0===P.disableErrorBoundaries)t=this.derivation.call(this.At);else try{t=this.derivation.call(this.At)}catch(e){t=new bn(e)}return this.isComputing=!1,t}G(){this.Mt||(Ee(this),this.rt=void 0)}Nt(){}toString(){return`${this.tt}[${this.derivation.toString()}]`}valueOf(){return f(this.get())}[Symbol.toPrimitive](){return this.valueOf()}};let N=l(`ComputedValue`,yn);var bn=class{constructor(e){this.cause=void 0,this.cause=e}};let xn=[`mobxGuid`,`spyListeners`,`enforceActions`,`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`allowStateReads`,`disableErrorBoundaries`,`runId`,`UNCHANGED`];var Sn=class{constructor(){this.version=7,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.isRunningUnobservations=!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.safeDescriptors=!0}};let Cn=!0,wn=!1,P=function(){let e=globalThis;return e.__mobxInstanceCount>0&&!e.__mobxGlobals&&(Cn=!1),e.__mobxGlobals&&e.__mobxGlobals.version!==7&&(Cn=!1),Cn?e.__mobxGlobals?(e.__mobxInstanceCount+=1,e.__mobxGlobals.UNCHANGED||(e.__mobxGlobals.UNCHANGED={}),e.__mobxGlobals):(e.__mobxInstanceCount=1,e.__mobxGlobals=new Sn):(setTimeout(()=>{wn||t(35)},1),new Sn)}();var Tn=class{constructor(e=`Reaction`,t,n,r){this.tt=void 0,this.Et=void 0,this.kt=void 0,this.Ct=void 0,this.L=[],this.$=[],this.K=-1,this.U=0,this.W=0,this.yt=0,this.It=void 0,this.tt=e,this.Et=t,this.kt=n,this.Ct=r}get isDisposed(){return m(this.yt,1)}set isDisposed(e){this.yt=h(this.yt,1,e)}get isScheduled(){return m(this.yt,2)}set isScheduled(e){this.yt=h(this.yt,2,e)}get isTrackPending(){return m(this.yt,4)}set isTrackPending(e){this.yt=h(this.yt,4,e)}get isRunning(){return m(this.yt,8)}set isRunning(e){this.yt=h(this.yt,8,e)}get diffValue(){return+!!m(this.yt,16)}set diffValue(e){this.yt=h(this.yt,16,e===1)}q(){this.Y()}Y(){this.isScheduled||(this.isScheduled=!0,P.pendingReactions.push(this),ze())}X(){if(!this.isDisposed){Pe(),this.isScheduled=!1;let e=P.trackingContext;if(P.trackingContext=this,we(this)){this.isTrackPending=!0;try{this.Et()}catch(e){this.Pt(e)}}P.trackingContext=e,Fe()}}track(e){if(this.isDisposed)return;Pe(),this.isRunning=!0;let t=P.trackingContext;P.trackingContext=this;let n=Te(this,e,void 0);P.trackingContext=t,this.isRunning=!1,this.isTrackPending=!1,this.isDisposed&&Ee(this),Ce(n)&&this.Pt(n.cause),Fe()}Pt(e){if(this.kt)this.kt(e,this);else{if(P.disableErrorBoundaries)throw e;P.suppressReactionErrors||console.error(`[mobx] uncaught error in '${this}'`,e),P.globalReactionErrorHandlers.forEach(t=>t(e,this))}}dispose(){var e;this.isDisposed||(this.isDisposed=!0,(e=this.It)==null||e.call(this),this.isRunning||(Pe(),Ee(this),Fe()))}Z(e){let t=()=>this.dispose();return e!=null&&e.addEventListener&&!this.isDisposed&&(e.addEventListener(`abort`,t),this.It=()=>e.removeEventListener==null?void 0:e.removeEventListener(`abort`,t)),t[j]=this,`dispose`in Symbol&&typeof Symbol.dispose==`symbol`&&(t[Symbol.dispose]=t),t}toString(){return`Reaction[${this.tt}]`}};let En=100,Dn=e=>e(),On=l(`Reaction`,Tn),kn=`action`,An=`autoAction`,jn=b(kn),Mn=b(`action.bound`,{bound:!0}),Nn=b(An,{autoAction:!0}),Pn=b(`autoAction.bound`,{autoAction:!0,bound:!0}),Fn=He(!1);Pt(Fn,jn);let In=He(!0);Pt(In,Nn);let Ln=Ve(Mn),Rn=Ve(Pn),zn=e=>e(),Bn=`always`;var Vn=class extends Error{constructor(){super(`FLOW_CANCELLED`),Object.setPrototypeOf(this,new.target.prototype),this.name=`FlowCancellationError`}toString(){return`Error: ${this.message}`}};let Hn=te(`flow`),Un=te(`flow.bound`,{bound:!0}),Wn=Pt(function(e,t){if(t&&typeof t.kind==`string`)return ie(Hn,e,t);let n=e,i=n.name||`flow`,a=function(){let e=arguments,t=Fn(i,n).apply(this,e),a,o,s=new Promise(function(e,n){function s(e){let r;o=void 0;try{r=Fn(i,t.next).call(t,e)}catch(e){return n(e)}l(r)}function c(e){let r;o=void 0;try{r=Fn(i,t.throw).call(t,e)}catch(e){return n(e)}l(r)}function l(t){if(!r(t?.then))return t.done?e(t.value):(o=Promise.resolve(t.value),o.then(s,c));t.then(l,n)}a=n,s(void 0)});return s.cancel=Fn(i,function(){try{o&&Ze(o);let e=t.return(void 0),n=Promise.resolve(e.value);n.then(Vt,Vt),Ze(n),a(new Vn)}catch(e){a(e)}}),s};return a.isMobXFlow=!0,a},Hn),Gn=me(Un,ie),Kn={has:(e,t)=>ut(e).et(t),get:(e,t)=>ut(e).Tt(t),set(e,t,n){var r;return!!i(t)&&((r=ut(e).Bt(t,n,!0))==null||r)},deleteProperty(e,t){var n;return!!i(t)&&((n=ut(e).Dt(t,!0))==null||n)},defineProperty(e,t,n){var r;return(r=ut(e).l(t,n))==null||r},ownKeys:e=>ut(e).it(),preventExtensions(e){t(13)}},qn=Symbol(`mobx-keys`),Jn=`splice`,Yn=`update`,Xn={get(e,t){let n=e[j];return t===j?n:t===`length`?n.Kt():typeof t!=`string`||isNaN(t)?p(Qn,t)?Qn[t]:e[t]:n.Tt(parseInt(t))},set(e,t,n){let r=e[j];return t===`length`?r.Lt(n):typeof t==`symbol`||isNaN(t)?e[t]=n:r.Bt(parseInt(t),n),!0},preventExtensions(){t(15)}};var Zn=class{constructor(e=`ObservableArray`,t,n){this.$t=void 0,this.ct=void 0,this.j=[],this.st=void 0,this.ot=void 0,this.A=void 0,this.dehancer=void 0,this.v=void 0,this.Ut=0,this.$t=n,this.ct=new Wt(e),this.A=(e,n)=>t(e,n,`ObservableArray[..]`)}Wt(e){return this.dehancer===void 0?e:this.dehancer(e)}ht(e){return this.dehancer!==void 0&&e.length>0?e.map(this.dehancer):e}Kt(){return this.ct.reportObserved(),this.j.length}Lt(e){(!Number.isInteger(e)||e<0)&&t(40,e);let n=this.j.length;if(e!==n)if(e>n){let t=Array.from({length:e-n});this.wt(n,0,t)}else this.wt(e,n-e)}zt(e,n){e!==this.Ut&&t(16),this.Ut+=n}wt(e,t,n){let r=this.j.length;if(e===void 0?e=0:e>r?e=r:e<0&&(e=Math.max(0,r+e)),t=arguments.length===1?r-e:t==null?0:Math.max(0,Math.min(t,r-e)),n===void 0&&(n=Rt),dt(this)){let r=O(this,{object:this.v,type:Jn,index:e,removedCount:t,added:n});if(!r)return Rt;t=r.removedCount,n=r.added}n=n.length===0?n:n.map(e=>this.A(e,void 0));let i=this.qt(e,t,n);return t===0&&n.length===0||this.Ft(e,n,i),this.ht(i)}qt(e,t,n){if(n.length<1e4)return this.j.splice(e,t,...n);{let r=this.j.slice(e,e+t),i=this.j.slice(e+t);this.j.length+=n.length-t;for(let t=0;t<n.length;t++)this.j[e+t]=n[t];for(let t=0;t<i.length;t++)this.j[e+n.length+t]=i[t];return r}}Ht(e,t,n){let r=pt(this),i=r?{observableKind:`array`,object:this.v,type:Yn,debugObjectName:this.ct.tt,index:e,newValue:t,oldValue:n}:null;this.ct.reportChanged(),r&&ht(this,i)}Ft(e,t,n){let r=pt(this),i=r?{observableKind:`array`,object:this.v,debugObjectName:this.ct.tt,type:Jn,index:e,removed:n,added:t,removedCount:n.length,addedCount:t.length}:null;this.ct.reportChanged(),r&&ht(this,i)}Tt(e){return this.ct.reportObserved(),this.Wt(this.j[e])}Bt(e,t){let n=this.j;if(e<n.length){let r=n[e];if(dt(this)){let n=O(this,{type:Yn,object:this.v,index:e,newValue:t});if(!n)return;t=n.newValue}(t=this.A(t,r))!==r&&(n[e]=t,this.Ht(e,t,r))}else{let r=Array.from({length:e+1-n.length});r[r.length-1]=t,this.wt(n.length,0,r)}}},Qn={clear(){return this.splice(0)},replace(e){let t=this[j];return t.wt(0,t.j.length,e)},toJSON(){return this.slice()},splice(e,t,...n){let r=this[j];switch(arguments.length){case 0:return[];case 1:return r.wt(e);case 2:return r.wt(e,t)}return r.wt(e,t,n)},spliceWithArray(e,t,n){return this[j].wt(e,t,n)},push(...e){let t=this[j];return t.wt(t.j.length,0,e),t.j.length},pop(){return this.splice(Math.max(this[j].j.length-1,0),1)[0]},shift(){return this.splice(0,1)[0]},unshift(...e){let t=this[j];return t.wt(0,0,e),t.j.length},reverse(){return P.trackingDerivation&&t(37,`reverse`),this.replace(this.slice().reverse()),this},sort(){P.trackingDerivation&&t(37,`sort`);let e=this.slice();return e.sort.apply(e,arguments),this.replace(e),this},remove(e){let t=this[j],n=t.ht(t.j).indexOf(e);return n>-1&&(this.splice(n,1),!0)}};k(`at`,_t),k(`concat`,_t),k(`flat`,_t),k(`includes`,_t),k(`indexOf`,_t),k(`join`,_t),k(`lastIndexOf`,_t),k(`slice`,_t),k(`toString`,_t),k(`toLocaleString`,_t),k(`toSorted`,_t),k(`toSpliced`,_t),k(`with`,_t),k(`every`,vt),k(`filter`,vt),k(`find`,vt),k(`findIndex`,vt),k(`findLast`,vt),k(`findLastIndex`,vt),k(`flatMap`,vt),k(`forEach`,vt),k(`map`,vt),k(`some`,vt),k(`toReversed`,vt),k(`reduce`,yt),k(`reduceRight`,yt);let $n=l(`ObservableArrayAdministration`,Zn),er={},tr=`delete`;var nr=class{constructor(e,t=v,n=`ObservableMap`){this.A=void 0,this.tt=void 0,this[j]=er,this.ft=void 0,this.dt=void 0,this.lt=void 0,this.st=void 0,this.ot=void 0,this.dehancer=void 0,this.A=t,this.tt=n,kt(()=>{this.lt=g(`ObservableMap.keys()`),this.ft=new Map,this.dt=new Map,e&&this.merge(e)})}et(e){return this.ft.has(e)}has(e){if(!P.trackingDerivation)return this.et(e);let t=this.dt.get(e);if(!t){let n=t=new _n(this.et(e),y,`ObservableMap.key?`,!1);this.dt.set(e,n),n.onBUOL=new Set([()=>this.dt.delete(e)])}return t.get()}set(e,t){let n=this.et(e);if(dt(this)){let r=O(this,{type:n?Yn:`add`,object:this,newValue:t,name:e});if(!r)return this;t=r.newValue}return n?this.Gt(e,t):this.Jt(e,t),this}delete(e){if(dt(this)&&!O(this,{type:tr,object:this,name:e}))return!1;if(this.et(e)){let t=pt(this),n=t?{observableKind:`map`,debugObjectName:this.tt,type:tr,object:this,oldValue:this.ft.get(e).rt,name:e}:null;return ct(()=>{var t;this.lt.reportChanged(),(t=this.dt.get(e))==null||t.Ot(!1),this.ft.get(e).Ot(void 0),this.ft.delete(e)}),t&&ht(this,n),!0}return!1}Gt(e,t){let n=this.ft.get(e);if((t=n.jt(t))!==P.UNCHANGED){let r=pt(this),i=r?{observableKind:`map`,debugObjectName:this.tt,type:Yn,object:this,oldValue:n.rt,name:e,newValue:t}:null;n.Ot(t),r&&ht(this,i)}}Jt(e,t){ct(()=>{var n;let r=new _n(t,this.A,`ObservableMap.key`,!1);this.ft.set(e,r),t=r.rt,(n=this.dt.get(e))==null||n.Ot(!0),this.lt.reportChanged()});let n=pt(this);n&&ht(this,n?{observableKind:`map`,debugObjectName:this.tt,type:`add`,object:this,name:e,newValue:t}:null)}get(e){return this.has(e)?this.Wt(this.ft.get(e).get()):this.Wt(void 0)}getOrInsert(e,t){return this.has(e)||this.set(e,t),this.get(e)}getOrInsertComputed(e,t){return this.has(e)||this.set(e,t(e)),this.get(e)}Wt(e){return this.dehancer===void 0?e:this.dehancer(e)}keys(){return this.lt.reportObserved(),this.ft.keys()}values(){let e=this,t=this.keys();return xt({next(){let{done:n,value:r}=t.next();return{done:n,value:n?void 0:e.get(r)}}})}entries(){let e=this,t=this.keys();return xt({next(){let{done:n,value:r}=t.next();return{done:n,value:n?void 0:[r,e.get(r)]}}})}[Symbol.iterator](){return this.entries()}forEach(e,t){for(let[n,r]of this)e.call(t,r,n,this)}merge(e){return rr(e)&&(e=new Map(e)),ct(()=>{o(e)?function(e){let t=Object.keys(e),n=Object.getOwnPropertySymbols(e);return n.length?[...t,...n.filter(t=>Lt.propertyIsEnumerable.call(e,t))]:t}(e).forEach(t=>this.set(t,e[t])):Array.isArray(e)?e.forEach(([e,t])=>this.set(e,t)):u(e)?(function(e){return Object.getPrototypeOf(Object.getPrototypeOf(Object.getPrototypeOf(e)))===null}(e)||t(19,e),e.forEach((e,t)=>this.set(t,e))):e!=null&&t(20,e)}),this}clear(){ct(()=>{De(()=>{for(let e of this.keys())this.delete(e)})})}replace(e){return ct(()=>{let n=function(e){if(u(e)||rr(e))return e;if(Array.isArray(e))return new Map(e);if(o(e)){let t=new Map;for(let n in e)t.set(n,e[n]);return t}return t(21,e)}(e),r=new Map,i=!1;for(let e of this.ft.keys())if(!n.has(e))if(this.delete(e))i=!0;else{let t=this.ft.get(e);r.set(e,t)}for(let[e,t]of n.entries()){let n=this.ft.has(e);if(this.set(e,t),this.ft.has(e)){let t=this.ft.get(e);r.set(e,t),n||(i=!0)}}if(!i)if(this.ft.size!==r.size)this.lt.reportChanged();else{let e=this.ft.keys(),t=r.keys(),n=e.next(),i=t.next();for(;!n.done;){if(n.value!==i.value){this.lt.reportChanged();break}n=e.next(),i=t.next()}}this.ft=r}),this}get size(){return this.lt.reportObserved(),this.ft.size}toString(){return`[object ObservableMap]`}toJSON(){return Array.from(this)}get[Symbol.toStringTag](){return`Map`}},rr=l(`ObservableMap`,nr);let ir={};var ar=class{constructor(e,t=v,n=`ObservableSet`){this.tt=void 0,this[j]=ir,this.ft=new Set,this.ct=void 0,this.ot=void 0,this.st=void 0,this.dehancer=void 0,this.A=void 0,this.tt=n,this.A=(e,r)=>t(e,r,n),kt(()=>{this.ct=g(this.tt),e&&this.replace(e)})}Wt(e){return this.dehancer===void 0?e:this.dehancer(e)}clear(){ct(()=>{De(()=>{for(let e of this.ft.values())this.delete(e)})})}forEach(e,t){for(let n of this)e.call(t,n,n,this)}get size(){return this.ct.reportObserved(),this.ft.size}add(e){if(dt(this)){let t=O(this,{type:`add`,object:this,newValue:e});if(!t)return this;e=t.newValue}if(!this.has(e)){ct(()=>{e=this.A(e,void 0),this.ft.add(e),this.ct.reportChanged()});let t=pt(this);t&&ht(this,t?{observableKind:`set`,debugObjectName:this.tt,type:`add`,object:this,newValue:e}:null)}return this}delete(e){if(dt(this)&&!O(this,{type:tr,object:this,oldValue:e}))return!1;if(this.has(e)){let t=pt(this),n=t?{observableKind:`set`,debugObjectName:this.tt,type:tr,object:this,oldValue:e}:null;return ct(()=>{this.ct.reportChanged(),this.ft.delete(e)}),t&&ht(this,n),!0}return!1}has(e){return this.ct.reportObserved(),this.ft.has(this.Wt(e))}entries(){let e=this.values();return St({next(){let{value:t,done:n}=e.next();return n?{value:void 0,done:n}:{value:[t,t],done:n}}})}keys(){return this.values()}values(){this.ct.reportObserved();let e=this,t=this.ft.values();return St({next(){let{value:n,done:r}=t.next();return r?{value:void 0,done:r}:{value:e.Wt(n),done:r}}})}intersection(e){return new Set(this).intersection(e)}union(e){return new Set(this).union(e)}difference(e){return new Set(this).difference(e)}symmetricDifference(e){return new Set(this).symmetricDifference(e)}isSubsetOf(e){return new Set(this).isSubsetOf(e)}isSupersetOf(e){return new Set(this).isSupersetOf(e)}isDisjointFrom(e){return new Set(this).isDisjointFrom(e)}replace(e){return or(e)&&(e=new Set(e)),Array.isArray(e)||d(e)?ct(()=>{let t=d(e)?e:new Set(e);if(t.size!==0)if(this.ft.size!==0){for(let e of this.ft.values())t.has(this.Wt(e))||this.delete(e);t.forEach(e=>this.add(e))}else t.forEach(e=>this.add(e));else this.clear()}):e!=null&&t(41,e),this}toJSON(){return Array.from(this)}toString(){return`[object ObservableSet]`}[Symbol.iterator](){return this.values()}get[Symbol.toStringTag](){return`Set`}},or=l(`ObservableSet`,ar);let sr=Object.create(null),cr=`remove`;var lr=class{constructor(e,t=new Map,n,r=Yt){this.h=void 0,this.j=void 0,this.tt=void 0,this.ut=void 0,this.lt=void 0,this.ot=void 0,this.st=void 0,this.v=void 0,this.p=void 0,this.Xt=void 0,this.Qt=void 0,this.O=void 0,this.V=void 0,this.h=e,this.j=t,this.tt=n,this.ut=r,this.lt=new Wt(`ObservableObject.keys`),this.p=o(this.h)}_(e){return(this.j.get(e)??this.vt(e)??this.bt(e)).get()}vt(e){let t=this.O?.get(e);if(!t)return;this.O.delete(e),this.O.size===0&&(this.O=void 0);let n=t();return this.j.set(e,n),n}bt(e){let t=this.V?.get(e);if(!t)return;this.V.delete(e),this.V.size===0&&(this.V=void 0);let n=t();return this.j.set(e,n),n}M(e,t){let n=this.j.get(e)??this.vt(e)??this.bt(e);if(n instanceof yn)return n.set(t),!0;if(dt(this)){let n=O(this,{type:Yn,object:this.v||this.h,name:e,newValue:t});if(!n)return null;t=n.newValue}if((t=n.jt(t))!==P.UNCHANGED){let r=pt(this),i=r?{type:Yn,observableKind:`object`,debugObjectName:this.tt,object:this.v||this.h,oldValue:n.rt,name:e,newValue:t}:null;n.Ot(t),r&&ht(this,i)}return!0}Tt(e){return P.trackingDerivation&&!p(this.h,e)&&this.et(e),this.h[e]}Bt(e,t,n=!1){return p(this.h,e)?this.j.has(e)?this.M(e,t):n?Reflect.set(this.h,e,t):(this.h[e]=t,!0):this.u(e,{value:t,enumerable:!0,writable:!0,configurable:!0},this.ut,n)}et(e){if(!P.trackingDerivation)return e in this.h;this.Qt||=new Map;let t=this.Qt.get(e);return t||(t=new _n(e in this.h,y,`ObservableObject.key?`,!1),this.Qt.set(e,t)),t.get()}u(e,t,n,r=!1){return!0===n&&(n=this.ut),!1===n?this.l(e,t,r):n.u(this,e,t,r)}l(e,t,n=!1){try{Pe();let r=this.Dt(e);if(!r)return r;if(dt(this)){let n=O(this,{object:this.v||this.h,name:e,type:`add`,newValue:t.value});if(!n)return null;let{newValue:r}=n;t.value!==r&&(t=Pt({},t,{value:r}))}if(n){if(!Reflect.defineProperty(this.h,e,t))return!1}else It(this.h,e,t);this.Yt(e,t.value)}finally{Fe()}return!0}S(e,t,n,r=!1){try{Pe();let i=this.Dt(e);if(!i)return i;if(dt(this)){let n=O(this,{object:this.v||this.h,name:e,type:`add`,newValue:t});if(!n)return null;t=n.newValue}let a=wt(e),o={configurable:!P.safeDescriptors||this.p,enumerable:!0,get:a.get,set:a.set};if(r){if(!Reflect.defineProperty(this.h,e,o))return!1}else It(this.h,e,o);let s=new _n(t,n,`ObservableObject.key`,!1);this.j.set(e,s),this.Yt(e,s.rt)}finally{Fe()}return!0}m(e,t,n=!1){try{Pe();let r=this.Dt(e);if(!r)return r;if(dt(this)&&!O(this,{object:this.v||this.h,name:e,type:`add`,newValue:void 0}))return null;t.name||=`ObservableObject.key`,t.context=this.v||this.h;let i=wt(e),a={configurable:!P.safeDescriptors||this.p,enumerable:!1,get:i.get,set:i.set};if(n){if(!Reflect.defineProperty(this.h,e,a))return!1}else It(this.h,e,a);this.j.set(e,new yn(t)),this.Yt(e,void 0)}finally{Fe()}return!0}Dt(e,t=!1){if(!p(this.h,e))return!0;if(dt(this)&&!O(this,{object:this.v||this.h,name:e,type:cr}))return null;try{var n;Pe();let r=pt(this),i=this.j.get(e),a;if(i||!r||(a=Ft(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 _n&&(a=i.rt),Re(i)),this.lt.reportChanged(),(n=this.Qt)==null||(n=n.get(e))==null||n.set(e in this.h),r&&r&&ht(this,{type:cr,observableKind:`object`,object:this.v||this.h,debugObjectName:this.tt,oldValue:a,name:e})}finally{Fe()}return!0}Yt(e,t){var n;let r=pt(this);r&&r&&ht(this,r?{type:`add`,observableKind:`object`,debugObjectName:this.tt,object:this.v||this.h,name:e,newValue:t}:null),(n=this.Qt)==null||(n=n.get(e))==null||n.set(!0),this.lt.reportChanged()}it(){return this.lt.reportObserved(),Ht(this.h)}nt(){return this.lt.reportObserved(),Object.keys(this.h)}};let ur=l(`ObservableObjectAdministration`,lr),dr=Lt.toString,fr=globalThis.Iterator?.prototype||{};e.$mobx=j,e.FlowCancellationError=Vn,e.ObservableMap=nr,e.ObservableSet=ar,e.Reaction=Tn,e._allowStateChanges=Se,e._allowStateChangesInsideComputed=Ue,e._allowStateReadsEnd=function(e){P.allowStateReads=e},e._allowStateReadsStart=function(e){let t=P.allowStateReads;return P.allowStateReads=e,t},e._autoAction=In,e._autoActionBound=Rn,e._endAction=D,e._getAdministration=Dt,e._getGlobalState=function(){return P},e._interceptReads=function(e,t,n){let r;return rr(e)||bt(e)||vn(e)?r=Dt(e):Tt(e)&&(r=Dt(e,t)),r.dehancer=typeof t==`function`?t:n,()=>{r.dehancer=void 0}},e._isComputingDerivation=function(){return P.trackingDerivation!==null},e._resetGlobalState=function(){let e=new Sn;for(let t in e)xn.indexOf(t)===-1&&(P[t]=e[t]);P.allowStateChanges=!P.enforceActions},e._startAction=xe,e.action=Fn,e.actionBound=Ln,e.autorun=Ge,e.compareDefault=Kt,e.compareIdentity=function(e,t){return e===t},e.compareShallow=function(e,t){return At(e,t,1)},e.compareStructural=_,e.computed=dn,e.computedStruct=un,e.configure=function(e){!0===e.isolateGlobalState&&function(){if((P.pendingReactions.length||P.inBatch||P.isRunningReactions)&&t(36),wn=!0,Cn){let e=globalThis;--e.__mobxInstanceCount===0&&(e.__mobxGlobals=void 0),P=new Sn}}();let{enforceActions:n}=e;if(n!==void 0){let e=n===Bn?Bn:n===`observed`;P.enforceActions=e,P.allowStateChanges=!0!==e&&e!==Bn}[`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`disableErrorBoundaries`,`safeDescriptors`].forEach(t=>{t in e&&(P[t]=!!e[t])}),P.allowStateReads=!P.observableRequiresReaction,e.reactionScheduler&&function(e){let t=Dn;Dn=n=>e(()=>t(n))}(e.reactionScheduler)},e.createAtom=g,e.defineProperty=function(e,n,r){if(Tt(e))return e[j].l(n,r);t(39)},e.entries=function(e){return Tt(e)?nt(e).map(t=>[t,e[t]]):rr(e)?nt(e).map(t=>[t,e.get(t)]):or(e)?Array.from(e.entries()):bt(e)?e.map((e,t)=>[t,e]):void t(7)},e.extendObservable=Je,e.flow=Wn,e.flowBound=Gn,e.flowResult=function(e){return e},e.get=function(e,n){if(rt(e,n))return Tt(e)?e[j].Tt(n):rr(e)?e.get(n):bt(e)?e[n]:void t(11)},e.getAtom=Et,e.getDebugName=Ot,e.getDependencyTree=function(e,t){return Ye(Et(e,t))},e.getObserverTree=function(e,t){return Xe(Et(e,t))},e.has=rt,e.intercept=function(e,t,n){return r(n)?function(e,t,n){return ft(Dt(e,t),n)}(e,t,n):function(e,t){return ft(Dt(e),t)}(e,t)},e.isAction=We,e.isBoxedObservable=vn,e.isComputed=function(e){return $e(e)},e.isComputedProp=function(e,t){return $e(e,t)},e.isFlow=Qe,e.isFlowCancellationError=function(e){return e instanceof Vn},e.isObservable=tt,e.isObservableArray=bt,e.isObservableMap=rr,e.isObservableObject=Tt,e.isObservableProp=function(e,t){return et(e,t)},e.isObservableSet=or,e.keys=nt,e.makeAutoObservable=function(e,t,n){return o(e)?Je(e,e,t,n):(kt(()=>{let r=Ct(e,n)[j];if(!e[qn]){let t=Object.getPrototypeOf(e),n=new Set([...Ht(e),...Ht(t)]);n.delete(`constructor`),n.delete(j),c(t,qn,n)}e[qn].forEach(e=>gt(r,e,!t||!(e in t)||t[e]))}),e)},e.makeObservable=function(e,t,n){return kt(()=>{let r=Ct(e,n)[j];Ht(t).forEach(e=>gt(r,e,t[e]))}),e},e.observable=sn,e.observableDeep=an,e.observableRef=nn,e.observableShallow=rn,e.observableStruct=on,e.observe=function(e,t,n,i){return r(n)?function(e,t,n,r){return at(Dt(e,t),n,r)}(e,t,n,i):function(e,t,n){let r=Dt(e);if(bt(e))n&&t({observableKind:`array`,object:r.v,debugObjectName:r.ct.tt,type:`splice`,index:0,added:r.j.slice(),addedCount:r.j.length,removed:[],removedCount:0});else if(!rr(e)&&!or(e)&&!Tt(e))return at(r,t,n);return mt(r,t)}(e,t,n)},e.onBecomeObserved=function(e,t,n){return qe(`onBO`,e,t,n)},e.onBecomeUnobserved=function(e,t,n){return qe(`onBUO`,e,t,n)},e.onReactionError=function(e){return P.globalReactionErrorHandlers.push(e),()=>{let t=P.globalReactionErrorHandlers.indexOf(e);t>=0&&P.globalReactionErrorHandlers.splice(t,1)}},e.override=qt,e.ownKeys=it,e.reaction=function(e,t,n=zt){function r(){if(p=!1,h.isDisposed)return;let t=!1,r=d;h.track(()=>{let n=Se(!1,()=>e(h));t=f||!m(d,n),d=n}),(f&&n.fireImmediately||!f&&t)&&o(d,r,h),f=!1}var i;let a=n.name??`Reaction`,o=Fn(a,n.onError?(s=n.onError,c=t,function(){try{return c.apply(this,arguments)}catch(e){s.call(this,e)}}):t);var s,c;let l=!n.scheduler&&!n.delay,u=Ke(n),d,f=!0,p=!1,m=n.equals||Kt,h=new Tn(a,()=>{f||l?r():p||(p=!0,u(r))},n.onError,n.requiresObservable);return n!=null&&(i=n.signal)!=null&&i.aborted||h.Y(),h.Z(n?.signal)},e.remove=function(e,n){Tt(e)?e[j].Dt(n):rr(e)||or(e)?e.delete(n):bt(e)?(typeof n!=`number`&&(n=parseInt(n,10)),e.splice(n,1)):t(9)},e.runInAction=Ue,e.set=function e(n,r,i){if(arguments.length===2&&!or(n)){Pe();let t=r;try{for(let r in t)e(n,r,t[r])}finally{Fe()}return}Tt(n)?n[j].Bt(r,i):rr(n)?n.set(r,i):or(n)?n.add(r):bt(n)?(typeof r!=`number`&&(r=parseInt(r,10)),r<0&&t(42,r),Pe(),r>=n.length&&(n.length=r+1),n[r]=i,Fe()):t(8)},e.spy=function(){return console.warn(`[mobx.spy] Is a no-op in production builds`),function(){}},e.toJS=function(e){return st(e,new Map)},e.transaction=ct,e.untracked=De,e.values=function(e){return Tt(e)?nt(e).map(t=>e[t]):rr(e)?nt(e).map(t=>e.get(t)):or(e)?Array.from(e.values()):bt(e)?e.slice():void t(6)},e.when=function(e,t,n){return arguments.length===1||t&&typeof t==`object`?function(e,t){var n;if(t!=null&&(n=t.signal)!=null&&n.aborted)return Pt(Promise.reject(Error(`WHEN_ABORTED`)),{cancel:()=>null});let r,i,a=new Promise((n,a)=>{var o;let s=lt(e,n,Pt({},t,{onError:a}));r=()=>{s(),a(Error(`WHEN_CANCELLED`))},i=()=>{s(),a(Error(`WHEN_ABORTED`))},t==null||(o=t.signal)==null||o.addEventListener==null||o.addEventListener(`abort`,i)}).finally(()=>{var e;return t==null||(e=t.signal)==null||e.removeEventListener==null?void 0:e.removeEventListener(`abort`,i)});return a.cancel=r,a}(e,t):lt(e,t,n||{})}})),Mg=ye((e=>{Object.defineProperty(e,`__esModule`,{value:!0});let t={0:`Invalid value for configuration 'enforceActions', expected 'never', 'always' or 'observed'`,1(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.`,19(e){return`Cannot initialize from classes that inherit from Map: `+e.constructor.name},20(e){return`Cannot initialize map from `+e},21(e){return`Cannot convert to map from '${e}'`},23:`It is not possible to get index atoms from arrays`,24(e){return`Cannot obtain administration from `+e},25(e,t){return`the entry '${e}' does not exist in the observable map '${t}'`},26:`please specify a property`,27(e,t){return`no observable property '${e.toString()}' found on the observable object '${t}'`},28(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(e,t){return`Cycle detected in computation ${e}: ${t}`},33(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(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(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`,40(e){return`Out of range: `+e},41(e){return`Cannot initialize set from `+e},42(e){return`Invalid index: '${e}'`},43(e,t,n){return`Cannot apply '${e}' to '${t}' (kind: ${n}):\n'${e}' can only be used on properties with a function value.`},44(e){return`'${e}' can only be used with 'makeObservable'`}};function n(e,...n){{let r=typeof e==`string`?e:t[e];throw typeof r==`function`&&(r=r.apply(null,n)),Error(`[MobX] ${r}`)}}let r=Object.assign,i=Object.getOwnPropertyDescriptor,a=Object.defineProperty,o=Object.prototype,s=[];Object.freeze(s);let c={};Object.freeze(c);let l=Object.toString();function u(){return++M.mobxGuid}function d(e){let t=!1;return function(){if(!t)return t=!0,e.apply(this,arguments)}}let f=()=>{};function p(e){return typeof e==`function`}function m(e){switch(typeof e){case`string`:case`symbol`:case`number`:return!0}return!1}function h(e){return typeof e==`object`&&!!e}function g(e){if(!h(e))return!1;let t=Object.getPrototypeOf(e);if(t==null)return!0;let n=ie(t,`constructor`)&&t.constructor;return typeof n==`function`&&n.toString()===l}function _(e){let t=e?.constructor;return t?t.name===`GeneratorFunction`||t.displayName===`GeneratorFunction`:!1}function v(e,t,n){a(e,t,{enumerable:!1,writable:!0,configurable:!0,value:n})}function y(e,t,n){a(e,t,{enumerable:!1,writable:!1,configurable:!0,value:n})}function b(e,t){let n=`isMobX`+e;return t.prototype[n]=!0,function(e){return h(e)&&e[n]===!0}}function x(e){return e!=null&&Object.prototype.toString.call(e)===`[object Map]`}function S(e){return Object.getPrototypeOf(Object.getPrototypeOf(Object.getPrototypeOf(e)))===null}function C(e){return e!=null&&Object.prototype.toString.call(e)===`[object Set]`}function ee(e){let t=Object.keys(e),n=Object.getOwnPropertySymbols(e);return n.length?[...t,...n.filter(t=>o.propertyIsEnumerable.call(e,t))]:t}let te=Reflect.ownKeys;function ne(e){return typeof e==`string`?e:typeof e==`symbol`?e.toString():new String(e).toString()}function re(e){return e===null?null:typeof e==`object`?``+e:e}function ie(e,t){return o.hasOwnProperty.call(e,t)}let ae=Object.getOwnPropertyDescriptors;function w(e,t){return!!(e&t)}function T(e,t,n){return n?e|=t:e&=~t,e}function oe(e,t){t.includes(e.kind)||n(`The decorator applied to '${String(e.name)}' cannot be used on a ${e.kind} element`)}let E=Symbol(`mobx administration`);var se=class{constructor(e=`Atom@`+u()){this.name_=void 0,this.flags_=0,this.observers_=null,this.lastAccessedBy_=0,this.lowestObserverState_=-1,this.onBOL=void 0,this.onBUOL=void 0,this.name_=e}get isBeingObserved(){return w(this.flags_,1)}set isBeingObserved(e){this.flags_=T(this.flags_,1,e)}get isPendingUnobservation(){return w(this.flags_,2)}set isPendingUnobservation(e){this.flags_=T(this.flags_,2,e)}get diffValue(){return+!!w(this.flags_,4)}set diffValue(e){this.flags_=T(this.flags_,4,e===1)}onBO(){this.onBOL&&this.onBOL.forEach(e=>e())}onBUO(){this.onBUOL&&this.onBUOL.forEach(e=>e())}reportObserved(){return ln(this)}reportChanged(){an(),un(this),on()}toString(){return this.name_}};let ce=b(`Atom`,se);function le(e,t=f,n=f){let r=new se(e);return t!==f&&(r.onBOL=new Set([t])),n!==f&&(r.onBUOL=new Set([n])),r}function ue(e,t){return e===t}function de(e,t){return Ni(e,t)}function fe(e,t){return Ni(e,t,1)}let pe=Object.is;function me(e,t,n){return e===null||typeof e!=`object`&&typeof e!=`function`||br(e)?e:Array.isArray(e)?O.array(e,{name:n}):g(e)?O.object(e,void 0,{name:n}):x(e)?O.map(e,{name:n}):C(e)?O.set(e,{name:n}):typeof e==`function`&&!Rn(e)&&!dr(e)?_(e)?sr(e):Pn(n,e):e}function he(e,t,r){if(e==null||Ti(e)||I(e)||fi(e)||_i(e))return e;if(Array.isArray(e))return O.array(e,{name:r,deep:!1});if(g(e))return O.object(e,void 0,{name:r,deep:!1});if(x(e))return O.map(e,{name:r,deep:!1});if(C(e))return O.set(e,{name:r,deep:!1});n(`The shallow modifier / decorator can only used in combination with arrays, objects, maps and sets`)}function ge(e){return e}function _e(e,t){return br(e)&&n(`observable.struct should not be used with observable values`),Ni(e,t)?t:e}let ve=`override`,ye={annotationType_:ve,make_:xe,extend_:D};function be(e){return e.annotationType_===ve}function xe(e,t){return e.isPlainObject_&&n(`Cannot apply '${this.annotationType_}' to '${e.name_}.${t.toString()}':\n'${this.annotationType_}' cannot be used on plain objects.`),ie(e.appliedAnnotations_,t)||n(`'${e.name_}.${t.toString()}' is annotated with '${this.annotationType_}', but no such annotated member was found on prototype.`),0}function D(e,t,r,i){n(44,this.annotationType_)}function Se(e,t){return{annotationType_:e,options_:t,make_:Ce,extend_:we}}function Ce(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:Rn(n.value)?1:(a(r,t,De(e,this,t,n,!1)),2)}function we(e,t,n,r){let i=De(e,this,t,n);return e.defineProperty_(t,i,r)}function Te(e,t,r){oe(r,[`method`,`field`]);let{kind:i,name:a,addInitializer:o}=r,s=e,c=e=>xt(s.options_?.name??a.toString(),e,s.options_?.autoAction??!1);if(i==`field`)return function(e){var t;let n=e;return Rn(n)||(n=c(n)),(t=s.options_)!=null&&t.bound&&(n=n.bind(this),n.isMobxAction=!0),n};if(i==`method`){var l;return Rn(t)||(t=c(t)),(l=s.options_)!=null&&l.bound&&o(function(){let e=this,t=e[a].bind(e);t.isMobxAction=!0,e[a]=t}),t}n(43,s.annotationType_,String(a),i)}function Ee(e,{annotationType_:t},r,{value:i}){p(i)||n(`Cannot apply '${t}' to '${e.name_}.${r.toString()}':\n'${t}' can only be used on properties with a function value.`)}function De(e,t,n,r,i=M.safeDescriptors){var a,o;Ee(e,t,n,r);let{value:s}=r;return(a=t.options_)!=null&&a.bound&&(s=s.bind(e.proxy_??e.target_)),{value:xt(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 Oe(e,t){return{annotationType_:e,options_:t,make_:ke,extend_:Ae}}function ke(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&&(!ie(e.target_,t)||!dr(e.target_[t]))&&this.extend_(e,t,n,!1)===null?0:dr(n.value)?1:(a(r,t,Ne(e,this,t,n,!1,!1)),2)}function Ae(e,t,n,r){let i=Ne(e,this,t,n,this.options_?.bound);return e.defineProperty_(t,i,r)}function je(e,t,n){var r;oe(n,[`method`]);let{name:i,addInitializer:a}=n;return dr(t)||(t=sr(t)),(r=e.options_)!=null&&r.bound&&a(function(){let e=this,t=e[i].bind(e);t.isMobXFlow=!0,e[i]=t}),t}function Me(e,{annotationType_:t},r,{value:i}){p(i)||n(`Cannot apply '${t}' to '${e.name_}.${r.toString()}':\n'${t}' can only be used on properties with a generator function value.`)}function Ne(e,t,n,r,i,a=M.safeDescriptors){Me(e,t,n,r);let{value:o}=r;return dr(o)||(o=sr(o)),i&&(o=o.bind(e.proxy_??e.target_),o.isMobXFlow=!0),{value:o,configurable:a?e.isPlainObject_:!0,enumerable:!1,writable:!a}}function Pe(e,t){return{annotationType_:e,options_:t,make_:Fe,extend_:Ie}}function Fe(e,t,n){return this.extend_(e,t,n,!1)===null?0:1}function Ie(e,t,n,i){return Re(e,this,t,n),e.defineComputedProperty_(t,r({},this.options_,{get:n.get,set:n.set}),i)}function Le(e,t,n){oe(n,[`getter`]);let i=e,{name:a,addInitializer:o}=n,s;function c(e,n){let o=r({},i.options_,{get:t,context:e});return o.name||=`${n.name_}.${a.toString()}`,new At(o)}return o(function(){let e=Si(this)[E],n=this,r=e.values_.get(a);r instanceof At&&r.derivation!==t&&e.values_.delete(a),(e.lazyComputedKeys_??=new Map).set(a,()=>c(n,e))}),function(){let e=this[E],n=e.values_.get(a);if(n instanceof At&&n.derivation!==t){let t=s?.get(this);return t||(t=c(this,e),(s??=new WeakMap).set(this,t)),t.get()}return e.getObservablePropValue_(a)}}function Re(e,{annotationType_:t},r,{get:i}){i||n(`Cannot apply '${t}' to '${e.name_}.${r.toString()}':\n'${t}' can only be used on getter(+setter) properties.`)}function ze(e,t){return{annotationType_:e,options_:t,make_:Be,extend_:Ve}}function Be(e,t,n){return this.extend_(e,t,n,!1)===null?0:1}function Ve(e,t,n,r){return Ue(e,this,t,n),e.defineObservableProperty_(t,n.value,this.options_?.enhancer_??me,r)}function He(e,t,r){if(r.kind===`field`)throw n(`Please use \`@observable accessor ${String(r.name)}\` instead of \`@observable ${String(r.name)}\``);oe(r,[`accessor`]);let i=e,{kind:a,name:o}=r;if(a!==`accessor`)return;function s(e,t){let n=Si(e)[E];return(n.lazyObservableKeys_??=new Map).set(o,()=>new Ot(t,i.options_?.enhancer_??me,`${n.name_}.${o.toString()}`,!1)),n}return{get(){return(this[E]??s(this,t.get.call(this))).getObservablePropValue_(o)},set(e){return(this[E]??s(this,e)).setObservablePropValue_(o,e)},init(e){return s(this,e),e}}}function Ue(e,{annotationType_:t},r,i){`value`in i||n(`Cannot apply '${t}' to '${e.name_}.${r.toString()}':\n'${t}' cannot be used on getter/setter properties`)}let We=Ge();function Ge(e){return{annotationType_:`true`,options_:e,make_:Je,extend_:Ye}}let Ke=[We];function qe(e){let t=e.deep!==!1,n=!!e.autoBind,r=!t|(n?2:0);return Ke[r]??(Ke[r]=Ge({deep:t,autoBind:n}))}function Je(e,t,n,r){var i;if(n.get)return k.make_(e,t,n,r);if(n.set){let i=Rn(n.set)?n.set:xt(t.toString(),n.set);return r===e.target_?e.defineProperty_(t,{configurable:M.safeDescriptors?e.isPlainObject_:!0,set:i})===null?0:2:(a(r,t,{configurable:!0,set:i}),2)}if(r!==e.target_&&typeof n.value==`function`){var o;if(_(n.value)){var s;return((s=this.options_)!=null&&s.autoBind?cr:sr).make_(e,t,n,r)}return((o=this.options_)!=null&&o.autoBind?In:Pn).make_(e,t,n,r)}let c=this.options_?.deep===!1?lt:O;return typeof n.value==`function`&&(i=this.options_)!=null&&i.autoBind&&(n.value=n.value.bind(e.proxy_??e.target_)),c.make_(e,t,n,r)}function Ye(e,t,n,r){var i;return n.get?k.extend_(e,t,n,r):n.set?e.defineProperty_(t,{configurable:M.safeDescriptors?e.isPlainObject_:!0,set:xt(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?lt:O).extend_(e,t,n,r))}function Xe(e,t){return r(function(r,i){if(i&&typeof i.kind==`string`)return t(e,r,i);n(`Invalid arguments for \`${e.annotationType_}\``)},e)}let Ze={deep:!0,name:void 0,defaultDecorator:void 0};Object.freeze(Ze);function Qe(e){return e||Ze}let $e=ze(`observable`),et=ze(`observable.ref`,{enhancer_:ge}),tt=ze(`observable.shallow`,{enhancer_:he}),nt=ze(`observable.struct`,{enhancer_:_e});function rt(e){return Xe(e,He)}function it(e){return e.deep===!0?me:e.deep===!1?ge:ot(e.defaultDecorator)}function at(e){return e?e.defaultDecorator??qe(e):void 0}function ot(e){return e?e.options_?.enhancer_??me:me}function st(e,t,n){return t&&typeof t.kind==`string`?He($e,e,t):br(e)?e:g(e)?O.object(e,t,n):Array.isArray(e)?O.array(e,t):x(e)?O.map(e,t):C(e)?O.set(e,t):typeof e==`object`&&e?e:O.box(e,t)}let ct={box(e,t){let n=Qe(t);return new Ot(e,it(n),n.name,!0,n.equals)},array(e,t){let n=Qe(t);return ai(e,it(n),n.name)},map(e,t){let n=Qe(t);return new di(e,it(n),n.name)},set(e,t){let n=Qe(t);return new gi(e,it(n),n.name)},object(e,t,n){return ji(()=>Yn(Wr({},n),e,t))}},lt=rt(et),ut=rt(tt),dt=rt($e),ft=rt(nt);var O=r(st,$e,ct);let pt=`computed`;function mt(e){return Xe(e,Le)}let ht=Pe(pt),gt=mt(Pe(`computed.struct`,{equals:de})),k=function(e,t){if(t&&typeof t.kind==`string`)return Le(ht,e,t);if(g(e))return mt(Pe(pt,e));p(e)||n("First argument to `computed` should be an expression."),p(t)&&n("A setter as second argument is no longer supported, use `{ set: fn }` option instead");let r=g(t)?t:{};return r.get=e,r.name||=e.name||``,new At(r)};r(k,ht);let _t=0,vt=1,yt=i(()=>{},`name`)?.configurable??!1,bt={value:`action`,configurable:!0,writable:!1,enumerable:!1};function xt(e,t,r=!1,i){p(t)||n("`action` can only be invoked on functions"),(typeof e!=`string`||!e)&&n(`actions should have valid names, got: '${e}'`);function o(){return St(e,r,t,i||this,arguments)}return o.isMobxAction=!0,o.toString=()=>t.toString(),yt&&(bt.value=e,a(o,`name`,bt)),o}function St(e,t,n,r,i){let a=Ct(e,t,r,i);try{return n.apply(r,i)}catch(e){throw a.error_=e,e}finally{wt(a)}}function Ct(e,t,n,r){let i=N()&&!!e,a=0;i&&(a=Date.now(),xn({type:P,name:e,object:n,arguments:r?Array.from(r):s}));let o=M.trackingDerivation,c=!t||!o;an();let l=M.allowStateChanges;c&&(Ht(),l=Et(!0));let u=M.allowStateReads;j(!0);let d={runAsAction_:c,prevDerivation_:o,prevAllowStateChanges_:l,prevAllowStateReads_:u,notifySpy_:i,startTime_:a,actionId_:vt++,parentActionId_:_t};return _t=d.actionId_,d}function wt(e){_t!==e.actionId_&&n(30),_t=e.parentActionId_,e.error_!==void 0&&(M.suppressReactionErrors=!0),Dt(e.prevAllowStateChanges_),Wt(e.prevAllowStateReads_),on(),e.runAsAction_&&Ut(e.prevDerivation_),e.notifySpy_&&Cn({time:Date.now()-e.startTime_}),M.suppressReactionErrors=!1}function Tt(e,t){let n=Et(e);try{return t()}finally{Dt(n)}}function Et(e){let t=M.allowStateChanges;return M.allowStateChanges=e,t}function Dt(e){M.allowStateChanges=e}var Ot=class extends se{constructor(e,t,n=`ObservableValue@`+u(),r=!0,i=pe){super(n),this.enhancer_=void 0,this.name_=void 0,this.equals_=void 0,this.hasUnreportedChange_=!1,this.interceptors_=void 0,this.changeListeners_=void 0,this.value_=void 0,this.dehancer=void 0,this.enhancer_=t,this.name_=n,this.equals_=i,this.value_=t(e,void 0,n),r&&N()&&bn({type:`create`,object:this,observableKind:`value`,debugObjectName:this.name_,newValue:this.value_})}dehanceValue(e){return this.dehancer===void 0?e:this.dehancer(e)}set(e){let t=this.value_;if(e=this.prepareNewValue_(e),e!==M.UNCHANGED){let n=N();n&&xn({type:ni,object:this,observableKind:`value`,debugObjectName:this.name_,newValue:e,oldValue:t}),this.setNewValue_(e),n&&Cn()}}prepareNewValue_(e){if(Ft(this),Gr(this)){let t=qr(this,{object:this,type:ni,newValue:e});if(!t)return M.UNCHANGED;e=t.newValue}return e=this.enhancer_(e,this.value_,this.name_),this.equals_(this.value_,e)?M.UNCHANGED:e}setNewValue_(e){let t=this.value_;this.value_=e,this.reportChanged(),Jr(this)&&Xr(this,{type:ni,object:this,newValue:e,oldValue:t})}get(){return this.reportObserved(),this.dehanceValue(this.value_)}raw(){return this.value_}toJSON(){return this.get()}toString(){return`${this.name_}[${this.value_}]`}valueOf(){return re(this.get())}[Symbol.toPrimitive](){return this.valueOf()}};let kt=b(`ObservableValue`,Ot);var At=class{constructor(e){this.dependenciesState_=-1,this.observing_=[],this.newObserving_=null,this.observers_=null,this.runId_=0,this.lastAccessedBy_=0,this.lowestObserverState_=0,this.unboundDepsCount_=0,this.value_=new Mt(null),this.name_=void 0,this.triggeredBy_=void 0,this.flags_=0,this.derivation=void 0,this.setter_=void 0,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@`+u(),e.set&&(this.setter_=xt(this.name_+`-setter`,e.set)),this.equals_=e.equals||pe,this.scope_=e.context,this.requiresReaction_=e.requiresReaction,this.keepAlive_=!!e.keepAlive}onBecomeStale_(){fn(this)}onBO(){this.onBOL&&this.onBOL.forEach(e=>e())}onBUO(){this.onBUOL&&this.onBUOL.forEach(e=>e())}get isComputing(){return w(this.flags_,1)}set isComputing(e){this.flags_=T(this.flags_,1,e)}get isRunningSetter(){return w(this.flags_,2)}set isRunningSetter(e){this.flags_=T(this.flags_,2,e)}get isBeingObserved(){return w(this.flags_,4)}set isBeingObserved(e){this.flags_=T(this.flags_,4,e)}get isPendingUnobservation(){return w(this.flags_,8)}set isPendingUnobservation(e){this.flags_=T(this.flags_,8,e)}get diffValue(){return+!!w(this.flags_,16)}set diffValue(e){this.flags_=T(this.flags_,16,e===1)}get(){if(this.isComputing&&n(32,this.name_,this.derivation),M.inBatch===0&&(!this.observers_||this.observers_.size===0)&&!this.keepAlive_)Nt(this)&&(this.warnAboutUntrackedRead_(),an(),this.value_=this.computeValue_(!1),on());else{let e=this.isBeingObserved;if(ln(this),Nt(this)){let e=M.trackingContext;!e&&(this.keepAlive_||this.isBeingObserved)&&(M.trackingContext=this),this.trackAndCompute()&&dn(this),M.trackingContext=e}else !e&&this.isBeingObserved&&this.observing_.forEach(cn)}let e=this.value_;if(A(e))throw e.cause;return e}set(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_)}trackAndCompute(){let e=this.value_,t=this.dependenciesState_===-1,n=this.computeValue_(!0),r=t||A(e)||A(n)||!this.equals_(e,n);return r&&(this.value_=n,N()&&bn({observableKind:`computed`,debugObjectName:this.name_,object:this.scope_,type:`update`,oldValue:e,newValue:n})),r}computeValue_(e){this.isComputing=!0;let t=Et(!1),n;if(e)n=Lt(this,this.derivation,this.scope_);else if(M.disableErrorBoundaries===!0)n=this.derivation.call(this.scope_);else try{n=this.derivation.call(this.scope_)}catch(e){n=new Mt(e)}return Dt(t),this.isComputing=!1,n}suspend_(){this.keepAlive_||(Bt(this),this.value_=void 0)}warnAboutUntrackedRead_(){(typeof this.requiresReaction_==`boolean`?this.requiresReaction_:M.computedRequiresReaction)&&console.warn(`[mobx] Computed value '${this.name_}' is being read outside a reactive context. Doing a full recompute.`)}toString(){return`${this.name_}[${this.derivation.toString()}]`}valueOf(){return re(this.get())}[Symbol.toPrimitive](){return this.valueOf()}};let jt=b(`ComputedValue`,At);var Mt=class{constructor(e){this.cause=void 0,this.cause=e}};function A(e){return e instanceof Mt}function Nt(e){switch(e.dependenciesState_){case 0:return!1;case-1:case 2:return!0;case 1:{let t=j(!0),n=Ht(),r=e.observing_,i=r.length;for(let a=0;a<i;a++){let i=r[a];if(jt(i)){if(M.disableErrorBoundaries)i.get();else try{i.get()}catch{return Ut(n),Wt(t),!0}if(e.dependenciesState_===2)return Ut(n),Wt(t),!0}}return Gt(e),Ut(n),Wt(t),!1}}}function Pt(){return M.trackingDerivation!==null}function Ft(e){let t=!!e.observers_&&e.observers_.size>0;!M.allowStateChanges&&(t||M.enforceActions===`always`)&&console.warn(`[MobX] `+(M.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 It(e){!M.allowStateReads&&M.observableRequiresReaction&&console.warn(`[mobx] Observable '${e.name_}' being read outside a reactive context.`)}function Lt(e,t,n){let r=j(!0);Gt(e),e.newObserving_=Array(e.runId_===0?100:e.observing_.length),e.unboundDepsCount_=0,e.runId_=++M.runId;let i=M.trackingDerivation;M.trackingDerivation=e,M.inBatch++;let a;if(M.disableErrorBoundaries===!0)a=t.call(n);else try{a=t.call(n)}catch(e){a=new Mt(e)}return M.inBatch--,M.trackingDerivation=i,zt(e),Rt(e),Wt(r),a}function Rt(e){e.observing_.length===0&&(typeof e.requiresObservable_==`boolean`?e.requiresObservable_:M.reactionRequiresObservable)&&console.warn(`[mobx] Derivation '${e.name_}' is created/updated without reading any observable value.`)}function zt(e){let t=e.observing_,n=e.observing_=e.newObserving_,r=0,i=0,a=e.unboundDepsCount_;for(let e=0;e<a;e++){let t=n[e];t.diffValue===0&&(t.diffValue=1,i!==e&&(n[i]=t),i++),t.dependenciesState_>r&&(r=t.dependenciesState_)}for(n.length=i,e.newObserving_=null,a=t.length;a--;){let n=t[a];n.diffValue===0&&nn(n,e),n.diffValue=0}for(;i--;){let t=n[i];t.diffValue===1&&(t.diffValue=0,tn(t,e))}r!==0&&(e.dependenciesState_=r,e.onBecomeStale_())}function Bt(e){let t=e.observing_;e.observing_=[];let n=t.length;for(;n--;)nn(t[n],e);e.dependenciesState_=-1}function Vt(e){let t=Ht();try{return e()}finally{Ut(t)}}function Ht(){let e=M.trackingDerivation;return M.trackingDerivation=null,e}function Ut(e){M.trackingDerivation=e}function j(e){let t=M.allowStateReads;return M.allowStateReads=e,t}function Wt(e){M.allowStateReads=e}function Gt(e){if(e.dependenciesState_===0)return;e.dependenciesState_=0;let t=e.observing_,n=t.length;for(;n--;)t[n].lowestObserverState_=0}let Kt=[`mobxGuid`,`spyListeners`,`enforceActions`,`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`allowStateReads`,`disableErrorBoundaries`,`runId`,`UNCHANGED`];var qt=class{constructor(){this.version=7,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.isRunningUnobservations=!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.safeDescriptors=!0}};let Jt=!0,Yt=!1,M=function(){let e=globalThis;return e.__mobxInstanceCount>0&&!e.__mobxGlobals&&(Jt=!1),e.__mobxGlobals&&e.__mobxGlobals.version!==7&&(Jt=!1),Jt?e.__mobxGlobals?(e.__mobxInstanceCount+=1,e.__mobxGlobals.UNCHANGED||(e.__mobxGlobals.UNCHANGED={}),e.__mobxGlobals):(e.__mobxInstanceCount=1,e.__mobxGlobals=new qt):(setTimeout(()=>{Yt||n(35)},1),new qt)}();function Xt(){if((M.pendingReactions.length||M.inBatch||M.isRunningReactions)&&n(36),Yt=!0,Jt){let e=globalThis;--e.__mobxInstanceCount===0&&(e.__mobxGlobals=void 0),M=new qt}}function Zt(){return M}function Qt(){let e=new qt;for(let t in e)Kt.indexOf(t)===-1&&(M[t]=e[t]);M.allowStateChanges=!M.enforceActions}function $t(e){return!!e.observers_&&e.observers_.size>0}function en(e){return e.observers_??new Set}function tn(e,t){(e.observers_??=new Set).add(t),e.lowestObserverState_>t.dependenciesState_&&(e.lowestObserverState_=t.dependenciesState_)}function nn(e,t){let n=e.observers_;n&&(n.delete(t),n.size===0&&rn(e))}function rn(e){e.isPendingUnobservation===!1&&(e.isPendingUnobservation=!0,M.pendingUnobservations.push(e))}function an(){M.inBatch++}function on(){--M.inBatch===0&&(gn(),!M.isRunningUnobservations&&M.pendingUnobservations.length>0&&sn())}function sn(){M.isRunningUnobservations=!0;try{let e=M.pendingUnobservations;for(let t=0;t<e.length;t++){let n=e[t];n.isPendingUnobservation=!1,(!n.observers_||n.observers_.size===0)&&(n.observers_=null,n.isBeingObserved&&(n.isBeingObserved=!1,n.onBUO()),n instanceof At&&n.suspend_())}M.pendingUnobservations=[]}finally{M.isRunningUnobservations=!1}}function cn(e){var t;e.isBeingObserved||(e.isBeingObserved=!0,e.onBO(),(t=e.observing_)==null||t.forEach(cn))}function ln(e){It(e);let t=M.trackingDerivation;return t===null?((!e.observers_||e.observers_.size===0)&&M.inBatch>0&&rn(e),!1):(t.runId_!==e.lastAccessedBy_&&(e.lastAccessedBy_=t.runId_,t.newObserving_[t.unboundDepsCount_++]=e,!e.isBeingObserved&&M.trackingContext&&(e.isBeingObserved=!0,e.onBO())),e.isBeingObserved)}function un(e){var t;e.lowestObserverState_!==2&&(e.lowestObserverState_=2,(t=e.observers_)==null||t.forEach(e=>{e.dependenciesState_===0&&e.onBecomeStale_(),e.dependenciesState_=2}))}function dn(e){var t;e.lowestObserverState_!==2&&(e.lowestObserverState_=2,(t=e.observers_)==null||t.forEach(t=>{t.dependenciesState_===1?t.dependenciesState_=2:t.dependenciesState_===0&&(e.lowestObserverState_=0)}))}function fn(e){var t;e.lowestObserverState_===0&&(e.lowestObserverState_=1,(t=e.observers_)==null||t.forEach(e=>{e.dependenciesState_===0&&(e.dependenciesState_=1,e.onBecomeStale_())}))}var pn=class{constructor(e=`Reaction@`+u(),t,n,r){this.name_=void 0,this.onInvalidate_=void 0,this.errorHandler_=void 0,this.requiresObservable_=void 0,this.observing_=[],this.newObserving_=[],this.dependenciesState_=-1,this.runId_=0,this.unboundDepsCount_=0,this.flags_=0,this.removeAbortListener_=void 0,this.name_=e,this.onInvalidate_=t,this.errorHandler_=n,this.requiresObservable_=r}get isDisposed(){return w(this.flags_,1)}set isDisposed(e){this.flags_=T(this.flags_,1,e)}get isScheduled(){return w(this.flags_,2)}set isScheduled(e){this.flags_=T(this.flags_,2,e)}get isTrackPending(){return w(this.flags_,4)}set isTrackPending(e){this.flags_=T(this.flags_,4,e)}get isRunning(){return w(this.flags_,8)}set isRunning(e){this.flags_=T(this.flags_,8,e)}get diffValue(){return+!!w(this.flags_,16)}set diffValue(e){this.flags_=T(this.flags_,16,e===1)}onBecomeStale_(){this.schedule_()}schedule_(){this.isScheduled||(this.isScheduled=!0,M.pendingReactions.push(this),gn())}runReaction_(){if(!this.isDisposed){an(),this.isScheduled=!1;let e=M.trackingContext;if(M.trackingContext=this,Nt(this)){this.isTrackPending=!0;try{this.onInvalidate_(),this.isTrackPending&&N()&&bn({name:this.name_,type:`scheduled-reaction`})}catch(e){this.reportExceptionInDerivation_(e)}}M.trackingContext=e,on()}}track(e){if(this.isDisposed)return;an();let t=N(),n;t&&(n=Date.now(),xn({name:this.name_,type:`reaction`})),this.isRunning=!0;let r=M.trackingContext;M.trackingContext=this;let i=Lt(this,e,void 0);M.trackingContext=r,this.isRunning=!1,this.isTrackPending=!1,this.isDisposed&&Bt(this),A(i)&&this.reportExceptionInDerivation_(i.cause),t&&Cn({time:Date.now()-n}),on()}reportExceptionInDerivation_(e){if(this.errorHandler_){this.errorHandler_(e,this);return}if(M.disableErrorBoundaries)throw e;let t=`[mobx] Encountered an uncaught exception that was thrown by a reaction or observer component, in: '${this}'`;M.suppressReactionErrors?console.warn(`[mobx] (error in reaction '${this.name_}' suppressed, fix error of causing action below)`):console.error(t,e),N()&&bn({type:`error`,name:this.name_,message:t,error:``+e}),M.globalReactionErrorHandlers.forEach(t=>t(e,this))}dispose(){if(!this.isDisposed){var e;this.isDisposed=!0,(e=this.removeAbortListener_)==null||e.call(this),this.isRunning||(an(),Bt(this),on())}}getDisposer_(e){let t=()=>this.dispose();return e!=null&&e.addEventListener&&!this.isDisposed&&(e.addEventListener(`abort`,t),this.removeAbortListener_=()=>e.removeEventListener==null?void 0:e.removeEventListener(`abort`,t)),t[E]=this,`dispose`in Symbol&&typeof Symbol.dispose==`symbol`&&(t[Symbol.dispose]=t),t}toString(){return`Reaction[${this.name_}]`}};function mn(e){return M.globalReactionErrorHandlers.push(e),()=>{let t=M.globalReactionErrorHandlers.indexOf(e);t>=0&&M.globalReactionErrorHandlers.splice(t,1)}}let hn=e=>e();function gn(){M.inBatch>0||M.isRunningReactions||hn(_n)}function _n(){M.isRunningReactions=!0;let e=M.pendingReactions,t=0;for(;e.length>0;){++t===100&&(console.error(`Reaction doesn't converge to a stable state after 100 iterations. Probably there is a cycle in the reactive function: ${e[0]}`),e.splice(0));let n=e.splice(0);for(let e=0,t=n.length;e<t;e++)n[e].runReaction_()}M.isRunningReactions=!1}let vn=b(`Reaction`,pn);function yn(e){let t=hn;hn=n=>e(()=>t(n))}function N(){return!!M.spyListeners.length}function bn(e){if(!M.spyListeners.length)return;let t=M.spyListeners;for(let n=0,r=t.length;n<r;n++)t[n](e)}function xn(e){bn(r({},e,{spyReportStart:!0}))}let Sn={type:`report-end`,spyReportEnd:!0};function Cn(e){bn(e?r({},e,{type:`report-end`,spyReportEnd:!0}):Sn)}function wn(e){return M.spyListeners.push(e),d(()=>{M.spyListeners=M.spyListeners.filter(t=>t!==e)})}let P=`action`,Tn=`autoAction`,En=`<unnamed action>`,Dn=Se(P),On=Se(`action.bound`,{bound:!0}),kn=Se(Tn,{autoAction:!0}),An=Se(`autoAction.bound`,{autoAction:!0,bound:!0});function jn(e){return Xe(e,Te)}function Mn(e){return function(t,r){if(r&&typeof r.kind==`string`)return Te(e?kn:Dn,t,r);if(p(t))return xt(t.name||En,t,e);if(p(r))return xt(t,r,e);if(m(t))return jn(Se(e?Tn:P,{name:t,autoAction:e}));n("Invalid arguments for `action`")}}let Nn=Mn(!1);r(Nn,Dn);let Pn=Mn(!0);r(Pn,kn);let Fn=jn(On),In=jn(An);function Ln(e){return St(e.name||En,!1,e,this,void 0)}function Rn(e){return p(e)&&e.isMobxAction===!0}function zn(e,t=c){var r;p(e)||n(`Autorun expects a function as first argument`),Rn(e)&&n(`Autorun does not accept actions since actions are untrackable`);let i=t?.name??(e.name||`Autorun@`+u()),a=!t.scheduler&&!t.delay,o;if(a)o=new pn(i,function(){this.track(s)},t.onError,t.requiresObservable);else{let e=Vn(t),n=!1;o=new pn(i,()=>{n||(n=!0,e(()=>{n=!1,o.isDisposed||o.track(s)}))},t.onError,t.requiresObservable)}function s(){e(o)}return t!=null&&(r=t.signal)!=null&&r.aborted||o.schedule_(),o.getDisposer_(t?.signal)}let Bn=e=>e();function Vn(e){return e.scheduler?e.scheduler:e.delay?t=>setTimeout(t,e.delay):Bn}function Hn(e,t,r=c){var i;(!p(e)||!p(t))&&n(`First and second argument to reaction should be functions`),g(r)||n(`Third argument of reactions should be an object`);let a=r.name??`Reaction@`+u(),o=Nn(a,r.onError?Un(r.onError,t):t),s=!r.scheduler&&!r.delay,l=Vn(r),d=!0,f=!1,m,h=r.equals||pe,_=new pn(a,()=>{d||s?v():f||(f=!0,l(v))},r.onError,r.requiresObservable);function v(){if(f=!1,_.isDisposed)return;let t=!1,n=m;_.track(()=>{let n=Tt(!1,()=>e(_));t=d||!h(m,n),m=n}),(d&&r.fireImmediately||!d&&t)&&o(m,n,_),d=!1}return r!=null&&(i=r.signal)!=null&&i.aborted||_.schedule_(),_.getDisposer_(r?.signal)}function Un(e,t){return function(){try{return t.apply(this,arguments)}catch(t){e.call(this,t)}}}function Wn(e,t,n){return Kn(`onBO`,e,t,n)}function Gn(e,t,n){return Kn(`onBUO`,e,t,n)}function Kn(e,t,n,r){let i=typeof r==`function`?Oi(t,n):Oi(t),a=p(r)?r:n,o=`${e}L`;return i[o]?i[o].add(a):i[o]=new Set([a]),function(){let e=i[o];e&&(e.delete(a),e.size===0&&delete i[o])}}let qn=`always`;function Jn(e){e.isolateGlobalState===!0&&Xt();let{enforceActions:t}=e;if(t!==void 0){let e=t===qn?qn:t===`observed`;M.enforceActions=e,M.allowStateChanges=!(e===!0||e===qn)}[`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`disableErrorBoundaries`,`safeDescriptors`].forEach(t=>{t in e&&(M[t]=!!e[t])}),M.allowStateReads=!M.observableRequiresReaction,M.disableErrorBoundaries===!0&&console.warn("WARNING: Debug feature only. MobX will NOT recover from errors when `disableErrorBoundaries` is enabled."),e.reactionScheduler&&yn(e.reactionScheduler)}function Yn(e,t,r,i){arguments.length>4&&n(`'extendObservable' expected 2-4 arguments`),typeof e!=`object`&&n(`'extendObservable' expects an object as first argument`),fi(e)&&n(`'extendObservable' should not be used on maps, use map.merge instead`),g(t)||n(`'extendObservable' only accepts plain objects as second argument`),(br(t)||br(r))&&n(`Extending an object with another observable (object) is not supported`);let a=ae(t);return ji(()=>{let t=Si(e,i)[E];te(a).forEach(e=>{t.extend_(e,a[e],r&&e in r?r[e]:!0)})}),e}function Xn(e,t){return Zn(Oi(e,t))}function Zn(e){let t={name:e.name_};return e.observing_&&e.observing_.length>0&&(t.dependencies=er(e.observing_).map(Zn)),t}function Qn(e,t){return $n(Oi(e,t))}function $n(e){let t={name:e.name_};return $t(e)&&(t.observers=Array.from(en(e),$n)),t}function er(e){return Array.from(new Set(e))}let tr=0;var nr=class extends Error{constructor(){super(`FLOW_CANCELLED`),Object.setPrototypeOf(this,new.target.prototype),this.name=`FlowCancellationError`}toString(){return`Error: ${this.message}`}};function rr(e){return e instanceof nr}function ir(e){return Xe(e,je)}let ar=Oe(`flow`),or=Oe(`flow.bound`,{bound:!0}),sr=r(function(e,t){if(t&&typeof t.kind==`string`)return je(ar,e,t);arguments.length!==1&&n(`Flow expects single argument with generator function`);let r=e,i=r.name||`<unnamed flow>`,a=function(){let e=this,t=arguments,n=++tr,a=Nn(`${i} - runid: ${n} - init`,r).apply(e,t),o,s,c=new Promise(function(e,t){let r=0;o=t;function c(e){s=void 0;let o;try{o=Nn(`${i} - runid: ${n} - yield ${r++}`,a.next).call(a,e)}catch(e){return t(e)}u(o)}function l(e){s=void 0;let o;try{o=Nn(`${i} - runid: ${n} - yield ${r++}`,a.throw).call(a,e)}catch(e){return t(e)}u(o)}function u(n){if(p(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=Nn(`${i} - runid: ${n} - cancel`,function(){try{s&&lr(s);let e=a.return(void 0),t=Promise.resolve(e.value);t.then(f,f),lr(t),o(new nr)}catch(e){o(e)}}),c};return a.isMobXFlow=!0,a},ar),cr=ir(or);function lr(e){p(e.cancel)&&e.cancel()}function ur(e){return e}function dr(e){return e?.isMobXFlow===!0}function fr(e,t,r){let i;if(fi(e)||I(e)||kt(e))i=ki(e);else if(Ti(e)){if(!m(t))return n(`InterceptReads can only be used with a specific property, not with an object in general`);i=ki(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,()=>{i.dehancer=void 0}):n(`An intercept reader was already established`)}function pr(e,t,n){return p(n)?hr(e,t,n):mr(e,t)}function mr(e,t){return Kr(ki(e),t)}function hr(e,t,n){return Kr(ki(e,t),n)}function gr(e,t){var n;if(t===void 0)return jt(e);if(Ti(e)===!1)return!1;let r=e[E];return(n=r.lazyComputedKeys_)!=null&&n.has(t)?!0:r.values_.has(t)?jt(Oi(e,t)):!1}function _r(e){return arguments.length>1?n(`isComputed expects only 1 argument. Use isComputedProp to inspect the observability of a property`):gr(e)}function vr(e,t){return m(t)?gr(e,t):n(`isComputed expected a property name as second argument`)}function yr(e,t){if(!e)return!1;if(t!==void 0){if(fi(e)||I(e))return n(`isObservable(object, propertyName) is not supported for arrays and maps. Use map.has or array.length instead.`);if(Ti(e)){var r,i;let n=e[E];return n.values_.has(t)||!!((r=n.lazyComputedKeys_)!=null&&r.has(t))||!!((i=n.lazyObservableKeys_)!=null&&i.has(t))}return!1}return Ti(e)||!!e[E]||ce(e)||vn(e)||jt(e)}function br(e){return arguments.length!==1&&n(`isObservable expects only 1 argument. Use isObservableProp to inspect the observability of a property`),yr(e)}function xr(e,t){return m(t)?yr(e,t):n(`expected a property name as second argument`)}function Sr(e){if(Ti(e))return e[E].keys_();if(fi(e)||_i(e))return Array.from(e.keys());if(I(e))return e.map((e,t)=>t);n(5)}function Cr(e){if(Ti(e))return Sr(e).map(t=>e[t]);if(fi(e))return Sr(e).map(t=>e.get(t));if(_i(e))return Array.from(e.values());if(I(e))return e.slice();n(6)}function wr(e){if(Ti(e))return Sr(e).map(t=>[t,e[t]]);if(fi(e))return Sr(e).map(t=>[t,e.get(t)]);if(_i(e))return Array.from(e.entries());if(I(e))return e.map((e,t)=>[t,e]);n(7)}function Tr(e,t,r){if(arguments.length===2&&!_i(e)){an();let n=t;try{for(let t in n)Tr(e,t,n[t])}finally{on()}return}Ti(e)?e[E].set_(t,r):fi(e)?e.set(t,r):_i(e)?e.add(t):I(e)?(typeof t!=`number`&&(t=parseInt(t,10)),t<0&&n(42,t),an(),t>=e.length&&(e.length=t+1),e[t]=r,on()):n(8)}function Er(e,t){Ti(e)?e[E].delete_(t):fi(e)||_i(e)?e.delete(t):I(e)?(typeof t!=`number`&&(t=parseInt(t,10)),e.splice(t,1)):n(9)}function Dr(e,t){if(Ti(e))return e[E].has_(t);if(fi(e)||_i(e))return e.has(t);if(I(e))return t>=0&&t<e.length;n(10)}function Or(e,t){if(Dr(e,t)){if(Ti(e))return e[E].get_(t);if(fi(e))return e.get(t);if(I(e))return e[t];n(11)}}function kr(e,t,r){if(Ti(e))return e[E].defineProperty_(t,r);n(39)}function Ar(e){if(Ti(e))return e[E].ownKeys_();n(38)}function jr(e,t,n,r){return p(n)?Nr(e,t,n,r):Mr(e,t,n)}function Mr(e,t,r){let i=ki(e);if(I(e))r&&t({observableKind:`array`,object:i.proxy_,debugObjectName:i.atom_.name_,type:`splice`,index:0,added:i.values_.slice(),addedCount:i.values_.length,removed:[],removedCount:0});else if(fi(e))r===!0&&n("`observe` doesn't support fireImmediately=true in combination with maps.");else if(_i(e))r===!0&&n("`observe` doesn't support fireImmediately=true in combination with sets.");else if(Ti(e))r===!0&&n("`observe` doesn't support the fire immediately property for observable objects.");else return Pr(i,t,r);return Yr(i,t)}function Nr(e,t,n,r){return Pr(ki(e,t),n,r)}function Pr(e,t,n){if(jt(e)){let r=!0,i;return zn(()=>{let a=e.get();if(!r||n){let n=Ht();t({observableKind:`computed`,debugObjectName:e.name_,type:ni,object:e,newValue:a,oldValue:i}),Ut(n)}r=!1,i=a})}return n&&t({observableKind:`value`,debugObjectName:e.name_,object:e,type:ni,newValue:e.value_,oldValue:void 0}),Yr(e,t)}function Fr(e,t,n){return e.set(t,n),n}function Ir(e,t){if(typeof e!=`object`||!e||e instanceof Date||!br(e))return e;if(kt(e)||jt(e))return Ir(e.get(),t);if(t.has(e))return t.get(e);if(I(e)){let n=Fr(t,e,Array(e.length));return e.forEach((e,r)=>{n[r]=Ir(e,t)}),n}if(_i(e)){let n=Fr(t,e,new Set);return e.forEach(e=>{n.add(Ir(e,t))}),n}if(fi(e)){let n=Fr(t,e,new Map);return e.forEach((e,r)=>{n.set(r,Ir(e,t))}),n}else{let n=Fr(t,e,{});return Ar(e).forEach(r=>{o.propertyIsEnumerable.call(e,r)&&(n[r]=Ir(e[r],t))}),n}}function Lr(e,t){return t&&n(`toJS no longer supports options`),Ir(e,new Map)}function Rr(e,t=void 0){an();try{return e.apply(t)}finally{on()}}function zr(e,t,n){return arguments.length===1||t&&typeof t==`object`?Vr(e,t):Br(e,t,n||{})}function Br(e,t,n){let r;if(typeof n.timeout==`number`){let e=Error(`WHEN_TIMEOUT`);r=setTimeout(()=>{if(!a[E].isDisposed)if(a(),n.onError)n.onError(e);else throw e},n.timeout)}n.name=n.name||`When@`+u();let i=xt(n.name+`-effect`,t);var a=zn(t=>{Tt(!1,e)&&(t.dispose(),r&&clearTimeout(r),i())},n);return a}function Vr(e,t){var i;if(t&&t.onError)return n(`the options 'onError' and 'promise' cannot be combined`);if(t!=null&&(i=t.signal)!=null&&i.aborted)return r(Promise.reject(Error(`WHEN_ABORTED`)),{cancel:()=>null});let a,o,s=new Promise((n,i)=>{var s;let c=Br(e,n,r({},t,{onError:i}));a=()=>{c(),i(Error(`WHEN_CANCELLED`))},o=()=>{c(),i(Error(`WHEN_ABORTED`))},t==null||(s=t.signal)==null||s.addEventListener==null||s.addEventListener(`abort`,o)}).finally(()=>{var e;return t==null||(e=t.signal)==null||e.removeEventListener==null?void 0:e.removeEventListener(`abort`,o)});return s.cancel=a,s}function Hr(e){return e[E]}let Ur={has(e,t){return Hr(e).has_(t)},get(e,t){return Hr(e).get_(t)},set(e,t,n){return m(t)?Hr(e).set_(t,n,!0)??!0:!1},deleteProperty(e,t){return m(t)?Hr(e).delete_(t,!0)??!0:!1},defineProperty(e,t,n){return Hr(e).defineProperty_(t,n)??!0},ownKeys(e){return Hr(e).ownKeys_()},preventExtensions(e){n(13)}};function Wr(e,t){var n;return e=Si(e,t),(n=e[E]).proxy_??(n.proxy_=new Proxy(e,Ur))}function Gr(e){return e.interceptors_!==void 0&&e.interceptors_.length>0}function Kr(e,t){let n=e.interceptors_;return n?n.push(t):n=e.interceptors_=[t],d(()=>{let e=n.indexOf(t);e!==-1&&n.splice(e,1)})}function qr(e,t){let r=Ht();try{let r=[...e.interceptors_||[]];for(let e=0,i=r.length;e<i&&(t=r[e](t),t&&!t.type&&n(14),t);e++);return t}finally{Ut(r)}}function Jr(e){return e.changeListeners_!==void 0&&e.changeListeners_.length>0}function Yr(e,t){let n=e.changeListeners_;return n?n.push(t):n=e.changeListeners_=[t],d(()=>{let e=n.indexOf(t);e!==-1&&n.splice(e,1)})}function Xr(e,t){let n=Ht(),r=e.changeListeners_;if(r){r=r.slice();for(let e=0,n=r.length;e<n;e++)r[e](t);Ut(n)}}function Zr(e,t,n){return ji(()=>{let r=Si(e,n)[E];te(t).forEach(e=>ei(r,e,t[e]))}),e}let Qr=Symbol(`mobx-keys`);function $r(e,t,r){return!g(e)&&!g(Object.getPrototypeOf(e))&&n(`'makeAutoObservable' can only be used for classes that don't have a superclass`),Ti(e)&&n(`makeAutoObservable can only be used on objects not already made observable`),g(e)?Yn(e,e,t,r):(ji(()=>{let n=Si(e,r)[E];if(!e[Qr]){let t=Object.getPrototypeOf(e),n=new Set([...te(e),...te(t)]);n.delete(`constructor`),n.delete(E),v(t,Qr,n)}e[Qr].forEach(e=>ei(n,e,t&&e in t?t[e]:!0))}),e)}function ei(e,t,r){if(r===!0&&(r=e.defaultAnnotation_),r===!1)return;Di(e,r,t),t in e.target_||n(1,r.annotationType_,`${e.name_}.${t.toString()}`);let a=e.target_;for(;a&&a!==o;){let n=i(a,t);if(n){let i=r.make_(e,t,n,a);if(i===0)return;if(i===1)break}a=Object.getPrototypeOf(a)}Ei(e,r,t)}let ti=`splice`,ni=`update`,ri={get(e,t){let n=e[E];return t===E?n:t===`length`?n.getArrayLength_():typeof t==`string`&&!isNaN(t)?n.get_(parseInt(t)):ie(oi,t)?oi[t]:e[t]},set(e,t,n){let r=e[E];return t===`length`?r.setArrayLength_(n):typeof t==`symbol`||isNaN(t)?e[t]=n:r.set_(parseInt(t),n),!0},preventExtensions(){n(15)}};var ii=class{constructor(e=`ObservableArray@`+u(),t,n){this.owned_=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.atom_=new se(e),this.enhancer_=(n,r)=>t(n,r,e+`[..]`)}dehanceValue_(e){return this.dehancer===void 0?e:this.dehancer(e)}dehanceValues_(e){return this.dehancer!==void 0&&e.length>0?e.map(this.dehancer):e}getArrayLength_(){return this.atom_.reportObserved(),this.values_.length}setArrayLength_(e){(!Number.isInteger(e)||e<0)&&n(40,e);let t=this.values_.length;if(e!==t)if(e>t){let n=Array.from({length:e-t});this.spliceWithArray_(t,0,n)}else this.spliceWithArray_(e,t-e)}updateArrayLength_(e,t){e!==this.lastKnownLength_&&n(16),this.lastKnownLength_+=t}spliceWithArray_(e,t,n){Ft(this.atom_);let r=this.values_.length;if(e===void 0?e=0:e>r?e=r:e<0&&(e=Math.max(0,r+e)),t=arguments.length===1?r-e:t==null?0:Math.max(0,Math.min(t,r-e)),n===void 0&&(n=s),Gr(this)){let r=qr(this,{object:this.proxy_,type:ti,index:e,removedCount:t,added:n});if(!r)return s;t=r.removedCount,n=r.added}n=n.length===0?n:n.map(e=>this.enhancer_(e,void 0));{let e=n.length-t;this.updateArrayLength_(r,e)}let i=this.spliceItemsIntoValues_(e,t,n);return(t!==0||n.length!==0)&&this.notifyArraySplice_(e,n,i),this.dehanceValues_(i)}spliceItemsIntoValues_(e,t,n){if(n.length<1e4)return this.values_.splice(e,t,...n);{let r=this.values_.slice(e,e+t),i=this.values_.slice(e+t);this.values_.length+=n.length-t;for(let t=0;t<n.length;t++)this.values_[e+t]=n[t];for(let t=0;t<i.length;t++)this.values_[e+n.length+t]=i[t];return r}}notifyArrayChildUpdate_(e,t,n){let r=!this.owned_&&N(),i=Jr(this),a=i||r?{observableKind:`array`,object:this.proxy_,type:ni,debugObjectName:this.atom_.name_,index:e,newValue:t,oldValue:n}:null;r&&xn(a),this.atom_.reportChanged(),i&&Xr(this,a),r&&Cn()}notifyArraySplice_(e,t,n){let r=!this.owned_&&N(),i=Jr(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&&xn(a),this.atom_.reportChanged(),i&&Xr(this,a),r&&Cn()}get_(e){return this.atom_.reportObserved(),this.dehanceValue_(this.values_[e])}set_(e,t){let n=this.values_;if(e<n.length){Ft(this.atom_);let r=n[e];if(Gr(this)){let n=qr(this,{type:ni,object:this.proxy_,index:e,newValue:t});if(!n)return;t=n.newValue}t=this.enhancer_(t,r),t!==r&&(n[e]=t,this.notifyArrayChildUpdate_(e,t,r))}else{let r=Array.from({length:e+1-n.length});r[r.length-1]=t,this.spliceWithArray_(n.length,0,r)}}};function ai(e,t,n=`ObservableArray@`+u(),r=!1){return ji(()=>{let i=new ii(n,t,r);y(i.values_,E,i);let a=new Proxy(i.values_,ri);return i.proxy_=a,e&&e.length&&i.spliceWithArray_(0,0,e),a})}var oi={clear(){return this.splice(0)},replace(e){let t=this[E];return t.spliceWithArray_(0,t.values_.length,e)},toJSON(){return this.slice()},splice(e,t,...n){let r=this[E];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(e,t,n){return this[E].spliceWithArray_(e,t,n)},push(...e){let t=this[E];return t.spliceWithArray_(t.values_.length,0,e),t.values_.length},pop(){return this.splice(Math.max(this[E].values_.length-1,0),1)[0]},shift(){return this.splice(0,1)[0]},unshift(...e){let t=this[E];return t.spliceWithArray_(0,0,e),t.values_.length},reverse(){return M.trackingDerivation&&n(37,`reverse`),this.replace(this.slice().reverse()),this},sort(){M.trackingDerivation&&n(37,`sort`);let e=this.slice();return e.sort.apply(e,arguments),this.replace(e),this},remove(e){let t=this[E],n=t.dehanceValues_(t.values_).indexOf(e);return n>-1?(this.splice(n,1),!0):!1}};F(`at`,si),F(`concat`,si),F(`flat`,si),F(`includes`,si),F(`indexOf`,si),F(`join`,si),F(`lastIndexOf`,si),F(`slice`,si),F(`toString`,si),F(`toLocaleString`,si),F(`toSorted`,si),F(`toSpliced`,si),F(`with`,si),F(`every`,ci),F(`filter`,ci),F(`find`,ci),F(`findIndex`,ci),F(`findLast`,ci),F(`findLastIndex`,ci),F(`flatMap`,ci),F(`forEach`,ci),F(`map`,ci),F(`some`,ci),F(`toReversed`,ci),F(`reduce`,li),F(`reduceRight`,li);function F(e,t){typeof Array.prototype[e]==`function`&&(oi[e]=t(e))}function si(e){return function(){let t=this[E];t.atom_.reportObserved();let n=t.dehanceValues_(t.values_);return n[e].apply(n,arguments)}}function ci(e){return function(t,n){let r=this[E];return r.atom_.reportObserved(),r.dehanceValues_(r.values_)[e]((e,r)=>t.call(n,e,r,this))}}function li(e){return function(){let t=this[E];t.atom_.reportObserved();let n=t.dehanceValues_(t.values_),r=arguments[0];return arguments[0]=(e,t,n)=>r(e,t,n,this),n[e].apply(n,arguments)}}let ui=b(`ObservableArrayAdministration`,ii);function I(e){return h(e)&&ui(e[E])}let L={},R=`delete`;var di=class{constructor(e,t=me,n=`ObservableMap@`+u()){this.enhancer_=void 0,this.name_=void 0,this[E]=L,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_=n,ji(()=>{this.keysAtom_=le(`${this.name_}.keys()`),this.data_=new Map,this.hasMap_=new Map,e&&this.merge(e)})}has_(e){return this.data_.has(e)}has(e){if(!M.trackingDerivation)return this.has_(e);let t=this.hasMap_.get(e);if(!t){let n=t=new Ot(this.has_(e),ge,`${this.name_}.${ne(e)}?`,!1);this.hasMap_.set(e,n),n.onBUOL=new Set([()=>this.hasMap_.delete(e)])}return t.get()}set(e,t){let n=this.has_(e);if(Gr(this)){let r=qr(this,{type:n?ni:`add`,object:this,newValue:t,name:e});if(!r)return this;t=r.newValue}return n?this.updateValue_(e,t):this.addValue_(e,t),this}delete(e){if(Ft(this.keysAtom_),Gr(this)&&!qr(this,{type:R,object:this,name:e}))return!1;if(this.has_(e)){let t=N(),n=Jr(this),r=n||t?{observableKind:`map`,debugObjectName:this.name_,type:R,object:this,oldValue:this.data_.get(e).value_,name:e}:null;return t&&xn(r),Rr(()=>{var t;this.keysAtom_.reportChanged(),(t=this.hasMap_.get(e))==null||t.setNewValue_(!1),this.data_.get(e).setNewValue_(void 0),this.data_.delete(e)}),n&&Xr(this,r),t&&Cn(),!0}return!1}updateValue_(e,t){let n=this.data_.get(e);if(t=n.prepareNewValue_(t),t!==M.UNCHANGED){let r=N(),i=Jr(this),a=i||r?{observableKind:`map`,debugObjectName:this.name_,type:ni,object:this,oldValue:n.value_,name:e,newValue:t}:null;r&&xn(a),n.setNewValue_(t),i&&Xr(this,a),r&&Cn()}}addValue_(e,t){Ft(this.keysAtom_),Rr(()=>{var n;let r=new Ot(t,this.enhancer_,`${this.name_}.${ne(e)}`,!1);this.data_.set(e,r),t=r.value_,(n=this.hasMap_.get(e))==null||n.setNewValue_(!0),this.keysAtom_.reportChanged()});let n=N(),r=Jr(this),i=r||n?{observableKind:`map`,debugObjectName:this.name_,type:`add`,object:this,name:e,newValue:t}:null;n&&xn(i),r&&Xr(this,i),n&&Cn()}get(e){return this.has(e)?this.dehanceValue_(this.data_.get(e).get()):this.dehanceValue_(void 0)}getOrInsert(e,t){return this.has(e)||this.set(e,t),this.get(e)}getOrInsertComputed(e,t){return this.has(e)||this.set(e,t(e)),this.get(e)}dehanceValue_(e){return this.dehancer===void 0?e:this.dehancer(e)}keys(){return this.keysAtom_.reportObserved(),this.data_.keys()}values(){let e=this,t=this.keys();return pi({next(){let{done:n,value:r}=t.next();return{done:n,value:n?void 0:e.get(r)}}})}entries(){let e=this,t=this.keys();return pi({next(){let{done:n,value:r}=t.next();return{done:n,value:n?void 0:[r,e.get(r)]}}})}[Symbol.iterator](){return this.entries()}forEach(e,t){for(let[n,r]of this)e.call(t,r,n,this)}merge(e){return fi(e)&&(e=new Map(e)),Rr(()=>{g(e)?ee(e).forEach(t=>this.set(t,e[t])):Array.isArray(e)?e.forEach(([e,t])=>this.set(e,t)):x(e)?(S(e)||n(19,e),e.forEach((e,t)=>this.set(t,e))):e!=null&&n(20,e)}),this}clear(){Rr(()=>{Vt(()=>{for(let e of this.keys())this.delete(e)})})}replace(e){return Rr(()=>{let t=mi(e),n=new Map,r=!1;for(let e of this.data_.keys())if(!t.has(e))if(this.delete(e))r=!0;else{let t=this.data_.get(e);n.set(e,t)}for(let[e,i]of t.entries()){let t=this.data_.has(e);if(this.set(e,i),this.data_.has(e)){let i=this.data_.get(e);n.set(e,i),t||(r=!0)}}if(!r)if(this.data_.size!==n.size)this.keysAtom_.reportChanged();else{let e=this.data_.keys(),t=n.keys(),r=e.next(),i=t.next();for(;!r.done;){if(r.value!==i.value){this.keysAtom_.reportChanged();break}r=e.next(),i=t.next()}}this.data_=n}),this}get size(){return this.keysAtom_.reportObserved(),this.data_.size}toString(){return`[object ObservableMap]`}toJSON(){return Array.from(this)}get[Symbol.toStringTag](){return`Map`}},fi=b(`ObservableMap`,di);function pi(e){return e[Symbol.toStringTag]=`MapIterator`,Li(e)}function mi(e){if(x(e)||fi(e))return e;if(Array.isArray(e))return new Map(e);if(g(e)){let t=new Map;for(let n in e)t.set(n,e[n]);return t}else return n(21,e)}let hi={};var gi=class{constructor(e,t=me,n=`ObservableSet@`+u()){this.name_=void 0,this[E]=hi,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_=n,this.enhancer_=(e,r)=>t(e,r,n),ji(()=>{this.atom_=le(this.name_),e&&this.replace(e)})}dehanceValue_(e){return this.dehancer===void 0?e:this.dehancer(e)}clear(){Rr(()=>{Vt(()=>{for(let e of this.data_.values())this.delete(e)})})}forEach(e,t){for(let n of this)e.call(t,n,n,this)}get size(){return this.atom_.reportObserved(),this.data_.size}add(e){if(Ft(this.atom_),Gr(this)){let t=qr(this,{type:`add`,object:this,newValue:e});if(!t)return this;e=t.newValue}if(!this.has(e)){Rr(()=>{e=this.enhancer_(e,void 0),this.data_.add(e),this.atom_.reportChanged()});let t=N(),n=Jr(this),r=n||t?{observableKind:`set`,debugObjectName:this.name_,type:`add`,object:this,newValue:e}:null;t&&xn(r),n&&Xr(this,r),t&&Cn()}return this}delete(e){if(Gr(this)&&!qr(this,{type:R,object:this,oldValue:e}))return!1;if(this.has(e)){let t=N(),n=Jr(this),r=n||t?{observableKind:`set`,debugObjectName:this.name_,type:R,object:this,oldValue:e}:null;return t&&xn(r),Rr(()=>{this.atom_.reportChanged(),this.data_.delete(e)}),n&&Xr(this,r),t&&Cn(),!0}return!1}has(e){return this.atom_.reportObserved(),this.data_.has(this.dehanceValue_(e))}entries(){let e=this.values();return vi({next(){let{value:t,done:n}=e.next();return n?{value:void 0,done:n}:{value:[t,t],done:n}}})}keys(){return this.values()}values(){this.atom_.reportObserved();let e=this,t=this.data_.values();return vi({next(){let{value:n,done:r}=t.next();return r?{value:void 0,done:r}:{value:e.dehanceValue_(n),done:r}}})}intersection(e){return new Set(this).intersection(e)}union(e){return new Set(this).union(e)}difference(e){return new Set(this).difference(e)}symmetricDifference(e){return new Set(this).symmetricDifference(e)}isSubsetOf(e){return new Set(this).isSubsetOf(e)}isSupersetOf(e){return new Set(this).isSupersetOf(e)}isDisjointFrom(e){return new Set(this).isDisjointFrom(e)}replace(e){return _i(e)&&(e=new Set(e)),Array.isArray(e)||C(e)?Rr(()=>{let t=C(e)?e:new Set(e);if(t.size===0){this.clear();return}if(this.data_.size===0){t.forEach(e=>this.add(e));return}for(let e of this.data_.values())t.has(this.dehanceValue_(e))||this.delete(e);t.forEach(e=>this.add(e))}):e!=null&&n(41,e),this}toJSON(){return Array.from(this)}toString(){return`[object ObservableSet]`}[Symbol.iterator](){return this.values()}get[Symbol.toStringTag](){return`Set`}},_i=b(`ObservableSet`,gi);function vi(e){return e[Symbol.toStringTag]=`SetIterator`,Li(e)}let yi=Object.create(null),bi=`remove`;var xi=class{constructor(e,t=new Map,r,i=We){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.lazyComputedKeys_=void 0,this.lazyObservableKeys_=void 0,this.target_=e,this.values_=t,this.name_=r,this.defaultAnnotation_=i,this.keysAtom_=new se(`${this.name_}.keys`),this.isPlainObject_=g(this.target_),zi(this.defaultAnnotation_)||n(`defaultAnnotation must be valid annotation`),this.appliedAnnotations_={}}getObservablePropValue_(e){return(this.values_.get(e)??this.materializeLazyComputed_(e)??this.materializeLazyObservable_(e)).get()}materializeLazyComputed_(e){let t=this.lazyComputedKeys_?.get(e);if(!t)return;this.lazyComputedKeys_.delete(e),this.lazyComputedKeys_.size===0&&(this.lazyComputedKeys_=void 0);let n=t();return this.values_.set(e,n),n}materializeLazyObservable_(e){let t=this.lazyObservableKeys_?.get(e);if(!t)return;this.lazyObservableKeys_.delete(e),this.lazyObservableKeys_.size===0&&(this.lazyObservableKeys_=void 0);let n=t();return this.values_.set(e,n),n}setObservablePropValue_(e,t){let n=this.values_.get(e)??this.materializeLazyComputed_(e)??this.materializeLazyObservable_(e);if(n instanceof At)return n.set(t),!0;if(Gr(this)){let n=qr(this,{type:ni,object:this.proxy_||this.target_,name:e,newValue:t});if(!n)return null;t=n.newValue}if(t=n.prepareNewValue_(t),t!==M.UNCHANGED){let r=Jr(this),i=N(),a=r||i?{type:ni,observableKind:`object`,debugObjectName:this.name_,object:this.proxy_||this.target_,oldValue:n.value_,name:e,newValue:t}:null;i&&xn(a),n.setNewValue_(t),r&&Xr(this,a),i&&Cn()}return!0}get_(e){return M.trackingDerivation&&!ie(this.target_,e)&&this.has_(e),this.target_[e]}set_(e,t,n=!1){return ie(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)}has_(e){if(!M.trackingDerivation)return e in this.target_;this.pendingKeys_||=new Map;let t=this.pendingKeys_.get(e);return t||(t=new Ot(e in this.target_,ge,`${this.name_}.${ne(e)}?`,!1),this.pendingKeys_.set(e,t)),t.get()}extend_(e,t,n,r=!1){if(n===!0&&(n=this.defaultAnnotation_),n===!1)return this.defineProperty_(e,t,r);Di(this,n,e);let i=n.extend_(this,e,t,r);return i&&Ei(this,n,e),i}defineProperty_(e,t,n=!1){Ft(this.keysAtom_);try{an();let i=this.delete_(e);if(!i)return i;if(Gr(this)){let n=qr(this,{object:this.proxy_||this.target_,name:e,type:`add`,newValue:t.value});if(!n)return null;let{newValue:i}=n;t.value!==i&&(t=r({},t,{value:i}))}if(n){if(!Reflect.defineProperty(this.target_,e,t))return!1}else a(this.target_,e,t);this.notifyPropertyAddition_(e,t.value)}finally{on()}return!0}defineObservableProperty_(e,t,n,r=!1){Ft(this.keysAtom_);try{an();let i=this.delete_(e);if(!i)return i;if(Gr(this)){let n=qr(this,{object:this.proxy_||this.target_,name:e,type:`add`,newValue:t});if(!n)return null;t=n.newValue}let o=wi(e),s={configurable:M.safeDescriptors?this.isPlainObject_:!0,enumerable:!0,get:o.get,set:o.set};if(r){if(!Reflect.defineProperty(this.target_,e,s))return!1}else a(this.target_,e,s);let c=new Ot(t,n,`${this.name_}.${e.toString()}`,!1);this.values_.set(e,c),this.notifyPropertyAddition_(e,c.value_)}finally{on()}return!0}defineComputedProperty_(e,t,n=!1){Ft(this.keysAtom_);try{an();let r=this.delete_(e);if(!r)return r;if(Gr(this)&&!qr(this,{object:this.proxy_||this.target_,name:e,type:`add`,newValue:void 0}))return null;t.name||=`${this.name_}.${e.toString()}`,t.context=this.proxy_||this.target_;let i=wi(e),o={configurable:M.safeDescriptors?this.isPlainObject_:!0,enumerable:!1,get:i.get,set:i.set};if(n){if(!Reflect.defineProperty(this.target_,e,o))return!1}else a(this.target_,e,o);this.values_.set(e,new At(t)),this.notifyPropertyAddition_(e,void 0)}finally{on()}return!0}delete_(e,t=!1){if(Ft(this.keysAtom_),!ie(this.target_,e))return!0;if(Gr(this)&&!qr(this,{object:this.proxy_||this.target_,name:e,type:bi}))return null;try{var n;an();let r=Jr(this),a=N(),o=this.values_.get(e),s;if(!o&&(r||a)&&(s=i(this.target_,e)?.value),t){if(!Reflect.deleteProperty(this.target_,e))return!1}else delete this.target_[e];if(delete this.appliedAnnotations_[e],o&&(this.values_.delete(e),o instanceof Ot&&(s=o.value_),un(o)),this.keysAtom_.reportChanged(),(n=this.pendingKeys_)==null||(n=n.get(e))==null||n.set(e in this.target_),r||a){let t={type:bi,observableKind:`object`,object:this.proxy_||this.target_,debugObjectName:this.name_,oldValue:s,name:e};a&&xn(t),r&&Xr(this,t),a&&Cn()}}finally{on()}return!0}notifyPropertyAddition_(e,t){var n;let r=Jr(this),i=N();if(r||i){let n=r||i?{type:`add`,observableKind:`object`,debugObjectName:this.name_,object:this.proxy_||this.target_,name:e,newValue:t}:null;i&&xn(n),r&&Xr(this,n),i&&Cn()}(n=this.pendingKeys_)==null||(n=n.get(e))==null||n.set(!0),this.keysAtom_.reportChanged()}ownKeys_(){return this.keysAtom_.reportObserved(),te(this.target_)}keys_(){return this.keysAtom_.reportObserved(),Object.keys(this.target_)}};function Si(e,t){if(t&&Ti(e)&&n(`Options can't be provided for already observable objects.`),ie(e,E))return ki(e)instanceof xi||n(`Cannot convert '${Ai(e)}' into observable object:\nThe target is already observable of different type.\nExtending builtins is not supported.`),e;Object.isExtensible(e)||n(`Cannot make the designated object observable; it is not extensible`);let r=t?.name??`${g(e)?`ObservableObject`:e.constructor.name}@${u()}`;return v(e,E,new xi(e,new Map,String(r),at(t))),e}let Ci=b(`ObservableObjectAdministration`,xi);function wi(e){return yi[e]||(yi[e]={get(){return this[E].getObservablePropValue_(e)},set(t){return this[E].setObservablePropValue_(e,t)}})}function Ti(e){return h(e)?Ci(e[E]):!1}function Ei(e,t,n){e.appliedAnnotations_[n]=t}function Di(e,t,r){if(zi(t)||n(`Cannot annotate '${e.name_}.${r.toString()}': Invalid annotation.`),!be(t)&&ie(e.appliedAnnotations_,r)){let i=`${e.name_}.${r.toString()}`,a=e.appliedAnnotations_[r].annotationType_,o=t.annotationType_;n(`Cannot apply '${o}' to '${i}':\nThe field is already annotated with '${a}'.\nRe-annotating fields is not allowed.\nUse 'override' annotation for methods overridden by subclass.`)}}function Oi(e,t){if(typeof e==`object`&&e){if(I(e))return t!==void 0&&n(23),e[E].atom_;if(_i(e))return e.atom_;if(fi(e)){if(t===void 0)return e.keysAtom_;let r=e.data_.get(t)||e.hasMap_.get(t);return r||n(25,t,Ai(e)),r}if(Ti(e)){if(!t)return n(26);let r=e[E],i=r.values_.get(t)??r.materializeLazyComputed_(t)??r.materializeLazyObservable_(t);return i||n(27,t,Ai(e)),i}if(ce(e)||jt(e)||vn(e))return e}else if(p(e)&&vn(e[E]))return e[E];n(28)}function ki(e,t){if(e||n(29),t!==void 0)return ki(Oi(e,t));if(ce(e)||jt(e)||vn(e)||fi(e)||_i(e))return e;if(e[E])return e[E];n(24,e)}function Ai(e,t){let n;if(t!==void 0)n=Oi(e,t);else if(Rn(e))return e.name;else n=Ti(e)||fi(e)||_i(e)?ki(e):Oi(e);return n.name_}function ji(e){let t=Ht(),n=Et(!0);an();try{return e()}finally{on(),Dt(n),Ut(t)}}let Mi=o.toString;function Ni(e,t,n=-1){return Pi(e,t,n)}function Pi(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;let a=typeof e;if(a!==`function`&&a!==`object`&&typeof t!=`object`)return!1;let o=Mi.call(e);if(o!==Mi.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=Fi(e),t=Fi(t);let s=o===`[object Array]`;if(!s){if(typeof e!=`object`||typeof t!=`object`)return!1;let n=e.constructor,r=t.constructor;if(n!==r&&!(p(n)&&n instanceof n&&p(r)&&r instanceof r)&&`constructor`in e&&`constructor`in t)return!1}if(n===0)return!1;n<0&&(n=-1),r||=[],i||=[];let c=r.length;for(;c--;)if(r[c]===e)return i[c]===t;if(r.push(e),i.push(t),s){if(c=e.length,c!==t.length)return!1;for(;c--;)if(!Pi(e[c],t[c],n-1,r,i))return!1}else{let a=Object.keys(e),o=a.length;if(Object.keys(t).length!==o)return!1;for(let s=0;s<o;s++){let o=a[s];if(!(ie(t,o)&&Pi(e[o],t[o],n-1,r,i)))return!1}}return r.pop(),i.pop(),!0}function Fi(e){return I(e)?e.slice():x(e)||fi(e)||C(e)||_i(e)?Array.from(e.entries()):e}let Ii=globalThis.Iterator?.prototype||{};function Li(e){return e[Symbol.iterator]=Ri,r(Object.create(Ii),e)}function Ri(){return this}function zi(e){return e instanceof Object&&typeof e.annotationType_==`string`&&p(e.make_)&&p(e.extend_)}{let e=globalThis;[`Symbol`,`Map`,`Set`,`Proxy`].forEach(t=>{e[t]===void 0&&n(`MobX requires global '${t}' to be available or polyfilled`)})}typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__==`object`&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:wn,extras:{getDebugName:Ai},$mobx:E}),e.$mobx=E,e.FlowCancellationError=nr,e.ObservableMap=di,e.ObservableSet=gi,e.Reaction=pn,e._allowStateChanges=Tt,e._allowStateChangesInsideComputed=Ln,e._allowStateReadsEnd=Wt,e._allowStateReadsStart=j,e._autoAction=Pn,e._autoActionBound=In,e._endAction=wt,e._getAdministration=ki,e._getGlobalState=Zt,e._interceptReads=fr,e._isComputingDerivation=Pt,e._resetGlobalState=Qt,e._startAction=Ct,e.action=Nn,e.actionBound=Fn,e.autorun=zn,e.compareDefault=pe,e.compareIdentity=ue,e.compareShallow=fe,e.compareStructural=de,e.computed=k,e.computedStruct=gt,e.configure=Jn,e.createAtom=le,e.defineProperty=kr,e.entries=wr,e.extendObservable=Yn,e.flow=sr,e.flowBound=cr,e.flowResult=ur,e.get=Or,e.getAtom=Oi,e.getDebugName=Ai,e.getDependencyTree=Xn,e.getObserverTree=Qn,e.has=Dr,e.intercept=pr,e.isAction=Rn,e.isBoxedObservable=kt,e.isComputed=_r,e.isComputedProp=vr,e.isFlow=dr,e.isFlowCancellationError=rr,e.isObservable=br,e.isObservableArray=I,e.isObservableMap=fi,e.isObservableObject=Ti,e.isObservableProp=xr,e.isObservableSet=_i,e.keys=Sr,e.makeAutoObservable=$r,e.makeObservable=Zr,e.observable=O,e.observableDeep=dt,e.observableRef=lt,e.observableShallow=ut,e.observableStruct=ft,e.observe=jr,e.onBecomeObserved=Wn,e.onBecomeUnobserved=Gn,e.onReactionError=mn,e.override=ye,e.ownKeys=Ar,e.reaction=Hn,e.remove=Er,e.runInAction=Ln,e.set=Tr,e.spy=wn,e.toJS=Lr,e.transaction=Rr,e.untracked=Vt,e.values=Cr,e.when=zr})),Ng=ye(((e,t)=>{process.env.NODE_ENV===`production`?t.exports=jg():t.exports=Mg()}))();function Pg(e){if(Array.isArray(e))return Object.freeze(e.map(Pg));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]=Pg(r);return Object.freeze(t)}return e}function Fg(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 Ig(e){return typeof e==`string`?e:String(e)}function Lg(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 Rg(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")`)}var zg=class extends Error{name=`TemplateError`;kind=`EvalError`;pos;source;constructor(e,t,n={}){super(e,{cause:n.cause}),this.pos=t,this.source=n.source}get sourceSnippet(){return this.source?Jg(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}},Bg=class extends zg{name=`ParseError`;kind=`ParseError`;expected;found;constructor(e,t,n={}){super(e,t,n),this.expected=n.expected,this.found=n.found}},Vg=class extends zg{name=`EvalError`;kind=`EvalError`},Hg=class extends Vg{name=`FuncNotFoundError`;kind=`FuncNotFoundError`;funcName;suggestions;constructor(e,t,n={}){let r=Yg(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}},Ug=class extends Vg{name=`ArgCountError`;kind=`ArgCountError`;funcName;accepted;got;constructor(e,t,n,r,i={}){let a=t.minimum===t.maximum?`${t.minimum}`:`at least ${t.minimum}`;super(`wrong number of args for ${e}: want ${a} got ${n}`,r,i),this.funcName=e,this.accepted=t,this.got=n}},Wg=class extends Vg{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}},Gg=class extends Wg{constructor(e,t,n,r,i={}){super(e,t,`integer`,String(n),r,i),this.message=Number.isInteger(Number(n))?`integer out of range: ${String(n)}`:`expected integer; found ${String(n)}`}},Kg=class extends Vg{name=`MissingFieldError`;kind=`MissingFieldError`;path;constructor(e,t,n={}){super(`field "${e.join(`.`)}" not found on receiver`,t,n),this.path=e}},qg=class extends Vg{name=`FailError`;kind=`FailError`;constructor(e,t={line:0,column:0,offset:0},n={}){super(e,t,n)}};function Jg(e,t){let n=e.split(`
|
|
89
57
|
`),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(`
|
|
90
|
-
`)}function
|
|
58
|
+
`)}function Yg(e,t){if(t.length===0)return[];let n=t.map(t=>({name:t,dist:Xg(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 Xg(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 Zg(e){throw Error(`unhandled node kind: ${JSON.stringify(e)}`)}const Qg=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`]]),$g={left:`{{`,right:`}}`};var e_=class{src;leftDelim;rightDelim;offset=0;line=1;column=1;mode=`text`;pending;constructor(e,t=$g){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 Bg(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&&t_(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);t_(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);t_(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(;t_(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`;t_(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&&(r_(e)||n_(e)&&r_(this.src[this.offset+1]??``)||e===`.`&&r_(this.src[this.offset+1]??``)))return this.readNumber(t);if(e===`.`)return this.readDotOrField(t);if(e!==void 0&&c_(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===`
|
|
91
59
|
`)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===`
|
|
92
|
-
`)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(
|
|
60
|
+
`)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(n_(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);i_(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);a_(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);o_(this.src[this.offset]??``)||this.src[this.offset]===`_`;)this.advanceBy(1);return this.finishNumber(t,e)}}for(;r_(this.src[this.offset]??``)||this.src[this.offset]===`_`;)this.advanceBy(1);if(this.src[this.offset]===`.`)for(this.advanceBy(1);r_(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),n_(this.src[this.offset]??``)&&this.advanceBy(1);r_(this.src[this.offset]??``);)this.advanceBy(1);return this.src[this.offset]===`i`&&this.advanceBy(1),this.finishNumber(t,e)}isHexFloatTail(e){return i_(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);l_(this.src[this.offset]??``);)this.advanceBy(1);for(;this.src[this.offset]===`.`&&c_(this.src[this.offset+1]??``);)for(this.advanceBy(1);l_(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),!c_(this.src[this.offset]??``))return this.makeToken(`Dot`,`.`,e);for(;l_(this.src[this.offset]??``);)this.advanceBy(1);for(;this.src[this.offset]===`.`&&c_(this.src[this.offset+1]??``);)for(this.advanceBy(1);l_(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(;l_(this.src[this.offset]??``);)this.advanceBy(1);let n=this.src.slice(t,this.offset),r=Qg.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===`
|
|
93
61
|
`)this.advanceBy(1);else return}}advanceBy(e){for(let t=0;t<e;t++){let e=this.src[this.offset];this.offset+=1,e===`
|
|
94
|
-
`?(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
|
|
95
|
-
`}function
|
|
96
|
-
`;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 zg(`bad escape sequence \\${o}`,t,{expected:`valid escape sequence`,found:`\\${o}`,source:n})}}return r}function E_(e,t,n){let r=T_(`"${e.slice(1,-1).replace(/"/g,`\\"`)}"`,t,n);if(r.length===0)throw new zg(`empty rune literal`,t,{source:n});return r.codePointAt(0)??0}function D_(e,t){if(t(e)!==!1)for(let n of O_(e))D_(n,t)}function O_(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 Xg(e)}}const k_=Symbol(`go-template-js.MISSING`);function A_(e,t){if(e==null)return k_;if(e instanceof Map)return e.has(t)?e.get(t):k_;if(Array.isArray(e))return k_;if(typeof e==`object`){let n=e;return t in n?n[t]:k_}return k_}function j_(e,t){let n=e;for(let e of t){if(n===k_)return k_;n=A_(n,e)}return n}function M_(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)=>M_(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)||!M_(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=>M_(e[n],t[n])):!1}return!1}const N_=new WeakSet;function P_(e){return N_.add(e),e}function F_(e){return N_.has(e)}function I_(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 L_(e,t){return{eq:{fn:(e,...t)=>t.some(t=>B_(e,t)),argTypes:[`comparable`,`comparable`],arity:{kind:`variadic`}},ne:{fn:(e,t)=>!B_(e,t),argTypes:[`comparable`,`comparable`],arity:{kind:`exact`}},lt:{fn:(e,t)=>V_(e,t)<0,argTypes:[`ordered`,`ordered`],arity:{kind:`exact`}},le:{fn:(e,t)=>V_(e,t)<=0,argTypes:[`ordered`,`ordered`],arity:{kind:`exact`}},gt:{fn:(e,t)=>V_(e,t)>0,argTypes:[`ordered`,`ordered`],arity:{kind:`exact`}},ge:{fn:(e,t)=>V_(e,t)>=0,argTypes:[`ordered`,`ordered`],arity:{kind:`exact`}},len:{fn:e=>H_(e),argTypes:[`sized`],arity:{kind:`exact`}},index:{fn:(e,...t)=>{let n=e;for(let e of t)n=U_(n,e);return n},argTypes:[`collection`,`index-key`],arity:{kind:`variadic`}},slice:{fn:(e,...t)=>G_(e,t),argTypes:[`sliceable`,`int`],arity:{kind:`variadic`}},print:{fn:(...t)=>J_(t,e),argTypes:[`stringifiable`],arity:{kind:`variadic`},returnType:`string`},println:{fn:(...t)=>`${J_(t,e)}\n`,argTypes:[`stringifiable`],arity:{kind:`variadic`},returnType:`string`},printf:{fn:(n,...r)=>rv(n,r,e,t),argTypes:[`string`,`stringifiable`],arity:{kind:`variadic`},returnType:`string`},toString:{fn:n=>ov(n,e,t),argTypes:[`value`],arity:{kind:`exact`},returnType:`string`},toStrings:{fn:n=>n.map(n=>ov(n,e,t)),argTypes:[`list`],arity:{kind:`exact`}},call:{fn:(e,...t)=>e(...t),argTypes:[`callable`,`value`],arity:{kind:`variadic`}},html:{fn:(...t)=>Z_(J_(t,e)),argTypes:[`stringifiable`],arity:{kind:`variadic`},returnType:`string`},js:{fn:(...t)=>ev(J_(t,e)),argTypes:[`stringifiable`],arity:{kind:`variadic`},returnType:`string`},urlquery:{fn:(...t)=>nv(J_(t,e)),argTypes:[`stringifiable`],arity:{kind:`variadic`},returnType:`string`},not:{fn:e=>!I_(e),argTypes:[`truthy`],arity:{kind:`exact`}}}}function R_(){return{and:P_({argTypes:[`truthy`,`truthy`],arity:{kind:`variadic`},fn:(...e)=>{let t=!0;for(let n of e)if(t=n(),!I_(t))return t;return t}}),or:P_({argTypes:[`truthy`,`truthy`],arity:{kind:`variadic`},fn:(...e)=>{let t=!1;for(let n of e)if(t=n(),I_(t))return t;return t}})}}function z_(e,t){return{...L_(e,t),...R_()}}function B_(e,t){return typeof e==`number`&&typeof t==`bigint`?BigInt(e)===t:typeof e==`bigint`&&typeof t==`number`?e===BigInt(t):M_(e,t)}function V_(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 H_(e){return typeof e==`string`||Array.isArray(e)?e.length:e instanceof Map||e instanceof Set?e.size:Object.keys(e).length}function U_(e,t){if(Array.isArray(e)||typeof e==`string`){let n=W_(t,e.length);if(n===e.length)throw Error(`index out of range: ${n}`);return e[n]}if(e instanceof Map)return e.get(t);if(typeof e==`object`&&e){if(typeof t!=`string`)throw Error(`index: object index must be string, got ${K_(t)}`);return e[t]}throw Error(`index: cannot index ${K_(e)}`)}function W_(e,t){let n=typeof e==`bigint`?Number(e):e;if(typeof n!=`number`||!Number.isInteger(n))throw Error(`cannot index slice/array with type ${q_(e)}`);if(n<0||n>t)throw Error(`index out of range: ${String(e)}`);return n}function G_(e,t){if(t.length>3)throw Error(`too many slice indexes: ${t.length}`);if(typeof e==`string`&&t.length>2)throw Error(`cannot 3-index slice a string`);let n=e.length,r=[0,n,n];t.forEach((e,t)=>{r[t]=W_(e,n)});let[i,a,o]=r;if(i>a)throw Error(`invalid slice index: ${i} > ${a}`);if(a>o)throw Error(`invalid slice index: ${a} > ${o}`);return e.slice(i,a)}function K_(e){return e===null?`null`:e===void 0?`undefined`:Array.isArray(e)?`array`:e instanceof Map?`Map`:typeof e}function q_(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 J_(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+=Y_(a,t),r=o}return n}function Y_(e,t){return e==null?`<nil>`:typeof e==`string`?e:t(e)}const X_={"\0":`�`,'"':`"`,"'":`'`,"&":`&`,"<":`<`,">":`>`};function Z_(e){return e.replace(/[\0"'&<>]/g,e=>X_[e]??e)}const Q_={"\\":`\\\\`,"'":`\\'`,'"':`\\"`,"<":`\\u003C`,">":`\\u003E`,"&":`\\u0026`,"=":`\\u003D`},$_=/^[\p{L}\p{M}\p{N}\p{P}\p{S}]$/u;function ev(e){let t=``;for(let n of e){let e=Q_[n];if(e!==void 0){t+=e;continue}let r=n.codePointAt(0);if(r<32||r>=128&&!$_.test(n)){t+=`\\u${r.toString(16).toUpperCase().padStart(4,`0`)}`;continue}t+=n}return t}const tv=new TextEncoder;function nv(e){let t=``,n=tv.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 rv(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+=iv(l??``,u,d,n,r),o=c+1}return i}function iv(e,t,n,r,i){switch(e){case`s`:return typeof n==`string`?av(t,n):av(t,Y_(n,r));case`d`:return typeof n!=`number`&&typeof n!=`bigint`?`%!${e}(${q_(n)}=${Y_(n,r)})`:av(t,String(typeof n==`bigint`?n:Math.trunc(n)));case`v`:return av(t,ov(n,r,i));case`q`:return av(t,JSON.stringify(Y_(n,r)));case`f`:{if(typeof n!=`number`&&typeof n!=`bigint`)return`%!${e}(${q_(n)}=${Y_(n,r)})`;let i=t.includes(`.`)?Number(t.split(`.`)[1]):6;return av(t,Number(n).toFixed(i))}case`t`:return av(t,I_(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 av(t,r)}return typeof n!=`number`&&typeof n!=`bigint`?`%!${e}(${q_(n)}=${Y_(n,r)})`:typeof n==`bigint`?av(t,n.toString(16)):av(t,Math.trunc(n).toString(16));default:return`%!${e}(${q_(n)}=${Y_(n,r)})`}}function av(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 ov(e,t,n){return e==null?`<nil>`:typeof e==`string`?e:n(e)?t(e):Array.isArray(e)?`[${e.map(e=>ov(e,t,n)).join(` `)}]`:e instanceof Map?sv([...e.entries()],t,n):cv(e)?sv(Object.entries(e),t,n):String(e)}function sv(e,t,n){let r=e=>ov(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 cv(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 lv(e){return{dot:e,root:e,parent:void 0,vars:new Map}}function uv(e,t){return{dot:t,root:e.root,parent:e,vars:new Map}}function dv(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 fv(e,t,n){e.vars.set(t,n)}const pv=[`string`,`int`,`truncating-int`,`float`,`bool`,`T`,`ordered`,`list`,`dict`,`sized`,`comparable`,`stringifiable`,`liftable`,`callable`,`collection`,`index-key`,`sliceable`,`truthy`,`reflective`,`value`,`serializable`],mv=new Set([`default`,`zero`,`error`]);function hv(e){if(e===void 0)return`default`;if(mv.has(e))return e;throw Error(`EngineConfig.missingKey: expected "default" | "zero" | "error", got ${gv(e)}`)}function gv(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 _v(e){if(e!==void 0){if(typeof e!=`object`||!e)throw Error(`EngineConfig.delims: expected { left, right } object, got ${gv(e)}`);if(typeof e.left!=`string`||e.left.length===0)throw Error(`EngineConfig.delims.left: expected non-empty string, got ${gv(e.left)}`);if(typeof e.right!=`string`||e.right.length===0)throw Error(`EngineConfig.delims.right: expected non-empty string, got ${gv(e.right)}`);return{left:e.left,right:e.right}}}function vv(e){switch(e.kind){case`exact`:return!1;case`variadic`:return!0;case`alternating`:return!0}}function yv(e){let t=new Set(pv);for(let[n,r]of Object.entries(e)){if(r.argTypes.forEach((e,r)=>{if(!t.has(e))throw Error(`EngineConfig.funcs.${n}: argTypes[${r}] is ${JSON.stringify(e)}, which is not an ArgType; declare one of ${pv.join(`, `)}`)}),vv(r.arity)&&r.argTypes.length===0)throw Error(`EngineConfig.funcs.${n}: arity ${JSON.stringify(r.arity.kind)} needs at least one declared argType (it reads its repeating slot from the end of argTypes); declare the slots the Go signature has, or use { kind: "exact" }`);if(r.arity.kind===`alternating`&&(!Number.isSafeInteger(r.arity.minimum)||r.arity.minimum<0))throw Error(`EngineConfig.funcs.${n}: arity "alternating" needs a non-negative integer minimum, got ${String(r.arity.minimum)}; the gate rejects every count below it, so a negative or non-finite minimum would disable the lower bound`)}return e}const bv=Object.freeze({kind:`break`}),xv=Object.freeze({kind:`continue`}),Sv={kind:`none`};let Cv;(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{Cv=(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 wv(e){let t=new Set,n=e=>{D_(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 Tv={kind:`dynamic`};function Ev(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=qv(e);return typeof t==`number`||typeof t==`bigint`?{kind:`literal`,value:t}:Tv}case`Pipe`:{if(e.decls.length!==0||e.cmds.length!==1)return Tv;let t=e.cmds[0];if(t===void 0)return Tv;let n=t.args[0];return n===void 0||n.type!==`Identifier`?Tv:{kind:`call`,name:n.ident,args:t.args.slice(1).map(Ev)}}default:return Tv}}function Dv(e){let t=[],n=e=>{D_(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(Ev);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 Ov=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??Iv,this.isT=e.isT??kv,this.missingKey=hv(e.missingKey),this.delims=_v(e.delims),this.funcs=yv({...z_(this.toString,this.isT),...e.funcs??{}})}parse(e,t){let n=p_(e,this.delims,t);return Cv(n.source,e=>this.evalParsed(n,e),n.defines,wv(n),Dv(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=lv(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 bv;case`Continue`:throw xv;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 Bg(`unexpected ${e.type} at statement position`,e.pos,{source:n.source});default:Xg(e)}}evalIf(e,t,n){I_(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(I_(r)){let i=uv(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=Wv(r);try{if(a.length===0){e.elseList&&this.evalList(e.elseList,t,n);return}for(let[r,o]of a){let a=uv(t,o);if(i.length===1)fv(a,i[0]?.idents[0]??`$`,o);else if(i.length>=2){let e=i[0]?.idents[0]??`$`,t=i[1]?.idents[0]??`$`;fv(a,e,r),fv(a,t,o)}try{this.evalList(e.list,a,n)}catch(e){if(e===xv)continue;throw e}}}catch(e){if(e===bv)return;throw e}}evalTemplateInvoke(e,t,n){let r=d_(n.defines,e.name);if(!r)throw new Bg(`template ${JSON.stringify(e.name)} is not defined`,e.pos,{source:n.source});let i=uv(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=uv(t,e.pipe?this.evalPipe(e.pipe,t,n):t.dot),i=d_(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 Bg(`empty pipeline`,e.pos,{source:n.source});let r=this.evalCommand(e.cmds[0],t,n,Sv);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)fv(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 Bg(`empty command`,e.pos,{source:n.source});let i=e.args[0];if(i.type!==`Identifier`){if(e.args.length>1)throw new Bg(`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 Vg(i.ident,i.pos,{source:n.source,available:Object.keys(this.funcs)});let o=e.args.slice(1),s=F_(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)}return this.invoke(i.ident,a,c,e.pos,n)}invoke(e,t,n,r,i){jv(e,t,n,r,i.source,this.toString,this.fromString,this.isT);try{return t.fn(...n)}catch(t){throw t instanceof Ug?new Ug(t.funcName,t.argIndex,t.expected,t.receivedSummary,r,{source:i.source}):t instanceof Kg?new Kg(t.message,r,{source:i.source}):t instanceof Rg?t:new Bg(`error calling ${e}: ${Hv(t)}`,r,{source:i.source,cause: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 qv(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 Vg(e.ident,e.pos,{source:n.source,available:Object.keys(this.funcs)});return this.invoke(e.ident,t,[],e.pos,n)}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 Bg(`cannot evaluate ${e.type} as a value`,e.pos,{source:n.source})}}resolveFieldChain(e,t,n,r){let i=j_(e,t);if(i!==k_)return i;if(this.missingKey===`error`)throw new Gg(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=dv(t,i);if(!a.found)throw new Bg(`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(ov(e,this.toString,this.isT)))}};const kv=e=>typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Map);function Av(e){return new Ov(e)}function jv(e,t,n,r,i,a=Iv,o=Fv,s=kv){let{argTypes:c,arity:l}=t,u=Mv(c,l);if(n.length<u.minimum||n.length>u.maximum)throw new Hg(e,u,n.length,r,{source:i});let d=Nv(c,l),f=-1,p=-1;for(let t=0;t<n.length;t++){let c=d(t),l=n[t];if(!Pv(c,l,a,s))throw(c===`int`||c===`truncating-int`)&&(typeof l==`number`||typeof l==`bigint`)?new Wg(e,t+1,l,r,{source:i}):new Ug(e,t+1,Vv(c),Uv(l),r,{source:i});if(c===`liftable`&&typeof l==`string`&&(n[t]=o(l)),c===`truncating-int`?n[t]=Math.trunc(Number(l)):(c===`int`||c===`float`)&&(n[t]=Number(l)),c===`ordered`){if(f===-1)f=t;else if(!Rv(n[f],l))throw new Ug(e,t+1,`${Vv(`ordered`)} of the same kind as ${Uv(n[f])}`,Uv(l),r,{source:i})}if(c===`comparable`){if(p===-1)p=t;else if(!zv(n[p],l))throw new Ug(e,t+1,`${Vv(`comparable`)} of the same kind as ${Uv(n[p])}`,Uv(l),r,{source:i})}}}function Mv(e,t){switch(t.kind){case`exact`:return{minimum:e.length,maximum:e.length};case`variadic`:return{minimum:e.length-1,maximum:1/0};case`alternating`:return{minimum:t.minimum,maximum:1/0}}}function Nv(e,t){let n=e.length;switch(t.kind){case`exact`:return t=>e[t];case`variadic`:return t=>e[Math.min(t,n-1)];case`alternating`:return t=>e[t%n]}}function Pv(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.isSafeInteger(t)||typeof t==`bigint`&&Number.isSafeInteger(Number(t));case`truncating-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 cv(t);case`sized`:return typeof t==`string`||Array.isArray(t)||t instanceof Map||t instanceof Set||cv(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||cv(t);case`callable`:return typeof t==`function`;case`collection`:return typeof t==`string`||Array.isArray(t)||t instanceof Map||cv(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 Lv(t);default:throw Error(`invalid ArgType: ${String(e)}`)}}function Fv(e){return e}function Iv(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 Ug(`<engine.toString>`,1,`string (or a consumer-supplied toString that flattens T)`,Uv(e),{line:0,column:0,offset:0})}function Lv(e){try{return JSON.stringify(e)!==void 0}catch{return!1}}function Rv(e,t){return typeof e==typeof t||typeof e==`number`&&typeof t==`bigint`||typeof e==`bigint`&&typeof t==`number`}function zv(e,t){let n=Bv(e),r=Bv(t);return n===`nil`||r===`nil`?!0:n===r}function Bv(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 Vv(e){switch(e){case`int`:return`integer (safe-integer number or bigint)`;case`truncating-int`:return`integer (finite number, truncated toward zero, 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 Hv(e){return e instanceof Error?e.message:String(e)}function Uv(e){return e===null?`null`:e===void 0?`undefined`:Array.isArray(e)?`array`:e instanceof Map?`Map`:typeof e}function Wv(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?Gv([...e.entries()]):e instanceof Set?[...e.values()].map((e,t)=>[t,e]):typeof e==`object`?Gv(Object.entries(e)):[]}function Gv(e){return[...e].sort((e,t)=>Kv(e[0],t[0]))}function Kv(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 qv(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 Jv(e){if(!/^[+-]?\d+$/.test(e))return 0;let t=Number.parseInt(e,10);return Number.isSafeInteger(t)?t:0}function Yv(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 Xv(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 Zv(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=Xv(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 Qv(e){if(typeof e==`bigint`)return e;if(typeof e==`number`)return BigInt(Math.trunc(e));if(typeof e==`string`){let t=Xv(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 $v(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 ey(e){return JSON.stringify(e)??`null`}function ty(){return{atoi:{fn:e=>Jv(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`int`},int:{fn:e=>Zv(e),argTypes:[`value`],arity:{kind:`exact`},returnType:`int`},int64:{fn:e=>Qv(e),argTypes:[`value`],arity:{kind:`exact`}},float64:{fn:e=>Yv(e),argTypes:[`value`],arity:{kind:`exact`},returnType:`float`},toDecimal:{fn:e=>$v(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`int`},toRawJson:{fn:e=>ey(e),argTypes:[`serializable`],arity:{kind:`exact`},returnType:`string`}}}const ny={h:36e11,m:6e10,s:1e9,ms:1e6,us:1e3,µs:1e3,ns:1};function ry(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*ny[a],n=n.slice(e[0].length)}return t?-r:r}function iy(e){if(e===0)return`0s`;let t=!1,n=e;n<0&&(t=!0,n=-n);let r;return r=n<ny.us?`${Math.floor(n)}ns`:n<ny.ms?ay(n,ny.us,3,`µs`):n<ny.s?ay(n,ny.ms,6,`ms`):oy(n),t?`-${r}`:r}function ay(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 oy(e){let t=Math.floor(e/ny.h);e-=t*ny.h;let n=Math.floor(e/ny.m);e-=n*ny.m;let r=Math.floor(e/ny.s),i=e-r*ny.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 sy(e){return e*ny.s}function cy(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 ly(e,t){let n=t().getTime()-cy(e).getTime();return iy(Math.round(n/1e3)*1e9)}const uy=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],dy=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],fy=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],py=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`];function my(e){return e<10?`0${e}`:String(e)}function hy(e){return e<10?`00${e}`:e<100?`0${e}`:String(e)}function gy(e){return e<10?` ${e}`:String(e)}function _y(e){let t=e>=0?`+`:`-`,n=Math.abs(e);return`${t}${my(Math.floor(n/60))}${my(n%60)}`}function vy(e){let t=e>=0?`+`:`-`,n=Math.abs(e);return`${t}${my(Math.floor(n/60))}:${my(n%60)}`}function yy(e){return`${e>=0?`+`:`-`}${my(Math.floor(Math.abs(e)/60))}`}function by(e){return e===0?`Z`:_y(e)}function xy(e){return e===0?`Z`:vy(e)}function Sy(e){return e===0?`Z`:yy(e)}function Cy(e,t,n){let r=e*1e6,i=String(r).padStart(9,`0`).slice(0,t);return n?i.replace(/0+$/,``):i}const wy=[[`.000000000`,e=>`.${Cy(e.ms,9,!1)}`],[`.999999999`,e=>{let t=Cy(e.ms,9,!0);return t?`.${t}`:``}],[`.000000`,e=>`.${Cy(e.ms,6,!1)}`],[`.999999`,e=>{let t=Cy(e.ms,6,!0);return t?`.${t}`:``}],[`.000`,e=>`.${hy(e.ms)}`],[`.999`,e=>{let t=hy(e.ms).replace(/0+$/,``);return t?`.${t}`:``}],[`January`,e=>uy[e.month-1]??`January`],[`Monday`,e=>fy[e.weekday]??`Monday`],[`Z07:00`,e=>xy(e.offsetMinutes)],[`-07:00`,e=>vy(e.offsetMinutes)],[`Z0700`,e=>by(e.offsetMinutes)],[`-0700`,e=>_y(e.offsetMinutes)],[`2006`,e=>String(e.year)],[`Jan`,e=>dy[e.month-1]??`Jan`],[`Mon`,e=>py[e.weekday]??`Mon`],[`MST`,e=>e.tzAbbr],[`-07`,e=>yy(e.offsetMinutes)],[`Z07`,e=>Sy(e.offsetMinutes)],[`15`,e=>my(e.hour)],[`01`,e=>my(e.month)],[`02`,e=>my(e.day)],[`_2`,e=>gy(e.day)],[`03`,e=>my(e.hour12)],[`04`,e=>my(e.minute)],[`05`,e=>my(e.second)],[`06`,e=>my(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 Ty(e,t){let n=``,r=0;for(;r<e.length;){let i=!1;for(let[a,o]of wy)if(e.startsWith(a,r)){n+=o(t),r+=a.length,i=!0;break}i||(n+=e[r++])}return n}const Ey={year:`numeric`,month:`2-digit`,day:`2-digit`,weekday:`long`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1};function Dy(e){let t=new Map;for(let n of e)t.set(n.type,n.value);return t}const Oy=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`];function ky(e,t){let n;try{new Intl.DateTimeFormat(`en-US`,{timeZone:t}),n=t}catch{n=`UTC`}let r=Dy(new Intl.DateTimeFormat(`en-US`,{...Ey,timeZone:n}).formatToParts(e)),i=parseInt(r.get(`hour`)??`0`,10)%24,a=Dy(new Intl.DateTimeFormat(`en-US`,{timeZone:n,timeZoneName:`short`}).formatToParts(e)).get(`timeZoneName`)??n,o=Ay(Dy(new Intl.DateTimeFormat(`en-US`,{timeZone:n,timeZoneName:`shortOffset`}).formatToParts(e)).get(`timeZoneName`)??`GMT`),s=Oy.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 Ay(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 jy(){return Intl.DateTimeFormat().resolvedOptions().timeZone}function My(e,t){return Ty(e,ky(cy(t),jy()))}function Ny(e,t,n){return Ty(e,ky(cy(t),n))}function Py(e,t){let n=cy(t),r=ry(e);return Number.isNaN(r)?n:new Date(n.getTime()+r/1e6)}function Fy(e){if(typeof e==`string`){let t=parseInt(e,10);return Number.isNaN(t)?`0s`:iy(sy(t))}return typeof e==`bigint`?iy(sy(Number(e))):typeof e==`number`?iy(sy(e)):`0s`}const Iy=36e11*24*365,Ly=36e11*24*30,Ry=36e11*24,zy=36e11,By=6e10,Vy=1e9;function Hy(e){let t=ry(String(e));if(Number.isNaN(t))return`0s`;let n=Math.abs(t);return n>Iy?`${Math.floor(n/Iy)}y`:n>Ly?`${Math.floor(n/Ly)}mo`:n>Ry?`${Math.floor(n/Ry)}d`:n>zy?`${Math.floor(n/zy)}h`:n>By?`${Math.floor(n/By)}m`:n>Vy?`${Math.floor(n/Vy)}s`:`0s`}function Uy(e){let t=ky(cy(e),jy());return`${t.year}-${String(t.month).padStart(2,`0`)}-${String(t.day).padStart(2,`0`)}`}function Wy(e,t){let n=ky(cy(e),t);return`${n.year}-${String(n.month).padStart(2,`0`)}-${String(n.day).padStart(2,`0`)}`}function Gy(e){return e()}const Ky=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],qy=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`];function Jy(){return{year:2e3,month:1,day:1,hour:0,minute:0,second:0,ms:0,offsetMinutes:0,isPM:!1,hour12:!1}}function Yy(e,t,n){return[e.slice(t,t+n),t+n]}function Xy(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 Zy(e,t){for(let[n,r]of Ky.entries())if(e.startsWith(r,t))return[n+1,t+r.length];throw Error(`sprig toDate: expected month name at pos ${t}`)}function Qy(e,t){for(let[n,r]of qy.entries())if(e.startsWith(r,t))return[n+1,t+r.length];throw Error(`sprig toDate: expected short month name at pos ${t}`)}function $y(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 eb(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 tb(e,t){if(e[t]===` `){let[n,r]=Xy(e,t+1,1,1);return[n,r]}return Xy(e,t,1,2)}function nb(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]=Xy(e,i,2,2);i=o;let s=0;if(n&&e[i]===`:`){let[t,n]=Xy(e,i+1,2,2);s=t,i=n}else if(!n){let[t,n]=Xy(e,i,2,2);s=t,i=n}return[r*(a*60+s),i]}function rb(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]=Xy(e,t+1,2,2);return[n*r*60,i]}return nb(e,t,n)}function ib(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 ab(e,t,n){let[r,i]=Yy(e,t,n),a=parseInt(r.padEnd(9,`0`),10);return[Math.round(a/1e6),i]}function ob(e,t,n,r){let i={...r};switch(e){case`January`:{let[e,r]=Zy(t,n);return i.month=e,[r,i]}case`Monday`:return[$y(t,n),i];case`Jan`:{let[e,r]=Qy(t,n);return i.month=e,[r,i]}case`Mon`:return[eb(t,n),i];case`2006`:{let[e,r]=Xy(t,n,4,4);return i.year=e,[r,i]}case`06`:{let[e,r]=Xy(t,n,2,2);return i.year=e<70?2e3+e:1900+e,[r,i]}case`01`:{let[e,r]=Xy(t,n,2,2);return i.month=e,[r,i]}case`1`:{let[e,r]=Xy(t,n,1,2);return i.month=e,[r,i]}case`_2`:{let[e,r]=tb(t,n);return i.day=e,[r,i]}case`02`:{let[e,r]=Xy(t,n,2,2);return i.day=e,[r,i]}case`2`:{let[e,r]=Xy(t,n,1,2);return i.day=e,[r,i]}case`15`:{let[e,r]=Xy(t,n,2,2);return i.hour=e,[r,i]}case`03`:{let[e,r]=Xy(t,n,2,2);return i.hour=e,i.hour12=!0,[r,i]}case`3`:{let[e,r]=Xy(t,n,1,2);return i.hour=e,i.hour12=!0,[r,i]}case`04`:{let[e,r]=Xy(t,n,2,2);return i.minute=e,[r,i]}case`4`:{let[e,r]=Xy(t,n,1,2);return i.minute=e,[r,i]}case`05`:{let[e,r]=Xy(t,n,2,2);return i.second=e,[r,i]}case`5`:{let[e,r]=Xy(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[ib(t,n),i];case`-0700`:{let[e,r]=nb(t,n,!1);return i.offsetMinutes=e,[r,i]}case`-07:00`:{let[e,r]=nb(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]=Xy(t,n+1,2,2);return i.offsetMinutes=e*r*60,[a,i]}case`Z0700`:{let[e,r]=rb(t,n,!1,!1);return i.offsetMinutes=e,[r,i]}case`Z07:00`:{let[e,r]=rb(t,n,!0,!1);return i.offsetMinutes=e,[r,i]}case`Z07`:{let[e,r]=rb(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]=ab(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]=ab(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]=ab(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 sb=`.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 cb(e,t){let n=0,r=0,i=Jy();for(;n<e.length;){let a=!1;for(let o of sb)if(e.startsWith(o,n)){let[e,s]=ob(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 lb(e,t){return cb(e,t)}function ub(e){return String(Math.floor(cy(e).getTime()/1e3))}function db(e=()=>new Date){return{now:{fn:()=>Gy(e),argTypes:[],arity:{kind:`exact`}},date:{fn:(e,t)=>My(e,t),argTypes:[`string`,`value`],arity:{kind:`exact`}},dateInZone:{fn:(e,t,n)=>Ny(e,t,n),argTypes:[`string`,`value`,`string`],arity:{kind:`exact`}},dateModify:{fn:(e,t)=>Py(e,t),argTypes:[`string`,`value`],arity:{kind:`exact`}},htmlDate:{fn:e=>Uy(e),argTypes:[`value`],arity:{kind:`exact`}},htmlDateInZone:{fn:(e,t)=>Wy(e,t),argTypes:[`value`,`string`],arity:{kind:`exact`}},duration:{fn:e=>Fy(e),argTypes:[`value`],arity:{kind:`exact`}},durationRound:{fn:e=>Hy(e),argTypes:[`value`],arity:{kind:`exact`}},toDate:{fn:(e,t)=>lb(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},ago:{fn:t=>ly(t,e),argTypes:[`value`],arity:{kind:`exact`}},unixEpoch:{fn:e=>ub(e),argTypes:[`value`],arity:{kind:`exact`}}}}function fb(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 pb(...e){for(let t of e)if(!fb(t))return t}function mb(e,t){return fb(t)?e:t}function hb(e){return JSON.parse(e)}function gb(e,t,n){return I_(n)?e:t}function _b(e){return JSON.stringify(e)??`null`}function vb(e){return JSON.stringify(e,null,2)??`null`}function yb(){return{default:{fn:(e,t)=>mb(e,t),argTypes:[`value`,`truthy`],arity:{kind:`variadic`}},empty:{fn:e=>fb(e),argTypes:[`truthy`],arity:{kind:`exact`}},coalesce:{fn:(...e)=>pb(...e),argTypes:[`truthy`],arity:{kind:`variadic`}},ternary:{fn:(e,t,n)=>gb(e,t,n),argTypes:[`value`,`value`,`truthy`],arity:{kind:`exact`}},fromJson:{fn:e=>hb(e),argTypes:[`string`],arity:{kind:`exact`}},toJson:{fn:e=>_b(e),argTypes:[`serializable`],arity:{kind:`exact`},returnType:`string`},toPrettyJson:{fn:e=>vb(e),argTypes:[`serializable`],arity:{kind:`exact`},returnType:`string`}}}function bb(...e){let t={};for(let n=0;n<e.length;n+=2)t[e[n]]=e[n+1];return t}function xb(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 bb(...t)}function Sb(e,t){return e[t]}function Cb(e,t){return t in e}function wb(e){return Object.keys(e)}function Tb(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 Eb(e,...t){let n={...e};for(let e of t)Object.assign(n,e);return n}function Db(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 Ob(e,...t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function kb(e,...t){let n=[];for(let r of t)e in r&&n.push(r[e]);return n}function Ab(e,t,n){return e[t]=n,e}function jb(e,t){return delete e[t],e}function Mb(e){return Object.values(e)}function Nb(){return{dict:{fn:(...e)=>bb(...e),argTypes:[`string`,`value`],arity:{kind:`alternating`,minimum:0}},get:{fn:(e,t)=>Sb(e,t),argTypes:[`dict`,`string`],arity:{kind:`exact`}},set:{fn:(e,t,n)=>Ab(e,t,n),argTypes:[`dict`,`string`,`value`],arity:{kind:`exact`}},unset:{fn:(e,t)=>jb(e,t),argTypes:[`dict`,`string`],arity:{kind:`exact`}},keys:{fn:e=>wb(e),argTypes:[`dict`],arity:{kind:`variadic`}},values:{fn:e=>Mb(e),argTypes:[`dict`],arity:{kind:`exact`}},pluck:{fn:(e,...t)=>kb(e,...t),argTypes:[`string`,`dict`],arity:{kind:`variadic`}},pick:{fn:(e,...t)=>Ob(e,...t),argTypes:[`dict`,`string`],arity:{kind:`variadic`}},omit:{fn:(e,...t)=>Db(e,...t),argTypes:[`dict`,`string`],arity:{kind:`variadic`}},hasKey:{fn:(e,t)=>Cb(e,t),argTypes:[`dict`,`string`],arity:{kind:`exact`}},merge:{fn:(e,...t)=>Tb(e,...t),argTypes:[`dict`,`dict`],arity:{kind:`variadic`}},mergeOverwrite:{fn:(e,...t)=>Eb(e,...t),argTypes:[`dict`,`dict`],arity:{kind:`variadic`}}}}function Pb(e){throw new Kg(e)}function Fb(){return{fail:{fn:e=>Pb(e),argTypes:[`string`],arity:{kind:`exact`}}}}new TextEncoder,new Map(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567`).map((e,t)=>[e,t])),new TextDecoder,new TextEncoder,new TextDecoder,new TextEncoder;function Ib(...e){for(let t of e)if(fb(t))return!1;return!0}function Lb(...e){for(let t of e)if(!fb(t))return!0;return!1}function Rb(e,t){return[...e,t]}function zb(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 Bb(e){return e.filter(e=>!fb(e))}function Vb(...e){let t=[];for(let n of e)t.push(...n);return t}const Hb={line:0,column:0,offset:0};function Ub(e,t,n,r){return new Ug(e,t,n,r,Hb)}function Wb(...e){if(e.length<3)throw Ub(`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(!Kb(t))throw Ub(`dig`,e.length-1,`dict`,qb(t));for(let e=0;e<r.length;e++)if(typeof r[e]!=`string`)throw Ub(`dig`,e,`string`,qb(r[e]));return Gb(t,n,r,e.length)}function Gb(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(!Kb(a))throw Ub(`dig`,r-1,`dict at intermediate key`,qb(a));return Gb(a,t,n.slice(1),r)}function Kb(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Map)&&!(e instanceof Set)}function qb(e){return e===null?`null`:Array.isArray(e)?`array`:e instanceof Map?`Map`:e instanceof Set?`Set`:typeof e}function Jb(e){return e[0]}function Yb(e,t){return t.some(t=>M_(t,e))}function Xb(e){return e.slice(0,-1)}function Zb(e){return e[e.length-1]}function Qb(e){return Array.isArray(e)||typeof e==`string`?e.length:e instanceof Map||e instanceof Set?e.size:Object.keys(e).length}function $b(...e){return e}function ex(e,t){return[t,...e]}function tx(e){return e.slice(1)}function nx(e){return[...e].reverse()}function rx(e,t,n){let r=t===void 0?0:t,i=n===void 0?e.length:n;return e.slice(r,i)}function ix(e){let t=[];for(let n of e)n!=null&&t.push(String(n));return t.sort()}function ax(e){let t=[];for(let n of e)t.some(e=>M_(e,n))||t.push(n);return t}function ox(e,...t){return e.filter(e=>!t.some(t=>M_(t,e)))}function sx(){return{list:{fn:(...e)=>$b(...e),argTypes:[`value`],arity:{kind:`variadic`}},first:{fn:e=>Jb(e),argTypes:[`list`],arity:{kind:`exact`}},last:{fn:e=>Zb(e),argTypes:[`list`],arity:{kind:`exact`}},rest:{fn:e=>tx(e),argTypes:[`list`],arity:{kind:`exact`}},initial:{fn:e=>Xb(e),argTypes:[`list`],arity:{kind:`exact`}},len:{fn:e=>Qb(e),argTypes:[`sized`],arity:{kind:`exact`}},reverse:{fn:e=>nx(e),argTypes:[`list`],arity:{kind:`exact`}},uniq:{fn:e=>ax(e),argTypes:[`list`],arity:{kind:`exact`}},without:{fn:(e,...t)=>ox(e,...t),argTypes:[`list`,`value`],arity:{kind:`variadic`}},has:{fn:(e,t)=>Yb(e,t),argTypes:[`value`,`list`],arity:{kind:`exact`}},compact:{fn:e=>Bb(e),argTypes:[`list`],arity:{kind:`exact`}},slice:{fn:(e,t,n)=>rx(e,t,n),argTypes:[`list`,`truncating-int`],arity:{kind:`variadic`}},concat:{fn:(...e)=>Vb(...e),argTypes:[`list`],arity:{kind:`variadic`}},chunk:{fn:(e,t)=>zb(e,t),argTypes:[`int`,`list`],arity:{kind:`exact`}},prepend:{fn:(e,t)=>ex(e,t),argTypes:[`list`,`value`],arity:{kind:`exact`}},append:{fn:(e,t)=>Rb(e,t),argTypes:[`list`,`value`],arity:{kind:`exact`}},sortAlpha:{fn:e=>ix(e),argTypes:[`list`],arity:{kind:`exact`},returnType:`list`},push:{fn:(e,t)=>Rb(e,t),argTypes:[`list`,`value`],arity:{kind:`exact`}},tuple:{fn:(...e)=>$b(...e),argTypes:[`value`],arity:{kind:`variadic`}},dig:{fn:(...e)=>Wb(...e),argTypes:[`value`],arity:{kind:`variadic`}},all:{fn:(...e)=>Ib(...e),argTypes:[`truthy`],arity:{kind:`variadic`},returnType:`bool`},any:{fn:(...e)=>Lb(...e),argTypes:[`truthy`],arity:{kind:`variadic`},returnType:`bool`}}}function cx(...e){return e.reduce((e,t)=>e+t,0)}function lx(e){return e+1}function ux(e){return e+1}function dx(...e){return e.reduce((e,t)=>e+t,0)}function fx(e){return Math.ceil(e)}function px(e,t){return Math.trunc(e/t)}function mx(e,...t){return t.reduce((e,t)=>e/t,e)}function hx(e){return Math.floor(e)}function gx(...e){return e.reduce((e,t)=>t>e?t:e,-1/0)}function _x(...e){return e.reduce((e,t)=>Math.max(e,t),-1/0)}function vx(...e){return e.reduce((e,t)=>t<e?t:e,1/0)}function yx(...e){return e.reduce((e,t)=>Math.min(e,t),1/0)}function bx(e,t){return e%t}function xx(...e){return e.reduce((e,t)=>e*t,1)}function Sx(...e){return e.reduce((e,t)=>e*t,1)}function Cx(e,t=0){let n=10**t;return Math.sign(e)*Math.round(Math.abs(e)*n)/n}function wx(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 Tx(...e){let t=1;switch(e.length){case 0:return``;case 1:{let n=e[0];return n<1&&(t=-1),wx(1,n+t,t).join(` `)}case 2:{let t=e[0],n=e[1],r=n<t?-1:1;return wx(t,n+r,r).join(` `)}case 3:{let n=e[0],r=e[1],i=e[2];return i<n&&(t=-1,r>0)?``:wx(n,i+t,r).join(` `)}default:return``}}function Ex(e,t){return e-t}function Dx(e,...t){return t.reduce((e,t)=>e-t,e)}function Ox(e){return wx(0,e,e<0?-1:1)}function kx(){return{add:{fn:(...e)=>cx(...e),argTypes:[`truncating-int`],arity:{kind:`variadic`}},sub:{fn:(e,t)=>Ex(e,t),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`exact`}},mul:{fn:(...e)=>xx(...e),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`variadic`}},div:{fn:(e,t)=>px(e,t),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`exact`}},mod:{fn:(e,t)=>bx(e,t),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`exact`}},min:{fn:(...e)=>vx(...e),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`variadic`}},max:{fn:(...e)=>gx(...e),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`variadic`}},floor:{fn:e=>hx(e),argTypes:[`float`],arity:{kind:`exact`}},ceil:{fn:e=>fx(e),argTypes:[`float`],arity:{kind:`exact`}},round:{fn:(e,t)=>Cx(e,t),argTypes:[`float`,`int`,`float`],arity:{kind:`variadic`}},addf:{fn:(...e)=>dx(...e),argTypes:[`float`],arity:{kind:`variadic`}},subf:{fn:(e,...t)=>Dx(e,...t),argTypes:[`float`,`float`],arity:{kind:`variadic`}},mulf:{fn:(...e)=>Sx(...e),argTypes:[`float`,`float`],arity:{kind:`variadic`}},divf:{fn:(e,...t)=>mx(e,...t),argTypes:[`float`,`float`],arity:{kind:`variadic`}},add1:{fn:e=>lx(e),argTypes:[`truncating-int`],arity:{kind:`exact`}},add1f:{fn:e=>ux(e),argTypes:[`float`],arity:{kind:`exact`}},maxf:{fn:(...e)=>_x(...e),argTypes:[`float`,`float`],arity:{kind:`variadic`}},minf:{fn:(...e)=>yx(...e),argTypes:[`float`,`float`],arity:{kind:`variadic`}},biggest:{fn:(...e)=>gx(...e),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`variadic`}},seq:{fn:(...e)=>Tx(...e),argTypes:[`int`],arity:{kind:`variadic`},returnType:`string`},until:{fn:e=>Ox(e),argTypes:[`int`],arity:{kind:`exact`},returnType:`list`},untilStep:{fn:(e,t,n)=>wx(e,t,n),argTypes:[`int`,`int`,`int`],arity:{kind:`exact`},returnType:`list`}}}Array.from({length:95},(e,t)=>String.fromCharCode(t+32)).join(``);function Ax(e){return Array.from(e)}function jx(e,t){return e===``?Ax(t):t.split(e)}function Mx(e,t){let n=Ax(t);return n.length<=e||e<4?t:`${n.slice(0,e-3).join(``)}...`}function Nx(e,t,n){let r=Ax(n);return t<7||r.length<t||e<0||e>r.length-t+1?n:`...${r.slice(e,e+t-6).join(``)}...`}const Y={Invalid:0,Number:1,UpperCase:2,Alphabet:3,Connector:4,Punct:5,Other:6},Px=/^[-_\s]$/,Fx=/^\p{P}$/u,Ix=/^\p{L}$/u,Lx=/^\p{Lu}$/u,Rx=/^\p{N}$/u;function zx(e){return e!==void 0&&Px.test(e)}function Bx(e){return e!==void 0&&Ix.test(e)}function Vx(e){return e!==void 0&&Lx.test(e)}function Hx(e){return e!==void 0&&Rx.test(e)}function Ux(e){return e!==void 0&&Fx.test(e)}function Wx(e,t){if(t>=e.length)return{word:{wt:Y.Invalid,text:``},next:t};let n=e[t],r=t+1;if(zx(n)){for(;r<e.length&&zx(e[r]);)r++;return{word:{wt:Y.Connector,text:e.slice(t,r).join(``)},next:r}}if(Ux(n)){for(;r<e.length&&Ux(e[r]);)r++;return{word:{wt:Y.Punct,text:e.slice(t,r).join(``)},next:r}}if(Vx(n)){if(r>=e.length)return{word:{wt:Y.UpperCase,text:n},next:r};if(Vx(e[r])){let n=r;for(;n<e.length&&Vx(e[n]);)n++;return n<e.length&&Bx(e[n])?{word:{wt:Y.UpperCase,text:e.slice(t,n-1).join(``)},next:n-1}:{word:{wt:Y.UpperCase,text:e.slice(t,n).join(``)},next:n}}if(Bx(e[r])){let n=r+1;for(;n<e.length&&Bx(e[n])&&!Vx(e[n]);)n++;return{word:{wt:Y.UpperCase,text:e.slice(t,n).join(``)},next:n}}return{word:{wt:Y.UpperCase,text:n},next:r}}if(Bx(n)){for(;r<e.length&&Bx(e[r])&&!Vx(e[r]);)r++;return{word:{wt:Y.Alphabet,text:e.slice(t,r).join(``)},next:r}}if(Hx(n)){for(;r<e.length&&Hx(e[r]);)r++;return{word:{wt:Y.Number,text:e.slice(t,r).join(``)},next:r}}for(;r<e.length&&!zx(e[r])&&!Bx(e[r])&&!Hx(e[r])&&!Ux(e[r]);)r++;return{word:{wt:Y.Other,text:e.slice(t,r).join(``)},next:r}}function Gx(e,t,n){if(t.wt!==Y.UpperCase&&t.wt!==Y.Connector){e.push(t.text);return}for(let r of t.text)zx(r)?e.push(n):Vx(r)?e.push(r.toLowerCase()):e.push(r)}function Kx(e,t){if(e.length===0)return``;let n=Ax(e),r=[],{word:i,next:a}=Wx(n,0);for(;a<n.length;){i.wt!==Y.Connector&&Gx(r,i,t);let e=i,o=i;if({word:i,next:a}=Wx(n,a),e.wt===Y.Number){for(;i.wt===Y.Alphabet||i.wt===Y.Number;)Gx(r,i,t),{word:i,next:a}=Wx(n,a);i.wt!==Y.Invalid&&i.wt!==Y.Punct&&i.wt!==Y.Connector&&r.push(t);continue}if(e.wt===Y.Connector){Gx(r,o,t);continue}if(e.wt===Y.Punct)continue;if(i.wt!==Y.Number){i.wt!==Y.Connector&&i.wt!==Y.Punct&&r.push(t);continue}if(a>=n.length)continue;let s=i;if({word:i,next:a}=Wx(n,a),i.wt!==Y.Alphabet){Gx(r,s,t),i.wt!==Y.Connector&&i.wt!==Y.Punct&&r.push(t);continue}for(r.push(t),Gx(r,s,t);i.wt===Y.Alphabet||i.wt===Y.Number;)Gx(r,i,t),{word:i,next:a}=Wx(n,a);i.wt!==Y.Invalid&&i.wt!==Y.Connector&&i.wt!==Y.Punct&&r.push(t)}return Gx(r,i,t),r.join(``).toLowerCase()}function qx(e){if(e.length===0)return``;let t=Ax(e),n=[],r=0,i=``;for(;r<t.length;){if(i=t[r],r++,!zx(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++,zx(i)&&zx(e)){n.push(e);continue}zx(e)?i=i.toUpperCase():(i=i.toLowerCase(),n.push(e))}return n.push(i),n.join(``)}function Jx(e){return qx(e)}function Yx(...e){return e.join(` `)}function Xx(e,t){return t.includes(e)}function Zx(e,t){return t.startsWith(e)}function Qx(e,t){return t.endsWith(e)}function $x(e,t){let n=` `.repeat(Math.max(0,e));return t.split(`
|
|
62
|
+
`?(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 t_(e){return e===` `||e===` `||e===`\r`||e===`
|
|
63
|
+
`}function n_(e){return e===`+`||e===`-`}function r_(e){return e>=`0`&&e<=`9`}function i_(e){return r_(e)||e>=`a`&&e<=`f`||e>=`A`&&e<=`F`}function a_(e){return e>=`0`&&e<=`7`}function o_(e){return e===`0`||e===`1`}function s_(e){return e>=`a`&&e<=`z`||e>=`A`&&e<=`Z`}function c_(e){return s_(e)||e===`_`}function l_(e){return c_(e)||r_(e)}let u_,d_;function f_(e,t){return d_(e,t)}var p_=class e{static EMPTY=new e(new Map,void 0);#e;#t;constructor(e,t){this.#e=e,this.#t=t}static{u_=(t,n)=>new e(t,n),d_=(e,t)=>e.#e.get(t)??(e.#t&&d_(e.#t,t))}has(e){return d_(this,e)!==void 0}};function m_(e,t,n=p_.EMPTY){return new h_(e,t,n).parseTemplate()}var h_=class{lex;buf=[];defines=new Map;inherit;source;rangeDepth=0;constructor(e,t,n){this.source=e,this.inherit=n,this.lex=t?new e_(e,t):new e_(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:v_(n)});return n}errAt(e,t,n={}){return new Bg(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 ${v_(e)}`,{found:v_(e)})}return{root:e,defines:u_(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=__(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 g_(e,t);let r=this.parseAction();r!==null&&t.push(r);continue}throw this.errAt(n,`unexpected ${v_(n)} at top level`,{found:v_(n)})}return g_(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 Bg(`{{${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 Bg(`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:v_(e)});return E_(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(!y_(e.type))throw this.errAt(e,"missing command after `|`",{expected:`command`,found:v_(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=[b_(this.next())];for(;this.peek().type===`Comma`;)this.next(),n.push(b_(this.expect(`Variable`,`$variable`)));return{vars:n,isAssign:this.next().type===`Assign`}}parseCommand(){let e=this.peek().pos,t=[this.parsePrimary()];for(;y_(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 b_(e);case`Identifier`:return{type:`Identifier`,pos:e.pos,ident:e.value};case`String`:return{type:`String`,pos:e.pos,raw:e.value,value:E_(e.value,e.pos,this.source)};case`Number`:return S_(e);case`Char`:return C_(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 ${v_(e)}`,{expected:`command argument`,found:v_(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 g_(e,t){return{type:`List`,pos:e,nodes:t}}function __(e){return{trimLeft:e.trimLeft===!0,trimRight:e.trimRight===!0}}function v_(e){return e.type===`EOF`?`end of input`:e.value||e.type}function y_(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 b_(e){return{type:`Variable`,pos:e.pos,idents:x_(e.value)}}function x_(e){let t=e.indexOf(`.`);return t===-1?[e]:[e.slice(0,t),...e.slice(t+1).split(`.`)]}function S_(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=w_(i);return{...s,intValue:e}}if(a){let e=T_(i);return{...s,floatValue:e}}let c=T_(i);return{...s,complexValue:[0,c]}}function C_(e,t){let n=D_(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 w_(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 T_(e){return Number(e)}function E_(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+=`
|
|
64
|
+
`;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 Bg(`bad escape sequence \\${o}`,t,{expected:`valid escape sequence`,found:`\\${o}`,source:n})}}return r}function D_(e,t,n){let r=E_(`"${e.slice(1,-1).replace(/"/g,`\\"`)}"`,t,n);if(r.length===0)throw new Bg(`empty rune literal`,t,{source:n});return r.codePointAt(0)??0}function O_(e,t){if(t(e)!==!1)for(let n of k_(e))O_(n,t)}function k_(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 Zg(e)}}const A_=Symbol(`go-template-js.MISSING`);function j_(e,t){if(e==null)return A_;if(e instanceof Map)return e.has(t)?e.get(t):A_;if(Array.isArray(e))return A_;if(typeof e==`object`){let n=e;return t in n?n[t]:A_}return A_}function M_(e,t){let n=e;for(let e of t){if(n===A_)return A_;n=j_(n,e)}return n}function N_(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)=>N_(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)||!N_(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=>N_(e[n],t[n])):!1}return!1}const P_=new WeakSet;function F_(e){return P_.add(e),e}function I_(e){return P_.has(e)}function L_(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 R_(e,t){return{eq:{fn:(e,...t)=>t.some(t=>V_(e,t)),argTypes:[`comparable`,`comparable`],arity:{kind:`variadic`}},ne:{fn:(e,t)=>!V_(e,t),argTypes:[`comparable`,`comparable`],arity:{kind:`exact`}},lt:{fn:(e,t)=>H_(e,t)<0,argTypes:[`ordered`,`ordered`],arity:{kind:`exact`}},le:{fn:(e,t)=>H_(e,t)<=0,argTypes:[`ordered`,`ordered`],arity:{kind:`exact`}},gt:{fn:(e,t)=>H_(e,t)>0,argTypes:[`ordered`,`ordered`],arity:{kind:`exact`}},ge:{fn:(e,t)=>H_(e,t)>=0,argTypes:[`ordered`,`ordered`],arity:{kind:`exact`}},len:{fn:e=>U_(e),argTypes:[`sized`],arity:{kind:`exact`}},index:{fn:(e,...t)=>{let n=e;for(let e of t)n=W_(n,e);return n},argTypes:[`collection`,`index-key`],arity:{kind:`variadic`}},slice:{fn:(e,...t)=>K_(e,t),argTypes:[`sliceable`,`int`],arity:{kind:`variadic`}},print:{fn:(...t)=>Y_(t,e),argTypes:[`stringifiable`],arity:{kind:`variadic`},returnType:`string`},println:{fn:(...t)=>`${Y_(t,e)}\n`,argTypes:[`stringifiable`],arity:{kind:`variadic`},returnType:`string`},printf:{fn:(n,...r)=>iv(n,r,e,t),argTypes:[`string`,`stringifiable`],arity:{kind:`variadic`},returnType:`string`},toString:{fn:n=>sv(n,e,t),argTypes:[`value`],arity:{kind:`exact`},returnType:`string`},toStrings:{fn:n=>n.map(n=>sv(n,e,t)),argTypes:[`list`],arity:{kind:`exact`}},call:{fn:(e,...t)=>e(...t),argTypes:[`callable`,`value`],arity:{kind:`variadic`}},html:{fn:(...t)=>Q_(Y_(t,e)),argTypes:[`stringifiable`],arity:{kind:`variadic`},returnType:`string`},js:{fn:(...t)=>tv(Y_(t,e)),argTypes:[`stringifiable`],arity:{kind:`variadic`},returnType:`string`},urlquery:{fn:(...t)=>rv(Y_(t,e)),argTypes:[`stringifiable`],arity:{kind:`variadic`},returnType:`string`},not:{fn:e=>!L_(e),argTypes:[`truthy`],arity:{kind:`exact`}}}}function z_(){return{and:F_({argTypes:[`truthy`,`truthy`],arity:{kind:`variadic`},fn:(...e)=>{let t=!0;for(let n of e)if(t=n(),!L_(t))return t;return t}}),or:F_({argTypes:[`truthy`,`truthy`],arity:{kind:`variadic`},fn:(...e)=>{let t=!1;for(let n of e)if(t=n(),L_(t))return t;return t}})}}function B_(e,t){return{...R_(e,t),...z_()}}function V_(e,t){return typeof e==`number`&&typeof t==`bigint`?BigInt(e)===t:typeof e==`bigint`&&typeof t==`number`?e===BigInt(t):N_(e,t)}function H_(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 U_(e){return typeof e==`string`||Array.isArray(e)?e.length:e instanceof Map||e instanceof Set?e.size:Object.keys(e).length}function W_(e,t){if(Array.isArray(e)||typeof e==`string`){let n=G_(t,e.length);if(n===e.length)throw Error(`index out of range: ${n}`);return e[n]}if(e instanceof Map)return e.get(t);if(typeof e==`object`&&e){if(typeof t!=`string`)throw Error(`index: object index must be string, got ${q_(t)}`);return e[t]}throw Error(`index: cannot index ${q_(e)}`)}function G_(e,t){let n=typeof e==`bigint`?Number(e):e;if(typeof n!=`number`||!Number.isInteger(n))throw Error(`cannot index slice/array with type ${J_(e)}`);if(n<0||n>t)throw Error(`index out of range: ${String(e)}`);return n}function K_(e,t){if(t.length>3)throw Error(`too many slice indexes: ${t.length}`);if(typeof e==`string`&&t.length>2)throw Error(`cannot 3-index slice a string`);let n=e.length,r=[0,n,n];t.forEach((e,t)=>{r[t]=G_(e,n)});let[i,a,o]=r;if(i>a)throw Error(`invalid slice index: ${i} > ${a}`);if(a>o)throw Error(`invalid slice index: ${a} > ${o}`);return e.slice(i,a)}function q_(e){return e===null?`null`:e===void 0?`undefined`:Array.isArray(e)?`array`:e instanceof Map?`Map`:typeof e}function J_(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 Y_(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+=X_(a,t),r=o}return n}function X_(e,t){return e==null?`<nil>`:typeof e==`string`?e:t(e)}const Z_={"\0":`�`,'"':`"`,"'":`'`,"&":`&`,"<":`<`,">":`>`};function Q_(e){return e.replace(/[\0"'&<>]/g,e=>Z_[e]??e)}const $_={"\\":`\\\\`,"'":`\\'`,'"':`\\"`,"<":`\\u003C`,">":`\\u003E`,"&":`\\u0026`,"=":`\\u003D`},ev=/^[\p{L}\p{M}\p{N}\p{P}\p{S}]$/u;function tv(e){let t=``;for(let n of e){let e=$_[n];if(e!==void 0){t+=e;continue}let r=n.codePointAt(0);if(r<32||r>=128&&!ev.test(n)){t+=`\\u${r.toString(16).toUpperCase().padStart(4,`0`)}`;continue}t+=n}return t}const nv=new TextEncoder;function rv(e){let t=``,n=nv.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 iv(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+=av(l??``,u,d,n,r),o=c+1}return i}function av(e,t,n,r,i){switch(e){case`s`:return typeof n==`string`?ov(t,n):ov(t,X_(n,r));case`d`:return typeof n!=`number`&&typeof n!=`bigint`?`%!${e}(${J_(n)}=${X_(n,r)})`:ov(t,String(typeof n==`bigint`?n:Math.trunc(n)));case`v`:return ov(t,sv(n,r,i));case`q`:return ov(t,JSON.stringify(X_(n,r)));case`f`:{if(typeof n!=`number`&&typeof n!=`bigint`)return`%!${e}(${J_(n)}=${X_(n,r)})`;let i=t.includes(`.`)?Number(t.split(`.`)[1]):6;return ov(t,Number(n).toFixed(i))}case`t`:return ov(t,L_(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 ov(t,r)}return typeof n!=`number`&&typeof n!=`bigint`?`%!${e}(${J_(n)}=${X_(n,r)})`:typeof n==`bigint`?ov(t,n.toString(16)):ov(t,Math.trunc(n).toString(16));default:return`%!${e}(${J_(n)}=${X_(n,r)})`}}function ov(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 sv(e,t,n){return e==null?`<nil>`:typeof e==`string`?e:n(e)?t(e):Array.isArray(e)?`[${e.map(e=>sv(e,t,n)).join(` `)}]`:e instanceof Map?cv([...e.entries()],t,n):lv(e)?cv(Object.entries(e),t,n):String(e)}function cv(e,t,n){let r=e=>sv(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 lv(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 uv(e){return{dot:e,root:e,parent:void 0,vars:new Map}}function dv(e,t){return{dot:t,root:e.root,parent:e,vars:new Map}}function fv(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 pv(e,t,n){e.vars.set(t,n)}const mv=[`string`,`int`,`truncating-int`,`float`,`bool`,`T`,`ordered`,`list`,`dict`,`sized`,`comparable`,`stringifiable`,`liftable`,`callable`,`collection`,`index-key`,`sliceable`,`truthy`,`reflective`,`value`,`serializable`],hv=new Set([`default`,`zero`,`error`]);function gv(e){if(e===void 0)return`default`;if(hv.has(e))return e;throw Error(`EngineConfig.missingKey: expected "default" | "zero" | "error", got ${_v(e)}`)}function _v(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 vv(e){if(e!==void 0){if(typeof e!=`object`||!e)throw Error(`EngineConfig.delims: expected { left, right } object, got ${_v(e)}`);if(typeof e.left!=`string`||e.left.length===0)throw Error(`EngineConfig.delims.left: expected non-empty string, got ${_v(e.left)}`);if(typeof e.right!=`string`||e.right.length===0)throw Error(`EngineConfig.delims.right: expected non-empty string, got ${_v(e.right)}`);return{left:e.left,right:e.right}}}function yv(e){switch(e.kind){case`exact`:return!1;case`variadic`:return!0;case`alternating`:return!0}}function bv(e){let t=new Set(mv);for(let[n,r]of Object.entries(e)){if(r.argTypes.forEach((e,r)=>{if(!t.has(e))throw Error(`EngineConfig.funcs.${n}: argTypes[${r}] is ${JSON.stringify(e)}, which is not an ArgType; declare one of ${mv.join(`, `)}`)}),yv(r.arity)&&r.argTypes.length===0)throw Error(`EngineConfig.funcs.${n}: arity ${JSON.stringify(r.arity.kind)} needs at least one declared argType (it reads its repeating slot from the end of argTypes); declare the slots the Go signature has, or use { kind: "exact" }`);if(r.arity.kind===`alternating`&&(!Number.isSafeInteger(r.arity.minimum)||r.arity.minimum<0))throw Error(`EngineConfig.funcs.${n}: arity "alternating" needs a non-negative integer minimum, got ${String(r.arity.minimum)}; the gate rejects every count below it, so a negative or non-finite minimum would disable the lower bound`)}return e}const xv=Object.freeze({kind:`break`}),Sv=Object.freeze({kind:`continue`}),Cv={kind:`none`};let wv;(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{wv=(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 Tv(e){let t=new Set,n=e=>{O_(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 Ev={kind:`dynamic`};function Dv(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=Jv(e);return typeof t==`number`||typeof t==`bigint`?{kind:`literal`,value:t}:Ev}case`Pipe`:{if(e.decls.length!==0||e.cmds.length!==1)return Ev;let t=e.cmds[0];if(t===void 0)return Ev;let n=t.args[0];return n===void 0||n.type!==`Identifier`?Ev:{kind:`call`,name:n.ident,args:t.args.slice(1).map(Dv)}}default:return Ev}}function Ov(e){let t=[],n=e=>{O_(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(Dv);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 kv=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??Lv,this.isT=e.isT??Av,this.missingKey=gv(e.missingKey),this.delims=vv(e.delims),this.funcs=bv({...B_(this.toString,this.isT),...e.funcs??{}})}parse(e,t){let n=m_(e,this.delims,t);return wv(n.source,e=>this.evalParsed(n,e),n.defines,Tv(n),Ov(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=uv(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 xv;case`Continue`:throw Sv;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 Vg(`unexpected ${e.type} at statement position`,e.pos,{source:n.source});default:Zg(e)}}evalIf(e,t,n){L_(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(L_(r)){let i=dv(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=Gv(r);try{if(a.length===0){e.elseList&&this.evalList(e.elseList,t,n);return}for(let[r,o]of a){let a=dv(t,o);if(i.length===1)pv(a,i[0]?.idents[0]??`$`,o);else if(i.length>=2){let e=i[0]?.idents[0]??`$`,t=i[1]?.idents[0]??`$`;pv(a,e,r),pv(a,t,o)}try{this.evalList(e.list,a,n)}catch(e){if(e===Sv)continue;throw e}}}catch(e){if(e===xv)return;throw e}}evalTemplateInvoke(e,t,n){let r=f_(n.defines,e.name);if(!r)throw new Vg(`template ${JSON.stringify(e.name)} is not defined`,e.pos,{source:n.source});let i=dv(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=dv(t,e.pipe?this.evalPipe(e.pipe,t,n):t.dot),i=f_(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 Vg(`empty pipeline`,e.pos,{source:n.source});let r=this.evalCommand(e.cmds[0],t,n,Cv);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)pv(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 Vg(`empty command`,e.pos,{source:n.source});let i=e.args[0];if(i.type!==`Identifier`){if(e.args.length>1)throw new Vg(`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 Hg(i.ident,i.pos,{source:n.source,available:Object.keys(this.funcs)});let o=e.args.slice(1),s=I_(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)}return this.invoke(i.ident,a,c,e.pos,n)}invoke(e,t,n,r,i){Mv(e,t,n,r,i.source,this.toString,this.fromString,this.isT);try{return t.fn(...n)}catch(t){throw t instanceof Wg?new Wg(t.funcName,t.argIndex,t.expected,t.receivedSummary,r,{source:i.source}):t instanceof qg?new qg(t.message,r,{source:i.source}):t instanceof zg?t:new Vg(`error calling ${e}: ${Uv(t)}`,r,{source:i.source,cause: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 Jv(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 Hg(e.ident,e.pos,{source:n.source,available:Object.keys(this.funcs)});return this.invoke(e.ident,t,[],e.pos,n)}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 Vg(`cannot evaluate ${e.type} as a value`,e.pos,{source:n.source})}}resolveFieldChain(e,t,n,r){let i=M_(e,t);if(i!==A_)return i;if(this.missingKey===`error`)throw new Kg(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=fv(t,i);if(!a.found)throw new Vg(`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(sv(e,this.toString,this.isT)))}};const Av=e=>typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Map);function jv(e){return new kv(e)}function Mv(e,t,n,r,i,a=Lv,o=Iv,s=Av){let{argTypes:c,arity:l}=t,u=Nv(c,l);if(n.length<u.minimum||n.length>u.maximum)throw new Ug(e,u,n.length,r,{source:i});let d=Pv(c,l),f=-1,p=-1;for(let t=0;t<n.length;t++){let c=d(t),l=n[t];if(!Fv(c,l,a,s))throw(c===`int`||c===`truncating-int`)&&(typeof l==`number`||typeof l==`bigint`)?new Gg(e,t+1,l,r,{source:i}):new Wg(e,t+1,Hv(c),Wv(l),r,{source:i});if(c===`liftable`&&typeof l==`string`&&(n[t]=o(l)),c===`truncating-int`?n[t]=Math.trunc(Number(l)):(c===`int`||c===`float`)&&(n[t]=Number(l)),c===`ordered`){if(f===-1)f=t;else if(!zv(n[f],l))throw new Wg(e,t+1,`${Hv(`ordered`)} of the same kind as ${Wv(n[f])}`,Wv(l),r,{source:i})}if(c===`comparable`){if(p===-1)p=t;else if(!Bv(n[p],l))throw new Wg(e,t+1,`${Hv(`comparable`)} of the same kind as ${Wv(n[p])}`,Wv(l),r,{source:i})}}}function Nv(e,t){switch(t.kind){case`exact`:return{minimum:e.length,maximum:e.length};case`variadic`:return{minimum:e.length-1,maximum:1/0};case`alternating`:return{minimum:t.minimum,maximum:1/0}}}function Pv(e,t){let n=e.length;switch(t.kind){case`exact`:return t=>e[t];case`variadic`:return t=>e[Math.min(t,n-1)];case`alternating`:return t=>e[t%n]}}function Fv(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.isSafeInteger(t)||typeof t==`bigint`&&Number.isSafeInteger(Number(t));case`truncating-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 lv(t);case`sized`:return typeof t==`string`||Array.isArray(t)||t instanceof Map||t instanceof Set||lv(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||lv(t);case`callable`:return typeof t==`function`;case`collection`:return typeof t==`string`||Array.isArray(t)||t instanceof Map||lv(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 Rv(t);default:throw Error(`invalid ArgType: ${String(e)}`)}}function Iv(e){return e}function Lv(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 Wg(`<engine.toString>`,1,`string (or a consumer-supplied toString that flattens T)`,Wv(e),{line:0,column:0,offset:0})}function Rv(e){try{return JSON.stringify(e)!==void 0}catch{return!1}}function zv(e,t){return typeof e==typeof t||typeof e==`number`&&typeof t==`bigint`||typeof e==`bigint`&&typeof t==`number`}function Bv(e,t){let n=Vv(e),r=Vv(t);return n===`nil`||r===`nil`?!0:n===r}function Vv(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 Hv(e){switch(e){case`int`:return`integer (safe-integer number or bigint)`;case`truncating-int`:return`integer (finite number, truncated toward zero, 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 Uv(e){return e instanceof Error?e.message:String(e)}function Wv(e){return e===null?`null`:e===void 0?`undefined`:Array.isArray(e)?`array`:e instanceof Map?`Map`:typeof e}function Gv(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?Kv([...e.entries()]):e instanceof Set?[...e.values()].map((e,t)=>[t,e]):typeof e==`object`?Kv(Object.entries(e)):[]}function Kv(e){return[...e].sort((e,t)=>qv(e[0],t[0]))}function qv(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 Jv(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 Yv(e){if(!/^[+-]?\d+$/.test(e))return 0;let t=Number.parseInt(e,10);return Number.isSafeInteger(t)?t:0}function Xv(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 Zv(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 Qv(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=Zv(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 $v(e){if(typeof e==`bigint`)return e;if(typeof e==`number`)return BigInt(Math.trunc(e));if(typeof e==`string`){let t=Zv(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 ey(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 ty(e){return JSON.stringify(e)??`null`}function ny(){return{atoi:{fn:e=>Yv(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`int`},int:{fn:e=>Qv(e),argTypes:[`value`],arity:{kind:`exact`},returnType:`int`},int64:{fn:e=>$v(e),argTypes:[`value`],arity:{kind:`exact`}},float64:{fn:e=>Xv(e),argTypes:[`value`],arity:{kind:`exact`},returnType:`float`},toDecimal:{fn:e=>ey(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`int`},toRawJson:{fn:e=>ty(e),argTypes:[`serializable`],arity:{kind:`exact`},returnType:`string`}}}const ry={h:36e11,m:6e10,s:1e9,ms:1e6,us:1e3,µs:1e3,ns:1};function iy(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*ry[a],n=n.slice(e[0].length)}return t?-r:r}function ay(e){if(e===0)return`0s`;let t=!1,n=e;n<0&&(t=!0,n=-n);let r;return r=n<ry.us?`${Math.floor(n)}ns`:n<ry.ms?oy(n,ry.us,3,`µs`):n<ry.s?oy(n,ry.ms,6,`ms`):sy(n),t?`-${r}`:r}function oy(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 sy(e){let t=Math.floor(e/ry.h);e-=t*ry.h;let n=Math.floor(e/ry.m);e-=n*ry.m;let r=Math.floor(e/ry.s),i=e-r*ry.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 cy(e){return e*ry.s}function ly(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 uy(e,t){let n=t().getTime()-ly(e).getTime();return ay(Math.round(n/1e3)*1e9)}const dy=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],fy=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],py=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],my=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`];function hy(e){return e<10?`0${e}`:String(e)}function gy(e){return e<10?`00${e}`:e<100?`0${e}`:String(e)}function _y(e){return e<10?` ${e}`:String(e)}function vy(e){let t=e>=0?`+`:`-`,n=Math.abs(e);return`${t}${hy(Math.floor(n/60))}${hy(n%60)}`}function yy(e){let t=e>=0?`+`:`-`,n=Math.abs(e);return`${t}${hy(Math.floor(n/60))}:${hy(n%60)}`}function by(e){return`${e>=0?`+`:`-`}${hy(Math.floor(Math.abs(e)/60))}`}function xy(e){return e===0?`Z`:vy(e)}function Sy(e){return e===0?`Z`:yy(e)}function Cy(e){return e===0?`Z`:by(e)}function wy(e,t,n){let r=e*1e6,i=String(r).padStart(9,`0`).slice(0,t);return n?i.replace(/0+$/,``):i}const Ty=[[`.000000000`,e=>`.${wy(e.ms,9,!1)}`],[`.999999999`,e=>{let t=wy(e.ms,9,!0);return t?`.${t}`:``}],[`.000000`,e=>`.${wy(e.ms,6,!1)}`],[`.999999`,e=>{let t=wy(e.ms,6,!0);return t?`.${t}`:``}],[`.000`,e=>`.${gy(e.ms)}`],[`.999`,e=>{let t=gy(e.ms).replace(/0+$/,``);return t?`.${t}`:``}],[`January`,e=>dy[e.month-1]??`January`],[`Monday`,e=>py[e.weekday]??`Monday`],[`Z07:00`,e=>Sy(e.offsetMinutes)],[`-07:00`,e=>yy(e.offsetMinutes)],[`Z0700`,e=>xy(e.offsetMinutes)],[`-0700`,e=>vy(e.offsetMinutes)],[`2006`,e=>String(e.year)],[`Jan`,e=>fy[e.month-1]??`Jan`],[`Mon`,e=>my[e.weekday]??`Mon`],[`MST`,e=>e.tzAbbr],[`-07`,e=>by(e.offsetMinutes)],[`Z07`,e=>Cy(e.offsetMinutes)],[`15`,e=>hy(e.hour)],[`01`,e=>hy(e.month)],[`02`,e=>hy(e.day)],[`_2`,e=>_y(e.day)],[`03`,e=>hy(e.hour12)],[`04`,e=>hy(e.minute)],[`05`,e=>hy(e.second)],[`06`,e=>hy(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 Ey(e,t){let n=``,r=0;for(;r<e.length;){let i=!1;for(let[a,o]of Ty)if(e.startsWith(a,r)){n+=o(t),r+=a.length,i=!0;break}i||(n+=e[r++])}return n}const Dy={year:`numeric`,month:`2-digit`,day:`2-digit`,weekday:`long`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1};function Oy(e){let t=new Map;for(let n of e)t.set(n.type,n.value);return t}const ky=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`];function Ay(e,t){let n;try{new Intl.DateTimeFormat(`en-US`,{timeZone:t}),n=t}catch{n=`UTC`}let r=Oy(new Intl.DateTimeFormat(`en-US`,{...Dy,timeZone:n}).formatToParts(e)),i=parseInt(r.get(`hour`)??`0`,10)%24,a=Oy(new Intl.DateTimeFormat(`en-US`,{timeZone:n,timeZoneName:`short`}).formatToParts(e)).get(`timeZoneName`)??n,o=jy(Oy(new Intl.DateTimeFormat(`en-US`,{timeZone:n,timeZoneName:`shortOffset`}).formatToParts(e)).get(`timeZoneName`)??`GMT`),s=ky.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 jy(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 My(){return Intl.DateTimeFormat().resolvedOptions().timeZone}function Ny(e,t){return Ey(e,Ay(ly(t),My()))}function Py(e,t,n){return Ey(e,Ay(ly(t),n))}function Fy(e,t){let n=ly(t),r=iy(e);return Number.isNaN(r)?n:new Date(n.getTime()+r/1e6)}function Iy(e){if(typeof e==`string`){let t=parseInt(e,10);return Number.isNaN(t)?`0s`:ay(cy(t))}return typeof e==`bigint`?ay(cy(Number(e))):typeof e==`number`?ay(cy(e)):`0s`}const Ly=36e11*24*365,Ry=36e11*24*30,zy=36e11*24,By=36e11,Vy=6e10,Hy=1e9;function Uy(e){let t=iy(String(e));if(Number.isNaN(t))return`0s`;let n=Math.abs(t);return n>Ly?`${Math.floor(n/Ly)}y`:n>Ry?`${Math.floor(n/Ry)}mo`:n>zy?`${Math.floor(n/zy)}d`:n>By?`${Math.floor(n/By)}h`:n>Vy?`${Math.floor(n/Vy)}m`:n>Hy?`${Math.floor(n/Hy)}s`:`0s`}function Wy(e){let t=Ay(ly(e),My());return`${t.year}-${String(t.month).padStart(2,`0`)}-${String(t.day).padStart(2,`0`)}`}function Gy(e,t){let n=Ay(ly(e),t);return`${n.year}-${String(n.month).padStart(2,`0`)}-${String(n.day).padStart(2,`0`)}`}function Ky(e){return e()}const qy=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],Jy=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`];function Yy(){return{year:2e3,month:1,day:1,hour:0,minute:0,second:0,ms:0,offsetMinutes:0,isPM:!1,hour12:!1}}function Xy(e,t,n){return[e.slice(t,t+n),t+n]}function Zy(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 Qy(e,t){for(let[n,r]of qy.entries())if(e.startsWith(r,t))return[n+1,t+r.length];throw Error(`sprig toDate: expected month name at pos ${t}`)}function $y(e,t){for(let[n,r]of Jy.entries())if(e.startsWith(r,t))return[n+1,t+r.length];throw Error(`sprig toDate: expected short month name at pos ${t}`)}function eb(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 tb(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 nb(e,t){if(e[t]===` `){let[n,r]=Zy(e,t+1,1,1);return[n,r]}return Zy(e,t,1,2)}function rb(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]=Zy(e,i,2,2);i=o;let s=0;if(n&&e[i]===`:`){let[t,n]=Zy(e,i+1,2,2);s=t,i=n}else if(!n){let[t,n]=Zy(e,i,2,2);s=t,i=n}return[r*(a*60+s),i]}function ib(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]=Zy(e,t+1,2,2);return[n*r*60,i]}return rb(e,t,n)}function ab(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 ob(e,t,n){let[r,i]=Xy(e,t,n),a=parseInt(r.padEnd(9,`0`),10);return[Math.round(a/1e6),i]}function sb(e,t,n,r){let i={...r};switch(e){case`January`:{let[e,r]=Qy(t,n);return i.month=e,[r,i]}case`Monday`:return[eb(t,n),i];case`Jan`:{let[e,r]=$y(t,n);return i.month=e,[r,i]}case`Mon`:return[tb(t,n),i];case`2006`:{let[e,r]=Zy(t,n,4,4);return i.year=e,[r,i]}case`06`:{let[e,r]=Zy(t,n,2,2);return i.year=e<70?2e3+e:1900+e,[r,i]}case`01`:{let[e,r]=Zy(t,n,2,2);return i.month=e,[r,i]}case`1`:{let[e,r]=Zy(t,n,1,2);return i.month=e,[r,i]}case`_2`:{let[e,r]=nb(t,n);return i.day=e,[r,i]}case`02`:{let[e,r]=Zy(t,n,2,2);return i.day=e,[r,i]}case`2`:{let[e,r]=Zy(t,n,1,2);return i.day=e,[r,i]}case`15`:{let[e,r]=Zy(t,n,2,2);return i.hour=e,[r,i]}case`03`:{let[e,r]=Zy(t,n,2,2);return i.hour=e,i.hour12=!0,[r,i]}case`3`:{let[e,r]=Zy(t,n,1,2);return i.hour=e,i.hour12=!0,[r,i]}case`04`:{let[e,r]=Zy(t,n,2,2);return i.minute=e,[r,i]}case`4`:{let[e,r]=Zy(t,n,1,2);return i.minute=e,[r,i]}case`05`:{let[e,r]=Zy(t,n,2,2);return i.second=e,[r,i]}case`5`:{let[e,r]=Zy(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[ab(t,n),i];case`-0700`:{let[e,r]=rb(t,n,!1);return i.offsetMinutes=e,[r,i]}case`-07:00`:{let[e,r]=rb(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]=Zy(t,n+1,2,2);return i.offsetMinutes=e*r*60,[a,i]}case`Z0700`:{let[e,r]=ib(t,n,!1,!1);return i.offsetMinutes=e,[r,i]}case`Z07:00`:{let[e,r]=ib(t,n,!0,!1);return i.offsetMinutes=e,[r,i]}case`Z07`:{let[e,r]=ib(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]=ob(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]=ob(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]=ob(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 cb=`.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 lb(e,t){let n=0,r=0,i=Yy();for(;n<e.length;){let a=!1;for(let o of cb)if(e.startsWith(o,n)){let[e,s]=sb(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 ub(e,t){return lb(e,t)}function db(e){return String(Math.floor(ly(e).getTime()/1e3))}function fb(e=()=>new Date){return{now:{fn:()=>Ky(e),argTypes:[],arity:{kind:`exact`}},date:{fn:(e,t)=>Ny(e,t),argTypes:[`string`,`value`],arity:{kind:`exact`}},dateInZone:{fn:(e,t,n)=>Py(e,t,n),argTypes:[`string`,`value`,`string`],arity:{kind:`exact`}},dateModify:{fn:(e,t)=>Fy(e,t),argTypes:[`string`,`value`],arity:{kind:`exact`}},htmlDate:{fn:e=>Wy(e),argTypes:[`value`],arity:{kind:`exact`}},htmlDateInZone:{fn:(e,t)=>Gy(e,t),argTypes:[`value`,`string`],arity:{kind:`exact`}},duration:{fn:e=>Iy(e),argTypes:[`value`],arity:{kind:`exact`}},durationRound:{fn:e=>Uy(e),argTypes:[`value`],arity:{kind:`exact`}},toDate:{fn:(e,t)=>ub(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},ago:{fn:t=>uy(t,e),argTypes:[`value`],arity:{kind:`exact`}},unixEpoch:{fn:e=>db(e),argTypes:[`value`],arity:{kind:`exact`}}}}function pb(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 mb(...e){for(let t of e)if(!pb(t))return t}function hb(e,t){return pb(t)?e:t}function gb(e){return JSON.parse(e)}function _b(e,t,n){return L_(n)?e:t}function vb(e){return JSON.stringify(e)??`null`}function yb(e){return JSON.stringify(e,null,2)??`null`}function bb(){return{default:{fn:(e,t)=>hb(e,t),argTypes:[`value`,`truthy`],arity:{kind:`variadic`}},empty:{fn:e=>pb(e),argTypes:[`truthy`],arity:{kind:`exact`}},coalesce:{fn:(...e)=>mb(...e),argTypes:[`truthy`],arity:{kind:`variadic`}},ternary:{fn:(e,t,n)=>_b(e,t,n),argTypes:[`value`,`value`,`truthy`],arity:{kind:`exact`}},fromJson:{fn:e=>gb(e),argTypes:[`string`],arity:{kind:`exact`}},toJson:{fn:e=>vb(e),argTypes:[`serializable`],arity:{kind:`exact`},returnType:`string`},toPrettyJson:{fn:e=>yb(e),argTypes:[`serializable`],arity:{kind:`exact`},returnType:`string`}}}function xb(...e){let t={};for(let n=0;n<e.length;n+=2)t[e[n]]=e[n+1];return t}function Sb(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 xb(...t)}function Cb(e,t){return e[t]}function wb(e,t){return t in e}function Tb(e){return Object.keys(e)}function Eb(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 Db(e,...t){let n={...e};for(let e of t)Object.assign(n,e);return n}function Ob(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 kb(e,...t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function Ab(e,...t){let n=[];for(let r of t)e in r&&n.push(r[e]);return n}function jb(e,t,n){return e[t]=n,e}function Mb(e,t){return delete e[t],e}function Nb(e){return Object.values(e)}function Pb(){return{dict:{fn:(...e)=>xb(...e),argTypes:[`string`,`value`],arity:{kind:`alternating`,minimum:0}},get:{fn:(e,t)=>Cb(e,t),argTypes:[`dict`,`string`],arity:{kind:`exact`}},set:{fn:(e,t,n)=>jb(e,t,n),argTypes:[`dict`,`string`,`value`],arity:{kind:`exact`}},unset:{fn:(e,t)=>Mb(e,t),argTypes:[`dict`,`string`],arity:{kind:`exact`}},keys:{fn:e=>Tb(e),argTypes:[`dict`],arity:{kind:`variadic`}},values:{fn:e=>Nb(e),argTypes:[`dict`],arity:{kind:`exact`}},pluck:{fn:(e,...t)=>Ab(e,...t),argTypes:[`string`,`dict`],arity:{kind:`variadic`}},pick:{fn:(e,...t)=>kb(e,...t),argTypes:[`dict`,`string`],arity:{kind:`variadic`}},omit:{fn:(e,...t)=>Ob(e,...t),argTypes:[`dict`,`string`],arity:{kind:`variadic`}},hasKey:{fn:(e,t)=>wb(e,t),argTypes:[`dict`,`string`],arity:{kind:`exact`}},merge:{fn:(e,...t)=>Eb(e,...t),argTypes:[`dict`,`dict`],arity:{kind:`variadic`}},mergeOverwrite:{fn:(e,...t)=>Db(e,...t),argTypes:[`dict`,`dict`],arity:{kind:`variadic`}}}}function Fb(e){throw new qg(e)}function Ib(){return{fail:{fn:e=>Fb(e),argTypes:[`string`],arity:{kind:`exact`}}}}new TextEncoder,new Map(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567`).map((e,t)=>[e,t])),new TextDecoder,new TextEncoder,new TextDecoder,new TextEncoder;function Lb(...e){for(let t of e)if(pb(t))return!1;return!0}function Rb(...e){for(let t of e)if(!pb(t))return!0;return!1}function zb(e,t){return[...e,t]}function Bb(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 Vb(e){return e.filter(e=>!pb(e))}function Hb(...e){let t=[];for(let n of e)t.push(...n);return t}const Ub={line:0,column:0,offset:0};function Wb(e,t,n,r){return new Wg(e,t,n,r,Ub)}function Gb(...e){if(e.length<3)throw Wb(`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(!qb(t))throw Wb(`dig`,e.length-1,`dict`,Jb(t));for(let e=0;e<r.length;e++)if(typeof r[e]!=`string`)throw Wb(`dig`,e,`string`,Jb(r[e]));return Kb(t,n,r,e.length)}function Kb(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(!qb(a))throw Wb(`dig`,r-1,`dict at intermediate key`,Jb(a));return Kb(a,t,n.slice(1),r)}function qb(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Map)&&!(e instanceof Set)}function Jb(e){return e===null?`null`:Array.isArray(e)?`array`:e instanceof Map?`Map`:e instanceof Set?`Set`:typeof e}function Yb(e){return e[0]}function Xb(e,t){return t.some(t=>N_(t,e))}function Zb(e){return e.slice(0,-1)}function Qb(e){return e[e.length-1]}function $b(e){return Array.isArray(e)||typeof e==`string`?e.length:e instanceof Map||e instanceof Set?e.size:Object.keys(e).length}function ex(...e){return e}function tx(e,t){return[t,...e]}function nx(e){return e.slice(1)}function rx(e){return[...e].reverse()}function ix(e,t,n){let r=t===void 0?0:t,i=n===void 0?e.length:n;return e.slice(r,i)}function ax(e){let t=[];for(let n of e)n!=null&&t.push(String(n));return t.sort()}function ox(e){let t=[];for(let n of e)t.some(e=>N_(e,n))||t.push(n);return t}function sx(e,...t){return e.filter(e=>!t.some(t=>N_(t,e)))}function cx(){return{list:{fn:(...e)=>ex(...e),argTypes:[`value`],arity:{kind:`variadic`}},first:{fn:e=>Yb(e),argTypes:[`list`],arity:{kind:`exact`}},last:{fn:e=>Qb(e),argTypes:[`list`],arity:{kind:`exact`}},rest:{fn:e=>nx(e),argTypes:[`list`],arity:{kind:`exact`}},initial:{fn:e=>Zb(e),argTypes:[`list`],arity:{kind:`exact`}},len:{fn:e=>$b(e),argTypes:[`sized`],arity:{kind:`exact`}},reverse:{fn:e=>rx(e),argTypes:[`list`],arity:{kind:`exact`}},uniq:{fn:e=>ox(e),argTypes:[`list`],arity:{kind:`exact`}},without:{fn:(e,...t)=>sx(e,...t),argTypes:[`list`,`value`],arity:{kind:`variadic`}},has:{fn:(e,t)=>Xb(e,t),argTypes:[`value`,`list`],arity:{kind:`exact`}},compact:{fn:e=>Vb(e),argTypes:[`list`],arity:{kind:`exact`}},slice:{fn:(e,t,n)=>ix(e,t,n),argTypes:[`list`,`truncating-int`],arity:{kind:`variadic`}},concat:{fn:(...e)=>Hb(...e),argTypes:[`list`],arity:{kind:`variadic`}},chunk:{fn:(e,t)=>Bb(e,t),argTypes:[`int`,`list`],arity:{kind:`exact`}},prepend:{fn:(e,t)=>tx(e,t),argTypes:[`list`,`value`],arity:{kind:`exact`}},append:{fn:(e,t)=>zb(e,t),argTypes:[`list`,`value`],arity:{kind:`exact`}},sortAlpha:{fn:e=>ax(e),argTypes:[`list`],arity:{kind:`exact`},returnType:`list`},push:{fn:(e,t)=>zb(e,t),argTypes:[`list`,`value`],arity:{kind:`exact`}},tuple:{fn:(...e)=>ex(...e),argTypes:[`value`],arity:{kind:`variadic`}},dig:{fn:(...e)=>Gb(...e),argTypes:[`value`],arity:{kind:`variadic`}},all:{fn:(...e)=>Lb(...e),argTypes:[`truthy`],arity:{kind:`variadic`},returnType:`bool`},any:{fn:(...e)=>Rb(...e),argTypes:[`truthy`],arity:{kind:`variadic`},returnType:`bool`}}}function lx(...e){return e.reduce((e,t)=>e+t,0)}function ux(e){return e+1}function dx(e){return e+1}function fx(...e){return e.reduce((e,t)=>e+t,0)}function px(e){return Math.ceil(e)}function mx(e,t){return Math.trunc(e/t)}function hx(e,...t){return t.reduce((e,t)=>e/t,e)}function gx(e){return Math.floor(e)}function _x(...e){return e.reduce((e,t)=>t>e?t:e,-1/0)}function vx(...e){return e.reduce((e,t)=>Math.max(e,t),-1/0)}function yx(...e){return e.reduce((e,t)=>t<e?t:e,1/0)}function bx(...e){return e.reduce((e,t)=>Math.min(e,t),1/0)}function xx(e,t){return e%t}function Sx(...e){return e.reduce((e,t)=>e*t,1)}function Cx(...e){return e.reduce((e,t)=>e*t,1)}function wx(e,t=0){let n=10**t;return Math.sign(e)*Math.round(Math.abs(e)*n)/n}function Tx(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 Ex(...e){let t=1;switch(e.length){case 0:return``;case 1:{let n=e[0];return n<1&&(t=-1),Tx(1,n+t,t).join(` `)}case 2:{let t=e[0],n=e[1],r=n<t?-1:1;return Tx(t,n+r,r).join(` `)}case 3:{let n=e[0],r=e[1],i=e[2];return i<n&&(t=-1,r>0)?``:Tx(n,i+t,r).join(` `)}default:return``}}function Dx(e,t){return e-t}function Ox(e,...t){return t.reduce((e,t)=>e-t,e)}function kx(e){return Tx(0,e,e<0?-1:1)}function Ax(){return{add:{fn:(...e)=>lx(...e),argTypes:[`truncating-int`],arity:{kind:`variadic`}},sub:{fn:(e,t)=>Dx(e,t),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`exact`}},mul:{fn:(...e)=>Sx(...e),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`variadic`}},div:{fn:(e,t)=>mx(e,t),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`exact`}},mod:{fn:(e,t)=>xx(e,t),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`exact`}},min:{fn:(...e)=>yx(...e),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`variadic`}},max:{fn:(...e)=>_x(...e),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`variadic`}},floor:{fn:e=>gx(e),argTypes:[`float`],arity:{kind:`exact`}},ceil:{fn:e=>px(e),argTypes:[`float`],arity:{kind:`exact`}},round:{fn:(e,t)=>wx(e,t),argTypes:[`float`,`int`,`float`],arity:{kind:`variadic`}},addf:{fn:(...e)=>fx(...e),argTypes:[`float`],arity:{kind:`variadic`}},subf:{fn:(e,...t)=>Ox(e,...t),argTypes:[`float`,`float`],arity:{kind:`variadic`}},mulf:{fn:(...e)=>Cx(...e),argTypes:[`float`,`float`],arity:{kind:`variadic`}},divf:{fn:(e,...t)=>hx(e,...t),argTypes:[`float`,`float`],arity:{kind:`variadic`}},add1:{fn:e=>ux(e),argTypes:[`truncating-int`],arity:{kind:`exact`}},add1f:{fn:e=>dx(e),argTypes:[`float`],arity:{kind:`exact`}},maxf:{fn:(...e)=>vx(...e),argTypes:[`float`,`float`],arity:{kind:`variadic`}},minf:{fn:(...e)=>bx(...e),argTypes:[`float`,`float`],arity:{kind:`variadic`}},biggest:{fn:(...e)=>_x(...e),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`variadic`}},seq:{fn:(...e)=>Ex(...e),argTypes:[`int`],arity:{kind:`variadic`},returnType:`string`},until:{fn:e=>kx(e),argTypes:[`int`],arity:{kind:`exact`},returnType:`list`},untilStep:{fn:(e,t,n)=>Tx(e,t,n),argTypes:[`int`,`int`,`int`],arity:{kind:`exact`},returnType:`list`}}}Array.from({length:95},(e,t)=>String.fromCharCode(t+32)).join(``);function jx(e){return Array.from(e)}function Mx(e,t){return e===``?jx(t):t.split(e)}function Nx(e,t){let n=jx(t);return n.length<=e||e<4?t:`${n.slice(0,e-3).join(``)}...`}function Px(e,t,n){let r=jx(n);return t<7||r.length<t||e<0||e>r.length-t+1?n:`...${r.slice(e,e+t-6).join(``)}...`}const J={Invalid:0,Number:1,UpperCase:2,Alphabet:3,Connector:4,Punct:5,Other:6},Fx=/^[-_\s]$/,Ix=/^\p{P}$/u,Lx=/^\p{L}$/u,Rx=/^\p{Lu}$/u,zx=/^\p{N}$/u;function Bx(e){return e!==void 0&&Fx.test(e)}function Vx(e){return e!==void 0&&Lx.test(e)}function Hx(e){return e!==void 0&&Rx.test(e)}function Ux(e){return e!==void 0&&zx.test(e)}function Wx(e){return e!==void 0&&Ix.test(e)}function Gx(e,t){if(t>=e.length)return{word:{wt:J.Invalid,text:``},next:t};let n=e[t],r=t+1;if(Bx(n)){for(;r<e.length&&Bx(e[r]);)r++;return{word:{wt:J.Connector,text:e.slice(t,r).join(``)},next:r}}if(Wx(n)){for(;r<e.length&&Wx(e[r]);)r++;return{word:{wt:J.Punct,text:e.slice(t,r).join(``)},next:r}}if(Hx(n)){if(r>=e.length)return{word:{wt:J.UpperCase,text:n},next:r};if(Hx(e[r])){let n=r;for(;n<e.length&&Hx(e[n]);)n++;return n<e.length&&Vx(e[n])?{word:{wt:J.UpperCase,text:e.slice(t,n-1).join(``)},next:n-1}:{word:{wt:J.UpperCase,text:e.slice(t,n).join(``)},next:n}}if(Vx(e[r])){let n=r+1;for(;n<e.length&&Vx(e[n])&&!Hx(e[n]);)n++;return{word:{wt:J.UpperCase,text:e.slice(t,n).join(``)},next:n}}return{word:{wt:J.UpperCase,text:n},next:r}}if(Vx(n)){for(;r<e.length&&Vx(e[r])&&!Hx(e[r]);)r++;return{word:{wt:J.Alphabet,text:e.slice(t,r).join(``)},next:r}}if(Ux(n)){for(;r<e.length&&Ux(e[r]);)r++;return{word:{wt:J.Number,text:e.slice(t,r).join(``)},next:r}}for(;r<e.length&&!Bx(e[r])&&!Vx(e[r])&&!Ux(e[r])&&!Wx(e[r]);)r++;return{word:{wt:J.Other,text:e.slice(t,r).join(``)},next:r}}function Kx(e,t,n){if(t.wt!==J.UpperCase&&t.wt!==J.Connector){e.push(t.text);return}for(let r of t.text)Bx(r)?e.push(n):Hx(r)?e.push(r.toLowerCase()):e.push(r)}function qx(e,t){if(e.length===0)return``;let n=jx(e),r=[],{word:i,next:a}=Gx(n,0);for(;a<n.length;){i.wt!==J.Connector&&Kx(r,i,t);let e=i,o=i;if({word:i,next:a}=Gx(n,a),e.wt===J.Number){for(;i.wt===J.Alphabet||i.wt===J.Number;)Kx(r,i,t),{word:i,next:a}=Gx(n,a);i.wt!==J.Invalid&&i.wt!==J.Punct&&i.wt!==J.Connector&&r.push(t);continue}if(e.wt===J.Connector){Kx(r,o,t);continue}if(e.wt===J.Punct)continue;if(i.wt!==J.Number){i.wt!==J.Connector&&i.wt!==J.Punct&&r.push(t);continue}if(a>=n.length)continue;let s=i;if({word:i,next:a}=Gx(n,a),i.wt!==J.Alphabet){Kx(r,s,t),i.wt!==J.Connector&&i.wt!==J.Punct&&r.push(t);continue}for(r.push(t),Kx(r,s,t);i.wt===J.Alphabet||i.wt===J.Number;)Kx(r,i,t),{word:i,next:a}=Gx(n,a);i.wt!==J.Invalid&&i.wt!==J.Connector&&i.wt!==J.Punct&&r.push(t)}return Kx(r,i,t),r.join(``).toLowerCase()}function Jx(e){if(e.length===0)return``;let t=jx(e),n=[],r=0,i=``;for(;r<t.length;){if(i=t[r],r++,!Bx(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++,Bx(i)&&Bx(e)){n.push(e);continue}Bx(e)?i=i.toUpperCase():(i=i.toLowerCase(),n.push(e))}return n.push(i),n.join(``)}function Yx(e){return Jx(e)}function Xx(...e){return e.join(` `)}function Zx(e,t){return t.includes(e)}function Qx(e,t){return t.startsWith(e)}function $x(e,t){return t.endsWith(e)}function eS(e,t){let n=` `.repeat(Math.max(0,e));return t.split(`
|
|
97
65
|
`).map(e=>n+e).join(`
|
|
98
|
-
`)}function
|
|
99
|
-
`,t)}function
|
|
100
|
-
`)){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 MS(e,t,n){return jS(e,t,n)}function NS(){return{abbrev:{fn:(e,t)=>Mx(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},abbrevboth:{fn:(e,t,n)=>Nx(e,t,n),argTypes:[`int`,`int`,`string`],arity:{kind:`exact`}},camelcase:{fn:e=>Jx(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},cat:{fn:(...e)=>Yx(...e),argTypes:[`string`],arity:{kind:`variadic`}},contains:{fn:(e,t)=>Xx(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},hasPrefix:{fn:(e,t)=>Zx(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},hasSuffix:{fn:(e,t)=>Qx(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},indent:{fn:(e,t)=>$x(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},initials:{fn:e=>eS(e),argTypes:[`string`],arity:{kind:`exact`}},join:{fn:(e,t)=>tS(e,t),argTypes:[`string`,`list`],arity:{kind:`exact`}},kebabcase:{fn:e=>rS(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},lower:{fn:e=>iS(e),argTypes:[`string`],arity:{kind:`exact`}},nindent:{fn:(e,t)=>aS(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},nospace:{fn:e=>oS(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},plural:{fn:(e,t,n)=>sS(e,t,n),argTypes:[`string`,`string`,`int`],arity:{kind:`exact`},returnType:`string`},quote:{fn:(...e)=>cS(...e),argTypes:[`string`],arity:{kind:`variadic`}},regexQuoteMeta:{fn:e=>lS(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},repeat:{fn:(e,t)=>uS(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},replace:{fn:(e,t,n)=>dS(e,t,n),argTypes:[`string`,`string`,`string`],arity:{kind:`exact`}},snakecase:{fn:e=>fS(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},split:{fn:(e,t)=>pS(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},splitList:{fn:(e,t)=>mS(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},splitn:{fn:(e,t,n)=>hS(e,t,n),argTypes:[`string`,`int`,`string`],arity:{kind:`exact`},returnType:`dict`},squote:{fn:(...e)=>_S(...e),argTypes:[`string`],arity:{kind:`variadic`}},substr:{fn:(e,t,n)=>vS(e,t,n),argTypes:[`int`,`int`,`string`],arity:{kind:`exact`}},swapcase:{fn:e=>yS(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},title:{fn:e=>SS(e),argTypes:[`string`],arity:{kind:`exact`}},trim:{fn:e=>CS(e),argTypes:[`string`],arity:{kind:`exact`}},trimAll:{fn:(e,t)=>wS(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},trimPrefix:{fn:(e,t)=>TS(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},trimSuffix:{fn:(e,t)=>ES(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},trunc:{fn:(e,t)=>DS(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},untitle:{fn:e=>OS(e),argTypes:[`string`],arity:{kind:`exact`}},upper:{fn:e=>kS(e),argTypes:[`string`],arity:{kind:`exact`}},wrap:{fn:(e,t)=>AS(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},wrapWith:{fn:(e,t,n)=>MS(e,t,n),argTypes:[`int`,`string`,`string`],arity:{kind:`exact`}}}}function PS(e,t){if(!(e instanceof q))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=$c(e.style,t),n}function FS(e){return{fn:(t=>PS(t,e)),argTypes:[`liftable`],arity:{kind:`exact`},returnType:`T`}}function IS(e){return{fn:((t,n)=>PS(n,new G({[e]:W.parse(t)}))),argTypes:[`string`,`liftable`],arity:{kind:`exact`},returnType:`T`}}function LS(e,t){return new G({[e]:t})}function RS(){let e={};for(let t of Kc)e[t]=FS(LS(t,!0)),e[`not_${t}`]=FS(LS(t,!1));for(let[t,n]of Object.entries(Jc))e[t]=FS(LS(n,!0));return e}const zS={fn:((e,t)=>PS(t,G.parse(e))),argTypes:[`string`,`liftable`],arity:{kind:`exact`},returnType:`T`},BS={fn:((e,t)=>PS(t,new G({link:e}))),argTypes:[`string`,`liftable`],arity:{kind:`exact`},returnType:`T`};function VS(){return{fg:IS(`color`),bg:IS(`bgcolor`),...RS(),link:BS,style:zS}}function HS(e,t){let n;try{n=ds(e.trim())}catch(n){throw n instanceof Yo?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)}) …`,{cause:n}):n}return US(n,t,JSON.stringify(e))}function US(e,t,n){if(e.alpha===0)throw RangeError(`${t} got ${n}, which is fully transparent: it draws no colour of its own, so there is nothing to compute with — use the colour of the surface it sits on, e.g. (color "background")`);return e}function WS(e,t){return{fn:t,argTypes:e,arity:{kind:`exact`},returnType:`string`}}function GS(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}`)}return e}const KS=WS([`string`,`int`],((e,t)=>Ys(HS(e,`darken`),t).hex)),qS=WS([`string`,`int`],((e,t)=>Ys(HS(e,`lighten`),-t).hex)),JS={min:0,max:100,note:`0 = from, 100 = toward`},YS=WS([`string`,`string`,`float`],((e,t,n)=>fs(HS(e,`mix`),HS(t,`mix`),GS(n,`mix`,`percentage`,JS)/100).hex)),XS={min:1,max:21,note:`4.5 = AA body text, 3 = AA large text`},ZS=WS([`string`],(e=>Zs(HS(e,`contrastOn`)).hex)),QS={depth:U.TRUECOLOR},$S=e=>WS([`string`,`string`,`float`],((t,n,r)=>{let{depth:i,terminal:a}=e();return Qs(HS(t,`readableOn`),HS(n,`readableOn`),GS(r,`readableOn`,`ratio`,XS),i,void 0,a).hex})),eC={hueShift:`shiftHue`,chromaScale:`scaleChroma`,lightnessScale:`scaleLightness`,lightnessShift:`shiftLightness`};function tC(){let e={};for(let[t,n]of Object.entries(eC)){let r=t;e[n]=WS([`string`,`float`],((e,t)=>{let i={...As,[r]:GS(t,n,`amount`)};return Vs.fromRgba(HS(e,n)).applyKey(i).toRgba().hex}))}return e}function nC(e=()=>QS){return{darken:KS,lighten:qS,mix:YS,contrastOn:ZS,readableOn:$S(e),...tC()}}function rC(e,t){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:US(Us(t,e[r+1]),`ramp`,JSON.stringify(e[r+1]))});return n}function iC(e){return{color:{fn:(t=>Us(e(),t).hex),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},ramp:{fn:((t,n,...r)=>new Fc(Vc(n),rC(r,e())).at(t).hex),argTypes:[`float`,`string`],arity:{kind:`alternating`,minimum:4},returnType:`string`}}}function aC(e){return{...VS(),...nC(e)}}new G({color:`red`,dim:!0});const oC=/^(?:(?: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,sC=/^(?<family>opus|sonnet|haiku)\s+(?<major>\d+)(?:\.(?<minor>\d))?$/i;function cC(e){if(!e)return`Claude`;let t=e.trim().replace(/\s*\([^)]*\)\s*$/,``).replace(/\s*\[[^\]]*\]\s*$/,``).trim(),n=t.match(oC);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(sC);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 lC(e){let t=e.match(sC);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 uC(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 dC(e){return e.toLocaleString()}function fC(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 pC(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 mC=[`▁`,`▂`,`▃`,`▄`,`▅`,`▆`,`▇`,`█`],hC=mC.length;function gC(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*(hC-1));o+=mC[t]}return o}function _C(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}function vC(e,t,n){if(n.length!==0)throw Error(`${e}: takes at most ${t.length} optional argument${t.length===1?``:`s`} (${t.join(`, `)}), got ${t.length+n.length}`)}const yC=up(),bC=[...jp];function xC(){return{basename:{fn:e=>u(e),argTypes:[`string`],arity:{kind:`exact`}},dirname:{fn:e=>d(e),argTypes:[`string`],arity:{kind:`exact`}},abbreviatePath:{fn:e=>uC(e),argTypes:[`string`],arity:{kind:`exact`}},int:{fn:e=>Math.trunc(Ig(e)),argTypes:[`value`],arity:{kind:`exact`}},string:{fn:e=>Fg(e),argTypes:[`value`],arity:{kind:`exact`}},bool:{fn:e=>Lg(e),argTypes:[`value`],arity:{kind:`exact`}},urlEncode:{fn:e=>encodeURIComponent(e),argTypes:[`string`],arity:{kind:`exact`}},themes:{fn:()=>yC,argTypes:[],arity:{kind:`exact`}},endcaps:{fn:()=>bC,argTypes:[],arity:{kind:`exact`}},sparkline:{fn:(e,t,...n)=>(vC(`sparkline`,[`width`],n),gC(_C(e),t)),argTypes:[`string`,`int`],arity:{kind:`variadic`}},cascade:{fn:(e,...t)=>pC(e,fC(t)),argTypes:[`float`,`string`],arity:{kind:`variadic`}}}}function SC(e){return{minutesUntilReset:{fn:t=>Math.round(Math.max(0,t*1e3-e().getTime())/6e4),argTypes:[`int`],arity:{kind:`exact`}},formatInteger:{fn:e=>dC(e),argTypes:[`int`],arity:{kind:`exact`}},round:{fn:e=>Math.round(e),argTypes:[`float`],arity:{kind:`exact`}},formatModelName:{fn:e=>cC(e),argTypes:[`string`],arity:{kind:`exact`}},shortenModelName:{fn:e=>lC(e),argTypes:[`string`],arity:{kind:`exact`}}}}function CC(e){let{clock:t,drawnAt:n,extraFuncs:r}=e;return Av({fromString:e=>new q(e),toString:e=>e.plain,isT:e=>e instanceof q,clock:t,missingKey:`error`,funcs:{...yb(),...NS(),...sx(),...kx(),...db(t),...ty(),...Fb(),...Nb(),...aC(n&&(()=>({depth:n()}))),...xC(),...SC(t),...r??{}}})}function wC(e){return TC(e,new Set(e.names()),``)}function TC(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`?DC(a,e.readDocument(a)):e.read(a);let o=`${a}.`;for(let n of t)if(n.startsWith(o))return TC(e,t,a)}})}function EC(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 DC(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 OC(e){return r.existsSync(l.join(e,`.git`))}function kC(e){let t=l.resolve(e);for(;;){if(OC(t))return t;let e=l.dirname(t);if(e===t)return;t=e}}function AC(e){let t=kC(e);return t===void 0?{root:l.resolve(e),git:!1}:{root:t,git:!0}}function jC(e,t){return e.kind===`absent`?R(`none`):e.kind===`failed`?e:t.kind===`failed`?t:R(t.kind===`ok`?`tracked`:`gone`)}function MC(e,t){return e.kind!==`ok`||e.value.state===`open`||t.kind===`ok`&&t.value===e.value.head?e:z}const NC={OPEN:`open`,MERGED:`merged`,CLOSED:`closed`},PC={opened:`open`,locked:`open`,merged:`merged`,closed:`closed`};function FC(e,t,n){return Object.hasOwn(t,n)?R(t[n]):B(`${e}: unknown state ${JSON.stringify(n)}`)}function IC(e,t,n){return t.ok?R(t.stdout):t.reason===`non-zero`&&n===`absent`||t.reason===`non-zero`&&n===t.exitCode?z:B(`${e}: ${[t.reason,t.exitCode==null?null:`exit ${t.exitCode}`,t.error??LC(t.stderr)].filter(Boolean).join(`, `)}`)}function LC(e){return e.trim().split(`
|
|
101
|
-
`,1)[0]??``}function
|
|
102
|
-
`)){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
|
|
103
|
-
`)){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)`?
|
|
104
|
-
`).length:0)}async getRemotesAsync(e){let t=rw(l.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=IC(`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:R(t.kind===`ok`?WC(t.value):[])}repoNameFrom(e,t){let n=qC(e);return(n===null?null:YC(n))??l.basename(t)}async getRepoRemoteUrl(e){let t=await this.getRemotesAsync(e);if(t.kind!==`ok`)return t;let n=JC(t.value);return n===null?z:R(n)}async execForgeAsync(e,t,n){return O({bin:e,args:[...t],cwd:n.cwd,env:{...process.env},timeoutMs:n.timeout,category:`forge`})}async resolvePullRequest(e,t){let n=UC(t);return n===`github`?QC(`gh pr view`,await this.execForgeAsync(`gh`,[`pr`,`view`,`--json`,`number,state,url,headRefOid`],{cwd:e,timeout:5e3}),/no (open )?pull requests? found/i,tw):n===`gitlab`?QC(`glab mr view`,await this.execForgeAsync(`glab`,[`mr`,`view`,`--output`,`json`],{cwd:e,timeout:5e3}),/no (open )?merge requests? (found|available)/i,nw):z}isWorktree(e){try{let t=l.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=IC(`git status --porcelain=v2 --branch`,await this.execGitAsync([`status`,`--porcelain=v2`,`--branch`],{cwd:e,timeout:2e3}),`failed`);return t.kind===`ok`?R(ew(t.value)):t}};const aw=(e,t)=>D(t);var ow=class{slots=new Map;maxWatchers;counters;logger;closed=!1;constructor(e={}){this.maxWatchers=e.maxWatchers??128,this.counters=e.counters,this.logger=e.logger??aw}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()}},sw=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 cw={showSha:!0,showStashCount:!0};function lw(e){let t=Object.keys(e).sort(),n={};for(let r of t)n[r]=e[r];return JSON.stringify(n)}function uw(e){let t=t=>{try{return r.statSync(l.join(e,t)).mtimeMs}catch{return 0}};return{head:t(`HEAD`),index:t(`index`)}}function dw(e,t){return e.head!==t.head||e.index!==t.index}function fw(e){let t=[],n=l.join(e,`refs/heads`);try{r.statSync(n).isDirectory()&&t.push({path:n})}catch{}return{files:[l.join(e,`HEAD`),l.join(e,`index`)],dirs:t}}var pw=class extends iw{entries=new Map;subscribersByRepo=new Map;fetchInFlight=new Map;resolutions=new Map;prCache=new Map;prFetchInFlight=new Map;refreshes=new sw;hits=0;misses=0;invalidations=0;inner;ttlMs;maxEntries;watchers;ownsWatchers;logger;sanityTimer=null;constructor(e={}){super(),this.inner=e.inner??new iw,this.ttlMs=e.ttlMs??3e4,this.maxEntries=e.maxEntries??64,this.logger=e.logger??Nt,e.watchers?(this.watchers=e.watchers,this.ownsWatchers=!1):(this.watchers=new ow({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}|${lw(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(R(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=uw(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}`,fw(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 z;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}`,fw(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,{...cw});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,{...cw}),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=uw(this.inner.resolveGitDir(t.repoRoot)),e.set(t.repoRoot,n)),dw(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 mw=/\r\n|\r|\n/g,hw=e=>R(e.replace(mw,` `).trim());function gw(e){return t=>{let n=e.exec(t)?.[1];return n===void 0?B(`regex no-match`):R(n.replace(mw,` `))}}const _w=e=>{try{return R(JSON.parse(e))}catch(e){return B(`JSON parse failed: ${e.message}`)}},vw=e=>e.getTime()/1e3,yw=e=>new Date(e*1e3);function bw(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 xw(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 Sw=`session.id`;function Cw(e,t,n){return{where:`output of "${e}" in ${t}`,read:async()=>{let r=await O({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?R(r.stdout):B(`shell "${e}" ${r.exitCode===null?[r.reason,r.error].filter(e=>e!==void 0).join(`: `):`exited with code ${r.exitCode}`} in ${t}`)}}}function ww(e,t,n){return{where:`"${e}"`,read:async()=>{try{let r=await oe(e,{encoding:`utf8`,signal:n});return R(t===`first-line`?r.split(/\r?\n/)[0]??``:r)}catch{if(n.aborted)throw n.reason;return B(`file unreadable: ${e}`)}}}}function Tw(e,t,n){if(e.kind!==`ok`)return e;let r=t(e.value);return r.kind===`failed`?B(`${r.reason} in ${n}`):r}const Ew=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],Dw=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],Ow=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],kw=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`];function Aw(e,t){let n=[[`2006`,e=>String(e.getFullYear())],[`January`,e=>Ew[e.getMonth()]],[`Monday`,e=>Ow[e.getDay()]],[`Jan`,e=>Dw[e.getMonth()]],[`Mon`,e=>kw[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 jw={branch:`string`,sha:`string`,dirty:`boolean`,ahead:`number`,behind:`number`,stash:`number`};function Mw(e,t,n,r){if(e===null){if(n!==void 0)return n;let e=jw[t];try{return Bw(r,e)}catch{return Vw(e)}}switch(t){case`branch`:return e.branch===`detached`?``:e.branch;case`sha`:return li(e.sha,``);case`dirty`:return e.status!==`clean`;case`ahead`:return li(e.aheadBehind,{ahead:0,behind:0}).ahead;case`behind`:return li(e.aheadBehind,{ahead:0,behind:0}).behind;case`stash`:return li(e.stashCount,0)}}function Nw(e){try{return o(e)}catch{return e}}function Pw(e){try{return s(e).isDirectory()}catch{return!1}}function Fw(e){let t=Nw(e);return Pw(t)?{dir:t,name:null,leaf:!0}:Og(t)}const Iw=e=>`${e.dir}\0${e.name??``}`;var Lw=class{watchers=new Map;subscribe(e,t,n){let r=this.watchers.get(e)??this.arm(e);return r.subscribers.set(t,n),r.watcher===null&&n(r.failure),()=>this.unsubscribe(e,t)}arm(e){let t={watcher:null,failure:``,target:Fw(e),subscribers:new Map};return t.watcher=this.open(e,t,t.target),this.watchers.set(e,t),t}rearm(e,t){let n=Fw(e);if(t.watcher!==null&&Iw(n)===Iw(t.target))return;let r=this.open(e,t,n);r!==null&&(t.watcher?.close(),t.watcher=r,t.target=n)}open(e,t,n){let{dir:r,name:i}=n,a=l.basename(r);try{return c(r,(n,r)=>{if(!(r===null||i===null||r===i)&&r!==a)return;let o=t.target.leaf;if(this.rearm(e,t),!(!o&&!t.target.leaf))for(let e of t.subscribers.keys())e()})}catch(n){let i=`watch_file ${e}: cannot watch ${r} — ${n instanceof Error?n.message:String(n)}`;t.failure=i;for(let e of t.subscribers.values())e(i);return null}}unsubscribe(e,t){let n=this.watchers.get(e);n&&(n.subscribers.delete(t),n.subscribers.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}},Rw=class{buckets=new Map;subscribe(e,t){let n=this.buckets.get(e);if(!n){let t=new Set;n={timer:ue(()=>{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&&(le(n.timer),this.buckets.delete(e)))}dispose(){for(let{timer:e}of this.buckets.values())le(e);this.buckets.clear()}bucketCount(){return this.buckets.size}};function zw(e,t){let n=e;for(let e of t.split(`.`)){if(typeof n!=`object`||!n)return;n=n[e]}return n}function Bw(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`?Fg(e):t===`number`?Ig(e):Lg(e)}function Vw(e){return e===`number`?0:e===`boolean`?!1:``}var Hw=class{inputMetas=new Map;lastErrors=new Map;watchFaults=new Map;watchMgr=new Lw;ttlMgr=new Rw;gitSubscriptions=new Map;cleanups=[];inFlight=new Map;reads=new sw;abort=new AbortController;drawn=Mg.observable.box(U.TRUECOLOR);drawnAt=()=>this.drawn.get();instant=Mg.observable.box(null);now=()=>{let e=this.instant.get();if(e===null)throw Error(`the time was read before any render published its instant`);return yw(e)};engine=CC({clock:this.now,drawnAt: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 pw({sanityIntervalMs:0}),this.ownsGitProvider=!0),this.sessionState=r}get variableStore(){return this.store}declareLiteral(e,t){this.store.defineBox(e,Pg(t),t)}declareFailedDocument(e,t){this.store.defineDocument(e,B(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,Cw(t,n.cwd,this.abort.signal),bw(e,n.cache),n.parse)}declareFile(e,t,n){this.declareSource(e,ww(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,hw,t.default,n);case`regex`:return this.scalarPublisher(e,gw(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=Tw(n,t,r);this.noteOutcome(e,a),this.store.setBox(e,li(a,i))}}documentPublisher(e,t,n){let r=t===void 0?z:R(t);this.store.defineDocument(e,r);let i,a=!1;return this.cleanups.push(()=>clearTimeout(i)),o=>{clearTimeout(i);let s=o.kind===`ok`&&o.value.trim()===``?z:o,c=Tw(s,_w,n);this.noteOutcome(e,c);let l=c.kind===`ok`||s.kind===`ok`||t===void 0?c:r,u=a&&s.kind===`ok`&&c.kind!==`ok`,d=()=>{a=c.kind===`ok`,this.store.setDocument(e,l)};u?i=setTimeout(d,250):d()}}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.declareDerived(e,()=>r.evaluate(wC(this.store)).map(e=>e.plain).join(``),n.varDefault)}declareTime(e,t){this.declareDerived(e,()=>Aw(t.format,this.now()),t.varDefault)}declareDerived(e,t,n){this.store.defineComputed(e,`string`,()=>{try{let n=t();return this.lastErrors.delete(e),n}catch(t){let r=t instanceof Error?t.message:String(t);if(this.recordError(e,r),n===void 0)throw Error(`variable "${e}": ${r}`);return n}})}declareGit(e,t){let n=jw[t.field],r=t.varDefault===void 0?Vw(n):Bw(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,Mw(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(Sw);if(typeof i!=`string`||!i)return r;let a=n.get(i,t.key);return a===null?r:a})}stateRevision(){let e=this.store.has(`session.id`)?this.store.read(Sw):``;return this.sessionState!==void 0&&typeof e==`string`&&e!==``?this.sessionState.revision(e):0}applyInput(e){this.store.runInAction(()=>{for(let[t,n]of this.inputMetas){let r=zw(e,n.path),i=this.store.getType(t);if(r!==void 0)try{this.store.setBox(t,Bw(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))}renderAt(e){this.store.runInAction(()=>this.instant.set(e))}getLastError(e){let t=this.lastErrors.get(e),n=this.watchFaults.get(e);return n===void 0?t:t===void 0?n:{timestamp:t.timestamp,message:`${n.message}; ${t.message}`}}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 r=this.watchMgr.subscribe(t.path,n,t=>this.watchFaults.set(e,{timestamp:Date.now(),message:t}));this.cleanups.push(r);break}case`key`:{let e=this.engine.parse(t.template),r=(0,Mg.reaction)(()=>{let t=wC(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,Mg.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,Bw(this.defaultEmptyValue,t))}catch{this.store.setBox(e,Vw(t))}}defaultFor(e){try{return Bw(this.defaultEmptyValue,e)}catch{return Vw(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 Uw={project_dir:{kind:`input`,path:`workspace.project_dir`,default:``},[Sw]:{kind:`input`,path:`session_id`,default:``},transcript_path:{kind:`input`,path:`transcript_path`,default:``},resume_command:{kind:`input`,path:`resumeCommand`,default:``},config_path:{kind:`input`,path:`configPath`,default:``},"theme.effective":{kind:`input`,path:`theme.effective`,default:``},"style.effective":{kind:`input`,path:`style.effective`,default:``},"effect.effective":{kind:`input`,path:`effect.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},"endcaps.effective":{kind:`input`,path:`endcaps.effective`,default:``},"variation.effective":{kind:`input`,path:`variation.effective`,default:``},"shade.effective":{kind:`input`,path:`shade.effective`,default:``},"charset.effective":{kind:`input`,path:`charset.effective`,default:``},"colorCompatibility.effective":{kind:`input`,path:`colorCompatibility.effective`,default:``},"transitions.effective":{kind:`input`,path:`transitions.effective`,type:`boolean`,default:!1},"autoWrap.effective":{kind:`input`,path:`autoWrap.effective`,type:`boolean`,default:!0},"padding.effective":{kind:`input`,path:`padding.effective`,type:`number`,default:1},"updateNotice.effective":{kind:`input`,path:`updateNotice.effective`,type:`boolean`,default:!0},"term.cols":{kind:`input`,path:`term.cols`,type:`number`,default:80},"tmux.pane":{kind:`input`,path:`tmux.pane`,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:``},"git.repoUrl":{kind:`input`,path:`git.repoUrl`,default:``}},Ww=`ne .tmux.pane ""`;function Gw(e,t,n){let r=new Set,i=e=>{for(let t of vg(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 dh(e))i(t.when),t.kind===`segment`&&(i(t.lead),i(t.trail));for(let t of Object.values(e.variables))t.kind===`template`&&i(t.template),t.kind===`state`&&r.add(Sw);for(let t of Object.values(e.actions)){r.add(Sw),`copy`in t&&i(t.copy),`open`in t&&i(t.open);let e=`set`in t?va.get(t.set):void 0,n=`persist`in t?_a.get(t.persist):void 0;e!==void 0&&r.add(e),n!==void 0&&r.add(n)}return r}function Kw(e,t,n){let r=Eg({...n,variables:{...n.variables,...e.variables},segments:{...n.segments,...e.segments}}),i={};for(let a of Gw(e,t,n.helpers)){if(Tg(a,r))continue;let e=Uw[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}function qw(e){return e.replace(/[^A-Za-z0-9]+/g,`_`)}var Jw=class extends Error{file;issues;warnings;constructor(e,t,n=[]){super(Qw(e,t)),this.name=`ConfigError`,this.file=e,this.issues=t,this.warnings=n}};function X(e,t){let n=0,r;for(let i of t){if(i===``||/^\d+$/.test(i))continue;let t=Yw(e,n,i);if(t===-1)return r===void 0?void 0:Xw(e,r);n=t,r=t}return r===void 0?void 0:Xw(e,r)}function Yw(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 Xw(e,t){let n=1;for(let r=0;r<t&&r<e.length;r++)e.charCodeAt(r)===10&&n++;return n}function Zw(e,t){try{return _r(t),null}catch(n){if(!(n instanceof dr))throw n;return`${e}:${Xw(t,n.offset)}: ${n.reason} — the settings menu cannot edit this file until it is fixed`}}function Qw(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(`
|
|
105
|
-
`)}const $w=`groups.`,eT=`menus.`,tT=`edit.`,Z=`candybar.`,nT=[$w,eT,tT,Z];function rT(e){return nT.some(t=>e.startsWith(t))}function iT(e){let t=qw(e);return nT.find(e=>t.startsWith(qw(e)))}function aT(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:X(e.source,[`root`])})}function oT(e){return e}function sT(e,t,n){return n===void 0?eT+qw(e)+`.`+qw(t):cT(n)}function cT(e){return eT+qw(e)}function lT(e,t){return e+`.`+t}function uT(e){return e+`.page`}const dT=[`closeOnPick`,`paged`,`key`,`distribution`],fT=e=>dT.includes(e),pT=`"closeOnPick" (bool, default false), "paged" (bool, default true), "key" (string, accordion grouping), "distribution" (one of ${lf.map(e=>`"${e}"`).join(`, `)}; default "van-der-corput")`;function mT(e){for(let t of Object.keys(e))if(!fT(t))throw Error(`unknown {{ menu }} option "${t}" — the options dict takes ${pT}`);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&&!uf(r))throw Error(`{{ menu }} option "distribution" must be one of: ${lf.join(`, `)}; got ${JSON.stringify(r)}`);return{closeOnPick:t(`closeOnPick`,!1),paged:t(`paged`,!0),key:n,distribution:ff(r)}}const hT=e=>`from`in e?e.from:e.themes;function gT(e,t,n){return e===`bool`?Zp(t)!==null:`min`in e?Qp(t,e)!==null:rg(hT(e),n).members.includes(t)}function _T(e,t){if(e===`bool`)return Yp.join(` or `);if(!(`min`in e)){let n=hT(e),{members:r}=rg(n,t),i=r.map(e=>JSON.stringify(e));if(r.length<=8)return`one of ${i.join(`, `)}`;let a=typeof n==`string`?` "${n}"`:``;return`one of the ${r.length}${a} names, such as ${i.slice(0,3).join(`, `)}`}return`an integer from ${e.min} to ${e.max}`}function vT(e){return{label:e.label,domain:yT(e.domain)}}function yT(e){return e===`theme`?{themes:eg}:e===`bool`||`min`in e?e:{from:e}}function bT(e,t,n,r,i){let a=Jn(e.label),{domain:o}=e;if(o===`bool`)return{kind:`inline`,template:`{{ action "${r}" "☑ ${a}" "☐ ${a}" }}`,actions:{[r]:{set:t,cycle:[...Yp]}},variables:{}};if(`from`in o)return xT(t,r,i,o.from,e=>({template:`{{ "${a}" }} {{ carousel "${e.apply}" 0 "${e.open}" }}`,rows:[`{{ picker "${e.apply}" "${e.page}" false true true }}`]}));if(`themes`in o)return xT(t,r,i,o.themes,e=>({template:`{{ action "${e.open}" "${a}" .${n} }} {{ action "${e.open}" (swatch "${e.apply}") }}`,rows:[`{{ swatches "${e.apply}" "${e.page}" }}`,`{{ themePreview "${e.apply}" }}`]}));let s=e=>({set:t,min:o.min,max:o.max,by:e});return{kind:`inline`,template:`{{ action "${r}.down" "◀" }} {{ "${a}" }} {{ .${n} }} {{ action "${r}.up" "▶" }}`,actions:{[`${r}.down`]:s(-o.step),[`${r}.up`]:s(o.step)},variables:{}}}function xT(e,t,n,r,i){let a={variable:n,key:n,member:t},o=lT(n,t),s=`${t}.open`,c=uT(n),l=`${c}.current`,{template:u,rows:d}=i({apply:t,open:s,page:c});return{kind:`picker`,template:u,actions:{[t]:{set:e,from:r},[o]:nr(n,t),[c]:{set:c,int:!0},[l]:{set:c,to:`-1`},[s]:{do:[o,l]}},variables:{[n]:tr(n,L),[c]:{kind:`state`,key:c,default:`0`}},list:{ref:a,rows:d}}}function ST(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 ${OT(i)}`,line:X(e.source,[...t.split(`.`),r])}),null)}function CT(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 ${OT(i)}`,line:X(e.source,[...t.split(`.`),`default`])});return}return i}}function wT(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 ${OT(i)}`,line:X(e.source,[...t.split(`.`),r])});return}return i}}function TT(e,t,n){let r=wT(e,t,n,`palette`);if(r!==void 0){if(!e.allowedPalettes.has(r)){e.issues.push({path:`${t}.palette`,message:`Unknown palette "${r}"${sp(r)}. Expected one of: ${[...e.allowedPalettes].sort().join(`, `)}`,line:X(e.source,[...t.split(`.`),`palette`])});return}return r}}function ET(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 ${Q(a)}`,line:X(e.source,[...t.split(`.`),r])});return}return a}}function DT(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function OT(e){return e===null?`null`:Array.isArray(e)?`array`:typeof e}function Q(e){return typeof e==`string`?JSON.stringify(e):e===void 0?`undefined`:String(e)}function kT(e,t,n,r){return DT(r)?(NT(e,n,r,t.noun,new Set(Object.keys(t.fields)),AT(e,t.removed??{},n,r)),jT(e,t.fields,n,r)):(e.issues.push({path:n,message:`${n} must be an object, got ${OT(r)}`,line:X(e.source,n.split(`.`))}),null)}function AT(e,t,n,r){let i=Object.entries(t).filter(([e])=>r[e]!==void 0);for(let[t,r]of i)PT(e,`${n}.${t}`,`${n}.${t} was removed: ${r}`);return new Set(i.map(([e])=>`${n}.${e}`))}function jT(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 MT=new Set;function NT(e,t,n,r,i,a=MT){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:X(e.source,[...t.split(`.`),o])})}function PT(e,t,n){return e.issues.push({path:t,message:n,line:X(e.source,t.split(`.`))}),null}function FT(e,t,n,r){if(!DT(r))return e.issues.push({path:n,message:`${t.noun} must be an object, got ${OT(r)}`,line:X(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:X(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:X(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:X(e.source,n.split(`.`))}),null;let c=o[0];return i[c].parse(e,`${n}.${c}`,r[c])}function IT(e,t,n,r){if(!DT(r))return e.issues.push({path:n,message:`${n} must be an object, got ${OT(r)}`,line:X(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 ${OT(i)}`,line:X(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:X(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 NT(e,n,r,`${i} ${t.memberNoun} key`,o.keys,l),c}function LT(e,t,n){return{json:ZT(YT(n),e,t),keys:new Set([e,...Object.keys(n)])}}function RT(e){return(...t)=>e()(...t)}function zT(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:X(n.source,o.split(`.`))}),null}return a}}function BT(){return{required:!1,json:{type:`string`},parse:(e,t,n,r)=>wT(e,t,r,n)}}function VT(){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 ${OT(i)}`,line:X(e.source,[n])});return}return i}}}}function HT(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 ${Q(o)}`,line:X(e.source,[i])});return}return o}}}}function UT(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 ${Q(a)}`,line:X(e.source,[r])});return}return a}}}}function WT(){return{required:!1,json:{type:`string`},parse:(e,t,n,r)=>TT(e,t,r)}}function GT(){return{required:!0,json:{type:`string`},parse:(e,t,n,r)=>ST(e,t,r,n)??void 0}}function KT(e,t){return f(t)?null:`${e} must be an absolute path (\`~\` and relative paths are not expanded), got ${JSON.stringify(t)}`}function qT(){return{required:!0,json:{type:`string`,pattern:`^/`},parse:(e,t,n,r)=>{let i=ST(e,t,r,n);if(i===null)return;let a=KT(`${t}.${n}`,i);return a===null?i:PT(e,`${t}.${n}`,a)??void 0}}}function JT(e){return{required:!1,json:{enum:[...e]},parse:(t,n,r,i)=>ET(t,n,i,r,e)}}function YT(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 XT(e){return YT(e.fields)}function ZT(e,t,n){let r=e,i={[t]:{const:n},...r.properties},a=[t,...r.required??[]];return{...r,properties:i,required:a}}function QT(e){let t=e.arms;return{anyOf:Object.values(t).map(e=>e.json)}}function $T(e){let t=e.arms;return{anyOf:Object.entries(t).map(([e,t])=>({type:`object`,properties:{[e]:t.json},required:[e],additionalProperties:!1}))}}const eE={required:!1,json:{enum:[...zp]},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: ${zp.join(`, `)}`,line:X(e.source,[...t.split(`.`),n])});return}return ET(e,t,r,n,zp)}},tE={required:!1,json:{type:`string`},parse:(e,t,n,r)=>{let i=wT(e,t,r,n);return gp(i)?i:TT(e,t,r)}},nE={required:!1,json:{anyOf:[{enum:[...Ep]},{type:`string`,pattern:`\\{\\{`}]},parse:(e,t,n,r)=>{let i=r[n];return typeof i==`string`&&gp(i)?i:ET(e,t,r,n,Ep)}},rE=/^[^\r\n]*\S[^\r\n]*$/u,iE=RegExp(`^(?:✖|✕)[\\uFE0E\\uFE0F]?$`,`u`),aE={required:!1,json:{type:`string`,pattern:rE.source,not:{pattern:iE.source}},parse:(e,t,n,r)=>{let i=wT(e,t,r,n);if(i===void 0||rE.test(i)&&!iE.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:X(e.source,[...t.split(`.`),n])})}};function oE(e){return{spec:JT(e),domain:{from:e}}}function sE(){return{spec:VT(),domain:`bool`}}function cE(e){return{spec:e,domain:`text`}}const lE={default_empty_value:cE(BT()),default_separator:cE(BT()),palette:{spec:tE,domain:{themes:`themes`}},style:{spec:BT(),domain:{from:`styles`}},effect:{spec:nE,domain:{from:Ep}},preset:{spec:BT(),domain:{from:`presets`}},endcaps:oE(jp),variation:oE(Vp),shade:oE(Wp),autoWrap:sE(),padding:{spec:HT(Xp),domain:{...Xp,step:1}},charset:oE(Ip),updateNotice:sE(),transitions:sE(),colorCompatibility:{spec:eE,domain:{from:zp}},menuGlyph:cE(aE)},uE=Object.fromEntries(Object.entries(lE).map(([e,t])=>[e,t.spec]));function dE(e){return lE[e].domain}function fE(e){let t=dE(e);if(t===`text`)throw Error(`globals.${e} is free text, which no control can change — list it in UNCONTROLLED_GLOBALS instead of SETTINGS`);return t}function pE(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:X(e.source,[...n.split(`.`),r])})}}}function mE(e){return pE(`${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 hE(e){return pE(`${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.`)}function gE(e,t,n){return{...e,json:{...e.json,not:{pattern:`\\{\\{`}},parse:(r,i,a,o)=>{let s=o[a];if(typeof s==`string`&&gp(s)){r.issues.push({path:`${i}.${a}`,message:`${i}.${a}: a rule is not allowed here — ${t} ${n}, so it names a value. Write the rule in globals.${a} (or a preset's globals.${a}) instead.`,line:X(r.source,[...i.split(`.`),a])});return}return e.parse(r,i,a,o)}}}const _E={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.',look:`it was renamed "style" — write the same name as style: "<name>"`,progression:`it was renamed "variation", and its values with it: accent (was secondary-accent), duo (was primary-secondary), mono (was primary)`},vE={noun:`globals key`,fields:uE,removed:_E},yE={preset:mE(`a preset`),menuGlyph:hE(`a preset`)},bE={noun:`preset globals key`,fields:{...uE,...yE},removed:_E};function xE(e){return jE(e)&&!(e in yE)}const SE=`is decided later than any rule could be settled`,CE={noun:`editGlobals key`,removed:_E,fields:{...uE,preset:mE(`the editGlobals fragment`),menuGlyph:hE(`the editGlobals fragment`),palette:gE(uE.palette,`the editGlobals fragment`,SE),style:gE(uE.style,`the editGlobals fragment`,SE),effect:gE(uE.effect,`the editGlobals fragment`,SE)}},wE={noun:`theme default key`,fields:{...Object.fromEntries(gh.map(e=>[e,uE[e]])),style:gE(uE.style,`a theme's default`,`is the look that theme wears by name`)}};function TE(e,t){if(!DT(t))return e.issues.push({path:`themeDefaults`,message:`themeDefaults must be an object mapping theme names to { shade, variation, style }, got ${OT(t)}`,line:X(e.source,[`themeDefaults`])}),{};let n={};for(let[r,i]of Object.entries(t)){let t=`themeDefaults.${r}`;if(!e.allowedPalettes.has(r)){e.issues.push({path:t,message:`${t}: "${r}" is not an installed theme${sp(r)}. Expected one of: ${[...e.allowedPalettes].sort().join(`, `)}`,line:X(e.source,[`themeDefaults`,r])});continue}let a=kT(e,wE,t,i);a!==null&&(n[r]=a)}return n}function EE(e,t,n){return n===void 0?{}:kT(e,vE,t,n)??{}}function DE(e,t,n){return kT(e,bE,t,n)??{}}function OE(){return XT(bE)}function kE(e,t,n){return kT(e,CE,t,n)??{}}const AE=new Set(Object.keys(uE));function jE(e){return AE.has(e)}function ME(){return[...AE]}const NE={padding:1};function PE(e){let t=new Map;for(let[n,r]of Object.entries(NE)){let i=e[n];t.set(n,typeof i==`number`?i:r)}return t}const FE=/^segments\.([^.]+)\.palette$/,IE=/^presets\.(.+)\.root$/,LE=/^presets\.(.+)\.globals\.([^.]+)$/,RE=/^themeDefaults\.(.+)\.([^.]+)$/;function zE(e){return`presets.${e}.root`}function BE(e,t){return`themeDefaults.${e}.${t}`}const VE=e=>gh.includes(e);function HE(e,t){return`presets.${e}.globals.${t}`}function UE(e){if(jE(e))return{scope:`globals`,field:e};let t=FE.exec(e);if(t)return{scope:`segment-palette`,segment:t[1]};let n=LE.exec(e);if(n&&xE(n[2]))return{scope:`preset-globals`,preset:n[1],field:n[2]};let r=RE.exec(e);if(r&&VE(r[2]))return{scope:`theme-default`,theme:r[1],field:r[2]};let i=IE.exec(e);return i?{scope:`preset-root`,preset:i[1]}:null}function WE(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`];case`theme-default`:return[`themeDefaults`,e.theme,e.field]}}const GE=[`location`,`git`,`model-context`,`cost-limits`,`activity`,`session-tools`],KE=[...GE,`other`],qE={location:`location`,git:`git`,"model-context":`model & context`,"cost-limits":`cost & limits`,activity:`activity`,"session-tools":`session tools`,other:`other`},JE=Av({fromString:e=>e}),YE=`edit.mode`,XE=`edit.configure`,ZE=`edit.toggle`,QE=`edit.unconfigure`,$E=[ZE,QE],eD=`arrange`,tD=`${tT}draft.`;function nD(e,t){return`${e}:${t}`}const rD={variable:YE,key:YE,member:eD},iD=Xn(rD);function aD(e){try{return JE.parse(e).referencedCalls().some(e=>e.name===`action`&&e.args[0]===`edit.toggle`)}catch{return!1}}function oD(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`&&aD(e))return!0;return!1}function sD(e,t){if(aT(e,t,tT,`edit mode`),!oD(t))return;let{variables:n,actions:r}=cD();t.variables={...t.variables??{},...n},t.actions={...t.actions??{},...r}}function cD(){return{variables:{[YE]:tr(YE,L),[XE]:tr(XE,L)},actions:{[ZE]:nr(YE,eD),[QE]:{set:XE,to:L}}}}const lD=`open`;function uD(e,t,n,r){let i={variable:e,key:e,member:lD};return r.variables[e]=tr(e,L),r.actions[e]=nr(e,lD),r.segments[e]={template:Qn(e,`(?)`,`✕`),...dD(n)},Yn(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 dD(e){let[t,...n]=e;return t===void 0?{}:{when:Xn(t,...n)}}const fD=`none`;function pD(e){return Us(e,`background`)}var mD=class extends Error{constructor(e,t,n){super(`Invalid ${t} color ${JSON.stringify(e)}: ${n}`),this.name=`ColorSpecError`}};function hD(e,t,n,r,i){let{palette:a,tint:o,text:s}=e,c=gD(n,i),l=c!==fD,u=l?c===void 0?o:_D(a,c,`bg`):pD(a);e.bg=u;let d=gD(r,i),f=d===void 0?l?(e=>e.hex===o.hex?s:Pf(a,e,t))(u):void 0:_D(a,d,`fg`);return new G({...l&&{bgcolor:W.fromRgba(u)},...f!==void 0&&{color:W.fromRgba(f)}})}function gD(e,t){if(e!==void 0)return e.evaluate(t).map(e=>e.plain).join(``)}function _D(e,t,n){try{return Us(e,t)}catch(e){throw e instanceof Hs?new mD(t,n,e.message):e}}const vD=`🔧`,yD={help:[`-h`,`--help`],version:[`-V`,`--version`]},bD=[`✚ inserts`,`✖ removes`,`${vD} configures`,`↺ resets layout`],xD=`
|
|
66
|
+
`)}function tS(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 nS(e,t){let n=[];for(let e of t){if(typeof e==`object`&&e)throw Wb(`join`,2,`list of strings/primitives`,`list element of type ${rS(e)}`);n.push(String(e))}return n.join(e)}function rS(e){return Array.isArray(e)?`array`:e instanceof Map?`Map`:e instanceof Set?`Set`:`object`}function iS(e){return qx(e,`-`)}function aS(e){return e.toLowerCase()}function oS(e,t){return`\n${eS(e,t)}`}function sS(e){return e.replace(/\s+/g,``)}function cS(e,t,n){return n===1?e:t}function lS(...e){return e.map(e=>`"${e}"`).join(` `)}function uS(e){return e.replace(/[\\.+*?()|[\]{}^$]/g,`\\$&`)}function dS(e,t){return t.repeat(Math.max(0,e))}function fS(e,t,n){return Mx(e,n).join(t)}function pS(e){return qx(e,`_`)}function mS(e,t){let n=Mx(e,t),r={};for(let e=0;e<n.length;e++)r[`_${e}`]=n[e];return r}function hS(e,t){return Mx(e,t)}function gS(e,t,n){let r=_S(n,e,t),i={};for(let e=0;e<r.length;e++)i[`_${e}`]=r[e]??``;return i}function _S(e,t,n){if(n===0)return[];let r=Mx(t,e);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 vS(...e){return e.map(e=>`'${e}'`).join(` `)}function yS(e,t,n){let r=jx(n),i=t<0||t>r.length?r.length:t,a=Math.min(Math.max(0,e),i);return r.slice(a,i).join(``)}function bS(e){let t=``;for(let n of e)xS(n)?t+=n.toLowerCase():SS(n)?t+=n.toUpperCase():t+=n;return t}function xS(e){return e!==e.toLowerCase()&&e===e.toUpperCase()}function SS(e){return e!==e.toUpperCase()&&e===e.toLowerCase()}function CS(e){return e.replace(/\b([a-zA-Z])/g,e=>e.toUpperCase())}function wS(e){return e.trim()}function TS(e,t){if(e.length===0)return t;let n=new Set(jx(e)),r=jx(t),i=0;for(;i<r.length&&n.has(r[i]);)i+=1;let a=r.length;for(;a>i&&n.has(r[a-1]);)--a;return r.slice(i,a).join(``)}function ES(e,t){return t.startsWith(e)?t.slice(e.length):t}function DS(e,t){return t.endsWith(e)?t.slice(0,t.length-e.length):t}function OS(e,t){let n=jx(t);if(e<0){let r=-e;return r>=n.length?t:n.slice(n.length-r).join(``)}return e>=n.length?t:n.slice(0,e).join(``)}function kS(e){return e.replace(/\b([A-Z])/g,e=>e.toLowerCase())}function AS(e){return e.toUpperCase()}function jS(e,t){return MS(e,`
|
|
67
|
+
`,t)}function MS(e,t,n){if(e<=0)return n;let r=[];for(let t of n.split(`
|
|
68
|
+
`)){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 NS(e,t,n){return MS(e,t,n)}function PS(){return{abbrev:{fn:(e,t)=>Nx(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},abbrevboth:{fn:(e,t,n)=>Px(e,t,n),argTypes:[`int`,`int`,`string`],arity:{kind:`exact`}},camelcase:{fn:e=>Yx(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},cat:{fn:(...e)=>Xx(...e),argTypes:[`string`],arity:{kind:`variadic`}},contains:{fn:(e,t)=>Zx(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},hasPrefix:{fn:(e,t)=>Qx(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},hasSuffix:{fn:(e,t)=>$x(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},indent:{fn:(e,t)=>eS(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},initials:{fn:e=>tS(e),argTypes:[`string`],arity:{kind:`exact`}},join:{fn:(e,t)=>nS(e,t),argTypes:[`string`,`list`],arity:{kind:`exact`}},kebabcase:{fn:e=>iS(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},lower:{fn:e=>aS(e),argTypes:[`string`],arity:{kind:`exact`}},nindent:{fn:(e,t)=>oS(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},nospace:{fn:e=>sS(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},plural:{fn:(e,t,n)=>cS(e,t,n),argTypes:[`string`,`string`,`int`],arity:{kind:`exact`},returnType:`string`},quote:{fn:(...e)=>lS(...e),argTypes:[`string`],arity:{kind:`variadic`}},regexQuoteMeta:{fn:e=>uS(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},repeat:{fn:(e,t)=>dS(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},replace:{fn:(e,t,n)=>fS(e,t,n),argTypes:[`string`,`string`,`string`],arity:{kind:`exact`}},snakecase:{fn:e=>pS(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},split:{fn:(e,t)=>mS(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},splitList:{fn:(e,t)=>hS(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},splitn:{fn:(e,t,n)=>gS(e,t,n),argTypes:[`string`,`int`,`string`],arity:{kind:`exact`},returnType:`dict`},squote:{fn:(...e)=>vS(...e),argTypes:[`string`],arity:{kind:`variadic`}},substr:{fn:(e,t,n)=>yS(e,t,n),argTypes:[`int`,`int`,`string`],arity:{kind:`exact`}},swapcase:{fn:e=>bS(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},title:{fn:e=>CS(e),argTypes:[`string`],arity:{kind:`exact`}},trim:{fn:e=>wS(e),argTypes:[`string`],arity:{kind:`exact`}},trimAll:{fn:(e,t)=>TS(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},trimPrefix:{fn:(e,t)=>ES(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},trimSuffix:{fn:(e,t)=>DS(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},trunc:{fn:(e,t)=>OS(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},untitle:{fn:e=>kS(e),argTypes:[`string`],arity:{kind:`exact`}},upper:{fn:e=>AS(e),argTypes:[`string`],arity:{kind:`exact`}},wrap:{fn:(e,t)=>jS(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},wrapWith:{fn:(e,t,n)=>NS(e,t,n),argTypes:[`int`,`string`,`string`],arity:{kind:`exact`}}}}function FS(e,t){if(!(e instanceof K))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=el(e.style,t),n}function IS(e){return{fn:(t=>FS(t,e)),argTypes:[`liftable`],arity:{kind:`exact`},returnType:`T`}}function LS(e){return{fn:((t,n)=>FS(n,new U({[e]:H.parse(t)}))),argTypes:[`string`,`liftable`],arity:{kind:`exact`},returnType:`T`}}function RS(e,t){return new U({[e]:t})}function zS(){let e={};for(let t of Jc)e[t]=IS(RS(t,!0)),e[`not_${t}`]=IS(RS(t,!1));for(let[t,n]of Object.entries(Xc))e[t]=IS(RS(n,!0));return e}const BS={fn:((e,t)=>FS(t,U.parse(e))),argTypes:[`string`,`liftable`],arity:{kind:`exact`},returnType:`T`},VS={fn:((e,t)=>FS(t,new U({link:e}))),argTypes:[`string`,`liftable`],arity:{kind:`exact`},returnType:`T`};function HS(){return{fg:LS(`color`),bg:LS(`bgcolor`),...zS(),link:VS,style:BS}}function US(e,t){let n;try{n=ps(e.trim())}catch(n){throw n instanceof Zo?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)}) …`,{cause:n}):n}return WS(n,t,JSON.stringify(e))}function WS(e,t,n){if(e.alpha===0)throw RangeError(`${t} got ${n}, which is fully transparent: it draws no colour of its own, so there is nothing to compute with — use the colour of the surface it sits on, e.g. (color "background")`);return e}function GS(e,t){return{fn:t,argTypes:e,arity:{kind:`exact`},returnType:`string`}}function KS(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}`)}return e}const qS=GS([`string`,`int`],((e,t)=>Zs(US(e,`darken`),t).hex)),JS=GS([`string`,`int`],((e,t)=>Zs(US(e,`lighten`),-t).hex)),YS={min:0,max:100,note:`0 = from, 100 = toward`},XS=GS([`string`,`string`,`float`],((e,t,n)=>ms(US(e,`mix`),US(t,`mix`),KS(n,`mix`,`percentage`,YS)/100).hex)),ZS={min:1,max:21,note:`4.5 = AA body text, 3 = AA large text`},QS=GS([`string`],(e=>$s(US(e,`contrastOn`)).hex)),$S={depth:V.TRUECOLOR},eC=e=>GS([`string`,`string`,`float`],((t,n,r)=>{let{depth:i,terminal:a}=e();return ec(US(t,`readableOn`),US(n,`readableOn`),KS(r,`readableOn`,`ratio`,ZS),i,void 0,a).hex})),tC={hueShift:`shiftHue`,chromaScale:`scaleChroma`,lightnessScale:`scaleLightness`,lightnessShift:`shiftLightness`};function nC(){let e={};for(let[t,n]of Object.entries(tC)){let r=t;e[n]=GS([`string`,`float`],((e,t)=>{let i={...Ms,[r]:KS(t,n,`amount`)};return Us.fromRgba(US(e,n)).applyKey(i).toRgba().hex}))}return e}function rC(e=()=>$S){return{darken:qS,lighten:JS,mix:XS,contrastOn:QS,readableOn:eC(e),...nC()}}function iC(e,t){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:WS(Gs(t,e[r+1]),`ramp`,JSON.stringify(e[r+1]))});return n}function aC(e){return{color:{fn:(t=>Gs(e(),t).hex),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},ramp:{fn:((t,n,...r)=>new Lc(Uc(n),iC(r,e())).at(t).hex),argTypes:[`float`,`string`],arity:{kind:`alternating`,minimum:4},returnType:`string`}}}function oC(e){return{...HS(),...rC(e)}}new U({color:`red`,dim:!0});const sC=/^(?:(?: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,cC=/^(?<family>opus|sonnet|haiku)\s+(?<major>\d+)(?:\.(?<minor>\d))?$/i;function lC(e){if(!e)return`Claude`;let t=e.trim().replace(/\s*\([^)]*\)\s*$/,``).replace(/\s*\[[^\]]*\]\s*$/,``).trim(),n=t.match(sC);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(cC);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 uC(e){let t=e.match(cC);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 dC(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 fC(e){return e.toLocaleString()}function pC(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 mC(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 hC=[`▁`,`▂`,`▃`,`▄`,`▅`,`▆`,`▇`,`█`],gC=hC.length;function _C(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*(gC-1));o+=hC[t]}return o}function vC(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}function yC(e,t,n){if(n.length!==0)throw Error(`${e}: takes at most ${t.length} optional argument${t.length===1?``:`s`} (${t.join(`, `)}), got ${t.length+n.length}`)}const bC=dp(),xC=[...Mp];function SC(){return{basename:{fn:e=>u(e),argTypes:[`string`],arity:{kind:`exact`}},dirname:{fn:e=>d(e),argTypes:[`string`],arity:{kind:`exact`}},abbreviatePath:{fn:e=>dC(e),argTypes:[`string`],arity:{kind:`exact`}},int:{fn:e=>Math.trunc(Lg(e)),argTypes:[`value`],arity:{kind:`exact`}},string:{fn:e=>Ig(e),argTypes:[`value`],arity:{kind:`exact`}},bool:{fn:e=>Rg(e),argTypes:[`value`],arity:{kind:`exact`}},urlEncode:{fn:e=>encodeURIComponent(e),argTypes:[`string`],arity:{kind:`exact`}},themes:{fn:()=>bC,argTypes:[],arity:{kind:`exact`}},endcaps:{fn:()=>xC,argTypes:[],arity:{kind:`exact`}},sparkline:{fn:(e,t,...n)=>(yC(`sparkline`,[`width`],n),_C(vC(e),t)),argTypes:[`string`,`int`],arity:{kind:`variadic`}},cascade:{fn:(e,...t)=>mC(e,pC(t)),argTypes:[`float`,`string`],arity:{kind:`variadic`}}}}function CC(e){return{minutesUntilReset:{fn:t=>Math.round(Math.max(0,t*1e3-e().getTime())/6e4),argTypes:[`int`],arity:{kind:`exact`}},formatInteger:{fn:e=>fC(e),argTypes:[`int`],arity:{kind:`exact`}},round:{fn:e=>Math.round(e),argTypes:[`float`],arity:{kind:`exact`}},formatModelName:{fn:e=>lC(e),argTypes:[`string`],arity:{kind:`exact`}},shortenModelName:{fn:e=>uC(e),argTypes:[`string`],arity:{kind:`exact`}}}}function wC(e){let{clock:t,drawnAt:n,extraFuncs:r}=e;return jv({fromString:e=>new K(e),toString:e=>e.plain,isT:e=>e instanceof K,clock:t,missingKey:`error`,funcs:{...bb(),...PS(),...cx(),...Ax(),...fb(t),...ny(),...Ib(),...Pb(),...oC(n&&(()=>({depth:n()}))),...SC(),...CC(t),...r??{}}})}function TC(e){return EC(e,new Set(e.names()),``)}function EC(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`?OC(a,e.readDocument(a)):e.read(a);let o=`${a}.`;for(let n of t)if(n.startsWith(o))return EC(e,t,a)}})}function DC(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 OC(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 kC(e){return r.existsSync(l.join(e,`.git`))}function AC(e){let t=l.resolve(e);for(;;){if(kC(t))return t;let e=l.dirname(t);if(e===t)return;t=e}}function jC(e){let t=AC(e);return t===void 0?{root:l.resolve(e),git:!1}:{root:t,git:!0}}function MC(e,t){return e.kind===`absent`?I(`none`):e.kind===`failed`?e:t.kind===`failed`?t:I(t.kind===`ok`?`tracked`:`gone`)}function NC(e,t){return e.kind!==`ok`||e.value.state===`open`?e:t.kind===`failed`?R(`HEAD: ${t.reason}`):t.kind===`ok`&&t.value===e.value.head?e:{kind:`earlier`,value:e.value}}const PC={OPEN:`open`,MERGED:`merged`,CLOSED:`closed`},FC={opened:`open`,locked:`open`,merged:`merged`,closed:`closed`};function IC(e,t,n){return Object.hasOwn(t,n)?I(t[n]):R(`${e}: unknown state ${JSON.stringify(n)}`)}function LC(e,t,n){return t.ok?I(t.stdout):t.reason===`non-zero`&&n===`absent`||t.reason===`non-zero`&&n===t.exitCode?L:R(`${e}: ${[t.reason,t.exitCode==null?null:`exit ${t.exitCode}`,t.error??RC(t.stderr)].filter(Boolean).join(`, `)}`)}function RC(e){return e.trim().split(`
|
|
69
|
+
`,1)[0]??``}function zC(e,t){if(e.kind!==`ok`)return e;let n=t(e.value);return n===null?L:I(n)}function BC(e){if(e.kind!==`ok`)return e;let t=e.value.trim();return t?I(t):L}const VC=/^[A-Za-z]:[\\/]/;function HC(e){let t=e.trim();if(VC.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 UC(e){return HC(e)?.host||null}function WC(e){let t=UC(e);return t?t===`github.com`||t.endsWith(`.github.com`)?`github`:/(^|\.)gitlab\./.test(t)?`gitlab`:null:null}function GC(e){let t=new Map;for(let n of e.split(`
|
|
70
|
+
`)){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 KC(e){return e.urls.find(e=>ZC(e)!==null)??e.urls[0]??null}function qC(e){return e.find(e=>e.name===`origin`)??e[0]??null}function JC(e){let t=qC(e);return t?KC(t):null}function YC(e){let t=qC(e);return t?t.urls.find(e=>WC(e)!==null)??KC(t):null}function XC(e){let t=(HC(e)?.path??e.replace(/[\\/]+$/,``)).split(`/`);return(t[t.length-1]??``).replace(/\.git$/,``)||null}function ZC(e){let t=HC(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 QC(e){let t=JC(e);return t===null?null:ZC(t)}function $C(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)?L:R(`${e}: ${[t.reason,t.exitCode==null?null:`exit ${t.exitCode}`,t.error??RC(t.stderr)].filter(Boolean).join(`, `)}`)}function ew(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function tw(e){let t=`detached`,n=L,r=L,i=L,a=0,o=0,s=0,c=0;for(let l of e.split(`
|
|
71
|
+
`)){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)`?L:I(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=I(e.slice(16).trim());else if(e.startsWith(`branch.ab `)){let t=e.slice(10).trim().match(/^\+(\d+)\s+-(\d+)$/);t&&(i=I({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 nw(e){let t;try{t=JSON.parse(e)}catch(e){return R(`gh pr view: unparseable JSON (${e instanceof Error?e.message:String(e)})`)}if(!ew(t))return R(`gh pr view: JSON is not an object`);let{number:n,state:r,url:i,headRefOid:a}=t;if(typeof n!=`number`||typeof r!=`string`||typeof i!=`string`||typeof a!=`string`)return R(`gh pr view: missing number/state/url/headRefOid`);let o=IC(`gh pr view`,PC,r);return o.kind===`ok`?I({number:n,state:o.value,url:i,head:a}):o}function rw(e){let t;try{t=JSON.parse(e)}catch(e){return R(`glab mr view: unparseable JSON (${e instanceof Error?e.message:String(e)})`)}if(!ew(t))return R(`glab mr view: JSON is not an object`);let n=t.iid,r=t.state,i=t.web_url,a=t.sha;if(typeof n!=`number`||typeof r!=`string`||typeof i!=`string`||typeof a!=`string`)return R(`glab mr view: missing iid/state/web_url/sha`);let o=IC(`glab mr view`,FC,r);return o.kind===`ok`?I({number:n,state:o.value,url:i,head:a}):o}function iw(e){try{let t=r.statSync(e);return{key:`${t.dev}:${t.ino}`,stamp:`${t.mtimeMs}:${t.size}`}}catch{return null}}var aw=class{isGitRepo(e){return kC(e)}async execGitAsync(e,t){return Me({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)?I(e):t&&this.isGitRepo(t)?I(t):this.isGitRepo(e)?I(e):this.findGitRoot(e)}async findGitRoot(e){let t=AC(e);return t===void 0?L:I(t)}async getGitInfo(e,t={},n){try{return await this.computeGitInfo(e,t,n)}catch(e){return R(`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,head:a.value.oid};t.showWorkingTree&&(o.workingTree=a.value.workingTree),t.showSha&&(o.sha=zC(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.committedAt=await this.committedAt(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=zC(s,e=>this.repoNameFrom(e,r)),o.isWorktree=i),s!==void 0&&t.showRepoUrl&&(o.repoUrl=zC(s,QC)),t.showOperation&&(o.operation=this.getOngoingOperation(r)),I(o)}resolveGitDir(e){let t=l.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 l.resolve(e,n[1].trim())}}catch{}return t}getOngoingOperation(e){try{let t=this.resolveGitDir(e);return r.existsSync(l.join(t,`MERGE_HEAD`))?I(`MERGE`):r.existsSync(l.join(t,`CHERRY_PICK_HEAD`))?I(`CHERRY-PICK`):r.existsSync(l.join(t,`REVERT_HEAD`))?I(`REVERT`):r.existsSync(l.join(t,`BISECT_LOG`))?I(`BISECT`):r.existsSync(l.join(t,`rebase-merge`))||r.existsSync(l.join(t,`rebase-apply`))?I(`REBASE`):L}catch(e){return R(`git operation probe: ${e instanceof Error?e.message:String(e)}`)}}async getNearestTagAsync(e){return BC(LC(`git describe --tags`,await this.execGitAsync([`describe`,`--tags`,`--abbrev=0`],{cwd:e,timeout:2e3}),`absent`))}async committedAt(e,t){return t.kind===`ok`?this.commitTimestampMs(e,t.value):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=BC(LC(`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)?R(`git log -1: unparseable timestamp "${n.value}"`):I(r)}resolveCommonGitDir(e){let t=this.resolveGitDir(e);try{let e=r.readFileSync(l.join(t,`commondir`),`utf-8`).trim();if(e)return l.resolve(t,e)}catch{}return t}getStashCount(e){let t=l.join(this.resolveCommonGitDir(e),`logs`,`refs`,`stash`),n;try{n=r.readFileSync(t,`utf-8`)}catch(e){return e.code===`ENOENT`?I(0):R(`git stash reflog ${t}: ${e instanceof Error?e.message:String(e)}`)}let i=n.trim();return I(i?i.split(`
|
|
72
|
+
`).length:0)}async getRemotesAsync(e){let t=iw(l.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=LC(`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:I(t.kind===`ok`?GC(t.value):[])}repoNameFrom(e,t){let n=JC(e);return(n===null?null:XC(n))??l.basename(t)}async getRepoRemoteUrl(e){let t=await this.getRemotesAsync(e);if(t.kind!==`ok`)return t;let n=YC(t.value);return n===null?L:I(n)}async execForgeAsync(e,t,n){return Me({bin:e,args:[...t],cwd:n.cwd,env:{...process.env},timeoutMs:n.timeout,category:`forge`})}async resolvePullRequest(e,t){let n=WC(t);return n===`github`?$C(`gh pr view`,await this.execForgeAsync(`gh`,[`pr`,`view`,`--json`,`number,state,url,headRefOid`],{cwd:e,timeout:5e3}),/no (open )?pull requests? found/i,nw):n===`gitlab`?$C(`glab mr view`,await this.execForgeAsync(`glab`,[`mr`,`view`,`--output`,`json`],{cwd:e,timeout:5e3}),/no (open )?merge requests? (found|available)/i,rw):L}isWorktree(e){try{let t=l.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=LC(`git status --porcelain=v2 --branch`,await this.execGitAsync([`status`,`--porcelain=v2`,`--branch`],{cwd:e,timeout:2e3}),`failed`);return t.kind===`ok`?I(tw(t.value)):t}};const ow=(e,t)=>D(t);var sw=class{slots=new Map;maxWatchers;counters;logger;closed=!1;constructor(e={}){this.maxWatchers=e.maxWatchers??128,this.counters=e.counters,this.logger=e.logger??ow}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()}},cw=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 lw={showSha:!0,showStashCount:!0};function uw(e){let t=Object.keys(e).sort(),n={};for(let r of t)n[r]=e[r];return JSON.stringify(n)}function dw(e){let t=t=>{try{return r.statSync(l.join(e,t)).mtimeMs}catch{return 0}};return{head:t(`HEAD`),index:t(`index`)}}function fw(e,t){return e.head!==t.head||e.index!==t.index}function pw(e){let t=[],n=l.join(e,`refs/heads`);try{r.statSync(n).isDirectory()&&t.push({path:n})}catch{}return{files:[l.join(e,`HEAD`),l.join(e,`index`)],dirs:t}}var mw=class extends aw{entries=new Map;subscribersByRepo=new Map;fetchInFlight=new Map;resolutions=new Map;prCache=new Map;prFetchInFlight=new Map;refreshes=new cw;hits=0;misses=0;invalidations=0;inner;ttlMs;maxEntries;watchers;ownsWatchers;logger;sanityTimer=null;constructor(e={}){super(),this.inner=e.inner??new aw,this.ttlMs=e.ttlMs??3e4,this.maxEntries=e.maxEntries??64,this.logger=e.logger??Mt,e.watchers?(this.watchers=e.watchers,this.ownsWatchers=!1):(this.watchers=new sw({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}|${uw(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(I(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=dw(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}`,pw(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 L;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}`,pw(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,{...lw});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,{...lw}),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=dw(this.inner.resolveGitDir(t.repoRoot)),e.set(t.repoRoot,n)),fw(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 hw=/\r\n|\r|\n/g,gw=e=>I(e.replace(hw,` `).trim());function _w(e){return t=>{let n=e.exec(t)?.[1];return n===void 0?R(`regex no-match`):I(n.replace(hw,` `))}}const vw=e=>{try{return I(JSON.parse(e))}catch(e){return R(`JSON parse failed: ${e.message}`)}},yw=e=>e.getTime()/1e3,bw=e=>new Date(e*1e3);function xw(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 Sw(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 Cw=`session.id`;function ww(e,t,n){return{where:`output of "${e}" in ${t}`,read:async()=>{let r=await Me({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?I(r.stdout):R(`shell "${e}" ${r.exitCode===null?[r.reason,r.error].filter(e=>e!==void 0).join(`: `):`exited with code ${r.exitCode}`} in ${t}`)}}}function Tw(e,t,n){return{where:`"${e}"`,read:async()=>{try{let r=await oe(e,{encoding:`utf8`,signal:n});return I(t===`first-line`?r.split(/\r?\n/)[0]??``:r)}catch{if(n.aborted)throw n.reason;return R(`file unreadable: ${e}`)}}}}function Ew(e,t,n){if(e.kind!==`ok`)return e;let r=t(e.value);return r.kind===`failed`?R(`${r.reason} in ${n}`):r}const Dw=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],Ow=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],kw=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],Aw=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`];function jw(e,t){let n=[[`2006`,e=>String(e.getFullYear())],[`January`,e=>Dw[e.getMonth()]],[`Monday`,e=>kw[e.getDay()]],[`Jan`,e=>Ow[e.getMonth()]],[`Mon`,e=>Aw[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 Mw={branch:`string`,sha:`string`,dirty:`boolean`,ahead:`number`,behind:`number`,stash:`number`};function Nw(e,t,n,r){if(e===null){if(n!==void 0)return n;let e=Mw[t];try{return Vw(r,e)}catch{return Hw(e)}}switch(t){case`branch`:return e.branch===`detached`?``:e.branch;case`sha`:return di(e.sha,``);case`dirty`:return e.status!==`clean`;case`ahead`:return di(e.aheadBehind,{ahead:0,behind:0}).ahead;case`behind`:return di(e.aheadBehind,{ahead:0,behind:0}).behind;case`stash`:return di(e.stashCount,0)}}function Pw(e){try{return o(e)}catch{return e}}function Fw(e){try{return s(e).isDirectory()}catch{return!1}}function Iw(e){let t=Pw(e);return Fw(t)?{dir:t,name:null,leaf:!0}:kg(t)}const Lw=e=>`${e.dir}\0${e.name??``}`;var Rw=class{watchers=new Map;subscribe(e,t,n){let r=this.watchers.get(e)??this.arm(e);return r.subscribers.set(t,n),r.watcher===null&&n(r.failure),()=>this.unsubscribe(e,t)}arm(e){let t={watcher:null,failure:``,target:Iw(e),subscribers:new Map};return t.watcher=this.open(e,t,t.target),this.watchers.set(e,t),t}rearm(e,t){let n=Iw(e);if(t.watcher!==null&&Lw(n)===Lw(t.target))return;let r=this.open(e,t,n);r!==null&&(t.watcher?.close(),t.watcher=r,t.target=n)}open(e,t,n){let{dir:r,name:i}=n,a=l.basename(r);try{return c(r,(n,r)=>{if(!(r===null||i===null||r===i)&&r!==a)return;let o=t.target.leaf;if(this.rearm(e,t),!(!o&&!t.target.leaf))for(let e of t.subscribers.keys())e()})}catch(n){let i=`watch_file ${e}: cannot watch ${r} — ${n instanceof Error?n.message:String(n)}`;t.failure=i;for(let e of t.subscribers.values())e(i);return null}}unsubscribe(e,t){let n=this.watchers.get(e);n&&(n.subscribers.delete(t),n.subscribers.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}},zw=class{buckets=new Map;subscribe(e,t){let n=this.buckets.get(e);if(!n){let t=new Set;n={timer:le(()=>{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&&(ce(n.timer),this.buckets.delete(e)))}dispose(){for(let{timer:e}of this.buckets.values())ce(e);this.buckets.clear()}bucketCount(){return this.buckets.size}};function Bw(e,t){let n=e;for(let e of t.split(`.`)){if(typeof n!=`object`||!n)return;n=n[e]}return n}function Vw(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`?Ig(e):t===`number`?Lg(e):Rg(e)}function Hw(e){return e===`number`?0:e===`boolean`?!1:``}var Uw=class{inputMetas=new Map;lastErrors=new Map;watchFaults=new Map;watchMgr=new Rw;ttlMgr=new zw;gitSubscriptions=new Map;cleanups=[];inFlight=new Map;reads=new cw;abort=new AbortController;drawn=Ng.observable.box(V.TRUECOLOR);drawnAt=()=>this.drawn.get();instant=Ng.observable.box(null);now=()=>{let e=this.instant.get();if(e===null)throw Error(`the time was read before any render published its instant`);return bw(e)};engine=wC({clock:this.now,drawnAt: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 mw({sanityIntervalMs:0}),this.ownsGitProvider=!0),this.sessionState=r}get variableStore(){return this.store}declareLiteral(e,t){this.store.defineBox(e,Fg(t),t)}declareFailedDocument(e,t){this.store.defineDocument(e,R(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,ww(t,n.cwd,this.abort.signal),xw(e,n.cache),n.parse)}declareFile(e,t,n){this.declareSource(e,Tw(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,gw,t.default,n);case`regex`:return this.scalarPublisher(e,_w(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=Ew(n,t,r);this.noteOutcome(e,a),this.store.setBox(e,di(a,i))}}documentPublisher(e,t,n){let r=t===void 0?L:I(t);this.store.defineDocument(e,r);let i,a=!1;return this.cleanups.push(()=>clearTimeout(i)),o=>{clearTimeout(i);let s=o.kind===`ok`&&o.value.trim()===``?L:o,c=Ew(s,vw,n);this.noteOutcome(e,c);let l=c.kind===`ok`||s.kind===`ok`||t===void 0?c:r,u=a&&s.kind===`ok`&&c.kind!==`ok`,d=()=>{a=c.kind===`ok`,this.store.setDocument(e,l)};u?i=setTimeout(d,250):d()}}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.declareDerived(e,()=>r.evaluate(TC(this.store)).map(e=>e.plain).join(``),n.varDefault)}declareTime(e,t){this.declareDerived(e,()=>jw(t.format,this.now()),t.varDefault)}declareDerived(e,t,n){this.store.defineComputed(e,`string`,()=>{try{let n=t();return this.lastErrors.delete(e),n}catch(t){let r=t instanceof Error?t.message:String(t);if(this.recordError(e,r),n===void 0)throw Error(`variable "${e}": ${r}`);return n}})}declareGit(e,t){let n=Mw[t.field],r=t.varDefault===void 0?Hw(n):Vw(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,Nw(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(Cw);if(typeof i!=`string`||!i)return r;let a=n.get(i,t.key);return a===null?r:a})}stateRevision(){let e=this.store.has(`session.id`)?this.store.read(Cw):``;return this.sessionState!==void 0&&typeof e==`string`&&e!==``?this.sessionState.revision(e):0}applyInput(e){this.store.runInAction(()=>{for(let[t,n]of this.inputMetas){let r=Bw(e,n.path),i=this.store.getType(t);if(r!==void 0)try{this.store.setBox(t,Vw(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))}renderAt(e){this.store.runInAction(()=>this.instant.set(e))}getLastError(e){let t=this.lastErrors.get(e),n=this.watchFaults.get(e);return n===void 0?t:t===void 0?n:{timestamp:t.timestamp,message:`${n.message}; ${t.message}`}}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 r=this.watchMgr.subscribe(t.path,n,t=>this.watchFaults.set(e,{timestamp:Date.now(),message:t}));this.cleanups.push(r);break}case`key`:{let e=this.engine.parse(t.template),r=(0,Ng.reaction)(()=>{let t=TC(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,Ng.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,Vw(this.defaultEmptyValue,t))}catch{this.store.setBox(e,Hw(t))}}defaultFor(e){try{return Vw(this.defaultEmptyValue,e)}catch{return Hw(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 Ww={project_dir:{kind:`input`,path:`workspace.project_dir`,default:``},[Cw]:{kind:`input`,path:`session_id`,default:``},transcript_path:{kind:`input`,path:`transcript_path`,default:``},resume_command:{kind:`input`,path:`resumeCommand`,default:``},config_path:{kind:`input`,path:`configPath`,default:``},"theme.effective":{kind:`input`,path:`theme.effective`,default:``},"style.effective":{kind:`input`,path:`style.effective`,default:``},"effect.effective":{kind:`input`,path:`effect.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},"endcaps.effective":{kind:`input`,path:`endcaps.effective`,default:``},"variation.effective":{kind:`input`,path:`variation.effective`,default:``},"shade.effective":{kind:`input`,path:`shade.effective`,default:``},"charset.effective":{kind:`input`,path:`charset.effective`,default:``},"colorCompatibility.effective":{kind:`input`,path:`colorCompatibility.effective`,default:``},"transitions.effective":{kind:`input`,path:`transitions.effective`,type:`boolean`,default:!1},"autoWrap.effective":{kind:`input`,path:`autoWrap.effective`,type:`boolean`,default:!0},"padding.effective":{kind:`input`,path:`padding.effective`,type:`number`,default:1},"updateNotice.effective":{kind:`input`,path:`updateNotice.effective`,type:`boolean`,default:!0},"term.cols":{kind:`input`,path:`term.cols`,type:`number`,default:80},"tmux.pane":{kind:`input`,path:`tmux.pane`,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:``},"git.repoUrl":{kind:`input`,path:`git.repoUrl`,default:``}},Gw=`ne .tmux.pane ""`;function Kw(e,t,n){let r=new Set,i=e=>{for(let t of yg(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 fh(e))i(t.when),t.kind===`segment`&&(i(t.lead),i(t.trail));for(let t of Object.values(e.variables))t.kind===`template`&&i(t.template),t.kind===`state`&&r.add(Cw);for(let t of Object.values(e.actions)){r.add(Cw),`copy`in t&&i(t.copy),`open`in t&&i(t.open);let e=`set`in t?ba.get(t.set):void 0,n=`persist`in t?ya.get(t.persist):void 0;e!==void 0&&r.add(e),n!==void 0&&r.add(n)}return r}function qw(e,t,n){let r=Dg({...n,variables:{...n.variables,...e.variables},segments:{...n.segments,...e.segments}}),i={};for(let a of Kw(e,t,n.helpers)){if(Eg(a,r))continue;let e=Ww[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}function Jw(e){return e.replace(/[^A-Za-z0-9]+/g,`_`)}var Yw=class extends Error{file;issues;warnings;constructor(e,t,n=[]){super($w(e,t)),this.name=`ConfigError`,this.file=e,this.issues=t,this.warnings=n}};function Y(e,t){let n=0,r;for(let i of t){if(i===``||/^\d+$/.test(i))continue;let t=Xw(e,n,i);if(t===-1)return r===void 0?void 0:Zw(e,r);n=t,r=t}return r===void 0?void 0:Zw(e,r)}function Xw(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 Zw(e,t){let n=1;for(let r=0;r<t&&r<e.length;r++)e.charCodeAt(r)===10&&n++;return n}function Qw(e,t){try{return br(t),null}catch(n){if(!(n instanceof mr))throw n;return`${e}:${Zw(t,n.offset)}: ${n.reason} — the settings menu cannot edit this file until it is fixed`}}function $w(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(`
|
|
73
|
+
`)}const eT=`groups.`,tT=`menus.`,nT=`edit.`,X=`candybar.`,rT=[eT,tT,nT,X];function iT(e){return rT.some(t=>e.startsWith(t))}function aT(e){let t=Jw(e);return rT.find(e=>t.startsWith(Jw(e)))}function oT(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:Y(e.source,[`root`])})}function sT(e){return e}function cT(e,t,n){return n===void 0?tT+Jw(e)+`.`+Jw(t):lT(n)}function lT(e){return tT+Jw(e)}function uT(e,t){return e+`.`+t}function dT(e){return e+`.page`}const fT=[`closeOnPick`,`paged`,`key`,`distribution`],pT=e=>fT.includes(e),mT=`"closeOnPick" (bool, default false), "paged" (bool, default true), "key" (string, accordion grouping), "distribution" (one of ${uf.map(e=>`"${e}"`).join(`, `)}; default "van-der-corput")`;function hT(e){for(let t of Object.keys(e))if(!pT(t))throw Error(`unknown {{ menu }} option "${t}" — the options dict takes ${mT}`);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&&!df(r))throw Error(`{{ menu }} option "distribution" must be one of: ${uf.join(`, `)}; got ${JSON.stringify(r)}`);return{closeOnPick:t(`closeOnPick`,!1),paged:t(`paged`,!0),key:n,distribution:pf(r)}}const gT=e=>`from`in e?e.from:e.themes;function _T(e,t,n){return e===`bool`?Qp(t)!==null:`min`in e?$p(t,e)!==null:ig(gT(e),n).members.includes(t)}function vT(e,t){if(e===`bool`)return Xp.join(` or `);if(!(`min`in e)){let n=gT(e),{members:r}=ig(n,t),i=r.map(e=>JSON.stringify(e));if(r.length<=8)return`one of ${i.join(`, `)}`;let a=typeof n==`string`?` "${n}"`:``;return`one of the ${r.length}${a} names, such as ${i.slice(0,3).join(`, `)}`}return`an integer from ${e.min} to ${e.max}`}function yT(e){return{label:e.label,domain:bT(e.domain)}}function bT(e){return e===`theme`?{themes:tg}:e===`bool`||`min`in e?e:{from:e}}function xT(e,t,n,r,i){let a=Zn(e.label),{domain:o}=e;if(o===`bool`)return{kind:`inline`,template:`{{ action "${r}" "☑ ${a}" "☐ ${a}" }}`,actions:{[r]:{set:t,cycle:[...Xp]}},variables:{}};if(`from`in o)return ST(t,r,i,o.from,e=>({template:`{{ "${a}" }} {{ carousel "${e.apply}" 0 "${e.open}" }}`,rows:[`{{ picker "${e.apply}" "${e.page}" false true true }}`]}));if(`themes`in o)return ST(t,r,i,o.themes,e=>({template:`{{ action "${e.open}" "${a}" .${n} }} {{ action "${e.open}" (swatch "${e.apply}") }}`,rows:[`{{ swatches "${e.apply}" "${e.page}" }}`,`{{ themePreview "${e.apply}" }}`]}));let s=e=>({set:t,min:o.min,max:o.max,by:e});return{kind:`inline`,template:`{{ action "${r}.down" "◀" }} {{ "${a}" }} {{ .${n} }} {{ action "${r}.up" "▶" }}`,actions:{[`${r}.down`]:s(-o.step),[`${r}.up`]:s(o.step)},variables:{}}}function ST(e,t,n,r,i){let a={variable:n,key:n,member:t},o=uT(n,t),s=`${t}.open`,c=dT(n),l=`${c}.current`,{template:u,rows:d}=i({apply:t,open:s,page:c});return{kind:`picker`,template:u,actions:{[t]:{set:e,from:r},[o]:ar(n,t),[c]:{set:c,int:!0},[l]:{set:c,to:`-1`},[s]:{do:[o,l]}},variables:{[n]:ir(n,qn),[c]:{kind:`state`,key:c,default:`0`}},list:{ref:a,rows:d}}}function CT(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 ${Z(i)}`,line:Y(e.source,[...t.split(`.`),r])}),null)}function wT(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 ${Z(i)}`,line:Y(e.source,[...t.split(`.`),`default`])});return}return i}}function TT(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 ${Z(i)}`,line:Y(e.source,[...t.split(`.`),r])});return}return i}}function ET(e,t,n){let r=TT(e,t,n,`palette`);if(r!==void 0){if(!e.allowedPalettes.has(r)){e.issues.push({path:`${t}.palette`,message:`Unknown palette "${r}"${cp(r)}. Expected one of: ${[...e.allowedPalettes].sort().join(`, `)}`,line:Y(e.source,[...t.split(`.`),`palette`])});return}return r}}function DT(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 ${Q(a)}`,line:Y(e.source,[...t.split(`.`),r])});return}return a}}function OT(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Z(e){return e===null?`null`:Array.isArray(e)?`array`:typeof e}function Q(e){return typeof e==`string`?JSON.stringify(e):e===void 0?`undefined`:String(e)}function kT(e,t,n,r){return OT(r)?(NT(e,n,r,t.noun,new Set(Object.keys(t.fields)),AT(e,t.removed??{},n,r)),jT(e,t.fields,n,r)):(e.issues.push({path:n,message:`${n} must be an object, got ${Z(r)}`,line:Y(e.source,n.split(`.`))}),null)}function AT(e,t,n,r){let i=Object.entries(t).filter(([e])=>r[e]!==void 0);for(let[t,r]of i)PT(e,`${n}.${t}`,`${n}.${t} was removed: ${r}`);return new Set(i.map(([e])=>`${n}.${e}`))}function jT(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 MT=new Set;function NT(e,t,n,r,i,a=MT){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:Y(e.source,[...t.split(`.`),o])})}function PT(e,t,n){return e.issues.push({path:t,message:n,line:Y(e.source,t.split(`.`))}),null}function FT(e,t,n,r){if(!OT(r))return e.issues.push({path:n,message:`${t.noun} must be an object, got ${Z(r)}`,line:Y(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:Y(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:Y(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:Y(e.source,n.split(`.`))}),null;let c=o[0];return i[c].parse(e,`${n}.${c}`,r[c])}function IT(e,t,n,r){if(!OT(r))return e.issues.push({path:n,message:`${n} must be an object, got ${Z(r)}`,line:Y(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 ${Z(i)}`,line:Y(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:Y(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 NT(e,n,r,`${i} ${t.memberNoun} key`,o.keys,l),c}function LT(e,t,n){return{json:ZT(YT(n),e,t),keys:new Set([e,...Object.keys(n)])}}function RT(e){return(...t)=>e()(...t)}function zT(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:Y(n.source,o.split(`.`))}),null}return a}}function BT(){return{required:!1,json:{type:`string`},parse:(e,t,n,r)=>TT(e,t,r,n)}}function VT(){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 ${Z(i)}`,line:Y(e.source,[n])});return}return i}}}}function HT(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 ${Q(o)}`,line:Y(e.source,[i])});return}return o}}}}function UT(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 ${Q(a)}`,line:Y(e.source,[r])});return}return a}}}}function WT(){return{required:!1,json:{type:`string`},parse:(e,t,n,r)=>ET(e,t,r)}}function GT(){return{required:!0,json:{type:`string`},parse:(e,t,n,r)=>CT(e,t,r,n)??void 0}}function KT(e,t){return f(t)?null:`${e} must be an absolute path (\`~\` and relative paths are not expanded), got ${JSON.stringify(t)}`}function qT(){return{required:!0,json:{type:`string`,pattern:`^/`},parse:(e,t,n,r)=>{let i=CT(e,t,r,n);if(i===null)return;let a=KT(`${t}.${n}`,i);return a===null?i:PT(e,`${t}.${n}`,a)??void 0}}}function JT(e){return{required:!1,json:{enum:[...e]},parse:(t,n,r,i)=>DT(t,n,i,r,e)}}function YT(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 XT(e){return YT(e.fields)}function ZT(e,t,n){let r=e,i={[t]:{const:n},...r.properties},a=[t,...r.required??[]];return{...r,properties:i,required:a}}function QT(e){let t=e.arms;return{anyOf:Object.values(t).map(e=>e.json)}}function $T(e){let t=e.arms;return{anyOf:Object.entries(t).map(([e,t])=>({type:`object`,properties:{[e]:t.json},required:[e],additionalProperties:!1}))}}const eE={required:!1,json:{enum:[...Bp]},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: ${Bp.join(`, `)}`,line:Y(e.source,[...t.split(`.`),n])});return}return DT(e,t,r,n,Bp)}},tE={required:!1,json:{type:`string`},parse:(e,t,n,r)=>{let i=TT(e,t,r,n);return _p(i)?i:ET(e,t,r)}},nE={required:!1,json:{anyOf:[{enum:[...Dp]},{type:`string`,pattern:`\\{\\{`}]},parse:(e,t,n,r)=>{let i=r[n];return typeof i==`string`&&_p(i)?i:DT(e,t,r,n,Dp)}},rE=/^[^\r\n]*\S[^\r\n]*$/u,iE=RegExp(`^(?:✖|✕)[\\uFE0E\\uFE0F]?$`,`u`),aE={required:!1,json:{type:`string`,pattern:rE.source,not:{pattern:iE.source}},parse:(e,t,n,r)=>{let i=TT(e,t,r,n);if(i===void 0||rE.test(i)&&!iE.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:Y(e.source,[...t.split(`.`),n])})}};function oE(e){return{spec:JT(e),domain:{from:e}}}function sE(){return{spec:VT(),domain:`bool`}}function cE(e){return{spec:e,domain:`text`}}const lE={default_empty_value:cE(BT()),default_separator:cE(BT()),palette:{spec:tE,domain:{themes:`themes`}},style:{spec:BT(),domain:{from:`styles`}},effect:{spec:nE,domain:{from:Dp}},preset:{spec:BT(),domain:{from:`presets`}},endcaps:oE(Mp),variation:oE(Hp),shade:oE(Gp),autoWrap:sE(),padding:{spec:HT(Zp),domain:{...Zp,step:1}},charset:oE(Lp),updateNotice:sE(),transitions:sE(),colorCompatibility:{spec:eE,domain:{from:Bp}},menuGlyph:cE(aE)},uE=Object.fromEntries(Object.entries(lE).map(([e,t])=>[e,t.spec]));function dE(e){return lE[e].domain}function fE(e){let t=dE(e);if(t===`text`)throw Error(`globals.${e} is free text, which no control can change — list it in UNCONTROLLED_GLOBALS instead of SETTINGS`);return t}function pE(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:Y(e.source,[...n.split(`.`),r])})}}}function mE(e){return pE(`${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 hE(e){return pE(`${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.`)}function gE(e,t,n){return{...e,json:{...e.json,not:{pattern:`\\{\\{`}},parse:(r,i,a,o)=>{let s=o[a];if(typeof s==`string`&&_p(s)){r.issues.push({path:`${i}.${a}`,message:`${i}.${a}: a rule is not allowed here — ${t} ${n}, so it names a value. Write the rule in globals.${a} (or a preset's globals.${a}) instead.`,line:Y(r.source,[...i.split(`.`),a])});return}return e.parse(r,i,a,o)}}}const _E={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.',look:`it was renamed "style" — write the same name as style: "<name>"`,progression:`it was renamed "variation", and its values with it: accent (was secondary-accent), duo (was primary-secondary), mono (was primary)`},vE={noun:`globals key`,fields:uE,removed:_E},yE={preset:mE(`a preset`),menuGlyph:hE(`a preset`)},bE={noun:`preset globals key`,fields:{...uE,...yE},removed:_E};function xE(e){return jE(e)&&!(e in yE)}const SE=`is decided later than any rule could be settled`,CE={noun:`editGlobals key`,removed:_E,fields:{...uE,preset:mE(`the editGlobals fragment`),menuGlyph:hE(`the editGlobals fragment`),palette:gE(uE.palette,`the editGlobals fragment`,SE),style:gE(uE.style,`the editGlobals fragment`,SE),effect:gE(uE.effect,`the editGlobals fragment`,SE)}},wE={noun:`theme default key`,fields:{...Object.fromEntries(_h.map(e=>[e,uE[e]])),style:gE(uE.style,`a theme's default`,`is the look that theme wears by name`)}};function TE(e,t){if(!OT(t))return e.issues.push({path:`themeDefaults`,message:`themeDefaults must be an object mapping theme names to { shade, variation, style }, got ${Z(t)}`,line:Y(e.source,[`themeDefaults`])}),{};let n={};for(let[r,i]of Object.entries(t)){let t=`themeDefaults.${r}`;if(!e.allowedPalettes.has(r)){e.issues.push({path:t,message:`${t}: "${r}" is not an installed theme${cp(r)}. Expected one of: ${[...e.allowedPalettes].sort().join(`, `)}`,line:Y(e.source,[`themeDefaults`,r])});continue}let a=kT(e,wE,t,i);a!==null&&(n[r]=a)}return n}function EE(e,t,n){return n===void 0?{}:kT(e,vE,t,n)??{}}function DE(e,t,n){return kT(e,bE,t,n)??{}}function OE(){return XT(bE)}function kE(e,t,n){return kT(e,CE,t,n)??{}}const AE=new Set(Object.keys(uE));function jE(e){return AE.has(e)}function ME(){return[...AE]}const NE={padding:1};function PE(e){let t=new Map;for(let[n,r]of Object.entries(NE)){let i=e[n];t.set(n,typeof i==`number`?i:r)}return t}const FE=/^segments\.([^.]+)\.palette$/,IE=/^presets\.(.+)\.root$/,LE=/^presets\.(.+)\.globals\.([^.]+)$/,RE=/^themeDefaults\.(.+)\.([^.]+)$/;function zE(e){return`presets.${e}.root`}function BE(e,t){return`themeDefaults.${e}.${t}`}const VE=e=>_h.includes(e);function HE(e,t){return`presets.${e}.globals.${t}`}function UE(e){if(jE(e))return{scope:`globals`,field:e};let t=FE.exec(e);if(t)return{scope:`segment-palette`,segment:t[1]};let n=LE.exec(e);if(n&&xE(n[2]))return{scope:`preset-globals`,preset:n[1],field:n[2]};let r=RE.exec(e);if(r&&VE(r[2]))return{scope:`theme-default`,theme:r[1],field:r[2]};let i=IE.exec(e);return i?{scope:`preset-root`,preset:i[1]}:null}function WE(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`];case`theme-default`:return[`themeDefaults`,e.theme,e.field]}}const GE=[`location`,`git`,`model-context`,`cost-limits`,`activity`,`session-tools`],KE=[...GE,`other`],qE={location:`location`,git:`git`,"model-context":`model & context`,"cost-limits":`cost & limits`,activity:`activity`,"session-tools":`session tools`,other:`other`},JE=jv({fromString:e=>e}),YE=`edit.mode`,XE=`edit.configure`,ZE=`edit.toggle`,QE=`edit.unconfigure`,$E=[ZE,QE],eD=`arrange`,tD=`${nT}draft.`;function nD(e,t){return`${e}:${t}`}const rD={variable:YE,key:YE,member:eD},iD=$n(rD);function aD(e){try{return JE.parse(e).referencedCalls().some(e=>e.name===`action`&&e.args[0]===`edit.toggle`)}catch{return!1}}function oD(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`&&aD(e))return!0;return!1}function sD(e,t){if(oT(e,t,nT,`edit mode`),!oD(t))return;let{variables:n,actions:r}=cD();t.variables={...t.variables??{},...n},t.actions={...t.actions??{},...r}}function cD(){return{variables:{[YE]:ir(YE,qn),[XE]:ir(XE,qn)},actions:{[ZE]:ar(YE,eD),[QE]:{set:XE,to:qn}}}}const lD=`open`;function uD(e,t,n,r){let i={variable:e,key:e,member:lD};return r.variables[e]=ir(e,qn),r.actions[e]=ar(e,lD),r.segments[e]={template:tr(e,`(?)`,`✕`),...dD(n)},Qn(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 dD(e){let[t,...n]=e;return t===void 0?{}:{when:$n(t,...n)}}const fD=`none`;function pD(e){return Gs(e,`background`)}var mD=class extends Error{constructor(e,t,n){super(`Invalid ${t} color ${JSON.stringify(e)}: ${n}`),this.name=`ColorSpecError`}};function hD(e,t,n,r,i){let{palette:a,tint:o,text:s}=e,c=gD(n,i),l=c!==fD,u=l?c===void 0?o:_D(a,c,`bg`):pD(a);e.bg=u;let d=gD(r,i),f=d===void 0?l?(e=>e.hex===o.hex?s:Ff(a,e,t))(u):void 0:_D(a,d,`fg`);return new U({...l&&{bgcolor:H.fromRgba(u)},...f!==void 0&&{color:H.fromRgba(f)}})}function gD(e,t){if(e!==void 0)return e.evaluate(t).map(e=>e.plain).join(``)}function _D(e,t,n){try{return Gs(e,t)}catch(e){throw e instanceof Ws?new mD(t,n,e.message):e}}const vD=`🔧`,yD={help:[`-h`,`--help`],version:[`-V`,`--version`]},bD=[`✚ inserts`,`✖ removes`,`${vD} configures`,`↺ resets layout`],xD=`
|
|
106
74
|
cc-candybar - Beautiful powerline statusline for Claude Code
|
|
107
75
|
|
|
108
76
|
Usage: cc-candybar [options]
|
|
@@ -122,7 +90,7 @@ Configuration:
|
|
|
122
90
|
|
|
123
91
|
Every bar carries a settings menu, whatever your config says — no config
|
|
124
92
|
needed, and writing your own \`root\` cannot delete it. Click
|
|
125
|
-
it on the bar (${
|
|
93
|
+
it on the bar (${Jn} by default; globals.menuGlyph changes it) for
|
|
126
94
|
preset switching and five tabs: ⚡ session (quick actions and commands),
|
|
127
95
|
🎨 look (theme/style/variation/shade/endcaps), 📐 layout (new preset, edit mode,
|
|
128
96
|
wrap, padding), ⚙ config (update notice) and
|
|
@@ -174,14 +142,14 @@ Config tooling:
|
|
|
174
142
|
running daemon; none spawn one.)
|
|
175
143
|
|
|
176
144
|
`,SD=`readableOn (mix (color "foreground") (bgOf) 60) (bgOf) 3`,CD={socket:`TMUX`,pane:`TMUX_PANE`,truecolor:`CLAUDE_CODE_TMUX_TRUECOLOR`};function wD(e){let t=e[CD.socket]??``,n=e[CD.pane]??``;if(t===``||n===``)return null;let r=e[CD.truecolor]??``;return{socket:t.split(`,`)[0],pane:n,truecolor:r===``?null:r}}function TD(e){let[t,...n]=e;return t===void 0?{ok:!0}:{ok:!1,reason:t,more:n}}const ED=CD.truecolor,DD={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[ED];return typeof n==`string`&&n!==``?{ok:!1,reason:`${ED} 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`,path:[`env`,ED],value:`1`}}}}}},OD={variable:`is never read`,action:`is never clicked`,helper:`is never called`,segment:`is in no preset`},kD={name:`config`,label:`config`,probe:({config:e})=>{switch(e.kind){case`failed`:{let[t=`the config failed to load`,...n]=[...e.error.split(`
|
|
177
|
-
`).map(e=>e.trim()).filter(e=>e!==``),...e.warnings];return{ok:!1,reason:t,more:n}}case`loaded`:return TD([...e.warnings,...e.unused.map(({kind:e,name:t})=>`${e} "${t}" ${OD[e]}`)])}}},AD="re-run `cc-candybar install`";function jD(e){if(e.kind===`failed`)return[`Launch Services could not be asked which app opens cc-candybar:// — ${e.reason}`];if(e.value===null)return[`no app is registered for cc-candybar:// — ${AD}`];let{app:t,missing:n}=e.value;return n.kind===`failed`?[`${t} opens cc-candybar://, but ${n.reason} — ${AD}`]:n.value.map(e=>`${e} is missing, and ${t} runs it — ${AD}`)}const MD=[kD,{name:`urlHandler`,label:`URL handler`,probe:({urlHandler:e})=>{switch(e.kind){case`unsupported`:return{ok:!0};case`unprobed`:return{ok:!1,reason:e.reason};case`arrived`:return e.handler===e.bar?{ok:!0}:{ok:!1,reason:e.handler===null?`the URL handler does not report its version, so it is older than the bar (${e.bar}) — ${AD}`:`the URL handler runs cc-candybar ${e.handler}; the bar runs ${e.bar} — ${AD}`};case`lost`:return TD([...jD(e.opener),e.unopened===null?`a cc-candybar:// link was opened and did not arrive at the daemon`:`a cc-candybar:// link could not be opened — ${e.unopened}`])}}},DD,{name:`effectRefresh`,label:`effect refresh`,probe:({effect:e,placementEffects:t,transitions:n,claudeSettings:r})=>{let i=[...e.kind===`decided`?e.value===`none`?[]:[`the bar wears the ${e.name} effect`]:[`a globals.effect rule can give the bar an effect`],...t.map(({placement:e,effect:t})=>`${e} wears the ${t} effect`),...n?[`placements fade in and dissolve out as they come and go`]:[]];if(i.length===0)return{ok:!0};let a=i.join(` and `),{path:o,statusLine:s}=r;switch(s.kind){case`absent`:return{ok:!1,reason:`${a}, and ${o} sets no statusLine — set "refreshInterval": 1 beside the statusLine command that runs the bar`};case`not-an-object`:return{ok:!1,reason:`${a}, and ${o} sets statusLine to ${JSON.stringify(s.value)}, not a statusLine object — re-run \`cc-candybar install\` to write one`};case`present`:break}let c=s.refreshInterval;return c===1?{ok:!0}:{ok:!1,reason:c===void 0?`${a}, but Claude Code redraws it only on events`:typeof c==`number`&&c>1?`${a}, but Claude Code redraws it only every ${c} s`:`${a}, but statusLine.refreshInterval is ${JSON.stringify(c)}, not a number of seconds Claude Code accepts (its minimum is 1)`,fix:{kind:`claude-settings`,path:[`statusLine`,`refreshInterval`],value:1}}}}];function ND(e){return MD.map(t=>({check:t,verdict:t.probe(e)}))}function PD(e){return MD.find(t=>t.name===e)}const FD=`${Z}doctor.`;function ID(e){let t=`${FD}${e}.`;return{verdict:`${t}verdict`,reason:`${t}reason`,fixable:`${t}fixable`}}function LD(e,t=[]){return t.length===0?e:`${e} (+${t.length} more — run \`cc-candybar doctor\`)`}function RD(e){return e.flatMap(({check:e,verdict:t})=>{let n=ID(e.name);return t.ok?[{key:n.verdict,value:`ok`},{key:n.reason,value:``},{key:n.fixable,value:Jp}]:[{key:n.verdict,value:`failed`},{key:n.reason,value:LD(t.reason,t.more)},{key:n.fixable,value:t.fix===void 0?Jp:qp}]})}const zD={copySession:{copy:`{{ .session.id }}`},copyResume:{copy:`{{ .resume_command }}`},openProject:{open:`{{ .project_dir }}`},openTranscript:{open:`{{ .transcript_path }}`},openConfig:{open:`{{ .config_path }}`}};function BD(e){let t=t=>`${e}${t}`;return{template:`{{ action "${t(`copySession`)}" "⎘ id" }}{{ if ne .resume_command "" }} {{ action "${t(`copyResume`)}" "⎘ resume" }}{{ end }} {{ action "${t(`openProject`)}" "↗ proj" }} {{ action "${t(`openTranscript`)}" "↗ log" }}{{ if ne .git.repoUrl "" }} {{ link .git.repoUrl "↗ repo" }}{{ end }}{{ if ne .config_path "" }} {{ action "${t(`openConfig`)}" "↗ config" }}{{ end }}`,actions:Object.fromEntries(Object.entries(zD).map(([t,n])=>[`${e}${t}`,n]))}}const VD=`armed`,HD=`disarmed`,UD=`.armed`,WD=e=>e.endsWith(UD);function GD(e,t,n){let r=`${e}${UD}`,i=`${e}.arm`,a=`${e}.disarm`,o=`(eq .${e} "${VD}")`;return{template:`{{ if ${o} }}{{ action "${e}" "${t.confirm}" }} {{ action "${a}" "✕" }}{{ else }}{{ action "${i}" "${t.arm}" }}{{ end }}`,actions:{[i]:{set:r,to:VD},[a]:{set:r,to:HD},[e]:{do:[a,...n]}},armed:o,variables:{[e]:{kind:`state`,key:r,default:HD}},disarm:a}}const KD=RegExp(`^/[^\\s\\x00-\\x1f\\x7f-\\x9f/][^\\x00-\\x1f\\x7f-\\x9f]*$`);function qD(e){return typeof e==`string`&&KD.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 JD(e){let t=qD(e);if(t.kind===`refused`)throw Error(t.reason);return t.line}const YD=[`/compact`,`/model`],XD=`/clear`;function ZD(e){let t=t=>`${e}${t.slice(1)}`,n=`${e}clear.slash`,r=GD(`${e}clear`,{arm:XD,confirm:`${XD} ✓ confirm`},[n]);return{template:YD.map(e=>`{{ action "${t(e)}" "${e}" }} `).join(``)+r.template,when:`{{ ${Ww} }}`,actions:{...Object.fromEntries(YD.map(e=>[t(e),{slash:JD(e)}])),...r.actions,[n]:{slash:JD(XD)}},variables:r.variables,disarm:r.disarm}}const QD=Array.from({length:10},(e,t)=>(t+1)*1e5),$D=QD[0],eO=QD[QD.length-1];function tO(e){let t;try{t=oi(e)}catch(e){return B(e instanceof Error?e.message:String(e))}let n=t.autoCompactWindow;return n===void 0?R(`auto`):typeof n==`number`&&Number.isInteger(n)&&n>=$D&&n<=eO?R(n):B(`${e}: autoCompactWindow is ${JSON.stringify(n)}, not a window /autocompact accepts (${$D}–${eO} tokens)`)}function nO(e,t){let n=Math.min(t??eO,eO),r=e===`auto`?n:Math.min(e,n);return{window:e===`auto`?0:e,applied:e===`auto`?0:r,lower:QD.filter(e=>e<r).at(-1)??0,higher:QD.find(e=>e>r&&e<=n)??0}}function rO(e,t){return{template:`{{ if ne .autocompact.error "" }}⇲ ⚠ {{ .autocompact.error }}{{ else }}⇲ {{ if eq .autocompact.window 0 }}auto{{ else }}${t(`.autocompact.applied`)}{{ end }}{{ if ${Ww} }}{{ if gt .autocompact.lower 0 }} {{ action (printf "${e}%d" .autocompact.lower) "−" }}{{ end }}{{ if gt .autocompact.higher 0 }} {{ action (printf "${e}%d" .autocompact.higher) "+" }}{{ end }}{{ if gt .autocompact.window 0 }} {{ action "${e}auto" "↺" }}{{ end }}{{ end }}{{ end }}`,bg:`{{ if ne .autocompact.error "" }}{{ color "error" }}{{ else }}{{ tint }}{{ end }}`,when:`{{ or (ge .autocompact.window 0) (ne .autocompact.error "") }}`,actions:{[`${e}auto`]:{slash:JD(`/autocompact auto`)},...Object.fromEntries(QD.map(t=>[`${e}${t}`,{slash:JD(`/autocompact ${t}`)}]))}}}const iO=e=>`{{ if ge ${e} 1000000 }}{{ printf "%.1f" (divf ${e} 1000000) }}M{{ else if ge ${e} 1000 }}{{ printf "%.1f" (divf ${e} 1000) }}K{{ else }}{{ ${e} }}{{ end }}`,aO=`${Z}menu`,oO=`open`,sO=`${Z}edit`,cO=`${Z}toolbar`,lO=BD(Z),uO=`${Z}commands`,dO=ZD(`${uO}.`),fO=`${Z}autocompact`,pO=rO(`${fO}.`,iO),mO=e=>({kind:`segment`,name:e}),hO=`${Z}tab`,gO=[{member:`session`,label:`⚡ session`},{member:`look`,label:`🎨 look`},{member:`layout`,label:`📐 layout`},{member:`config`,label:`⚙ config`},{member:`tools`,label:`🧰 tools`}],_O=e=>`${hO}.${e}`,vO=e=>`${_O(e)}.toggle`,yO=e=>({variable:hO,key:hO,member:e}),bO=`${Z}save`,xO=`${Z}preset.save`,SO=`${Z}preset.delete`,CO=e=>`${Z}${e}`,wO=e=>`${Z}apply.${e}`,TO=e=>`${Z}reset.${e}`,EO=`${Z}themeDefault.save`,DO=`${Z}themeDefault.differs`,OO=`${Z}themeDefault.theme`,kO={when:`{{ .${DO} }}`,template:`{{ action "${EO}" (printf "⤓ default for %s" .${OO}) }} {{ swatch "${wO(`theme`)}" .${OO} }}`},AO=`${Z}resetAll`,jO=`${aO}.toggle`,MO={variable:aO,key:aO,member:oO},NO=`${Z}undo`,PO=`${Z}back`,FO=`${PO}.step`,IO=`${Z}navigation.back`,LO=PO,RO={template:`{{ if gt .${IO} 0 }}{{ action "${PO}" "◁" }}{{ else }}{{ fg (${SD}) "◁" }}{{ end }}`},zO=`${Z}redo`,BO=`${Z}doctor`,VO=`${BO}.run`,HO=e=>`${BO}.fix.${e}`,UO=e=>`${BO}.${e}`,WO=cT(`${Z}pickers`),GO=`${Z}gear`,KO=`gear`,qO=`${GO}.toggle`,JO={variable:WO,key:WO,member:KO},YO=cT(`${Z}gearPickers`),XO=[{template:`{{ themePreview }}`}],ZO={template:`{{ layoutPreview }}`},QO={preset:[ZO,{when:`{{ not .preset.bundled }}`,template:`{{ action "${SO}" (printf "🚮 delete %s" .${pa.preset.effectiveVar}) }}`}],style:XO,variation:[ZO],shade:[ZO]},$O=(e,t)=>`${Z}list.${e}.${t}`,ek=e=>`${Z}resettable.${e}`,tk=e=>e.length===0?`false`:`(or ${e.map(e=>`.${ek(e)}`).join(` `)})`,nk={preset:`door`,theme:`look`,style:`gear`,effect:`look`,variation:`gear`,shade:`gear`,endcaps:`look`,transitions:`look`,autoWrap:`layout`,padding:`layout`,updateNotice:`config`},rk=e=>e===`gear`?nk.theme:e,ik=Object.keys(pa).map(e=>{let t=pa[e],n=fE(t.configKey),r=bT({label:t.label,domain:n},t.sessionKey,t.effectiveVar,wO(e),nk[e]===`gear`?YO:WO);return{...t,name:e,control:r,beneath:QO[e]??[]}}),ak=e=>ik.filter(t=>nk[t.name]===e),ok=e=>ik.filter(t=>rk(nk[t.name])===e),sk={theme:[Yn(GO,JO,{kind:`container`,direction:`horizontal`,children:ak(`gear`).map(bk)},`drop`)]},ck=e=>ak(e).flatMap(e=>[bk(e),...sk[e.name]??[]]);new Set(ik.flatMap(e=>[e.sessionKey,e.configKey]));const lk=GD(AO,{arm:`⟲`,confirm:`⟲ reset all?`},ik.map(e=>TO(e.name))),uk=[`unsaved`,`history.undo`,`history.redo`],dk=e=>`${Z}${e}`,fk=dk(`unsaved`),pk=(e,t)=>({body:t,shown:`(gt .${dk(e)} 0)`}),mk=[pk(`unsaved`,`{{ action "${bO}" (printf "💾 save %d" .${fk}) }}`),pk(`history.undo`,`{{ action "${NO}" "↶" }}`),pk(`history.redo`,`{{ action "${zO}" "↷" }}`),{body:lk.template,shown:`(or ${tk(ik.map(e=>e.name))} ${lk.armed})`}],hk={when:`{{ or ${mk.map(e=>e.shown).join(` `)} }}`,template:`{{ $sep := "" }}`+mk.map(e=>`{{ if ${e.shown} }}{{ $sep }}${e.body}{{ $sep = " " }}{{ end }}`).join(``)},gk=[{step:lk,place:`door`},{step:dO,place:`session`}],_k=e=>e.map(e=>e.step.disarm),vk=_k(gk),yk=_k(gk.filter(e=>e.place!==`door`));function bk(e){let t=CO(e.name);return e.control.kind===`inline`?mO(t):Yn(t,e.control.list.ref,{kind:`container`,direction:`vertical`,children:[...e.control.list.rows,...e.beneath].map((t,n)=>mO($O(e.name,n)))},`drop`)}function xk(e){return e===aO}function Sk(e){let t=mO(aO);if(e.kind===`container`&&e.direction===`vertical`){let[n,...r]=e.children;return e.when===void 0&&n!==void 0?{...e,children:[Sk(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 Ck(e){return wk(e)>0?e:Sk(e)}function wk(e){let t=0;for(let n of dh(e))n.kind===`segment`&&xk(n.name)&&(t+=1);return t}function Tk(e,t=!1){let n=t||e.when!==void 0;return e.kind===`segment`?n&&xk(e.name)||e.opens!==void 0&&Tk(e.opens.body,!0):e.children.some(e=>Tk(e,n))}const Ek={session:{direction:`vertical`,content:[mO(cO),{kind:`container`,direction:`horizontal`,children:[mO(uO),mO(fO)]}],after:[]},look:{direction:`horizontal`,content:[],after:[mO(EO)]},layout:{direction:`horizontal`,content:[mO(xO),mO(sO)],after:[]},config:{direction:`horizontal`,content:[],after:[]},tools:{direction:`vertical`,content:[mO(BO),...MD.map(e=>mO(UO(e.name)))],after:[]}},Dk=e=>({kind:`container`,direction:Ek[e].direction,children:[...Ek[e].content,...ck(e),...Ek[e].after]});function Ok(e){return e.kind===`segment`?xk(e.name)?Yn(e.name,MO,Ak,`above`):e:Mk(e)}function kk(){return{kind:`container`,direction:`vertical`,children:[{kind:`container`,direction:`horizontal`,children:[mO(LO),...ck(`door`),mO(bO)]},{kind:`container`,direction:`horizontal`,children:gO.map(({member:e})=>Yn(_O(e),yO(e),Dk(e),`drop`))}]}}const Ak=kk();function jk(e){let t=new Map;for(let e of dh(Ak))e.kind===`segment`&&e.opens!==void 0&&t.set(e.opens.ref.key,e.opens.ref.variable);return[...t].map(([t,n])=>{let r=e.variables[n];if(r?.kind!==`state`||r.default===void 0)throw Error(`settings menu: the door folds "${t}", but "${n}" is not a state variable the menu declares with a default`);let i=`${aO}.fold.${qw(t)}`;return e.actions[i]={set:t,to:r.default},i})}function Mk(e){return{...e,children:e.children.map(e=>Ok(e))}}function Nk(e){let t={variables:{[aO]:tr(aO,L)},actions:{[jO]:nr(aO,oO),[VO]:{doctor:`run`},[sO]:{do:[...$E]},...lO.actions,...dO.actions,...pO.actions,[bO]:{save:!0},[NO]:{undo:!0},[FO]:{back:!0},[PO]:{do:[FO,...vk]},[zO]:{redo:!0},[xO]:{preset:`save`},[EO]:{themeDefault:`save`},[SO]:{preset:`delete`,name:`{{ .${pa.preset.effectiveVar} }}`}},segments:{[aO]:{template:`{{ $door := ${$n(aO,er(e),er(`✖`))} }}{{ if ${Zn(MO)} }}{{ fg (keptOn (color "error") (bgOf)) $door }}{{ else }}{{ $door }}{{ end }}`},[cO]:{template:lO.template},[uO]:{template:dO.template,when:dO.when},[fO]:{template:pO.template,bg:pO.bg,when:pO.when},[LO]:RO,[bO]:hk,[EO]:kO,[xO]:{template:`{{ action "${xO}" "+ preset" }}`},[BO]:{template:`{{ action "${VO}" "🩺 doctor" }}`},[sO]:{template:`{{ action "${sO}" "✎ arrange" "✎ done" }}`}}};t.variables[DO]={kind:`input`,path:`themeDefault.differs`,type:`boolean`,default:!1},t.variables[OO]={kind:`input`,path:`themeDefault.theme`,type:`string`,default:``},t.variables[IO]={kind:`input`,path:`navigation.back`,type:`number`,default:0};for(let e of uk)t.variables[dk(e)]={kind:`input`,path:e,type:`number`,default:0};t.variables[hO]=tr(hO,`session`);for(let{member:e,label:n}of gO){t.actions[vO(e)]=nr(hO,e),t.actions[_O(e)]={do:[vO(e),...yk]};let r=tk(ok(e).map(e=>e.name)),i=`(ternary ${er(` •`)} "" ${r})`,a=e=>`(print ${er(e)} ${i})`;t.segments[_O(e)]={template:`{{ ${$n(_O(e),a(n),a(`▾ ${n}`))} }}`}}return Object.assign(t.variables,dO.variables,lk.variables),Fk(t),Pk(t),t.actions[aO]={do:[jO,...vk,...jk(t)]},t}function Pk(e){for(let t of MD){let n=ID(t.name),r=HO(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[UO(t.name)]={when:`{{ ne .${n.verdict} "" }}`,template:`{{ if eq .${n.verdict} "ok" }}✓ ${t.label}{{ else }}✗ ${t.label} — {{ .${n.reason} }}{{ if eq .${n.fixable} "${qp}" }} {{ action "${r}" "[fix]" }}{{ end }}{{ end }}`}}}function Fk(e){for(let t of ik){Object.assign(e.actions,t.control.actions);let n=TO(t.name);e.actions[n]={reset:t.configKey},e.variables[ek(t.name)]={kind:`input`,path:`resettable.${t.name}`,type:`boolean`,default:!1};let r=`{{ if .${ek(t.name)} }} {{ action "${n}" "↺" }}{{ end }}`;Object.assign(e.variables,t.control.variables),e.segments[CO(t.name)]={template:`${t.control.template}${r}`},t.control.kind===`picker`&&[...t.control.list.rows.map(e=>({template:e})),...t.beneath].forEach((n,r)=>{e.segments[$O(t.name,r)]=n})}Object.assign(e.actions,lk.actions),e.actions[qO]=nr(WO,KO),e.segments[GO]={template:`{{ action "${qO}" "⚙" }}`}}function Ik(e){let{variables:t,actions:n}=cD();Object.assign(e.variables,t),Object.assign(e.actions,n)}function Lk(e){let t=Nk(e.globals.menuGlyph??`🍫`);Ik(t);let n={...e.presets},r=[];for(let t of qh(e.presets)){let{node:i}=Xh(e,t),a=Ok(Ck(i));r.push(a),n[t]={...Yh(e.presets,t),root:a}}let i=Kw(t,r,e);return{...e,variables:{...i,...e.variables,...t.variables},actions:{...e.actions,...t.actions},segments:{...e.segments,...t.segments},presets:n}}const Rk=`${tT}live`,zk=[`☐ live`,`☑ live`],Bk=`${tT}done`,Vk=`${tT}cancel`,Hk=`${tT}rewind`,Uk=`${tT}changes`,Wk=`(gt .${Uk} 0)`,Gk=`(or ${Wk} (gt .${fk} 0))`,Kk={variable:Rk,key:Rk,member:`open`};function qk(e){return`${tT}configuring.p${e}`}function Jk(e){return`and ${Zn(rD)} (not ${Zn(Kk)}) (ne .${qk(e)} "true")`}function Yk(e){return{kind:`template`,template:`{{ or ${e.map(e=>`(eq .${XE} "${Jn(e)}")`).join(` `)} false }}`}}function Xk(e,t,n){return`{{ if ${Jk(e)} }}${t}{{ else }}${n}{{ end }}`}const Zk=`{{ and ${Zn(rD)} .preset.customized }}`,Qk=rT;function $k(e){return new Map([...tg(e),...tA(e)])}const eA=`${tT}addable`;function tA(e){return new Map([[eA,{members:Object.keys(e.segments).filter(e=>!Qk(e)),library:{groups:KE.map(e=>({id:e,label:qE[e]})),entry:t=>{let n=e.segments[t];return{group:n.group??`other`,...n.description!==void 0&&{description:n.description}}}}}]])}function nA(e,t,n){return n.segments[e]={template:t,when:iD,bg:fD},{kind:`segment`,name:e}}function rA(e,t,n){let r=`${tT}${e.presetIdent}.remove.${t}`;return e.artifacts.actions[r]={persist:e.rootKey,removeSegment:n},`{{ fg (${`readableOn (color "error") (bgOf) ${Nf}`}) (action "${r}" "✖") }}`}function iA(e){return`{{ if ${Zn(rD)} }}${e}{{ end }}`}function aA(e,t){return e.reduce((e,t)=>`{{ if and ${Zn(rD)} ${Zn(t)} }}true{{ else }}${e}{{ end }}`,t)}function oA(e){return e.flatMap(e=>[...dh(e)].flatMap(e=>e.kind===`segment`&&e.opens?.ref.key===`edit.configure`?[e.opens.ref]:[]))}function sA(e,t,n){return`${tD}${e}.${t}.${n}`}function cA(e,t,n,r){let i=sh(n),a=`${tT}${e.presetIdent}`,o=nD(e.presetIdent,i);e.configured.push(o);let s=`${a}.configure.${t}`,c=cT(s),l=`${s}.fold`;e.artifacts.actions[l]={set:c,to:L},e.artifacts.actions[s]={do:[`${s}.open`,l]},e.artifacts.actions[`${s}.open`]={set:XE,to:o};let u={},d=Object.entries(r).map(([r,o])=>{let s=sA(e.presetIdent,i,r),l=`${tD}p${e.presetIdent}.d${t}.${r}`;e.artifacts.variables[l]={kind:`state`,key:s,default:Oh(n.settings?.[r]??o.default)},u[r]={id:i,key:s,variable:l};let d=`${a}.setting.${t}.${r}`,f=bT(vT(o),s,l,d,c);if(Object.assign(e.artifacts.actions,f.actions),Object.assign(e.artifacts.variables,f.variables),f.kind===`inline`)return e.artifacts.segments[d]={template:f.template},{kind:`segment`,name:d};e.artifacts.segments[d]={template:f.template};let p=f.list.rows.map((t,n)=>{let r=`${d}.list.${n}`;return e.artifacts.segments[r]={template:t},{kind:`segment`,name:r}});return Yn(d,f.list.ref,{kind:`container`,direction:`vertical`,children:p},`drop`)});return{term:`{{ action "${s}" "${vD}" }}`,ref:{variable:XE,key:XE,member:o},body:{kind:`container`,direction:`vertical`,children:d},drafts:u}}const lA=`${tT}label:`;function uA(e){if(e.startsWith(lA)){let t=e.slice(lA.length);return t.slice(t.indexOf(`:`)+1)}return e.startsWith(`edit.`)?void 0:e}function dA(e,t,n,r){let{artifacts:i}=n,a=sh(e),o=`${lA}${a}:${e.name}`;i.segments[o]={template:`{{ "${Jn(a)}" }}`,...t.palette!==void 0&&{palette:t.palette}};let s=Object.fromEntries(Ch.flatMap(t=>{let n=e.settings?.[t];return n===void 0?[]:[[t,n]]}));return{...Yn(o,r.ref,r.body,`drop`,aA([r.ref],`{{ ${Jk(n.presetIdent)} }}`)),...Object.keys(s).length>0&&{settings:s},drafts:Object.fromEntries(Ch.map(e=>[e,r.drafts[e]]))}}function fA(e,t,n,r){let{presetIdent:i,artifacts:a}=e,o=`${tT}${i}.insert.${t}`,s=`${tT}${i}.insertSeg.${t}`;a.actions[o]={persist:e.rootKey,insertSegmentFrom:eA,anchor:n,relation:r};let c=oT(o),l=sT(s,o,void 0),u=uT(l),d=lT(l,c);return a.variables[l]=tr(l,L),a.variables[u]={kind:`state`,key:u,default:`0`},a.actions[d]=nr(l,c),a.actions[u]={set:u,int:!0},{host:s,template:`{{ $m := menu "${o}" "✚" "✕" }}{{ if ${Zn({variable:l,key:l,member:c})} }}{{ $m }}{{ else }}{{ fg (${`readableOn (color "success") (bgOf) ${Nf}`}) $m }}{{ end }}`}}function pA(e,t){let n=[],r=e.children.findIndex(e=>e.kind===`segment`&&!Qk(e.name)),i=e=>pA(e,t);for(let[a,o]of e.children.entries()){if(o.kind===`container`){n.push(i(o));continue}let s=uh(o,i);if(Qk(o.name)){n.push(s);continue}let c=sh(o),l=a===r?[fA(t,String(t.posCounter.n++),c,`before`)]:[],u=String(t.posCounter.n++),d=fA(t,u,c,`after`),f=rA(t,u,c),p=t.segments[o.name],m=cA(t,u,o,wh(p)),h=iA(f),g=iA(m.term),_={kind:`container`,direction:`horizontal`,children:[...l.map(e=>nA(e.host,e.template,t.artifacts)),{...dA(o,p,t,m),lead:h,trail:g},{...s,when:Xk(t.presetIdent,`false`,o.when??`true`),lead:h,trail:g,drafts:m.drafts},nA(d.host,d.template,t.artifacts)]};n.push(e.direction===`vertical`?{kind:`container`,direction:`horizontal`,children:[_]}:_)}return{...e,children:n,...e.when!==void 0&&{when:aA(oA(n),Xk(t.presetIdent,`true`,e.when))}}}function mA(e,t,n,r,i,a,o){let s=`${tT}${t}.resetLayout`,c=`${tT}${t}.customized`;return r.actions[s]={reset:n},r.segments[c]={template:`{{ action "${s}" "↺ reset layout" }}`,when:Zk},{kind:`container`,direction:`vertical`,children:[{kind:`container`,direction:`horizontal`,children:[...i,{kind:`segment`,name:c},a]},hA(e,o)]}}function hA(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),hA(n,t)]}:{...e,children:[...e.children,t]}}function gA(e,t,n,r,i,a){let{node:o}=Xh(e,t),s={presetIdent:qw(t),rootKey:zE(t),segments:e.segments,artifacts:n,posCounter:{n:0},configured:[]},c=pA(o,s);return n.variables[qk(s.presetIdent)]=Yk(s.configured),mA(c,s.presetIdent,s.rootKey,n,r,i,a)}function _A(e){let t={variables:{},actions:{},segments:{}},n=uD(`${tT}help`,bD,[rD],t);t.variables[Rk]=tr(Rk,L),t.actions[Rk]=nr(Rk,Kk.member),t.segments[Rk]={template:Qn(Rk,...zk),when:iD};let r={kind:`segment`,name:Rk},i=n;t.variables[Uk]={kind:`input`,path:`history.sinceEdit`,type:`number`,default:0},t.actions[Bk]={do:[bO,...$E]},t.segments[Bk]={template:`{{ if ${Gk} }}{{ action "${Bk}" "✓ save" }}{{ else }}{{ action "${Bk}" "✓ done" }}{{ end }}`,when:iD},t.actions[Hk]={rewind:!0},t.actions[Vk]={do:[Hk,...$E]},t.segments[Vk]={template:`{{ action "${Vk}" "↩ cancel" }}`,when:`{{ and ${Zn(rD)} ${Wk} }}`};let a=[{kind:`segment`,name:Bk},{kind:`segment`,name:Vk}],o={...e.presets},s=[];for(let n of qh(e.presets)){let c=gA(e,n,t,a,r,i);s.push(c),o[n]={...Yh(e.presets,n),root:c}}let c=Kw(t,s,e);return{...e,variables:{...c,...e.variables,...t.variables},actions:{...e.actions,...t.actions},segments:{...e.segments,...t.segments},presets:o}}function vA(e){return e.op===`remove`?`remove:${e.target}`:`insert:${e.segment}:${e.anchor}:${e.relation}`}function yA(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 bA(e,t,n){let r=lh(e,new Set(n.map(ch).filter(e=>e.includes(t)).flat()));return r===e?{seg:e}:{seg:e,id:r}}const xA=/^-?\d+$/;function SA(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 CA(e){return t=>{if(!t)return{ok:!1,reason:`${e} value is required`};if(!xA.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 wA(e,t,n){return r=>r?xA.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 TA(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=>!xA.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 EA(e){return e===`config`?`set-config`:`set-state`}function DA(e,t,n){return t.kind===`int`?CA(`menu page "${e}"`):t.kind===`range`?wA(t.min,t.max,`${n} stepper "${e}"`):SA(t.allowed,`${n} "${e}"`,EA(n))}function OA(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:TA(e,n,t)}))}function kA(e,t,n,r){let i=new Map(Object.entries(e)),a=new Map,o=new Set(t.map(e=>e.key));for(let{key:e,spec:t}of n)if(o.has(e)&&t.kind!==`allow-list`)throw Error(`${r} gate: key "${e}" is written by the daemon's own links as one of a list of values, and cannot be declared as ${t.kind===`int`?`a paged cursor (int)`:`a bounded value (range)`}. Use a distinct key.`);let s=[...t.map(({key:e,allowed:t})=>({key:e,spec:{kind:`allow-list`,allowed:t}})),...n];for(let{key:t,spec:n}of OA(s,r)){if(!t)throw Error(`${r} gate: key is required`);if(t.includes(`/`))throw Error(`${r} gate: key "${t}" contains "/" — the wire shape splits on "/" so a slash-bearing key cannot be addressed. Use a slash-free key.`);if(Object.hasOwn(e,t))throw Error(`${r} gate: key "${t}" is a built-in ${r} key and cannot be re-claimed (built-in keys: ${Object.keys(e).join(`, `)})`);i.set(t,DA(t,n,r)),n.kind===`range`&&a.set(t,{min:n.min,max:n.max})}return{validate(e,t){let n=i.get(e);return n?n(t):{ok:!1,reason:`unknown ${r} key "${e}" (have: ${[...i.keys()].join(`, `)})`}},listKeys:()=>[...i.keys()],rangeParamsFor:e=>a.get(e)??null}}function AA(e,t,n){let r=[],i=0,a=new WeakMap;return{register(n,a){let o={key:n,allowed:a};kA(e,[o],[],t),r.push(o),i++;let s=!0;return()=>{s&&(s=!1,r.splice(r.indexOf(o),1),i++)}},gateFor(o){let s=a.get(o);if(s?.epoch===i)return s.gate;let c=kA(e,r,n(o),t);return a.set(o,{epoch:i,gate:c}),c}}}const jA=AA({},`config`,RA);function MA(e,t){return jA.register(e,t)}function NA(e){return jA.gateFor(e)}function PA(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:rg(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:[vA({op:`remove`,target:e.removeSegment})]}}]:`insertSegment`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:[vA({op:`insert`,segment:e.insertSegment,anchor:e.anchor,relation:e.relation})]}}]:`insertSegmentFrom`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:rg(e.insertSegmentFrom,t).members.map(t=>vA({op:`insert`,segment:t,anchor:e.anchor,relation:e.relation}))}}]:[{key:e.persist,spec:{kind:`range`,min:e.min,max:e.max}}]:[]}function FA(e,t){let n=PE(e).get(t);return n===void 0?null:String(n)}function IA(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?UE(n.persist):null;e?.scope===`preset-root`&&t.add(zE(e.preset))}return[...t].map(e=>({key:e,spec:{kind:`allow-list`,allowed:[]}}))}function LA(e){let t=$k(e);return[...IA(e),...Object.values(e.actions).flatMap(e=>PA(e,t))]}function RA(e){return OA(LA(e),`config`)}function zA(e,t){return{globals:{...t.globals,...e.globals??{}},variables:{...t.variables,...e.variables??{}},segments:HA(t.segments,BA(t.segments,e.segments??{})),root:Uh(e.root??Ih,t.root),actions:{...t.actions,...e.actions??{}},styles:{...t.styles,...e.styles??{}},presets:HA(t.presets,VA(t.presets,e.presets??{})),themeDefaults:HA(t.themeDefaults,e.themeDefaults??{}),editGlobals:{...t.editGlobals,...e.editGlobals??{}},helpers:{...t.helpers,...e.helpers??{}}}}function BA(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 VA(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 HA(e,t){return{...e,...Object.fromEntries(Object.entries(t).map(([t,n])=>[t,{...e[t],...n}]))}}function UA(e,t,n,r){return n.cache===void 0?(e.issues.push({path:`${t}.cache`,message:`${r} variables must declare a cache policy (one of: ${vh.join(`, `)})`,line:X(e.source,t.split(`.`))}),null):JA(e,`${t}.cache`,n.cache)}function WA(e,t,n){if(n.cache!==void 0)return JA(e,`${t}.cache`,n.cache)??void 0}function GA(e){return{required:!0,json:YA(),parse:(t,n,r,i)=>UA(t,n,i,e)??void 0}}function KA(){return{required:!1,json:YA(),parse:(e,t,n,r)=>WA(e,t,r)}}const qA={noun:`cache`,arms:{ttl:{json:{type:`string`},parse:(e,t,n)=>typeof n==`string`&&ZA(n)?{ttl:n}:PT(e,t,`cache.ttl must be a duration string like "5s", "100ms", "2m", "1h"; got ${Q(n)}`)},watch_file:{json:{type:`string`,pattern:`^/`},parse:(e,t,n)=>{if(typeof n!=`string`)return PT(e,t,`cache.watch_file must be a path string, got ${Q(n)}`);let r=KT(`cache.watch_file`,n);return r===null?{watch_file:n}:PT(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}:PT(e,t,`cache.depends_on must be an array of variable-name strings, got ${Q(n)}`)},key:{json:{type:`string`},parse:(e,t,n)=>typeof n==`string`&&n!==``?{key:n}:PT(e,t,`cache.key must be a non-empty template string, got ${Q(n)}`)},never:{json:{const:!0},parse:(e,t,n)=>n===!0?{never:!0}:PT(e,t,`cache.never must be the literal boolean true, got ${Q(n)}`)}}};function JA(e,t,n){return FT(e,qA,t,n)}function YA(){return $T(qA)}const XA=/^(\d+(?:\.\d+)?)(ms|s|m|h)$/;function ZA(e){return XA.test(e)}function QA(e,t,n){if(n===void 0)return{};if(!DT(n))return e.issues.push({path:t,message:`${t} must be an object, got ${OT(n)}`,line:X(e.source,t.split(`.`))}),{};let r={};for(let[i,a]of Object.entries(n)){let n=IT(e,Sj,`${t}.${i}`,a);n!==null&&(r[i]=n)}return r}function $A(){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 ${OT(i)}`,line:X(e.source,t.split(`.`))});return}return i}}}function ej(){return{required:!0,json:{enum:[...bh]},parse:(e,t,n,r)=>{let i=r.field;if(typeof i!=`string`||!bh.includes(i)){e.issues.push({path:`${t}.field`,message:`git field must be one of: ${bh.join(`, `)}, got ${JSON.stringify(i)}`,line:X(e.source,[...t.split(`.`),`field`])});return}return i}}}function tj(){return{required:!1,json:{type:[`string`,`number`,`boolean`]},parse:(e,t,n,r)=>{let i=r.type;return CT(e,t,r,i===`number`||i===`boolean`||i===`string`?i:`string`)}}}const nj={noun:`parse`,arms:{text:{json:{const:!0},parse:(e,t,n)=>n===!0?{text:!0}:PT(e,t,`parse.text must be the literal boolean true, got ${Q(n)}`)},regex:{json:{type:`string`},parse:(e,t,n)=>typeof n==`string`?rj(e,t,n):PT(e,t,`parse.regex must be a pattern string, got ${Q(n)}`)},json:{json:{const:!0},parse:(e,t,n)=>n===!0?{json:!0}:PT(e,t,`parse.json must be the literal boolean true, got ${Q(n)}`)}}};function rj(e,t,n){let r;try{new RegExp(n),r=RegExp(`${n}|`).exec(``).length-1}catch(n){return PT(e,t,`parse.regex is not a valid regular expression: ${n.message}`)}return r>=1?{regex:n}:PT(e,t,`parse.regex must contain a capture group — its group 1 is the value; got ${JSON.stringify(n)}`)}function ij(){return{required:!1,json:$T(nj),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:X(e.source,[...t.split(`.`),`regex`])}),r.parse===void 0?void 0:FT(e,nj,`${t}.parse`,r.parse)??void 0)}}function aj(){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)=>DT(r.parse)&&`json`in r.parse?oj(e,t,r.default):wT(e,t,r,`default`)}}function oj(e,t,n){if(n!==void 0)return sj(n)?n:PT(e,`${t}.default`,`${t}.default must be a JSON value (a json-parsed source's document), got ${Q(n)}`)??void 0}function sj(e){return e!==null&&cj(e)}function cj(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(cj);let t=Object.getPrototypeOf(e);return(t===Object.prototype||t===null)&&Object.values(e).every(cj)}default:return!1}}const lj={value:$A(),default:BT()},uj={path:GT(),type:JT([`string`,`number`,`boolean`]),default:tj()},dj={name:GT(),default:BT()},fj={path:qT(),readMode:JT([`whole`,`first-line`]),parse:ij(),cache:GA(`file`),default:aj()},pj={command:GT(),parse:ij(),cache:GA(`shell`),default:aj()},mj={template:GT(),cache:KA(),default:BT()},hj={layout:GT(),default:BT()},gj={cache:`a time variable reads the instant its render is drawn at, so it takes no cache policy — delete the key`},_j={field:ej(),default:BT()},vj={cache:`a git variable is refreshed by the daemon's own watch on the repository, so it takes no cache policy — delete the key`},yj={key:GT(),default:BT()},bj=`kind`;function xj(e,t,n={}){return{...LT(bj,e,t),parse:(r,i,a)=>{AT(r,n,i,a);let o=jT(r,t,i,a);return o===null?null:{kind:e,...o}}}}const Sj={tag:bj,noun:`source kind`,memberNoun:`variable`,arms:{literal:xj(`literal`,lj),input:xj(`input`,uj),env:xj(`env`,dj),file:xj(`file`,fj),shell:xj(`shell`,pj),template:xj(`template`,mj),time:xj(`time`,hj,gj),git:xj(`git`,_j,vj),state:xj(`state`,yj)}};function Cj(){return QT(Sj)}function wj(){return{type:`object`,additionalProperties:Cj()}}const Tj=new Map([[`gitTaculous`,{kind:`built-in`,to:`gitaculous`}],[`git`,{kind:`built-in`,to:`gitaculous`}],[`settings.menu`,{kind:`built-in`,to:`candybar.menu`}],[`ticket`,{kind:`plugin`,to:`plugins.lit.ticket`,folder:`examples/plugins/lit`}]]);function Ej(e){let t=Tj.get(e);if(t===void 0)return``;switch(t.kind){case`built-in`:return` (the built-in segment "${e}" was renamed to "${t.to}" — update this reference)`;case`plugin`:return` (the built-in segment "${e}" became "${t.to}", a segment of the plugin in cc-candybar's ${t.folder} — install that folder in a plugin root (docs/segment-authoring.md, "Installing a plugin instead of listing it"), then update this reference)`}}const Dj=/^[A-Za-z_][A-Za-z0-9_]*$/,Oj={pattern:Dj.source},kj={anyOf:[{type:`boolean`},{type:`string`},{type:`integer`}]},Aj={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`,...Oj}}}]},default:kj}},jj=[`label`,`domain`,`default`],Mj=[`min`,`max`,`step`,`atLeast`];function Nj(e,t,n){e.issues.push({path:t,message:n,line:X(e.source,t.split(`.`))})}function Pj(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 Nj(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 Nj(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?Nj(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(DT(n)){let{min:r,max:i,step:a=1,atLeast:o}=n;return Object.keys(n).filter(e=>!Mj.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}}:Nj(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 Nj(e,t,`domain must be "bool", a list of words, or { min, max }, got ${Q(n)}`)}function Fj(e,t,n){if(!DT(n))return Nj(e,t,`${t} must be { label, domain, default }, got ${OT(n)}`);for(let r of Object.keys(n))jj.includes(r)||Nj(e,`${t}.${r}`,`Unknown setting key "${r}". Expected one of: ${jj.join(`, `)}`);let{label:r}=n,i=typeof r==`string`&&r.length>0&&!/[\n\r]/.test(r);i||Nj(e,`${t}.label`,`a setting needs a one-line, non-empty "label" — the name its control shows, spliced into a synthesized template string — got ${Q(r)}`);let a=Pj(e,`${t}.domain`,n.domain);if(!i||a===void 0)return;let o={label:r,domain:a,default:n.default};return!Ij(n.default)||!Dh(o,n.default)?Nj(e,`${t}.default`,`default must be ${jh(o)}, got ${Q(n.default)}`):o}function Ij(e){return typeof e==`boolean`||typeof e==`string`||typeof e==`number`}const Lj={theme:`its default for this segment is segments.<name>.palette, and a placement sets its own with settings: { ${xh}: "<theme>" }`,effect:`a placement follows the bar's effect, or sets its own with settings: { effect: "<effect>" }`};function Rj(e){return Ch.includes(e)}function zj(){return{required:!1,json:{type:`object`,propertyNames:{...Oj,not:{enum:[...Ch]}},additionalProperties:Aj},parse:(e,t,n,r)=>{let i=r[n];if(i===void 0)return;let a=`${t}.${n}`;if(!DT(i))return Nj(e,a,`${a} must be an object of name → { label, domain, default }, got ${OT(i)}`);let o=Object.create(null);for(let[t,n]of Object.entries(i)){if(!Dj.test(t)){Nj(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(Rj(t)){Nj(e,`${a}.${t}`,`setting "${t}" is one every placement already has — ${Lj[t]}`);continue}let r=Fj(e,`${a}.${t}`,n);r!==void 0&&(o[t]=r)}return o}}}const Bj=nT.map(e=>e.replace(/\./g,`\\.`)).join(`|`);function Vj(){return{required:!1,json:{type:`string`,minLength:1,pattern:`^(?!${Bj})[^:/]+$`},parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0)return typeof i==`string`&&i.length>0&&!/[:/]/.test(i)&&!rT(i)?i:Nj(e,`${t}.${n}`,`a placement "id" must be a non-empty string without "/" or ":", outside the reserved ${nT.map(e=>`"${e}"`).join(`, `)} namespaces, got ${Q(i)}`)}}}function Hj(){return{required:!1,json:{type:`object`,propertyNames:Oj,additionalProperties:kj},parse:(e,t,n,r)=>{let i=r[n];if(i===void 0)return;let a=`${t}.${n}`;if(!DT(i))return Nj(e,a,`a placement's "settings" must be an object of setting name → value, got ${OT(i)}`);let o=Object.create(null);for(let[t,n]of Object.entries(i))Ij(n)?o[t]=n:Nj(e,`${a}.${t}`,`setting "${t}" must be a boolean, a word, or a number, got ${OT(n)}`);return o}}}function Uj(e){return new Set(Object.keys(e.segments).filter(e=>!rT(e)))}function Wj(e,t,n){if(t===void 0)return{};if(!DT(t))return e.issues.push({path:`segments`,message:`segments must be an object, got ${OT(t)}`,line:X(e.source,[`segments`])}),{};let r={};for(let[i,a]of Object.entries(t)){let t=kT(e,n.has(i)?Xj:Yj,`segments.${i}`,a);t!==null&&(r[i]=t)}return r}function Gj(){return{required:!0,json:{type:`string`},parse:(e,t,n,r)=>r[n]===void 0?PT(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${Ej(t.slice(9))}`)??void 0:ST(e,t,r,n)??void 0}}function Kj(){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 ${Q(i)}`,line:X(e.source,[...t.split(`.`),n])})}}}}function qj(){return{required:!1,json:wj(),parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0)return QA(e,`${t}.${n}`,i)}}}const Jj={template:Gj(),description:BT(),group:JT(GE),width:Kj(),justify:JT(Mh),truncate:JT(Nh),bg:BT(),fg:BT(),when:BT(),palette:WT(),vars:qj(),settings:zj()},Yj={noun:`segment key`,fields:Jj},Xj={noun:`segment key`,fields:{...Jj,template:BT()}},Zj=`#/definitions/LayoutNode`,Qj={kind:`container`,direction:`vertical`,children:[]};function $j(e){return{required:!0,json:{const:e},parse:()=>e}}function eM(){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 ${Q(i)}`,line:X(e.source,[`root`])}),``)}}}function tM(){return{required:!0,json:{enum:[...ah]},parse:(e,t,n,r)=>{let i=r[n];return typeof i==`string`&&ah.includes(i)?i:(e.issues.push({path:`${t}.${n}`,message:`a container "direction" must be one of: ${ah.join(`, `)} (got ${JSON.stringify(i)})`,line:X(e.source,[`root`])}),`vertical`)}}}function nM(e){return{required:!0,json:{type:`array`,items:{$ref:Zj}},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 ${OT(a)}`,line:X(t.source,[`root`])}),[])}}}const rM={noun:`layout-node key`,fields:{kind:$j(`segment`),name:eM(),when:BT(),id:Vj(),settings:Hj()}},iM=()=>JT(lf),aM={noun:`layout-node key`,fields:{kind:$j(`container`),direction:tM(),children:nM(RT(()=>uM)),when:BT(),distribution:iM()}};function oM(){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 ${Q(i)}`,line:X(e.source,[`root`])}),``)}}}const sM={noun:`layout-node key`,fields:{seg:oM(),when:BT(),id:Vj(),settings:Hj()}},cM={noun:`layout-node key`,fields:{h:nM(RT(()=>uM)),when:BT(),distribution:iM()}},lM={noun:`layout-node key`,fields:{v:nM(RT(()=>uM)),when:BT(),distribution:iM()}},uM=(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:X(e.source,[`root`])}),Qj):{kind:`segment`,name:n};if(!DT(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 ${OT(n)}`,line:X(e.source,[`root`])}),Qj;if(n.kind===`container`)return kT(e,aM,t,n)??Qj;if(n.kind===`segment`)return kT(e,rM,t,n)??Qj;if(n.kind===`cells`)return e.issues.push({path:t,message:`kind: "cells" is no longer supported — use the h-arm spelling instead:
|
|
145
|
+
`).map(e=>e.trim()).filter(e=>e!==``),...e.warnings];return{ok:!1,reason:t,more:n}}case`loaded`:return TD([...e.warnings,...e.unused.map(({kind:e,name:t})=>`${e} "${t}" ${OD[e]}`)])}}},AD="re-run `cc-candybar install`";function jD(e){if(e.kind===`failed`)return[`Launch Services could not be asked which app opens cc-candybar:// — ${e.reason}`];if(e.value===null)return[`no app is registered for cc-candybar:// — ${AD}`];let{app:t,missing:n}=e.value;return n.kind===`failed`?[`${t} opens cc-candybar://, but ${n.reason} — ${AD}`]:n.value.map(e=>`${e} is missing, and ${t} runs it — ${AD}`)}const MD=[kD,{name:`urlHandler`,label:`URL handler`,probe:({urlHandler:e})=>{switch(e.kind){case`unsupported`:return{ok:!0};case`unprobed`:return{ok:!1,reason:e.reason};case`arrived`:return e.handler===e.bar?{ok:!0}:{ok:!1,reason:e.handler===null?`the URL handler does not report its version, so it is older than the bar (${e.bar}) — ${AD}`:`the URL handler runs cc-candybar ${e.handler}; the bar runs ${e.bar} — ${AD}`};case`lost`:return TD([...jD(e.opener),e.unopened===null?`a cc-candybar:// link was opened and did not arrive at the daemon`:`a cc-candybar:// link could not be opened — ${e.unopened}`])}}},DD,{name:`effectRefresh`,label:`effect refresh`,probe:({effect:e,placementEffects:t,transitions:n,claudeSettings:r})=>{let i=[...e.kind===`decided`?e.value===`none`?[]:[`the bar wears the ${e.name} effect`]:[`a globals.effect rule can give the bar an effect`],...t.map(({placement:e,effect:t})=>`${e} wears the ${t} effect`),...n?[`placements fade in and dissolve out as they come and go`]:[]];if(i.length===0)return{ok:!0};let a=i.join(` and `),{path:o,statusLine:s}=r;switch(s.kind){case`absent`:return{ok:!1,reason:`${a}, and ${o} sets no statusLine — set "refreshInterval": 1 beside the statusLine command that runs the bar`};case`not-an-object`:return{ok:!1,reason:`${a}, and ${o} sets statusLine to ${JSON.stringify(s.value)}, not a statusLine object — re-run \`cc-candybar install\` to write one`};case`present`:break}let c=s.refreshInterval;return c===1?{ok:!0}:{ok:!1,reason:c===void 0?`${a}, but Claude Code redraws it only on events`:typeof c==`number`&&c>1?`${a}, but Claude Code redraws it only every ${c} s`:`${a}, but statusLine.refreshInterval is ${JSON.stringify(c)}, not a number of seconds Claude Code accepts (its minimum is 1)`,fix:{kind:`claude-settings`,path:[`statusLine`,`refreshInterval`],value:1}}}}];function ND(e){return MD.map(t=>({check:t,verdict:t.probe(e)}))}function PD(e){return MD.find(t=>t.name===e)}const FD=`${X}doctor.`;function ID(e){let t=`${FD}${e}.`;return{verdict:`${t}verdict`,reason:`${t}reason`,fixable:`${t}fixable`}}function LD(e,t=[]){return t.length===0?e:`${e} (+${t.length} more — run \`cc-candybar doctor\`)`}function RD(e){return e.flatMap(({check:e,verdict:t})=>{let n=ID(e.name);return t.ok?[{key:n.verdict,value:`ok`},{key:n.reason,value:``},{key:n.fixable,value:Yp}]:[{key:n.verdict,value:`failed`},{key:n.reason,value:LD(t.reason,t.more)},{key:n.fixable,value:t.fix===void 0?Yp:Jp}]})}const zD={copySession:{copy:`{{ .session.id }}`},copyResume:{copy:`{{ .resume_command }}`},openProject:{open:`{{ .project_dir }}`},openTranscript:{open:`{{ .transcript_path }}`},openConfig:{open:`{{ .config_path }}`}};function BD(e){let t=t=>`${e}${t}`;return{template:`{{ action "${t(`copySession`)}" "⎘ id" }}{{ if ne .resume_command "" }} {{ action "${t(`copyResume`)}" "⎘ resume" }}{{ end }} {{ action "${t(`openProject`)}" "↗ proj" }} {{ action "${t(`openTranscript`)}" "↗ log" }}{{ if ne .git.repoUrl "" }} {{ link .git.repoUrl "↗ repo" }}{{ end }}{{ if ne .config_path "" }} {{ action "${t(`openConfig`)}" "↗ config" }}{{ end }}`,actions:Object.fromEntries(Object.entries(zD).map(([t,n])=>[`${e}${t}`,n]))}}const VD=`armed`,HD=`disarmed`,UD=`.armed`,WD=e=>e.endsWith(UD);function GD(e,t,n){let r=`${e}${UD}`,i=`${e}.arm`,a=`${e}.disarm`,o=`(eq .${e} "${VD}")`;return{template:`{{ if ${o} }}{{ action "${e}" "${t.confirm}" }} {{ action "${a}" "✕" }}{{ else }}{{ action "${i}" "${t.arm}" }}{{ end }}`,actions:{[i]:{set:r,to:VD},[a]:{set:r,to:HD},[e]:{do:[a,...n]}},armed:o,variables:{[e]:{kind:`state`,key:r,default:HD}},disarm:a}}const KD=RegExp(`^/[^\\s\\x00-\\x1f\\x7f-\\x9f/][^\\x00-\\x1f\\x7f-\\x9f]*$`);function qD(e){return typeof e==`string`&&KD.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 JD(e){let t=qD(e);if(t.kind===`refused`)throw Error(t.reason);return t.line}const YD=[`/compact`,`/model`],XD=`/clear`;function ZD(e){let t=t=>`${e}${t.slice(1)}`,n=`${e}clear.slash`,r=GD(`${e}clear`,{arm:XD,confirm:`${XD} ✓ confirm`},[n]);return{template:YD.map(e=>`{{ action "${t(e)}" "${e}" }} `).join(``)+r.template,when:`{{ ${Gw} }}`,actions:{...Object.fromEntries(YD.map(e=>[t(e),{slash:JD(e)}])),...r.actions,[n]:{slash:JD(XD)}},variables:r.variables,disarm:r.disarm}}const QD=Array.from({length:10},(e,t)=>(t+1)*1e5),$D=QD[0],eO=QD[QD.length-1];function tO(e){let t;try{t=ci(e)}catch(e){return R(e instanceof Error?e.message:String(e))}let n=t.autoCompactWindow;return n===void 0?I(`auto`):typeof n==`number`&&Number.isInteger(n)&&n>=$D&&n<=eO?I(n):R(`${e}: autoCompactWindow is ${JSON.stringify(n)}, not a window /autocompact accepts (${$D}–${eO} tokens)`)}function nO(e,t){let n=Math.min(t??eO,eO),r=e===`auto`?n:Math.min(e,n);return{window:e===`auto`?0:e,applied:e===`auto`?0:r,lower:QD.filter(e=>e<r).at(-1)??0,higher:QD.find(e=>e>r&&e<=n)??0}}function rO(e,t){return{template:`{{ if ne .autocompact.error "" }}⇲ ⚠ {{ .autocompact.error }}{{ else }}⇲ {{ if eq .autocompact.window 0 }}auto{{ else }}${t(`.autocompact.applied`)}{{ end }}{{ if ${Gw} }}{{ if gt .autocompact.lower 0 }} {{ action (printf "${e}%d" .autocompact.lower) "−" }}{{ end }}{{ if gt .autocompact.higher 0 }} {{ action (printf "${e}%d" .autocompact.higher) "+" }}{{ end }}{{ if gt .autocompact.window 0 }} {{ action "${e}auto" "↺" }}{{ end }}{{ end }}{{ end }}`,bg:`{{ if ne .autocompact.error "" }}{{ color "error" }}{{ else }}{{ tint }}{{ end }}`,when:`{{ or (ge .autocompact.window 0) (ne .autocompact.error "") }}`,actions:{[`${e}auto`]:{slash:JD(`/autocompact auto`)},...Object.fromEntries(QD.map(t=>[`${e}${t}`,{slash:JD(`/autocompact ${t}`)}]))}}}const iO=e=>`{{ if ge ${e} 1000000 }}{{ printf "%.1f" (divf ${e} 1000000) }}M{{ else if ge ${e} 1000 }}{{ printf "%.1f" (divf ${e} 1000) }}K{{ else }}{{ ${e} }}{{ end }}`,aO=`${X}menu`,oO=`open`,sO=`${X}edit`,cO=`${X}toolbar`,lO=BD(X),uO=`${X}commands`,dO=ZD(`${uO}.`),fO=`${X}autocompact`,pO=rO(`${fO}.`,iO),mO=e=>({kind:`segment`,name:e}),hO=`${X}tab`,gO=[{member:`session`,label:`⚡ session`},{member:`look`,label:`🎨 look`},{member:`layout`,label:`📐 layout`},{member:`config`,label:`⚙ config`},{member:`tools`,label:`🧰 tools`}],_O=e=>`${hO}.${e}`,vO=e=>`${_O(e)}.toggle`,yO=e=>({variable:hO,key:hO,member:e}),bO=`${X}save`,xO=`${X}preset.save`,SO=`${X}preset.delete`,CO=e=>`${X}${e}`,wO=e=>`${X}apply.${e}`,TO=e=>`${X}reset.${e}`,EO=`${X}themeDefault.save`,DO=`${X}themeDefault.differs`,OO=`${X}themeDefault.theme`,kO={when:`{{ .${DO} }}`,template:`{{ action "${EO}" (printf "⤓ default for %s" .${OO}) }} {{ swatch "${wO(`theme`)}" .${OO} }}`},AO=`${X}resetAll`,jO=`${aO}.toggle`,MO={variable:aO,key:aO,member:oO},NO=`${X}undo`,PO=`${X}back`,FO=`${PO}.step`,IO=`${X}navigation.back`,LO=PO,RO={template:`{{ if gt .${IO} 0 }}{{ action "${PO}" "◁" }}{{ else }}{{ fg (${SD}) "◁" }}{{ end }}`},zO=`${X}redo`,BO=`${X}doctor`,VO=`${BO}.run`,HO=e=>`${BO}.fix.${e}`,UO=e=>`${BO}.${e}`,WO=lT(`${X}pickers`),GO=`${X}gear`,KO=`gear`,qO=`${GO}.toggle`,JO={variable:WO,key:WO,member:KO},YO=lT(`${X}gearPickers`),XO=[{template:`{{ themePreview }}`}],ZO={template:`{{ layoutPreview }}`},QO={preset:[ZO,{when:`{{ not .preset.bundled }}`,template:`{{ action "${SO}" (printf "🚮 delete %s" .${ha.preset.effectiveVar}) }}`}],style:XO,variation:[ZO],shade:[ZO]},$O=(e,t)=>`${X}list.${e}.${t}`,ek=e=>`${X}resettable.${e}`,tk=e=>e.length===0?`false`:`(or ${e.map(e=>`.${ek(e)}`).join(` `)})`,nk={preset:`door`,theme:`look`,style:`gear`,effect:`look`,variation:`gear`,shade:`gear`,endcaps:`look`,transitions:`look`,autoWrap:`layout`,padding:`layout`,updateNotice:`config`},rk=e=>e===`gear`?nk.theme:e,ik=Object.keys(ha).map(e=>{let t=ha[e],n=fE(t.configKey),r=xT({label:t.label,domain:n},t.sessionKey,t.effectiveVar,wO(e),nk[e]===`gear`?YO:WO);return{...t,name:e,control:r,beneath:QO[e]??[]}}),ak=e=>ik.filter(t=>nk[t.name]===e),ok=e=>ik.filter(t=>rk(nk[t.name])===e),sk={theme:[Qn(GO,JO,{kind:`container`,direction:`horizontal`,children:ak(`gear`).map(bk)},`drop`)]},ck=e=>ak(e).flatMap(e=>[bk(e),...sk[e.name]??[]]);new Set(ik.flatMap(e=>[e.sessionKey,e.configKey]));const lk=GD(AO,{arm:`⟲`,confirm:`⟲ reset all?`},ik.map(e=>TO(e.name))),uk=[`unsaved`,`history.undo`,`history.redo`],dk=e=>`${X}${e}`,fk=dk(`unsaved`),pk=(e,t)=>({body:t,shown:`(gt .${dk(e)} 0)`}),mk=[pk(`unsaved`,`{{ action "${bO}" (printf "💾 save %d" .${fk}) }}`),pk(`history.undo`,`{{ action "${NO}" "↶" }}`),pk(`history.redo`,`{{ action "${zO}" "↷" }}`),{body:lk.template,shown:`(or ${tk(ik.map(e=>e.name))} ${lk.armed})`}],hk={when:`{{ or ${mk.map(e=>e.shown).join(` `)} }}`,template:`{{ $sep := "" }}`+mk.map(e=>`{{ if ${e.shown} }}{{ $sep }}${e.body}{{ $sep = " " }}{{ end }}`).join(``)},gk=[{step:lk,place:`door`},{step:dO,place:`session`}],_k=e=>e.map(e=>e.step.disarm),vk=_k(gk),yk=_k(gk.filter(e=>e.place!==`door`));function bk(e){let t=CO(e.name);return e.control.kind===`inline`?mO(t):Qn(t,e.control.list.ref,{kind:`container`,direction:`vertical`,children:[...e.control.list.rows,...e.beneath].map((t,n)=>mO($O(e.name,n)))},`drop`)}function xk(e){return e===aO}function Sk(e){let t=mO(aO);if(e.kind===`container`&&e.direction===`vertical`){let[n,...r]=e.children;return e.when===void 0&&n!==void 0?{...e,children:[Sk(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 Ck(e){return wk(e)>0?e:Sk(e)}function wk(e){let t=0;for(let n of fh(e))n.kind===`segment`&&xk(n.name)&&(t+=1);return t}function Tk(e,t=!1){let n=t||e.when!==void 0;return e.kind===`segment`?n&&xk(e.name)||e.opens!==void 0&&Tk(e.opens.body,!0):e.children.some(e=>Tk(e,n))}const Ek={session:{direction:`vertical`,content:[mO(cO),{kind:`container`,direction:`horizontal`,children:[mO(uO),mO(fO)]}],after:[]},look:{direction:`horizontal`,content:[],after:[mO(EO)]},layout:{direction:`horizontal`,content:[mO(xO),mO(sO)],after:[]},config:{direction:`horizontal`,content:[],after:[]},tools:{direction:`vertical`,content:[mO(BO),...MD.map(e=>mO(UO(e.name)))],after:[]}},Dk=e=>({kind:`container`,direction:Ek[e].direction,children:[...Ek[e].content,...ck(e),...Ek[e].after]});function Ok(e){return e.kind===`segment`?xk(e.name)?Qn(e.name,MO,Ak,`above`):e:Mk(e)}function kk(){return{kind:`container`,direction:`vertical`,children:[{kind:`container`,direction:`horizontal`,children:[mO(LO),...ck(`door`),mO(bO)]},{kind:`container`,direction:`horizontal`,children:gO.map(({member:e})=>Qn(_O(e),yO(e),Dk(e),`drop`))}]}}const Ak=kk();function jk(e){let t=new Map;for(let e of fh(Ak))e.kind===`segment`&&e.opens!==void 0&&t.set(e.opens.ref.key,e.opens.ref.variable);return[...t].map(([t,n])=>{let r=e.variables[n];if(r?.kind!==`state`||r.default===void 0)throw Error(`settings menu: the door folds "${t}", but "${n}" is not a state variable the menu declares with a default`);let i=`${aO}.fold.${Jw(t)}`;return e.actions[i]={set:t,to:r.default},i})}function Mk(e){return{...e,children:e.children.map(e=>Ok(e))}}function Nk(e){let t={variables:{[aO]:ir(aO,qn)},actions:{[jO]:ar(aO,oO),[VO]:{doctor:`run`},[sO]:{do:[...$E]},...lO.actions,...dO.actions,...pO.actions,[bO]:{save:!0},[NO]:{undo:!0},[FO]:{back:!0},[PO]:{do:[FO,...vk]},[zO]:{redo:!0},[xO]:{preset:`save`},[EO]:{themeDefault:`save`},[SO]:{preset:`delete`,name:`{{ .${ha.preset.effectiveVar} }}`}},segments:{[aO]:{template:`{{ $door := ${nr(aO,rr(e),rr(`✖`))} }}{{ if ${er(MO)} }}{{ fg (keptOn (color "error") (bgOf)) $door }}{{ else }}{{ $door }}{{ end }}`},[cO]:{template:lO.template},[uO]:{template:dO.template,when:dO.when},[fO]:{template:pO.template,bg:pO.bg,when:pO.when},[LO]:RO,[bO]:hk,[EO]:kO,[xO]:{template:`{{ action "${xO}" "+ preset" }}`},[BO]:{template:`{{ action "${VO}" "🩺 doctor" }}`},[sO]:{template:`{{ action "${sO}" "✎ arrange" "✎ done" }}`}}};t.variables[DO]={kind:`input`,path:`themeDefault.differs`,type:`boolean`,default:!1},t.variables[OO]={kind:`input`,path:`themeDefault.theme`,type:`string`,default:``},t.variables[IO]={kind:`input`,path:`navigation.back`,type:`number`,default:0};for(let e of uk)t.variables[dk(e)]={kind:`input`,path:e,type:`number`,default:0};t.variables[hO]=ir(hO,`session`);for(let{member:e,label:n}of gO){t.actions[vO(e)]=ar(hO,e),t.actions[_O(e)]={do:[vO(e),...yk]};let r=tk(ok(e).map(e=>e.name)),i=`(ternary ${rr(` •`)} "" ${r})`,a=e=>`(print ${rr(e)} ${i})`;t.segments[_O(e)]={template:`{{ ${nr(_O(e),a(n),a(`▾ ${n}`))} }}`}}return Object.assign(t.variables,dO.variables,lk.variables),Fk(t),Pk(t),t.actions[aO]={do:[jO,...vk,...jk(t)]},t}function Pk(e){for(let t of MD){let n=ID(t.name),r=HO(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[UO(t.name)]={when:`{{ ne .${n.verdict} "" }}`,template:`{{ if eq .${n.verdict} "ok" }}✓ ${t.label}{{ else }}✗ ${t.label} — {{ .${n.reason} }}{{ if eq .${n.fixable} "${Jp}" }} {{ action "${r}" "[fix]" }}{{ end }}{{ end }}`}}}function Fk(e){for(let t of ik){Object.assign(e.actions,t.control.actions);let n=TO(t.name);e.actions[n]={reset:t.configKey},e.variables[ek(t.name)]={kind:`input`,path:`resettable.${t.name}`,type:`boolean`,default:!1};let r=`{{ if .${ek(t.name)} }} {{ action "${n}" "↺" }}{{ end }}`;Object.assign(e.variables,t.control.variables),e.segments[CO(t.name)]={template:`${t.control.template}${r}`},t.control.kind===`picker`&&[...t.control.list.rows.map(e=>({template:e})),...t.beneath].forEach((n,r)=>{e.segments[$O(t.name,r)]=n})}Object.assign(e.actions,lk.actions),e.actions[qO]=ar(WO,KO),e.segments[GO]={template:`{{ action "${qO}" "⚙" }}`}}function Ik(e){let{variables:t,actions:n}=cD();Object.assign(e.variables,t),Object.assign(e.actions,n)}function Lk(e){let t=Nk(e.globals.menuGlyph??`🍫`);Ik(t);let n={...e.presets},r=[];for(let t of Jh(e.presets)){let{node:i}=Zh(e,t),a=Ok(Ck(i));r.push(a),n[t]={...Xh(e.presets,t),root:a}}let i=qw(t,r,e);return{...e,variables:{...i,...e.variables,...t.variables},actions:{...e.actions,...t.actions},segments:{...e.segments,...t.segments},presets:n}}const Rk=`${nT}live`,zk=[`☐ live`,`☑ live`],Bk=`${nT}done`,Vk=`${nT}cancel`,Hk=`${nT}rewind`,Uk=`${nT}changes`,Wk=`(gt .${Uk} 0)`,Gk=`(or ${Wk} (gt .${fk} 0))`,Kk={variable:Rk,key:Rk,member:`open`};function qk(e){return`${nT}configuring.p${e}`}function Jk(e){return`and ${er(rD)} (not ${er(Kk)}) (ne .${qk(e)} "true")`}function Yk(e){return{kind:`template`,template:`{{ or ${e.map(e=>`(eq .${XE} "${Zn(e)}")`).join(` `)} false }}`}}function Xk(e,t,n){return`{{ if ${Jk(e)} }}${t}{{ else }}${n}{{ end }}`}const Zk=`{{ and ${er(rD)} .preset.customized }}`,Qk=iT;function $k(e){return new Map([...ng(e),...tA(e)])}const eA=`${nT}addable`;function tA(e){return new Map([[eA,{members:Object.keys(e.segments).filter(e=>!Qk(e)),library:{groups:KE.map(e=>({id:e,label:qE[e]})),entry:t=>{let n=e.segments[t];return{group:n.group??`other`,...n.description!==void 0&&{description:n.description}}}}}]])}function nA(e,t,n){return n.segments[e]={template:t,when:iD,bg:fD},{kind:`segment`,name:e}}function rA(e,t,n){let r=`${nT}${e.presetIdent}.remove.${t}`;return e.artifacts.actions[r]={persist:e.rootKey,removeSegment:n},`{{ fg (${`readableOn (color "error") (bgOf) ${Pf}`}) (action "${r}" "✖") }}`}function iA(e){return`{{ if ${er(rD)} }}${e}{{ end }}`}function aA(e,t){return e.reduce((e,t)=>`{{ if and ${er(rD)} ${er(t)} }}true{{ else }}${e}{{ end }}`,t)}function oA(e){return e.flatMap(e=>[...fh(e)].flatMap(e=>e.kind===`segment`&&e.opens?.ref.key===`edit.configure`?[e.opens.ref]:[]))}function sA(e,t,n){return`${tD}${e}.${t}.${n}`}function cA(e,t,n,r){let i=ch(n),a=`${nT}${e.presetIdent}`,o=nD(e.presetIdent,i);e.configured.push(o);let s=`${a}.configure.${t}`,c=lT(s),l=`${s}.fold`;e.artifacts.actions[l]={set:c,to:qn},e.artifacts.actions[s]={do:[`${s}.open`,l]},e.artifacts.actions[`${s}.open`]={set:XE,to:o};let u={},d=Object.entries(r).map(([r,o])=>{let s=sA(e.presetIdent,i,r),l=`${tD}p${e.presetIdent}.d${t}.${r}`;e.artifacts.variables[l]={kind:`state`,key:s,default:kh(n.settings?.[r]??o.default)},u[r]={id:i,key:s,variable:l};let d=`${a}.setting.${t}.${r}`,f=xT(yT(o),s,l,d,c);if(Object.assign(e.artifacts.actions,f.actions),Object.assign(e.artifacts.variables,f.variables),f.kind===`inline`)return e.artifacts.segments[d]={template:f.template},{kind:`segment`,name:d};e.artifacts.segments[d]={template:f.template};let p=f.list.rows.map((t,n)=>{let r=`${d}.list.${n}`;return e.artifacts.segments[r]={template:t},{kind:`segment`,name:r}});return Qn(d,f.list.ref,{kind:`container`,direction:`vertical`,children:p},`drop`)});return{term:`{{ action "${s}" "${vD}" }}`,ref:{variable:XE,key:XE,member:o},body:{kind:`container`,direction:`vertical`,children:d},drafts:u}}const lA=`${nT}label:`;function uA(e){if(e.startsWith(lA)){let t=e.slice(lA.length);return t.slice(t.indexOf(`:`)+1)}return e.startsWith(`edit.`)?void 0:e}function dA(e,t,n,r){let{artifacts:i}=n,a=ch(e),o=`${lA}${a}:${e.name}`;i.segments[o]={template:`{{ "${Zn(a)}" }}`,...t.palette!==void 0&&{palette:t.palette}};let s=Object.fromEntries(wh.flatMap(t=>{let n=e.settings?.[t];return n===void 0?[]:[[t,n]]}));return{...Qn(o,r.ref,r.body,`drop`,aA([r.ref],`{{ ${Jk(n.presetIdent)} }}`)),...Object.keys(s).length>0&&{settings:s},drafts:Object.fromEntries(wh.map(e=>[e,r.drafts[e]]))}}function fA(e,t,n,r){let{presetIdent:i,artifacts:a}=e,o=`${nT}${i}.insert.${t}`,s=`${nT}${i}.insertSeg.${t}`;a.actions[o]={persist:e.rootKey,insertSegmentFrom:eA,anchor:n,relation:r};let c=sT(o),l=cT(s,o,void 0),u=dT(l),d=uT(l,c);return a.variables[l]=ir(l,qn),a.variables[u]={kind:`state`,key:u,default:`0`},a.actions[d]=ar(l,c),a.actions[u]={set:u,int:!0},{host:s,template:`{{ $m := menu "${o}" "✚" "✕" }}{{ if ${er({variable:l,key:l,member:c})} }}{{ $m }}{{ else }}{{ fg (${`readableOn (color "success") (bgOf) ${Pf}`}) $m }}{{ end }}`}}function pA(e,t){let n=[],r=e.children.findIndex(e=>e.kind===`segment`&&!Qk(e.name)),i=e=>pA(e,t);for(let[a,o]of e.children.entries()){if(o.kind===`container`){n.push(i(o));continue}let s=dh(o,i);if(Qk(o.name)){n.push(s);continue}let c=ch(o),l=a===r?[fA(t,String(t.posCounter.n++),c,`before`)]:[],u=String(t.posCounter.n++),d=fA(t,u,c,`after`),f=rA(t,u,c),p=t.segments[o.name],m=cA(t,u,o,Th(p)),h=iA(f),g=iA(m.term),_={kind:`container`,direction:`horizontal`,children:[...l.map(e=>nA(e.host,e.template,t.artifacts)),{...dA(o,p,t,m),lead:h,trail:g},{...s,when:Xk(t.presetIdent,`false`,o.when??`true`),lead:h,trail:g,drafts:m.drafts},nA(d.host,d.template,t.artifacts)]};n.push(e.direction===`vertical`?{kind:`container`,direction:`horizontal`,children:[_]}:_)}return{...e,children:n,...e.when!==void 0&&{when:aA(oA(n),Xk(t.presetIdent,`true`,e.when))}}}function mA(e,t,n,r,i,a,o){let s=`${nT}${t}.resetLayout`,c=`${nT}${t}.customized`;return r.actions[s]={reset:n},r.segments[c]={template:`{{ action "${s}" "↺ reset layout" }}`,when:Zk},{kind:`container`,direction:`vertical`,children:[{kind:`container`,direction:`horizontal`,children:[...i,{kind:`segment`,name:c},a]},hA(e,o)]}}function hA(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),hA(n,t)]}:{...e,children:[...e.children,t]}}function gA(e,t,n,r,i,a){let{node:o}=Zh(e,t),s={presetIdent:Jw(t),rootKey:zE(t),segments:e.segments,artifacts:n,posCounter:{n:0},configured:[]},c=pA(o,s);return n.variables[qk(s.presetIdent)]=Yk(s.configured),mA(c,s.presetIdent,s.rootKey,n,r,i,a)}function _A(e){let t={variables:{},actions:{},segments:{}},n=uD(`${nT}help`,bD,[rD],t);t.variables[Rk]=ir(Rk,qn),t.actions[Rk]=ar(Rk,Kk.member),t.segments[Rk]={template:tr(Rk,...zk),when:iD};let r={kind:`segment`,name:Rk},i=n;t.variables[Uk]={kind:`input`,path:`history.sinceEdit`,type:`number`,default:0},t.actions[Bk]={do:[bO,...$E]},t.segments[Bk]={template:`{{ if ${Gk} }}{{ action "${Bk}" "✓ save" }}{{ else }}{{ action "${Bk}" "✓ done" }}{{ end }}`,when:iD},t.actions[Hk]={rewind:!0},t.actions[Vk]={do:[Hk,...$E]},t.segments[Vk]={template:`{{ action "${Vk}" "↩ cancel" }}`,when:`{{ and ${er(rD)} ${Wk} }}`};let a=[{kind:`segment`,name:Bk},{kind:`segment`,name:Vk}],o={...e.presets},s=[];for(let n of Jh(e.presets)){let c=gA(e,n,t,a,r,i);s.push(c),o[n]={...Xh(e.presets,n),root:c}}let c=qw(t,s,e);return{...e,variables:{...c,...e.variables,...t.variables},actions:{...e.actions,...t.actions},segments:{...e.segments,...t.segments},presets:o}}function vA(e){return e.op===`remove`?`remove:${e.target}`:`insert:${e.segment}:${e.anchor}:${e.relation}`}function yA(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 bA(e,t,n){let r=uh(e,new Set(n.map(lh).filter(e=>e.includes(t)).flat()));return r===e?{seg:e}:{seg:e,id:r}}const xA=/^-?\d+$/;function SA(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 CA(e){return t=>{if(!t)return{ok:!1,reason:`${e} value is required`};if(!xA.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 wA(e,t,n){return r=>r?xA.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 TA(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=>!xA.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 EA(e){return e===`config`?`set-config`:`set-state`}function DA(e,t,n){return t.kind===`int`?CA(`menu page "${e}"`):t.kind===`range`?wA(t.min,t.max,`${n} stepper "${e}"`):SA(t.allowed,`${n} "${e}"`,EA(n))}function OA(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:TA(e,n,t)}))}function kA(e,t,n,r){let i=new Map(Object.entries(e)),a=new Map,o=new Set(t.map(e=>e.key));for(let{key:e,spec:t}of n)if(o.has(e)&&t.kind!==`allow-list`)throw Error(`${r} gate: key "${e}" is written by the daemon's own links as one of a list of values, and cannot be declared as ${t.kind===`int`?`a paged cursor (int)`:`a bounded value (range)`}. Use a distinct key.`);let s=[...t.map(({key:e,allowed:t})=>({key:e,spec:{kind:`allow-list`,allowed:t}})),...n];for(let{key:t,spec:n}of OA(s,r)){if(!t)throw Error(`${r} gate: key is required`);if(t.includes(`/`))throw Error(`${r} gate: key "${t}" contains "/" — the wire shape splits on "/" so a slash-bearing key cannot be addressed. Use a slash-free key.`);if(Object.hasOwn(e,t))throw Error(`${r} gate: key "${t}" is a built-in ${r} key and cannot be re-claimed (built-in keys: ${Object.keys(e).join(`, `)})`);i.set(t,DA(t,n,r)),n.kind===`range`&&a.set(t,{min:n.min,max:n.max})}return{validate(e,t){let n=i.get(e);return n?n(t):{ok:!1,reason:`unknown ${r} key "${e}" (have: ${[...i.keys()].join(`, `)})`}},listKeys:()=>[...i.keys()],rangeParamsFor:e=>a.get(e)??null}}function AA(e,t,n){let r=[],i=0,a=new WeakMap;return{register(n,a){let o={key:n,allowed:a};kA(e,[o],[],t),r.push(o),i++;let s=!0;return()=>{s&&(s=!1,r.splice(r.indexOf(o),1),i++)}},gateFor(o){let s=a.get(o);if(s?.epoch===i)return s.gate;let c=kA(e,r,n(o),t);return a.set(o,{epoch:i,gate:c}),c}}}const jA=AA({},`config`,RA);function MA(e,t){return jA.register(e,t)}function NA(e){return jA.gateFor(e)}function PA(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:ig(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:[vA({op:`remove`,target:e.removeSegment})]}}]:`insertSegment`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:[vA({op:`insert`,segment:e.insertSegment,anchor:e.anchor,relation:e.relation})]}}]:`insertSegmentFrom`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:ig(e.insertSegmentFrom,t).members.map(t=>vA({op:`insert`,segment:t,anchor:e.anchor,relation:e.relation}))}}]:[{key:e.persist,spec:{kind:`range`,min:e.min,max:e.max}}]:[]}function FA(e,t){let n=PE(e).get(t);return n===void 0?null:String(n)}function IA(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?UE(n.persist):null;e?.scope===`preset-root`&&t.add(zE(e.preset))}return[...t].map(e=>({key:e,spec:{kind:`allow-list`,allowed:[]}}))}function LA(e){let t=$k(e);return[...IA(e),...Object.values(e.actions).flatMap(e=>PA(e,t))]}function RA(e){return OA(LA(e),`config`)}function zA(e,t){return{globals:{...t.globals,...e.globals??{}},variables:{...t.variables,...e.variables??{}},segments:HA(t.segments,BA(t.segments,e.segments??{})),root:Wh(e.root??Lh,t.root),actions:{...t.actions,...e.actions??{}},styles:{...t.styles,...e.styles??{}},presets:HA(t.presets,VA(t.presets,e.presets??{})),themeDefaults:HA(t.themeDefaults,e.themeDefaults??{}),editGlobals:{...t.editGlobals,...e.editGlobals??{}},helpers:{...t.helpers,...e.helpers??{}}}}function BA(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 VA(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 HA(e,t){return{...e,...Object.fromEntries(Object.entries(t).map(([t,n])=>[t,{...e[t],...n}]))}}function UA(e,t,n,r){return n.cache===void 0?(e.issues.push({path:`${t}.cache`,message:`${r} variables must declare a cache policy (one of: ${yh.join(`, `)})`,line:Y(e.source,t.split(`.`))}),null):KA(e,`${t}.cache`,n.cache)}function WA(e){return{required:!0,json:qA(),parse:(t,n,r,i)=>UA(t,n,i,e)??void 0}}const GA={noun:`cache`,arms:{ttl:{json:{type:`string`},parse:(e,t,n)=>typeof n==`string`&&YA(n)?{ttl:n}:PT(e,t,`cache.ttl must be a duration string like "5s", "100ms", "2m", "1h"; got ${Q(n)}`)},watch_file:{json:{type:`string`,pattern:`^/`},parse:(e,t,n)=>{if(typeof n!=`string`)return PT(e,t,`cache.watch_file must be a path string, got ${Q(n)}`);let r=KT(`cache.watch_file`,n);return r===null?{watch_file:n}:PT(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}:PT(e,t,`cache.depends_on must be an array of variable-name strings, got ${Q(n)}`)},key:{json:{type:`string`},parse:(e,t,n)=>typeof n==`string`&&n!==``?{key:n}:PT(e,t,`cache.key must be a non-empty template string, got ${Q(n)}`)},never:{json:{const:!0},parse:(e,t,n)=>n===!0?{never:!0}:PT(e,t,`cache.never must be the literal boolean true, got ${Q(n)}`)}}};function KA(e,t,n){return FT(e,GA,t,n)}function qA(){return $T(GA)}const JA=/^(\d+(?:\.\d+)?)(ms|s|m|h)$/;function YA(e){return JA.test(e)}function XA(e,t,n){if(n===void 0)return{};if(!OT(n))return e.issues.push({path:t,message:`${t} must be an object, got ${Z(n)}`,line:Y(e.source,t.split(`.`))}),{};let r={};for(let[i,a]of Object.entries(n)){let n=IT(e,Sj,`${t}.${i}`,a);n!==null&&(r[i]=n)}return r}function ZA(){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 ${Z(i)}`,line:Y(e.source,t.split(`.`))});return}return i}}}function QA(){return{required:!0,json:{enum:[...xh]},parse:(e,t,n,r)=>{let i=r.field;if(typeof i!=`string`||!xh.includes(i)){e.issues.push({path:`${t}.field`,message:`git field must be one of: ${xh.join(`, `)}, got ${JSON.stringify(i)}`,line:Y(e.source,[...t.split(`.`),`field`])});return}return i}}}function $A(){return{required:!1,json:{type:[`string`,`number`,`boolean`]},parse:(e,t,n,r)=>{let i=r.type;return wT(e,t,r,i===`number`||i===`boolean`||i===`string`?i:`string`)}}}const ej={noun:`parse`,arms:{text:{json:{const:!0},parse:(e,t,n)=>n===!0?{text:!0}:PT(e,t,`parse.text must be the literal boolean true, got ${Q(n)}`)},regex:{json:{type:`string`},parse:(e,t,n)=>typeof n==`string`?tj(e,t,n):PT(e,t,`parse.regex must be a pattern string, got ${Q(n)}`)},json:{json:{const:!0},parse:(e,t,n)=>n===!0?{json:!0}:PT(e,t,`parse.json must be the literal boolean true, got ${Q(n)}`)}}};function tj(e,t,n){let r;try{new RegExp(n),r=RegExp(`${n}|`).exec(``).length-1}catch(n){return PT(e,t,`parse.regex is not a valid regular expression: ${n.message}`)}return r>=1?{regex:n}:PT(e,t,`parse.regex must contain a capture group — its group 1 is the value; got ${JSON.stringify(n)}`)}function nj(){return{required:!1,json:$T(ej),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:Y(e.source,[...t.split(`.`),`regex`])}),r.parse===void 0?void 0:FT(e,ej,`${t}.parse`,r.parse)??void 0)}}function rj(){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)=>OT(r.parse)&&`json`in r.parse?ij(e,t,r.default):TT(e,t,r,`default`)}}function ij(e,t,n){if(n!==void 0)return aj(n)?n:PT(e,`${t}.default`,`${t}.default must be a JSON value (a json-parsed source's document), got ${Q(n)}`)??void 0}function aj(e){return e!==null&&oj(e)}function oj(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(oj);let t=Object.getPrototypeOf(e);return(t===Object.prototype||t===null)&&Object.values(e).every(oj)}default:return!1}}const sj={value:ZA(),default:BT()},cj={path:GT(),type:JT([`string`,`number`,`boolean`]),default:$A()},lj={name:GT(),default:BT()},uj={path:qT(),readMode:JT([`whole`,`first-line`]),parse:nj(),cache:WA(`file`),default:rj()},dj={command:GT(),parse:nj(),cache:WA(`shell`),default:rj()};function fj(e){return{cache:`${e}, so it takes no cache policy — delete the key`}}const pj={template:GT(),default:BT()},mj=fj(`a template variable recomputes whenever a variable it reads changes`),hj={layout:GT(),default:BT()},gj=fj(`a time variable reads the instant its render is drawn at`),_j={field:QA(),default:BT()},vj=fj(`a git variable is refreshed by the daemon's own watch on the repository`),yj={key:GT(),default:BT()},bj=`kind`;function xj(e,t,n={}){return{...LT(bj,e,t),parse:(r,i,a)=>{AT(r,n,i,a);let o=jT(r,t,i,a);return o===null?null:{kind:e,...o}}}}const Sj={tag:bj,noun:`source kind`,memberNoun:`variable`,arms:{literal:xj(`literal`,sj),input:xj(`input`,cj),env:xj(`env`,lj),file:xj(`file`,uj),shell:xj(`shell`,dj),template:xj(`template`,pj,mj),time:xj(`time`,hj,gj),git:xj(`git`,_j,vj),state:xj(`state`,yj)}};function Cj(){return QT(Sj)}function wj(){return{type:`object`,additionalProperties:Cj()}}const Tj=new Map([[`gitTaculous`,{kind:`built-in`,to:`gitaculous`}],[`git`,{kind:`built-in`,to:`gitaculous`}],[`settings.menu`,{kind:`built-in`,to:`candybar.menu`}],[`ticket`,{kind:`plugin`,to:`plugins.lit.ticket`,folder:`examples/plugins/lit`}]]);function Ej(e){let t=Tj.get(e);if(t===void 0)return``;switch(t.kind){case`built-in`:return` (the built-in segment "${e}" was renamed to "${t.to}" — update this reference)`;case`plugin`:return` (the built-in segment "${e}" became "${t.to}", a segment of the plugin in cc-candybar's ${t.folder} — install that folder in a plugin root (docs/segment-authoring.md, "Installing a plugin instead of listing it"), then update this reference)`}}const Dj=/^[A-Za-z_][A-Za-z0-9_]*$/,Oj={pattern:Dj.source},kj={anyOf:[{type:`boolean`},{type:`string`},{type:`integer`}]},Aj={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`,...Oj}}}]},default:kj}},jj=[`label`,`domain`,`default`],Mj=[`min`,`max`,`step`,`atLeast`];function Nj(e,t,n){e.issues.push({path:t,message:n,line:Y(e.source,t.split(`.`))})}function Pj(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 Nj(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 Nj(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?Nj(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(OT(n)){let{min:r,max:i,step:a=1,atLeast:o}=n;return Object.keys(n).filter(e=>!Mj.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}}:Nj(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 Nj(e,t,`domain must be "bool", a list of words, or { min, max }, got ${Q(n)}`)}function Fj(e,t,n){if(!OT(n))return Nj(e,t,`${t} must be { label, domain, default }, got ${Z(n)}`);for(let r of Object.keys(n))jj.includes(r)||Nj(e,`${t}.${r}`,`Unknown setting key "${r}". Expected one of: ${jj.join(`, `)}`);let{label:r}=n,i=typeof r==`string`&&r.length>0&&!/[\n\r]/.test(r);i||Nj(e,`${t}.label`,`a setting needs a one-line, non-empty "label" — the name its control shows, spliced into a synthesized template string — got ${Q(r)}`);let a=Pj(e,`${t}.domain`,n.domain);if(!i||a===void 0)return;let o={label:r,domain:a,default:n.default};return!Ij(n.default)||!Oh(o,n.default)?Nj(e,`${t}.default`,`default must be ${Mh(o)}, got ${Q(n.default)}`):o}function Ij(e){return typeof e==`boolean`||typeof e==`string`||typeof e==`number`}const Lj={theme:`its default for this segment is segments.<name>.palette, and a placement sets its own with settings: { ${Sh}: "<theme>" }`,effect:`a placement follows the bar's effect, or sets its own with settings: { effect: "<effect>" }`};function Rj(e){return wh.includes(e)}function zj(){return{required:!1,json:{type:`object`,propertyNames:{...Oj,not:{enum:[...wh]}},additionalProperties:Aj},parse:(e,t,n,r)=>{let i=r[n];if(i===void 0)return;let a=`${t}.${n}`;if(!OT(i))return Nj(e,a,`${a} must be an object of name → { label, domain, default }, got ${Z(i)}`);let o=Object.create(null);for(let[t,n]of Object.entries(i)){if(!Dj.test(t)){Nj(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(Rj(t)){Nj(e,`${a}.${t}`,`setting "${t}" is one every placement already has — ${Lj[t]}`);continue}let r=Fj(e,`${a}.${t}`,n);r!==void 0&&(o[t]=r)}return o}}}const Bj=rT.map(e=>e.replace(/\./g,`\\.`)).join(`|`);function Vj(){return{required:!1,json:{type:`string`,minLength:1,pattern:`^(?!${Bj})[^:/]+$`},parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0)return typeof i==`string`&&i.length>0&&!/[:/]/.test(i)&&!iT(i)?i:Nj(e,`${t}.${n}`,`a placement "id" must be a non-empty string without "/" or ":", outside the reserved ${rT.map(e=>`"${e}"`).join(`, `)} namespaces, got ${Q(i)}`)}}}function Hj(){return{required:!1,json:{type:`object`,propertyNames:Oj,additionalProperties:kj},parse:(e,t,n,r)=>{let i=r[n];if(i===void 0)return;let a=`${t}.${n}`;if(!OT(i))return Nj(e,a,`a placement's "settings" must be an object of setting name → value, got ${Z(i)}`);let o=Object.create(null);for(let[t,n]of Object.entries(i))Ij(n)?o[t]=n:Nj(e,`${a}.${t}`,`setting "${t}" must be a boolean, a word, or a number, got ${Z(n)}`);return o}}}function Uj(e){return new Set(Object.keys(e.segments).filter(e=>!iT(e)))}function Wj(e,t,n){if(t===void 0)return{};if(!OT(t))return e.issues.push({path:`segments`,message:`segments must be an object, got ${Z(t)}`,line:Y(e.source,[`segments`])}),{};let r={};for(let[i,a]of Object.entries(t)){let t=kT(e,n.has(i)?Xj:Yj,`segments.${i}`,a);t!==null&&(r[i]=t)}return r}function Gj(){return{required:!0,json:{type:`string`},parse:(e,t,n,r)=>r[n]===void 0?PT(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${Ej(t.slice(9))}`)??void 0:CT(e,t,r,n)??void 0}}function Kj(){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 ${Q(i)}`,line:Y(e.source,[...t.split(`.`),n])})}}}}function qj(){return{required:!1,json:wj(),parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0)return XA(e,`${t}.${n}`,i)}}}const Jj={template:Gj(),description:BT(),group:JT(GE),width:Kj(),justify:JT(Nh),truncate:JT(Ph),bg:BT(),fg:BT(),when:BT(),palette:WT(),vars:qj(),settings:zj()},Yj={noun:`segment key`,fields:Jj},Xj={noun:`segment key`,fields:{...Jj,template:BT()}},Zj=`#/definitions/LayoutNode`,Qj={kind:`container`,direction:`vertical`,children:[]};function $j(e){return{required:!0,json:{const:e},parse:()=>e}}function eM(){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 ${Q(i)}`,line:Y(e.source,[`root`])}),``)}}}function tM(){return{required:!0,json:{enum:[...oh]},parse:(e,t,n,r)=>{let i=r[n];return typeof i==`string`&&oh.includes(i)?i:(e.issues.push({path:`${t}.${n}`,message:`a container "direction" must be one of: ${oh.join(`, `)} (got ${JSON.stringify(i)})`,line:Y(e.source,[`root`])}),`vertical`)}}}function nM(e){return{required:!0,json:{type:`array`,items:{$ref:Zj}},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 ${Z(a)}`,line:Y(t.source,[`root`])}),[])}}}const rM={noun:`layout-node key`,fields:{kind:$j(`segment`),name:eM(),when:BT(),id:Vj(),settings:Hj()}},iM=()=>JT(uf),aM={noun:`layout-node key`,fields:{kind:$j(`container`),direction:tM(),children:nM(RT(()=>uM)),when:BT(),distribution:iM()}};function oM(){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 ${Q(i)}`,line:Y(e.source,[`root`])}),``)}}}const sM={noun:`layout-node key`,fields:{seg:oM(),when:BT(),id:Vj(),settings:Hj()}},cM={noun:`layout-node key`,fields:{h:nM(RT(()=>uM)),when:BT(),distribution:iM()}},lM={noun:`layout-node key`,fields:{v:nM(RT(()=>uM)),when:BT(),distribution:iM()}},uM=(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:Y(e.source,[`root`])}),Qj):{kind:`segment`,name:n};if(!OT(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 ${Z(n)}`,line:Y(e.source,[`root`])}),Qj;if(n.kind===`container`)return kT(e,aM,t,n)??Qj;if(n.kind===`segment`)return kT(e,rM,t,n)??Qj;if(n.kind===`cells`)return e.issues.push({path:t,message:`kind: "cells" is no longer supported — use the h-arm spelling instead:
|
|
178
146
|
Old: { kind: "cells", segments: ["seg1", "seg2"] }
|
|
179
|
-
New: { h: ["seg1", "seg2"] }`,line:X(e.source,[`root`])}),Qj;if(n.kind===`group`){let r=kT(e,_M,t,n);return r===null?Qj:(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}),yM(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:X(e.source,[`root`])}),Qj}if(a){let r=kT(e,sM,t,n);return r===null?Qj:{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=kT(e,cM,t,n);return r===null?Qj:{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=kT(e,lM,t,n);return r===null?Qj:{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:X(e.source,[`root`])}),Qj};function dM(){return{required:!0,json:{type:`object`,propertyNames:{pattern:Ph.source},additionalProperties:{$ref:Zj}},parse:(e,t,n,r)=>{let i=r[n];if(!DT(i))return e.issues.push({path:`${t}.${n}`,message:`"rows" must be an object of row name → layout node, got ${OT(i)}`,line:X(e.source,[...t.split(`.`),n])}),{};let a={};for(let[r,o]of Object.entries(i)){if(!Ph.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:X(e.source,[...t.split(`.`),n,r])});continue}a[r]=uM(e,`${t}.${n}.${r}`,o)}return a}}}const fM={noun:`root key`,fields:{rows:dM(),when:BT(),distribution:iM()}};function pM(e,t,n){return DT(n)&&`rows`in n?kT(e,fM,t,n)??{rows:{}}:uM(e,t,n)}function mM(){return{required:!0,json:{type:`string`,pattern:Ph.source},parse:(e,t,n,r)=>{let i=r[n];if(typeof i!=`string`||!Ph.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 "${L}", got ${Q(i)}`,line:X(e.source,[`root`])});return}return i}}}function hM(){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 ${Q(i)}`,line:X(e.source,[`root`])});return}return i}}}}function gM(){return{required:!0,json:{type:`string`,pattern:`^[^\\n\\r]*$`},parse:(e,t,n,r)=>{let i=ST(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:X(e.source,[...t.split(`.`),n])});return}return i}}}}const _M={noun:`layout-node key`,fields:{kind:$j(`group`),name:mM(),label:gM(),open:VT(),direction:JT(ah),key:hM(),bg:BT(),fg:BT(),when:BT(),distribution:iM(),children:nM(RT(()=>uM))}};function vM(e){return e.key??`groups.`+e.name}function yM(e){let t=$w+e.name;return Yn(t,{variable:t,key:vM(e),member:e.name},{kind:`container`,direction:e.direction??`vertical`,children:e.children,...e.distribution!==void 0&&{distribution:e.distribution}},`drop`,e.when)}function bM(e,t,n){e.issues.push({path:t,message:n,line:X(e.source,[`root`])})}function xM(e,t){aT(e,t,$w,`group nodes`);let n=e.groups;if(n.length===0)return;let r=new Set;for(let t of n)r.has(t.name)&&bM(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}.`)&&vM(t)===vM(r)&&bM(e,t.path,`group "${t.name}" shares key "${vM(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=vM(t);if(i.has(n)||i.set(n,L),t.open===!0){let r=i.get(n);r!==`closed`&&bM(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=$w+e.name,r=vM(e),c=n.filter(t=>t!==e&&e.path.startsWith(t.path+`.`)).length,l=` `.repeat(c);a[t]=tr(r,i.get(r)),o[t]=nr(r,e.name),s[t]={template:Qn(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}}const SM=`menu`,CM=`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`,wM=e=>e.kind===`call`&&e.name===`dict`,TM=e=>e.kind===`literal`&&typeof e.value!=`object`,EM=e=>Kn(``,e,2)===void 0;function DM(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&&wM(i)?i:void 0,o=a===void 0?r:r.slice(0,-1);if(o.some(wM))return t(`whose options (dict …) is not its last argument — ${CM}`);if(i!==void 0&&a===void 0&&!TM(i)&&EM(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=Kn(`whose trigger`,o.length,2);if(s!==void 0)return t(`${s} — ${CM}`);let c=a===void 0?{}:xb(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=mT(c)}catch(e){return t(`with invalid options — ${e.message}`)}let u=l.key;if(u!==void 0){let e=iT(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 "${cT(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 OM(e){let t=Av({fromString:e=>e});try{return t.parse(e).referencedCalls().filter(e=>e.name===SM).map(DM)}catch{return`parse-failed`}}function kM(e){let t=Av({fromString:e=>e});try{return t.parse(e).referencedFunctions().has(SM)}catch{return!1}}function AM(e,t,n){e.issues.push({path:t,message:n,line:X(e.source,[`root`])})}function jM(e,t){aT(e,t,eT,`{{ menu }} helpers`);for(let[n,r]of Object.entries(t.helpers??{}))kM(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:X(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`&&kM(i)&&AM(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 dh(Vh(t.root)))typeof n.when==`string`&&kM(n.when)&&AM(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||!kM(r))continue;let n=OM(r);if(n!==`parse-failed`)for(let r of n){let n=r.kind===`issue`?r.message:MM(r.apply);n!==void 0&&AM(e,`segments.${t}`,`segment "${t}" has a {{ menu }} ${n}.`)}}}function MM(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(oT(e)===`closed`)return`whose apply action is named "${L}", which collides with the menu's closed-state sentinel and leaves it unopenable. Rename the action`}function NM(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 qh(e.presets)){let a=new Map,s=new Map;for(let c of dh(Xh(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,OM(t.template));let l=i.get(c.name);if(l===`parse-failed`)continue;let u=sh(c);for(let[e,t]of l.entries()){if(t.kind===`issue`||MM(t.apply)!==void 0)continue;let{apply:i,options:l}=t,d=oT(i),f=sT(u,i,l.key),p=uT(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=lT(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]=nr(f,d),n[f]=tr(f,L),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 PM=[`set`,`persist`,`copy`,`open`,`reset`,`undo`,`redo`,`back`,`rewind`,`save`,`preset`,`themeDefault`,`doctor`,`ceiling`,`slash`,`do`];function FM(e){return e.ceiling===`set`?[`set`,e.to]:[`clear`]}function IM(e){return`from`in e||`int`in e||`insertSegmentFrom`in e}function LM(e,t){if(t===void 0)return{};if(!DT(t))return $(e,`actions`,`actions must be an object, got ${OT(t)}`),{};let n=Object.create(null);for(let[r,i]of Object.entries(t)){let t=RM(e,`actions.${r}`,i);t!==null&&(n[r]=t)}return n}function $(e,t,n){e.issues.push({path:t,message:n,line:X(e.source,t.split(`.`))})}function RM(e,t,n){if(!DT(n))return $(e,t,`${t} must be an action object, got ${OT(n)}`),null;if(`persistWhen`in n)return $(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=PM.filter(e=>e in n);return r.length===1?zM[r[0]](e,t,n):($(e,t,`action must declare exactly one of: ${PM.join(`, `)}${r.length>1?` (found: ${r.join(`, `)})`:``}`),null)}const zM={set:(e,t,n)=>vN(e,t,n,`set`,mN),persist:(e,t,n)=>vN(e,t,n,`persist`,hN),copy:BM(`copy`),open:BM(`open`),reset:VM,undo:UM(`undo`),redo:UM(`redo`),back:UM(`back`),rewind:UM(`rewind`),save:UM(`save`),preset:WM,themeDefault:GM,doctor:KM,ceiling:qM,slash:JM,do:YM};function BM(e){return(t,n,r)=>{for(let i of Object.keys(r))i!==e&&$(t,`${n}.${i}`,`Unknown key "${i}" on a ${e} action. Expected only: ${e}`);let i=ST(t,n,r,e);return i===null?null:{[e]:i}}}function VM(e,t,n){for(let r of Object.keys(n))r!==`reset`&&$(e,`${t}.${r}`,`Unknown key "${r}" on a reset action. Expected only: reset`);let r=XM(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 HM={undo:`it steps the session's settings history`,redo:`it steps the session's settings history`,back:`it steps the session's navigation history`,rewind:`it steps the session's settings history back to where edit mode opened`,save:`it saves the session's unsaved settings`};function UM(e){return(t,n,r)=>{for(let i of Object.keys(r))i!==e&&$(t,`${n}.${i}`,`Unknown key "${i}" on a ${e} action. Expected only: ${e}`);return r[e]===!0?{[e]:!0}:($(t,`${n}.${e}`,`${e} must be the literal true (it takes no key — ${HM[e]}), got ${Q(r[e])}`),null)}}function WM(e,t,n){let r=n.preset,i=r===`save`?[`preset`]:[`preset`,`name`];for(let r of Object.keys(n))i.includes(r)||$(e,`${t}.${r}`,`Unknown key "${r}" on a preset action. Expected only: ${i.join(`, `)}`);if(r!==`save`&&r!==`delete`)return $(e,`${t}.preset`,`preset must be "save" or "delete", got ${Q(r)}`),null;if(r===`save`)return{preset:`save`};let a=ST(e,t,n,`name`);return a===null?null:{preset:`delete`,name:a}}function GM(e,t,n){for(let r of Object.keys(n))r!==`themeDefault`&&$(e,`${t}.${r}`,`Unknown key "${r}" on a themeDefault action. Expected only: themeDefault`);return n.themeDefault===`save`?{themeDefault:`save`}:($(e,`${t}.themeDefault`,`themeDefault must be "save" (it saves the look the session draws as the active theme's default), got ${Q(n.themeDefault)}`),null)}function KM(e,t,n){let r=n.doctor,i=r===`run`?[`doctor`]:[`doctor`,`check`];for(let r of Object.keys(n))i.includes(r)||$(e,`${t}.${r}`,`Unknown key "${r}" on a doctor action. Expected only: ${i.join(`, `)}`);if(r!==`run`&&r!==`fix`)return $(e,`${t}.doctor`,`doctor must be "run" or "fix", got ${Q(r)}`),null;if(r===`run`)return{doctor:`run`};let a=n.check;return typeof a!=`string`||PD(a)===void 0?($(e,`${t}.check`,`doctor fix must name a check (have: ${MD.map(e=>e.name).join(`, `)}), got ${Q(a)}`),null):{doctor:`fix`,check:a}}function qM(e,t,n){let r=n.ceiling,i=r===`clear`?[`ceiling`]:[`ceiling`,`to`];for(let r of Object.keys(n))i.includes(r)||$(e,`${t}.${r}`,`Unknown key "${r}" on a ceiling action. Expected only: ${i.join(`, `)}`);if(r===`clear`)return{ceiling:`clear`};if(r!==`set`)return $(e,`${t}.ceiling`,`ceiling must be "set" or "clear", got ${Q(r)}`),null;let a=n.to;return typeof a!=`string`||a.trim()===``?($(e,`${t}.to`,`ceiling set needs \`to\`: a memento ceiling value such as "+100_000", "400000" or "off", got ${Q(a)}`),null):{ceiling:`set`,to:a}}function JM(e,t,n){for(let r of Object.keys(n))r!==`slash`&&$(e,`${t}.${r}`,`Unknown key "${r}" on a slash action. Expected only: slash`);let r=qD(n.slash);return r.kind===`refused`?($(e,`${t}.slash`,r.reason),null):{slash:r.line}}function YM(e,t,n){for(let r of Object.keys(n))r!==`do`&&$(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===``)?($(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 ${Q(r)}`),null):{do:r}}function XM(e,t,n,r,i,a){let o=ST(e,t,r,n);if(o===null)return null;let s=`${t}.${n}`;return o===``?($(e,s,i),null):o.includes(`/`)?($(e,s,a(o)),null):o}const ZM={set:`the SessionState key to write`,persist:`the config globals field to write`};function QM(e,t,n,r){let i=ZM[r],a=XM(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 $M(e){return e===`set`?`set-state`:`set-config`}const eN={to:yN(`set`)},tN={to:yN(`persist`)},nN={from:bN(`set`)},rN={from:bN(`persist`)},iN={min:TN(),max:TN(),by:TN()},aN={int:SN()},oN={cycle:xN(`set`)},sN={cycle:xN(`persist`)},cN={removeSegment:CN(`removeSegment`)},lN={insertSegment:CN(`insertSegment`),anchor:CN(`anchor`),relation:wN()},uN={insertSegmentFrom:bN(`persist`),anchor:CN(`anchor`),relation:wN()},dN={ok:e=>e.min<e.max,issue:e=>({field:`min`,message:`min (${e.min}) must be less than max (${e.max})`})},fN={ok:e=>e.by!==0,issue:()=>({field:`by`,message:`by must be a non-zero integer (the per-click increment; negative steps down)`})};function pN(e,t,n=[],r){let i=Object.keys(t),a=r??i,o=[e],s=(e,n,r)=>jT(e,t,n,r),c=YT(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?zT(s,...n):s}}const mN=[pN(`set`,eN),pN(`set`,nN),pN(`set`,iN,[dN,fN]),pN(`set`,aN),pN(`set`,oN)],hN=[pN(`persist`,tN),pN(`persist`,rN),pN(`persist`,iN,[dN,fN]),pN(`persist`,sN),pN(`persist`,cN),pN(`persist`,lN,[],[`insertSegment`]),pN(`persist`,uN,[],[`insertSegmentFrom`])];function gN(e){let t=[`"to" (a literal value)`,`"from" (an option domain — a registered domain name like "themes"/"endcaps"/"styles", 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 _N(e){let t=gN(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 vN(e,t,n,r,i){let a=QM(e,t,n,r),o=i.filter(e=>e.detect.some(e=>e in n));if(o.length!==1)return $(e,t,`${_N(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)||$(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 yN(e){let t=$M(e);return{required:!0,json:{type:`string`},parse:(n,r,i,a)=>XM(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 bN(e){let t=$M(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===``){$(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){$(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===``)){$(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){$(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){$(n,s,`${i} array members must be unique — a duplicated value would render the same picker option twice`);return}return r}$(n,s,`${i} must be a domain name (a string) or an inline domain (an array of strings), got ${Q(o)}`)}}}function xN(e){let t=$M(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`)){$(n,s,`cycle must be an array of strings (the enumerated values a click steps through), got ${OT(o)}`);return}let c=o;if(c.length<2){$(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){$(n,s,`cycle members must be non-empty — an empty value cannot be delivered on the ${t} wire`);return}if(u.length>0){$(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){$(n,s,`cycle members must be unique — the successor of a duplicated member is ambiguous`);return}return c}}}function SN(){return{required:!0,json:{const:!0},parse:(e,t,n,r)=>{if(r[n]!==!0){$(e,`${t}.${n}`,`int must be the literal true (declares the key an unbounded integer cursor — a paged picker's page key), got ${Q(r[n])}`);return}return!0}}}function CN(e){return{required:!0,json:{type:`string`},parse:(t,n,r,i)=>{let a=ST(t,n,i,r);if(a===null)return;let o=`${n}.${r}`;if(a===``){$(t,o,`${e} must be non-empty (a segment name)`);return}if(a.includes(`/`)||a.includes(`:`)){$(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 wN(){return{required:!0,json:{enum:[`before`,`after`]},parse:(e,t,n,r)=>{let i=r[n];if(i!==`before`&&i!==`after`){$(e,`${t}.${n}`,`relation must be "before" or "after", got ${Q(i)}`);return}return i}}}function TN(){return{required:!0,json:{type:`integer`},parse:(e,t,n,r)=>{let i=r[n];if(typeof i!=`number`||!Number.isInteger(i)){$(e,`${t}.${n}`,`${n} must be an integer, got ${Q(i)}`);return}return i}}}function EN(e,t,n){return`${e}: "${t}" is an endcaps shape, not a style — endcaps were renamed from "style" to "endcaps"; write ${n}: "${t}"`}const DN={noun:`style key`,fields:{hueShift:UT(),chromaScale:UT({min:0}),lightnessScale:UT(),lightnessShift:UT()}};function ON(e,t){if(!DT(t))return e.issues.push({path:`styles`,message:`styles must be an object mapping style names to adaptation objects, got ${OT(t)}`,line:X(e.source,[`styles`])}),{};let n={};for(let[r,i]of Object.entries(t)){if(r===``||r.includes(`/`)){e.issues.push({path:`styles.${r}`,message:`style name ${JSON.stringify(r)} must be non-empty and slash-free — a style picker writes the name on the set-state wire, which rejects empty values and splits on "/"`,line:X(e.source,[`styles`,r])});continue}if(Pp(r)){e.issues.push({path:`styles.${r}`,message:EN(`styles.${r}`,r,`globals.endcaps`),line:X(e.source,[`styles`,r])});continue}let t=kT(e,DN,`styles.${r}`,i);t!==null&&(n[r]={...As,...t})}return n}const kN={noun:`preset key`,fields:{root:{required:!1,json:{$ref:`#/definitions/RootFragment`},parse:(e,t,n,r)=>r[n]===void 0?void 0:pM(e,`${t}.${n}`,r[n])},globals:{required:!1,json:OE(),parse:(e,t,n,r)=>r[n]===void 0?void 0:DE(e,`${t}.${n}`,r[n])}}};function AN(e,t){if(!DT(t))return e.issues.push({path:`presets`,message:`presets must be an object mapping preset names to config fragments, got ${OT(t)}`,line:X(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:X(e.source,[`presets`,r])});continue}let t=kT(e,kN,`presets.${r}`,i);t!==null&&(n[r]=t)}return n}function jN(e,t){if(t===void 0)return{};if(!DT(t))return e.issues.push({path:`helpers`,message:`helpers must be an object, got ${OT(t)}`,line:X(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 ${Q(i)}`,line:X(e.source,[`helpers`,r])});continue}n[r]=i}return n}const MN=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 NN(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 PN(e){let t=MN.get(e);return t===void 0?void 0:`variables.${e} is no longer read: ${NN(t)}`}function FN(e){let t=MN.get(e);return t===void 0?``:` — ".${e}" is no longer a variable: ${NN(t)}; a "${t.segment}" template reads it as ".settings.${t.setting}"`}function IN(e,t){let n=new Map;for(let e of Object.keys(t)){let t=qw(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:X(e.source,[`presets`])})}function LN(e,t,n){let r=[[[`globals`],t.globals.style,`globals.endcaps`],[[`editGlobals`],t.editGlobals.style,`editGlobals.endcaps`],...Object.entries(t.presets).map(([e,t])=>[[`presets`,e,`globals`],t.globals?.style,`presets.${e}.globals.endcaps`]),...Object.entries(t.themeDefaults).map(([e,t])=>[[`themeDefaults`,e],t.style,`globals.endcaps`])];for(let[n,i,a]of r){if(i===void 0||gp(i)||Object.prototype.hasOwnProperty.call(t.styles,i))continue;let r=`${n.join(`.`)}.style`;e.issues.push({path:r,message:Pp(i)?EN(r,i,a):`${r} "${i}" does not match any declared style (have: ${Object.keys(t.styles).join(`, `)})`,line:X(e.source,[...n,`style`])})}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:X(e.source,[`globals`,`preset`])}),IN(e,t.presets),oP(e,t);let i=Eg(t);for(let t of i.names)t!==`settings`&&!t.startsWith(BN)||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:X(e.source,[`variables`,t])});let a=(t,n,r)=>{wk(t)>1&&e.issues.push({path:n,message:`${n} places the global settings menu anchor "${aO}" ${wk(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}),Tk(t)&&e.issues.push({path:n,message:`${n} places the global settings menu anchor "${aO}" 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 shade, 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 dh(t)){if(e.kind!==`segment`)continue;let t=sh(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=lh(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||oh[e.direction]===`cell`))}let s=(n,r)=>{for(let[a,o]of Hh(n,r)){let n=X(e.source,o.split(`.`));if(a.when!==void 0&&(QN(e,`${o}.when`,a.when,i,{line:n}),ZN(e,`${o}.when`,a.when,n)),a.kind===`segment`){if(xk(a.name)){(a.id!==void 0||a.settings!==void 0)&&e.issues.push({path:o,message:`${r} gives the global settings menu anchor "${aO}" an id or settings — the anchor only marks where the menu goes, so place it as the bare name "${aO}"`,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${Ej(a.name)}`,line:n}),JN(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`,Bh(t.root)]]);for(let e of qh(t.presets)){let{node:n,path:r}=Xh(t,e);c.set(r,n)}for(let[t,n]of c)a(n,t,X(e.source,t.split(`.`)));aP(e,t,i,()=>!0)}const RN=[`removeSegment`,`insertSegment`,`insertSegmentFrom`];function zN(e,t,n,r,i,a,o){let s=`actions.${n}.${r}`,c=X(e.source,[`actions`,n,r]);if(!qh(t.presets).includes(a)){e.issues.push({path:s,message:`actions.${n}: "${i}" names preset "${a}" which is not declared (have: ${qh(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(`, `)})${Ej(i)}`,line:c})},p=new Set(ch(Xh(t,a).node)),m=(r,i)=>{!Tj.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${Ej(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 BN=`settings.`;function VN(e,t){return{...e,names:new Set([...e.names,...Object.keys(t).map(e=>BN+e)])}}function HN(e,t,n){let r=e=>`segments.${t}.settings.${e}`,i=(n,i)=>{e.issues.push({path:r(n),message:`${r(n)}: ${i}`,line:X(e.source,[`segments`,t,`settings`,n])})},a=GN(n);for(let{setting:e,message:t}of a)i(e,t);if(!(a.length>0))for(let{setting:e,message:t}of Eh(n,WN(n)))i(e,`the defaults do not stand together: ${t}`)}function UN(e){return GN(e).length>0||Eh(e,WN(e)).length>0}function WN(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,t.default]))}function GN(e){let t=t=>Th(KN(e,t))?.atLeast;return Object.keys(e).flatMap(n=>{let r=t(n);if(r===void 0)return[];if(r===n||Th(KN(e,r))===void 0)return[{setting:n,message:`atLeast "${r}" must name another range setting of this segment (its range settings: ${qN(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 KN(e,t){return Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0}function qN(e,t){return Object.entries(e).filter(([e,n])=>e!==t&&Th(n)!==void 0).map(([e])=>e)}function JN(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=wh(a),s=`${r}: placement "${sh(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(`, `)})`:Dh(c,a)?void 0:`sets "${t}" to ${JSON.stringify(a)}${c.domain===`theme`?sp(a):``}, but it must be ${jh(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])=>Dh(o[e],t))||UN(o)))for(let{message:t}of Eh(o,c))e.issues.push({path:r,message:`${s}: ${t}`,line:i})}function YN(e,t,n,r,i){n.kind===`template`&&QN(e,`${t}.template`,n.template,r,{segCtx:i}),yh(n)&&n.cache&&`key`in n.cache&&QN(e,`${t}.cache.key`,n.cache.key,r,{segCtx:i})}function XN(e,t,n,r,i){if(yh(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:X(e.source,[...t.split(`.`),`cache`,`depends_on`])})}}function ZN(e,t,n,r){try{JE.parse(n)}catch(n){e.issues.push({path:t,message:`Template parse error in ${t}: ${n.message}`,line:r})}}function QN(e,t,n,r,i){for(let[a,o]of vg(n,r.helpers)){if(Tg(a,r))continue;if(a.startsWith(BN)){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??X(e.source,t.split(`.`))});continue}if(o!==null){$N(e,o,`Template references unknown variable ".${a}"${FN(a)}`);continue}let n=i?.segCtx===void 0?void 0:`${i.segCtx}.${a}`,s=n!==void 0&&Tg(n,r)?` (segment-local vars are namespaced — write ".${n}")`:FN(a);e.issues.push({path:t,message:`Template references unknown variable ".${a}"${s}`,line:i?.line??X(e.source,t.split(`.`))})}}function $N(e,t,n){let r=`helpers.${t}`;e.issues.some(e=>e.path===r&&e.message===n)||e.issues.push({path:r,message:n,line:X(e.source,[`helpers`,t])})}function eP(e,t,n,r,i){let a=n.set,o=fE(pa[r].configKey),s=`${a} takes ${_T(o,i)}`;if(`min`in n&&(o===`bool`||!(`min`in o))){e.issues.push({path:`actions.${t}.min`,message:`actions.${t}: a stepper writes the integers from ${n.min} to ${n.max}, and ${a} is not an integer range; ${s}`,line:X(e.source,[`actions`,t,`min`])});return}let c=rP(n,i);if(c===nP){e.issues.push({path:`actions.${t}.int`,message:`actions.${t}.int: an int cursor writes whatever integer the template binds, and a click outside the ${a} domain would change nothing; ${s}`,line:X(e.source,[`actions`,t,`int`])});return}let l=c.filter(e=>!gT(o,e.value,i));if(l.length!==0){if(a===pa.style.sessionKey&&(`from`in n&&n.from===`endcaps`||c.every(e=>Pp(e.value)))){let r=pa.endcaps.sessionKey;e.issues.push(`to`in n?{path:`actions.${t}.to`,message:EN(`actions.${t}.to`,n.to,`set: "${r}", to`),line:X(e.source,[`actions`,t,`to`])}:{path:`actions.${t}.set`,message:`actions.${t}.set: "${a}" here writes only endcaps shapes, not styles — endcaps were renamed from "style" to "endcaps"; write set: "${r}"`,line:X(e.source,[`actions`,t,`set`])});return}for(let n of new Set(l.map(e=>e.field))){let r=l.filter(e=>e.field===n).map(e=>JSON.stringify(e.value)),i=r.length<=tP?r.join(`, `):`${r.slice(0,tP).join(`, `)} and ${r.length-tP} more`,o=`actions.${t}.${n}`;e.issues.push({path:o,message:`${o}: ${i} ${r.length===1?`is`:`are`} outside the ${a} domain — a click would write it and nothing would change; ${s}`,line:X(e.source,[`actions`,t,n])})}}}const tP=3,nP=Symbol(`any integer`);function rP(e,t){return`to`in e?[{field:`to`,value:e.to}]:`cycle`in e?e.cycle.map(e=>({field:`cycle`,value:e})):`from`in e?rg(e.from,t).members.map(e=>({field:`from`,value:e})):`min`in e?[{field:`min`,value:String(e.min)},{field:`max`,value:String(e.max)}]:nP}function iP(e,t){return Object.entries(e).filter(([e])=>t(e))}function aP(e,t,n,r){let i=$k(t),a=ng(i);for(let[n,o]of iP(t.actions,r)){let[t,r]=`from`in o?[`from`,o.from]:`insertSegmentFrom`in o?[`insertSegmentFrom`,o.insertSegmentFrom]:[null,null];if(t!==null&&typeof r==`string`&&!a.includes(r)){e.issues.push({path:`actions.${n}.${t}`,message:`actions.${n} ${t}: references ${ag(r,i)}`,line:X(e.source,[`actions`,n,t])});continue}if(!(`set`in o))continue;ga.has(o.set)&&e.issues.push({path:`actions.${n}.set`,message:`actions.${n} sets "${o.set}", which has no session pick — globals.${o.set} is set in the config file only, so a click would change nothing; write it with { persist: "${o.set}", … } instead`,line:X(e.source,[`actions`,n,`set`])});let s=ba.get(o.set);s!==void 0&&eP(e,n,o,s,i)}for(let[n,i]of iP(t.actions,r))`do`in i&&i.do.forEach((r,a)=>{let o=Object.prototype.hasOwnProperty.call(t.actions,r)?t.actions[r]:void 0,s=o===void 0?`references unknown action "${r}"`:`do`in o?`"${r}" is itself a do action — list its members here instead`:i.do.indexOf(r)===a?a>0&&IM(o)?`"${r}" 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:`"${r}" 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:X(e.source,[`actions`,n,`do`])})});for(let[n,i]of iP(t.actions,r)){let r=`persist`in i?i.persist:`reset`in i?i.reset:null;if(r===null)continue;let a=`persist`in i?`persist`:`reset`,o=UE(r);if(o===null){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${r}" is not a config globals field (have: ${ME().join(`, `)}), a "segments.<name>.palette" target, a "presets.<name>.globals.<field>" target, a "themeDefaults.<theme>.<shade|variation|style>" target, or a "presets.<name>.root" target`,line:X(e.source,[`actions`,n,a])});continue}let s=RN.filter(e=>e in i);if(o.scope!==`preset-root`&&s.length>0){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${r}" is not a "presets.<name>.root" target — ${s.map(e=>`"${e}"`).join(`/`)} is a tree op and applies only to one`,line:X(e.source,[`actions`,n,a])});continue}if(o.scope===`preset-root`){zN(e,t,n,a,r,o.preset,i);continue}if(o.scope===`preset-globals`&&!qh(t.presets).includes(o.preset)){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${r}" names preset "${o.preset}" which is not declared (have: ${qh(t.presets).join(`, `)})`,line:X(e.source,[`actions`,n,a])});continue}if(o.scope===`theme-default`&&!e.allowedPalettes.has(o.theme)){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${r}" names theme "${o.theme}" which is not installed${sp(o.theme)} (have: ${[...e.allowedPalettes].sort().join(`, `)})`,line:X(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}: "${r}" names segment "${o.segment}" which is not declared (have segments: ${Object.keys(t.segments).join(`, `)})${Ej(o.segment)}`,line:X(e.source,[`actions`,n,a])});continue}`min`in i&&e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${r}" is a segment palette target and cannot use a bounded stepper (min/max/by) — use "to", "from", or "cycle" instead`,line:X(e.source,[`actions`,n,a])})}}for(let[i,a]of iP(t.variables,r)){YN(e,`variables.${i}`,a,n);let t=PN(i);t!==void 0&&e.issues.push({path:`variables.${i}`,message:t,line:X(e.source,[`variables`,i])})}for(let[i,a]of iP(t.segments,r)){if(a.vars)for(let[t,r]of Object.entries(a.vars))YN(e,`segments.${i}.vars.${t}`,r,n,i);let r=wh(a);HN(e,i,r);let o=VN(n,r);for(let n of[`template`,`bg`,`fg`,`when`]){let s=a[n];if(typeof s==`string`){QN(e,`segments.${i}.${n}`,s,o,{segCtx:i,settings:r});for(let{name:r,site:a,via:o}of Sg(s,t.helpers)){if(Object.prototype.hasOwnProperty.call(t.actions,r))continue;let s=a===`options`?` (in a picker, menu, carousel, swatch, swatches or themePreview)`:``;if(o!==null){$N(e,o,`Template references unknown action "${r}"${s}`);continue}e.issues.push({path:`segments.${i}.${n}`,message:`${n} references unknown action "${r}"${s}`,line:X(e.source,[`segments`,i,n])})}}}}for(let[i,a]of iP(t.variables,r))XN(e,`variables.${i}`,a,n);for(let[i,a]of iP(t.segments,r))if(a.vars)for(let[t,r]of Object.entries(a.vars))XN(e,`segments.${i}.vars.${t}`,r,n,i)}function oP(e,t){let n=new Set;for(let r of qh(t.presets)){let i=Zh(t,r),a=[{},t.editGlobals];for(let o of a){let a=o.charset??i.charset??`unicode`,s=o.default_separator??i.default_separator;if(a!==`ascii`||Lp(s??``))continue;let c=o.default_separator===void 0?Yh(t.presets,r).globals?.default_separator===void 0?[`globals`]:[`presets`,r,`globals`]:[`editGlobals`],l=[...c,`default_separator`].join(`.`);n.has(l)||(n.add(l),e.issues.push({path:l,message:`${l} ${JSON.stringify(s)} is not ASCII, but charset is "ascii" — under ascii a joiner draws only ASCII; write an ASCII separator or set charset: "unicode"`,line:X(e.source,[...c,`default_separator`])}))}}}function sP(e,t,n=()=>!0){let{graph:r,nodeInfo:i}=cP(t),a=new Map,o=[];for(let e of r.keys())a.set(e,0);for(let e of r.keys())if(!(!n(e)||a.get(e)!==0)&&s(e))return;function s(t){a.set(t,1),o.push(t);for(let c of r.get(t)??[]){if(!n(c))continue;let t=a.get(c);if(t===1){let t=o.indexOf(c),n=[...o.slice(t),c],r=n[0],a=i.get(r);return e.issues.push({path:a?.declarationPath??`variables.${r}`,message:`Dependency cycle: ${n.join(` → `)}`,line:X(e.source,a?.linePathParts??[`variables`,r])}),!0}if(t===0&&s(c))return!0}return a.set(t,2),o.pop(),!1}}function cP(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 vg(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),yh(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}}function lP(e){return e===`~`||e.startsWith(`~/`)||e.startsWith(`~\\`)?h.homedir()+e.slice(1):e}function uP(e,t){return l.resolve(e,lP(t))}function dP(e,t){return typeof t==`string`&&t!==``?uP(e,t):void 0}function fP(e){return`plugin ${e.path} was not loaded: ${e.reason}`}const pP=new Set([`data`,`segments`,`helpers`,`actions`]),mP=`plugin.json5`,hP=/^[a-z][a-z0-9_]*$/;function gP(e){let t=l.basename(l.dirname(e));return hP.test(t)?t:void 0}const _P=`plugins.`;function vP(e){return`${_P}${e}.data`}function yP(e){try{return{ok:!0,value:e()}}catch(e){return{ok:!1,reason:bP(e)}}}function bP(e){return e instanceof Jw?e.issues.map(e=>e.path===``||e.message.includes(e.path)?e.message:`${e.path}: ${e.message}`).join(`; `):e instanceof Error?e.message:String(e)}function xP(e,t){return e.map(e=>uP(l.dirname(t),e))}function SP(e,t,n,i){let a=new Map;return e.reduce((e,n)=>{let o=gP(n),s=(t,r)=>{let i=new Map(e.rendering);return o!==void 0&&r!==e.config&&i.delete(o),{...e,config:r,rendering:i,dropped:[...e.dropped,{path:n,plugin:o,reason:t}]}};if(l.basename(n)!==`plugin.json5`){let t=`a plugin is a folder holding its ${mP}, and the folder's name is the plugin's: move this file to <dir>/<name>/${mP} and list that`;return s(t,o===void 0?e.config:TP(wP(e.config,o),o,{path:n,plugin:o,reason:t}))}if(o===void 0)return s(`its folder "${l.basename(l.dirname(n))}" is not a plugin name (one matching ${hP}: it prefixes every name the plugin declares)`,e.config);let c=a.get(o);if(c!==void 0)return s(`plugin "${o}" is already listed, from ${c}`,e.config);a.set(o,n);let u=wP(e.config,o),d=yP(()=>{let a=r.readFileSync(n,`utf-8`),s=zA(jP(n,o,{source:a,json:ur.default.parse(a)},t),u);return i(s,o,u!==e.config),s});if(d.ok)return{...e,config:d.value,loaded:[...e.loaded,n],rendering:new Map([...e.rendering,[o,n]])};let f={path:n,plugin:o,reason:d.reason};return s(d.reason,TP(u,o,f))},{config:n.config,rendering:n.rendering,loaded:[],dropped:[]})}function CP(e){let t=`${_P}${e}.`;return e=>e.startsWith(t)}function wP(e,t){let n=CP(t),r=e=>Object.fromEntries(Object.entries(e).filter(([e])=>!n(e)));return[e.variables,e.segments,e.helpers,e.actions].some(e=>Object.keys(e).some(n))?{...e,variables:r(e.variables),segments:r(e.segments),helpers:r(e.helpers),actions:r(e.actions)}:e}function TP(e,t,n){return{...e,variables:{...e.variables,[vP(t)]:{kind:`dropped`,reason:fP(n),definition:n.path}}}}function EP(e){return e.startsWith(`plugins.`)?e.slice(8).split(`.`)[0]:void 0}function DP(e,t){let n=new Set([...Object.keys(e.config.variables),...Object.keys(e.config.segments)].map(EP)),r=[...t,...e.dropped].filter(e=>e.plugin===void 0).map(e=>({definition:e.path,notice:fP(e)}));return t=>{let i=EP(t);if(i===void 0)return[];let a=e.config.variables[vP(i)];return a?.kind===`dropped`?[{definition:a.definition,notice:a.reason}]:n.has(i)?[]:r}}function OP(e,t){let n=qh(e.presets).flatMap(t=>[...dh(Xh(e,t).node)]).flatMap(e=>e.kind===`segment`?[e]:[]),r=[...new Set([...n.map(e=>e.name),...Object.keys(e.segments)])].map(e=>({name:e,cause:t(e)})).filter(({cause:e})=>e.length>0),i=Object.fromEntries(r.map(({name:e,cause:t})=>[e,kP(e,t.map(e=>e.notice),n.filter(t=>t.name===e))])),a=t=>{let n=EP(t),r=n===void 0?void 0:e.variables[vP(n)];return r?.kind===`dropped`?{definition:r.definition,notice:r.reason}:void 0},o=Object.values(e.variables).some(e=>e.kind===`dropped`),s=o?Object.values(e.segments).flatMap(e=>[`template`,`bg`,`fg`,`when`].flatMap(t=>e[t]===void 0?[]:[e[t]])):[],c=o?Object.values(e.actions).flatMap(e=>`do`in e?[...e.do]:[]):[],l=(e,t)=>[...new Set(e)].flatMap(e=>{let n=e in t?void 0:a(e);return n===void 0?[]:[[e,n]]}),u=l([...s.flatMap(t=>Sg(t,e.helpers).map(e=>e.name)),...c],e.actions),d=l(s.flatMap(t=>[...wg(t,e.helpers)]),e.helpers),f=new Set([...r.flatMap(({cause:e})=>e.map(e=>e.definition)),...[...u,...d].map(([,e])=>e.definition)]);return{config:{...e,segments:{...e.segments,...i},actions:{...e.actions,...Object.fromEntries(u.map(([e])=>[e,{copy:`{{ .${vP(EP(e)??``)} }}`}]))},helpers:{...e.helpers,...Object.fromEntries(d.map(([e,t])=>[e,`{{ fail ${JSON.stringify(t.notice)} }}`]))}},reached:f}}function kP(e,t,n){let r=`⚠ ${e}: ${t.join(`; `)}`,i=new Map;for(let e of n)for(let[t,n]of Object.entries(e.settings??{})){let e=i.get(t);i.set(t,e===void 0?[n]:[...e,n])}let a=Object.fromEntries([...i].map(([e,t])=>[e,AP(e,t)]));return{template:`{{ ${JSON.stringify(r)} }}`,bg:`error`,description:`stands in for a segment whose plugin did not load`,settings:a}}function AP(e,t){let[n]=t,r=t.filter(e=>typeof e==`number`);return typeof n==`boolean`?{label:e,domain:`bool`,default:n}:typeof n==`number`?{label:e,domain:{min:Math.min(...r),max:Math.max(...r),step:1},default:n}:{label:e,domain:[...new Set(t.map(String))],default:n}}function jP(e,t,{source:n,json:r},{checkout:i}){let a=[],o=()=>{throw new Jw(e,a)};if(!DT(r))return a.push({path:``,message:`a plugin definition must be an object, got ${OT(r)}`}),o();for(let e of Object.keys(r))pP.has(e)||a.push({path:e,message:e===`plugin`?`a plugin definition does not name itself: its name is its folder's ("${t}") — remove "plugin"`:`a plugin definition may not declare "${e}". Expected only: ${[...pP].join(`, `)}`});let s=PP(r.data,e,i,a);if(DT(r.segments)||a.push({path:`segments`,message:`"segments" must be an object naming the plugin's segments`}),a.length>0||s===void 0)return o();let c={source:n,issues:a,allowedPalettes:new Set(up()),groups:[]},l=QA(c,`data`,{[vP(t)]:{kind:`file`,path:s,parse:{json:!0},cache:{watch_file:s},default:{}}});for(let[e,t]of Object.entries(r.segments))DT(t)&&`vars`in t&&a.push({path:`segments.${e}.vars`,message:`a plugin segment may not declare "vars": a plugin's only source is its data file`});let u={variables:l,segments:NP(t,Wj(c,r.segments,new Set)),helpers:NP(t,jN(c,r.helpers)),actions:NP(t,LM(c,r.actions))};for(let[e,t]of MP(u))try{JE.parse(t)}catch(t){a.push({path:e,message:`Template parse error in ${e}: ${t.message}`})}return a.length>0&&o(),u}function*MP(e){for(let[t,n]of Object.entries(e.segments??{}))for(let e of[`template`,`bg`,`fg`,`when`]){let r=n[e];r!==void 0&&(yield[`segments.${t}.${e}`,r])}for(let[t,n]of Object.entries(e.helpers??{}))yield[`helpers.${t}`,`{{ define "${t}" }}${n}{{ end }}`];for(let[t,n]of Object.entries(e.actions??{}))`copy`in n&&(yield[`actions.${t}.copy`,n.copy]),`open`in n&&(yield[`actions.${t}.open`,n.open]),`preset`in n&&n.preset===`delete`&&(yield[`actions.${t}.name`,n.name])}function NP(e,t){return Object.fromEntries(Object.entries(t).map(([t,n])=>[`${_P}${e}.${t}`,n]))}function PP(e,t,n,r){if(typeof e==`string`&&e!==``)return uP(l.dirname(t),e);if(DT(e)&&Object.keys(e).length===1&&typeof e.checkout==`string`&&e.checkout!==``){let t=e.checkout;if(l.isAbsolute(t)||t.startsWith(`~`)||l.normalize(t).split(l.sep)[0]===`..`){r.push({path:`data.checkout`,message:`data.checkout "${t}" must be a path inside the checkout, relative to its root (like ".lit/statusline.json"): no absolute path, "~" or ".."`});return}if(n===null){r.push({path:`data.checkout`,message:`data is read from the session's checkout, and this load has no session`});return}return l.resolve(n.root,t)}if(DT(e)&&`project`in e){r.push({path:`data.project`,message:`data: { project } is now data: { checkout }: the same path, relative to the root of the git checkout the session works in (a linked worktree is its own checkout)`});return}r.push({path:`data`,message:`"data" must be the path of the plugin's JSON data file relative to this definition, or { checkout: "<path>" } relative to the root of the session's checkout`})}function FP(e){let t=(process.env.XDG_DATA_DIRS||IP()).split(`:`).filter(e=>e!==``),n=process.env.XDG_DATA_HOME||l.join(h.homedir(),`.local`,`share`),r=[...[...t].reverse().map(e=>l.join(e,`cc-candybar`,`plugins`)),l.join(n,`cc-candybar`,`plugins`),...e===null?[]:[l.join(e,`.cc-candybar`,`plugins`)]];return r.filter((e,t)=>r.lastIndexOf(e)===t)}function IP(){let e=`/usr/local/share:/usr/share`;return process.platform===`darwin`?`${l.join(process.env.HOMEBREW_PREFIX||`/opt/homebrew`,`share`)}:${e}`:e}function LP(e){let t=FP(e),n=new Map,r=[],i=[];for(let e of t){let t=RP(e);if(`error`in t){r.push(t);continue}for(let r of t.folders)n.delete(r),n.set(r,l.join(e,r,mP));for(let n of t.files)i.push({path:l.join(e,n),plugin:void 0,reason:`a plugin is a folder holding its ${mP}: move this file to ${l.join(e,`<name>`,mP)}`})}return{roots:t,definitions:[...n.values()],unchecked:r,strays:i}}function RP(e){try{let t=r.readdirSync(e,{withFileTypes:!0}).filter(e=>!e.name.startsWith(`.`)).sort((e,t)=>e.name<t.name?-1:+(e.name>t.name)),n=t=>t.isDirectory()||zP(e,t);return{folders:t.filter(n).map(e=>e.name),files:t.filter(e=>!n(e)).map(e=>e.name)}}catch(t){return t.code===`ENOENT`?{folders:[],files:[]}:{path:e,error:t.message}}}function zP(e,t){if(!t.isSymbolicLink())return!1;try{return r.statSync(l.join(e,t.name)).isDirectory()}catch{return!0}}const BP=[`json5`,`json`];function VP(e){try{return r.statSync(e,{throwIfNoEntry:!1})===void 0?`absent`:`present`}catch(t){return{path:e,error:t.message}}}function HP(e,t,n){if(n!==void 0)return[n];let r=t??process.cwd();return[...new Set([...e?BP.map(t=>l.join(e,`.cc-candybar.${t}`)):[],...BP.map(e=>l.join(r,`.cc-candybar.${e}`)),...BP.map(e=>`${UP()}.${e}`)])]}function UP(){let e=process.env.XDG_CONFIG_HOME??l.join(h.homedir(),`.config`);return l.join(e,`cc-candybar`,`config`)}function WP(e,t,n){let i=[],a=new Map;for(let o of HP(e,t,n)){let e=VP(o);if(e===`absent`)continue;if(e!==`present`){i.push(e);continue}let t=l.join(r.realpathSync(l.dirname(o)),l.basename(o).replace(/\.(json5|json)$/,``));a.has(t)||a.set(t,o)}let o=[...a.values()].reverse();if(n===void 0)return{kind:`chain`,layers:o,home:GP(o),unchecked:i};let[s]=i,c=n;return o.length>0?{kind:`chain`,layers:o,home:c,unchecked:i}:s===void 0?{kind:`missing`,path:n,home:c}:{kind:`unreadable`,...s,home:c}}function GP(e){let t=UP();return e.find(e=>BP.some(n=>e===`${t}.${n}`))??`${t}.${BP[0]}`}function KP(e,t,n){let r=WP(e,t,n),i=r.kind===`chain`?r.layers:[];return{path:r.home,above:i.filter(e=>e!==r.home),projectDir:e??null,cwd:t??null}}function qP(e){return JP(e).join(`
|
|
180
|
-
`)||null}function JP(e){switch(e.kind){case`chain`: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 YP(e,t){let n=HP(e,t).filter(e=>VP(e)===`present`),r=new Map;for(let e of n){let t=l.dirname(e),n=l.basename(e).replace(/\.(json5|json)$/,``),i=l.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 XP(e,t,n,i){return e===null?{...aF,config:zA(aF.raw,t)}:QP(e,r.readFileSync(e,`utf-8`),t,n,i)}const ZP={projectDir:null,checkout:null,beneath:{dropped:[],rendering:new Map}};function QP(e,t,n,r,i){let a=cF(e,t,i,(t,a)=>{let o=SP(xP(t,e),r,{config:n,rendering:r.beneath.rendering},(t,n,r)=>rF(t,n,r,e,i)),s=DP(o,r.beneath.dropped);return{inherited:new Set([...Uj(o.config),...a.filter(e=>s(e).length>0)]),layer:{plugins:o,owning:s}}}),{plugins:o,owning:s}=a.layer,c=OP(zA(a.raw,o.config),s);return{source:t,raw:a.raw,warnings:[...a.warnings,...o.dropped.map(fP)],plugins:{loaded:o.loaded,dropped:o.dropped,reached:c.reached,rendering:o.rendering},config:c.config}}const $P=new WeakMap;function eF(e,t,n,r){let i=JSON.stringify([[...r??[]].sort(),e.map(e=>[e,tF(e)])]),a=$P.get(n)??new Map;$P.set(n,a);let o=JSON.stringify([t.projectDir,t.checkout?.root??null]),s=a.get(o);if(s?.key===i)return s.layer;let c=SP(e,t,{config:n,rendering:new Map},(e,t,n)=>rF(e,t,n,`<installed plugins>`,r));return a.set(o,{key:i,layer:c}),c}function tF(e){try{let t=r.statSync(e);return`${t.ino}:${t.size}:${t.mtimeMs}`}catch(e){return e.code??`unreadable`}}function nF(e,t,n,i,a=e=>r.readFileSync(e,`utf-8`),o){let s={projectDir:i.projectDir,checkout:i.cwd===null?null:
|
|
147
|
+
New: { h: ["seg1", "seg2"] }`,line:Y(e.source,[`root`])}),Qj;if(n.kind===`group`){let r=kT(e,_M,t,n);return r===null?Qj:(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}),yM(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:Y(e.source,[`root`])}),Qj}if(a){let r=kT(e,sM,t,n);return r===null?Qj:{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=kT(e,cM,t,n);return r===null?Qj:{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=kT(e,lM,t,n);return r===null?Qj:{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:Y(e.source,[`root`])}),Qj};function dM(){return{required:!0,json:{type:`object`,propertyNames:{pattern:Fh.source},additionalProperties:{$ref:Zj}},parse:(e,t,n,r)=>{let i=r[n];if(!OT(i))return e.issues.push({path:`${t}.${n}`,message:`"rows" must be an object of row name → layout node, got ${Z(i)}`,line:Y(e.source,[...t.split(`.`),n])}),{};let a={};for(let[r,o]of Object.entries(i)){if(!Fh.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:Y(e.source,[...t.split(`.`),n,r])});continue}a[r]=uM(e,`${t}.${n}.${r}`,o)}return a}}}const fM={noun:`root key`,fields:{rows:dM(),when:BT(),distribution:iM()}};function pM(e,t,n){return OT(n)&&`rows`in n?kT(e,fM,t,n)??{rows:{}}:uM(e,t,n)}function mM(){return{required:!0,json:{type:`string`,pattern:Fh.source},parse:(e,t,n,r)=>{let i=r[n];if(typeof i!=`string`||!Fh.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 "${qn}", got ${Q(i)}`,line:Y(e.source,[`root`])});return}return i}}}function hM(){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 ${Q(i)}`,line:Y(e.source,[`root`])});return}return i}}}}function gM(){return{required:!0,json:{type:`string`,pattern:`^[^\\n\\r]*$`},parse:(e,t,n,r)=>{let i=CT(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:Y(e.source,[...t.split(`.`),n])});return}return i}}}}const _M={noun:`layout-node key`,fields:{kind:$j(`group`),name:mM(),label:gM(),open:VT(),direction:JT(oh),key:hM(),bg:BT(),fg:BT(),when:BT(),distribution:iM(),children:nM(RT(()=>uM))}};function vM(e){return e.key??`groups.`+e.name}function yM(e){let t=eT+e.name;return Qn(t,{variable:t,key:vM(e),member:e.name},{kind:`container`,direction:e.direction??`vertical`,children:e.children,...e.distribution!==void 0&&{distribution:e.distribution}},`drop`,e.when)}function bM(e,t,n){e.issues.push({path:t,message:n,line:Y(e.source,[`root`])})}function xM(e,t){oT(e,t,eT,`group nodes`);let n=e.groups;if(n.length===0)return;let r=new Set;for(let t of n)r.has(t.name)&&bM(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}.`)&&vM(t)===vM(r)&&bM(e,t.path,`group "${t.name}" shares key "${vM(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=vM(t);if(i.has(n)||i.set(n,qn),t.open===!0){let r=i.get(n);r!==`closed`&&bM(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=eT+e.name,r=vM(e),c=n.filter(t=>t!==e&&e.path.startsWith(t.path+`.`)).length,l=` `.repeat(c);a[t]=ir(r,i.get(r)),o[t]=ar(r,e.name),s[t]={template:tr(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}}const SM=`menu`,CM=`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`,wM=e=>e.kind===`call`&&e.name===`dict`,TM=e=>e.kind===`literal`&&typeof e.value!=`object`,EM=e=>Yn(``,e,2)===void 0;function DM(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&&wM(i)?i:void 0,o=a===void 0?r:r.slice(0,-1);if(o.some(wM))return t(`whose options (dict …) is not its last argument — ${CM}`);if(i!==void 0&&a===void 0&&!TM(i)&&EM(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=Yn(`whose trigger`,o.length,2);if(s!==void 0)return t(`${s} — ${CM}`);let c=a===void 0?{}:Sb(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=hT(c)}catch(e){return t(`with invalid options — ${e.message}`)}let u=l.key;if(u!==void 0){let e=aT(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 "${lT(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 OM(e){let t=jv({fromString:e=>e});try{return t.parse(e).referencedCalls().filter(e=>e.name===SM).map(DM)}catch{return`parse-failed`}}function kM(e){let t=jv({fromString:e=>e});try{return t.parse(e).referencedFunctions().has(SM)}catch{return!1}}function AM(e,t,n){e.issues.push({path:t,message:n,line:Y(e.source,[`root`])})}function jM(e,t){oT(e,t,tT,`{{ menu }} helpers`);for(let[n,r]of Object.entries(t.helpers??{}))kM(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:Y(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`&&kM(i)&&AM(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 fh(Hh(t.root)))typeof n.when==`string`&&kM(n.when)&&AM(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||!kM(r))continue;let n=OM(r);if(n!==`parse-failed`)for(let r of n){let n=r.kind===`issue`?r.message:MM(r.apply);n!==void 0&&AM(e,`segments.${t}`,`segment "${t}" has a {{ menu }} ${n}.`)}}}function MM(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(sT(e)===`closed`)return`whose apply action is named "${qn}", which collides with the menu's closed-state sentinel and leaves it unopenable. Rename the action`}function NM(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 Jh(e.presets)){let a=new Map,s=new Map;for(let c of fh(Zh(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,OM(t.template));let l=i.get(c.name);if(l===`parse-failed`)continue;let u=ch(c);for(let[e,t]of l.entries()){if(t.kind===`issue`||MM(t.apply)!==void 0)continue;let{apply:i,options:l}=t,d=sT(i),f=cT(u,i,l.key),p=dT(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=uT(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]=ar(f,d),n[f]=ir(f,qn),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 PM=[`set`,`persist`,`copy`,`open`,`reset`,`undo`,`redo`,`back`,`rewind`,`save`,`preset`,`themeDefault`,`doctor`,`ceiling`,`slash`,`do`];function FM(e){return e.ceiling===`set`?[`set`,e.to]:[`clear`]}function IM(e){return`from`in e||`int`in e||`insertSegmentFrom`in e}function LM(e,t){if(t===void 0)return{};if(!OT(t))return $(e,`actions`,`actions must be an object, got ${Z(t)}`),{};let n=Object.create(null);for(let[r,i]of Object.entries(t)){let t=RM(e,`actions.${r}`,i);t!==null&&(n[r]=t)}return n}function $(e,t,n){e.issues.push({path:t,message:n,line:Y(e.source,t.split(`.`))})}function RM(e,t,n){if(!OT(n))return $(e,t,`${t} must be an action object, got ${Z(n)}`),null;if(`persistWhen`in n)return $(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=PM.filter(e=>e in n);return r.length===1?zM[r[0]](e,t,n):($(e,t,`action must declare exactly one of: ${PM.join(`, `)}${r.length>1?` (found: ${r.join(`, `)})`:``}`),null)}const zM={set:(e,t,n)=>vN(e,t,n,`set`,mN),persist:(e,t,n)=>vN(e,t,n,`persist`,hN),copy:BM(`copy`),open:BM(`open`),reset:VM,undo:UM(`undo`),redo:UM(`redo`),back:UM(`back`),rewind:UM(`rewind`),save:UM(`save`),preset:WM,themeDefault:GM,doctor:KM,ceiling:qM,slash:JM,do:YM};function BM(e){return(t,n,r)=>{for(let i of Object.keys(r))i!==e&&$(t,`${n}.${i}`,`Unknown key "${i}" on a ${e} action. Expected only: ${e}`);let i=CT(t,n,r,e);return i===null?null:{[e]:i}}}function VM(e,t,n){for(let r of Object.keys(n))r!==`reset`&&$(e,`${t}.${r}`,`Unknown key "${r}" on a reset action. Expected only: reset`);let r=XM(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 HM={undo:`it steps the session's settings history`,redo:`it steps the session's settings history`,back:`it steps the session's navigation history`,rewind:`it steps the session's settings history back to where edit mode opened`,save:`it saves the session's unsaved settings`};function UM(e){return(t,n,r)=>{for(let i of Object.keys(r))i!==e&&$(t,`${n}.${i}`,`Unknown key "${i}" on a ${e} action. Expected only: ${e}`);return r[e]===!0?{[e]:!0}:($(t,`${n}.${e}`,`${e} must be the literal true (it takes no key — ${HM[e]}), got ${Q(r[e])}`),null)}}function WM(e,t,n){let r=n.preset,i=r===`save`?[`preset`]:[`preset`,`name`];for(let r of Object.keys(n))i.includes(r)||$(e,`${t}.${r}`,`Unknown key "${r}" on a preset action. Expected only: ${i.join(`, `)}`);if(r!==`save`&&r!==`delete`)return $(e,`${t}.preset`,`preset must be "save" or "delete", got ${Q(r)}`),null;if(r===`save`)return{preset:`save`};let a=CT(e,t,n,`name`);return a===null?null:{preset:`delete`,name:a}}function GM(e,t,n){for(let r of Object.keys(n))r!==`themeDefault`&&$(e,`${t}.${r}`,`Unknown key "${r}" on a themeDefault action. Expected only: themeDefault`);return n.themeDefault===`save`?{themeDefault:`save`}:($(e,`${t}.themeDefault`,`themeDefault must be "save" (it saves the look the session draws as the active theme's default), got ${Q(n.themeDefault)}`),null)}function KM(e,t,n){let r=n.doctor,i=r===`run`?[`doctor`]:[`doctor`,`check`];for(let r of Object.keys(n))i.includes(r)||$(e,`${t}.${r}`,`Unknown key "${r}" on a doctor action. Expected only: ${i.join(`, `)}`);if(r!==`run`&&r!==`fix`)return $(e,`${t}.doctor`,`doctor must be "run" or "fix", got ${Q(r)}`),null;if(r===`run`)return{doctor:`run`};let a=n.check;return typeof a!=`string`||PD(a)===void 0?($(e,`${t}.check`,`doctor fix must name a check (have: ${MD.map(e=>e.name).join(`, `)}), got ${Q(a)}`),null):{doctor:`fix`,check:a}}function qM(e,t,n){let r=n.ceiling,i=r===`clear`?[`ceiling`]:[`ceiling`,`to`];for(let r of Object.keys(n))i.includes(r)||$(e,`${t}.${r}`,`Unknown key "${r}" on a ceiling action. Expected only: ${i.join(`, `)}`);if(r===`clear`)return{ceiling:`clear`};if(r!==`set`)return $(e,`${t}.ceiling`,`ceiling must be "set" or "clear", got ${Q(r)}`),null;let a=n.to;return typeof a!=`string`||a.trim()===``?($(e,`${t}.to`,`ceiling set needs \`to\`: a memento ceiling value such as "+100_000", "400000" or "off", got ${Q(a)}`),null):{ceiling:`set`,to:a}}function JM(e,t,n){for(let r of Object.keys(n))r!==`slash`&&$(e,`${t}.${r}`,`Unknown key "${r}" on a slash action. Expected only: slash`);let r=qD(n.slash);return r.kind===`refused`?($(e,`${t}.slash`,r.reason),null):{slash:r.line}}function YM(e,t,n){for(let r of Object.keys(n))r!==`do`&&$(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===``)?($(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 ${Q(r)}`),null):{do:r}}function XM(e,t,n,r,i,a){let o=CT(e,t,r,n);if(o===null)return null;let s=`${t}.${n}`;return o===``?($(e,s,i),null):o.includes(`/`)?($(e,s,a(o)),null):o}const ZM={set:`the SessionState key to write`,persist:`the config globals field to write`};function QM(e,t,n,r){let i=ZM[r],a=XM(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 $M(e){return e===`set`?`set-state`:`set-config`}const eN={to:yN(`set`)},tN={to:yN(`persist`)},nN={from:bN(`set`)},rN={from:bN(`persist`)},iN={min:TN(),max:TN(),by:TN()},aN={int:SN()},oN={cycle:xN(`set`)},sN={cycle:xN(`persist`)},cN={removeSegment:CN(`removeSegment`)},lN={insertSegment:CN(`insertSegment`),anchor:CN(`anchor`),relation:wN()},uN={insertSegmentFrom:bN(`persist`),anchor:CN(`anchor`),relation:wN()},dN={ok:e=>e.min<e.max,issue:e=>({field:`min`,message:`min (${e.min}) must be less than max (${e.max})`})},fN={ok:e=>e.by!==0,issue:()=>({field:`by`,message:`by must be a non-zero integer (the per-click increment; negative steps down)`})};function pN(e,t,n=[],r){let i=Object.keys(t),a=r??i,o=[e],s=(e,n,r)=>jT(e,t,n,r),c=YT(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?zT(s,...n):s}}const mN=[pN(`set`,eN),pN(`set`,nN),pN(`set`,iN,[dN,fN]),pN(`set`,aN),pN(`set`,oN)],hN=[pN(`persist`,tN),pN(`persist`,rN),pN(`persist`,iN,[dN,fN]),pN(`persist`,sN),pN(`persist`,cN),pN(`persist`,lN,[],[`insertSegment`]),pN(`persist`,uN,[],[`insertSegmentFrom`])];function gN(e){let t=[`"to" (a literal value)`,`"from" (an option domain — a registered domain name like "themes"/"endcaps"/"styles", 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 _N(e){let t=gN(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 vN(e,t,n,r,i){let a=QM(e,t,n,r),o=i.filter(e=>e.detect.some(e=>e in n));if(o.length!==1)return $(e,t,`${_N(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)||$(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 yN(e){let t=$M(e);return{required:!0,json:{type:`string`},parse:(n,r,i,a)=>XM(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 bN(e){let t=$M(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===``){$(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){$(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===``)){$(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){$(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){$(n,s,`${i} array members must be unique — a duplicated value would render the same picker option twice`);return}return r}$(n,s,`${i} must be a domain name (a string) or an inline domain (an array of strings), got ${Q(o)}`)}}}function xN(e){let t=$M(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`)){$(n,s,`cycle must be an array of strings (the enumerated values a click steps through), got ${Z(o)}`);return}let c=o;if(c.length<2){$(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){$(n,s,`cycle members must be non-empty — an empty value cannot be delivered on the ${t} wire`);return}if(u.length>0){$(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){$(n,s,`cycle members must be unique — the successor of a duplicated member is ambiguous`);return}return c}}}function SN(){return{required:!0,json:{const:!0},parse:(e,t,n,r)=>{if(r[n]!==!0){$(e,`${t}.${n}`,`int must be the literal true (declares the key an unbounded integer cursor — a paged picker's page key), got ${Q(r[n])}`);return}return!0}}}function CN(e){return{required:!0,json:{type:`string`},parse:(t,n,r,i)=>{let a=CT(t,n,i,r);if(a===null)return;let o=`${n}.${r}`;if(a===``){$(t,o,`${e} must be non-empty (a segment name)`);return}if(a.includes(`/`)||a.includes(`:`)){$(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 wN(){return{required:!0,json:{enum:[`before`,`after`]},parse:(e,t,n,r)=>{let i=r[n];if(i!==`before`&&i!==`after`){$(e,`${t}.${n}`,`relation must be "before" or "after", got ${Q(i)}`);return}return i}}}function TN(){return{required:!0,json:{type:`integer`},parse:(e,t,n,r)=>{let i=r[n];if(typeof i!=`number`||!Number.isInteger(i)){$(e,`${t}.${n}`,`${n} must be an integer, got ${Q(i)}`);return}return i}}}function EN(e,t,n){return`${e}: "${t}" is an endcaps shape, not a style — endcaps were renamed from "style" to "endcaps"; write ${n}: "${t}"`}const DN={noun:`style key`,fields:{hueShift:UT(),chromaScale:UT({min:0}),lightnessScale:UT(),lightnessShift:UT()}};function ON(e,t){if(!OT(t))return e.issues.push({path:`styles`,message:`styles must be an object mapping style names to adaptation objects, got ${Z(t)}`,line:Y(e.source,[`styles`])}),{};let n={};for(let[r,i]of Object.entries(t)){if(r===``||r.includes(`/`)){e.issues.push({path:`styles.${r}`,message:`style name ${JSON.stringify(r)} must be non-empty and slash-free — a style picker writes the name on the set-state wire, which rejects empty values and splits on "/"`,line:Y(e.source,[`styles`,r])});continue}if(Fp(r)){e.issues.push({path:`styles.${r}`,message:EN(`styles.${r}`,r,`globals.endcaps`),line:Y(e.source,[`styles`,r])});continue}let t=kT(e,DN,`styles.${r}`,i);t!==null&&(n[r]={...Ms,...t})}return n}const kN={noun:`preset key`,fields:{root:{required:!1,json:{$ref:`#/definitions/RootFragment`},parse:(e,t,n,r)=>r[n]===void 0?void 0:pM(e,`${t}.${n}`,r[n])},globals:{required:!1,json:OE(),parse:(e,t,n,r)=>r[n]===void 0?void 0:DE(e,`${t}.${n}`,r[n])}}};function AN(e,t){if(!OT(t))return e.issues.push({path:`presets`,message:`presets must be an object mapping preset names to config fragments, got ${Z(t)}`,line:Y(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:Y(e.source,[`presets`,r])});continue}let t=kT(e,kN,`presets.${r}`,i);t!==null&&(n[r]=t)}return n}function jN(e,t){if(t===void 0)return{};if(!OT(t))return e.issues.push({path:`helpers`,message:`helpers must be an object, got ${Z(t)}`,line:Y(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 ${Q(i)}`,line:Y(e.source,[`helpers`,r])});continue}n[r]=i}return n}const MN=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 NN(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 PN(e){let t=MN.get(e);return t===void 0?void 0:`variables.${e} is no longer read: ${NN(t)}`}function FN(e){let t=MN.get(e);return t===void 0?``:` — ".${e}" is no longer a variable: ${NN(t)}; a "${t.segment}" template reads it as ".settings.${t.setting}"`}function IN(e,t){let n=new Map;for(let e of Object.keys(t)){let t=Jw(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:Y(e.source,[`presets`])})}function LN(e,t,n){let r=[[[`globals`],t.globals.style,`globals.endcaps`],[[`editGlobals`],t.editGlobals.style,`editGlobals.endcaps`],...Object.entries(t.presets).map(([e,t])=>[[`presets`,e,`globals`],t.globals?.style,`presets.${e}.globals.endcaps`]),...Object.entries(t.themeDefaults).map(([e,t])=>[[`themeDefaults`,e],t.style,`globals.endcaps`])];for(let[n,i,a]of r){if(i===void 0||_p(i)||Object.prototype.hasOwnProperty.call(t.styles,i))continue;let r=`${n.join(`.`)}.style`;e.issues.push({path:r,message:Fp(i)?EN(r,i,a):`${r} "${i}" does not match any declared style (have: ${Object.keys(t.styles).join(`, `)})`,line:Y(e.source,[...n,`style`])})}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:Y(e.source,[`globals`,`preset`])}),IN(e,t.presets),oP(e,t);let i=Dg(t);for(let t of i.names)t!==`settings`&&!t.startsWith(BN)||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:Y(e.source,[`variables`,t])});let a=(t,n,r)=>{wk(t)>1&&e.issues.push({path:n,message:`${n} places the global settings menu anchor "${aO}" ${wk(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}),Tk(t)&&e.issues.push({path:n,message:`${n} places the global settings menu anchor "${aO}" 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 shade, 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 fh(t)){if(e.kind!==`segment`)continue;let t=ch(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=uh(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||sh[e.direction]===`cell`))}let s=(n,r)=>{for(let[a,o]of Uh(n,r)){let n=Y(e.source,o.split(`.`));if(a.when!==void 0&&(QN(e,`${o}.when`,a.when,i,{line:n}),ZN(e,`${o}.when`,a.when,n)),a.kind===`segment`){if(xk(a.name)){(a.id!==void 0||a.settings!==void 0)&&e.issues.push({path:o,message:`${r} gives the global settings menu anchor "${aO}" an id or settings — the anchor only marks where the menu goes, so place it as the bare name "${aO}"`,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${Ej(a.name)}`,line:n}),JN(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`,Vh(t.root)]]);for(let e of Jh(t.presets)){let{node:n,path:r}=Zh(t,e);c.set(r,n)}for(let[t,n]of c)a(n,t,Y(e.source,t.split(`.`)));aP(e,t,i,()=>!0)}const RN=[`removeSegment`,`insertSegment`,`insertSegmentFrom`];function zN(e,t,n,r,i,a,o){let s=`actions.${n}.${r}`,c=Y(e.source,[`actions`,n,r]);if(!Jh(t.presets).includes(a)){e.issues.push({path:s,message:`actions.${n}: "${i}" names preset "${a}" which is not declared (have: ${Jh(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(`, `)})${Ej(i)}`,line:c})},p=new Set(lh(Zh(t,a).node)),m=(r,i)=>{!Tj.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${Ej(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 BN=`settings.`;function VN(e,t){return{...e,names:new Set([...e.names,...Object.keys(t).map(e=>BN+e)])}}function HN(e,t,n){let r=e=>`segments.${t}.settings.${e}`,i=(n,i)=>{e.issues.push({path:r(n),message:`${r(n)}: ${i}`,line:Y(e.source,[`segments`,t,`settings`,n])})},a=GN(n);for(let{setting:e,message:t}of a)i(e,t);if(!(a.length>0))for(let{setting:e,message:t}of Dh(n,WN(n)))i(e,`the defaults do not stand together: ${t}`)}function UN(e){return GN(e).length>0||Dh(e,WN(e)).length>0}function WN(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,t.default]))}function GN(e){let t=t=>Eh(KN(e,t))?.atLeast;return Object.keys(e).flatMap(n=>{let r=t(n);if(r===void 0)return[];if(r===n||Eh(KN(e,r))===void 0)return[{setting:n,message:`atLeast "${r}" must name another range setting of this segment (its range settings: ${qN(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 KN(e,t){return Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0}function qN(e,t){return Object.entries(e).filter(([e,n])=>e!==t&&Eh(n)!==void 0).map(([e])=>e)}function JN(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=Th(a),s=`${r}: placement "${ch(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(`, `)})`:Oh(c,a)?void 0:`sets "${t}" to ${JSON.stringify(a)}${c.domain===`theme`?cp(a):``}, but it must be ${Mh(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])=>Oh(o[e],t))||UN(o)))for(let{message:t}of Dh(o,c))e.issues.push({path:r,message:`${s}: ${t}`,line:i})}function YN(e,t,n,r,i){n.kind===`template`&&QN(e,`${t}.template`,n.template,r,{segCtx:i}),bh(n)&&`key`in n.cache&&QN(e,`${t}.cache.key`,n.cache.key,r,{segCtx:i})}function XN(e,t,n,r,i){if(!(!bh(n)||!(`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:Y(e.source,[...t.split(`.`),`cache`,`depends_on`])})}}function ZN(e,t,n,r){try{JE.parse(n)}catch(n){e.issues.push({path:t,message:`Template parse error in ${t}: ${n.message}`,line:r})}}function QN(e,t,n,r,i){for(let[a,o]of yg(n,r.helpers)){if(Eg(a,r))continue;if(a.startsWith(BN)){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??Y(e.source,t.split(`.`))});continue}if(o!==null){$N(e,o,`Template references unknown variable ".${a}"${FN(a)}`);continue}let n=i?.segCtx===void 0?void 0:`${i.segCtx}.${a}`,s=n!==void 0&&Eg(n,r)?` (segment-local vars are namespaced — write ".${n}")`:FN(a);e.issues.push({path:t,message:`Template references unknown variable ".${a}"${s}`,line:i?.line??Y(e.source,t.split(`.`))})}}function $N(e,t,n){let r=`helpers.${t}`;e.issues.some(e=>e.path===r&&e.message===n)||e.issues.push({path:r,message:n,line:Y(e.source,[`helpers`,t])})}function eP(e,t,n,r,i){let a=n.set,o=fE(ha[r].configKey),s=`${a} takes ${vT(o,i)}`;if(`min`in n&&(o===`bool`||!(`min`in o))){e.issues.push({path:`actions.${t}.min`,message:`actions.${t}: a stepper writes the integers from ${n.min} to ${n.max}, and ${a} is not an integer range; ${s}`,line:Y(e.source,[`actions`,t,`min`])});return}let c=rP(n,i);if(c===nP){e.issues.push({path:`actions.${t}.int`,message:`actions.${t}.int: an int cursor writes whatever integer the template binds, and a click outside the ${a} domain would change nothing; ${s}`,line:Y(e.source,[`actions`,t,`int`])});return}let l=c.filter(e=>!_T(o,e.value,i));if(l.length!==0){if(a===ha.style.sessionKey&&(`from`in n&&n.from===`endcaps`||c.every(e=>Fp(e.value)))){let r=ha.endcaps.sessionKey;e.issues.push(`to`in n?{path:`actions.${t}.to`,message:EN(`actions.${t}.to`,n.to,`set: "${r}", to`),line:Y(e.source,[`actions`,t,`to`])}:{path:`actions.${t}.set`,message:`actions.${t}.set: "${a}" here writes only endcaps shapes, not styles — endcaps were renamed from "style" to "endcaps"; write set: "${r}"`,line:Y(e.source,[`actions`,t,`set`])});return}for(let n of new Set(l.map(e=>e.field))){let r=l.filter(e=>e.field===n).map(e=>JSON.stringify(e.value)),i=r.length<=tP?r.join(`, `):`${r.slice(0,tP).join(`, `)} and ${r.length-tP} more`,o=`actions.${t}.${n}`;e.issues.push({path:o,message:`${o}: ${i} ${r.length===1?`is`:`are`} outside the ${a} domain — a click would write it and nothing would change; ${s}`,line:Y(e.source,[`actions`,t,n])})}}}const tP=3,nP=Symbol(`any integer`);function rP(e,t){return`to`in e?[{field:`to`,value:e.to}]:`cycle`in e?e.cycle.map(e=>({field:`cycle`,value:e})):`from`in e?ig(e.from,t).members.map(e=>({field:`from`,value:e})):`min`in e?[{field:`min`,value:String(e.min)},{field:`max`,value:String(e.max)}]:nP}function iP(e,t){return Object.entries(e).filter(([e])=>t(e))}function aP(e,t,n,r){let i=$k(t),a=rg(i);for(let[n,o]of iP(t.actions,r)){let[t,r]=`from`in o?[`from`,o.from]:`insertSegmentFrom`in o?[`insertSegmentFrom`,o.insertSegmentFrom]:[null,null];if(t!==null&&typeof r==`string`&&!a.includes(r)){e.issues.push({path:`actions.${n}.${t}`,message:`actions.${n} ${t}: references ${og(r,i)}`,line:Y(e.source,[`actions`,n,t])});continue}if(!(`set`in o))continue;va.has(o.set)&&e.issues.push({path:`actions.${n}.set`,message:`actions.${n} sets "${o.set}", which has no session pick — globals.${o.set} is set in the config file only, so a click would change nothing; write it with { persist: "${o.set}", … } instead`,line:Y(e.source,[`actions`,n,`set`])});let s=Sa.get(o.set);s!==void 0&&eP(e,n,o,s,i)}for(let[n,i]of iP(t.actions,r))`do`in i&&i.do.forEach((r,a)=>{let o=Object.prototype.hasOwnProperty.call(t.actions,r)?t.actions[r]:void 0,s=o===void 0?`references unknown action "${r}"`:`do`in o?`"${r}" is itself a do action — list its members here instead`:i.do.indexOf(r)===a?a>0&&IM(o)?`"${r}" 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:`"${r}" 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:Y(e.source,[`actions`,n,`do`])})});for(let[n,i]of iP(t.actions,r)){let r=`persist`in i?i.persist:`reset`in i?i.reset:null;if(r===null)continue;let a=`persist`in i?`persist`:`reset`,o=UE(r);if(o===null){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${r}" is not a config globals field (have: ${ME().join(`, `)}), a "segments.<name>.palette" target, a "presets.<name>.globals.<field>" target, a "themeDefaults.<theme>.<shade|variation|style>" target, or a "presets.<name>.root" target`,line:Y(e.source,[`actions`,n,a])});continue}let s=RN.filter(e=>e in i);if(o.scope!==`preset-root`&&s.length>0){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${r}" is not a "presets.<name>.root" target — ${s.map(e=>`"${e}"`).join(`/`)} is a tree op and applies only to one`,line:Y(e.source,[`actions`,n,a])});continue}if(o.scope===`preset-root`){zN(e,t,n,a,r,o.preset,i);continue}if(o.scope===`preset-globals`&&!Jh(t.presets).includes(o.preset)){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${r}" names preset "${o.preset}" which is not declared (have: ${Jh(t.presets).join(`, `)})`,line:Y(e.source,[`actions`,n,a])});continue}if(o.scope===`theme-default`&&!e.allowedPalettes.has(o.theme)){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${r}" names theme "${o.theme}" which is not installed${cp(o.theme)} (have: ${[...e.allowedPalettes].sort().join(`, `)})`,line:Y(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}: "${r}" names segment "${o.segment}" which is not declared (have segments: ${Object.keys(t.segments).join(`, `)})${Ej(o.segment)}`,line:Y(e.source,[`actions`,n,a])});continue}`min`in i&&e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${r}" is a segment palette target and cannot use a bounded stepper (min/max/by) — use "to", "from", or "cycle" instead`,line:Y(e.source,[`actions`,n,a])})}}for(let[i,a]of iP(t.variables,r)){YN(e,`variables.${i}`,a,n);let t=PN(i);t!==void 0&&e.issues.push({path:`variables.${i}`,message:t,line:Y(e.source,[`variables`,i])})}for(let[i,a]of iP(t.segments,r)){if(a.vars)for(let[t,r]of Object.entries(a.vars))YN(e,`segments.${i}.vars.${t}`,r,n,i);let r=Th(a);HN(e,i,r);let o=VN(n,r);for(let n of[`template`,`bg`,`fg`,`when`]){let s=a[n];if(typeof s==`string`){QN(e,`segments.${i}.${n}`,s,o,{segCtx:i,settings:r});for(let{name:r,site:a,via:o}of Cg(s,t.helpers)){if(Object.prototype.hasOwnProperty.call(t.actions,r))continue;let s=a===`options`?` (in a picker, menu, carousel, swatch, swatches or themePreview)`:``;if(o!==null){$N(e,o,`Template references unknown action "${r}"${s}`);continue}e.issues.push({path:`segments.${i}.${n}`,message:`${n} references unknown action "${r}"${s}`,line:Y(e.source,[`segments`,i,n])})}}}}for(let[i,a]of iP(t.variables,r))XN(e,`variables.${i}`,a,n);for(let[i,a]of iP(t.segments,r))if(a.vars)for(let[t,r]of Object.entries(a.vars))XN(e,`segments.${i}.vars.${t}`,r,n,i)}function oP(e,t){let n=new Set;for(let r of Jh(t.presets)){let i=Qh(t,r),a=[{},t.editGlobals];for(let o of a){let a=o.charset??i.charset??`unicode`,s=o.default_separator??i.default_separator;if(a!==`ascii`||Rp(s??``))continue;let c=o.default_separator===void 0?Xh(t.presets,r).globals?.default_separator===void 0?[`globals`]:[`presets`,r,`globals`]:[`editGlobals`],l=[...c,`default_separator`].join(`.`);n.has(l)||(n.add(l),e.issues.push({path:l,message:`${l} ${JSON.stringify(s)} is not ASCII, but charset is "ascii" — under ascii a joiner draws only ASCII; write an ASCII separator or set charset: "unicode"`,line:Y(e.source,[...c,`default_separator`])}))}}}function sP(e,t,n=()=>!0){let{graph:r,nodeInfo:i}=cP(t),a=new Map,o=[];for(let e of r.keys())a.set(e,0);for(let e of r.keys())if(!(!n(e)||a.get(e)!==0)&&s(e))return;function s(t){a.set(t,1),o.push(t);for(let c of r.get(t)??[]){if(!n(c))continue;let t=a.get(c);if(t===1){let t=o.indexOf(c),n=[...o.slice(t),c],r=n[0],a=i.get(r);return e.issues.push({path:a?.declarationPath??`variables.${r}`,message:`Dependency cycle: ${n.join(` → `)}`,line:Y(e.source,a?.linePathParts??[`variables`,r])}),!0}if(t===0&&s(c))return!0}return a.set(t,2),o.pop(),!1}}function cP(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 yg(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),bh(n)&&(`key`in n.cache&&i(e,n.cache.key),`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}}function lP(e){return e===`~`||e.startsWith(`~/`)||e.startsWith(`~\\`)?h.homedir()+e.slice(1):e}function uP(e,t){return l.resolve(e,lP(t))}function dP(e,t){return typeof t==`string`&&t!==``?uP(e,t):void 0}function fP(e){return`plugin ${e.path} was not loaded: ${e.reason}`}const pP=new Set([`data`,`segments`,`helpers`,`actions`]),mP=`plugin.json5`,hP=/^[a-z][a-z0-9_]*$/;function gP(e){let t=l.basename(l.dirname(e));return hP.test(t)?t:void 0}const _P=`plugins.`;function vP(e){return`${_P}${e}.data`}function yP(e){try{return{ok:!0,value:e()}}catch(e){return{ok:!1,reason:bP(e)}}}function bP(e){return e instanceof Yw?e.issues.map(e=>e.path===``||e.message.includes(e.path)?e.message:`${e.path}: ${e.message}`).join(`; `):e instanceof Error?e.message:String(e)}function xP(e,t){return e.map(e=>uP(l.dirname(t),e))}function SP(e,t,n,i){let a=new Map;return e.reduce((e,n)=>{let o=gP(n),s=(t,r)=>{let i=new Map(e.rendering);return o!==void 0&&r!==e.config&&i.delete(o),{...e,config:r,rendering:i,dropped:[...e.dropped,{path:n,plugin:o,reason:t}]}};if(l.basename(n)!==`plugin.json5`){let t=`a plugin is a folder holding its ${mP}, and the folder's name is the plugin's: move this file to <dir>/<name>/${mP} and list that`;return s(t,o===void 0?e.config:TP(wP(e.config,o),o,{path:n,plugin:o,reason:t}))}if(o===void 0)return s(`its folder "${l.basename(l.dirname(n))}" is not a plugin name (one matching ${hP}: it prefixes every name the plugin declares)`,e.config);let c=a.get(o);if(c!==void 0)return s(`plugin "${o}" is already listed, from ${c}`,e.config);a.set(o,n);let u=wP(e.config,o),d=yP(()=>{let a=r.readFileSync(n,`utf-8`),s=zA(jP(n,o,{source:a,json:pr.default.parse(a)},t),u);return i(s,o,u!==e.config),s});if(d.ok)return{...e,config:d.value,loaded:[...e.loaded,n],rendering:new Map([...e.rendering,[o,n]])};let f={path:n,plugin:o,reason:d.reason};return s(d.reason,TP(u,o,f))},{config:n.config,rendering:n.rendering,loaded:[],dropped:[]})}function CP(e){let t=`${_P}${e}.`;return e=>e.startsWith(t)}function wP(e,t){let n=CP(t),r=e=>Object.fromEntries(Object.entries(e).filter(([e])=>!n(e)));return[e.variables,e.segments,e.helpers,e.actions].some(e=>Object.keys(e).some(n))?{...e,variables:r(e.variables),segments:r(e.segments),helpers:r(e.helpers),actions:r(e.actions)}:e}function TP(e,t,n){return{...e,variables:{...e.variables,[vP(t)]:{kind:`dropped`,reason:fP(n),definition:n.path}}}}function EP(e){return e.startsWith(`plugins.`)?e.slice(8).split(`.`)[0]:void 0}function DP(e,t){let n=new Set([...Object.keys(e.config.variables),...Object.keys(e.config.segments)].map(EP)),r=[...t,...e.dropped].filter(e=>e.plugin===void 0).map(e=>({definition:e.path,notice:fP(e)}));return t=>{let i=EP(t);if(i===void 0)return[];let a=e.config.variables[vP(i)];return a?.kind===`dropped`?[{definition:a.definition,notice:a.reason}]:n.has(i)?[]:r}}function OP(e,t){let n=Jh(e.presets).flatMap(t=>[...fh(Zh(e,t).node)]).flatMap(e=>e.kind===`segment`?[e]:[]),r=[...new Set([...n.map(e=>e.name),...Object.keys(e.segments)])].map(e=>({name:e,cause:t(e)})).filter(({cause:e})=>e.length>0),i=Object.fromEntries(r.map(({name:e,cause:t})=>[e,kP(e,t.map(e=>e.notice),n.filter(t=>t.name===e))])),a=t=>{let n=EP(t),r=n===void 0?void 0:e.variables[vP(n)];return r?.kind===`dropped`?{definition:r.definition,notice:r.reason}:void 0},o=Object.values(e.variables).some(e=>e.kind===`dropped`),s=o?Object.values(e.segments).flatMap(e=>[`template`,`bg`,`fg`,`when`].flatMap(t=>e[t]===void 0?[]:[e[t]])):[],c=o?Object.values(e.actions).flatMap(e=>`do`in e?[...e.do]:[]):[],l=(e,t)=>[...new Set(e)].flatMap(e=>{let n=e in t?void 0:a(e);return n===void 0?[]:[[e,n]]}),u=l([...s.flatMap(t=>Cg(t,e.helpers).map(e=>e.name)),...c],e.actions),d=l(s.flatMap(t=>[...Tg(t,e.helpers)]),e.helpers),f=new Set([...r.flatMap(({cause:e})=>e.map(e=>e.definition)),...[...u,...d].map(([,e])=>e.definition)]);return{config:{...e,segments:{...e.segments,...i},actions:{...e.actions,...Object.fromEntries(u.map(([e])=>[e,{copy:`{{ .${vP(EP(e)??``)} }}`}]))},helpers:{...e.helpers,...Object.fromEntries(d.map(([e,t])=>[e,`{{ fail ${JSON.stringify(t.notice)} }}`]))}},reached:f}}function kP(e,t,n){let r=`⚠ ${e}: ${t.join(`; `)}`,i=new Map;for(let e of n)for(let[t,n]of Object.entries(e.settings??{})){let e=i.get(t);i.set(t,e===void 0?[n]:[...e,n])}let a=Object.fromEntries([...i].map(([e,t])=>[e,AP(e,t)]));return{template:`{{ ${JSON.stringify(r)} }}`,bg:`error`,description:`stands in for a segment whose plugin did not load`,settings:a}}function AP(e,t){let[n]=t,r=t.filter(e=>typeof e==`number`);return typeof n==`boolean`?{label:e,domain:`bool`,default:n}:typeof n==`number`?{label:e,domain:{min:Math.min(...r),max:Math.max(...r),step:1},default:n}:{label:e,domain:[...new Set(t.map(String))],default:n}}function jP(e,t,{source:n,json:r},{checkout:i}){let a=[],o=()=>{throw new Yw(e,a)};if(!OT(r))return a.push({path:``,message:`a plugin definition must be an object, got ${Z(r)}`}),o();for(let e of Object.keys(r))pP.has(e)||a.push({path:e,message:e===`plugin`?`a plugin definition does not name itself: its name is its folder's ("${t}") — remove "plugin"`:`a plugin definition may not declare "${e}". Expected only: ${[...pP].join(`, `)}`});let s=PP(r.data,e,i,a);if(OT(r.segments)||a.push({path:`segments`,message:`"segments" must be an object naming the plugin's segments`}),a.length>0||s===void 0)return o();let c={source:n,issues:a,allowedPalettes:new Set(dp()),groups:[]},l=XA(c,`data`,{[vP(t)]:{kind:`file`,path:s,parse:{json:!0},cache:{watch_file:s},default:{}}});for(let[e,t]of Object.entries(r.segments))OT(t)&&`vars`in t&&a.push({path:`segments.${e}.vars`,message:`a plugin segment may not declare "vars": a plugin's only source is its data file`});let u={variables:l,segments:NP(t,Wj(c,r.segments,new Set)),helpers:NP(t,jN(c,r.helpers)),actions:NP(t,LM(c,r.actions))};for(let[e,t]of MP(u))try{JE.parse(t)}catch(t){a.push({path:e,message:`Template parse error in ${e}: ${t.message}`})}return a.length>0&&o(),u}function*MP(e){for(let[t,n]of Object.entries(e.segments??{}))for(let e of[`template`,`bg`,`fg`,`when`]){let r=n[e];r!==void 0&&(yield[`segments.${t}.${e}`,r])}for(let[t,n]of Object.entries(e.helpers??{}))yield[`helpers.${t}`,`{{ define "${t}" }}${n}{{ end }}`];for(let[t,n]of Object.entries(e.actions??{}))`copy`in n&&(yield[`actions.${t}.copy`,n.copy]),`open`in n&&(yield[`actions.${t}.open`,n.open]),`preset`in n&&n.preset===`delete`&&(yield[`actions.${t}.name`,n.name])}function NP(e,t){return Object.fromEntries(Object.entries(t).map(([t,n])=>[`${_P}${e}.${t}`,n]))}function PP(e,t,n,r){if(typeof e==`string`&&e!==``)return uP(l.dirname(t),e);if(OT(e)&&Object.keys(e).length===1&&typeof e.checkout==`string`&&e.checkout!==``){let t=e.checkout;if(l.isAbsolute(t)||t.startsWith(`~`)||l.normalize(t).split(l.sep)[0]===`..`){r.push({path:`data.checkout`,message:`data.checkout "${t}" must be a path inside the checkout, relative to its root (like ".lit/statusline.json"): no absolute path, "~" or ".."`});return}if(n===null){r.push({path:`data.checkout`,message:`data is read from the session's checkout, and this load has no session`});return}return l.resolve(n.root,t)}if(OT(e)&&`project`in e){r.push({path:`data.project`,message:`data: { project } is now data: { checkout }: the same path, relative to the root of the git checkout the session works in (a linked worktree is its own checkout)`});return}r.push({path:`data`,message:`"data" must be the path of the plugin's JSON data file relative to this definition, or { checkout: "<path>" } relative to the root of the session's checkout`})}function FP(e){let t=(process.env.XDG_DATA_DIRS||IP()).split(`:`).filter(e=>e!==``),n=process.env.XDG_DATA_HOME||l.join(h.homedir(),`.local`,`share`),r=[...[...t].reverse().map(e=>l.join(e,`cc-candybar`,`plugins`)),l.join(n,`cc-candybar`,`plugins`),...e===null?[]:[l.join(e,`.cc-candybar`,`plugins`)]];return r.filter((e,t)=>r.lastIndexOf(e)===t)}function IP(){let e=`/usr/local/share:/usr/share`;return process.platform===`darwin`?`${l.join(process.env.HOMEBREW_PREFIX||`/opt/homebrew`,`share`)}:${e}`:e}function LP(e){let t=FP(e),n=new Map,r=[],i=[];for(let e of t){let t=RP(e);if(`error`in t){r.push(t);continue}for(let r of t.folders)n.delete(r),n.set(r,l.join(e,r,mP));for(let n of t.files)i.push({path:l.join(e,n),plugin:void 0,reason:`a plugin is a folder holding its ${mP}: move this file to ${l.join(e,`<name>`,mP)}`})}return{roots:t,definitions:[...n.values()],unchecked:r,strays:i}}function RP(e){try{let t=r.readdirSync(e,{withFileTypes:!0}).filter(e=>!e.name.startsWith(`.`)).sort((e,t)=>e.name<t.name?-1:+(e.name>t.name)),n=t=>t.isDirectory()||zP(e,t);return{folders:t.filter(n).map(e=>e.name),files:t.filter(e=>!n(e)).map(e=>e.name)}}catch(t){return t.code===`ENOENT`?{folders:[],files:[]}:{path:e,error:t.message}}}function zP(e,t){if(!t.isSymbolicLink())return!1;try{return r.statSync(l.join(e,t.name)).isDirectory()}catch{return!0}}const BP=[`json5`,`json`];function VP(e){try{return r.statSync(e,{throwIfNoEntry:!1})===void 0?`absent`:`present`}catch(t){return{path:e,error:t.message}}}function HP(e,t,n){if(n!==void 0)return[n];let r=t??process.cwd();return[...new Set([...e?BP.map(t=>l.join(e,`.cc-candybar.${t}`)):[],...BP.map(e=>l.join(r,`.cc-candybar.${e}`)),...BP.map(e=>`${UP()}.${e}`)])]}function UP(){let e=process.env.XDG_CONFIG_HOME??l.join(h.homedir(),`.config`);return l.join(e,`cc-candybar`,`config`)}function WP(e,t,n){let i=[],a=new Map;for(let o of HP(e,t,n)){let e=VP(o);if(e===`absent`)continue;if(e!==`present`){i.push(e);continue}let t=l.join(r.realpathSync(l.dirname(o)),l.basename(o).replace(/\.(json5|json)$/,``));a.has(t)||a.set(t,o)}let o=[...a.values()].reverse();if(n===void 0)return{kind:`chain`,layers:o,home:GP(o),unchecked:i};let[s]=i,c=n;return o.length>0?{kind:`chain`,layers:o,home:c,unchecked:i}:s===void 0?{kind:`missing`,path:n,home:c}:{kind:`unreadable`,...s,home:c}}function GP(e){let t=UP();return e.find(e=>BP.some(n=>e===`${t}.${n}`))??`${t}.${BP[0]}`}function KP(e,t,n){let r=WP(e,t,n),i=r.kind===`chain`?r.layers:[];return{path:r.home,above:i.filter(e=>e!==r.home),projectDir:e??null,cwd:t??null}}function qP(e){return JP(e).join(`
|
|
148
|
+
`)||null}function JP(e){switch(e.kind){case`chain`: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 YP(e,t){let n=HP(e,t).filter(e=>VP(e)===`present`),r=new Map;for(let e of n){let t=l.dirname(e),n=l.basename(e).replace(/\.(json5|json)$/,``),i=l.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 XP(e,t,n,i){return e===null?{...aF,config:zA(aF.raw,t)}:QP(e,r.readFileSync(e,`utf-8`),t,n,i)}const ZP={projectDir:null,checkout:null,beneath:{dropped:[],rendering:new Map}};function QP(e,t,n,r,i){let a=cF(e,t,i,(t,a)=>{let o=SP(xP(t,e),r,{config:n,rendering:r.beneath.rendering},(t,n,r)=>rF(t,n,r,e,i)),s=DP(o,r.beneath.dropped);return{inherited:new Set([...Uj(o.config),...a.filter(e=>s(e).length>0)]),layer:{plugins:o,owning:s}}}),{plugins:o,owning:s}=a.layer,c=OP(zA(a.raw,o.config),s);return{source:t,raw:a.raw,warnings:[...a.warnings,...o.dropped.map(fP)],plugins:{loaded:o.loaded,dropped:o.dropped,reached:c.reached,rendering:o.rendering},config:c.config}}const $P=new WeakMap;function eF(e,t,n,r){let i=JSON.stringify([[...r??[]].sort(),e.map(e=>[e,tF(e)])]),a=$P.get(n)??new Map;$P.set(n,a);let o=JSON.stringify([t.projectDir,t.checkout?.root??null]),s=a.get(o);if(s?.key===i)return s.layer;let c=SP(e,t,{config:n,rendering:new Map},(e,t,n)=>rF(e,t,n,`<installed plugins>`,r));return a.set(o,{key:i,layer:c}),c}function tF(e){try{let t=r.statSync(e);return`${t.ino}:${t.size}:${t.mtimeMs}`}catch(e){return e.code??`unreadable`}}function nF(e,t,n,i,a=e=>r.readFileSync(e,`utf-8`),o){let s={projectDir:i.projectDir,checkout:i.cwd===null?null:jC(i.cwd)},c=LP(s.projectDir),l=eF(c.definitions,s,t,o),u={...l,dropped:[...l.dropped,...c.strays]};n.warned(c.unchecked.map(e=>`Plugin folder could not be listed: ${e.path} — ${e.error}`));let d=u.config,f=[];for(let t of e){n.entered(t);let e=f.at(-1)?.plugins,r=QP(t,a(t),f.at(-1)?.config??d,{...s,beneath:{dropped:[...u.dropped,...f.flatMap(e=>e.plugins.dropped)],rendering:e?.rendering??u.rendering}},o);n.warned(r.warnings),f.push({...r,path:t})}let p=new Set(f.flatMap(e=>[...e.plugins.reached])),m=e=>p.has(e.path),h=u.dropped.filter(m),g=u.dropped.filter(e=>!m(e));n.warned(h.map(fP));let _={checkout:s.checkout,roots:c.roots,loaded:u.loaded,dropped:h,unreached:g,reached:p,rendering:f.at(-1)?.plugins.rendering??u.rendering},v=f.at(-1);if(v===void 0)return{layers:f,base:d,installed:_,config:oF(XP(null,d,ZP),`<default>`,o)};try{return{layers:f,base:d,installed:_,config:oF(v,v.path,o)}}catch(e){for(let e of f.slice(0,-1))n.entered(e.path),oF(e,e.path,o);throw n.entered(v.path),e}}function rF(e,t,n,r,i){if(n){oF(iF(e),r,i);return}let a=CP(t),o=[],s={source:``,issues:o,allowedPalettes:new Set,groups:[]};if(aP(s,e,Dg(e),a),sP(s,e,a),o.length>0)throw new Yw(r,o)}function iF(e){return{config:e,raw:{root:e.root,presets:e.presets},source:``}}const aF={raw:{},source:``,warnings:[],plugins:{loaded:[],dropped:[],reached:new Set,rendering:new Map}};function oF({config:e,raw:t,source:n},r=`<config>`,i=new Set(dp())){let a=[],o={source:n,issues:a,allowedPalettes:i,groups:[]};if(LN(o,e,t),sP(o,e),a.length>0)throw new Yw(r,a);let s=NM(e,a);if(a.length>0)throw new Yw(r,a);return _A(Lk(s))}function sF(e,t,n=new Set(dp()),r=lF){return cF(e,t,n,()=>({inherited:r,layer:null})).raw}function cF(e,t,n,r){let i=uF(e,t),a=Qw(e,t),o=a===null?[]:[a],s=[],c={source:t,issues:s,allowedPalettes:n??new Set(dp()),groups:[]};if(!OT(i))throw new Yw(e,[{path:``,message:`Config root must be an object, got ${Z(i)}`}],o);let{inherited:l,layer:u}=r(i.plugins===void 0?[]:pF({...c,issues:[]},i.plugins)??[],OT(i.segments)?Object.keys(i.segments):[]),d=dF(c,i,l);if(s.length>0)throw new Yw(e,s,o);return{raw:d,warnings:o,layer:u}}const lF=new Set;function uF(e,t){try{return pr.default.parse(t)}catch(t){let n=t;throw new Yw(e,[{path:``,message:`JSON5 syntax error: ${n.message}`,line:n.lineNumber,col:n.columnNumber}])}}function dF(e,t,n){for(let n of Object.keys(t))fF.has(n)||e.issues.push({path:n,message:`Unknown top-level key "${n}". Expected one of: ${[...fF].join(`, `)}`,line:Y(e.source,[n])});let r={};return t.globals!==void 0&&(r.globals=EE(e,`globals`,t.globals)),t.variables!==void 0&&(r.variables=XA(e,`variables`,t.variables)),t.segments!==void 0&&(r.segments=Wj(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.
|
|
181
149
|
Replace: layout: [["seg1", "seg2"], ["seg3"]]
|
|
182
150
|
With: root: { v: [{ h: ["seg1", "seg2"] }, "seg3"] }
|
|
183
|
-
Single-row example: root: { h: ["seg1", "seg2"] }`,line:X(e.source,[`layout`])}),t.root!==void 0&&(r.root=pM(e,`root`,t.root)),t.actions!==void 0&&(r.actions=LM(e,t.actions)),t.looks!==void 0&&e.issues.push({path:`looks`,message:`"looks" was renamed "styles" — move the block under styles: { … } (and globals.look to globals.style)`,line:X(e.source,[`looks`])}),t.styles!==void 0&&(r.styles=ON(e,t.styles)),t.themeDefaults!==void 0&&(r.themeDefaults=TE(e,t.themeDefaults)),t.presets!==void 0&&(r.presets=AN(e,t.presets)),t.editGlobals!==void 0&&(r.editGlobals=kE(e,`editGlobals`,t.editGlobals)),t.helpers!==void 0&&(r.helpers=jN(e,t.helpers)),t.plugins!==void 0&&(r.plugins=pF(e,t.plugins)),xM(e,r),jM(e,r),sD(e,r),aT(e,r,Z,`the global settings menu`),r}const fF=new Set([`globals`,`variables`,`segments`,`layout`,`looks`,`root`,`actions`,`styles`,`themeDefaults`,`presets`,`editGlobals`,`helpers`,`plugins`]);function pF(e,t){if(Array.isArray(t)&&t.every(e=>typeof e==`string`&&e!==``))return t;e.issues.push({path:`plugins`,message:`"plugins" must be a list of plugin definition paths, got ${OT(t)}`,line:X(e.source,[`plugins`])})}const mF={},hF=ZD(`commands.`),gF=rO(`autocompact.`,e=>`{{ template "formatTokenCount" ${e} }}`),_F=`trimPrefix "/" (trimPrefix .project_dir .current_dir)`,vF=`{{ \$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 (${_F}) (basename .project_dir) (ne (${_F}) "") }}{{ end }}{{ end }}{{ action "copyDir" (abbreviatePath \$dir) }}`,yF=`{{ ${SD} }}`,bF={min:0,max:100,step:5},xF={warnAt:{label:`warning at %`,domain:bF,default:50},errorAt:{label:`error at %`,domain:{...bF,atLeast:`warnAt`},default:80}};function SF(e){return{budget:{label:`budget $`,domain:{min:0,max:1e4,step:5},default:e},warnAt:{label:`warning at %`,domain:bF,default:80}}}const CF={globals:{palette:`tokyo-night`},variables:{...hF.variables,...Uw,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.tracking":{kind:`input`,path:`git.tracking`,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:``},"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:{group:`location`,description:"The current directory, shortened fish-style — `~` under home, project-relative inside the project. Click to copy the full path.",template:vF},model:{group:`model-context`,description:`The active model's display name.`,template:`✱ {{ formatModelName .model.display_name }}`,when:`{{ ne .model.display_name "" }}`},sessionId:{group:`session-tools`,description:`The session id, truncated to 8 characters.`,template:`⌗{{ trunc 8 .session.id }}`,when:`{{ ne .session.id "" }}`},version:{group:`model-context`,description:`The Claude Code version reported in the hook payload.`,template:`◈ v{{ .version }}`,when:`{{ ne .version "" }}`},tmux:{group:`location`,description:`The tmux session name; hidden when not inside tmux.`,template:`tmux:{{ .tmux.session | default "none" }}`,when:`{{ ne .tmux.session "" }}`},host:{group:`location`,description:`user@host on a warning background, shown only over SSH.`,template:`⇄ {{ .host.user | default "?" }}@{{ .host.name | default "?" }}`,bg:`warning`,when:`{{ .host.ssh }}`},gitaculous:{group:`git`,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:yF,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:{group:`git`,description:"The pull request open for this branch, as a link; `⚠ PR` when the forge lookup failed.",template:`{{ if eq .git.prState "open" }}{{ link .git.prUrl (printf "⇆ #%v" .git.prNumber) }}{{ else }}⚠ PR{{ end }}`,when:`{{ or (eq .git.prState "open") (ne .git.prError "") }}`},toolbar:{group:`session-tools`,description:`Quick actions: copy the session id, and open the project, transcript or repo.`,template:BD(``).template},commands:{group:`session-tools`,description:`Type /compact, /model or /clear into this session; /clear asks for a second click. Hidden when not inside tmux.`,template:hF.template,when:hF.when},themeSwitcher:{group:`session-tools`,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:{group:`cost-limits`,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:SF(0)},today:{group:`cost-limits`,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:SF(50)},block:{group:`cost-limits`,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:xF,when:`{{ gt .block.resetsAt 0 }}`},weekly:{group:`cost-limits`,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:xF,when:`{{ gt .weekly.resetsAt 0 }}`},burnrate:{group:`cost-limits`,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:{group:`activity`,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:{group:`activity`,description:`A sparkline of recent token throughput.`,template:`⚡ {{ sparkline .speed.history 24 }}`,when:`{{ ne .speed.history "" }}`},cacheTimer:{group:`activity`,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) ${Nf} }}`,when:`{{ gt .cache.expiresAt 0 }}`},context:{group:`model-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:{group:`model-context`,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:{group:`model-context`,description:`Claude Code's auto-compact window: − and + move it by 100K, ↺ returns it to auto. Clicks type /autocompact into this session, so the controls show only inside tmux.`,template:gF.template,bg:gF.bg,when:gF.when},metrics:{group:`activity`,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:{group:`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:{...BD(``).actions,...hF.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`},...gF.actions},styles:{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}},themeDefaults:mF,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:{endcaps:`plain`,style:`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:{endcaps:`plain`,default_separator:` | `},helpers:{gitPaint:`{{ fg (readableOn (color .color) (bgOf) ${Nf}) .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:iO(`.`),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 .)) }}`}},wF=new Set([CF.globals.palette,...Object.keys(CF.themeDefaults),...Object.values(CF.segments).map(e=>e.palette)].filter(e=>e!==void 0)),TF=zA(sF(`<default>`,JSON.stringify(CF),wF),CF),EF=qh(TF.presets);function DF(e){return EF.includes(e)}const OF=Object.freeze({});function kF(e,t){return e.kind===`decided`?t[e.name]??OF:OF}function AF(e,t){return{...e,...Object.fromEntries(gh.map(n=>[n,e[n]??t[n]]))}}function jF(e){if(!e)return``;try{return MF(s(e))}catch{return``}}function MF(e){return`${e.mtimeMs}:${e.size}`}const NF=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 PF(e){return((...t)=>NF.run(()=>e(...t)))}const FF=PF(se),IF=PF(oe),LF=PF(ce);async function RF(e,t){return NF.run(async()=>{let n=null;try{n=await T(e,`r`);let r=await n.stat(),{size:i,ino:a}=r,o=MF(r),s=t!==void 0&&(a!==t.ino||i<t.offset),c=s||t===void 0?0:t.offset;if(c>=i)return R({buf:Buffer.alloc(0),start:c,size:i,stamp:o,ino:a,reset:s});let l=Buffer.alloc(i-c),u=0;for(;u<l.length;){let{bytesRead:e}=await n.read(l,u,l.length-u,c+u);if(e===0)break;u+=e}return R({buf:u===l.length?l:l.subarray(0,u),start:c,size:i,stamp:o,ino:a,reset:s})}catch(t){return t.code===`ENOENT`?z:B(`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 zF(e,t){return NF.run(async()=>{let n=null;try{n=await T(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 R({buf:o===a.length?a:a.subarray(0,o),fromStart:i===0})}catch(t){return t.code===`ENOENT`?z:B(`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 BF=/"(?:cache_read_input_tokens|cache_creation_input_tokens)":[1-9]/;function VF(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 HF(e){let t=await UF(e);return t.kind===`ok`?R(Math.floor((t.value+36e5)/1e3)):t}async function UF(e){for(let t of[65536,1048576]){let n=await zF(e,t);if(n.kind!==`ok`)return n;let r=WF(n.value.buf,n.value.fromStart);if(r!=null)return R(r);if(n.value.fromStart)return z}return z}function WF(e,t){let n=e.toString(`utf8`).split(`
|
|
184
|
-
`),r=+!t;for(let e=n.length-1;e>=r;e--){let t=n[e];if(!t||!BF.test(t))continue;let r=VF(t);if(r!=null)return r}return null}function GF(e,t){return{...e,claudeConfigDir:
|
|
151
|
+
Single-row example: root: { h: ["seg1", "seg2"] }`,line:Y(e.source,[`layout`])}),t.root!==void 0&&(r.root=pM(e,`root`,t.root)),t.actions!==void 0&&(r.actions=LM(e,t.actions)),t.looks!==void 0&&e.issues.push({path:`looks`,message:`"looks" was renamed "styles" — move the block under styles: { … } (and globals.look to globals.style)`,line:Y(e.source,[`looks`])}),t.styles!==void 0&&(r.styles=ON(e,t.styles)),t.themeDefaults!==void 0&&(r.themeDefaults=TE(e,t.themeDefaults)),t.presets!==void 0&&(r.presets=AN(e,t.presets)),t.editGlobals!==void 0&&(r.editGlobals=kE(e,`editGlobals`,t.editGlobals)),t.helpers!==void 0&&(r.helpers=jN(e,t.helpers)),t.plugins!==void 0&&(r.plugins=pF(e,t.plugins)),xM(e,r),jM(e,r),sD(e,r),oT(e,r,X,`the global settings menu`),r}const fF=new Set([`globals`,`variables`,`segments`,`layout`,`looks`,`root`,`actions`,`styles`,`themeDefaults`,`presets`,`editGlobals`,`helpers`,`plugins`]);function pF(e,t){if(Array.isArray(t)&&t.every(e=>typeof e==`string`&&e!==``))return t;e.issues.push({path:`plugins`,message:`"plugins" must be a list of plugin definition paths, got ${Z(t)}`,line:Y(e.source,[`plugins`])})}const mF={},hF=ZD(`commands.`),gF=rO(`autocompact.`,e=>`{{ template "formatTokenCount" ${e} }}`),_F=`trimPrefix "/" (trimPrefix .project_dir .current_dir)`,vF=`{{ \$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 (${_F}) (basename .project_dir) (ne (${_F}) "") }}{{ end }}{{ end }}{{ action "copyDir" (abbreviatePath \$dir) }}`,yF=`{{ ${SD} }}`,bF={min:0,max:100,step:5},xF={warnAt:{label:`warning at %`,domain:bF,default:50},errorAt:{label:`error at %`,domain:{...bF,atLeast:`warnAt`},default:80}};function SF(e){return{budget:{label:`budget $`,domain:{min:0,max:1e4,step:5},default:e},warnAt:{label:`warning at %`,domain:bF,default:80}}}const CF={globals:{palette:`tokyo-night`},variables:{...hF.variables,...Ww,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.tracking":{kind:`input`,path:`git.tracking`,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:``},"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:{group:`location`,description:"The current directory, shortened fish-style — `~` under home, project-relative inside the project. Click to copy the full path.",template:vF},model:{group:`model-context`,description:`The active model's display name.`,template:`✱ {{ formatModelName .model.display_name }}`,when:`{{ ne .model.display_name "" }}`},sessionId:{group:`session-tools`,description:`The session id, truncated to 8 characters.`,template:`⌗{{ trunc 8 .session.id }}`,when:`{{ ne .session.id "" }}`},version:{group:`model-context`,description:`The Claude Code version reported in the hook payload.`,template:`◈ v{{ .version }}`,when:`{{ ne .version "" }}`},tmux:{group:`location`,description:`The tmux session name; hidden when not inside tmux.`,template:`tmux:{{ .tmux.session | default "none" }}`,when:`{{ ne .tmux.session "" }}`},host:{group:`location`,description:`user@host on a warning background, shown only over SSH.`,template:`⇄ {{ .host.user | default "?" }}@{{ .host.name | default "?" }}`,bg:`warning`,when:`{{ .host.ssh }}`},gitaculous:{group:`git`,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:yF,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:{group:`git`,description:"The pull request open for this branch, as a link; `⚠ PR` when the forge lookup failed.",template:`{{ if eq .git.prState "open" }}{{ link .git.prUrl (printf "⇆ #%v" .git.prNumber) }}{{ else }}⚠ PR{{ end }}`,when:`{{ or (eq .git.prState "open") (ne .git.prError "") }}`},toolbar:{group:`session-tools`,description:`Quick actions: copy the session id, and open the project, transcript or repo.`,template:BD(``).template},commands:{group:`session-tools`,description:`Type /compact, /model or /clear into this session; /clear asks for a second click. Hidden when not inside tmux.`,template:hF.template,when:hF.when},themeSwitcher:{group:`session-tools`,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:{group:`cost-limits`,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:SF(0)},today:{group:`cost-limits`,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:SF(50)},block:{group:`cost-limits`,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:xF,when:`{{ gt .block.resetsAt 0 }}`},weekly:{group:`cost-limits`,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:xF,when:`{{ gt .weekly.resetsAt 0 }}`},burnrate:{group:`cost-limits`,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:{group:`activity`,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:{group:`activity`,description:`A sparkline of recent token throughput.`,template:`⚡ {{ sparkline .speed.history 24 }}`,when:`{{ ne .speed.history "" }}`},cacheTimer:{group:`activity`,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) ${Pf} }}`,when:`{{ gt .cache.expiresAt 0 }}`},context:{group:`model-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:{group:`model-context`,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:{group:`model-context`,description:`Claude Code's auto-compact window: − and + move it by 100K, ↺ returns it to auto. Clicks type /autocompact into this session, so the controls show only inside tmux.`,template:gF.template,bg:gF.bg,when:gF.when},metrics:{group:`activity`,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:{group:`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:{...BD(``).actions,...hF.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`},...gF.actions},styles:{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}},themeDefaults:mF,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:{endcaps:`plain`,style:`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:{endcaps:`plain`,default_separator:` | `},helpers:{gitPaint:`{{ fg (readableOn (color .color) (bgOf) ${Pf}) .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:iO(`.`),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 .)) }}`}},wF=new Set([CF.globals.palette,...Object.keys(CF.themeDefaults),...Object.values(CF.segments).map(e=>e.palette)].filter(e=>e!==void 0)),TF=zA(sF(`<default>`,JSON.stringify(CF),wF),CF),EF=Jh(TF.presets);function DF(e){return EF.includes(e)}const OF=Object.freeze({});function kF(e,t){return e.kind===`decided`?t[e.name]??OF:OF}function AF(e,t){return{...e,...Object.fromEntries(_h.map(n=>[n,e[n]??t[n]]))}}function jF(e){if(!e)return``;try{return MF(s(e))}catch{return``}}function MF(e){return`${e.mtimeMs}:${e.size}`}const NF=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 PF(e){return((...t)=>NF.run(()=>e(...t)))}const FF=PF(E),IF=PF(oe),LF=PF(se);async function RF(e,t){return NF.run(async()=>{let n=null;try{n=await T(e,`r`);let r=await n.stat(),{size:i,ino:a}=r,o=MF(r),s=t!==void 0&&(a!==t.ino||i<t.offset),c=s||t===void 0?0:t.offset;if(c>=i)return I({buf:Buffer.alloc(0),start:c,size:i,stamp:o,ino:a,reset:s});let l=Buffer.alloc(i-c),u=0;for(;u<l.length;){let{bytesRead:e}=await n.read(l,u,l.length-u,c+u);if(e===0)break;u+=e}return I({buf:u===l.length?l:l.subarray(0,u),start:c,size:i,stamp:o,ino:a,reset:s})}catch(t){return t.code===`ENOENT`?L:R(`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 zF(e,t){return NF.run(async()=>{let n=null;try{n=await T(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 I({buf:o===a.length?a:a.subarray(0,o),fromStart:i===0})}catch(t){return t.code===`ENOENT`?L:R(`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 BF=/"(?:cache_read_input_tokens|cache_creation_input_tokens)":[1-9]/;function VF(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 HF(e){let t=await UF(e);return t.kind===`ok`?I(Math.floor((t.value+36e5)/1e3)):t}async function UF(e){for(let t of[65536,1048576]){let n=await zF(e,t);if(n.kind!==`ok`)return n;let r=WF(n.value.buf,n.value.fromStart);if(r!=null)return I(r);if(n.value.fromStart)return L}return L}function WF(e,t){let n=e.toString(`utf8`).split(`
|
|
152
|
+
`),r=+!t;for(let e=n.length-1;e>=r;e--){let t=n[e];if(!t||!BF.test(t))continue;let r=VF(t);if(r!=null)return r}return null}function GF(e,t){return{...e,claudeConfigDir:ai(t.claudeConfigDir),env:t.mementoEnv}}const KF=l.join(`lib`,`ceiling_config.py`),qF=l.join(`skills`,`ceiling`,`bin`,`ceiling`);function JF(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 YF(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 R(`memento lookup: ${i}: ${e.message}`)}typeof e==`boolean`&&(n=e)}return I(n)}function XF(e,t){if(!r.existsSync(e))return L;let n;try{n=JF(JSON.parse(r.readFileSync(e,`utf8`)),e)}catch(e){return R(`memento lookup: ${e.message}`)}let i=n.find(e=>e.projectPath===t)??n.find(e=>e.scope===`user`);if(i===void 0)return L;let a=YF([l.join(l.dirname(l.dirname(e)),`settings.json`),l.join(t,`.claude`,`settings.json`),l.join(t,`.claude`,`settings.local.json`)],i.key);if(a.kind!==`ok`)return a;if(!a.value)return L;let o=[KF,qF].filter(e=>!r.existsSync(l.join(i.installPath,e)));return o.length===0?I(i.installPath):R(`memento at ${i.installPath} has no ${o.join(` or `)} — upgrade the plugin`)}function ZF(e,t=process.env){let n=new Set([`CLAUDE_PROJECT_DIR`,`CLAUDE_CODE_SESSION_ID`,...e.env===void 0?[]:tt]);return{...Object.fromEntries(Object.entries(t).filter(([e])=>!n.has(e))),...e.env,CLAUDE_CODE_SESSION_ID:e.sessionId,CLAUDE_PROJECT_DIR:e.projectDir||e.cwd}}function QF(e){return e.stderr.trim()||e.error||`${e.reason}${e.exitCode===null?``:` (exit ${e.exitCode})`}`}function $F(e){let t;try{t=JSON.parse(e)}catch{return R(`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`)?I({ceiling:i,session:r}):R(`memento read: unexpected answer: ${e.trim()}`)}async function eI(e,t){let n=await Me({bin:`python3`,args:[`-c`,`
|
|
185
153
|
import json, math, sys
|
|
186
154
|
sys.path.insert(0, sys.argv[1])
|
|
187
155
|
from ceiling_config import CONFIG_NAME, anchored, ceiling_in, in_force, session_directory
|
|
@@ -190,42 +158,42 @@ ceiling = in_force(directory, anchored(sys.argv[3]))
|
|
|
190
158
|
layer = ceiling_in(directory / CONFIG_NAME)
|
|
191
159
|
print(json.dumps({"ceiling": "off" if ceiling == math.inf else ceiling,
|
|
192
160
|
"session": layer.text if layer else None}))
|
|
193
|
-
`,l.join(e,`lib`),t.sessionId,t.cwd],env:ZF(t),timeoutMs:3e3,category:`memento.read`});return n.ok?$F(n.stdout):
|
|
194
|
-
`).at(-1).trim();function
|
|
195
|
-
`),c=I([{verb:xn,args:[s]}]),l=t.kind===`running`?Mm(`[${i.busy}]`,c):Mm(`[${i.act}]`,I([{verb:Nn,args:[n.sessionId]}]));return[{severity:jm,message:s,lines:[[Mm(a,c),l,Mm(`[dismiss]`,I([{verb:gn,args:[n.sessionId,_L,r]}])),Mm(`[disable]`,I([{verb:Sn,args:[n.sessionId,vL,`false`]},{verb:gn,args:[n.sessionId,yL,`false`]}]))],...o.map(e=>[Mm(e,c)])]}]}function EL(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 DL(e){switch(e.kind){case`current`:return[`info`,`build: current ${xL(e.stamp)}`];case`stale`:return[`info`,`build: stale — source ${xL(e.source)}, running ${xL(e.running)}`];case`not-source-checkout`:return[`info`,`build: not a source checkout`];case`unchecked`:return[`warn`,`build: unchecked: ${e.reason}`]}}function OL(e){switch(e.kind){case`current`:return[`info`,`release: current ${fi(e.installed)}`];case`stale`:return[`info`,`release: stale — latest ${fi(e.latest)}, running ${fi(e.installed)}`];case`ahead`:return[`info`,`release: ahead — running ${fi(e.installed)}, latest ${fi(e.latest)}`];case`unchecked`:return[`warn`,`release: unchecked: ${e.reason}`]}}function kL(e){let t=null;return([n,r])=>{r!==t&&(t=r,e(n,r))}}const AL=e=>e.split(/\r?\n/).map(e=>e.trim()).filter(e=>e!==``).at(-1);function jL(e){let t=e.exitCode===null?``:` (exit ${e.exitCode})`,n=AL(e.stderr)??e.error??AL(e.stdout)??`no output`;return`${e.reason}${t}: ${n}`}function ML(){let e=[MA(vL,[`false`]),uL(yL,[`false`]),uL(_L,[])];return()=>e.forEach(e=>e())}function NL(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=CL,d=null,f=kL(s),p=kL(s),m=()=>EL(c,l);function h(){let e=m(),t=e===null?null:bL(e);(d===null?null:d.identity)!==t&&(d?.dispose(),d=t===null?null:{identity:t,dispose:uL(_L,[t])})}function g(){c=Jm(t,Km),f(DL(c)),h()}async function _(){l=gi(wt,await hi(mi,a,i)),p(OL(l)),h()}return{arm(){ML(),g(),setInterval(g,n).unref(),c.kind===`not-source-checkout`&&(_(),setInterval(()=>void _(),r).unref())},notice:e=>TL(m(),u,e),act(){let e=m();if(e===null)throw new J(`apply-update: nothing newer is known to apply`);let t=SL(e);if(u.kind===`running`)throw new J(`apply-update: already ${t.busy}`);u=wL,s(`info`,`apply-update: ${t.act} — ${t.command.bin} ${t.command.args?.join(` `)??``}`),O({...t.command,category:`update.apply`,timeoutMs:6e5}).then(n=>{if(n.ok){u=CL,s(`info`,`apply-update: ${t.act} succeeded`),g(),o();return}let r=jL(n);u={kind:`failed`,identity:bL(e),reason:r},s(`error`,`apply-update: ${t.act} failed: ${r}`)})}}}var PL=class{static CACHE_DIR=Re();static USAGE_CACHE_DIR=l.join(this.CACHE_DIR,`usage`);static LOCKS_DIR=l.join(this.CACHE_DIR,`locks`);static isLocked(e){let t=l.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=l.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 de(50);else throw e}return D(`Failed to acquire lock for ${e} within ${t}ms`),!1}static async releaseLock(e){let t=l.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 ae(`md5`).update(e).digest(`hex`).substring(0,8)}static async getUsageCache(e,t){await this.ensureCacheDirectories();let n=l.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 de(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 de(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=l.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 FL={"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 IL=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 PL.getUsageCache(`pricing`,e)}static async saveDiskCache(e){await PL.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(FL).length} models`),this.executionCache=FL,D(`[CACHE-SET] Pricing execution cache stored: ${Object.keys(FL).length} models`),FL)}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 LL=/<command-name>\s*([^<\s][^<]*?)\s*<\/command-name>/;function RL(e){if(typeof e==`string`)return LL.exec(e)?.[1]}function zL(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 BL(e){return typeof e==`string`?e:Array.isArray(e)?e.find(e=>typeof e==`object`&&!!e&&e.type===`text`&&typeof e.text==`string`)?.text??``:``}function VL(e,t){let n=e.message?.content,r=[],i=[],a;if(Array.isArray(n))for(let e of n){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=zL(t.input)??a);break}case`tool_result`:{let e=t.tool_use_id;typeof e==`string`&&i.push(e);break}default:break}}let o=t===`prompt`?RL(BL(n)):void 0;if(!(r.length===0&&i.length===0&&a===void 0&&o===void 0))return{...r.length>0&&{started:r},...i.length>0&&{finished:i},...a!==void 0&&{todos:a},...o!==void 0&&{command:o}}}function HL(e){if(e!==void 0)return[e];let t=g();return[p(t,`.config`,`claude`),p(t,`.claude`)].filter(e=>a(e))}async function UL(e){let t=[];for(let n of e){let e=p(n,`projects`);if(a(e))try{let n=await FF(e,{withFileTypes:!0});for(let r of n)if(r.isDirectory()){let n=p(e,r.name);t.push(n)}}catch(t){D(`Failed to read projects directory ${e}:`,t)}}return t}async function WL(e,t,n){let r=[],i=p(t,e,`subagents`);try{let t=(await FF(i)).filter(e=>e.startsWith(`agent-`)&&e.endsWith(`.jsonl`));for(let a of t){let t=p(i,a);if(n?.has(t)){r.push(t);continue}try{let n=(await IF(t,`utf-8`)).split(`
|
|
196
|
-
`)[0];n&&JSON.parse(n).sessionId===e&&r.push(t)}catch{D(`Failed to check agent file ${t}`)}}}catch(e){D(`Failed to read subagents directory ${i}:`,e)}return r}function
|
|
197
|
-
`))if(n.trim())try{let e=XL(JSON.parse(n));e&&t.push(e)}catch(e){D(`Failed to parse JSONL line: ${e}`);continue}return t}async function QL(e){return ZL(await IF(e,`utf-8`))}async function $L(e,t){let n=await RF(e,t===void 0?void 0:{offset:t.offset,ino:t.ino});if(n.kind!==`ok`)return n;let{buf:r,start:i,stamp:a,ino:o,reset:s}=n.value,c=r.lastIndexOf(10);return R(c<0?{entries:[],cursor:{offset:i,stamp:a,ino:o},reset:s}:{entries:ZL(r.subarray(0,c+1).toString(`utf-8`)),cursor:{offset:i+c+1,stamp:a,ino:o},reset:s})}async function eR(e){return new Promise((t,n)=>{let r=[],a=i(e,{encoding:`utf8`}),o=fe({input:a,crlfDelay:1/0});o.on(`line`,e=>{let t=e.trim();if(t)try{let e=XL(JSON.parse(t));e&&r.push(e)}catch(e){D(`Failed to parse JSONL line: ${e}`)}}),o.on(`close`,()=>{t(r)}),o.on(`error`,t=>{D(`Streaming parser error for ${e}:`,t),n(t)}),a.on(`error`,t=>{D(`File stream error for ${e}:`,t),n(t)})})}var tR=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 nR(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 rR=new Map,iR={cost:0,input:0,output:0,cacheCreation:0,cacheRead:0},aR={cost:null,calculatedCost:null,officialCost:null,tokens:null,tokenBreakdown:null};function oR(e){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`}function sR(){let e=new Date;return e.setHours(0,0,0,0),e.setDate(e.getDate()-1),e.getTime()}function cR(){return{input:0,output:0,cacheCreation:0,cacheRead:0}}async function lR(e,t,n,r){let i=oR(new Date(sR())),a=e&&!t?e:void 0,o=a?.entries??0,s=a?.cost??0,c=a?{...a.breakdown}:cR(),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 IL.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=oR(new Date(e.timestamp));if(r<i)continue;let a=l.get(r)??{...iR};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 uR(e){let t=0,n=0,r=cR(),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)??{...iR};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:aR,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 dR(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 fR=class{sessions=new Map;flight=new tR;seeded=new Map;seededDay=``;rescanIntervalMs;speedFlight=new tR;staleAgeMs;log;renderTally={hits:0,misses:0};sweeps=0;scans={seed:0,rescan:0};sweepTimer=null;constructor(e={}){this.log=e.logger??Nt,this.staleAgeMs=e.staleAgeMs??864e5,this.rescanIntervalMs=e.rescanIntervalMs??6e4;let t=e.sweepIntervalMs??3e5;t>0&&(this.sweepTimer=setInterval(()=>this.sweepStale(),t),this.sweepTimer.unref())}getStats(){return{size:this.sessions.size,hits:this.renderTally.hits,misses:this.renderTally.misses,sweeps:this.sweeps,seeds:this.scans.seed,rescans:this.scans.rescan}}async getUsageInfo(e,t){let n=await this.ingest(e,t?.transcript_path,this.renderTally);if(n.kind===`failed`)return n;let r=n.kind===`ok`?n.value.sessionInfo:aR,i=t?.cost?.total_cost_usd??null;return R({session:{...r,cost:i??r.cost,officialCost:i}})}async getTodayInfo(e,t,n){let r=oR(yw(n)),i=HL(t);try{await this.ensureSeeded(r,i,n*1e3)}catch(e){return B(`usage seed: ${e instanceof Error?e.message:String(e)}`)}let a=await this.ingest(e?.session_id??``,e?.transcript_path,this.renderTally);if(a.kind===`failed`)return a;let o=i.map(e=>p(e,`projects`)+m),s={...iR},c=!1;for(let[t,{record:n}]of this.sessions){let i=n?.transcriptPath??``,a=t===e?.session_id||o.some(e=>i.startsWith(e))?n?.days??rR:rR;c||=a.has(r);let l=a.get(r)??iR;s.cost+=l.cost,s.input+=l.input,s.output+=l.output,s.cacheCreation+=l.cacheCreation,s.cacheRead+=l.cacheRead}return c?R({cost:s.cost,tokens:s.input+s.output+s.cacheCreation+s.cacheRead,tokenBreakdown:{input:s.input,output:s.output,cacheCreation:s.cacheCreation,cacheRead:s.cacheRead},date:r}):z}async observeSpeed(e,t,n){if(!e)return z;let r=jF(t);return this.speedFlight.run(`${e}:${r}`,async()=>{let i=await this.ingest(e,t,this.renderTally,r);if(i.kind===`failed`)return i;let a=nR(i.kind===`ok`?i.value.sessionInfo.tokenBreakdown:null,n),{ring:o}=this.hold(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(),R({...s!==void 0&&{prev:s},cur:a,samples:[...o]})})}async ingest(e,t,n,r){if(!e)return z;let i=r??jF(t),a=this.see(e)?.record;if(a&&i!==``&&a.transcriptStamp===i)return n.hits++,R(a);if(!t)return a?R(a):z;n.misses++;let o;try{o=await this.flight.run(`${e}:${i}`,async()=>{let n=this.sessions.get(e)?.record;return{prior:n,outcome:await this.refold(e,t,n)}})}catch(t){return B(`usage refold (${e}): ${t instanceof Error?t.message:String(t)}`)}let{prior:s,outcome:c}=o;if(c.kind!==`ok`)return c;let l={files:c.value.files,sessionInfo:c.value.sessionInfo,days:c.value.days,transcriptStamp:c.value.mainStamp,transcriptPath:t};return this.sessions.get(e)?.record===s&&(this.hold(e).record=l),R(l)}see(e){let t=this.sessions.get(e);return t&&(t.lastSeenAt=Date.now()),t}hold(e){let t=this.see(e);if(t)return t;let n={lastSeenAt:Date.now(),record:void 0,ring:[]};return this.sessions.set(e,n),n}async refold(e,t,n){let r=await WL(e,d(t),n===void 0?void 0:new Set(n.files.keys())),i=new Map,a=``;for(let e of[t,...r]){let r=n?.files.get(e),o=await $L(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 lR(r,l,s,c)),e===t&&(a=c.stamp)}return R({files:i,...uR(i),mainStamp:a})}ensureSeeded(e,t,n){this.seededDay!==e&&(this.seeded.clear(),this.seededDay=e);let r=t.join(`\0`),i=this.seeded.get(r);if(!i){let e=this.seed(t,`seed`),i={done:e,scanning:e,startedAtMs:n};return this.seeded.set(r,i),this.settle(r,i,e),e}return i.scanning===void 0&&n-i.startedAtMs>=this.rescanIntervalMs&&(i.startedAtMs=n,i.scanning=this.seed(t,`rescan`),this.settle(r,i,i.scanning)),i.done}settle(e,t,n){n.then(()=>{t.scanning=void 0},n=>{this.log(`warn`,`usageStore scan: ${n instanceof Error?n.message:String(n)}`),this.seeded.get(e)===t&&this.seeded.delete(e)})}async scanned(){await Promise.allSettled([...this.seeded.values()].map(e=>e.scanning))}async seed(e,t){let n=Date.now(),r=sR(),i=await UL(e),a=[];for(let e of i){let t;try{t=await FF(e)}catch{continue}for(let n of t){if(!n.endsWith(`.jsonl`))continue;let t=p(e,n),i;try{i=await LF(t)}catch{continue}i.mtimeMs<r||a.push({sessionId:n.slice(0,-6),path:t,stamp:MF(i)})}}let o={hits:0,misses:0};await dR(a,8,async e=>{let n=await this.ingest(e.sessionId,e.path,o,e.stamp);n.kind===`failed`&&this.log(`warn`,`usageStore ${t}: ${n.reason}`)}),this.log(`info`,`usageStore ${t} sessions=${a.length} read=${o.misses} dirs=${e.join(`,`)} ms=${Date.now()-n}`),this.scans[t]++}sweepStale(){let e=Date.now(),t=0,n=0,r=0;for(let[i,{lastSeenAt:a,record:o}]of this.sessions)if(!(e-a<=this.staleAgeMs)){if(o?.days.has(this.seededDay)){n++;continue}this.sessions.delete(i),t++,o===void 0&&r++}return t>0&&this.sweeps++,(t>0||n>0)&&this.log(`info`,`usageStore sweep dropped=${t} noRecord=${r} held=${n}`),t}close(){this.sweepTimer&&=(clearInterval(this.sweepTimer),null),this.sessions.clear(),this.seeded.clear()}},pR=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 YL(e);if(n.length===0)return D(`No entries in transcript`),z;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})`),R({totalTokens:n,maxTokens:t,...this.ratioPercentages(n,t)})}return D(`No main chain entries with usage data found`),z}catch(e){return B(`context transcript: ${e instanceof Error?e.message:String(e)}`)}}async getContextInfo(e){let t=this.calculateContextFromHookData(e);if(t)return R(t);let n=e.context_window?.context_window_size??2e5;return this.calculateContextTokensFromTranscript(e.transcript_path,n)}},mR=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=jF(t);if(n&&r!==``&&n.cursor.stamp===r)return this.touch(e,n),{kind:`ok`,value:n.value};let i=await $L(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 hR={messageCount:0,nonPrompts:0,recent:[]},gR=new Set([`turn`,`interrupt`,`claude-code`]);function _R(e,t){if(t.isSidechain)return e;let n=[...e.recent,t];return{messageCount:e.messageCount+ +(t.userEntry===`prompt`),nonPrompts:e.nonPrompts+ +!!gR.has(t.userEntry),recent:n.length>20?n.slice(-20):n}}function vR(e){let t=null,n=null;for(let r of e){let e=r.type||r.message?.role||r.message?.type;if(r.userEntry===`prompt`||r.userEntry===`turn`)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 yR=class{fold=new mR(hR,_R);async getMetricsInfo(e,t){if(D(`Getting metrics from hook data for session: ${e}`),!t.cost)return z;let n=await this.fold.read(e,t.transcript_path);return n.kind===`failed`?B(`metrics (${e}): ${n.reason}`):R({responseTime:t.cost.total_api_duration_ms/1e3,lastResponseTime:vR(n.value.recent),sessionDuration:t.cost.total_duration_ms/1e3,messageCount:n.value.messageCount,nonPrompts:n.value.nonPrompts,linesAdded:t.cost.total_lines_added,linesRemoved:t.cost.total_lines_removed})}};const bR={command:null,todos:[],pending:[],done:[]};function xR(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 SR(e,t){switch(t.userEntry){case`prompt`:return{...e,command:t.activity?.command??null,pending:[],done:[]};case`interrupt`:return{...e,pending:[]};case`turn`:case`tool-result`:case`claude-code`:case void 0:return e}}function CR(e,t){if(t.isSidechain)return e;let n=SR(e,t),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=xR(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 wR(e){return{command:e.command,todos:e.todos,running:e.pending.reduce((e,t)=>xR(e,t.name),[]),done:e.done}}var TR=class{fold=new mR(bR,CR);async getActivityInfo(e,t){let n=await this.fold.read(e,t.transcript_path);return n.kind===`failed`?B(`activity (${e}): ${n.reason}`):R(wR(n.value))}};function ER(e,t,n,r){return{bin:`tmux`,args:[`-S`,e.socket,...n],timeoutMs:2e3,category:t,stdinInput:r}}function DR(e,t){if(e.ok)return{kind:`ok`,stdout:e.stdout};if(e.reason===`rate-limited`)return{kind:`rate-limited`,reason:e.error??`rate-limited`};let n=e.error??[e.reason,e.stderr.trim()].filter(e=>e!==``).join(`: `);return{kind:`failed`,reason:`tmux ${t[0]} failed (${n})`}}function OR(e,t,n,r){return DR(Me(ER(e,t,n,r)),n)}async function kR(e,t,n){return DR(await O(ER(e,t,n)),n)}const AR=e=>`${e.socket}\n${e.pane}`;var jR=class{names=new Map;asking=new tR;constructor(e=Date.now){this.now=e}getSessionName(e){let t=AR(e),n=this.names.get(t);if(n&&this.now()-n.at<3e4)return Promise.resolve(n.outcome);let r=this.asking.run(t,()=>this.ask(t,e));return n?Promise.resolve(n.outcome):r}async ask(e,t){D(`Getting tmux session name for pane ${t.pane} on ${t.socket}`);let n=await kR(t,`tmux`,[`display-message`,`-p`,`-t`,t.pane,`#S`]),r=n.kind===`ok`?n.stdout.trim():``,i=n.kind===`ok`?r?R(r):z:B(n.reason);for(this.names.delete(e),this.names.set(e,{outcome:i,at:this.now()});this.names.size>64;)this.names.delete(this.names.keys().next().value);return i}};const MR=e=>JSON.stringify([e.sessionId,e.projectDir,e.cwd,e.claudeConfigDir,e.env===void 0?null:et.map(t=>e.env?.[t]??null)]);var NR=class{readings=new Map;inFlight=new Map;constructor(e,t=Date.now){this.edge=e,this.now=t}getCeiling(e){let t=MR(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),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);if(n.kind!==`ok`)throw Error(n.kind===`failed`?n.reason:`memento is not installed or not enabled for this project`);let r=MR(e);try{this.edge.move(n.value,e,t)}finally{this.readings.delete(r),this.inFlight.delete(r),this.fetch(r,e)}}};function PR(e){return{gitProvider:new pw({watchers:e.watchers,logger:e.logger}),usageStore:new fR({logger:e.logger}),contextProvider:new pR,metricsProvider:new yR,activityProvider:new TR,tmuxService:new jR,mementoProvider:new NR(nI()),autoCompact:tO,log:e.logger}}function FR(e,t){return e===void 0?!0:e.evaluate(t).map(e=>e.plain).join(``)!==`false`}const IR={kind:`hidden`},LR={kind:`shown`};function RR(e,t){try{return FR(e,t)?LR:IR}catch(e){return{kind:`failed`,message:e instanceof Error?e.message:String(e)}}}function zR(e,t){let n=q.fromFragments(e);return n.end=``,n.overflow=`ignore`,t!==void 0&&!t.isNull&&(n.style=t),n}function BR(e,t,n){e.cellLength>t?e.truncate(t,{mode:n.truncate,marker:`…`}):e.cellLength<t&&e.align(n.justify,t)}function VR({lead:e,text:t,trail:n}){return[...e===void 0?[]:[e],t,...n===void 0?[]:[n]]}function HR({text:e,placement:t,lead:n,trail:r}){return{text:UR(e),placement:t,...n!==void 0&&{lead:UR(n)},...r!==void 0&&{trail:UR(r)}}}function UR(e){let t=e.blankCopy(e.plain);t.style=am(e.style).clearMetaAndLinks();for(let{start:n,end:r,style:i}of e.spans)t.stylize(am(i).clearMetaAndLinks(),n,r);return t}function WR(e){let t=VR(e);if(t.length===1)return e.text;let n=zR(t);return n.style=e.text.style,n}function GR(e,t){let{width:n,justify:r,truncate:i,baseStyle:a,padding:o,placement:s,lead:c=[],trail:l=[]}=t;if(e.length===0)return[];let u=zR(e,a).pad(o),d=new q(` `.repeat(o)),f={placement:s,...c.length>0&&{lead:zR([d,...c],a)},...l.length>0&&{trail:zR([...l,d],a)}};if(n===`auto`)return[{text:u,...f}];let p={justify:r,truncate:i};return n===`fill`?[{text:u,fill:p,...f}]:(BR(u,n,p),[{text:u,...f}])}function KR(e,t){let n=()=>e.map(e=>({owner:WR(e),placement:e.placement})),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=Dm(e.map(WR),t).split(`
|
|
198
|
-
`);if(i.length>1)return n();let a=Math.max(0,t.width-_m(i[0]??``)),o=Math.floor(a/r.length),s=a-o*r.length;return r.forEach(({at:t,how:n},i)=>{let a=o+(i===r.length-1?s:0),{text:c}=e[t];BR(c,c.cellLength+a,n)}),n()}function qR(e,t){let n=[],r=[],i=()=>{if(!r.length)return;let e=JR(r,t);e.plain.length>0&&n.push(e),r=[]};for(let a of e){let e={frag:a,style:am(a.style)};if(e.style.link){i();let r=JR([e],t);r.plain.length>0&&n.push(r)}else r.push(e)}return i(),n}function JR(e,t){let n=t!==void 0&&!t.isNull?t:void 0,r=e.map(e=>YR(e.frag,n?n.add(e.style):e.style)),i=q.fromFragments(r);return i.end=``,i.overflow=`ignore`,r.length===1?i.style=r[0].style:n!==void 0&&(i.style=n),i}function YR(e,t){let n=e.copy();return n.style=t,n}function XR(e,t){if(e.look===void 0)throw Error(`${t} read the render's look before any render resolved one`);return e.look}function ZR(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,QR(e,t,o,n,r,i));return i}function QR(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=rg(n.from,i);return{kind:`set-option`,key:n.set,stateVar:e,options:[...t.members],paletteOf:t.paletteOf,library:t.library}}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=_a.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=rg(n.from,i);return{kind:`persist-option`,key:n.persist,stateVar:e,options:[...t.members],paletteOf:t.paletteOf,library:t.library}}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=rg(n.insertSegmentFrom,i);return{kind:`layout-op-option`,key:n.persist,anchor:n.anchor,relation:n.relation,options:[...e.members],paletteOf:e.paletteOf,library:e.library}}return{kind:`persist-bounded`,key:n.persist,by:n.by}}if(`copy`in n)return{kind:`copy`,text:tz(e,n.copy,t)};if(`open`in n)return{kind:`open`,target:tz(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:FM(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(`back`in n)return{kind:`back`};if(`rewind`in n)return{kind:`rewind`};if(`save`in n)return{kind:`save`};if(`preset`in n)return n.preset===`save`?{kind:`preset-save`}:{kind:`preset-delete`,name:tz(e,n.name,t)};if(`themeDefault`in n)return{kind:`theme-default-save`};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 $R(e){return e.kind===`do`?$R(e.head):e}function ez(e){switch($R(e).kind){case`set-option`:case`set-int`:case`persist-option`:case`layout-op-option`:return!0;case`set-literal`:case`set-bounded`:case`set-cycle`:case`copy`:case`open`:case`persist-literal`:case`persist-bounded`:case`persist-cycle`:case`reset`:case`layout-op`:case`undo`:case`redo`:case`back`:case`rewind`:case`save`:case`preset-save`:case`preset-delete`:case`theme-default-save`:case`doctor-run`:case`doctor-fix`:case`ceiling`:case`slash`:case`do`:return!1}}function tz(e,t,n){try{return e(t)}catch(e){throw Error(`Template parse error in actions.${n}: ${e.message}`,{cause:e})}}function nz(e,t){return e.has(t)?Fg(e.read(t)):``}function rz(e,t){return e.evaluate(t).map(e=>e.plain).join(``)}function iz(e,t,n,r){let i=new q(e,{style:G.combine([r,new G({link:t,bold:n})])});return i.overflow=`ignore`,i.end=``,i}function az(e,t,n=!1){let r=new G({link:t,bold:n?!0:void 0}),i=new q(e.plain,{style:G.combine([am(e.style),r])});for(let t of e.spans)i.stylize(G.combine([am(t.style),r]),t.start,t.end);return i.overflow=`ignore`,i.end=``,i}function oz(e,t){return Math.max(e.members.indexOf(nz(t,e.stateVar)),0)}function sz(e,t,n,r,i){switch(e.kind){case`set-literal`:{let t=nz(r,e.stateVar);return{effects:[{verb:gn,args:[i,e.key,e.value]}],active:t===e.value}}case`set-option`:{let a=n??t,o=nz(r,e.stateVar);return{effects:[{verb:gn,args:[i,e.key,a]}],active:o===a}}case`set-int`:{let a=n??t,o=nz(r,e.stateVar);return{effects:[{verb:gn,args:[i,e.key,a]}],active:o===a}}case`set-cycle`:{let t=e.members[(oz(e,r)+1)%e.members.length];return{effects:[{verb:gn,args:[i,e.key,t]}],active:!1}}case`set-bounded`:return{effects:[{verb:N,args:[i,e.key,String(e.by)]}],active:!1};case`copy`:return{effects:[{verb:_n,args:[rz(e.text,wC(r))]}],active:!1};case`open`:return{effects:[{verb:vn,args:[rz(e.target,wC(r))]}],active:!1};case`persist-literal`:{let t=nz(r,e.stateVar);return{effects:[{verb:Sn,args:[i,e.key,e.value]}],active:t===e.value}}case`persist-option`:{let a=n??t,o=nz(r,e.stateVar);return{effects:[{verb:Sn,args:[i,e.key,a]}],active:o===a}}case`persist-cycle`:{let t=e.members[(oz(e,r)+1)%e.members.length];return{effects:[{verb:Sn,args:[i,e.key,t]}],active:!1}}case`persist-bounded`:return{effects:[{verb:Cn,args:[i,e.key,String(e.by)]}],active:!1};case`reset`:return{effects:[{verb:Dn,args:[i,e.key]}],active:!1};case`undo`:return{effects:[{verb:kn,args:[i]}],active:!1};case`redo`:return{effects:[{verb:An,args:[i]}],active:!1};case`back`:return{effects:[{verb:jn,args:[i]}],active:!1};case`rewind`:return{effects:[{verb:Mn,args:[i]}],active:!1};case`save`:return{effects:[{verb:wn,args:[i]}],active:!1};case`preset-save`:return{effects:[{verb:P,args:[i]}],active:!1};case`theme-default-save`:return{effects:[{verb:Tn,args:[i]}],active:!1};case`preset-delete`:return{effects:[{verb:En,args:[i,rz(e.name,wC(r))]}],active:!1};case`doctor-run`:return{effects:[{verb:Pn,args:[i]}],active:!1};case`doctor-fix`:return{effects:[{verb:Fn,args:[i,e.check]}],active:!1};case`ceiling`:return{effects:[{verb:Ln,args:[i,...e.args]}],active:!1};case`slash`:return{effects:[{verb:Rn,args:[i,e.line]}],active:!1};case`layout-op`:return{effects:[{verb:On,args:[i,e.key,vA(e.op)]}],active:!1};case`do`:{let a=sz(e.head,t,n,r,i);return{effects:[...a.effects,...e.rest.flatMap(e=>sz(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:On,args:[i,e.key,vA(r)]}],active:!1}}}}function cz(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:qn(`action "${e}"`,n,t.members.length,oz(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]?.plain}}function lz(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}=cz(e,$R(r),t,i),s=nz(i,`session.id`),{effects:c,active:l}=sz(r,a.plain,o,i,s);return az(a,I(c),l)}function uz(e){return{action:{fn:(t,...n)=>lz(t,n,e),argTypes:[`string`,`liftable`],arity:{kind:`variadic`},returnType:`T`}}}function dz(e,t){return iz(`✕`,I([{verb:gn,args:[nz(e,`session.id`),t,L]}]),!1)}function fz(e,t,n){return new G({bgcolor:W.fromRgba(t),color:W.fromRgba(Pf(e,t,n))})}function pz({tint:e,text:t}){return new G({bgcolor:W.fromRgba(e),color:W.fromRgba(t)})}function mz(e,t,n){return new G({color:W.fromRgba(Qs(wf(e,`warning`),t,Nf,n))})}function hz(e,t,n){return G.combine([fz(e,t,n),mz(e,t,n)])}function gz(e,t,n){return fz(e.palette,tp(e.palette,e.disclosure,[t],n),n)}function _z(e){let t=W.fromRgba(wf(e,`background`)),n=q.fromFragments(Xd.map(n=>new q(`▀`,{style:new G({color:W.fromRgba(wf(e,n)),bgcolor:t})})));return n.overflow=`ignore`,n.end=``,n}const vz=(e,t)=>{let n=typeof e==`string`?new q(e,{style:t}):e;return n.overflow=`ignore`,n.end=``,n},yz=e=>new G({bold:e});function bz(e,t,n,r,i,a){if(r===void 0)return(n,r,a,o)=>vz(a,G.combine([gz(e,{...n,distribution:t},i),yz(o)]));let o=fz(e.palette,a,i);return(e,t,i,a)=>xz(i,G.combine([o,yz(a)]),r(t,n))}const xz=(e,t,n)=>vz(q.fromFragments([vz(e,t),vz(` `,t),_z(n)]));function Sz(e,t){return t===void 0?(e,t,n)=>vz(n):(n,r,i)=>xz(i,void 0,t(r,e))}function Cz(e,t,n,r,i){let a=fz(e.palette,i,r);return(e,r,i,o)=>vz(q.fromFragments([vz(o?`[`:` `,a),_z(n(r,t)),vz(o?`]`:` `,a)]))}function wz(e,t,n){let r=t.map(t=>({label:t.label,indices:e.flatMap((e,n)=>e.group===t.id?[n]:[])})).filter(e=>e.indices.length>0);if(r.reduce((e,t)=>e+t.indices.length,0)!==e.length){let n=new Set(t.map(e=>e.id)),r=e.flatMap((e,t)=>n.has(e.group)?[]:[`#${t} (group "${e.group}")`]);throw Error(`library: ${r.join(`, `)} name a group the domain does not list (${[...n].join(`, `)})`)}return n?r.flatMap(e=>Tz(e.indices,8).map(t=>[{label:e.label,indices:t}])):[r]}function Tz(e,t){return Array.from({length:Math.ceil(e.length/t)},(n,r)=>e.slice(r*t,(r+1)*t))}function Ez(e,t){return new q(e).truncate(t,{marker:`…`}).plain}function Dz(e){return{current:null,drawnAt:e}}function Oz(e,t,n,r,i,a,o){let s={segName:t,placementId:n,palette:r,disclosure:i,tint:a,text:o,bg:void 0,drops:[]};return e.current=s,s}function kz(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 Az(e){return new q(e).cellLength}function jz(e){return Math.max(1,e.width-e.chromeCols-2*e.padding)}function Mz(e){return Math.max(1,jz(e)-(Az(`✕`)+2*e.padding+e.seamCols))}function Nz(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 Pz(e,t,n){let r=Az(`←`)+1+Az(`→`)+1,i=Nz(e,t,n);return(i.length>1?Nz(e,t,n+r):i).map(e=>[{label:``,indices:e}])}function Fz(e,t){let n=[];for(let t of e)n.length>0&&n.push(new q(` `)),n.push(t);let r=q.fromFragments(n);return r.overflow=t?`ignore`:void 0,r.end=``,r}function Iz(e,t,n,r,i){let a=e.compiled.get(t);if(!a||a.kind!==n)throw Error(`${i} references action "${t}" which must be ${r}, got ${a?`a ${a.kind} action`:`no such action`}`);return a}function Lz(e,t,n){let r=e.compiled.get(t),i=r&&$R(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 Rz(e,t,n,r,i,a,o,s,c=[]){let l=a.compiled.get(e),u=a.store,d=nz(u,`session.id`),f=`stateVar`in t?nz(u,t.stateVar):void 0,p=(e,n)=>{let r=t.options[e];return o({index:e,count:t.options.length},r,n,r===f)},m=i?r.kind===`led`?Mz(a):jz(a):1/0,h=(r.kind===`led`?0:Az(`✕`)+1)+c.reduce((e,t)=>e+Az(t.glyph)+1,0),g=t.library&&{groups:t.library.groups,entries:t.options.map(t.library.entry)},_=g===void 0?t.options.map((e,t)=>p(t,e)):[],v=g===void 0?Pz(_.map(e=>e.cellLength),m,h):wz(g.entries,g.groups,i),y=parseInt(nz(u,n.stateVar),10),b=e=>Math.max(0,v.findIndex(t=>t.some(t=>t.indices.includes(e)))),x=b(f===void 0?-1:t.options.indexOf(f)),S=Number.isInteger(y)?y<0?x:Math.min(y,v.length-1):0,C=v[S]??[],ee=e=>I([{verb:gn,args:[d,n.key,String(e)]}]),te=r.kind===`led`?[]:[{verb:gn,args:[d,...r.writes.flatMap(([e,t])=>[e,t])]}],ne=r.kind===`own`&&r.onPick?te:[],re=e=>I([...sz(l,e,e,u,d).effects,...ne]),ie=(e,n)=>az(e,re(t.options[n])),ae=r.kind===`led`?[]:[iz(`✕`,I(te),!1,s)];ae.push(...c.map(({glyph:e,option:r})=>iz(e,I([...sz(l,r,r,u,d).effects,{verb:gn,args:[d,n.key,String(b(t.options.indexOf(r)))]}]),!1))),S>0&&ae.push(iz(`←`,ee(S-1),!1));let w=S<v.length-1?[iz(`→`,ee(S+1),!1)]:[];if(g===void 0){let e=C.flatMap(e=>e.indices);return[Fz([...ae,...e.map(e=>ie(_[e],e)),...w],i)]}let T=new G({bold:!0}),oe=v.length>1?` ${S+1}/${v.length}`:``,se=C.length===1?[new q(`${C[0].label}${oe}`,{style:T})]:[],ce=[Fz([...ae,...se,...w],i)];for(let e of C){C.length>1&&ce.push(Fz([new q(e.label,{style:T})],i));let n=Math.max(...e.indices.map(e=>Az(t.options[e])));for(let r of e.indices){let e=t.options[r],a=g.entries[r].description,o=a===void 0?void 0:Hd(a),s=` `.repeat(n-Az(e)+2),c=o===void 0?e:`${e}${s}${o}`;ce.push(Fz([ie(p(r,Ez(c,m)),r)],i))}}return ce}function zz(e,t){return{picker:{fn:(n,r,i,a,o,...s)=>{vC(`picker "${n}"`,[`closeOnPick`,`paged`,`inBody`],s);let c=Iz(e,r,`set-int`,`an int action ({ set, int: true })`,`picker`);if(o===!0&&i===!0)throw Error(`{{ picker "${n}" … }} sets both closeOnPick and inBody; a picker in a body is closed by the body's ✕, so it has no close to fold into a pick`);let l=Lz(e,n,`picker`);if(l.library!==void 0)throw Error(`{{ picker "${n}" … }} ranges a catalogue domain, which lays out as one row per member; a catalogue renders in a {{ menu }} body`);let u=kz(t,`{{ picker }}`);if(u.bg===void 0)throw Error(`{{ picker }} is not available while segments.${u.segName}'s own "bg:" is being evaluated — a picker is drawn on that background`);let[d]=Rz(n,l,{key:c.key,stateVar:c.stateVar},o===!0?{kind:`led`}:{kind:`own`,writes:[[c.key,`-1`]],onPick:i===!0},a===!0,e,bz(u,ff(void 0),XR(e,`{{ picker }}`),l.paletteOf,t.drawnAt(),u.bg),mz(u.palette,u.bg,t.drawnAt()));return d},argTypes:[`string`,`string`,`bool`],arity:{kind:`variadic`},returnType:`T`}}}function Bz(e,t){let n=e.length,r=Math.max(e.indexOf(t),0);return e=>((r+e)%n+n)%n}function Vz(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+e(-(s+1))+1+e(s+1)+1;if(t>r)break;o=t,s+=1}return s}function Hz(e,t,n,r,i,a){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 o=n.store;if(!o.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 s=n.compiled.get(e),c=nz(o,`session.id`),{options:l}=t,u=l.length;if(u===0)return Fz([],!0);let d=nz(o,t.stateVar),f=Bz(l,d),p=e=>l[f(e)],m=new Map,h=e=>{let t=m.get(e);if(t!==void 0)return t;let n=I(sz(s,p(e),p(e),o,c).effects);return m.set(e,n),n},g=e=>r({index:f(e),count:u},p(e),p(e),p(e)===d),_=new Map,v=e=>{let t=_.get(e);if(t!==void 0)return t;let n=az(g(e),h(e));return _.set(e,n),n},y=a===void 0?v(0):az(Sz(XR(n,`{{ carousel }}`),t.paletteOf)({index:f(0),count:u},p(0),p(0),!1),I(sz(n.compiled.get(a),p(0),void 0,o,c).effects)),b=Vz(e=>v(e).cellLength,u,Az(`◀`)+1+y.cellLength+1+Az(`▶`),Mz(n),i),x=e=>Array.from({length:b},(t,n)=>v(e*(n+1)));return Fz([...x(-1).reverse(),iz(`◀`,h(-1),!1),y,iz(`▶`,h(1),!1),...x(1)],!0)}function Uz(e,t){return{carousel:{fn:(n,...r)=>{let[i,a,...o]=r;if(vC(`carousel "${n}"`,[`neighbours`,`centre`],o),i!==void 0&&!(Number.isInteger(i)&&i>=0))throw Error(`carousel "${n}": neighbours must be a whole number ≥ 0 (0 shows only ◀ CURRENT ▶), got ${String(i)}`);if(a!==void 0&&!(typeof a==`string`&&e.compiled.has(a)))throw Error(`carousel "${n}": centre must name a declared action, got ${JSON.stringify(a)}`);if(a!==void 0&&ez(e.compiled.get(a)))throw Error(`carousel "${n}": centre "${a}" writes a value the template binds, and the centre binds none — name an action that writes a fixed value, a cycle, or a do of them`);let s=i??1/0,c=Lz(e,n,`carousel`),l=kz(t,`{{ carousel }}`);if(l.bg===void 0)throw Error(`{{ carousel }} is not available while segments.${l.segName}'s own "bg:" is being evaluated — a carousel is drawn on that background`);return Hz(n,c,e,bz(l,ff(void 0),XR(e,`{{ carousel }}`),c.paletteOf,t.drawnAt(),l.bg),s,a)},argTypes:[`string`,`value`],arity:{kind:`variadic`},returnType:`T`}}}function Wz(e,t,n){let r=Lz(e,t,n);if(!(`stateVar`in r))throw Error(`${n} references action "${t}", which inserts a segment and holds no current value — a ${n} needs a { set, from } or { persist, from } action`);if(r.paletteOf===void 0)throw Error(`${n} references action "${t}", whose options are not colour-valued — a swatch draws the palette an option puts in force, as the "themes", "placementThemes" and "styles" domains do`);return r}function Gz(e,t,n){let r=Math.imul(e^e>>>16,73244475);return r=Math.imul(r^r>>>16,73244475),r^=r>>>16,(n+1+(r>>>0)%Math.max(t-1,1))%t}function Kz(e,t,n,r){let i=Wz(e,t,n),a=r??nz(e.store,i.stateVar);if(!i.options.includes(a))throw Error(`${n} "${t}": "${a}" is not one of its options, so it has no palette to draw`);return i.paletteOf(a,XR(e,`{{ ${n} }}`))}function qz(e,t,n){return{swatch:{fn:(t,...n)=>{let[r,...i]=n;if(vC(`swatch "${t}"`,[`option`],i),r!==void 0&&typeof r!=`string`)throw Error(`swatch "${t}": option must be text, got ${JSON.stringify(r)}`);return _z(Kz(e,t,`swatch`,r))},argTypes:[`string`,`value`],arity:{kind:`variadic`},returnType:`T`},swatches:{fn:(r,i)=>{let a=Wz(e,r,`swatches`),o=Iz(e,i,`set-int`,`an int action ({ set, int: true })`,`swatches`),s=kz(t,`{{ swatches }}`);if(s.bg===void 0)throw Error(`{{ swatches }} is not available while segments.${s.segName}'s own "bg:" is being evaluated — a swatch row is drawn on that background`);let c=t.drawnAt(),{options:l}=a,u=l.length,[d]=Rz(r,a,{key:o.key,stateVar:o.stateVar},{kind:`led`},!0,e,Cz(s,XR(e,`{{ swatches }}`),a.paletteOf,c,s.bg),mz(s.palette,s.bg,c),u===0?[]:(()=>{let t=Bz(l,nz(e.store,a.stateVar));return[{glyph:`◀`,option:l[t(-1)]},{glyph:`?`,option:l[Gz(n().getTime(),u,t(0))]},{glyph:`▶`,option:l[t(1)]}]})());return d},argTypes:[`string`,`string`],arity:{kind:`exact`},returnType:`T`}}}const Jz=[`~/code`,`main`,`opus`,`42%`,`5m`,`$1.20`];function Yz(e,t,n,r){let i=Kf(e,n,r),a=(t,n)=>({text:t,colour:n,ink:Pf(e,n,r)});return[[sf(t).map((n,i)=>{let a=Tf(e,n);return{text:Jz[i%Jz.length],colour:a,ink:t.shade.text(e,n.hue,a,r)}})],[[a(`▾ open`,i.state),a(`menu`,i.plane)],[a(`warn`,wf(e,`warning`)),a(`error`,wf(e,`error`))]]]}function Xz(e,t){let n=e.flatMap((e,t)=>e.map(({text:e,colour:n,ink:r},i)=>({gap:t>0&&i===0?` `:``,cell:new q(` ${e} `,{style:pz({tint:n,text:r})})}))),r=[],i=0;for(let{gap:e,cell:a}of n){if(i+=e.length+a.cellLength,i>t)break;e!==``&&r.push(new q(e)),r.push(a)}return r}function Zz(e,t,n,r,i){let a=Yz(e,t,n,r).map(e=>Xz(e,i)),o=q.fromFragments(a.flatMap((e,t)=>t===0?e:[new q(`
|
|
199
|
-
`),...e]));return o.overflow=`ignore`,o.end=``,o}function
|
|
200
|
-
`),...e]));return o.overflow=`ignore`,o.end=``,o}function
|
|
161
|
+
`,l.join(e,`lib`),t.sessionId,t.cwd],env:ZF(t),timeoutMs:3e3,category:`memento.read`});return n.ok?$F(n.stdout):R(QF(n))}function tI(e,t,n){let r=Ne({bin:l.join(e,qF),args:n.kind===`set`?[`set`,`session`,n.to]:[`clear`,`session`],env:ZF(t),timeoutMs:5e3,category:`memento.move`});if(!r.ok)throw Error(QF(r))}function nI(){return{locate:e=>XF(F(e.claudeConfigDir),e.projectDir),read:eI,move:tI}}function rI(e,t,n){let r=n===void 0?``:`CLAUDE_CONFIG_DIR=${cr(n)} `,i=e.added_dirs.map(e=>` --add-dir ${cr(e)}`).join(``);return`cd ${cr(e.project_dir)} && ${r}claude --resume ${cr(t)}${i}`}function iI(e,t,n){let r=Yh(t(`preset`),e.globals.preset,e.presets),i=Qh(e,r),a=t(`edit.mode`)===`arrange`?e.editGlobals:{},o=ih(a.palette,t(`theme`),i.palette),s=AF(i,kF(o,e.themeDefaults));return{preset:r,presetCustomized:n(r),theme:o,style:Cp(a.style,t(`style`),s.style,e.styles),effect:jp(a.effect,t(`effect`),s.effect),endcaps:Ip(a.endcaps,t(`endcaps`),s.endcaps),variation:Wp(a.variation,t(`variation`),s.variation),shade:qp(a.shade,t(`shade`),s.shade),separator:a.default_separator??s.default_separator,autoWrap:tm(a.autoWrap,t(`autoWrap`),s.autoWrap),padding:im(a.padding,t(`padding`),s.padding),charset:a.charset??s.charset??`unicode`,updateNotice:nm(a.updateNotice,t(`updateNotice`),s.updateNotice),transitions:rm(a.transitions,t(`transitions`),s.transitions),colorCompatibility:a.colorCompatibility??s.colorCompatibility??`truecolor`}}function aI(e,t){return{endcaps:e.endcaps,separator:e.separator,colorCompatibility:e.colorCompatibility,wrap:e.autoWrap,padding:e.padding,charset:e.charset,width:t}}function oI(e){return{theme:e.theme,style:e.style,effect:e.effect,preset:e.preset,variation:e.variation,shade:e.shade,transitions:e.transitions}}function sI(e){return{preset:{effective:e.preset,customized:e.presetCustomized,bundled:DF(e.preset)},endcaps:{effective:e.endcaps},variation:{effective:e.variation},shade:{effective:e.shade},charset:{effective:e.charset},colorCompatibility:{effective:e.colorCompatibility},autoWrap:{effective:e.autoWrap},padding:{effective:e.padding},updateNotice:{effective:e.updateNotice},transitions:{effective:e.transitions}}}const cI={prNumber:!0,prState:!0,prUrl:!0,prError:!0,prEarlier:!0};function lI(e){return e?.prState===void 0?e?.prError===void 0?e?.prEarlier===void 0?`-`:`earlier-${e.prEarlier}`:`failed`:e.prState}const uI=10*1e3;function dI(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 fI(e,t){if(!(t<60))return e*3600/t}function pI(e,t,n,r){let i=r-t;if(i<50||i>uI)return;let a=n-e;if(!(a<=0))return a*1e3/i}function mI(e){let{prev:t,cur:n}=e;if(t===void 0)return;let r=pI(t.input,t.atMs,n.input,n.atMs),i=pI(t.output,t.atMs,n.output,n.atMs),a=pI(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 hI(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>uI)continue;let o=pI(r.total,r.atMs,i.total,i.atMs);n.push(o??0)}if(n.length!==0)return n.join(`,`)}function gI(e){let t=e.indexOf(`.`);return t<0?e:e.slice(0,t)}function _I(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`,()=>gI(h.hostname())),i=n(`user`,()=>h.userInfo().username);return{host:{...r!==void 0&&{name:r},...i!==void 0&&{user:i},...e.ssh!==void 0&&{ssh:e.ssh}},failures:t}}function vI(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=>yg(t,e.helpers).keys(),o=Qh(e,t);for(let e of gp){let t=o[e];if(_p(t))for(let e of a(t))r.push(e)}for(let n of fh(Zh(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 s=new Set;for(;r.length>0;){let e=r.pop();for(let t of bI(n,e)){if(i.has(t))continue;i.add(t);let e=n.get(t);if(e){if(e.kind===`input`)s.add(e.path);else if(e.kind===`template`)for(let t of a(e.template))r.push(t)}}}return s}function yI(e){let t=new Map;return n=>{let r=t.get(n);if(r!==void 0)return r;let i=vI(e,n);return t.set(n,i),i}}function bI(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 xI(e,t){for(let n of e)if(n===t||n.startsWith(t+`.`))return!0;return!1}function SI(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`)||t(`git.tracking`))&&{showUpstream:!0},...t(`git.repoName`)&&{showRepoName:!0},...t(`git.repoUrl`)&&{showRepoUrl:!0},...t(`git.operation`)&&{showOperation:!0},...t(`git.timeSinceCommit`)&&{showTimeSinceCommit:!0},...Object.keys(cI).some(e=>t(`git.${e}`))&&{showPullRequest:!0}}}async function CI(e,t,n,r,i,a,o,{configPath:s,...c}){let l=e=>xI(i,e),u=bw(t).getTime(),d=o.tmux??null,f=(e,t,n)=>t?n().catch(t=>R(`${e}: ${String(t)}`)):Promise.resolve(L),[p,m,h,g,_,v,y,b,x,S,C]=await Promise.all([f(`git`,l(`git`),()=>n.gitProvider.getGitInfo(r??e.workspace?.current_dir,SI(i),e.workspace?.project_dir)),f(`session`,l(`session.cost`)||l(`session.tokens`)||l(`burn`),()=>n.usageStore.getUsageInfo(e.session_id,e)),f(`today`,l(`today`),()=>n.usageStore.getTodayInfo(e,o.claudeConfigDir,t)),f(`context`,l(`context`)||l(`autocompact`),()=>n.contextProvider.getContextInfo(e)),f(`metrics`,l(`metrics`)||l(`burn`),()=>n.metricsProvider.getMetricsInfo(e.session_id,e)),f(`activity`,l(`activity`),()=>n.activityProvider.getActivityInfo(e.session_id,e)),f(`tmux`,l(`tmux.session`),()=>d===null?Promise.resolve(L):n.tmuxService.getSessionName(d)),f(`cache`,l(`cache`),()=>HF(e.transcript_path)),f(`speed`,l(`speed`),()=>n.usageStore.observeSpeed(e.session_id,e.transcript_path,u)),f(`memento`,l(`memento`),()=>n.mementoProvider.getCeiling(GF({sessionId:e.session_id,projectDir:e.workspace?.project_dir??``,cwd:r??e.workspace?.current_dir??``},o))),f(`autocompact`,l(`autocompact`),()=>Promise.resolve(n.autoCompact(oi(ai(o.claudeConfigDir)))))]),ee=[],te=e=>{if(e.kind===`failed`){ee.push(e.reason);return}return e.kind===`ok`?e.value:void 0},ne=jI(p,u);ee.push(...ne.failures);let re=_I(o);ee.push(...re.failures);let ie=te(m),ae=te(h),w=te(g),T=te(_),oe=te(v),E=te(y),se=te(b),ce=EI(S);S.kind===`failed`&&ee.push(`memento: ${S.reason}`);let le=wI(C,w?.maxTokens);C.kind===`failed`&&ee.push(`autocompact: ${C.reason}`);for(let e of ee)n.log(`warn`,`provider fetch failed: ${e}`);let ue=e.rate_limits?.five_hour,de=e.rate_limits?.seven_day,fe=ue?dI(ue.used_percentage,ue.resets_at,18e6,u):void 0,pe=de?dI(de.used_percentage,de.resets_at,6048e5,u):void 0,me=ie?.session.cost,he=T?.sessionDuration,ge=l(`burn`)&&me!=null&&he!=null?fI(me,he):void 0,_e=te(x),ve=_e===void 0?void 0:mI(_e),ye=_e===void 0?void 0:hI(_e),be=ve!==void 0||ye!==void 0?{...ve,...ye!==void 0&&{history:ye}}:void 0,xe=AI(process.env.HOME??process.env.USERPROFILE),D=e.workspace?{...e.workspace,current_dir:AI(e.workspace.current_dir)??``,project_dir:AI(e.workspace.project_dir)??``,added_dirs:(e.workspace.added_dirs??[]).map(e=>AI(e)??e)}:e.workspace,Se=ie===void 0?void 0:kI({cost:ie.session.cost,tokens:ie.session.tokens}),Ce=ae===void 0?void 0:{cost:ae.cost,tokens:ae.tokens},we=T===void 0?void 0:kI({lastResponseTime:T.lastResponseTime,responseTime:T.responseTime,sessionDuration:T.sessionDuration,messageCount:T.messageCount,nonPrompts:T.nonPrompts,linesAdded:T.linesAdded,linesRemoved:T.linesRemoved}),Te=oe===void 0?void 0:DI(oe);return{...e,...D!==void 0&&{workspace:D},...xe!==void 0&&{home:xe},...ne.git!==void 0&&{git:ne.git},...d!==null&&{tmux:{pane:d.pane,...E!==void 0&&{session:E}}},host:re.host,...sI(a),history:n.history(e.session_id),navigation:{back:n.navigation(e.session_id)},...c,...s!==null&&{configPath:s},resumeCommand:rI(D,e.session_id,o.claudeConfigDir),...Se!==void 0&&{session:Se},...Ce!==void 0&&{today:Ce},...ge!==void 0&&{burn:{costPerHour:ge}},...be!==void 0&&{speed:be},...l(`block`)&&ue!==void 0&&{block:{nativeUtilization:ue.used_percentage,resetsAt:ue.resets_at,...fe!==void 0&&{etaMinutes:fe}}},...de!==void 0&&{weekly:{percentage:de.used_percentage,resetsAt:de.resets_at,...pe!==void 0&&{etaMinutes:pe}}},...se!==void 0&&{cache:{expiresAt:se}},...w!==void 0&&{context:{totalTokens:w.totalTokens,contextLeft:w.contextLeftPercentage}},...we!==void 0&&{metrics:we},...Te!==void 0&&{activity:Te},...ce!==void 0&&{memento:ce},...le!==void 0&&{autocompact:le}}}function wI(e,t){switch(e.kind){case`absent`:return;case`failed`:return{error:e.reason};case`ok`:return nO(e.value,t)}}const TI=e=>e.trim().split(`
|
|
162
|
+
`).at(-1).trim();function EI(e){switch(e.kind){case`absent`:return;case`failed`:return{error:TI(e.reason)};case`ok`:{let{ceiling:t,session:n}=e.value;return{ceiling:t===`off`?0:t,off:t===`off`,session:n??``}}}}function DI(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=OI(e.running),i=OI(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 OI(e){return e.length===0?void 0:e.map(e=>`${e.name}:${e.count}`).join(`,`)}function kI(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 AI(e){return e===void 0||e.length===0||l.sep!==`\\`?e:e.replace(/\\/g,`/`)}function jI(e,t){if(e.kind===`absent`)return{failures:[]};if(e.kind===`failed`)return{failures:[e.reason]};let n=e.value,r=[],i=(e,t)=>{if(!(t===void 0||t.kind===`absent`)){if(t.kind===`failed`){r.push(`git.${e}: ${t.reason}`);return}return t.value}},a=i(`aheadBehind`,n.aheadBehind),o=i(`sha`,n.sha),s=i(`operation`,n.operation),c=i(`timeSinceCommit`,n.committedAt),l=c===void 0?void 0:Math.floor((t-c)/1e3),u=i(`stash`,n.stashCount),d=i(`upstream`,n.upstream),f=n.upstream===void 0?void 0:i(`tracking`,MC(n.upstream,n.aheadBehind)),p=i(`repoName`,n.repoName),m=i(`repoUrl`,n.repoUrl),h=n.pullRequest===void 0?void 0:NC(n.pullRequest,n.head),g={};switch(h?.kind){case`ok`:g={prNumber:h.value.number,prState:h.value.state,prUrl:h.value.url};break;case`failed`:r.push(`git.pr: ${h.reason}`),g={prError:h.reason};break;case`earlier`:g={prEarlier:h.value.state};break;case`absent`:case void 0:break}return{git:{branch:n.branch,status:n.status,...a!==void 0&&{ahead:a.ahead,behind:a.behind},...n.workingTree!==void 0&&{staged:n.workingTree.staged,unstaged:n.workingTree.unstaged,untracked:n.workingTree.untracked,conflicts:n.workingTree.conflicts},...o!==void 0&&{sha:o},...s!==void 0&&{operation:s},...l!==void 0&&{timeSinceCommit:l},...u!==void 0&&{stash:u},...d!==void 0&&{upstream:d},...f!==void 0&&{tracking:f},...p!==void 0&&{repoName:p},...m!==void 0&&{repoUrl:m},...g},failures:r}}const MI={theme:e=>e.theme.kind===`decided`?e.theme.name:null,preset:e=>e.preset,style:e=>e.style.kind===`decided`?e.style.name:null,effect:e=>e.effect.kind===`decided`?e.effect.name:null,endcaps:e=>e.endcaps,variation:e=>e.variation,shade:e=>e.shade,transitions:e=>e.transitions?Jp:Yp,autoWrap:e=>e.autoWrap?Jp:Yp,padding:e=>String(e.padding),updateNotice:e=>e.updateNotice?Jp:Yp},NI=Object.entries(ha),PI=new Set(ga.map(e=>e.sessionKey)),FI=()=>!1;function II(e,t){return iI(e,e=>PI.has(e)?t(e):null,FI)}const LI=[`preset`,`theme`];function RI(e,t,n){let r=new Set(LI.slice(0,n).map(e=>ha[e].sessionKey));return iI(e,e=>r.has(e)?t(e):null,FI)}function zI(e,t){let n=Array.from({length:LI.length+1},(n,r)=>RI(e,t,r));return e=>{let t=LI.indexOf(e);return n[t===-1?LI.length:t]}}function BI(e,t,n,r){return e.flatMap(([e,i])=>{let a=MI[e](t);return a===null||a===MI[e](n(e))?[]:[{...i,value:a,target:r(i)}]})}function VI(e,t,n){return MI[n](II(e,t))}function HI(e,t){let n=II(e,t);return BI(NI,n,zI(e,t),t=>UI(e,n.preset,t.configKey))}function UI(e,t,n){return n in(Xh(e.presets,t).globals??{})?HE(t,n):n}function WI(e,t,n){let r=Yh(t(ha.preset.sessionKey),e.globals.preset,e.presets),i=UE(n);return{key:i?.scope===`globals`?UI(e,r,i.field):n,globals:Qh(e,r)}}function GI(e,t){let{preset:n}=II(e,t);return JI(e,n).flatMap(({id:e,setting:r,key:i,decl:a,saved:o})=>{let s=t(i),c=s===null?void 0:Ah(a,s);return c===void 0||kh(c)===kh(o)?[]:[{preset:n,id:e,setting:r,key:i,value:c}]})}function KI(e,t,n){let r=new Map(n.map(e=>[e.key,e.value]));return Jh(e.presets).flatMap(n=>{let i=JI(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 Dh(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:Ah(e.decl,n);return[e.setting,i??e.saved]}))).map(({message:t})=>`placement "${e}": ${t}`)})})}const qI=new WeakMap;function JI(e,t){let n=qI.get(e)??new Map;qI.set(e,n);let r=n.get(t);if(r!==void 0)return r;let i=[...fh(Zh(e,t).node)].flatMap(t=>t.kind!==`segment`||t.drafts===void 0?[]:Object.entries(t.drafts).map(([n,{id:r,key:i}])=>{let a=Th(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 YI(e,t){let n=II(e,t);return{from:n.preset,globals:Xh(e.presets,n.preset).globals??{},picks:BI(NI.filter(([e])=>e!==`preset`),n,zI(e,t),e=>e.configKey),placements:GI(e,t)}}function XI(e,t){return iI({...e,globals:{palette:t},presets:{}},()=>null,FI)}function ZI(e,t){let n=II(e,t),r=MI.theme(n);if(r===null)return{kind:`rule`};let i=XI(e,r),a=Qh(e,n.preset),o=Object.fromEntries(_h.map(e=>[e,MI[e](a[e]===void 0?n:i)]));return{kind:`look`,theme:r,look:o,differs:_h.some(e=>o[e]!==MI[e](i))}}function QI(e){return{sessionKeys:ga.filter(t=>t.configKey===e).map(e=>e.sessionKey),fileKeys:[e,...xE(e)?EF.map(t=>HE(t,e)):[],...VE(e)?dp().map(t=>BE(t,e)):[]]}}function $I(e){return new Set(ga.map(e=>e.configKey).filter(t=>QI(t).fileKeys.some(t=>nL(e,tL(t)))))}function eL(e,t,n){let r=HI(e,n),i=new Set(r.map(e=>e.configKey)),a=xa(e=>i.has(ha[e].configKey)||t.has(ha[e].configKey)),o=ZI(e,n);return{unsaved:r.length+GI(e,n).length,resettable:a,themeDefault:o.kind===`look`&&o.differs?{differs:!0,theme:o.theme}:{differs:!1}}}function tL(e){let t=UE(e);if(t===null||t.scope===`preset-root`)throw Error(`reset layer "${e}" is not a value path`);return WE(t)}function nL(e,t){let[n,...r]=t;return n===void 0?e!==void 0:typeof e==`object`&&!!e&&nL(e[n],r)}const rL=dp(),iL=new Set(rL),aL=new Set(Mp),oL=e=>e?iL.has(e)?{ok:!0,value:e}:{ok:!1,reason:`unknown theme "${e}" (have: ${rL.join(`, `)})`}:{ok:!1,reason:`theme name is required`},sL=e=>e?aL.has(e)?{ok:!0,value:e}:{ok:!1,reason:`unknown endcaps "${e}" (have: ${Mp.join(`, `)})`}:{ok:!1,reason:`endcaps name is required`},cL=new Set([`1`,`true`]),lL=new Set([`0`,`false`]),uL={endcaps:sL,theme:oL,"toolbar-expanded":e=>cL.has(e)?{ok:!0,value:`1`}:lL.has(e)?{ok:!0,value:``}:{ok:!1,reason:`expected boolean-ish (1, 0, true, false), got "${e}"`}},dL=AA(uL,`state`,vL);function fL(e,t){return dL.register(e,t)}function pL(e){return dL.gateFor(e)}function mL(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:ig(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 hL(e){return e.filter(e=>e.spec.kind!==`allow-list`||!Object.hasOwn(uL,e.key))}function gL(e,t,n){let r=Sa.get(n);if(r!==void 0)return VI(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 _L(e){let t=$k(e);return hL(Object.values(e.actions).flatMap(e=>mL(e,t)))}function vL(e){return OA(_L(e))}const yL=`update.dismissed`,bL=`updateNotice`,xL=ha.updateNotice.sessionKey;function SL(e){return e.kind===`source`?e.newer.digest:mi(e.newer)}const CL=e=>`${e.version} [${Gm(e.digest)}]`;function wL(e){switch(e.kind){case`source`:return{headline:`Newer source`,newer:CL(e.newer),running:CL(e.running),act:`rebuild`,busy:`rebuilding…`,command:{bin:`pnpm`,args:[`build`],cwd:e.root}};case`release`:return{headline:`Newer release`,newer:mi(e.newer),running:mi(e.running),act:`upgrade`,busy:`upgrading…`,command:{bin:`pnpm`,args:[`dlx`,`${gi}@${mi(e.newer)}`,`install`]}}}}const TL={kind:`idle`},EL={kind:`running`};function DL(e,t,n){if(e===null)return[];let r=SL(e);if(!n.enabled||n.dismissed===r)return[];let i=wL(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(`
|
|
163
|
+
`),c=Vn([{verb:xn,args:[s]}]),l=t.kind===`running`?Nm(`[${i.busy}]`,c):Nm(`[${i.act}]`,Vn([{verb:Nn,args:[n.sessionId]}]));return[{severity:Mm,message:s,lines:[[Nm(a,c),l,Nm(`[dismiss]`,Vn([{verb:gn,args:[n.sessionId,yL,r]}])),Nm(`[disable]`,Vn([{verb:Sn,args:[n.sessionId,bL,`false`]},{verb:gn,args:[n.sessionId,xL,`false`]}]))],...o.map(e=>[Nm(e,c)])]}]}function OL(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 kL(e){switch(e.kind){case`current`:return[`info`,`build: current ${CL(e.stamp)}`];case`stale`:return[`info`,`build: stale — source ${CL(e.source)}, running ${CL(e.running)}`];case`not-source-checkout`:return[`info`,`build: not a source checkout`];case`unchecked`:return[`warn`,`build: unchecked: ${e.reason}`]}}function AL(e){switch(e.kind){case`current`:return[`info`,`release: current ${mi(e.installed)}`];case`stale`:return[`info`,`release: stale — latest ${mi(e.latest)}, running ${mi(e.installed)}`];case`ahead`:return[`info`,`release: ahead — running ${mi(e.installed)}, latest ${mi(e.latest)}`];case`unchecked`:return[`warn`,`release: unchecked: ${e.reason}`]}}function jL(e){let t=null;return([n,r])=>{r!==t&&(t=r,e(n,r))}}const ML=e=>e.split(/\r?\n/).map(e=>e.trim()).filter(e=>e!==``).at(-1);function NL(e){let t=e.exitCode===null?``:` (exit ${e.exitCode})`,n=ML(e.stderr)??e.error??ML(e.stdout)??`no output`;return`${e.reason}${t}: ${n}`}function PL(){let e=[MA(bL,[`false`]),fL(xL,[`false`]),fL(yL,[])];return()=>e.forEach(e=>e())}function FL(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=TL,d=null,f=jL(s),p=jL(s),m=()=>OL(c,l);function h(){let e=m(),t=e===null?null:SL(e);(d===null?null:d.identity)!==t&&(d?.dispose(),d=t===null?null:{identity:t,dispose:fL(yL,[t])})}function g(){c=Ym(t,qm),f(kL(c)),h()}async function _(){l=vi(Ct,await _i(gi,a,i)),p(AL(l)),h()}return{arm(){PL(),g(),setInterval(g,n).unref(),c.kind===`not-source-checkout`&&(_(),setInterval(()=>void _(),r).unref())},notice:e=>DL(m(),u,e),act(){let e=m();if(e===null)throw new q(`apply-update: nothing newer is known to apply`);let t=wL(e);if(u.kind===`running`)throw new q(`apply-update: already ${t.busy}`);u=EL,s(`info`,`apply-update: ${t.act} — ${t.command.bin} ${t.command.args?.join(` `)??``}`),Me({...t.command,category:`update.apply`,timeoutMs:6e5}).then(n=>{if(n.ok){u=TL,s(`info`,`apply-update: ${t.act} succeeded`),g(),o();return}let r=NL(n);u={kind:`failed`,identity:SL(e),reason:r},s(`error`,`apply-update: ${t.act} failed: ${r}`)})}}}var IL=class{static CACHE_DIR=ze();static USAGE_CACHE_DIR=l.join(this.CACHE_DIR,`usage`);static LOCKS_DIR=l.join(this.CACHE_DIR,`locks`);static isLocked(e){let t=l.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=l.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 de(50);else throw e}return D(`Failed to acquire lock for ${e} within ${t}ms`),!1}static async releaseLock(e){let t=l.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 ae(`md5`).update(e).digest(`hex`).substring(0,8)}static async getUsageCache(e,t){await this.ensureCacheDirectories();let n=l.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 de(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 de(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=l.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 LL={"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 RL=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 IL.getUsageCache(`pricing`,e)}static async saveDiskCache(e){await IL.setUsageCache(`pricing`,e)}static async fetchPricingData(){return new Promise(e=>{let t=new ee(this.GITHUB_PRICING_URL),n=ue({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(LL).length} models`),this.executionCache=LL,D(`[CACHE-SET] Pricing execution cache stored: ${Object.keys(LL).length} models`),LL)}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 zL=/<command-name>\s*([^<\s][^<]*?)\s*<\/command-name>/;function BL(e){if(typeof e==`string`)return zL.exec(e)?.[1]}function VL(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 HL(e){return typeof e==`string`?e:Array.isArray(e)?e.find(e=>typeof e==`object`&&!!e&&e.type===`text`&&typeof e.text==`string`)?.text??``:``}function UL(e,t){let n=e.message?.content,r=[],i=[],a;if(Array.isArray(n))for(let e of n){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=VL(t.input)??a);break}case`tool_result`:{let e=t.tool_use_id;typeof e==`string`&&i.push(e);break}default:break}}let o=t===`prompt`?BL(HL(n)):void 0;if(!(r.length===0&&i.length===0&&a===void 0&&o===void 0))return{...r.length>0&&{started:r},...i.length>0&&{finished:i},...a!==void 0&&{todos:a},...o!==void 0&&{command:o}}}function WL(e){if(e!==void 0)return[e];let t=g();return[p(t,`.config`,`claude`),p(t,`.claude`)].filter(e=>a(e))}async function GL(e){let t=[];for(let n of e){let e=p(n,`projects`);if(a(e))try{let n=await FF(e,{withFileTypes:!0});for(let r of n)if(r.isDirectory()){let n=p(e,r.name);t.push(n)}}catch(t){D(`Failed to read projects directory ${e}:`,t)}}return t}async function KL(e,t,n){let r=[],i=p(t,e,`subagents`);try{let t=(await FF(i)).filter(e=>e.startsWith(`agent-`)&&e.endsWith(`.jsonl`));for(let a of t){let t=p(i,a);if(n?.has(t)){r.push(t);continue}try{let n=(await IF(t,`utf-8`)).split(`
|
|
164
|
+
`)[0];n&&JSON.parse(n).sessionId===e&&r.push(t)}catch{D(`Failed to check agent file ${t}`)}}}catch(e){D(`Failed to read subagents directory ${i}:`,e)}return r}function qL(e){let t=e.message;if((e.type||t?.role||t?.type)!==`user`)return;if(YL(t)===`tool_result`)return`tool-result`;let n=typeof e.origin==`object`&&e.origin!==null?e.origin.kind:void 0;if(n!==void 0&&n!==`human`)return`turn`;let r=HL(t?.content).trimStart();return r.startsWith(`[Request interrupted by user`)?`interrupt`:e.isMeta===!0||e.isCompactSummary===!0||JL.test(r)?`claude-code`:`prompt`}const JL=/^<(?:command-name|local-command-std(?:out|err)|bash-(?:input|stdout|stderr))>/;function YL(e){let t=e?.content;return Array.isArray(t)&&typeof t[0]==`object`&&t[0]?t[0].type:void 0}const XL=new Map;async function ZL(e){try{let t=await LF(e),n=t.size,r=XL.get(e);if(r&&r.mtime===t.mtimeMs&&r.size===n)return D(`[parse-cache] hit ${e}`),XL.delete(e),XL.set(e,r),r.entries;let i;return n>1048576?(D(`Using streaming parser for large file ${e} (${Math.round(n/1024)}KB)`),i=await nR(e)):i=await eR(e),D(`Parsed ${i.length} entries from ${e}`),n>5242880?i:(XL.delete(e),XL.size>=16&&XL.delete(XL.keys().next().value),XL.set(e,{mtime:t.mtimeMs,size:n,entries:i}),i)}catch(t){if(t.code===`ENOENT`)return D(`Transcript not present yet: ${e}`),[];throw t}}function QL(e){if(!e.timestamp)return null;let t=e.message,n=t?.usage,r=qL(e);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}:void 0,costUSD:typeof e.costUSD==`number`?e.costUSD:void 0,isSidechain:e.isSidechain===!0,userEntry:r,activity:UL(e,r),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 $L(e){let t=[];for(let n of e.split(`
|
|
165
|
+
`))if(n.trim())try{let e=QL(JSON.parse(n));e&&t.push(e)}catch(e){D(`Failed to parse JSONL line: ${e}`);continue}return t}async function eR(e){return $L(await IF(e,`utf-8`))}async function tR(e,t){let n=await RF(e,t===void 0?void 0:{offset:t.offset,ino:t.ino});if(n.kind!==`ok`)return n;let{buf:r,start:i,stamp:a,ino:o,reset:s}=n.value,c=r.lastIndexOf(10);return I(c<0?{entries:[],cursor:{offset:i,stamp:a,ino:o},reset:s}:{entries:$L(r.subarray(0,c+1).toString(`utf-8`)),cursor:{offset:i+c+1,stamp:a,ino:o},reset:s})}async function nR(e){return new Promise((t,n)=>{let r=[],a=i(e,{encoding:`utf8`}),o=fe({input:a,crlfDelay:1/0});o.on(`line`,e=>{let t=e.trim();if(t)try{let e=QL(JSON.parse(t));e&&r.push(e)}catch(e){D(`Failed to parse JSONL line: ${e}`)}}),o.on(`close`,()=>{t(r)}),o.on(`error`,t=>{D(`Streaming parser error for ${e}:`,t),n(t)}),a.on(`error`,t=>{D(`File stream error for ${e}:`,t),n(t)})})}var rR=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 iR(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 aR=new Map,oR={cost:0,input:0,output:0,cacheCreation:0,cacheRead:0},sR={cost:null,calculatedCost:null,officialCost:null,tokens:null,tokenBreakdown:null};function cR(e){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`}function lR(){let e=new Date;return e.setHours(0,0,0,0),e.setDate(e.getDate()-1),e.getTime()}function uR(){return{input:0,output:0,cacheCreation:0,cacheRead:0}}async function dR(e,t,n,r){let i=cR(new Date(lR())),a=e&&!t?e:void 0,o=a?.entries??0,s=a?.cost??0,c=a?{...a.breakdown}:uR(),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 RL.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=cR(new Date(e.timestamp));if(r<i)continue;let a=l.get(r)??{...oR};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 fR(e){let t=0,n=0,r=uR(),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)??{...oR};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:sR,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 pR(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 mR=class{sessions=new Map;flight=new rR;seeded=new Map;seededDay=``;rescanIntervalMs;speedFlight=new rR;staleAgeMs;log;renderTally={hits:0,misses:0};sweeps=0;scans={seed:0,rescan:0};sweepTimer=null;constructor(e={}){this.log=e.logger??Mt,this.staleAgeMs=e.staleAgeMs??864e5,this.rescanIntervalMs=e.rescanIntervalMs??6e4;let t=e.sweepIntervalMs??3e5;t>0&&(this.sweepTimer=setInterval(()=>this.sweepStale(),t),this.sweepTimer.unref())}getStats(){return{size:this.sessions.size,hits:this.renderTally.hits,misses:this.renderTally.misses,sweeps:this.sweeps,seeds:this.scans.seed,rescans:this.scans.rescan}}async getUsageInfo(e,t){let n=await this.ingest(e,t?.transcript_path,this.renderTally);if(n.kind===`failed`)return n;let r=n.kind===`ok`?n.value.sessionInfo:sR,i=t?.cost?.total_cost_usd??null;return I({session:{...r,cost:i??r.cost,officialCost:i}})}async getTodayInfo(e,t,n){let r=cR(bw(n)),i=WL(t);try{await this.ensureSeeded(r,i,n*1e3)}catch(e){return R(`usage seed: ${e instanceof Error?e.message:String(e)}`)}let a=await this.ingest(e?.session_id??``,e?.transcript_path,this.renderTally);if(a.kind===`failed`)return a;let o=i.map(e=>p(e,`projects`)+m),s={...oR},c=!1;for(let[t,{record:n}]of this.sessions){let i=n?.transcriptPath??``,a=t===e?.session_id||o.some(e=>i.startsWith(e))?n?.days??aR:aR;c||=a.has(r);let l=a.get(r)??oR;s.cost+=l.cost,s.input+=l.input,s.output+=l.output,s.cacheCreation+=l.cacheCreation,s.cacheRead+=l.cacheRead}return c?I({cost:s.cost,tokens:s.input+s.output+s.cacheCreation+s.cacheRead,tokenBreakdown:{input:s.input,output:s.output,cacheCreation:s.cacheCreation,cacheRead:s.cacheRead},date:r}):L}async observeSpeed(e,t,n){if(!e)return L;let r=jF(t);return this.speedFlight.run(`${e}:${r}`,async()=>{let i=await this.ingest(e,t,this.renderTally,r);if(i.kind===`failed`)return i;let a=iR(i.kind===`ok`?i.value.sessionInfo.tokenBreakdown:null,n),{ring:o}=this.hold(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(),I({...s!==void 0&&{prev:s},cur:a,samples:[...o]})})}async ingest(e,t,n,r){if(!e)return L;let i=r??jF(t),a=this.see(e)?.record;if(a&&i!==``&&a.transcriptStamp===i)return n.hits++,I(a);if(!t)return a?I(a):L;n.misses++;let o;try{o=await this.flight.run(`${e}:${i}`,async()=>{let n=this.sessions.get(e)?.record;return{prior:n,outcome:await this.refold(e,t,n)}})}catch(t){return R(`usage refold (${e}): ${t instanceof Error?t.message:String(t)}`)}let{prior:s,outcome:c}=o;if(c.kind!==`ok`)return c;let l={files:c.value.files,sessionInfo:c.value.sessionInfo,days:c.value.days,transcriptStamp:c.value.mainStamp,transcriptPath:t};return this.sessions.get(e)?.record===s&&(this.hold(e).record=l),I(l)}see(e){let t=this.sessions.get(e);return t&&(t.lastSeenAt=Date.now()),t}hold(e){let t=this.see(e);if(t)return t;let n={lastSeenAt:Date.now(),record:void 0,ring:[]};return this.sessions.set(e,n),n}async refold(e,t,n){let r=await KL(e,d(t),n===void 0?void 0:new Set(n.files.keys())),i=new Map,a=``;for(let e of[t,...r]){let r=n?.files.get(e),o=await tR(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 dR(r,l,s,c)),e===t&&(a=c.stamp)}return I({files:i,...fR(i),mainStamp:a})}ensureSeeded(e,t,n){this.seededDay!==e&&(this.seeded.clear(),this.seededDay=e);let r=t.join(`\0`),i=this.seeded.get(r);if(!i){let e=this.seed(t,`seed`),i={done:e,scanning:e,startedAtMs:n};return this.seeded.set(r,i),this.settle(r,i,e),e}return i.scanning===void 0&&n-i.startedAtMs>=this.rescanIntervalMs&&(i.startedAtMs=n,i.scanning=this.seed(t,`rescan`),this.settle(r,i,i.scanning)),i.done}settle(e,t,n){n.then(()=>{t.scanning=void 0},n=>{this.log(`warn`,`usageStore scan: ${n instanceof Error?n.message:String(n)}`),this.seeded.get(e)===t&&this.seeded.delete(e)})}async scanned(){await Promise.allSettled([...this.seeded.values()].map(e=>e.scanning))}async seed(e,t){let n=Date.now(),r=lR(),i=await GL(e),a=[];for(let e of i){let t;try{t=await FF(e)}catch{continue}for(let n of t){if(!n.endsWith(`.jsonl`))continue;let t=p(e,n),i;try{i=await LF(t)}catch{continue}i.mtimeMs<r||a.push({sessionId:n.slice(0,-6),path:t,stamp:MF(i)})}}let o={hits:0,misses:0};await pR(a,8,async e=>{let n=await this.ingest(e.sessionId,e.path,o,e.stamp);n.kind===`failed`&&this.log(`warn`,`usageStore ${t}: ${n.reason}`)}),this.log(`info`,`usageStore ${t} sessions=${a.length} read=${o.misses} dirs=${e.join(`,`)} ms=${Date.now()-n}`),this.scans[t]++}sweepStale(){let e=Date.now(),t=0,n=0,r=0;for(let[i,{lastSeenAt:a,record:o}]of this.sessions)if(!(e-a<=this.staleAgeMs)){if(o?.days.has(this.seededDay)){n++;continue}this.sessions.delete(i),t++,o===void 0&&r++}return t>0&&this.sweeps++,(t>0||n>0)&&this.log(`info`,`usageStore sweep dropped=${t} noRecord=${r} held=${n}`),t}close(){this.sweepTimer&&=(clearInterval(this.sweepTimer),null),this.sessions.clear(),this.seeded.clear()}},hR=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 ZL(e);if(n.length===0)return D(`No entries in transcript`),L;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})`),I({totalTokens:n,maxTokens:t,...this.ratioPercentages(n,t)})}return D(`No main chain entries with usage data found`),L}catch(e){return R(`context transcript: ${e instanceof Error?e.message:String(e)}`)}}async getContextInfo(e){let t=this.calculateContextFromHookData(e);if(t)return I(t);let n=e.context_window?.context_window_size??2e5;return this.calculateContextTokensFromTranscript(e.transcript_path,n)}},gR=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=jF(t);if(n&&r!==``&&n.cursor.stamp===r)return this.touch(e,n),{kind:`ok`,value:n.value};let i=await tR(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 _R={messageCount:0,nonPrompts:0,recent:[]},vR=new Set([`turn`,`interrupt`,`claude-code`]);function yR(e,t){if(t.isSidechain)return e;let n=[...e.recent,t];return{messageCount:e.messageCount+ +(t.userEntry===`prompt`),nonPrompts:e.nonPrompts+ +!!vR.has(t.userEntry),recent:n.length>20?n.slice(-20):n}}function bR(e){let t=null,n=null;for(let r of e){let e=r.type||r.message?.role||r.message?.type;if(r.userEntry===`prompt`||r.userEntry===`turn`)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 xR=class{fold=new gR(_R,yR);async getMetricsInfo(e,t){if(D(`Getting metrics from hook data for session: ${e}`),!t.cost)return L;let n=await this.fold.read(e,t.transcript_path);return n.kind===`failed`?R(`metrics (${e}): ${n.reason}`):I({responseTime:t.cost.total_api_duration_ms/1e3,lastResponseTime:bR(n.value.recent),sessionDuration:t.cost.total_duration_ms/1e3,messageCount:n.value.messageCount,nonPrompts:n.value.nonPrompts,linesAdded:t.cost.total_lines_added,linesRemoved:t.cost.total_lines_removed})}};const SR={command:null,todos:[],pending:[],done:[]};function CR(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 wR(e,t){switch(t.userEntry){case`prompt`:return{...e,command:t.activity?.command??null,pending:[],done:[]};case`interrupt`:return{...e,pending:[]};case`turn`:case`tool-result`:case`claude-code`:case void 0:return e}}function TR(e,t){if(t.isSidechain)return e;let n=wR(e,t),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=CR(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 ER(e){return{command:e.command,todos:e.todos,running:e.pending.reduce((e,t)=>CR(e,t.name),[]),done:e.done}}var DR=class{fold=new gR(SR,TR);async getActivityInfo(e,t){let n=await this.fold.read(e,t.transcript_path);return n.kind===`failed`?R(`activity (${e}): ${n.reason}`):I(ER(n.value))}};function OR(e,t,n,r){return{bin:`tmux`,args:[`-S`,e.socket,...n],timeoutMs:2e3,category:t,stdinInput:r}}function kR(e,t){if(e.ok)return{kind:`ok`,stdout:e.stdout};if(e.reason===`rate-limited`)return{kind:`rate-limited`,reason:e.error??`rate-limited`};let n=e.error??[e.reason,e.stderr.trim()].filter(e=>e!==``).join(`: `);return{kind:`failed`,reason:`tmux ${t[0]} failed (${n})`}}function AR(e,t,n,r){return kR(Ne(OR(e,t,n,r)),n)}async function jR(e,t,n){return kR(await Me(OR(e,t,n)),n)}const MR=e=>`${e.socket}\n${e.pane}`;var NR=class{names=new Map;asking=new rR;constructor(e=Date.now){this.now=e}getSessionName(e){let t=MR(e),n=this.names.get(t);if(n&&this.now()-n.at<3e4)return Promise.resolve(n.outcome);let r=this.asking.run(t,()=>this.ask(t,e));return n?Promise.resolve(n.outcome):r}async ask(e,t){D(`Getting tmux session name for pane ${t.pane} on ${t.socket}`);let n=await jR(t,`tmux`,[`display-message`,`-p`,`-t`,t.pane,`#S`]),r=n.kind===`ok`?n.stdout.trim():``,i=n.kind===`ok`?r?I(r):L:R(n.reason);for(this.names.delete(e),this.names.set(e,{outcome:i,at:this.now()});this.names.size>64;)this.names.delete(this.names.keys().next().value);return i}};const PR=e=>JSON.stringify([e.sessionId,e.projectDir,e.cwd,e.claudeConfigDir,e.env===void 0?null:tt.map(t=>e.env?.[t]??null)]);var FR=class{readings=new Map;inFlight=new Map;constructor(e,t=Date.now){this.edge=e,this.now=t}getCeiling(e){let t=PR(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),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);if(n.kind!==`ok`)throw Error(n.kind===`failed`?n.reason:`memento is not installed or not enabled for this project`);let r=PR(e);try{this.edge.move(n.value,e,t)}finally{this.readings.delete(r),this.inFlight.delete(r),this.fetch(r,e)}}};function IR(e){return{gitProvider:new mw({watchers:e.watchers,logger:e.logger}),usageStore:new mR({logger:e.logger}),contextProvider:new hR,metricsProvider:new xR,activityProvider:new DR,tmuxService:new NR,mementoProvider:new FR(nI()),autoCompact:tO,log:e.logger}}function LR(e,t){return e===void 0?!0:e.evaluate(t).map(e=>e.plain).join(``)!==`false`}const RR={kind:`hidden`},zR={kind:`shown`};function BR(e,t){try{return LR(e,t)?zR:RR}catch(e){return{kind:`failed`,message:e instanceof Error?e.message:String(e)}}}function VR(e,t){let n=K.fromFragments(e);return n.end=``,n.overflow=`ignore`,t!==void 0&&!t.isNull&&(n.style=t),n}function HR(e,t,n){e.cellLength>t?e.truncate(t,{mode:n.truncate,marker:`…`}):e.cellLength<t&&e.align(n.justify,t)}function UR({lead:e,text:t,trail:n}){return[...e===void 0?[]:[e],t,...n===void 0?[]:[n]]}function WR({text:e,placement:t,lead:n,trail:r}){return{text:GR(e),placement:t,...n!==void 0&&{lead:GR(n)},...r!==void 0&&{trail:GR(r)}}}function GR(e){let t=e.blankCopy(e.plain);t.style=om(e.style).clearMetaAndLinks();for(let{start:n,end:r,style:i}of e.spans)t.stylize(om(i).clearMetaAndLinks(),n,r);return t}function KR(e){let t=UR(e);if(t.length===1)return e.text;let n=VR(t);return n.style=e.text.style,n}function qR(e,t){let{width:n,justify:r,truncate:i,baseStyle:a,padding:o,placement:s,lead:c=[],trail:l=[]}=t;if(e.length===0)return[];let u=VR(e,a).pad(o),d=new K(` `.repeat(o)),f={placement:s,...c.length>0&&{lead:VR([d,...c],a)},...l.length>0&&{trail:VR([...l,d],a)}};if(n===`auto`)return[{text:u,...f}];let p={justify:r,truncate:i};return n===`fill`?[{text:u,fill:p,...f}]:(HR(u,n,p),[{text:u,...f}])}function JR(e,t){let n=()=>e.map(e=>({owner:KR(e),placement:e.placement})),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=Om(e.map(KR),t).split(`
|
|
166
|
+
`);if(i.length>1)return n();let a=Math.max(0,t.width-vm(i[0]??``)),o=Math.floor(a/r.length),s=a-o*r.length;return r.forEach(({at:t,how:n},i)=>{let a=o+(i===r.length-1?s:0),{text:c}=e[t];HR(c,c.cellLength+a,n)}),n()}function YR(e,t){let n=[],r=[],i=()=>{if(!r.length)return;let e=XR(r,t);e.plain.length>0&&n.push(e),r=[]};for(let a of e){let e={frag:a,style:om(a.style)};if(e.style.link){i();let r=XR([e],t);r.plain.length>0&&n.push(r)}else r.push(e)}return i(),n}function XR(e,t){let n=t!==void 0&&!t.isNull?t:void 0,r=e.map(e=>ZR(e.frag,n?n.add(e.style):e.style)),i=K.fromFragments(r);return i.end=``,i.overflow=`ignore`,r.length===1?i.style=r[0].style:n!==void 0&&(i.style=n),i}function ZR(e,t){let n=e.copy();return n.style=t,n}function QR(e,t){if(e.look===void 0)throw Error(`${t} read the render's look before any render resolved one`);return e.look}function $R(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,ez(e,t,o,n,r,i));return i}function ez(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=ig(n.from,i);return{kind:`set-option`,key:n.set,stateVar:e,options:[...t.members],paletteOf:t.paletteOf,library:t.library}}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=ya.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=ig(n.from,i);return{kind:`persist-option`,key:n.persist,stateVar:e,options:[...t.members],paletteOf:t.paletteOf,library:t.library}}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=ig(n.insertSegmentFrom,i);return{kind:`layout-op-option`,key:n.persist,anchor:n.anchor,relation:n.relation,options:[...e.members],paletteOf:e.paletteOf,library:e.library}}return{kind:`persist-bounded`,key:n.persist,by:n.by}}if(`copy`in n)return{kind:`copy`,text:rz(e,n.copy,t)};if(`open`in n)return{kind:`open`,target:rz(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:FM(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(`back`in n)return{kind:`back`};if(`rewind`in n)return{kind:`rewind`};if(`save`in n)return{kind:`save`};if(`preset`in n)return n.preset===`save`?{kind:`preset-save`}:{kind:`preset-delete`,name:rz(e,n.name,t)};if(`themeDefault`in n)return{kind:`theme-default-save`};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 tz(e){return e.kind===`do`?tz(e.head):e}function nz(e){switch(tz(e).kind){case`set-option`:case`set-int`:case`persist-option`:case`layout-op-option`:return!0;case`set-literal`:case`set-bounded`:case`set-cycle`:case`copy`:case`open`:case`persist-literal`:case`persist-bounded`:case`persist-cycle`:case`reset`:case`layout-op`:case`undo`:case`redo`:case`back`:case`rewind`:case`save`:case`preset-save`:case`preset-delete`:case`theme-default-save`:case`doctor-run`:case`doctor-fix`:case`ceiling`:case`slash`:case`do`:return!1}}function rz(e,t,n){try{return e(t)}catch(e){throw Error(`Template parse error in actions.${n}: ${e.message}`,{cause:e})}}function iz(e,t){return e.has(t)?Ig(e.read(t)):``}function az(e,t){return e.evaluate(t).map(e=>e.plain).join(``)}function oz(e,t,n,r){let i=new K(e,{style:U.combine([r,new U({link:t,bold:n})])});return i.overflow=`ignore`,i.end=``,i}function sz(e,t,n=!1){let r=new U({link:t,bold:n?!0:void 0}),i=new K(e.plain,{style:U.combine([om(e.style),r])});for(let t of e.spans)i.stylize(U.combine([om(t.style),r]),t.start,t.end);return i.overflow=`ignore`,i.end=``,i}function cz(e,t){return Math.max(e.members.indexOf(iz(t,e.stateVar)),0)}function lz(e,t,n,r,i){switch(e.kind){case`set-literal`:{let t=iz(r,e.stateVar);return{effects:[{verb:gn,args:[i,e.key,e.value]}],active:t===e.value}}case`set-option`:{let a=n??t,o=iz(r,e.stateVar);return{effects:[{verb:gn,args:[i,e.key,a]}],active:o===a}}case`set-int`:{let a=n??t,o=iz(r,e.stateVar);return{effects:[{verb:gn,args:[i,e.key,a]}],active:o===a}}case`set-cycle`:{let t=e.members[(cz(e,r)+1)%e.members.length];return{effects:[{verb:gn,args:[i,e.key,t]}],active:!1}}case`set-bounded`:return{effects:[{verb:_n,args:[i,e.key,String(e.by)]}],active:!1};case`copy`:return{effects:[{verb:vn,args:[az(e.text,TC(r))]}],active:!1};case`open`:return{effects:[{verb:yn,args:[az(e.target,TC(r))]}],active:!1};case`persist-literal`:{let t=iz(r,e.stateVar);return{effects:[{verb:Sn,args:[i,e.key,e.value]}],active:t===e.value}}case`persist-option`:{let a=n??t,o=iz(r,e.stateVar);return{effects:[{verb:Sn,args:[i,e.key,a]}],active:o===a}}case`persist-cycle`:{let t=e.members[(cz(e,r)+1)%e.members.length];return{effects:[{verb:Sn,args:[i,e.key,t]}],active:!1}}case`persist-bounded`:return{effects:[{verb:Cn,args:[i,e.key,String(e.by)]}],active:!1};case`reset`:return{effects:[{verb:Dn,args:[i,e.key]}],active:!1};case`undo`:return{effects:[{verb:kn,args:[i]}],active:!1};case`redo`:return{effects:[{verb:An,args:[i]}],active:!1};case`back`:return{effects:[{verb:jn,args:[i]}],active:!1};case`rewind`:return{effects:[{verb:Mn,args:[i]}],active:!1};case`save`:return{effects:[{verb:wn,args:[i]}],active:!1};case`preset-save`:return{effects:[{verb:P,args:[i]}],active:!1};case`theme-default-save`:return{effects:[{verb:Tn,args:[i]}],active:!1};case`preset-delete`:return{effects:[{verb:En,args:[i,az(e.name,TC(r))]}],active:!1};case`doctor-run`:return{effects:[{verb:Pn,args:[i]}],active:!1};case`doctor-fix`:return{effects:[{verb:Fn,args:[i,e.check]}],active:!1};case`ceiling`:return{effects:[{verb:Ln,args:[i,...e.args]}],active:!1};case`slash`:return{effects:[{verb:Rn,args:[i,e.line]}],active:!1};case`layout-op`:return{effects:[{verb:On,args:[i,e.key,vA(e.op)]}],active:!1};case`do`:{let a=lz(e.head,t,n,r,i);return{effects:[...a.effects,...e.rest.flatMap(e=>lz(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:On,args:[i,e.key,vA(r)]}],active:!1}}}}function uz(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:Xn(`action "${e}"`,n,t.members.length,cz(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]?.plain}}function dz(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}=uz(e,tz(r),t,i),s=iz(i,`session.id`),{effects:c,active:l}=lz(r,a.plain,o,i,s);return sz(a,Vn(c),l)}function fz(e){return{action:{fn:(t,...n)=>dz(t,n,e),argTypes:[`string`,`liftable`],arity:{kind:`variadic`},returnType:`T`}}}function pz(e,t){return oz(`✕`,Vn([{verb:gn,args:[iz(e,`session.id`),t,qn]}]),!1)}function mz(e,t,n){return new U({bgcolor:H.fromRgba(t),color:H.fromRgba(Ff(e,t,n))})}function hz({tint:e,text:t}){return new U({bgcolor:H.fromRgba(e),color:H.fromRgba(t)})}function gz(e,t,n){return new U({color:H.fromRgba(ec(Tf(e,`warning`),t,Pf,n))})}function _z(e,t,n){return U.combine([mz(e,t,n),gz(e,t,n)])}function vz(e,t,n){return mz(e.palette,np(e.palette,e.disclosure,[t],n),n)}function yz(e){let t=H.fromRgba(Tf(e,`background`)),n=K.fromFragments(Zd.map(n=>new K(`▀`,{style:new U({color:H.fromRgba(Tf(e,n)),bgcolor:t})})));return n.overflow=`ignore`,n.end=``,n}const bz=(e,t)=>{let n=typeof e==`string`?new K(e,{style:t}):e;return n.overflow=`ignore`,n.end=``,n},xz=e=>new U({bold:e});function Sz(e,t,n,r,i,a){if(r===void 0)return(n,r,a,o)=>bz(a,U.combine([vz(e,{...n,distribution:t},i),xz(o)]));let o=mz(e.palette,a,i);return(e,t,i,a)=>Cz(i,U.combine([o,xz(a)]),r(t,n))}const Cz=(e,t,n)=>bz(K.fromFragments([bz(e,t),bz(` `,t),yz(n)]));function wz(e,t){return t===void 0?(e,t,n)=>bz(n):(n,r,i)=>Cz(i,void 0,t(r,e))}function Tz(e,t,n,r,i){let a=mz(e.palette,i,r);return(e,r,i,o)=>bz(K.fromFragments([bz(o?`[`:` `,a),yz(n(r,t)),bz(o?`]`:` `,a)]))}function Ez(e,t,n){let r=t.map(t=>({label:t.label,indices:e.flatMap((e,n)=>e.group===t.id?[n]:[])})).filter(e=>e.indices.length>0);if(r.reduce((e,t)=>e+t.indices.length,0)!==e.length){let n=new Set(t.map(e=>e.id)),r=e.flatMap((e,t)=>n.has(e.group)?[]:[`#${t} (group "${e.group}")`]);throw Error(`library: ${r.join(`, `)} name a group the domain does not list (${[...n].join(`, `)})`)}return n?r.flatMap(e=>Dz(e.indices,8).map(t=>[{label:e.label,indices:t}])):[r]}function Dz(e,t){return Array.from({length:Math.ceil(e.length/t)},(n,r)=>e.slice(r*t,(r+1)*t))}function Oz(e,t){return new K(e).truncate(t,{marker:`…`}).plain}function kz(e){return{current:null,drawnAt:e}}function Az(e,t,n,r,i,a,o){let s={segName:t,placementId:n,palette:r,disclosure:i,tint:a,text:o,bg:void 0,drops:[]};return e.current=s,s}function jz(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 Mz(e){return new K(e).cellLength}function Nz(e){return Math.max(1,e.width-e.chromeCols-2*e.padding)}function Pz(e){return Math.max(1,Nz(e)-(Mz(`✕`)+2*e.padding+e.seamCols))}function Fz(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 Iz(e,t,n){let r=Mz(`←`)+1+Mz(`→`)+1,i=Fz(e,t,n);return(i.length>1?Fz(e,t,n+r):i).map(e=>[{label:``,indices:e}])}function Lz(e,t){let n=[];for(let t of e)n.length>0&&n.push(new K(` `)),n.push(t);let r=K.fromFragments(n);return r.overflow=t?`ignore`:void 0,r.end=``,r}function Rz(e,t,n,r,i){let a=e.compiled.get(t);if(!a||a.kind!==n)throw Error(`${i} references action "${t}" which must be ${r}, got ${a?`a ${a.kind} action`:`no such action`}`);return a}function zz(e,t,n){let r=e.compiled.get(t),i=r&&tz(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 Bz(e,t,n,r,i,a,o,s,c=[]){let l=a.compiled.get(e),u=a.store,d=iz(u,`session.id`),f=`stateVar`in t?iz(u,t.stateVar):void 0,p=(e,n)=>{let r=t.options[e];return o({index:e,count:t.options.length},r,n,r===f)},m=i?r.kind===`led`?Pz(a):Nz(a):1/0,h=(r.kind===`led`?0:Mz(`✕`)+1)+c.reduce((e,t)=>e+Mz(t.glyph)+1,0),g=t.library&&{groups:t.library.groups,entries:t.options.map(t.library.entry)},_=g===void 0?t.options.map((e,t)=>p(t,e)):[],v=g===void 0?Iz(_.map(e=>e.cellLength),m,h):Ez(g.entries,g.groups,i),y=parseInt(iz(u,n.stateVar),10),b=e=>Math.max(0,v.findIndex(t=>t.some(t=>t.indices.includes(e)))),x=b(f===void 0?-1:t.options.indexOf(f)),S=Number.isInteger(y)?y<0?x:Math.min(y,v.length-1):0,C=v[S]??[],ee=e=>Vn([{verb:gn,args:[d,n.key,String(e)]}]),te=r.kind===`led`?[]:[{verb:gn,args:[d,...r.writes.flatMap(([e,t])=>[e,t])]}],ne=r.kind===`own`&&r.onPick?te:[],re=e=>Vn([...lz(l,e,e,u,d).effects,...ne]),ie=(e,n)=>sz(e,re(t.options[n])),ae=r.kind===`led`?[]:[oz(`✕`,Vn(te),!1,s)];ae.push(...c.map(({glyph:e,option:r})=>oz(e,Vn([...lz(l,r,r,u,d).effects,{verb:gn,args:[d,n.key,String(b(t.options.indexOf(r)))]}]),!1))),S>0&&ae.push(oz(`←`,ee(S-1),!1));let w=S<v.length-1?[oz(`→`,ee(S+1),!1)]:[];if(g===void 0){let e=C.flatMap(e=>e.indices);return[Lz([...ae,...e.map(e=>ie(_[e],e)),...w],i)]}let T=new U({bold:!0}),oe=v.length>1?` ${S+1}/${v.length}`:``,E=C.length===1?[new K(`${C[0].label}${oe}`,{style:T})]:[],se=[Lz([...ae,...E,...w],i)];for(let e of C){C.length>1&&se.push(Lz([new K(e.label,{style:T})],i));let n=Math.max(...e.indices.map(e=>Mz(t.options[e])));for(let r of e.indices){let e=t.options[r],a=g.entries[r].description,o=a===void 0?void 0:Ud(a),s=` `.repeat(n-Mz(e)+2),c=o===void 0?e:`${e}${s}${o}`;se.push(Lz([ie(p(r,Oz(c,m)),r)],i))}}return se}function Vz(e,t){return{picker:{fn:(n,r,i,a,o,...s)=>{yC(`picker "${n}"`,[`closeOnPick`,`paged`,`inBody`],s);let c=Rz(e,r,`set-int`,`an int action ({ set, int: true })`,`picker`);if(o===!0&&i===!0)throw Error(`{{ picker "${n}" … }} sets both closeOnPick and inBody; a picker in a body is closed by the body's ✕, so it has no close to fold into a pick`);let l=zz(e,n,`picker`);if(l.library!==void 0)throw Error(`{{ picker "${n}" … }} ranges a catalogue domain, which lays out as one row per member; a catalogue renders in a {{ menu }} body`);let u=jz(t,`{{ picker }}`);if(u.bg===void 0)throw Error(`{{ picker }} is not available while segments.${u.segName}'s own "bg:" is being evaluated — a picker is drawn on that background`);let[d]=Bz(n,l,{key:c.key,stateVar:c.stateVar},o===!0?{kind:`led`}:{kind:`own`,writes:[[c.key,`-1`]],onPick:i===!0},a===!0,e,Sz(u,pf(void 0),QR(e,`{{ picker }}`),l.paletteOf,t.drawnAt(),u.bg),gz(u.palette,u.bg,t.drawnAt()));return d},argTypes:[`string`,`string`,`bool`],arity:{kind:`variadic`},returnType:`T`}}}function Hz(e,t){let n=e.length,r=Math.max(e.indexOf(t),0);return e=>((r+e)%n+n)%n}function Uz(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+e(-(s+1))+1+e(s+1)+1;if(t>r)break;o=t,s+=1}return s}function Wz(e,t,n,r,i,a){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 o=n.store;if(!o.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 s=n.compiled.get(e),c=iz(o,`session.id`),{options:l}=t,u=l.length;if(u===0)return Lz([],!0);let d=iz(o,t.stateVar),f=Hz(l,d),p=e=>l[f(e)],m=new Map,h=e=>{let t=m.get(e);if(t!==void 0)return t;let n=Vn(lz(s,p(e),p(e),o,c).effects);return m.set(e,n),n},g=e=>r({index:f(e),count:u},p(e),p(e),p(e)===d),_=new Map,v=e=>{let t=_.get(e);if(t!==void 0)return t;let n=sz(g(e),h(e));return _.set(e,n),n},y=a===void 0?v(0):sz(wz(QR(n,`{{ carousel }}`),t.paletteOf)({index:f(0),count:u},p(0),p(0),!1),Vn(lz(n.compiled.get(a),p(0),void 0,o,c).effects)),b=Uz(e=>v(e).cellLength,u,Mz(`◀`)+1+y.cellLength+1+Mz(`▶`),Pz(n),i),x=e=>Array.from({length:b},(t,n)=>v(e*(n+1)));return Lz([...x(-1).reverse(),oz(`◀`,h(-1),!1),y,oz(`▶`,h(1),!1),...x(1)],!0)}function Gz(e,t){return{carousel:{fn:(n,...r)=>{let[i,a,...o]=r;if(yC(`carousel "${n}"`,[`neighbours`,`centre`],o),i!==void 0&&!(Number.isInteger(i)&&i>=0))throw Error(`carousel "${n}": neighbours must be a whole number ≥ 0 (0 shows only ◀ CURRENT ▶), got ${String(i)}`);if(a!==void 0&&!(typeof a==`string`&&e.compiled.has(a)))throw Error(`carousel "${n}": centre must name a declared action, got ${JSON.stringify(a)}`);if(a!==void 0&&nz(e.compiled.get(a)))throw Error(`carousel "${n}": centre "${a}" writes a value the template binds, and the centre binds none — name an action that writes a fixed value, a cycle, or a do of them`);let s=i??1/0,c=zz(e,n,`carousel`),l=jz(t,`{{ carousel }}`);if(l.bg===void 0)throw Error(`{{ carousel }} is not available while segments.${l.segName}'s own "bg:" is being evaluated — a carousel is drawn on that background`);return Wz(n,c,e,Sz(l,pf(void 0),QR(e,`{{ carousel }}`),c.paletteOf,t.drawnAt(),l.bg),s,a)},argTypes:[`string`,`value`],arity:{kind:`variadic`},returnType:`T`}}}function Kz(e,t,n){let r=zz(e,t,n);if(!(`stateVar`in r))throw Error(`${n} references action "${t}", which inserts a segment and holds no current value — a ${n} needs a { set, from } or { persist, from } action`);if(r.paletteOf===void 0)throw Error(`${n} references action "${t}", whose options are not colour-valued — a swatch draws the palette an option puts in force, as the "themes", "placementThemes" and "styles" domains do`);return r}function qz(e,t,n){let r=Math.imul(e^e>>>16,73244475);return r=Math.imul(r^r>>>16,73244475),r^=r>>>16,(n+1+(r>>>0)%Math.max(t-1,1))%t}function Jz(e,t,n,r){let i=Kz(e,t,n),a=r??iz(e.store,i.stateVar);if(!i.options.includes(a))throw Error(`${n} "${t}": "${a}" is not one of its options, so it has no palette to draw`);return i.paletteOf(a,QR(e,`{{ ${n} }}`))}function Yz(e,t,n){return{swatch:{fn:(t,...n)=>{let[r,...i]=n;if(yC(`swatch "${t}"`,[`option`],i),r!==void 0&&typeof r!=`string`)throw Error(`swatch "${t}": option must be text, got ${JSON.stringify(r)}`);return yz(Jz(e,t,`swatch`,r))},argTypes:[`string`,`value`],arity:{kind:`variadic`},returnType:`T`},swatches:{fn:(r,i)=>{let a=Kz(e,r,`swatches`),o=Rz(e,i,`set-int`,`an int action ({ set, int: true })`,`swatches`),s=jz(t,`{{ swatches }}`);if(s.bg===void 0)throw Error(`{{ swatches }} is not available while segments.${s.segName}'s own "bg:" is being evaluated — a swatch row is drawn on that background`);let c=t.drawnAt(),{options:l}=a,u=l.length,[d]=Bz(r,a,{key:o.key,stateVar:o.stateVar},{kind:`led`},!0,e,Tz(s,QR(e,`{{ swatches }}`),a.paletteOf,c,s.bg),gz(s.palette,s.bg,c),u===0?[]:(()=>{let t=Hz(l,iz(e.store,a.stateVar));return[{glyph:`◀`,option:l[t(-1)]},{glyph:`?`,option:l[qz(n().getTime(),u,t(0))]},{glyph:`▶`,option:l[t(1)]}]})());return d},argTypes:[`string`,`string`],arity:{kind:`exact`},returnType:`T`}}}const Xz=[`~/code`,`main`,`opus`,`42%`,`5m`,`$1.20`];function Zz(e,t,n,r){let i=qf(e,n,r),a=(t,n)=>({text:t,colour:n,ink:Ff(e,n,r)});return[[cf(t).map((n,i)=>{let a=Ef(e,n);return{text:Xz[i%Xz.length],colour:a,ink:t.shade.text(e,n.hue,a,r)}})],[[a(`▾ open`,i.state),a(`menu`,i.plane)],[a(`warn`,Tf(e,`warning`)),a(`error`,Tf(e,`error`))]]]}function Qz(e,t){let n=e.flatMap((e,t)=>e.map(({text:e,colour:n,ink:r},i)=>({gap:t>0&&i===0?` `:``,cell:new K(` ${e} `,{style:hz({tint:n,text:r})})}))),r=[],i=0;for(let{gap:e,cell:a}of n){if(i+=e.length+a.cellLength,i>t)break;e!==``&&r.push(new K(e)),r.push(a)}return r}function $z(e,t,n,r,i){let a=Zz(e,t,n,r).map(e=>Qz(e,i)),o=K.fromFragments(a.flatMap((e,t)=>t===0?e:[new K(`
|
|
167
|
+
`),...e]));return o.overflow=`ignore`,o.end=``,o}function eB(e,t){return{themePreview:{fn:(...n)=>{let[r,...i]=n;if(yC(`themePreview`,[`applyAction`],i),r!==void 0&&typeof r!=`string`)throw Error(`themePreview: applyAction must name a declared action, got ${JSON.stringify(r)}`);let{palette:a,decor:o}=QR(e,`{{ themePreview }}`);return $z(r===void 0?a:Jz(e,r,`themePreview`),o,{...jz(t,`{{ themePreview }}`).disclosure,depth:0},t.drawnAt(),Pz(e))},argTypes:[`value`],arity:{kind:`variadic`},returnType:`T`}}}const tB=e=>e.slice(e.lastIndexOf(`.`)+1),nB=(e,t)=>{let n=new K(tB(e));return n.truncate(t,{marker:`…`}),n.plain};function rB(e,t){let n=e.map(e=>e.map(({name:e})=>Mz(tB(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 iB(e,t,n,r){let i=rB(e,r),a=e.map(e=>{let a=[],o=0;for(let{name:s,address:c,palette:l}of e){let e=new K(` ${nB(s,i)} `,{style:hz(op(l,{kind:`bar`,decor:t,address:c},n))});if(o+=e.cellLength,o>r)break;a.push(e)}return a}),o=K.fromFragments(a.flatMap((e,t)=>t===0?e:[new K(`
|
|
168
|
+
`),...e]));return o.overflow=`ignore`,o.end=``,o}function aB(e,t){return{layoutPreview:{fn:()=>iB(e.layout(),QR(e,`{{ layoutPreview }}`).decor,t.drawnAt(),Pz(e)),argTypes:[],arity:{kind:`exact`},returnType:`T`}}}function oB(e,t,n,r){let i=jz(r.activeSegment,`{{ menu }}`),a=r.action,o=cT(i.placementId,e,n.key),s=dT(o),c=sT(e),l=iz(a.store,o)===c,u=iz(a.store,`session.id`),d=l?qn:c,f=oz(Xn(`{{ menu "${e}" }}`,t,2,+!!l),Vn([{verb:gn,args:[u,o,d,s,`0`]}]),!1);return i.drops.push(...l?(()=>{let t=r.activeSegment.drawnAt(),c=qf(i.palette,i.disclosure,t).plane,l=zz(a,e,`menu`);return Bz(e,l,{key:s,stateVar:s},{kind:`own`,writes:[[o,qn],[s,`0`]],onPick:n.closeOnPick},n.paged,a,Sz(i,n.distribution,QR(a,`{{ menu }}`),l.paletteOf,t,c),gz(i.palette,c,t))})():[]),f}const sB=e=>typeof e==`object`&&!!e&&!Array.isArray(e);function cB(e,t){let n=t[t.length-1],r=sB(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:hT(r??{})}}function lB(e){return{menu:{fn:(t,...n)=>{let{displays:r,options:i}=cB(t,n);return oB(t,r,i,e)},argTypes:[`string`,`value`],arity:{kind:`variadic`},returnType:`T`}}}function uB(e){let{value:t,max:n,width:r,filled:i,empty:a,colourAt:o}=e,s=dB(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 K(t?i:a,{style:l===void 0?void 0:new U({color:l})}))}let l=K.fromFragments(c);return l.end=``,l.overflow=`ignore`,l}function dB(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 fB(e){let t={fn:(()=>{let t=jz(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:[],arity:{kind:`exact`},returnType:`string`},n={fn:(()=>jz(e,`{{ tint }}`).tint.hex),argTypes:[],arity:{kind:`exact`},returnType:`string`},r={fn:((t,n)=>{let{palette:r}=jz(e,`{{ keptOn }}`),i=Gs(r,t),a=Gs(r,n),o=Lo(nc(i,V.TRUECOLOR),nc(a,V.TRUECOLOR)),s=Math.min(Pf,Math.max(o,3));return(tc(i,e.drawnAt(),(e,t)=>Lo(e,t(a))>=s)??i).hex}),argTypes:[`string`,`string`],arity:{kind:`exact`},returnType:`string`},i=aC(()=>jz(e,`{{ color }} / {{ ramp }} / {{ gauge }}`).palette),a={fn:((e,t,n,r,a,o,...s)=>{let c=o===void 0?void 0:[o,...pB(s)];return uB({value:e,max:t,width:n,filled:r,empty:a,colourAt:c===void 0?void 0:e=>String(i.ramp.fn(e,...c))})}),argTypes:[`float`,`float`,`int`,`string`,`string`,`string`],arity:{kind:`variadic`},returnType:`T`};return{...i,bgOf:t,tint:n,keptOn:r,gauge:a}}function pB(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 mB(e){let t=[],n=[];for(let r of e){if(!r.contains(`
|
|
201
169
|
`)){n.push(r);continue}let e=r.split(`
|
|
202
|
-
`);n.push(e[0]);for(let r=1;r<e.length;r++)t.push(n),n=[e[r]]}return t.push(n),t}function pB(e){let t=new Map;return e.map(e=>{let n=`${e.place}.${e.band}`,r=t.get(n)??0;return t.set(n,r+1),{line:e,row:`${n}#${r}`}})}function mB(e,t){let n=[],r=[],i;for(let a of t)(a.band===`own`?n:r).push(a),i??=a.cells.find(t=>t.placement.id===e)?.placement.ground;return{drawing:i===void 0?null:{own:r.length===0?n:[],ground:i},deeper:r}}function hB(e){return{...e,cells:e.cells.map(HR)}}function gB(e,t){let n=t.flatMap(e=>e.filter(e=>e.place===`above`)),r=t.map(e=>e.filter(e=>e.place===`flow`));return[...n,..._B(e,r)]}function _B(e,t){switch(e){case`vertical`:return t.flatMap(e=>e);case`horizontal`:return t.reduce((e,t)=>Math.max(e,t.length),0)===0?[]:[{cells:t.flatMap(e=>e[0]?.cells??[]),band:`own`,place:`flow`},...t.flatMap(e=>e.slice(1))]}}function vB(e,t){let n=(e,r)=>t(e)?e.kind===`segment`?[{cells:[{name:e.name,address:r,settings:e.settings}],band:`own`,place:`flow`}]:gB(e.direction,e.children.map((t,i)=>n(t,[...r,yB(e,i)]))):[];return n(e,[]).map(e=>[...e.cells])}function yB(e,t){return{index:t,count:e.children.length,distribution:e.distribution,axis:oh[e.direction]}}const bB={compile(e,t){return{kind:`container`,direction:e.direction,when:t.when,distribution:ff(e.distribution),children:e.children.map((e,n)=>t.compileChild(e,fh(t.path,n)))}},render(e,t){return t.gate.kind===`failed`&&t.gate.report(),gB(e.direction,e.children.map((n,r)=>t.renderChild(n,t.gate.kind===`shown`,yB(e,r))))}},xB={drop:e=>e.place,above:()=>`above`},SB={drop:(e,t)=>({lead:t(),stays:e}),above:e=>({lead:e.slice(0,1).flatMap(e=>e.cells),stays:e.slice(1)})},CB={compile(e,t){return{kind:`segment`,when:t.when,name:e.name,id:sh(e),settings:t.placementSettings(e),...e.opens!==void 0&&{opens:{open:t.parse(Xn(e.opens.ref),`opens`),body:t.compileChild(e.opens.body,ph(t.path)),key:e.opens.ref.key,placement:e.opens.placement}},...e.lead!==void 0&&{lead:t.parse(e.lead,`lead`)},...e.trail!==void 0&&{trail:t.parse(e.trail,`trail`)}}},render:(e,t)=>t.placed(e.id,wB(e,t))};function wB(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.gate.kind===`hidden`)return[];let a=EC(t.scope,e.settings);if(t.gate.kind===`failed`)return TB(e,a,t,t.gate.message);try{if(!FR(i.when,a))return[];let n=Zm(e.settings.theme,t.palette),o={id:e.id,effect:e.settings.effect,ground:pD(n)},s=e.opens!==void 0&&FR(e.opens.open,t.scope),{styles:c,fragments:l,lead:u,trail:d,drops:f,open:p}=t.evaluateSegment(e,a,n,t.region,{bg:i.bg,fg:i.fg,body:i.template,lead:e.lead,trail:e.trail},s),m=p?c.trigger:c.closed,h={width:r.width??`auto`,justify:r.justify??`left`,truncate:r.truncate??`right`,baseStyle:m,padding:t.padding,placement:o},g=e.opens,_=g===void 0?[]:t.renderBody(g.body,s,c.disclosure).map(e=>({...e,place:xB[g.placement](e)})),v=fB(qR(l,m)).map((e,t)=>({cells:GR(e,{...h,lead:t===0?qR(u,m):[],trail:t===0?qR(d,m):[]}),band:`own`,place:`flow`})),y=f.map(e=>({cells:GR(qR([e],c.band),{...h,baseStyle:c.band}),band:`deeper`,place:`flow`})),b=(e,t,n)=>GR(qR([e],t),{...h,width:`auto`,baseStyle:t,padding:n}),x=_.findIndex(e=>e.band===`own`),{lead:S,stays:C}=g!==void 0&&x!==-1?SB[g.placement](v,()=>b(t.closeDisclosure(g.key),c.close,t.padding)):{lead:[],stays:v},ee=S.flatMap(e=>b(new q(` `.repeat(VR(e).reduce((e,t)=>e+t.cellLength,0))),c.trigger,0)),te=(e,t)=>e.band===`own`?t===x?S:ee:[],ne=_.map((e,t)=>({cells:[...te(e,t),...e.cells],band:`deeper`,place:e.place})),re=[...C,...y];return t.perSegmentSink!==void 0&&t.perSegmentSink.set(e.id,[...re.flatMap(e=>e.cells),..._.flatMap(te)].flatMap(VR)),[...re,...ne]}catch(n){return TB(e,a,t,n.message??String(n))}}function TB(e,t,n,r){n.onSegmentError?.(e.id,r);let i=r.replace(/\s*\n\s*/g,` `);return[{cells:GR([new q(`⚠ ${e.id}: ${i}`,{end:``})],{width:`auto`,justify:`left`,truncate:`right`,padding:0,placement:{id:e.id,effect:`bar`,ground:pD(n.palette)},lead:EB(e.lead,e,t,n),trail:EB(e.trail,e,t,n)}),band:`own`,place:`flow`}]}function EB(e,t,n,r){if(e===void 0)return[];try{return r.evaluateSegment(t,n,r.palette,r.region,{bg:void 0,fg:void 0,body:e,lead:void 0,trail:void 0},!1).fragments}catch(e){return r.onSegmentError?.(t.id,e.message??String(e)),[]}}const DB={container:bB,segment:CB};function OB(e){return DB[e]}function kB(e){if(`ttl`in e)return{kind:`ttl`,durationMs:xw(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 AB(e,t){switch(_h(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 jB(e,t,n,r){switch(n.kind){case`literal`:e.declareLiteral(t,n.value);break;case`dropped`:e.declareFailedDocument(t,n.reason);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:kB(n.cache),parse:AB(n.parse,n.default)});break;case`shell`:e.declareShell(t,n.command,{cwd:r,cache:kB(n.cache),parse:AB(n.parse,n.default)});break;case`template`:e.declareTemplate(t,n.template,{varDefault:n.default});break;case`time`:e.declareTime(t,{format:n.layout,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 MB(e,t){let n=f_.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 NB=(e,t,n,r,i)=>{let a=AF(t,kF(n,e.themeDefaults));return{variation:of[r??Up(void 0,null,a.variation)],shade:rf[i??Kp(void 0,null,a.shade)]}};function PB(e,t,n){let r=n.cwd,i={store:t.variableStore,compiled:new Map,chromeCols:Tm({endcaps:`powerline`,charset:Rp}),width:80,padding:1,seamCols:Em({endcaps:`powerline`,charset:Rp}),layout:()=>[],look:void 0},a=Dz(t.drawnAt),o={action:i,activeSegment:a},s=Object.keys(e.styles),c=qh(e.presets),l=$k(e),u=CC({extraFuncs:{...uz(i),...zz(i,a),...Uz(i,a),...Qz(i,a),...qz(i,a,t.now),...rB(i,a),...sB(o),...uB(a),styles:{fn:()=>s,argTypes:[],arity:{kind:`exact`}},presets:{fn:()=>c,argTypes:[],arity:{kind:`exact`}}},clock:t.now,drawnAt:t.drawnAt}),d=MB(u,e.helpers),f=e=>u.parse(e,d),p=new Map,m=e=>{let t=p.get(e);if(t!==void 0)return t;let n=f(e);return p.set(e,n),n},h=new Map;for(let[t,n]of va)n in e.variables&&h.set(t,n);for(let[t,n]of Object.entries(e.variables))n.kind===`state`&&!h.has(n.key)&&h.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`&&!h.has(r.key)&&h.set(r.key,`${t}.${e}`);i.compiled=ZR(f,e.actions,h,l);let g=[];for(let[n,i]of Object.entries(e.variables))try{jB(t,n,i,r)}catch(e){g.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{jB(t,`${n}.${e}`,a,r)}catch(t){g.push(`Variable "${n}.${e}": ${t.message??String(t)}`)}let _=Object.create(null);for(let[t,n]of Object.entries(e.segments)){let e=(e,n,r=f)=>{try{return r(e)}catch(e){throw Error(`Template parse error in segments.${t}.${n}: ${e.message}`,{cause:e})}};_[t]={when:n.when===void 0?void 0:e(n.when,`when`,m),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 v=(e,t,n)=>{try{return m(e)}catch(e){throw Error(`Template parse error in ${t}.${n}: ${e.message}`,{cause:e})}},y=t.variableStore,b=t=>{let n=wh(e.segments[t.name]),r=Object.create(null);for(let[e,i]of Object.entries(n))Object.defineProperty(r,e,{enumerable:!0,get:()=>Ah(t,e,i,e=>String(y.read(e.variable)))});return Object.freeze(r)},x=(e,t)=>{let n={path:t,when:e.when===void 0?void 0:v(e.when,t,`when`),parse:(e,n)=>v(e,t,n),compileChild:x,placementSettings:b};return OB(e.kind).compile(e,n)},S=new Map;for(let t of c){let{node:n,path:r}=Xh(e,t);S.set(t,x(n,r))}let C=new Map(hp.map(e=>[e,new Map])),ee=[[`globals`,e.globals],...Object.entries(e.presets).map(([e,t])=>[`presets.${e}.globals`,t.globals??{}])];for(let[e,t]of ee)for(let n of hp){let r=t[n];if(!gp(r))continue;let i=`${e}.${n}`,a=C.get(n),o=a.get(r);a.set(r,o===void 0?{where:i,template:FB(f,i,r)}:{where:`${o.where}, ${i}`,template:o.template})}return{segments:_,roots:S,activeSegment:a,menuRuntime:o,globalExpressions:C,loadWarnings:g}}function FB(e,t,n){try{return e(n)}catch(e){throw Error(`${t} is not a valid template: ${e instanceof Error?e.message:String(e)}`)}}function IB(e,t,n){let r=e.globalExpressions.get(t).get(n);if(r===void 0)throw Error(`the ${t} rule ${JSON.stringify(n)} reached the render but no compiled template exists — registerDslConfig and the resolution disagree about isExpression`);return r}function LB(e,t,n,r){try{return t.template.evaluate(n).map(e=>e.plain).join(``)}catch(n){return r({kind:`rule`,slot:e,message:Tp(t.where,e,`the rule failed — ${n instanceof Error?n.message:String(n)}`)}),wp[e]}}function RB(e,t){return e.kind===`decided`?e.name:wp[t]}function zB(e){return e.kind===`container`?e.children.flatMap(zB):[...e.name.startsWith(`edit.`)?[]:[e.id],...e.opens===void 0?[]:zB(e.opens.body)]}function BB(e,t,n,r,i,a,o,s,c){let{perSegmentSink:l,onSegmentError:u,onRenderWarning:d}=s??{},f=e=>d?.(e),p=new Set;r.renderAt(a),r.drawAt(Bp(o.colorCompatibility));let{preset:m=Gh}=c??{},h=Zh(e,m),g=c?.style??xp(`none`,e.styles),_=c?.theme??rh(void 0,null,h.palette),v=NB(e,h,_,c?.variation,c?.shade),y=c?.effect??Ap(void 0,null,h.effect),b=(e,t,n)=>({...i,term:{cols:o.width},theme:{effective:e},style:{effective:t},effect:{effective:n}});r.applyInput(b(RB(_,`palette`),RB(g,`style`),RB(y,`effect`))),t.menuRuntime.action.chromeCols=Tm(o),t.menuRuntime.action.padding=o.padding,t.menuRuntime.action.width=o.width,t.menuRuntime.action.seamCols=Em(o);let x=wC(n),S=vp(_,e=>{let n=IB(t,`palette`,e);return nh(LB(`palette`,n,x,f),n.where,e=>f({kind:`rule`,slot:`palette`,message:e}))}),C=vp(g,n=>xp(LB(`style`,IB(t,`style`,n),x,f),e.styles)),ee=vp(y,e=>kp(LB(`effect`,IB(t,`effect`,e),x,f)));(S!==_||C!==g||ee!==y)&&r.applyInput(b(S.name,C.name,ee.name));let te=S.value,ne=$m(te,C.value);t.menuRuntime.action.look={basePalette:te,palette:ne,decor:v};let re=(c?.effects??new hm(``)).motion(ee.value,a,{transitions:c?.transitions??nm(void 0,null,h.transitions),source:{config:t,preset:m,revision:r.stateRevision(),width:o.width},returned:mB,hold:hB});l?.clear();let ie=n=>{let r=e.segments[n],i=t.segments[n];return r!==void 0&&i!==void 0?{seg:r,compiled:i}:void 0},ae=(e,n,i,a,o,s)=>{try{let c=r.drawnAt(),{tint:l,text:u,disclosure:d}=ap(i,a,c),f=Oz(t.activeSegment,e.name,e.id,i,d,l,u),m=hD(f,c,o.bg,o.fg,n),h=()=>Kf(i,d,c);s&&(f.bg=h().state);let g=o.body.evaluate(n),_=f.drops.length>0||s;if(_){let e=h();f.bg=e.state;for(let t of e.shortfalls)p.add(t)}let v=o.lead?.evaluate(n)??[],y=o.trail?.evaluate(n)??[];return{styles:{closed:m,get trigger(){return fz(i,h().state,c)},get band(){return fz(i,h().plane,c)},get close(){return hz(i,h().state,c)},disclosure:d},fragments:g,lead:v,trail:y,drops:f.drops,open:_}}finally{t.activeSegment.current=null}},w=(e,t,r)=>{let i=t?RR(e.when,x):IR,a=i.kind===`failed`?{...i,report:()=>{let t=`when over ${zB(e).join(`, `)||`no placement`}`;f({kind:`when`,where:t,error:i.message,message:`${t}: ${i.message} — what it gates is hidden`})}}:i,s={scope:x,palette:ne,gate:a,padding:o.padding,region:r,perSegmentSink:l,onSegmentError:u,evaluateSegment:ae,lookupSegment:ie,renderChild:(e,t,n)=>w(e,t,rp(r,n)),renderBody:(e,t,n)=>w(e,a.kind===`shown`&&t,ip(n)),closeDisclosure:e=>dz(n,e),placed:re.placed};return OB(e.kind).render(e,s)},T=t.roots.get(m);if(T===void 0)throw Error(`Preset "${m}" has no compiled layout — registerDslConfig compiles one per declared preset and effectivePresetName collapses unknown names to "${Gh}"; a miss here is merge/policy drift (have: ${[...t.roots.keys()].join(`, `)})`);let oe=e=>{let n=RR(e.when,x);if(e.kind===`container`)return n.kind===`shown`;if(uA(e.name)===void 0)return!1;if(n.kind!==`shown`)return n.kind===`failed`;try{return FR(t.segments[e.name].when,EC(x,e.settings))}catch{return!0}};t.menuRuntime.action.layout=()=>vB(T,oe).map(e=>e.flatMap(({name:e,address:t,settings:n})=>{let r=uA(e);return r===void 0?[]:[{name:r,address:t,palette:Zm(n.theme,ne)}]}));let se=pB(w(T,!0,np(v))).map(({line:e,row:t})=>{let n=KR(e.cells,o);return Dm(n.map(e=>e.owner),o,re.row(t,n))}).join(`
|
|
203
|
-
`);re.drawn();for(let e of p)f({kind:`band-floor`,message:e});return
|
|
204
|
-
`)||null}function iV(e,t,n,r,i=()=>{}){let{layers:a,config:o,installed:s}=nF(t.layers,TF,{entered:i,warned:e=>n.push(...e)},{projectDir:t.projectDir,cwd:e});i(a.length===1?a[0].path:null);let c=a.at(-1)?.config??TF,l=a.find(e=>e.path===t.home)?.raw??{},u=new QB,d=new Hw(u,o.globals.default_empty_value??``,r.gitService,r.sessionState),f;try{f=PB(o,d,{cwd:e}),n.push(...f.loadWarnings),dL(o),NA(o)}catch(e){throw d.dispose(),e}return{config:o,store:u,registry:d,compiled:f,neededInputPaths:_I(o),lastRenderCellsBySegment:new Map,authoredRoots:tV(c,l),fileHeldSettings:ZI(l),unused:[...new Map(a.flatMap(e=>WB(e.raw,c)).map(e=>[`${e.kind}:${e.name}`,e])).values()],plugins:{checkout:s.checkout,roots:s.roots,loaded:[...s.rendering.values()],dropped:[...s.dropped,...a.flatMap(e=>e.plugins.dropped)],unreached:s.unreached,reached:s.reached,rendering:s.rendering}}}function aV(e,t,n,r){let i=WP(e,t,n),a={layers:i.kind===`chain`?i.layers:[],home:i.home,projectDir:e},o=[YP(e,t),qP(i)],s,c=null;try{s=iV(t,a,o,r,e=>{c=e})}catch(e){return e instanceof Jw&&o.push(...e.warnings),{layers:a.layers,home:a.home,failedFile:c,warning:rV(o),state:null,error:e instanceof Jw||e instanceof Error?e.message:String(e)}}return{layers:a.layers,home:a.home,warning:rV(o),state:s,error:null}}function oV(e,t,n){return iV(e,{layers:[],home:``,projectDir:t},[],n)}var sV=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=eV(e,t,n),i=this.entries.get(r);if(i)return this.entries.delete(r),this.entries.set(r,i),i;let a=aV(e,t,n,this.deps);a.state!==null&&k(`info`,$B(a.layers,a.state));let o={projectDir:e,cwd:t,configFile:n,configLayers:[],configHome:``,failedFile:null,lastError:a.error,lastWarning:a.warning,state:a.state??oV(t,e,this.deps),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.watcher?.release(),this.entries.delete(t)}}return this.refreshWatcher(o,a),this.observers.onReload?.(o),o}reload(e,t,n){this.reloadInto(this.getOrCreate(e,t,n))}reloadInto(e){let t=aV(e.projectDir,e.cwd,e.configFile,this.deps);e.lastWarning=t.warning,e.lastError=t.error,t.state!==null&&(k(`info`,$B(t.layers,t.state)),e.state.registry.dispose(),e.state=t.state),this.refreshWatcher(e,t),this.observers.onReload?.(e)}refreshWatcher(e,t){e.configLayers=t.layers,e.configHome=t.home,e.failedFile=t.error===null?null:t.failedFile;let n=nV(e,t.layers),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){k(`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 cV=16384;var lV=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<cV){this.rollingTimestamps.push(e);return}this.rollingTimestamps[this.rollingHead]=e,this.rollingHead=(this.rollingHead+1)%cV}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:wt,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},effectCache:e.effectCache,watchers:{active:e.watchersActive,opened:this.watchersOpened,closed:this.watchersClosed,evicted:this.watchersEvicted},subprocesses:this.snapshotSubprocesses(),nextRestartReason:e.nextRestartReason??null,handlerProbes:e.handlerProbes}}};function uV(e,t,n){let r=(r,i,a)=>{let o=i.filter(t).map(t=>({key:t,before:e.get(r,t)}));a();for(let{key:t,before:i}of o)n(r,t,i,e.get(r,t))};return{get:(t,n)=>e.get(t,n),revision:t=>e.revision(t),set:(t,n,i)=>r(t,[n],()=>e.set(t,n,i)),setBatch:(t,n)=>r(t,n.map(e=>e.key),()=>e.setBatch(t,n)),clear:(t,n)=>r(t,[n],()=>e.clear(t,n))}}const dV={load:()=>({}),save:()=>{},flush:()=>{}};var fV=class{sessions;storage;head=0;atom=(0,Mg.createAtom)(`SessionState`);constructor(e=dV,t=256){this.maxSessions=t,this.storage=e,this.sessions=new Map,this.hydrateFromStorage()}useStorage(e){this.storage=e,this.hydrateFromStorage()}hydrateFromStorage(){this.sessions=new Map(Object.entries(this.storage.load()).map(([e,t])=>[e,{values:new Map(Object.entries(t)),revision:++this.head}])),this.evictOldest(),this.persist()}get(e,t){this.atom.reportObserved();let n=this.sessions.get(e);return n?(this.touch(e,n),n.values.get(t)??null):null}revision(e){return this.atom.reportObserved(),this.sessions.get(e)?.revision??0}set(e,t,n){this.setBatch(e,[{key:t,value:n}])}setBatch(e,t){t.length!==0&&(0,Mg.runInAction)(()=>{let n=this.sessions.get(e)??{values:new Map,revision:0};t.some(({key:e,value:t})=>n.values.get(e)!==t)&&(n.revision=++this.head);for(let{key:e,value:r}of t)n.values.set(e,r);this.touch(e,n),this.evictOldest(),this.persist(),this.atom.reportChanged()})}clear(e,t){(0,Mg.runInAction)(()=>{let n=this.sessions.get(e);n&&(n.values.delete(t)&&(n.revision=++this.head),n.values.size===0?this.sessions.delete(e):this.touch(e,n)),this.persist(),this.atom.reportChanged()})}prune(e){(0,Mg.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,{values:n}]of this.sessions)e[t]=Object.fromEntries(n);return e}};function pV(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 mV=class{timer=null;pending=null;constructor(e,t=500,n=Nt){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 pV(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(l.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 hV={default_empty_value:`string`,default_separator:`string`,palette:`string`,style:`string`,effect:`string`,preset:`string`,endcaps:`string`,variation:`string`,shade:`string`,autoWrap:`boolean`,padding:`number`,charset:`string`,updateNotice:`boolean`,transitions:`boolean`,colorCompatibility:`string`,menuGlyph:`string`},gV=new Set([`1`,`true`]),_V=new Set([`0`,`false`,``]);function vV(e,t){let n=UV(e),r=n.scope===`segment-palette`?`string`:hV[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(gV.has(t))return`true`;if(_V.has(t))return`false`;throw Error(`persistValueText: "${e}" expects boolean-ish (1, 0, true, false), got "${t}"`)}function yV(e){try{return r.readFileSync(e,`utf8`)}catch(e){if(e.code===`ENOENT`)return null;throw e}}function bV(e,t,n){try{if(t===null){r.rmSync(e,{force:!0});return}r.mkdirSync(l.dirname(e),{recursive:!0}),Fe(e,t)}catch(t){let r=`config write failed (${e}): ${t.message}`;throw n(`error`,r),Error(r)}}function xV(e){return/^\s*$/.test(e)?null:_r(e)}function SV(e,t){return e!==null&&yr(e,t)!==void 0}function CV(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(CV),...i}}return e}function wV(e){if(!Lh(e))return CV(e);let{rows:t,...n}=e;return{rows:Object.fromEntries(Object.entries(t).map(([e,t])=>[e,CV(t)])),...n}}const TV=CF,EV=TV.segments,DV=TV.presets,OV=TV.root;function kV(e,t,n,r){if(!SV(e,t)&&n===void 0)throw new J(`cannot edit ${r}: neither the config file nor the bundled default declares ${t.join(`.`)}`)}function AV(e,t){let n=WE(t);return t.scope===`segment-palette`&&kV(e,[`segments`,t.segment],EV[t.segment],n.join(`.`)),n}function jV(e){return _r(Dr(e))}function MV(){return Object.entries(OV.rows).map(([e,t])=>{let n=CV(t);return{path:[`root`],fragment:jV({rows:{[e]:n}}),unit:{path:[`root`,`rows`,e],value:n}}})}function NV(e,t){let n=e===null?void 0:yr(e,t);return n===void 0?null:{path:t,fragment:n,unit:null}}function PV(e,t){if(t===void 0)return null;let n=wV(t);return{path:e,fragment:jV(n),unit:{path:e,value:n}}}function FV(e,t){let n=[`presets`,t],r=[...n,`root`],i=DV[t];kV(e,n,i,r.join(`.`));let a=NV(e,r)??PV(r,i?.root);return a!==null&&Jr(a.fragment)?a:null}function IV(e,t){let n=qr(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 LV(e,t){return[...MV(),NV(e,[`root`]),FV(e,t)].filter(e=>e!==null).reduce(IV,new Map)}function RV(e,t,n){for(let{node:r,...i}of LV(e,t).values())if(Xr(r,n))return i;throw new J(`${zV(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 zV(e,t){return FV(e,t)?.path??[`root`]}function BV(e,t){return t.scope===`preset-root`?zV(e,t.preset):WE(t)}function VV(e,{unit:t}){return t===null?e:Vr(e,t.path,Dr(t.value),Tr)}function HV(e){let t=UE(e);if(t===null)throw Error(`"${e}" is not a valid persist target`);return t}function UV(e){let t=HV(e);if(t.scope===`preset-root`)throw Error(`"${e}" names a layout, not a value`);return t}function WV(e,t,n,r,i){i(t,n,tH(t,r)),bV(t.path,r,e.logger),e.record(t.path,n,r)}function GV(e,t,n){let r=JV(e,t,n);if(r.length>0)throw new J(`refused: ${e.above.join(`, `)} sets ${r.join(`, `)} over ${e.path}, so this click would change nothing on the bar — edit it there`)}const KV=()=>{};function qV(e,t){try{return t()}catch(t){throw!(t instanceof J)||e.above.length===0?t:new J(`${t.message} — or it is declared by ${e.above.join(`, `)}, which the bar does not edit`)}}function JV(e,t,n){let r=YV(e,t);if(r===null)return[];let i=new Set($V(QV(r),QV(n)));return $V(ZV(e,r),ZV(e,n)).filter(e=>!i.has(e))}function YV(e,t){try{return XV(e,t)}catch(e){if(e instanceof Jw)return null;throw e}}function XV(e,t){return nF(t===null?e.above:[e.path,...e.above],TF,{entered:()=>{},warned:()=>{}},{projectDir:e.projectDir,cwd:e.cwd},n=>n===e.path&&t!==null?t:r.readFileSync(n,`utf8`))}function ZV(e,t){let[n]=t.layers;return n?.path===e.path?n.config:t.base}function QV(e){return e.layers.at(-1)?.config??e.base}function $V(e,t,n=``){return!eH(e)||!eH(t)?JSON.stringify(e)===JSON.stringify(t)?[]:[n]:[...new Set([...Object.keys(e),...Object.keys(t)])].flatMap(r=>$V(e[r],t[r],n===``?r:`${n}.${r}`))}function eH(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function tH(e,t){try{return XV(e,t)}catch(e){throw e instanceof Jw?new J(`refused: the config file would not load after this click — ${e.message}`):e}}function nH(e,t){let n=UV(t),r=xV(yV(e)??``),i=r===null?void 0:yr(r,WE(n));return i!==void 0&&`value`in i?i.value:void 0}function rH(e,t,n){iH(e,t,n,[])}function iH(e,t,n,r){let i=yV(t.path),a=n.reduce((e,[t,n])=>Vr(e,AV(xV(e),UV(t)),vV(t,n),Tr),i??``);WV(e,t,i,qV(t,()=>aH(a,t.path,r,e=>e)),GV)}function aH(e,t,n,r){return n.reduce((e,{preset:n,id:i,setting:a,value:o})=>{let s=r(e,n,i),c=RV(xV(s),n,i),l=ei(VV(s,c),c.path,i,a,Dr(o));if(l===null)throw new J(`${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 oH(e,t,n){let r=xV(e),i=[`presets`,t,`root`];for(let[a,{path:o,unit:s,node:c}]of LV(r,t)){if(!Xr(c,n))continue;if(i.every((e,t)=>o[t]===e))return e;let l=s===null?xr(e,c):Dr(s.value);if(a!==`#`)return Vr(e,[...i,`rows`,a],l,Tr);if(FV(r,t)!==null)throw new J(`cannot give preset "${t}" its own copy of ${o.join(`.`)}: it already stages rows of its own over that tree`);return Vr(e,i,l,Tr)}return e}function sH(e,t){return Ur(e,t,t[0]===`presets`&&t.length>2&&!DF(t[1])?2:0)}function cH(e,t,n){let r=n.map(HV),i=yV(t.path);if(i===null)return;let a=r.reduce((e,t)=>sH(e,BV(xV(e),t)),i);a!==i&&WV(e,t,i,a,KV)}function lH(e){let t=e===null?void 0:yr(e,[`presets`]);return t?.kind===`object`?t.entries.map(e=>e.key):[]}function uH(e,t){let n=new Set([...EF,...lH(e),...t.above.flatMap(e=>Object.keys(ur.default.parse(r.readFileSync(e,`utf8`)).presets??{}))].map(qw));return Array.from({length:n.size+1},(e,t)=>`custom-${t+1}`).find(e=>!n.has(qw(e)))}function dH(e,t,n,r,i,a){let o=yV(t.path),s=xV(o??``),c=uH(s,t),l=[`presets`,c],u=qV(t,()=>FV(s,n)),d=[...u===null?[]:[[[...l,`root`],u.unit===null?xr(o??``,u.fragment):Dr(u.unit.value)]],...Object.keys(r).length===0?[]:[[[...l,`globals`],Dr(r)]]],f=i.map(([e,t])=>{let n=HE(c,e);return[AV(s,UV(n)),vV(n,t)]}),p=[...d,...f].reduce((e,[t,n])=>Vr(e,t,n,Tr),Vr(o??``,l,`{}`,Tr));return WV(e,t,o,qV(t,()=>aH(p,t.path,a.map(e=>({...e,preset:c})),oH)),GV),c}function fH(e,t,n,r){let i=yV(t.path);WV(e,t,i,Vr(i??``,[`themeDefaults`,n],Dr(r),Tr),GV)}function pH(e,t,n){if(DF(n))throw new J(`cannot delete preset "${n}": it is bundled — reset its settings instead`);let r=[`presets`,n],i=yV(t.path),a=xV(i??``);if(i===null||a===null||yr(a,r)===void 0)throw new J(`cannot delete preset "${n}": ${t.path} declares no ${r.join(`.`)} — the bar you clicked is stale; it reloads on the next render`);let o=yr(a,[`globals`,`preset`]);WV(e,t,i,[r,...o?.kind===`string`&&o.value===n?[[`globals`,`preset`]]:[]].reduce((e,t)=>sH(e,t),i),KV)}function mH(e,t,n,r){let i=HV(n);if(i.scope!==`preset-root`)throw Error(`"${n}" is not a "presets.<name>.root" target`);let a=yV(t.path),o=r.op===`remove`?r.target:r.anchor,s=qV(t,()=>RV(xV(a??``),i.preset,o)),c=VV(a??``,s),{after:l,placed:u}=hH(c,s.path,r,()=>{let e=tH(t,c).config;return qh(e.presets).map(t=>Xh(e,t).node)});if(l===null)throw new J(`${s.path.join(`.`)} in ${t.path} 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 WV(e,t,a,l,GV),u}function hH(e,t,n,r){switch(n.op){case`remove`:return{after:Qr(e,t,n.target),placed:null};case`insert`:{let i=bA(n.segment,n.anchor,r());return{after:$r(e,t,i,n.anchor,n.relation),placed:i}}}}const gH={load:()=>({}),save:()=>{}},_H=new Set(ma.map(e=>e.sessionKey)),vH=e=>_H.has(e)||e.startsWith(tD),yH=8*1024*1024,bH={past:[],future:[]},xH=e=>e.kind===`session`?`session:${e.key}`:`file:${e.file}`;var SH=class{state=new Map;constructor(e,t,n=gH){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,savepoint:r}=this.state.get(e)??bH;return{undo:t.length,redo:n.length,sinceEdit:r?.net.length??0}}history(e){return this.state.get(e)??bH}begin(){let e=new Map,t=(t,n)=>{let r=e.get(t)??new Map,i=r.get(xH(n));r.set(xH(n),i===void 0?n:{...n,before:i.before}),e.set(t,r)},n=new Map;return{sessionState:uV(this.sessionState,e=>vH(e)||e===`edit.mode`,(e,r,i,a)=>{if(r===`edit.mode`){let t=n.get(e);n.set(e,{before:t===void 0?i:t.before,after:a});return}t(e,{kind:`session`,key:r,before:i,after:a})}),file:(e,n,r,i)=>t(e,{kind:`file`,file:n,before:r,after:i}),commit:()=>{let t=new Map(e),r=new Map(n);e.clear(),n.clear();for(let e of new Set([...t.keys(),...r.keys()])){let n=[...t.get(e)?.values()??[]].filter(e=>e.before!==e.after),i=this.history(e),a=n.length===0?i:AH(i,n),o=r.get(e),s=o===void 0?a:PH(a,o);s!==i&&this.put(e,s)}}}}undo(e){let t=this.history(e),n=t.past.at(-1);if(n===void 0)throw new J(`undo: nothing to undo`);return this.apply(e,n,`before`,`undo`,MH(t,n)),n}rewind(e){let t=this.history(e),{savepoint:n}=t;if(n===void 0)throw new J(`rewind: edit mode has no savepoint — nothing to cancel`);let r=n.net.filter(t=>this.read(e,t)!==t.after),i=new Set(r.map(xH)),a=n.net.filter(e=>!i.has(xH(e))),o=TH(FH(NH(t,n),i));if(this.apply(e,a,`before`,`rewind`,{past:o,future:[],savepoint:{at:o.length,net:[],below:[]}}),r.length>0)throw new J(`rewind: ${r.map(LH).join(`, `)} changed since edit mode opened — kept as it is; everything else edit mode changed was put back`);return a}redo(e){let t=this.history(e),{past:n,future:r}=t,i=r.at(-1);if(i===void 0)throw new J(`redo: nothing to redo`);let a=[...n,i],o=TH(a);return this.apply(e,i,`after`,`redo`,{past:o,future:r.slice(0,-1),...DH(t.savepoint,a.length-o.length,i)}),i}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(xH)),{past:n,future:i,savepoint:a}=this.history(e);throw this.put(e,{past:FH(n,t),future:FH(i,t),...a!==void 0&&{savepoint:{at:FH([...n,...[...i].reverse()].slice(0,a.at),t).length,net:a.net.filter(e=>!t.has(xH(e))),below:FH(a.below,t)}}}),new J(`${r}: ${o.map(LH).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):yV(t.file)}write(e,t,n){t.kind===`file`?bV(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||t.savepoint!==void 0)&&n.set(e,t);n.size>32||CH(n)>yH;){let[e,t]=n.entries().next().value;n.size>1?n.delete(e):t.past.length+t.future.length>0?n.set(e,wH(t)):(this.logger(`warn`,`settings-history: edit mode's changes for session ${e} exceed ${yH} bytes; cancel is no longer available`),n.delete(e))}this.storage.save(Object.fromEntries(n)),this.state=n}};function CH(e){let t=0;for(let{past:n,future:r,savepoint:i}of e.values())for(let e of[...n,...r,...i===void 0?[]:[i.net,...i.below]])for(let n of e)t+=(n.before?.length??0)+(n.after?.length??0);return t}function wH({past:e,future:t,savepoint:n}){return e.length>0?{past:e.slice(1),future:t,...DH(n,1,[])}:{past:e,future:t.slice(1),...DH(n,0,[])}}function TH(e){return e.slice(-50)}const EH=e=>e===rD.member;function DH(e,t,n){return e===void 0?{}:{savepoint:{at:Math.max(0,e.at-t),net:OH(e.net,n),below:e.below}}}function OH(e,t){let n=new Map(e.map(e=>[xH(e),e]));for(let e of t){let t=n.get(xH(e));n.set(xH(e),t===void 0?e:{...t,after:e.after})}return[...n.values()].filter(e=>e.before!==e.after)}const kH=e=>e.map(e=>({...e,before:e.after,after:e.before}));function AH(e,t){let n=[...e.past,t],r=TH(n),{savepoint:i}=e,a=i===void 0?0:Math.max(0,i.at-e.past.length);return{past:r,future:[],...DH(i&&{at:Math.min(i.at,e.past.length),net:i.net,below:[...jH(e.future,a),...i.below]},n.length-r.length,t)}}function jH(e,t){let n=Math.min(t,e.length);return e.slice(e.length-n).reverse()}function MH(e,t){return{past:e.past.slice(0,-1),future:TH([...e.future,t]),...DH(e.savepoint,0,kH(t))}}function NH(e,t){let{past:n,future:r}=e,i=n.slice(0,t.at);return[...i,...jH(r,t.at-i.length),...t.below]}function PH(e,t){if(EH(t.after)&&!EH(t.before))return{...e,savepoint:{at:e.past.length,net:[],below:[]}};if(!EH(t.after)&&EH(t.before)){let{past:t,future:n}=e;return{past:t,future:n}}return e}function FH(e,t){return e.map(e=>e.filter(e=>!t.has(xH(e)))).filter(e=>e.length>0)}function IH(e){return e.map(LH).join(`, `)}function LH(e){return e.kind===`session`?`session setting "${e.key}"`:e.file}function RH(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 zH(e){return Array.isArray(e)&&e.every(e=>Array.isArray(e)&&e.every(RH))}function BH(e){if(typeof e!=`object`||!e)return!1;let t=e;return Number.isInteger(t.at)&&t.at>=0&&Array.isArray(t.net)&&t.net.every(RH)&&zH(t.below)}function VH(e){if(typeof e!=`object`||!e)return!1;let t=e;return zH(t.past)&&zH(t.future)&&(t.savepoint===void 0||BH(t.savepoint))}function HH(e,t){let n=e=>e.kind===`file`||vH(e.key)?!0:(t.add(e.key),!1),r=e=>e.map(e=>e.filter(n)).filter(e=>e.length>0),{savepoint:i}=e,a=r(e.past),o=r(e.future);return i===void 0?{past:a,future:o}:{past:a,future:o,savepoint:{at:r(e.past.slice(0,i.at)).length,net:i.net.filter(n),below:r(i.below)}}}function UH(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(VH)){let n=new Set,r=Object.fromEntries(Object.entries(e).map(([e,t])=>[e,HH(t,n)]));return n.size>0&&t(`warn`,`settings-history load: dropped the changes to ${[...n].map(e=>`"${e}"`).join(`, `)}, no longer a setting`),r}}catch{}return t(`warn`,`settings-history load: unexpected shape, starting empty`),{}},save:n=>{try{r.mkdirSync(l.dirname(e),{recursive:!0}),Fe(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)}}}}const WH=e=>!vH(e)&&!WD(e)&&e!==`update.dismissed`;var GH=class{past=new Map;depth(e,t,n){return this.restorable(e,t,n).length}restorable(e,t,n){let r=new Map,i=n=>r.has(n)?r.get(n):t.get(e,n),a=[];for(let t of[...this.past.get(e)??[]].reverse())if(t.every(e=>i(e.key)===e.after&&(e.before===null||n.validate(e.key,e.before).ok))){a.unshift(t);for(let e of t)r.set(e.key,e.before)}return a}begin(e){let t=new Map;return{sessionState:uV(e,WH,(e,n,r,i)=>{let a=t.get(e)??new Map,o=a.get(n);a.set(n,{key:n,before:o?o.before:r,after:i}),t.set(e,a)}),commit:()=>{for(let[e,n]of t){let t=[...n.values()].filter(e=>e.before!==e.after);t.length>0&&this.push(e,t)}t.clear()}}}back(e,t,n){let r=this.past.get(e)??[],i=this.restorable(e,t,n),a=i.at(-1),o=r.length-i.length;if(a===void 0)throw this.put(e,i),new J(`back: nothing to go back to${o>0?` (${o} step(s) over a view since gone, discarded)`:``}`);return(0,Mg.runInAction)(()=>{let n=a.flatMap(({key:e,before:t})=>t===null?[]:[{key:e,value:t}]);n.length>0&&t.setBatch(e,n);for(let{key:n,before:r}of a)r===null&&t.clear(e,n)}),this.put(e,i.slice(0,-1)),{step:a,discarded:o}}push(e,t){let n=this.past.get(e)??[];this.put(e,[...n,t].slice(-20))}put(e,t){for(this.past.delete(e),t.length>0&&this.past.set(e,t);this.past.size>32;)this.past.delete(this.past.keys().next().value)}};function KH(e){let t=OR(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 qH(e){return{probeTmux:KH,loadConfig:e}}function JH(e){let t={layers:e.layers,warnings:e.warning===null?[]:e.warning.split(`
|
|
205
|
-
`)};return e.error===null?{...t,kind:`loaded`,unused:e.unused}:{...t,kind:`failed`,error:e.error}}function
|
|
206
|
-
`);return}t.stdout.write(
|
|
170
|
+
`);n.push(e[0]);for(let r=1;r<e.length;r++)t.push(n),n=[e[r]]}return t.push(n),t}function hB(e){let t=new Map;return e.map(e=>{let n=`${e.place}.${e.band}`,r=t.get(n)??0;return t.set(n,r+1),{line:e,row:`${n}#${r}`}})}function gB(e,t){let n=[],r=[],i;for(let a of t)(a.band===`own`?n:r).push(a),i??=a.cells.find(t=>t.placement.id===e)?.placement.ground;return{drawing:i===void 0?null:{own:r.length===0?n:[],ground:i},deeper:r}}function _B(e){return{...e,cells:e.cells.map(WR)}}function vB(e,t){let n=t.flatMap(e=>e.filter(e=>e.place===`above`)),r=t.map(e=>e.filter(e=>e.place===`flow`));return[...n,...yB(e,r)]}function yB(e,t){switch(e){case`vertical`:return t.flatMap(e=>e);case`horizontal`:return t.reduce((e,t)=>Math.max(e,t.length),0)===0?[]:[{cells:t.flatMap(e=>e[0]?.cells??[]),band:`own`,place:`flow`},...t.flatMap(e=>e.slice(1))]}}function bB(e,t){let n=(e,r)=>t(e)?e.kind===`segment`?[{cells:[{name:e.name,address:r,settings:e.settings}],band:`own`,place:`flow`}]:vB(e.direction,e.children.map((t,i)=>n(t,[...r,xB(e,i)]))):[];return n(e,[]).map(e=>[...e.cells])}function xB(e,t){return{index:t,count:e.children.length,distribution:e.distribution,axis:sh[e.direction]}}const SB={compile(e,t){return{kind:`container`,direction:e.direction,when:t.when,distribution:pf(e.distribution),children:e.children.map((e,n)=>t.compileChild(e,ph(t.path,n)))}},render(e,t){return t.gate.kind===`failed`&&t.gate.report(),vB(e.direction,e.children.map((n,r)=>t.renderChild(n,t.gate.kind===`shown`,xB(e,r))))}},CB={drop:e=>e.place,above:()=>`above`},wB={drop:(e,t)=>({lead:t(),stays:e}),above:e=>({lead:e.slice(0,1).flatMap(e=>e.cells),stays:e.slice(1)})},TB={compile(e,t){return{kind:`segment`,when:t.when,name:e.name,id:ch(e),settings:t.placementSettings(e),...e.opens!==void 0&&{opens:{open:t.parse($n(e.opens.ref),`opens`),body:t.compileChild(e.opens.body,mh(t.path)),key:e.opens.ref.key,placement:e.opens.placement}},...e.lead!==void 0&&{lead:t.parse(e.lead,`lead`)},...e.trail!==void 0&&{trail:t.parse(e.trail,`trail`)}}},render:(e,t)=>t.placed(e.id,EB(e,t))};function EB(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.gate.kind===`hidden`)return[];let a=DC(t.scope,e.settings);if(t.gate.kind===`failed`)return DB(e,a,t,t.gate.message);try{if(!LR(i.when,a))return[];let n=Qm(e.settings.theme,t.palette),o={id:e.id,effect:e.settings.effect,ground:pD(n)},s=e.opens!==void 0&&LR(e.opens.open,t.scope),{styles:c,fragments:l,lead:u,trail:d,drops:f,open:p}=t.evaluateSegment(e,a,n,t.region,{bg:i.bg,fg:i.fg,body:i.template,lead:e.lead,trail:e.trail},s),m=p?c.trigger:c.closed,h={width:r.width??`auto`,justify:r.justify??`left`,truncate:r.truncate??`right`,baseStyle:m,padding:t.padding,placement:o},g=e.opens,_=g===void 0?[]:t.renderBody(g.body,s,c.disclosure).map(e=>({...e,place:CB[g.placement](e)})),v=mB(YR(l,m)).map((e,t)=>({cells:qR(e,{...h,lead:t===0?YR(u,m):[],trail:t===0?YR(d,m):[]}),band:`own`,place:`flow`})),y=f.map(e=>({cells:qR(YR([e],c.band),{...h,baseStyle:c.band}),band:`deeper`,place:`flow`})),b=(e,t,n)=>qR(YR([e],t),{...h,width:`auto`,baseStyle:t,padding:n}),x=_.findIndex(e=>e.band===`own`),{lead:S,stays:C}=g!==void 0&&x!==-1?wB[g.placement](v,()=>b(t.closeDisclosure(g.key),c.close,t.padding)):{lead:[],stays:v},ee=S.flatMap(e=>b(new K(` `.repeat(UR(e).reduce((e,t)=>e+t.cellLength,0))),c.trigger,0)),te=(e,t)=>e.band===`own`?t===x?S:ee:[],ne=_.map((e,t)=>({cells:[...te(e,t),...e.cells],band:`deeper`,place:e.place})),re=[...C,...y];return t.perSegmentSink!==void 0&&t.perSegmentSink.set(e.id,[...re.flatMap(e=>e.cells),..._.flatMap(te)].flatMap(UR)),[...re,...ne]}catch(n){return DB(e,a,t,n.message??String(n))}}function DB(e,t,n,r){n.onSegmentError?.(e.id,r);let i=r.replace(/\s*\n\s*/g,` `);return[{cells:qR([new K(`⚠ ${e.id}: ${i}`,{end:``})],{width:`auto`,justify:`left`,truncate:`right`,padding:0,placement:{id:e.id,effect:`bar`,ground:pD(n.palette)},lead:OB(e.lead,e,t,n),trail:OB(e.trail,e,t,n)}),band:`own`,place:`flow`}]}function OB(e,t,n,r){if(e===void 0)return[];try{return r.evaluateSegment(t,n,r.palette,r.region,{bg:void 0,fg:void 0,body:e,lead:void 0,trail:void 0},!1).fragments}catch(e){return r.onSegmentError?.(t.id,e.message??String(e)),[]}}const kB={container:SB,segment:TB};function AB(e){return kB[e]}function jB(e){if(`ttl`in e)return{kind:`ttl`,durationMs:Sw(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 MB(e,t){switch(vh(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 NB(e,t,n,r){switch(n.kind){case`literal`:e.declareLiteral(t,n.value);break;case`dropped`:e.declareFailedDocument(t,n.reason);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:jB(n.cache),parse:MB(n.parse,n.default)});break;case`shell`:e.declareShell(t,n.command,{cwd:r,cache:jB(n.cache),parse:MB(n.parse,n.default)});break;case`template`:e.declareTemplate(t,n.template,{varDefault:n.default});break;case`time`:e.declareTime(t,{format:n.layout,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 PB(e,t){let n=p_.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 FB=(e,t,n,r,i)=>{let a=AF(t,kF(n,e.themeDefaults));return{variation:sf[r??Wp(void 0,null,a.variation)],shade:af[i??qp(void 0,null,a.shade)]}};function IB(e,t,n){let r=n.cwd,i={store:t.variableStore,compiled:new Map,chromeCols:Em({endcaps:`powerline`,charset:zp}),width:80,padding:1,seamCols:Dm({endcaps:`powerline`,charset:zp}),layout:()=>[],look:void 0},a=kz(t.drawnAt),o={action:i,activeSegment:a},s=Object.keys(e.styles),c=Jh(e.presets),l=$k(e),u=wC({extraFuncs:{...fz(i),...Vz(i,a),...Gz(i,a),...eB(i,a),...Yz(i,a,t.now),...aB(i,a),...lB(o),...fB(a),styles:{fn:()=>s,argTypes:[],arity:{kind:`exact`}},presets:{fn:()=>c,argTypes:[],arity:{kind:`exact`}}},clock:t.now,drawnAt:t.drawnAt}),d=PB(u,e.helpers),f=e=>u.parse(e,d),p=new Map,m=e=>{let t=p.get(e);if(t!==void 0)return t;let n=f(e);return p.set(e,n),n},h=new Map;for(let[t,n]of ba)n in e.variables&&h.set(t,n);for(let[t,n]of Object.entries(e.variables))n.kind===`state`&&!h.has(n.key)&&h.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`&&!h.has(r.key)&&h.set(r.key,`${t}.${e}`);i.compiled=$R(f,e.actions,h,l);let g=[];for(let[n,i]of Object.entries(e.variables))try{NB(t,n,i,r)}catch(e){g.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{NB(t,`${n}.${e}`,a,r)}catch(t){g.push(`Variable "${n}.${e}": ${t.message??String(t)}`)}let _=Object.create(null);for(let[t,n]of Object.entries(e.segments)){let e=(e,n,r=f)=>{try{return r(e)}catch(e){throw Error(`Template parse error in segments.${t}.${n}: ${e.message}`,{cause:e})}};_[t]={when:n.when===void 0?void 0:e(n.when,`when`,m),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 v=(e,t,n)=>{try{return m(e)}catch(e){throw Error(`Template parse error in ${t}.${n}: ${e.message}`,{cause:e})}},y=t.variableStore,b=t=>{let n=Th(e.segments[t.name]),r=Object.create(null);for(let[e,i]of Object.entries(n))Object.defineProperty(r,e,{enumerable:!0,get:()=>jh(t,e,i,e=>String(y.read(e.variable)))});return Object.freeze(r)},x=(e,t)=>{let n={path:t,when:e.when===void 0?void 0:v(e.when,t,`when`),parse:(e,n)=>v(e,t,n),compileChild:x,placementSettings:b};return AB(e.kind).compile(e,n)},S=new Map;for(let t of c){let{node:n,path:r}=Zh(e,t);S.set(t,x(n,r))}let C=new Map(gp.map(e=>[e,new Map])),ee=[[`globals`,e.globals],...Object.entries(e.presets).map(([e,t])=>[`presets.${e}.globals`,t.globals??{}])];for(let[e,t]of ee)for(let n of gp){let r=t[n];if(!_p(r))continue;let i=`${e}.${n}`,a=C.get(n),o=a.get(r);a.set(r,o===void 0?{where:i,template:LB(f,i,r)}:{where:`${o.where}, ${i}`,template:o.template})}return{segments:_,roots:S,activeSegment:a,menuRuntime:o,globalExpressions:C,loadWarnings:g}}function LB(e,t,n){try{return e(n)}catch(e){throw Error(`${t} is not a valid template: ${e instanceof Error?e.message:String(e)}`)}}function RB(e,t,n){let r=e.globalExpressions.get(t).get(n);if(r===void 0)throw Error(`the ${t} rule ${JSON.stringify(n)} reached the render but no compiled template exists — registerDslConfig and the resolution disagree about isExpression`);return r}function zB(e,t,n,r){try{return t.template.evaluate(n).map(e=>e.plain).join(``)}catch(n){return r({kind:`rule`,slot:e,message:Ep(t.where,e,`the rule failed — ${n instanceof Error?n.message:String(n)}`)}),Tp[e]}}function BB(e,t){return e.kind===`decided`?e.name:Tp[t]}function VB(e){return e.kind===`container`?e.children.flatMap(VB):[...e.name.startsWith(`edit.`)?[]:[e.id],...e.opens===void 0?[]:VB(e.opens.body)]}function HB(e,t,n,r,i,a,o,s,c){let{perSegmentSink:l,onSegmentError:u,onRenderWarning:d}=s??{},f=e=>d?.(e),p=new Set;r.renderAt(a),r.drawAt(Vp(o.colorCompatibility));let{preset:m=Kh}=c??{},h=Qh(e,m),g=c?.style??Sp(`none`,e.styles),_=c?.theme??ih(void 0,null,h.palette),v=FB(e,h,_,c?.variation,c?.shade),y=c?.effect??jp(void 0,null,h.effect),b=(e,t,n)=>({...i,term:{cols:o.width},theme:{effective:e},style:{effective:t},effect:{effective:n}});r.applyInput(b(BB(_,`palette`),BB(g,`style`),BB(y,`effect`))),t.menuRuntime.action.chromeCols=Em(o),t.menuRuntime.action.padding=o.padding,t.menuRuntime.action.width=o.width,t.menuRuntime.action.seamCols=Dm(o);let x=TC(n),S=yp(_,e=>{let n=RB(t,`palette`,e);return rh(zB(`palette`,n,x,f),n.where,e=>f({kind:`rule`,slot:`palette`,message:e}))}),C=yp(g,n=>Sp(zB(`style`,RB(t,`style`,n),x,f),e.styles)),ee=yp(y,e=>Ap(zB(`effect`,RB(t,`effect`,e),x,f)));(S!==_||C!==g||ee!==y)&&r.applyInput(b(S.name,C.name,ee.name));let te=S.value,ne=eh(te,C.value);t.menuRuntime.action.look={basePalette:te,palette:ne,decor:v};let re=(c?.effects??new gm(``)).motion(ee.value,a,{transitions:c?.transitions??rm(void 0,null,h.transitions),source:{config:t,preset:m,revision:r.stateRevision(),width:o.width},returned:gB,hold:_B});l?.clear();let ie=n=>{let r=e.segments[n],i=t.segments[n];return r!==void 0&&i!==void 0?{seg:r,compiled:i}:void 0},ae=(e,n,i,a,o,s)=>{try{let c=r.drawnAt(),{tint:l,text:u,disclosure:d}=op(i,a,c),f=Az(t.activeSegment,e.name,e.id,i,d,l,u),m=hD(f,c,o.bg,o.fg,n),h=()=>qf(i,d,c);s&&(f.bg=h().state);let g=o.body.evaluate(n),_=f.drops.length>0||s;if(_){let e=h();f.bg=e.state;for(let t of e.shortfalls)p.add(t)}let v=o.lead?.evaluate(n)??[],y=o.trail?.evaluate(n)??[];return{styles:{closed:m,get trigger(){return mz(i,h().state,c)},get band(){return mz(i,h().plane,c)},get close(){return _z(i,h().state,c)},disclosure:d},fragments:g,lead:v,trail:y,drops:f.drops,open:_}}finally{t.activeSegment.current=null}},w=(e,t,r)=>{let i=t?BR(e.when,x):RR,a=i.kind===`failed`?{...i,report:()=>{let t=`when over ${VB(e).join(`, `)||`no placement`}`;f({kind:`when`,where:t,error:i.message,message:`${t}: ${i.message} — what it gates is hidden`})}}:i,s={scope:x,palette:ne,gate:a,padding:o.padding,region:r,perSegmentSink:l,onSegmentError:u,evaluateSegment:ae,lookupSegment:ie,renderChild:(e,t,n)=>w(e,t,ip(r,n)),renderBody:(e,t,n)=>w(e,a.kind===`shown`&&t,ap(n)),closeDisclosure:e=>pz(n,e),placed:re.placed};return AB(e.kind).render(e,s)},T=t.roots.get(m);if(T===void 0)throw Error(`Preset "${m}" has no compiled layout — registerDslConfig compiles one per declared preset and effectivePresetName collapses unknown names to "${Kh}"; a miss here is merge/policy drift (have: ${[...t.roots.keys()].join(`, `)})`);let oe=e=>{let n=BR(e.when,x);if(e.kind===`container`)return n.kind===`shown`;if(uA(e.name)===void 0)return!1;if(n.kind!==`shown`)return n.kind===`failed`;try{return LR(t.segments[e.name].when,DC(x,e.settings))}catch{return!0}};t.menuRuntime.action.layout=()=>bB(T,oe).map(e=>e.flatMap(({name:e,address:t,settings:n})=>{let r=uA(e);return r===void 0?[]:[{name:r,address:t,palette:Qm(n.theme,ne)}]}));let E=hB(w(T,!0,rp(v))).map(({line:e,row:t})=>{let n=JR(e.cells,o);return Om(n.map(e=>e.owner),o,re.row(t,n))}).join(`
|
|
171
|
+
`);re.drawn();for(let e of p)f({kind:`band-floor`,message:e});return E}function*UB(e){yield*Object.entries(e.variables??{});for(let[t,n]of Object.entries(e.segments??{}))for(let[e,r]of Object.entries(n.vars??{}))yield[`${t}.${e}`,r]}function*WB(e){for(let t of Object.values(e.segments))for(let e of[t.template,t.bg,t.fg,t.when])e!==void 0&&(yield e);for(let t of Jh(e.presets)){for(let n of fh(Zh(e,t).node))n.when!==void 0&&(yield n.when);let n=Qh(e,t);for(let e of gp){let t=n[e];_p(t)&&(yield t)}}for(let[,t]of UB(e))t.kind===`template`&&(yield t.template),bh(t)&&`key`in t.cache&&(yield t.cache.key);for(let t of Object.values(e.actions))`copy`in t&&(yield t.copy),`open`in t&&(yield t.open),`preset`in t&&t.preset===`delete`&&(yield t.name)}function GB(e,t){return e===t||t.startsWith(`${e}.`)||e.startsWith(`${t}.`)}function KB(e,t){let n=new Set,r=new Set,i=new Set;for(let e of WB(t)){for(let r of yg(e,t.helpers).keys())n.add(r);for(let{name:n}of Cg(e,t.helpers))r.add(n);for(let n of wg(e,t.helpers))i.add(n)}for(let[,e]of UB(t))if(bh(e)&&`depends_on`in e.cache)for(let t of e.cache.depends_on)n.add(t);let a=new Set(r);for(let e of r){let n=t.actions[e];if(n!==void 0&&`do`in n)for(let e of n.do)a.add(e)}let o=new Set,s=new Set;for(let e of a){let n=t.actions[e];if(n!==void 0&&(`set`in n&&o.add(n.set),`insertSegment`in n&&s.add(n.insertSegment),`insertSegmentFrom`in n&&Array.isArray(n.insertSegmentFrom)))for(let e of n.insertSegmentFrom)s.add(e)}for(let e of Jh(t.presets))for(let n of fh(Zh(t,e).node))n.kind===`segment`&&s.add(n.name);let c=(e,t)=>[...n].some(t=>GB(t,e))||t.kind===`state`&&o.has(t.key),l=e=>[...e].filter(e=>!iT(e)),u=(e,t,n)=>l(t).filter(e=>!n(e)).map(t=>({kind:e,name:t})),d=new Map(UB(e));return[...u(`variable`,d.keys(),e=>c(e,d.get(e))),...u(`action`,Object.keys(e.actions??{}),e=>a.has(e)),...u(`helper`,Object.keys(e.helpers??{}),e=>i.has(e)),...u(`segment`,Object.keys(e.segments??{}),e=>s.has(e))]}var qB=class{kind=`box`;cell;lastChangedAt;constructor(e,t,n){this.name=e,this.type=t,$B(e,t,n,`initial value`),this.cell=Ng.observable.box(n,{deep:!1}),this.lastChangedAt=Date.now()}read(){return this.cell.get()}set(e){$B(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}},JB=class{kind=`computed`;cell;constructor(e,t,n){this.name=e,this.type=t,this.cell=(0,Ng.computed)(()=>{let e=n();return $B(this.name,this.type,e,`computed result`),e},{keepAlive:!0})}read(){return this.cell.get()}lastUpdatedMs(){return null}},YB=class{kind=`document`;cell;lastChangedAt;constructor(e,t){this.name=e,this.cell=Ng.observable.box(QB(t),{deep:!1}),this.lastChangedAt=Date.now()}read(){return this.cell.get()}set(e){let t=QB(e);ZB(this.cell.get(),t)||(this.cell.set(t),this.lastChangedAt=Date.now())}lastUpdatedMs(){return this.lastChangedAt}};function XB(e){return JSON.stringify(e)}function ZB(e,t){return XB(e)===XB(t)}function QB(e){return e.kind===`ok`?{kind:`ok`,value:Pg(e.value)}:e}function $B(e,t,n,r){let i=Fg(n);if(i!==t)throw TypeError(`Variable "${e}": ${r} type ${i} does not match declared type ${t}`)}var eV=class{nodes=new Map;defineBox(e,t,n){this.assertNotDefined(e),this.nodes.set(e,new qB(e,t,n))}defineDocument(e,t){this.assertNotDefined(e),this.nodes.set(e,new YB(e,t))}defineComputed(e,t,n){this.assertNotDefined(e);let r=e=>this.read(e);this.nodes.set(e,new JB(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,Ng.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,Ng.runInAction)(()=>n.set(t))}runInAction(e){(0,Ng.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 XB(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 tV(e,{plugins:t,config:n}){let{checkout:r,loaded:i,dropped:a,unreached:o}=t,s=r===null?`-`:`${r.git?`git`:`dir`}:${r.root}`,c=e=>{let t=gP(e),r=t===void 0?void 0:n.variables[vP(t)];return r?.kind===`file`?r.path:`none`};return`config load ${e.join(` < `)||`<default>`}: plugins loaded=${i.length} dropped=${a.length} unplaced=${o.length} checkout=${s}`+i.map(e=>` +${e} data=${c(e)}`).join(``)+a.map(e=>` -${e.path} (${e.reason})`).join(``)+o.map(e=>` ~${e.path} (${e.reason})`).join(``)}function nV(e,t,n){return e+`\0`+t+`\0`+(n??``)}function rV(e,t){return new Set(Jh(e.presets).filter(n=>Zh(e,n).path===`root`?t.root!==void 0:t.presets?.[n]?.root!==void 0))}function iV(e,t){let n=new Map,{roots:r,loaded:i,dropped:a,unreached:o}=e.state.plugins;for(let t of[...HP(e.projectDir,e.cwd,e.configFile),...r,...i,...[...a,...o].map(e=>e.path)]){let{dir:e,name:r}=kg(t),i=n.has(e)?n.get(e):new Set;i?.add(r),n.set(e,i)}for(let e of r){let{dir:t,name:r,leaf:i}=kg(l.join(e,`_`));i&&r===`_`&&n.set(t,null)}return{files:t,dirs:[...n.entries()].sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>t===null?{path:e}:{path:e,filenames:[...t].sort()})}}function aV(e){return e.filter(Boolean).join(`
|
|
172
|
+
`)||null}function oV(e,t,n,r,i=()=>{}){let{layers:a,config:o,installed:s}=nF(t.layers,TF,{entered:i,warned:e=>n.push(...e)},{projectDir:t.projectDir,cwd:e});i(a.length===1?a[0].path:null);let c=a.at(-1)?.config??TF,l=a.find(e=>e.path===t.home)?.raw??{},u=new eV,d=new Uw(u,o.globals.default_empty_value??``,r.gitService,r.sessionState),f;try{f=IB(o,d,{cwd:e}),n.push(...f.loadWarnings),pL(o),NA(o)}catch(e){throw d.dispose(),e}return{config:o,store:u,registry:d,compiled:f,neededInputPaths:yI(o),lastRenderCellsBySegment:new Map,authoredRoots:rV(c,l),fileHeldSettings:$I(l),unused:[...new Map(a.flatMap(e=>KB(e.raw,c)).map(e=>[`${e.kind}:${e.name}`,e])).values()],plugins:{checkout:s.checkout,roots:s.roots,loaded:[...s.rendering.values()],dropped:[...s.dropped,...a.flatMap(e=>e.plugins.dropped)],unreached:s.unreached,reached:s.reached,rendering:s.rendering}}}function sV(e,t,n,r){let i=WP(e,t,n),a={layers:i.kind===`chain`?i.layers:[],home:i.home,projectDir:e},o=[YP(e,t),qP(i)],s,c=null;try{s=oV(t,a,o,r,e=>{c=e})}catch(e){return e instanceof Yw&&o.push(...e.warnings),{layers:a.layers,home:a.home,failedFile:c,warning:aV(o),state:null,error:e instanceof Yw||e instanceof Error?e.message:String(e)}}return{layers:a.layers,home:a.home,warning:aV(o),state:s,error:null}}function cV(e,t,n){return oV(e,{layers:[],home:``,projectDir:t},[],n)}var lV=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=nV(e,t,n),i=this.entries.get(r);if(i)return this.entries.delete(r),this.entries.set(r,i),i;let a=sV(e,t,n,this.deps);a.state!==null&&A(`info`,tV(a.layers,a.state));let o={projectDir:e,cwd:t,configFile:n,configLayers:[],configHome:``,failedFile:null,lastError:a.error,lastWarning:a.warning,state:a.state??cV(t,e,this.deps),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.watcher?.release(),this.entries.delete(t)}}return this.refreshWatcher(o,a),this.observers.onReload?.(o),o}reload(e,t,n){this.reloadInto(this.getOrCreate(e,t,n))}reloadInto(e){let t=sV(e.projectDir,e.cwd,e.configFile,this.deps);e.lastWarning=t.warning,e.lastError=t.error,t.state!==null&&(A(`info`,tV(t.layers,t.state)),e.state.registry.dispose(),e.state=t.state),this.refreshWatcher(e,t),this.observers.onReload?.(e)}refreshWatcher(e,t){e.configLayers=t.layers,e.configHome=t.home,e.failedFile=t.error===null?null:t.failedFile;let n=iV(e,t.layers),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){A(`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 uV=16384;var dV=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<uV){this.rollingTimestamps.push(e);return}this.rollingTimestamps[this.rollingHead]=e,this.rollingHead=(this.rollingHead+1)%uV}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:Ct,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},effectCache:e.effectCache,watchers:{active:e.watchersActive,opened:this.watchersOpened,closed:this.watchersClosed,evicted:this.watchersEvicted},subprocesses:this.snapshotSubprocesses(),nextRestartReason:e.nextRestartReason??null,handlerProbes:e.handlerProbes}}};function fV(e,t,n){let r=(r,i,a)=>{let o=i.filter(t).map(t=>({key:t,before:e.get(r,t)}));a();for(let{key:t,before:i}of o)n(r,t,i,e.get(r,t))};return{get:(t,n)=>e.get(t,n),revision:t=>e.revision(t),set:(t,n,i)=>r(t,[n],()=>e.set(t,n,i)),setBatch:(t,n)=>r(t,n.map(e=>e.key),()=>e.setBatch(t,n)),clear:(t,n)=>r(t,[n],()=>e.clear(t,n))}}const pV={load:()=>({}),save:()=>{},flush:()=>{}};var mV=class{sessions;storage;head=0;atom=(0,Ng.createAtom)(`SessionState`);constructor(e=pV,t=256){this.maxSessions=t,this.storage=e,this.sessions=new Map,this.hydrateFromStorage()}useStorage(e){this.storage=e,this.hydrateFromStorage()}hydrateFromStorage(){this.sessions=new Map(Object.entries(this.storage.load()).map(([e,t])=>[e,{values:new Map(Object.entries(t)),revision:++this.head}])),this.evictOldest(),this.persist()}get(e,t){this.atom.reportObserved();let n=this.sessions.get(e);return n?(this.touch(e,n),n.values.get(t)??null):null}revision(e){return this.atom.reportObserved(),this.sessions.get(e)?.revision??0}set(e,t,n){this.setBatch(e,[{key:t,value:n}])}setBatch(e,t){t.length!==0&&(0,Ng.runInAction)(()=>{let n=this.sessions.get(e)??{values:new Map,revision:0};t.some(({key:e,value:t})=>n.values.get(e)!==t)&&(n.revision=++this.head);for(let{key:e,value:r}of t)n.values.set(e,r);this.touch(e,n),this.evictOldest(),this.persist(),this.atom.reportChanged()})}clear(e,t){(0,Ng.runInAction)(()=>{let n=this.sessions.get(e);n&&(n.values.delete(t)&&(n.revision=++this.head),n.values.size===0?this.sessions.delete(e):this.touch(e,n)),this.persist(),this.atom.reportChanged()})}prune(e){(0,Ng.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,{values:n}]of this.sessions)e[t]=Object.fromEntries(n);return e}};function hV(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 gV=class{timer=null;pending=null;constructor(e,t=500,n=Mt){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 hV(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(l.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 _V={default_empty_value:`string`,default_separator:`string`,palette:`string`,style:`string`,effect:`string`,preset:`string`,endcaps:`string`,variation:`string`,shade:`string`,autoWrap:`boolean`,padding:`number`,charset:`string`,updateNotice:`boolean`,transitions:`boolean`,colorCompatibility:`string`,menuGlyph:`string`},vV=new Set([`1`,`true`]),yV=new Set([`0`,`false`,``]);function bV(e,t){let n=GV(e),r=n.scope===`segment-palette`?`string`:_V[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(vV.has(t))return`true`;if(yV.has(t))return`false`;throw Error(`persistValueText: "${e}" expects boolean-ish (1, 0, true, false), got "${t}"`)}function xV(e){try{return r.readFileSync(e,`utf8`)}catch(e){if(e.code===`ENOENT`)return null;throw e}}function SV(e,t,n){try{if(t===null){r.rmSync(e,{force:!0});return}r.mkdirSync(l.dirname(e),{recursive:!0}),Ie(e,t)}catch(t){let r=`config write failed (${e}): ${t.message}`;throw n(`error`,r),Error(r)}}function CV(e){return/^\s*$/.test(e)?null:br(e)}function wV(e,t){return e!==null&&Sr(e,t)!==void 0}function TV(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(TV),...i}}return e}function EV(e){if(!Rh(e))return TV(e);let{rows:t,...n}=e;return{rows:Object.fromEntries(Object.entries(t).map(([e,t])=>[e,TV(t)])),...n}}const DV=CF,OV=DV.segments,kV=DV.presets,AV=DV.root;function jV(e,t,n,r){if(!wV(e,t)&&n===void 0)throw new q(`cannot edit ${r}: neither the config file nor the bundled default declares ${t.join(`.`)}`)}function MV(e,t){let n=WE(t);return t.scope===`segment-palette`&&jV(e,[`segments`,t.segment],OV[t.segment],n.join(`.`)),n}function NV(e){return br(Ar(e))}function PV(){return Object.entries(AV.rows).map(([e,t])=>{let n=TV(t);return{path:[`root`],fragment:NV({rows:{[e]:n}}),unit:{path:[`root`,`rows`,e],value:n}}})}function FV(e,t){let n=e===null?void 0:Sr(e,t);return n===void 0?null:{path:t,fragment:n,unit:null}}function IV(e,t){if(t===void 0)return null;let n=EV(t);return{path:e,fragment:NV(n),unit:{path:e,value:n}}}function LV(e,t){let n=[`presets`,t],r=[...n,`root`],i=kV[t];jV(e,n,i,r.join(`.`));let a=FV(e,r)??IV(r,i?.root);return a!==null&&Zr(a.fragment)?a:null}function RV(e,t){let n=Xr(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 zV(e,t){return[...PV(),FV(e,[`root`]),LV(e,t)].filter(e=>e!==null).reduce(RV,new Map)}function BV(e,t,n){for(let{node:r,...i}of zV(e,t).values())if($r(r,n))return i;throw new q(`${VV(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 VV(e,t){return LV(e,t)?.path??[`root`]}function HV(e,t){return t.scope===`preset-root`?VV(e,t.preset):WE(t)}function UV(e,{unit:t}){return t===null?e:Wr(e,t.path,Ar(t.value),Or)}function WV(e){let t=UE(e);if(t===null)throw Error(`"${e}" is not a valid persist target`);return t}function GV(e){let t=WV(e);if(t.scope===`preset-root`)throw Error(`"${e}" names a layout, not a value`);return t}function KV(e,t,n,r,i){i(t,n,rH(t,r)),SV(t.path,r,e.logger),e.record(t.path,n,r)}function qV(e,t,n){let r=XV(e,t,n);if(r.length>0)throw new q(`refused: ${e.above.join(`, `)} sets ${r.join(`, `)} over ${e.path}, so this click would change nothing on the bar — edit it there`)}const JV=()=>{};function YV(e,t){try{return t()}catch(t){throw!(t instanceof q)||e.above.length===0?t:new q(`${t.message} — or it is declared by ${e.above.join(`, `)}, which the bar does not edit`)}}function XV(e,t,n){let r=ZV(e,t);if(r===null)return[];let i=new Set(tH(eH(r),eH(n)));return tH($V(e,r),$V(e,n)).filter(e=>!i.has(e))}function ZV(e,t){try{return QV(e,t)}catch(e){if(e instanceof Yw)return null;throw e}}function QV(e,t){return nF(t===null?e.above:[e.path,...e.above],TF,{entered:()=>{},warned:()=>{}},{projectDir:e.projectDir,cwd:e.cwd},n=>n===e.path&&t!==null?t:r.readFileSync(n,`utf8`))}function $V(e,t){let[n]=t.layers;return n?.path===e.path?n.config:t.base}function eH(e){return e.layers.at(-1)?.config??e.base}function tH(e,t,n=``){return!nH(e)||!nH(t)?JSON.stringify(e)===JSON.stringify(t)?[]:[n]:[...new Set([...Object.keys(e),...Object.keys(t)])].flatMap(r=>tH(e[r],t[r],n===``?r:`${n}.${r}`))}function nH(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function rH(e,t){try{return QV(e,t)}catch(e){throw e instanceof Yw?new q(`refused: the config file would not load after this click — ${e.message}`):e}}function iH(e,t){let n=GV(t),r=CV(xV(e)??``),i=r===null?void 0:Sr(r,WE(n));return i!==void 0&&`value`in i?i.value:void 0}function aH(e,t,n){oH(e,t,n,[])}function oH(e,t,n,r){let i=xV(t.path),a=n.reduce((e,[t,n])=>Wr(e,MV(CV(e),GV(t)),bV(t,n),Or),i??``);KV(e,t,i,YV(t,()=>sH(a,t.path,r,e=>e)),qV)}function sH(e,t,n,r){return n.reduce((e,{preset:n,id:i,setting:a,value:o})=>{let s=r(e,n,i),c=BV(CV(s),n,i),l=ri(UV(s,c),c.path,i,a,Ar(o));if(l===null)throw new q(`${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 cH(e,t,n){let r=CV(e),i=[`presets`,t,`root`];for(let[a,{path:o,unit:s,node:c}]of zV(r,t)){if(!$r(c,n))continue;if(i.every((e,t)=>o[t]===e))return e;let l=s===null?wr(e,c):Ar(s.value);if(a!==`#`)return Wr(e,[...i,`rows`,a],l,Or);if(LV(r,t)!==null)throw new q(`cannot give preset "${t}" its own copy of ${o.join(`.`)}: it already stages rows of its own over that tree`);return Wr(e,i,l,Or)}return e}function lH(e,t){return Kr(e,t,t[0]===`presets`&&t.length>2&&!DF(t[1])?2:0)}function uH(e,t,n){let r=n.map(WV),i=xV(t.path);if(i===null)return;let a=r.reduce((e,t)=>lH(e,HV(CV(e),t)),i);a!==i&&KV(e,t,i,a,JV)}function dH(e){let t=e===null?void 0:Sr(e,[`presets`]);return t?.kind===`object`?t.entries.map(e=>e.key):[]}function fH(e,t){let n=new Set([...EF,...dH(e),...t.above.flatMap(e=>Object.keys(pr.default.parse(r.readFileSync(e,`utf8`)).presets??{}))].map(Jw));return Array.from({length:n.size+1},(e,t)=>`custom-${t+1}`).find(e=>!n.has(Jw(e)))}function pH(e,t,n,r,i,a){let o=xV(t.path),s=CV(o??``),c=fH(s,t),l=[`presets`,c],u=YV(t,()=>LV(s,n)),d=[...u===null?[]:[[[...l,`root`],u.unit===null?wr(o??``,u.fragment):Ar(u.unit.value)]],...Object.keys(r).length===0?[]:[[[...l,`globals`],Ar(r)]]],f=i.map(([e,t])=>{let n=HE(c,e);return[MV(s,GV(n)),bV(n,t)]}),p=[...d,...f].reduce((e,[t,n])=>Wr(e,t,n,Or),Wr(o??``,l,`{}`,Or));return KV(e,t,o,YV(t,()=>sH(p,t.path,a.map(e=>({...e,preset:c})),cH)),qV),c}function mH(e,t,n,r){let i=xV(t.path);KV(e,t,i,Wr(i??``,[`themeDefaults`,n],Ar(r),Or),qV)}function hH(e,t,n){if(DF(n))throw new q(`cannot delete preset "${n}": it is bundled — reset its settings instead`);let r=[`presets`,n],i=xV(t.path),a=CV(i??``);if(i===null||a===null||Sr(a,r)===void 0)throw new q(`cannot delete preset "${n}": ${t.path} declares no ${r.join(`.`)} — the bar you clicked is stale; it reloads on the next render`);let o=Sr(a,[`globals`,`preset`]);KV(e,t,i,[r,...o?.kind===`string`&&o.value===n?[[`globals`,`preset`]]:[]].reduce((e,t)=>lH(e,t),i),JV)}function gH(e,t,n,r){let i=WV(n);if(i.scope!==`preset-root`)throw Error(`"${n}" is not a "presets.<name>.root" target`);let a=xV(t.path),o=r.op===`remove`?r.target:r.anchor,s=YV(t,()=>BV(CV(a??``),i.preset,o)),c=UV(a??``,s),{after:l,placed:u}=_H(c,s.path,r,()=>{let e=rH(t,c).config;return Jh(e.presets).map(t=>Zh(e,t).node)});if(l===null)throw new q(`${s.path.join(`.`)} in ${t.path} 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 KV(e,t,a,l,qV),u}function _H(e,t,n,r){switch(n.op){case`remove`:return{after:ti(e,t,n.target),placed:null};case`insert`:{let i=bA(n.segment,n.anchor,r());return{after:ni(e,t,i,n.anchor,n.relation),placed:i}}}}const vH={load:()=>({}),save:()=>{}},yH=new Set(ga.map(e=>e.sessionKey)),bH=e=>yH.has(e)||e.startsWith(tD),xH=8*1024*1024,SH={past:[],future:[]},CH=e=>e.kind===`session`?`session:${e.key}`:`file:${e.file}`;var wH=class{state=new Map;constructor(e,t,n=vH){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,savepoint:r}=this.state.get(e)??SH;return{undo:t.length,redo:n.length,sinceEdit:r?.net.length??0}}history(e){return this.state.get(e)??SH}begin(){let e=new Map,t=(t,n)=>{let r=e.get(t)??new Map,i=r.get(CH(n));r.set(CH(n),i===void 0?n:{...n,before:i.before}),e.set(t,r)},n=new Map;return{sessionState:fV(this.sessionState,e=>bH(e)||e===`edit.mode`,(e,r,i,a)=>{if(r===`edit.mode`){let t=n.get(e);n.set(e,{before:t===void 0?i:t.before,after:a});return}t(e,{kind:`session`,key:r,before:i,after:a})}),file:(e,n,r,i)=>t(e,{kind:`file`,file:n,before:r,after:i}),commit:()=>{let t=new Map(e),r=new Map(n);e.clear(),n.clear();for(let e of new Set([...t.keys(),...r.keys()])){let n=[...t.get(e)?.values()??[]].filter(e=>e.before!==e.after),i=this.history(e),a=n.length===0?i:MH(i,n),o=r.get(e),s=o===void 0?a:IH(a,o);s!==i&&this.put(e,s)}}}}undo(e){let t=this.history(e),n=t.past.at(-1);if(n===void 0)throw new q(`undo: nothing to undo`);return this.apply(e,n,`before`,`undo`,PH(t,n)),n}rewind(e){let t=this.history(e),{savepoint:n}=t;if(n===void 0)throw new q(`rewind: edit mode has no savepoint — nothing to cancel`);let r=n.net.filter(t=>this.read(e,t)!==t.after),i=new Set(r.map(CH)),a=n.net.filter(e=>!i.has(CH(e))),o=DH(LH(FH(t,n),i));if(this.apply(e,a,`before`,`rewind`,{past:o,future:[],savepoint:{at:o.length,net:[],below:[]}}),r.length>0)throw new q(`rewind: ${r.map(zH).join(`, `)} changed since edit mode opened — kept as it is; everything else edit mode changed was put back`);return a}redo(e){let t=this.history(e),{past:n,future:r}=t,i=r.at(-1);if(i===void 0)throw new q(`redo: nothing to redo`);let a=[...n,i],o=DH(a);return this.apply(e,i,`after`,`redo`,{past:o,future:r.slice(0,-1),...kH(t.savepoint,a.length-o.length,i)}),i}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(CH)),{past:n,future:i,savepoint:a}=this.history(e);throw this.put(e,{past:LH(n,t),future:LH(i,t),...a!==void 0&&{savepoint:{at:LH([...n,...[...i].reverse()].slice(0,a.at),t).length,net:a.net.filter(e=>!t.has(CH(e))),below:LH(a.below,t)}}}),new q(`${r}: ${o.map(zH).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):xV(t.file)}write(e,t,n){t.kind===`file`?SV(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||t.savepoint!==void 0)&&n.set(e,t);n.size>32||TH(n)>xH;){let[e,t]=n.entries().next().value;n.size>1?n.delete(e):t.past.length+t.future.length>0?n.set(e,EH(t)):(this.logger(`warn`,`settings-history: edit mode's changes for session ${e} exceed ${xH} bytes; cancel is no longer available`),n.delete(e))}this.storage.save(Object.fromEntries(n)),this.state=n}};function TH(e){let t=0;for(let{past:n,future:r,savepoint:i}of e.values())for(let e of[...n,...r,...i===void 0?[]:[i.net,...i.below]])for(let n of e)t+=(n.before?.length??0)+(n.after?.length??0);return t}function EH({past:e,future:t,savepoint:n}){return e.length>0?{past:e.slice(1),future:t,...kH(n,1,[])}:{past:e,future:t.slice(1),...kH(n,0,[])}}function DH(e){return e.slice(-50)}const OH=e=>e===rD.member;function kH(e,t,n){return e===void 0?{}:{savepoint:{at:Math.max(0,e.at-t),net:AH(e.net,n),below:e.below}}}function AH(e,t){let n=new Map(e.map(e=>[CH(e),e]));for(let e of t){let t=n.get(CH(e));n.set(CH(e),t===void 0?e:{...t,after:e.after})}return[...n.values()].filter(e=>e.before!==e.after)}const jH=e=>e.map(e=>({...e,before:e.after,after:e.before}));function MH(e,t){let n=[...e.past,t],r=DH(n),{savepoint:i}=e,a=i===void 0?0:Math.max(0,i.at-e.past.length);return{past:r,future:[],...kH(i&&{at:Math.min(i.at,e.past.length),net:i.net,below:[...NH(e.future,a),...i.below]},n.length-r.length,t)}}function NH(e,t){let n=Math.min(t,e.length);return e.slice(e.length-n).reverse()}function PH(e,t){return{past:e.past.slice(0,-1),future:DH([...e.future,t]),...kH(e.savepoint,0,jH(t))}}function FH(e,t){let{past:n,future:r}=e,i=n.slice(0,t.at);return[...i,...NH(r,t.at-i.length),...t.below]}function IH(e,t){if(OH(t.after)&&!OH(t.before))return{...e,savepoint:{at:e.past.length,net:[],below:[]}};if(!OH(t.after)&&OH(t.before)){let{past:t,future:n}=e;return{past:t,future:n}}return e}function LH(e,t){return e.map(e=>e.filter(e=>!t.has(CH(e)))).filter(e=>e.length>0)}function RH(e){return e.map(zH).join(`, `)}function zH(e){return e.kind===`session`?`session setting "${e.key}"`:e.file}function BH(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 VH(e){return Array.isArray(e)&&e.every(e=>Array.isArray(e)&&e.every(BH))}function HH(e){if(typeof e!=`object`||!e)return!1;let t=e;return Number.isInteger(t.at)&&t.at>=0&&Array.isArray(t.net)&&t.net.every(BH)&&VH(t.below)}function UH(e){if(typeof e!=`object`||!e)return!1;let t=e;return VH(t.past)&&VH(t.future)&&(t.savepoint===void 0||HH(t.savepoint))}function WH(e,t){let n=e=>e.kind===`file`||bH(e.key)?!0:(t.add(e.key),!1),r=e=>e.map(e=>e.filter(n)).filter(e=>e.length>0),{savepoint:i}=e,a=r(e.past),o=r(e.future);return i===void 0?{past:a,future:o}:{past:a,future:o,savepoint:{at:r(e.past.slice(0,i.at)).length,net:i.net.filter(n),below:r(i.below)}}}function GH(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(UH)){let n=new Set,r=Object.fromEntries(Object.entries(e).map(([e,t])=>[e,WH(t,n)]));return n.size>0&&t(`warn`,`settings-history load: dropped the changes to ${[...n].map(e=>`"${e}"`).join(`, `)}, no longer a setting`),r}}catch{}return t(`warn`,`settings-history load: unexpected shape, starting empty`),{}},save:n=>{try{r.mkdirSync(l.dirname(e),{recursive:!0}),Ie(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)}}}}const KH=e=>!bH(e)&&!WD(e)&&e!==`update.dismissed`;var qH=class{past=new Map;depth(e,t,n){return this.restorable(e,t,n).length}restorable(e,t,n){let r=new Map,i=n=>r.has(n)?r.get(n):t.get(e,n),a=[];for(let t of[...this.past.get(e)??[]].reverse())if(t.every(e=>i(e.key)===e.after&&(e.before===null||n.validate(e.key,e.before).ok))){a.unshift(t);for(let e of t)r.set(e.key,e.before)}return a}begin(e){let t=new Map;return{sessionState:fV(e,KH,(e,n,r,i)=>{let a=t.get(e)??new Map,o=a.get(n);a.set(n,{key:n,before:o?o.before:r,after:i}),t.set(e,a)}),commit:()=>{for(let[e,n]of t){let t=[...n.values()].filter(e=>e.before!==e.after);t.length>0&&this.push(e,t)}t.clear()}}}back(e,t,n){let r=this.past.get(e)??[],i=this.restorable(e,t,n),a=i.at(-1),o=r.length-i.length;if(a===void 0)throw this.put(e,i),new q(`back: nothing to go back to${o>0?` (${o} step(s) over a view since gone, discarded)`:``}`);return(0,Ng.runInAction)(()=>{let n=a.flatMap(({key:e,before:t})=>t===null?[]:[{key:e,value:t}]);n.length>0&&t.setBatch(e,n);for(let{key:n,before:r}of a)r===null&&t.clear(e,n)}),this.put(e,i.slice(0,-1)),{step:a,discarded:o}}push(e,t){let n=this.past.get(e)??[];this.put(e,[...n,t].slice(-20))}put(e,t){for(this.past.delete(e),t.length>0&&this.past.set(e,t);this.past.size>32;)this.past.delete(this.past.keys().next().value)}};function JH(e){let t=AR(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 YH(e){return{probeTmux:JH,loadConfig:e}}function XH(e){let t={layers:e.layers,warnings:e.warning===null?[]:e.warning.split(`
|
|
173
|
+
`)};return e.error===null?{...t,kind:`loaded`,unused:e.unused}:{...t,kind:`failed`,error:e.error}}function ZH(e){let{env:t,statusLine:n}=ci(e);if(t!==void 0&&!li(t))throw Error(`cannot read ${e}: \`env\` is not an object`);return{path:e,env:t??{},statusLine:n===void 0?{kind:`absent`}:li(n)?{kind:`present`,refreshInterval:n.refreshInterval}:{kind:`not-an-object`,value:n}}}function QH(e,t){return t===void 0?{kind:`unreported`}:t===null?{kind:`outside`}:{kind:`inside`,hint:t,termfeatures:e.probeTmux(t)}}function $H(e){return{kind:`arrived`,handler:e,bar:Ct}}function eU(e,t,n){let r=new Map;for(let i of fh(Zh(e,t).node)){if(i.kind!==`segment`)continue;let t=Th(e.segments[i.name])[Ch],a=jh(i,Ch,t,e=>n(e.key));a===`bar`||a===`none`||r.set(i.drafts?.effect?.id??ch(i),a)}return[...r].map(([e,t])=>({placement:e,effect:t}))}function tU(e,t,n,r){let i=e.loadConfig(n),a=iI(i.config,r,()=>!1);return{tmux:QH(e,t.tmux),config:XH(i),effect:a.effect,placementEffects:eU(i.config,a.preset,r),transitions:a.transitions,claudeSettings:ZH(oi(ai(t.claudeConfigDir)))}}function nU(e,t){let n=t.claudeSettings.path;switch(e.kind){case`claude-settings`:{let i=Wr(si(n),e.path,JSON.stringify(e.value),kr);return r.mkdirSync(l.dirname(n),{recursive:!0}),Ie(n,i),{...t,claudeSettings:ZH(n)}}default:return e.kind}}const rU={connectMs:200,budgetMs:500};async function iU(e){let n=e.includes(`--json`),r=await aU();if(r.kind!==`ok`&&(t.stderr.write(`daemon-stats: ${St(r)}\n`),t.exit(1)),n){t.stdout.write(JSON.stringify(r.value,null,2)+`
|
|
174
|
+
`);return}t.stdout.write(lU(r.value))}function aU(){return k({kind:`stats`},rU,e=>`stats`in e?e.stats:void 0)}function oU(e){return e<1024?`${e}B`:e<1024*1024?`${(e/1024).toFixed(1)}KB`:`${(e/1024/1024).toFixed(1)}MB`}function sU(e,t){let n=e+t;return n===0?`n/a`:`${(e/n*100).toFixed(1)}%`}function cU(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 lU(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 ${cU(e.uptimeSec)}`),t.push(` rss ${oU(e.rssBytes)}`),t.push(` heapUsed ${oU(e.heapUsedBytes)}`),t.push(` heapTotal ${oU(e.heapTotalBytes)}`),t.push(` external ${oU(e.externalBytes)}`),t.push(` arrayBuffers ${oU(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 ${sU(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 ${sU(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(``),t.push(`effectCache`),t.push(` sessions ${e.effectCache.sessions}`),t.push(` effects ${e.effectCache.effects}`),t.push(``),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(`
|
|
207
175
|
`)+`
|
|
208
|
-
`}const
|
|
209
|
-
`).join(` — `));let{version:t,handlerProbes:n}=e.value;return Array.isArray(n)?
|
|
210
|
-
`);return{inMode:n!==`0`,screen:r}}function kU(e,t){let n=DU(e,`claude-input.type`,[`load-buffer`,`-b`,EU,`-`,`;`,`send-keys`,`-t`,e.pane,`C-s`,`;`,`paste-buffer`,`-p`,`-d`,`-b`,EU,`-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 AU(){return{read:OU,type:kU}}function jU(e){if(!e)throw new J(`session id is required`);if(e.includes(`/`)||e.includes(`..`))throw new J(`invalid session id "${e}"`);return e}function MU(e){return NU(()=>decodeURIComponent(e))}function NU(e){try{return e()}catch(e){throw e instanceof URIError?new J(`malformed wire encoding: ${e.message}`):e}}function PU(e,t){let n=Me({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 FU=(e,t)=>PU(MU(e),t),IU=(e,t)=>{let n=Me({bin:`/usr/bin/open`,args:[`-a`,`Visual Studio Code`,MU(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`})`)}},LU=(e,t)=>PU(MU(e),t),RU=(e,t)=>PU(MU(e),t),zU=(e,t)=>{let n=jU(MU(e));t.navigating.get(n,`toolbar-expanded`)?t.navigating.clear(n,`toolbar-expanded`):t.navigating.set(n,`toolbar-expanded`,`1`)},BU=(e,t)=>{let[n=``,...r]=NU(()=>zn(e)),i=jU(n),a=dL(QU(t,i));if(r.length===0)throw new J(`set-state: <key>/<value> is required (have keys: ${a.listKeys().join(`, `)})`);if(r.length%2!=0)throw new J(`set-state: expected even-count <key>/<value> pairs, got ${r.length} segment(s) after session id (have keys: ${a.listKeys().join(`, `)})`);let o=[];for(let e=0;e<r.length;e+=2){let t=r[e],n=r[e+1];if(!t)throw new J(`set-state: empty key at pair ${e/2+1} (expected <sessionId>/<key>/<value>[/<key>/<value>...] segments)`);let i=a.validate(t,n);if(!i.ok)throw new J(`set-state: pair ${e/2+1}: ${i.reason}`);o.push({key:t,value:i.value})}WU(t,i,`set-state`,o),t.navigating.setBatch(i,o);let s=o.map(e=>`${e.key}=${e.value}`).join(` `);t.dlog(`info`,`set-state: ${s} (session=${i})`)},VU=/^-?\d+$/;function HU(e,t,n,r){let i=e+t;return i>r?e===r?n:r:i<n?e===n?r:n:i}const UU=(e,t)=>{let[n=``,r=``,i=``]=NU(()=>zn(e)),a=jU(n);if(!r)throw new J(`step-state: <key> is required (shape: <sessionId>/<key>/<by>)`);if(!VU.test(i))throw new J(`step-state: delta must be an integer, got "${i}"`);let o=parseInt(i,10),s=QU(t,a),c=dL(s),l=c.rangeParamsFor(r);if(!l)throw new J(`step-state: key "${r}" is not a bounded (range) state key (have keys: ${c.listKeys().join(`, `)})`);let u=t.sessionState.get(a,r),d=u&&VU.test(u)?GU(l,parseInt(u,10)):KU(`step-state`,r,l,mL(s,e=>t.sessionState.get(a,e),r)),f=HU(d,o,l.min,l.max),p=c.validate(r,String(f));if(!p.ok)throw new J(`step-state: ${p.reason}`);WU(t,a,`step-state`,[{key:r,value:p.value}]),t.navigating.set(a,r,p.value),t.dlog(`info`,`step-state: ${r} ${d}→${p.value} (by ${o}, session=${a})`)};function WU(e,t,n,r){let i=r.filter(e=>e.key.startsWith(tD));if(i.length===0)return;let a=WI(QU(e,t),n=>e.sessionState.get(t,n),i);if(a.length>0)throw new J(`${n}: refused — ${a.join(`; `)}`)}function GU(e,t){return Math.max(e.min,Math.min(e.max,t))}function KU(e,t,n,r){if(r===null)return n.min;if(!VU.test(r))throw new J(`${e}: "${t}" shows ${JSON.stringify(r)} before any click, not an integer to step`);return GU(n,parseInt(r,10))}const qU=`render-origin`;function JU(e){return JSON.stringify(e)}function YU(e){let t;try{t=JSON.parse(e)}catch{throw new J(`render origin is not JSON: ${e}`)}if(typeof t!=`object`||!t)throw new J(`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 J(`render origin has the wrong shape: ${e}`);return{projectDir:n,cwd:r,configFile:i}}function XU(e,t){let n=e.sessionState.get(t,qU);if(n===null)throw new J(`session ${t} has not rendered yet — no config to act on`);return YU(n)}function ZU(e,t,n){let r=e.sessionState.get(t,qU);if(r===null)return;let i=YU(r),{path:a}=$U(i);n.some(e=>e.kind===`file`&&e.file===a)&&e.reloadConfig(i)}function QU(e,t){return e.configFor(XU(e,t))}function $U(e){return KP(e.projectDir,e.cwd,e.configFile??void 0)}function eW(e,t){return{record:(n,r,i)=>e.journal.file(t,n,r,i),logger:e.dlog}}const tW=(e,t)=>{let[n=``,r=``,i=``]=NU(()=>zn(e)),a=jU(n),o=XU(t,a),s=t.configFor(o),c=NA(s);if(!r)throw new J(`set-config: <key>/<value> is required (have keys: ${c.listKeys().join(`, `)})`);let l=c.validate(r,i);if(!l.ok)throw new J(`set-config: ${l.reason}`);let u=$U(o),d=HI(s,e=>t.sessionState.get(a,e),r);rH(eW(t,a),u,[[d.key,l.value]]),t.reloadConfig(o),t.dlog(`info`,`set-config: ${d.key}=${l.value} → ${u.path} (session=${a})`)},nW=(e,t)=>{let[n=``,r=``,i=``]=NU(()=>zn(e)),a=jU(n);if(!r)throw new J(`step-config: <key> is required (shape: <sessionId>/<key>/<by>)`);if(!VU.test(i))throw new J(`step-config: delta must be an integer, got "${i}"`);let o=parseInt(i,10),s=XU(t,a),c=t.configFor(s),l=NA(c),u=l.rangeParamsFor(r);if(!u)throw new J(`step-config: key "${r}" is not a bounded (range) config key (have keys: ${l.listKeys().join(`, `)})`);let d=$U(s),f=HI(c,e=>t.sessionState.get(a,e),r),p=nH(d.path,f.key),m=typeof p==`number`?GU(u,p):KU(`step-config`,r,u,FA(f.globals,r)),h=HU(m,o,u.min,u.max),g=l.validate(r,String(h));if(!g.ok)throw new J(`step-config: ${g.reason}`);rH(eW(t,a),d,[[f.key,g.value]]),t.reloadConfig(s),t.dlog(`info`,`step-config: ${f.key} ${m}→${g.value} (by ${o}) → ${d.path} (session=${a})`)},rW=(e,t)=>{let[n=``]=NU(()=>zn(e)),r=jU(n),i=XU(t,r),a=t.configFor(i),o=e=>t.sessionState.get(r,e),s=BI(a,o),c=UI(a,o);if(s.length+c.length===0){t.dlog(`info`,`save: nothing unsaved (session=${r})`);return}let l=dL(a),u=s.map(e=>{let t=l.validate(e.sessionKey,e.value);if(!t.ok)throw new J(`save: ${t.reason}`);return[e.target,t.value]});aW(`save`,l,c);let d=$U(i);iH(eW(t,r),d,u,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: ${[...u.map(([e,t])=>`${e}=${t}`),...c.map(iW)].join(` `)} → ${d.path} (session=${r})`)},iW=e=>`${e.preset}/${e.id}.settings.${e.setting}=${Oh(e.value)}`;function aW(e,t,n){for(let r of n){let n=t.validate(r.key,Oh(r.value));if(!n.ok)throw new J(`${e}: ${n.reason}`)}}const oW=(e,t)=>{let[n=``]=NU(()=>zn(e)),r=jU(n),i=XU(t,r),a=t.configFor(i),o=qI(a,e=>t.sessionState.get(r,e)),s=dL(a),c=o.picks.map(e=>{let t=s.validate(e.sessionKey,e.value);if(!t.ok)throw new J(`save-preset: ${t.reason}`);return[e.configKey,t.value]});aW(`save-preset`,s,o.placements);let l=$U(i),u=dH(eW(t,r),l,o.from,o.globals,c,o.placements);t.reloadConfig(i);for(let e of[...ma.map(e=>e.sessionKey),...o.placements.map(e=>e.key)])t.sessionState.clear(r,e);t.sessionState.set(r,pa.preset.sessionKey,u),t.dlog(`info`,`save-preset: ${[`${u} from=${o.from}`,...c.map(([e,t])=>`${e}=${t}`),...o.placements.map(iW)].join(` `)} → ${l.path} (session=${r})`)},sW=(e,t)=>{let[n=``]=NU(()=>zn(e)),r=jU(n),i=XU(t,r),a=YI(t.configFor(i),e=>t.sessionState.get(r,e));if(a.kind===`rule`)throw new J(`save-theme-default: the theme is chosen by a rule (globals.palette), so there is no name to save as a theme's default — pick one in the menu first`);let o=$U(i);fH(eW(t,r),o,a.theme,a.look),t.reloadConfig(i);let s=new Set(BI(t.configFor(i),e=>t.sessionState.get(r,e)).map(e=>e.sessionKey)),c=gh.map(e=>pa[e].sessionKey).filter(e=>!s.has(e));for(let e of c)t.sessionState.clear(r,e);t.dlog(`info`,`save-theme-default: ${a.theme} ${gh.map(e=>`${e}=${a.look[e]}`).join(` `)} → ${o.path} (session=${r})`)},cW=(e,t)=>{let[n=``,r=``]=NU(()=>zn(e)),i=jU(n);if(!r)throw new J(`delete-preset: <name> is required (shape: <sessionId>/<name>)`);let a=XU(t,i),o=$U(a);pH(eW(t,i),o,r),t.reloadConfig(a);let s=pa.preset.sessionKey;t.sessionState.get(i,s)===r&&t.sessionState.clear(i,s),t.dlog(`info`,`delete-preset: ${r} ← ${o.path} (session=${i})`)},lW=(e,t)=>{let[n=``,...r]=NU(()=>zn(e)),i=jU(n),a=XU(t,i),o=NA(t.configFor(a)).listKeys(),s=r.length===0?[``]:r.filter(e=>!o.includes(e));if(s.length>0)throw new J(`reset-config: unknown config key "${s.join(`", "`)}" (have: ${o.join(`, `)})`);let c=$U(a),l=r.map(XI),u=l.flatMap(e=>e.fileKeys),d=l.flatMap(e=>e.sessionKeys);cH(eW(t,i),c,u),t.reloadConfig(a);for(let e of d)t.sessionState.clear(i,e);t.dlog(`info`,`reset-config: ${[...u,...d.map(e=>`session:${e}`)].join(` `)} ← ${c.path} (session=${i})`)};function uW(e,t){let n=(e,t)=>[...dh(Xh(e,t).node)].filter(e=>e.kind===`segment`),r=new Set(qh(t.presets).flatMap(e=>n(t,e).map(t=>nD(qw(e),sh(t)))));return qh(e.presets).flatMap(t=>n(e,t).map(e=>({member:nD(qw(t),sh(e)),node:e})).filter(({member:e})=>!r.has(e)))}function dW(e,t){return e.flatMap(({member:e,node:n})=>[...Object.values(n.drafts??{}).map(e=>e.key),...e===t?[XE]:[]])}const fW=(e,t)=>{let[n=``,r=``,i=``]=NU(()=>zn(e)),a=jU(n),o=XU(t,a),s=t.configFor(o),c=NA(s);if(!r)throw new J(`apply-layout-op: <key>/<op> is required (have: ${c.listKeys().join(`, `)})`);let l=c.validate(r,i);if(!l.ok)throw new J(`apply-layout-op: ${l.reason}`);let u=yA(l.value);if(u===null)throw new J(`apply-layout-op: "${l.value}" is not a layout op token`);let d=$U(o),f=mH(eW(t,a),d,r,u);t.reloadConfig(o);let p=dW(uW(s,t.configFor(o)),t.sessionState.get(a,XE)).filter(e=>t.sessionState.get(a,e)!==null);for(let e of p)t.sessionState.clear(a,e);t.dlog(`info`,`apply-layout-op: ${r} ${l.value} → ${d.path} placed=${JSON.stringify(f)} released=${JSON.stringify(p)} (session=${a})`)},pW=(e,t)=>{let[n=``]=NU(()=>zn(e)),r=jU(n);t.journal.commit();let i=t.history.undo(r);ZU(t,r,i),t.dlog(`info`,`undo: restored ${IH(i)} (session=${r})`)},mW=(e,t)=>{let n=jU(MU(e)),{step:r,discarded:i}=t.navigation.back(n,t.sessionState,dL(QU(t,n))),a=r.map(e=>`${e.key}=${e.before??`∅`}`).join(` `);t.dlog(`info`,`back: ${a} discarded=${i} (session=${n})`)},hW=(e,t)=>{let n=jU(MU(e));t.journal.commit();let r=t.history.rewind(n);ZU(t,n,r),t.dlog(`info`,`rewind: put back ${IH(r)||`nothing`} as edit mode found it (session=${n})`)},gW=(e,t)=>{let[n=``]=NU(()=>zn(e)),r=jU(n);t.journal.commit();let i=t.history.redo(r);ZU(t,r,i),t.dlog(`info`,`redo: re-applied ${IH(i)} (session=${r})`)},_W=(e,t)=>{jU(MU(e)),t.applyUpdate()},vW=`client-hints`;function yW(e,t){let n=e.sessionState.get(t,vW);if(n===null)throw new J(`session ${t} has not rendered yet — no client facts are recorded for it`);let r;try{r=JSON.parse(n)}catch{throw new J(`client hints record is not JSON: ${n}`)}if(typeof r!=`object`||!r)throw new J(`client hints record is not an object: ${n}`);return rt(r)}function bW(e,t,n){let r=ND(n);e.sessionState.setBatch(t,RD(r)),e.dlog(`info`,`doctor: ${r.map(e=>`${e.check.name}=${e.verdict.ok?`ok`:`failed(${1+(e.verdict.more?.length??0)})`}`).join(` `)} (session=${t})`)}function xW(e,t){return{...$H(e.doctor,yW(e,t),XU(e,t),n=>e.sessionState.get(t,n)),urlHandler:ZH(e.clientVersion)}}const SW=(e,t)=>{let n=jU(MU(e));bW(t,n,xW(t,n))},CW=(e,t)=>{let n=fU(MU(e));if(n===null)throw new J(`doctor-probe: the value is not a probe nonce`);t.probes.arrive({nonce:n,handler:t.clientVersion}),t.dlog(`info`,`doctor-probe: arrived nonce=${n} handler=${t.clientVersion??`unreported`}`)},wW=(e,t)=>{let[n=``,r=``]=NU(()=>zn(e)),i=jU(n),a=PD(r);if(a===void 0)throw new J(`doctor-fix: unknown check "${r}"`);let o=xW(t,i),s=a.probe(o);if(s.ok||s.fix===void 0)throw new J(`doctor-fix: ${a.label} — ${s.ok?`nothing to fix`:s.reason}`);let c=eU(s.fix,o);t.dlog(`info`,`doctor-fix: ${a.name} → ${s.fix.kind} ${s.fix.path.join(`.`)}=${JSON.stringify(s.fix.value)} (session=${i})`),bW(t,i,c)},TW=(e,t)=>{let[n=``,...r]=NU(()=>zn(e)),i=jU(n),a=XU(t,i),o=Object.values(t.configFor(a).actions).filter(e=>`ceiling`in e).find(e=>{let t=FM(e);return t.length===r.length&&t.every((e,t)=>e===r[t])});if(o===void 0)throw new J(`ceiling: "${r.join(` `)}" is not a move this config declares`);let s=o.ceiling===`set`?{kind:`set`,to:o.to}:{kind:`clear`},c=GF({sessionId:i,projectDir:a.projectDir,cwd:a.cwd},yW(t,i));t.memento.move(c,s),t.dlog(`info`,`ceiling: ${r.join(` `)} (session=${i} claudeConfigDir=${c.claudeConfigDir})`)},EW=(e,t)=>{let[n=``,r=``]=NU(()=>zn(e)),i=jU(n),a=Object.values(t.configFor(XU(t,i)).actions).filter(e=>`slash`in e),o=a.find(e=>e.slash===r);if(o===void 0)throw new J(`${JSON.stringify(r)} is not a command this config declares (it declares: ${[...new Set(a.map(e=>e.slash))].join(`, `)||`none`})`);let s=TU(t.claudeInput,yW(t,i).tmux,o.slash);if(s.kind===`refused`)throw t.dlog(`warn`,`slash: ${r} refused — ${s.reason} (session=${i})`),new J(`${r} was not typed: ${s.reason}`);t.dlog(`info`,`slash: typed ${r} into ${s.pane} (session=${i})`)},DW=`config-override`,OW=new Map([[_n,FU],[`load-config`,(e,t)=>{let n=e.indexOf(`/`);if(n===-1)throw new J(`load-config: expected <sessionId>/<path> (missing separator)`);let r=jU(NU(()=>decodeURIComponent(e.slice(0,n)))),i=NU(()=>decodeURIComponent(e.slice(n+1))).trim();if(i!==``){if(!i.startsWith(`/`))throw new J(`load-config: path must be absolute, got "${i}"`);if(!/\.(json5?|json)$/.test(i))throw new J(`load-config: path must end with .json5 or .json, got "${i}"`)}i===``?(t.sessionState.clear(r,DW),t.dlog(`info`,`load-config: override cleared (session=${r})`)):(t.sessionState.set(r,DW,i),t.dlog(`info`,`load-config: ${i} (session=${r})`))}],[vn,IU],[gn,BU],[N,UU],[Sn,tW],[Cn,nW],[Dn,lW],[wn,rW],[P,oW],[Tn,sW],[En,cW],[On,fW],[kn,pW],[An,gW],[jn,mW],[Mn,hW],[bn,LU],[xn,RU],[yn,zU],[Nn,_W],[Pn,SW],[Fn,wW],[In,CW],[Ln,TW],[Rn,EW]]),kW=new Set([gn,N,Sn,Cn,Dn,wn,P,Tn,En,On,kn,An,jn,Mn,yn,Nn,Pn,Fn,Ln,Rn]),AW=(e,t)=>{let n=[],r=!1,i=null;for(let{verb:a,value:o}of Hn(Bn(e))){if(!i&&kW.has(a)){let e=zn(o);e.length>0&&e[0]&&(i=e[0])}let e=OW.get(a);if(!e){n.push(`unknown effect verb "${a}"`);continue}try{e(o,t)}catch(e){e instanceof J||(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(`
|
|
211
|
-
`));let e=`dispatch: ${n.join(`; `)}`;throw r?Error(e):new J(e)}};function jW(e){return(t,n)=>{let r=n.history.begin(),i=n.navigation.begin(r.sessionState),a=[];try{e(t,{...n,sessionState:r.sessionState,journal:r,navigating:i.sessionState})}catch(e){a.push(e)}i.commit();try{r.commit()}catch(e){a.push(e)}if(a.length===1)throw a[0];if(a.length>1)throw Error(a.map(e=>String(e.message??e)).join(`; `))}}const MW=new Map([...OW,[hn,AW]].map(([e,t])=>[e,jW(t)]));Object.freeze([...MW.keys()]);const NW=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`]),PW=[[`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`]],FW=[[`workspace.added_dirs`,`string-list`]];function IW(e){let t={missingRequired:[],typeMismatches:[],unknownTopLevelFields:[]},n=typeof e==`object`&&e&&!Array.isArray(e)?e:{};for(let[e,r]of PW){let i=zW(n,e);if(i==null)t.missingRequired.push(e);else{let n=LW(i);n!==r&&t.typeMismatches.push({path:e,expected:r,got:n})}}for(let[e,r]of FW){let i=zW(n,e),a=i===void 0?r:RW(i);a!==r&&t.typeMismatches.push({path:e,expected:r,got:a})}for(let e of Object.keys(n))NW.has(e)||t.unknownTopLevelFields.push(e);return{data:e,report:t}}function LW(e){return Array.isArray(e)?`array`:typeof e==`string`&&!e.isWellFormed()?`ill-formed string`:typeof e}function RW(e){return Array.isArray(e)&&e.every(e=>LW(e)===`string`)?`string-list`:LW(e)}function zW(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 BW(e,t){switch(e){case`vars`:return{what:e,vars:VW(t)};case`segments`:return{what:e,segments:KW(t)};case`config`:return{what:e,config:XW(t)}}}function VW(e){if(e===null)return[];let{store:t,registry:n,config:r}=e,i=WW(r),a=t.names().sort(),o=[];for(let e of a){let r=t.getNode(e),a=HW(r),s=n.getLastError(e);o.push({name:e,source:i.get(e)??null,...a,lastError:s===void 0?null:{timestampMs:s.timestamp,message:s.message},ageMs:UW(r.lastUpdatedMs())})}return o}function HW(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 UW(e){return e===null?null:Math.max(0,Date.now()-e)}function WW(e){let t=new Map;for(let[n,r]of Object.entries(e.variables))t.set(n,GW(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}`,GW(i));return t}function GW(e){return e.kind}function KW(e){if(e===null)return[];let{store:t,config:n,lastRenderBySegment:r}=e,i=new Set(t.names()),a=JW(n),o=qW(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:YW(t.template,n.helpers,i),placements:(o.get(e)??[]).map(e=>({id:e,lastRender:r.get(e)??null}))})}return s}function qW(e){let t=new Map;for(let n of qh(e.presets))for(let r of dh(Xh(e,n).node)){if(r.kind!==`segment`)continue;let e=t.get(r.name)??[],n=sh(r);e.includes(n)||t.set(r.name,[...e,n])}return t}function JW(e){let t=[],n=new Set;for(let r of dh(Bh(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 YW(e,t,n){let r=new Set;for(let i of vg(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 XW(e){return e===null?null:e.config}const ZW=[`vars`,`segments`,`config`];function QW(e){return typeof e==`string`&&ZW.includes(e)}function $W(e){return Math.max(1,e-2)}var eG=class{written=new Map;constructor(e){this.dir=e}pathFor(e){return l.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}`}}};function tG(e,t){for(let n of Object.entries(t))e.push(n)}const nG={ok:`info`,"bad-request":`warn`,threw:`error`};function rG(e){switch(e.kind){case`ok`:return[];case`bad-request`:return[[`problems`,e.problems.join(`; `)]];case`threw`:return[[`error`,y(e.error)]]}}const iG=/^[^\s"=\\]+$/,aG=e=>iG.test(e)?e:JSON.stringify(e);function oG(e,t,n){let r=[...e,[`took`,`${n}ms`],[`outcome`,t.kind],...rG(t)];return{level:nG[t.kind],line:`render${r.map(([e,t])=>` ${e}=${aG(t)}`).join(``)}`}}const sG=new lV,cG=new uU;Ae(sG.launchStats);const lG=new ow({counters:sG,logger:k}),uG=PR({watchers:lG,logger:k}),{gitProvider:dG,usageStore:fG,mementoProvider:pG}=uG,mG=new fV,hG=new SH(mG,k),gG=new GH,_G=new gm,vG=new eG(Qe()),yG=new sV({gitService:dG,sessionState:mG,watchers:lG},{observers:{onReload:e=>k(`info`,`config loaded projectDir=${e.projectDir} cwd=${e.cwd} files=${e.configLayers.join(` < `)||`<bundled default>`} error=${e.lastError===null?`none`:JSON.stringify(e.lastError)} warning=${e.lastWarning===null?`none`:JSON.stringify(e.lastWarning)}`)}}),bG=60*1e3;function xG(){let e=import.meta.url,n=[];e.startsWith(`file://`)&&n.push(ne(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){k(`info`,`binary mtime changed (${e}); shutting down`),a&&clearInterval(a),LG(0);return}}catch(e){k(`warn`,`bin stat failed: ${e.message}`)}};return{arm(){i.size!==0&&(a=setInterval(o,bG),a.unref())},checkNow:o}}const SG=xG(),CG=NL({entryUrl:import.meta.url,intervalMs:bG,releaseIntervalMs:216e5,registryUrl:t.env.CC_CANDYBAR_REGISTRY_URL??`https://registry.npmjs.org`,fetchImpl:fetch,onApplied:()=>SG.checkNow(),log:k});let wG=null,TG=null,EG=0;function DG(){t.on(`uncaughtException`,e=>{k(`error`,`uncaughtException: ${e.stack||e.message}`),LG(1)}),t.on(`unhandledRejection`,e=>{k(`error`,`unhandledRejection: ${String(e)}`),LG(1)});for(let e of[`SIGINT`,`SIGTERM`,`SIGHUP`])t.on(e,()=>{k(`info`,`received ${e}, shutting down`),LG(0)});try{EG=Vt(t.env)}catch(e){k(`error`,`refusing to boot: ${e.message}`),LG(1);return}wG=ea(t.pid);let e=ua(fa(wG));if(!e.decision.allow){k(`warn`,`fork-bomb breaker: ${e.decision.reason}; refusing to boot`),LG(1);return}TG=e.registryPath,r.mkdirSync(ze(),{recursive:!0}),Ue(Be()),mG.useStorage(new mV(Ke(),500,k)),hG.useStorage(UH(qe(),k)),ra({anchor:na(t.env),isAlive:ia,onOrphaned:e=>{k(`info`,`parent watchdog: ${e}; shutting down`),LG(0)}}),OG(S.createServer({allowHalfOpen:!1},e=>{RG(e)}),Be(),!1)}function OG(e,n,r){e.removeAllListeners(`error`),e.removeAllListeners(`listening`),e.once(`error`,i=>{if(i.code!==`EADDRINUSE`){k(`error`,`server error: ${i.message}`),LG(1);return}if(r){k(`info`,`lost rebind race; another daemon is alive — exiting`),t.exit(0);return}kG(e,n)}),e.listen(n,()=>AG(n))}function kG(e,n){let i=Wi(Gi(We(n)),(e,t)=>$i(e,t,{readStartTime:Qi,pidAlive:ia}));if(i.kind===`attach-and-exit`){k(`info`,`EADDRINUSE: ${i.reason} — exiting`),t.exit(0);return}k(`warn`,`EADDRINUSE: ${i.reason} — unlinking stale socket and rebinding`);try{r.unlinkSync(n)}catch(e){if(e.code!==`ENOENT`){k(`error`,`cannot unlink stale socket ${n}: ${e.message}`),LG(1);return}}OG(e,n,!0)}function AG(e){let n=Ji(e);if(n.kind!==`present`){k(`warn`,`no ownable socket at bind callback (${n.kind}); exiting`),LG(0);return}PG(e);try{r.chmodSync(e,384)}catch(e){k(`warn`,`chmod socket failed: ${e.message}`)}k(`info`,`daemon up: pid=${t.pid} v=3 sock=${e} heapCap=${Math.round(C.getHeapStatistics().heap_size_limit/1048576)}MB rssLimit=${Math.round(EG/1048576)}MB`),M();let i=vG.reset();i!==null&&k(`warn`,`diagnostic dump wipe failed: ${i}`),SG.arm(),CG.arm(),NG(),jG(e,n.identity)}function jG(e,n){Zi({bound:n,myPid:t.pid,readIdentity:()=>Ji(e),readLease:()=>Gi(We(e)),shutdown:e=>LG(e),log:k}).arm()}let MG=null;function NG(){MG=Gt(Yt(sG.startedAt.getTime(),e=>LG(e),{rssLimitBytes:EG})),MG.arm()}function PG(e){let n=Ki(We(e),{pid:t.pid,version:3,binPath:t.argv[1],startTime:wG});n!==null&&k(`warn`,`lease write failed: ${n}`)}let FG=0,IG=!1;function LG(e){if(!IG){IG=!0,setTimeout(()=>t.kill(t.pid,`SIGKILL`),500);try{dG.close()}catch(e){k(`warn`,`gitService close failed: ${e.message}`)}try{fG.close()}catch(e){k(`warn`,`usageStore close failed: ${e.message}`)}try{lG.closeAll()}catch(e){k(`warn`,`watcherRegistry close failed: ${e.message}`)}try{mG.flush()}catch(e){k(`warn`,`sessionState flush failed: ${e.message}`)}qi(Ge(),t.pid),TG!==null&&da(TG,t.pid,ca,e=>r.unlinkSync(e)),t.exit(e)}}function RG(e){FG++,sG.inFlight=FG;let t=!1,n=(n,r)=>{if(t){r!==null&&k(`warn`,`exit-after-flush dropped: an earlier responder settled this socket`);return}t=!0;let i=r===null?void 0:()=>LG(r);try{e.end(mt(n),i)}catch(e){k(`warn`,`response write failed: ${e.message}`),i?.()}},r=!1,i=setTimeout(()=>{r=!0,sG.requestsTimedOut++,n({ok:!1,error:`request exceeded 200ms`,code:`TIMEOUT`,daemonV:3},null)},200),a=ht(e=>{VG(e,()=>r).then(e=>n(e.resp,e.exitAfterFlush)).catch(e=>{k(`error`,`handler threw: ${y(e)}`),n(BG(e),null)})},e=>{k(`warn`,`frame parse failed: ${e.message}`),n({ok:!1,error:e.message,code:`BAD_REQUEST`,daemonV:3},null)});e.on(`data`,a),e.on(`error`,e=>{k(`warn`,`socket error: ${e.message}`)}),e.on(`close`,()=>{clearTimeout(i),FG=Math.max(0,FG-1),sG.inFlight=FG})}const zG=e=>({resp:e,exitAfterFlush:null}),BG=e=>({ok:!1,error:e instanceof Error?e.message:y(e),code:`RENDER_FAILED`,daemonV:3});async function VG(e,t){if(!e||typeof e!=`object`||typeof e.v!=`number`)return zG({ok:!1,error:`malformed request`,code:`BAD_REQUEST`,daemonV:3});if(e.v!==3)return e.v>3?k(`info`,`version mismatch: client=${e.v} > daemon=3; binary likely upgraded — exiting after the response flushes`):k(`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 zG({ok:!0,stats:sG.snapshot({gitCache:dG.getStats(),usageCache:fG.getStats(),renderCacheSize:yG.size,effectCache:_G.getStats(),watchersActive:lG.size(),nextRestartReason:MG?.describeNextRestart()??null,handlerProbes:cG.list()})});if(e.kind===`render`){sG.requestsTotal++;let n=new Date,r=vw(n),i=n.getTime(),a=[],o=await YG(e,r,a).catch(e=>({outcome:{kind:`threw`,error:e},resp:BG(e)}));o.outcome.kind!==`ok`&&sG.requestsErrored++,tG(a,{timedOut:t()?`Y`:`N`});let{level:s,line:c}=oG(a,o.outcome,Date.now()-i);return k(s,c),zG(o.resp)}if(e.kind===`click`)return zG(JG(e.verb,e.value,ft(e.clientVersion)));if(e.kind===`debug`){if(!QW(e.what))return zG({ok:!1,error:`unknown debug 'what': ${String(e.what)} (have: ${ZW.join(`, `)})`,code:`BAD_REQUEST`,daemonV:3});let t=yG.firstState(),n=t===null?null:{store:t.store,registry:t.registry,config:t.config,compiled:t.compiled,lastRenderBySegment:e.what===`segments`?KG(t.lastRenderCellsBySegment,t.config.globals.charset??`unicode`,t.config.globals.colorCompatibility??`truecolor`):GG};return zG({ok:!0,debug:BW(e.what,n)})}return zG({ok:!1,error:`unknown kind`,code:`BAD_REQUEST`,daemonV:3})}function HG(e,t){let{values:n,tokens:r}=b({args:e.slice(1),options:{config:{type:`string`}},strict:!1,tokens:!0,allowPositionals:!0}),i=[...new Set((r??[]).filter(e=>e.kind===`option`&&e.name!==`config`).map(e=>`--${e.name}`))];return{configFile:dP(t,n.config),unknownFlagsError:i.length>0?`Unknown flags: ${i.join(`, `)}`:null}}const UG={sessionState:mG,dlog:k,applyUpdate:()=>CG.act(),doctor:qH(e=>{let t=[e.projectDir,e.cwd,e.configFile??void 0];yG.reload(...t);let n=yG.getOrCreate(...t);return{layers:n.configLayers,error:n.lastError,warning:n.lastWarning,unused:n.state.unused,config:n.state.config}}),probes:cG,memento:pG,claudeInput:AU(),history:hG,navigation:gG,configFor:e=>yG.getOrCreate(e.projectDir,e.cwd,e.configFile??void 0).state.config,reloadConfig:e=>yG.reload(e.projectDir,e.cwd,e.configFile??void 0)};UG.reloadConfig;const WG={endcaps:`powerline`,colorCompatibility:`truecolor`,wrap:!0,padding:1,charset:Rp,width:1/0},GG=new Map;function KG(e,t,n){let r=new Map;for(let[i,a]of e)r.set(i,Dm(a,{...WG,charset:t,colorCompatibility:n}));return r}const qG={...uG,history:e=>hG.depth(e)};function JG(e,t,n){let r=MW.get(e);if(!r)return{ok:!1,error:`unknown click verb: ${e}`,code:`BAD_REQUEST`,daemonV:3};try{return r(t,{...UG,clientVersion:n}),{ok:!0,output:``}}catch(e){let t=e instanceof J?`BAD_REQUEST`:`RENDER_FAILED`;return{ok:!1,error:String(e instanceof Error?e.message:e),code:t,daemonV:3}}}async function YG(e,t,n){let{report:r}=IW(e.hookData);for(let e of r.unknownTopLevelFields)k(`info`,`schema: unknown field '${e}' — Anthropic may have added it`);let i=[];for(let e of r.missingRequired)i.push(`missing required field '${e}'`);for(let{path:e,expected:t,got:n}of r.typeMismatches)i.push(`field '${e}' expected ${t}, got ${n}`);if(f(e.cwd)||i.push(`request 'cwd' is not an absolute path: "${e.cwd}"`),i.length>0)return{outcome:{kind:`bad-request`,problems:i},resp:{ok:!1,error:`malformed hookData: ${i.join(`; `)}`,code:`BAD_REQUEST`,daemonV:3}};tG(n,{sid:e.hookData.session_id,at:t.toFixed(3)});let a=e.hookData.workspace.project_dir,{configFile:o,unknownFlagsError:s}=HG(e.args,e.cwd),c=e.hookData.session_id,l=rt(e),u=it(e,l),d=at(u);tG(n,{termCols:String(l.termCols??`?`),termRows:String(l.termRows??`?`),refused:u.map(e=>e.hint).join(`,`)||`-`});let p=JSON.stringify(l);mG.get(c,`client-hints`)!==p&&mG.set(c,vW,p);let m=mG.get(c,`config-override`)??o??l.configEnv,h=yG.getOrCreate(a,e.cwd,m),g=JU({projectDir:a,cwd:e.cwd,configFile:m??null});mG.get(c,`render-origin`)!==g&&mG.set(c,qU,g);let _=l.termCols,v=$W(_??120),y=Om(l.termRows);tG(n,{width:String(v)});let{authoredRoots:b}=h.state,x=t=>mG.get(e.hookData.session_id,t),S=iI(h.state.config,x,e=>b.has(e)),C=await xI(e.hookData,t,{...qG,navigation:e=>gG.depth(e,mG,dL(h.state.config))},e.cwd,h.state.neededInputPaths(S.preset),S,l,{...QI(h.state.config,h.state.fileHeldSettings,x),configPath:h.configLayers.includes(h.configHome)?h.configHome:null});tG(n,{prompts:String(C.metrics?.messageCount??`-`),nonPrompts:String(C.metrics?.nonPrompts??`-`),pr:C.git?.prState??(C.git?.prError===void 0?`-`:`failed`)});let ee=[],te=aI(S,v),ne=_G.of(c),re=BB(h.state.config,h.state.compiled,h.state.store,h.state.registry,C,t,te,{perSegmentSink:h.state.lastRenderCellsBySegment,onRenderWarning:e=>ee.push(e)},{...oI(S),effects:ne}),ie=mG.get(e.hookData.session_id,`click.error`);ie&&mG.clear(e.hookData.session_id,`click.error`);let ae=[s,d,h.lastError,ie].filter(Boolean).join(`
|
|
212
|
-
`),w=
|
|
213
|
-
`)),
|
|
214
|
-
`}}}const
|
|
215
|
-
`);return}t.stdout.write(
|
|
216
|
-
`;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?``:` ${
|
|
176
|
+
`}const uU=e=>({kind:`ok`,value:e}),dU=e=>({kind:`failed`,reason:e});var fU=class{arrivals=[];arrive(e){this.arrivals=[...this.arrivals,e].slice(-16)}list(){return this.arrivals}};const pU=/^[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}$/;function mU(e){return pU.test(e)?e:null}function hU(e){let t=e.opener();if(t.kind===`failed`)return t;if(t.value===null)return uU(null);let n=t.value,r=e.script(n);if(r.kind===`failed`)return uU({app:n,missing:dU(`its script could not be read (${r.reason})`)});let i=Ai(r.value);return uU({app:n,missing:i===null?dU("its script is not one `cc-candybar install` wrote"):uU([i.node,i.script].filter(t=>!e.exists(t)))})}async function gU(e,t){let n=e.now()+5e3;for(;e.now()<n;){await e.pause();let n=await e.daemon(),r=n.kind===`ok`?n.value.arrivals.find(e=>e.nonce===t):void 0;if(n.kind===`ok`&&r!==void 0)return{kind:`arrived`,handler:r.handler,bar:n.value.version}}return null}async function _U(e){if(e.platform!==`darwin`)return{kind:`unsupported`};if(e.sockets.own!==e.sockets.handler)return{kind:`unprobed`,reason:`this shell's daemon is at ${e.sockets.own} (CC_CANDYBAR_SOCKET); the URL handler delivers links to ${e.sockets.handler}`};let t=await e.daemon();if(t.kind===`failed`)return{kind:`unprobed`,reason:`the daemon could not be asked whether a link arrives: ${t.reason}`};let n=e.nonce(),r=e.open(`${mn}://${In}/${n}`);return(r===null?await gU(e,n):null)??{kind:`lost`,unopened:r,opener:hU(e)}}function vU(e,t,n){let r=Ne({bin:t,args:[...n],category:e,timeoutMs:5e3});return r.ok?uU(r.stdout):dU(r.stderr.trim()||r.error||r.reason)}const yU=`ObjC.import("AppKit");var u = $.NSWorkspace.sharedWorkspace.URLForApplicationToOpenURL($.NSURL.URLWithString("${mn}://probe"));u.isNil() ? "" : u.path.js`;async function bU(){let e=await aU();if(e.kind!==`ok`)return dU(St(e).split(`
|
|
177
|
+
`).join(` — `));let{version:t,handlerProbes:n}=e.value;return Array.isArray(n)?uU({version:t,arrivals:n}):dU(`the running daemon (${t}) predates this check`)}function xU(){return{platform:process.platform,sockets:{own:Ve(),handler:He()},now:Date.now,nonce:w,daemon:bU,open:e=>{let t=vU(`doctor.open`,`/usr/bin/open`,[`-g`,e]);return t.kind===`ok`?null:t.reason},pause:()=>new Promise(e=>setTimeout(e,100)),opener:()=>{let e=vU(`doctor.launch-services`,`/usr/bin/osascript`,[`-l`,`JavaScript`,`-e`,yU]);if(e.kind===`failed`)return e;let t=e.value.trim();return uU(t===``?null:t)},script:e=>vU(`doctor.osadecompile`,`/usr/bin/osadecompile`,[ji(e)]),exists:r.existsSync}}const SU=/^─{20,}/,CU=/^❯(\s|$)/,wU=/›\s*stashed$/;function TU(e){if(e.inMode)return{kind:`in-mode`};let t=e.screen.map(e=>e.trimEnd()),n=t.flatMap((e,t)=>SU.test(e)?[t]:[]).at(-2);return n===void 0||!CU.test(t[n+1]??``)?{kind:`no-prompt`}:wU.test(t[n-1]??``)?{kind:`stashed`}:{kind:`ready`}}const EU={"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 DU(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=TU(e.read(t));if(r.kind!==`ready`)return{kind:`refused`,reason:EU[r.kind]};let i=e.type(t,n);return i.kind===`typed`?{kind:`typed`,pane:t.pane}:i}const OU=`cc-candybar-slash`;function kU(e,t,n,r){let i=AR(e,t,n,r);if(i.kind===`failed`)throw Error(i.reason);return i}function AU(e){let t=kU(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(`
|
|
178
|
+
`);return{inMode:n!==`0`,screen:r}}function jU(e,t){let n=kU(e,`claude-input.type`,[`load-buffer`,`-b`,OU,`-`,`;`,`send-keys`,`-t`,e.pane,`C-s`,`;`,`paste-buffer`,`-p`,`-d`,`-b`,OU,`-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 MU(){return{read:AU,type:jU}}function NU(e){if(!e)throw new q(`session id is required`);if(e.includes(`/`)||e.includes(`..`))throw new q(`invalid session id "${e}"`);return e}function PU(e){return FU(()=>decodeURIComponent(e))}function FU(e){try{return e()}catch(e){throw e instanceof URIError?new q(`malformed wire encoding: ${e.message}`):e}}function IU(e,t){let n=Ne({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 LU=(e,t)=>IU(PU(e),t),RU=(e,t)=>{let n=Ne({bin:`/usr/bin/open`,args:[`-a`,`Visual Studio Code`,PU(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`})`)}},zU=(e,t)=>IU(PU(e),t),BU=(e,t)=>IU(PU(e),t),VU=(e,t)=>{let n=NU(PU(e));t.navigating.get(n,`toolbar-expanded`)?t.navigating.clear(n,`toolbar-expanded`):t.navigating.set(n,`toolbar-expanded`,`1`)},HU=(e,t)=>{let[n=``,...r]=FU(()=>Bn(e)),i=NU(n),a=pL(eW(t,i));if(r.length===0)throw new q(`set-state: <key>/<value> is required (have keys: ${a.listKeys().join(`, `)})`);if(r.length%2!=0)throw new q(`set-state: expected even-count <key>/<value> pairs, got ${r.length} segment(s) after session id (have keys: ${a.listKeys().join(`, `)})`);let o=[];for(let e=0;e<r.length;e+=2){let t=r[e],n=r[e+1];if(!t)throw new q(`set-state: empty key at pair ${e/2+1} (expected <sessionId>/<key>/<value>[/<key>/<value>...] segments)`);let i=a.validate(t,n);if(!i.ok)throw new q(`set-state: pair ${e/2+1}: ${i.reason}`);o.push({key:t,value:i.value})}KU(t,i,`set-state`,o),t.navigating.setBatch(i,o);let s=o.map(e=>`${e.key}=${e.value}`).join(` `);t.dlog(`info`,`set-state: ${s} (session=${i})`)},UU=/^-?\d+$/;function WU(e,t,n,r){let i=e+t;return i>r?e===r?n:r:i<n?e===n?r:n:i}const GU=(e,t)=>{let[n=``,r=``,i=``]=FU(()=>Bn(e)),a=NU(n);if(!r)throw new q(`step-state: <key> is required (shape: <sessionId>/<key>/<by>)`);if(!UU.test(i))throw new q(`step-state: delta must be an integer, got "${i}"`);let o=parseInt(i,10),s=eW(t,a),c=pL(s),l=c.rangeParamsFor(r);if(!l)throw new q(`step-state: key "${r}" is not a bounded (range) state key (have keys: ${c.listKeys().join(`, `)})`);let u=t.sessionState.get(a,r),d=u&&UU.test(u)?qU(l,parseInt(u,10)):JU(`step-state`,r,l,gL(s,e=>t.sessionState.get(a,e),r)),f=WU(d,o,l.min,l.max),p=c.validate(r,String(f));if(!p.ok)throw new q(`step-state: ${p.reason}`);KU(t,a,`step-state`,[{key:r,value:p.value}]),t.navigating.set(a,r,p.value),t.dlog(`info`,`step-state: ${r} ${d}→${p.value} (by ${o}, session=${a})`)};function KU(e,t,n,r){let i=r.filter(e=>e.key.startsWith(tD));if(i.length===0)return;let a=KI(eW(e,t),n=>e.sessionState.get(t,n),i);if(a.length>0)throw new q(`${n}: refused — ${a.join(`; `)}`)}function qU(e,t){return Math.max(e.min,Math.min(e.max,t))}function JU(e,t,n,r){if(r===null)return n.min;if(!UU.test(r))throw new q(`${e}: "${t}" shows ${JSON.stringify(r)} before any click, not an integer to step`);return qU(n,parseInt(r,10))}const YU=`render-origin`;function XU(e){return JSON.stringify(e)}function ZU(e){let t;try{t=JSON.parse(e)}catch{throw new q(`render origin is not JSON: ${e}`)}if(typeof t!=`object`||!t)throw new q(`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 q(`render origin has the wrong shape: ${e}`);return{projectDir:n,cwd:r,configFile:i}}function QU(e,t){let n=e.sessionState.get(t,YU);if(n===null)throw new q(`session ${t} has not rendered yet — no config to act on`);return ZU(n)}function $U(e,t,n){let r=e.sessionState.get(t,YU);if(r===null)return;let i=ZU(r),{path:a}=tW(i);n.some(e=>e.kind===`file`&&e.file===a)&&e.reloadConfig(i)}function eW(e,t){return e.configFor(QU(e,t))}function tW(e){return KP(e.projectDir,e.cwd,e.configFile??void 0)}function nW(e,t){return{record:(n,r,i)=>e.journal.file(t,n,r,i),logger:e.dlog}}const rW=(e,t)=>{let[n=``,r=``,i=``]=FU(()=>Bn(e)),a=NU(n),o=QU(t,a),s=t.configFor(o),c=NA(s);if(!r)throw new q(`set-config: <key>/<value> is required (have keys: ${c.listKeys().join(`, `)})`);let l=c.validate(r,i);if(!l.ok)throw new q(`set-config: ${l.reason}`);let u=tW(o),d=WI(s,e=>t.sessionState.get(a,e),r);aH(nW(t,a),u,[[d.key,l.value]]),t.reloadConfig(o),t.dlog(`info`,`set-config: ${d.key}=${l.value} → ${u.path} (session=${a})`)},iW=(e,t)=>{let[n=``,r=``,i=``]=FU(()=>Bn(e)),a=NU(n);if(!r)throw new q(`step-config: <key> is required (shape: <sessionId>/<key>/<by>)`);if(!UU.test(i))throw new q(`step-config: delta must be an integer, got "${i}"`);let o=parseInt(i,10),s=QU(t,a),c=t.configFor(s),l=NA(c),u=l.rangeParamsFor(r);if(!u)throw new q(`step-config: key "${r}" is not a bounded (range) config key (have keys: ${l.listKeys().join(`, `)})`);let d=tW(s),f=WI(c,e=>t.sessionState.get(a,e),r),p=iH(d.path,f.key),m=typeof p==`number`?qU(u,p):JU(`step-config`,r,u,FA(f.globals,r)),h=WU(m,o,u.min,u.max),g=l.validate(r,String(h));if(!g.ok)throw new q(`step-config: ${g.reason}`);aH(nW(t,a),d,[[f.key,g.value]]),t.reloadConfig(s),t.dlog(`info`,`step-config: ${f.key} ${m}→${g.value} (by ${o}) → ${d.path} (session=${a})`)},aW=(e,t)=>{let[n=``]=FU(()=>Bn(e)),r=NU(n),i=QU(t,r),a=t.configFor(i),o=e=>t.sessionState.get(r,e),s=HI(a,o),c=GI(a,o);if(s.length+c.length===0){t.dlog(`info`,`save: nothing unsaved (session=${r})`);return}let l=pL(a),u=s.map(e=>{let t=l.validate(e.sessionKey,e.value);if(!t.ok)throw new q(`save: ${t.reason}`);return[e.target,t.value]});sW(`save`,l,c);let d=tW(i);oH(nW(t,r),d,u,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: ${[...u.map(([e,t])=>`${e}=${t}`),...c.map(oW)].join(` `)} → ${d.path} (session=${r})`)},oW=e=>`${e.preset}/${e.id}.settings.${e.setting}=${kh(e.value)}`;function sW(e,t,n){for(let r of n){let n=t.validate(r.key,kh(r.value));if(!n.ok)throw new q(`${e}: ${n.reason}`)}}const cW=(e,t)=>{let[n=``]=FU(()=>Bn(e)),r=NU(n),i=QU(t,r),a=t.configFor(i),o=YI(a,e=>t.sessionState.get(r,e)),s=pL(a),c=o.picks.map(e=>{let t=s.validate(e.sessionKey,e.value);if(!t.ok)throw new q(`save-preset: ${t.reason}`);return[e.configKey,t.value]});sW(`save-preset`,s,o.placements);let l=tW(i),u=pH(nW(t,r),l,o.from,o.globals,c,o.placements);t.reloadConfig(i);for(let e of[...ga.map(e=>e.sessionKey),...o.placements.map(e=>e.key)])t.sessionState.clear(r,e);t.sessionState.set(r,ha.preset.sessionKey,u),t.dlog(`info`,`save-preset: ${[`${u} from=${o.from}`,...c.map(([e,t])=>`${e}=${t}`),...o.placements.map(oW)].join(` `)} → ${l.path} (session=${r})`)},lW=(e,t)=>{let[n=``]=FU(()=>Bn(e)),r=NU(n),i=QU(t,r),a=ZI(t.configFor(i),e=>t.sessionState.get(r,e));if(a.kind===`rule`)throw new q(`save-theme-default: the theme is chosen by a rule (globals.palette), so there is no name to save as a theme's default — pick one in the menu first`);let o=tW(i);mH(nW(t,r),o,a.theme,a.look),t.reloadConfig(i);let s=new Set(HI(t.configFor(i),e=>t.sessionState.get(r,e)).map(e=>e.sessionKey)),c=_h.map(e=>ha[e].sessionKey).filter(e=>!s.has(e));for(let e of c)t.sessionState.clear(r,e);t.dlog(`info`,`save-theme-default: ${a.theme} ${_h.map(e=>`${e}=${a.look[e]}`).join(` `)} → ${o.path} (session=${r})`)},uW=(e,t)=>{let[n=``,r=``]=FU(()=>Bn(e)),i=NU(n);if(!r)throw new q(`delete-preset: <name> is required (shape: <sessionId>/<name>)`);let a=QU(t,i),o=tW(a);hH(nW(t,i),o,r),t.reloadConfig(a);let s=ha.preset.sessionKey;t.sessionState.get(i,s)===r&&t.sessionState.clear(i,s),t.dlog(`info`,`delete-preset: ${r} ← ${o.path} (session=${i})`)},dW=(e,t)=>{let[n=``,...r]=FU(()=>Bn(e)),i=NU(n),a=QU(t,i),o=NA(t.configFor(a)).listKeys(),s=r.length===0?[``]:r.filter(e=>!o.includes(e));if(s.length>0)throw new q(`reset-config: unknown config key "${s.join(`", "`)}" (have: ${o.join(`, `)})`);let c=tW(a),l=r.map(QI),u=l.flatMap(e=>e.fileKeys),d=l.flatMap(e=>e.sessionKeys);uH(nW(t,i),c,u),t.reloadConfig(a);for(let e of d)t.sessionState.clear(i,e);t.dlog(`info`,`reset-config: ${[...u,...d.map(e=>`session:${e}`)].join(` `)} ← ${c.path} (session=${i})`)};function fW(e,t){let n=(e,t)=>[...fh(Zh(e,t).node)].filter(e=>e.kind===`segment`),r=new Set(Jh(t.presets).flatMap(e=>n(t,e).map(t=>nD(Jw(e),ch(t)))));return Jh(e.presets).flatMap(t=>n(e,t).map(e=>({member:nD(Jw(t),ch(e)),node:e})).filter(({member:e})=>!r.has(e)))}function pW(e,t){return e.flatMap(({member:e,node:n})=>[...Object.values(n.drafts??{}).map(e=>e.key),...e===t?[XE]:[]])}const mW=(e,t)=>{let[n=``,r=``,i=``]=FU(()=>Bn(e)),a=NU(n),o=QU(t,a),s=t.configFor(o),c=NA(s);if(!r)throw new q(`apply-layout-op: <key>/<op> is required (have: ${c.listKeys().join(`, `)})`);let l=c.validate(r,i);if(!l.ok)throw new q(`apply-layout-op: ${l.reason}`);let u=yA(l.value);if(u===null)throw new q(`apply-layout-op: "${l.value}" is not a layout op token`);let d=tW(o),f=gH(nW(t,a),d,r,u);t.reloadConfig(o);let p=pW(fW(s,t.configFor(o)),t.sessionState.get(a,XE)).filter(e=>t.sessionState.get(a,e)!==null);for(let e of p)t.sessionState.clear(a,e);t.dlog(`info`,`apply-layout-op: ${r} ${l.value} → ${d.path} placed=${JSON.stringify(f)} released=${JSON.stringify(p)} (session=${a})`)},hW=(e,t)=>{let[n=``]=FU(()=>Bn(e)),r=NU(n);t.journal.commit();let i=t.history.undo(r);$U(t,r,i),t.dlog(`info`,`undo: restored ${RH(i)} (session=${r})`)},gW=(e,t)=>{let n=NU(PU(e)),{step:r,discarded:i}=t.navigation.back(n,t.sessionState,pL(eW(t,n))),a=r.map(e=>`${e.key}=${e.before??`∅`}`).join(` `);t.dlog(`info`,`back: ${a} discarded=${i} (session=${n})`)},_W=(e,t)=>{let n=NU(PU(e));t.journal.commit();let r=t.history.rewind(n);$U(t,n,r),t.dlog(`info`,`rewind: put back ${RH(r)||`nothing`} as edit mode found it (session=${n})`)},vW=(e,t)=>{let[n=``]=FU(()=>Bn(e)),r=NU(n);t.journal.commit();let i=t.history.redo(r);$U(t,r,i),t.dlog(`info`,`redo: re-applied ${RH(i)} (session=${r})`)},yW=(e,t)=>{NU(PU(e)),t.applyUpdate()},bW=`client-hints`;function xW(e,t){let n=e.sessionState.get(t,bW);if(n===null)throw new q(`session ${t} has not rendered yet — no client facts are recorded for it`);let r;try{r=JSON.parse(n)}catch{throw new q(`client hints record is not JSON: ${n}`)}if(typeof r!=`object`||!r)throw new q(`client hints record is not an object: ${n}`);return it(r)}function SW(e,t,n){let r=ND(n);e.sessionState.setBatch(t,RD(r)),e.dlog(`info`,`doctor: ${r.map(e=>`${e.check.name}=${e.verdict.ok?`ok`:`failed(${1+(e.verdict.more?.length??0)})`}`).join(` `)} (session=${t})`)}function CW(e,t){return{...tU(e.doctor,xW(e,t),QU(e,t),n=>e.sessionState.get(t,n)),urlHandler:$H(e.clientVersion)}}const wW=(e,t)=>{let n=NU(PU(e));SW(t,n,CW(t,n))},TW=(e,t)=>{let n=mU(PU(e));if(n===null)throw new q(`doctor-probe: the value is not a probe nonce`);t.probes.arrive({nonce:n,handler:t.clientVersion}),t.dlog(`info`,`doctor-probe: arrived nonce=${n} handler=${t.clientVersion??`unreported`}`)},EW=(e,t)=>{let[n=``,r=``]=FU(()=>Bn(e)),i=NU(n),a=PD(r);if(a===void 0)throw new q(`doctor-fix: unknown check "${r}"`);let o=CW(t,i),s=a.probe(o);if(s.ok||s.fix===void 0)throw new q(`doctor-fix: ${a.label} — ${s.ok?`nothing to fix`:s.reason}`);let c=nU(s.fix,o);t.dlog(`info`,`doctor-fix: ${a.name} → ${s.fix.kind} ${s.fix.path.join(`.`)}=${JSON.stringify(s.fix.value)} (session=${i})`),SW(t,i,c)},DW=(e,t)=>{let[n=``,...r]=FU(()=>Bn(e)),i=NU(n),a=QU(t,i),o=Object.values(t.configFor(a).actions).filter(e=>`ceiling`in e).find(e=>{let t=FM(e);return t.length===r.length&&t.every((e,t)=>e===r[t])});if(o===void 0)throw new q(`ceiling: "${r.join(` `)}" is not a move this config declares`);let s=o.ceiling===`set`?{kind:`set`,to:o.to}:{kind:`clear`},c=GF({sessionId:i,projectDir:a.projectDir,cwd:a.cwd},xW(t,i));t.memento.move(c,s),t.dlog(`info`,`ceiling: ${r.join(` `)} (session=${i} claudeConfigDir=${c.claudeConfigDir})`)},OW=(e,t)=>{let[n=``,r=``]=FU(()=>Bn(e)),i=NU(n),a=Object.values(t.configFor(QU(t,i)).actions).filter(e=>`slash`in e),o=a.find(e=>e.slash===r);if(o===void 0)throw new q(`${JSON.stringify(r)} is not a command this config declares (it declares: ${[...new Set(a.map(e=>e.slash))].join(`, `)||`none`})`);let s=DU(t.claudeInput,xW(t,i).tmux,o.slash);if(s.kind===`refused`)throw t.dlog(`warn`,`slash: ${r} refused — ${s.reason} (session=${i})`),new q(`${r} was not typed: ${s.reason}`);t.dlog(`info`,`slash: typed ${r} into ${s.pane} (session=${i})`)},kW=`config-override`,AW=new Map([[vn,LU],[`load-config`,(e,t)=>{let n=e.indexOf(`/`);if(n===-1)throw new q(`load-config: expected <sessionId>/<path> (missing separator)`);let r=NU(FU(()=>decodeURIComponent(e.slice(0,n)))),i=FU(()=>decodeURIComponent(e.slice(n+1))).trim();if(i!==``){if(!i.startsWith(`/`))throw new q(`load-config: path must be absolute, got "${i}"`);if(!/\.(json5?|json)$/.test(i))throw new q(`load-config: path must end with .json5 or .json, got "${i}"`)}i===``?(t.sessionState.clear(r,kW),t.dlog(`info`,`load-config: override cleared (session=${r})`)):(t.sessionState.set(r,kW,i),t.dlog(`info`,`load-config: ${i} (session=${r})`))}],[yn,RU],[gn,HU],[_n,GU],[Sn,rW],[Cn,iW],[Dn,dW],[wn,aW],[P,cW],[Tn,lW],[En,uW],[On,mW],[kn,hW],[An,vW],[jn,gW],[Mn,_W],[bn,zU],[xn,BU],[N,VU],[Nn,yW],[Pn,wW],[Fn,EW],[In,TW],[Ln,DW],[Rn,OW]]),jW=new Set([gn,_n,Sn,Cn,Dn,wn,P,Tn,En,On,kn,An,jn,Mn,N,Nn,Pn,Fn,Ln,Rn]),MW=(e,t)=>{let n=[],r=!1,i=null;for(let{verb:a,value:o}of Wn(Hn(e))){if(!i&&jW.has(a)){let e=Bn(o);e.length>0&&e[0]&&(i=e[0])}let e=AW.get(a);if(!e){n.push(`unknown effect verb "${a}"`);continue}try{e(o,t)}catch(e){e instanceof q||(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(`
|
|
179
|
+
`));let e=`dispatch: ${n.join(`; `)}`;throw r?Error(e):new q(e)}};function NW(e){return(t,n)=>{let r=n.history.begin(),i=n.navigation.begin(r.sessionState),a=[];try{e(t,{...n,sessionState:r.sessionState,journal:r,navigating:i.sessionState})}catch(e){a.push(e)}i.commit();try{r.commit()}catch(e){a.push(e)}if(a.length===1)throw a[0];if(a.length>1)throw Error(a.map(e=>String(e.message??e)).join(`; `))}}const PW=new Map([...AW,[hn,MW]].map(([e,t])=>[e,NW(t)]));Object.freeze([...PW.keys()]);const FW=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`]),IW=[[`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`]],LW=[[`workspace.added_dirs`,`string-list`]];function RW(e){let t={missingRequired:[],typeMismatches:[],unknownTopLevelFields:[]},n=typeof e==`object`&&e&&!Array.isArray(e)?e:{};for(let[e,r]of IW){let i=VW(n,e);if(i==null)t.missingRequired.push(e);else{let n=zW(i);n!==r&&t.typeMismatches.push({path:e,expected:r,got:n})}}for(let[e,r]of LW){let i=VW(n,e),a=i===void 0?r:BW(i);a!==r&&t.typeMismatches.push({path:e,expected:r,got:a})}for(let e of Object.keys(n))FW.has(e)||t.unknownTopLevelFields.push(e);return{data:e,report:t}}function zW(e){return Array.isArray(e)?`array`:typeof e==`string`&&!e.isWellFormed()?`ill-formed string`:typeof e}function BW(e){return Array.isArray(e)&&e.every(e=>zW(e)===`string`)?`string-list`:zW(e)}function VW(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 HW(e,t){switch(e){case`vars`:return{what:e,vars:UW(t)};case`segments`:return{what:e,segments:JW(t)};case`config`:return{what:e,config:QW(t)}}}function UW(e){if(e===null)return[];let{store:t,registry:n,config:r}=e,i=KW(r),a=t.names().sort(),o=[];for(let e of a){let r=t.getNode(e),a=WW(r),s=n.getLastError(e);o.push({name:e,source:i.get(e)??null,...a,lastError:s===void 0?null:{timestampMs:s.timestamp,message:s.message},ageMs:GW(r.lastUpdatedMs())})}return o}function WW(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 GW(e){return e===null?null:Math.max(0,Date.now()-e)}function KW(e){let t=new Map;for(let[n,r]of Object.entries(e.variables))t.set(n,qW(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}`,qW(i));return t}function qW(e){return e.kind}function JW(e){if(e===null)return[];let{store:t,config:n,lastRenderBySegment:r}=e,i=new Set(t.names()),a=XW(n),o=YW(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:ZW(t.template,n.helpers,i),placements:(o.get(e)??[]).map(e=>({id:e,lastRender:r.get(e)??null}))})}return s}function YW(e){let t=new Map;for(let n of Jh(e.presets))for(let r of fh(Zh(e,n).node)){if(r.kind!==`segment`)continue;let e=t.get(r.name)??[],n=ch(r);e.includes(n)||t.set(r.name,[...e,n])}return t}function XW(e){let t=[],n=new Set;for(let r of fh(Vh(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 ZW(e,t,n){let r=new Set;for(let i of yg(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 QW(e){return e===null?null:e.config}const $W=[`vars`,`segments`,`config`];function eG(e){return typeof e==`string`&&$W.includes(e)}function tG(e){return Math.max(1,e-2)}var nG=class{written=new Map;constructor(e){this.dir=e}pathFor(e){return l.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}`}}};function rG(e,t){for(let n of Object.entries(t))e.push(n)}const iG={ok:`info`,"bad-request":`warn`,threw:`error`};function aG(e){switch(e.kind){case`ok`:return[];case`bad-request`:return[[`problems`,e.problems.join(`; `)]];case`threw`:return[[`error`,y(e.error)]]}}const oG=/^[^\s"=\\]+$/,sG=e=>oG.test(e)?e:JSON.stringify(e);function cG(e,t,n){let r=[...e,[`took`,`${n}ms`],[`outcome`,t.kind],...aG(t)];return{level:iG[t.kind],line:`render${r.map(([e,t])=>` ${e}=${sG(t)}`).join(``)}`}}const lG=new dV,uG=new fU;Ae(lG.launchStats);const dG=new sw({counters:lG,logger:A}),fG=IR({watchers:dG,logger:A}),{gitProvider:pG,usageStore:mG,mementoProvider:hG}=fG,gG=new mV,_G=new wH(gG,A),vG=new qH,yG=new _m,bG=new nG($e()),xG=new lV({gitService:pG,sessionState:gG,watchers:dG},{observers:{onReload:e=>A(`info`,`config loaded projectDir=${e.projectDir} cwd=${e.cwd} files=${e.configLayers.join(` < `)||`<bundled default>`} error=${e.lastError===null?`none`:JSON.stringify(e.lastError)} warning=${e.lastWarning===null?`none`:JSON.stringify(e.lastWarning)}`)}}),SG=60*1e3;function CG(){let e=import.meta.url,n=[];e.startsWith(`file://`)&&n.push(ne(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){A(`info`,`binary mtime changed (${e}); shutting down`),a&&clearInterval(a),zG(0);return}}catch(e){A(`warn`,`bin stat failed: ${e.message}`)}};return{arm(){i.size!==0&&(a=setInterval(o,SG),a.unref())},checkNow:o}}const wG=CG(),TG=FL({entryUrl:import.meta.url,intervalMs:SG,releaseIntervalMs:216e5,registryUrl:t.env.CC_CANDYBAR_REGISTRY_URL??`https://registry.npmjs.org`,fetchImpl:fetch,onApplied:()=>wG.checkNow(),log:A});let EG=null,DG=null,OG=0;function kG(){t.on(`uncaughtException`,e=>{A(`error`,`uncaughtException: ${e.stack||e.message}`),zG(1)}),t.on(`unhandledRejection`,e=>{A(`error`,`unhandledRejection: ${String(e)}`),zG(1)});for(let e of[`SIGINT`,`SIGTERM`,`SIGHUP`])t.on(e,()=>{A(`info`,`received ${e}, shutting down`),zG(0)});try{OG=Ht(t.env)}catch(e){A(`error`,`refusing to boot: ${e.message}`),zG(1);return}EG=na(t.pid);let e=fa(ma(EG));if(!e.decision.allow){A(`warn`,`fork-bomb breaker: ${e.decision.reason}; refusing to boot`),zG(1);return}DG=e.registryPath,r.mkdirSync(Be(),{recursive:!0}),We(Ve()),gG.useStorage(new gV(qe(),500,A)),_G.useStorage(GH(Je(),A)),aa({anchor:ia(t.env),isAlive:oa,onOrphaned:e=>{A(`info`,`parent watchdog: ${e}; shutting down`),zG(0)}}),AG(S.createServer({allowHalfOpen:!1},e=>{BG(e)}),Ve(),!1)}function AG(e,n,r){e.removeAllListeners(`error`),e.removeAllListeners(`listening`),e.once(`error`,i=>{if(i.code!==`EADDRINUSE`){A(`error`,`server error: ${i.message}`),zG(1);return}if(r){A(`info`,`lost rebind race; another daemon is alive — exiting`),t.exit(0);return}jG(e,n)}),e.listen(n,()=>MG(n))}function jG(e,n){let i=Ki(qi(Ge(n)),(e,t)=>ta(e,t,{readStartTime:ea,pidAlive:oa}));if(i.kind===`attach-and-exit`){A(`info`,`EADDRINUSE: ${i.reason} — exiting`),t.exit(0);return}A(`warn`,`EADDRINUSE: ${i.reason} — unlinking stale socket and rebinding`);try{r.unlinkSync(n)}catch(e){if(e.code!==`ENOENT`){A(`error`,`cannot unlink stale socket ${n}: ${e.message}`),zG(1);return}}AG(e,n,!0)}function MG(e){let n=Xi(e);if(n.kind!==`present`){A(`warn`,`no ownable socket at bind callback (${n.kind}); exiting`),zG(0);return}IG(e);try{r.chmodSync(e,384)}catch(e){A(`warn`,`chmod socket failed: ${e.message}`)}A(`info`,`daemon up: pid=${t.pid} v=3 sock=${e} heapCap=${Math.round(C.getHeapStatistics().heap_size_limit/1048576)}MB rssLimit=${Math.round(OG/1048576)}MB`),rn();let i=bG.reset();i!==null&&A(`warn`,`diagnostic dump wipe failed: ${i}`),wG.arm(),TG.arm(),FG(),NG(e,n.identity)}function NG(e,n){$i({bound:n,myPid:t.pid,readIdentity:()=>Xi(e),readLease:()=>qi(Ge(e)),shutdown:e=>zG(e),log:A}).arm()}let PG=null;function FG(){PG=Gt(Yt(lG.startedAt.getTime(),e=>zG(e),{rssLimitBytes:OG})),PG.arm()}function IG(e){let n=Ji(Ge(e),{pid:t.pid,version:3,binPath:t.argv[1],startTime:EG});n!==null&&A(`warn`,`lease write failed: ${n}`)}let LG=0,RG=!1;function zG(e){if(!RG){RG=!0,setTimeout(()=>t.kill(t.pid,`SIGKILL`),500);try{pG.close()}catch(e){A(`warn`,`gitService close failed: ${e.message}`)}try{mG.close()}catch(e){A(`warn`,`usageStore close failed: ${e.message}`)}try{dG.closeAll()}catch(e){A(`warn`,`watcherRegistry close failed: ${e.message}`)}try{gG.flush()}catch(e){A(`warn`,`sessionState flush failed: ${e.message}`)}Yi(Ke(),t.pid),DG!==null&&pa(DG,t.pid,ua,e=>r.unlinkSync(e)),t.exit(e)}}function BG(e){LG++,lG.inFlight=LG;let t=!1,n=(n,r)=>{if(t){r!==null&&A(`warn`,`exit-after-flush dropped: an earlier responder settled this socket`);return}t=!0;let i=r===null?void 0:()=>zG(r);try{e.end(mt(n),i)}catch(e){A(`warn`,`response write failed: ${e.message}`),i?.()}},r=!1,i=setTimeout(()=>{r=!0,lG.requestsTimedOut++,n({ok:!1,error:`request exceeded 200ms`,code:`TIMEOUT`,daemonV:3},null)},200),a=ht(e=>{UG(e,()=>r).then(e=>n(e.resp,e.exitAfterFlush)).catch(e=>{A(`error`,`handler threw: ${y(e)}`),n(HG(e),null)})},e=>{A(`warn`,`frame parse failed: ${e.message}`),n({ok:!1,error:e.message,code:`BAD_REQUEST`,daemonV:3},null)});e.on(`data`,a),e.on(`error`,e=>{A(`warn`,`socket error: ${e.message}`)}),e.on(`close`,()=>{clearTimeout(i),LG=Math.max(0,LG-1),lG.inFlight=LG})}const VG=e=>({resp:e,exitAfterFlush:null}),HG=e=>({ok:!1,error:e instanceof Error?e.message:y(e),code:`RENDER_FAILED`,daemonV:3});async function UG(e,t){if(!e||typeof e!=`object`||typeof e.v!=`number`)return VG({ok:!1,error:`malformed request`,code:`BAD_REQUEST`,daemonV:3});if(e.v!==3)return e.v>3?A(`info`,`version mismatch: client=${e.v} > daemon=3; binary likely upgraded — exiting after the response flushes`):A(`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 VG({ok:!0,stats:lG.snapshot({gitCache:pG.getStats(),usageCache:mG.getStats(),renderCacheSize:xG.size,effectCache:yG.getStats(),watchersActive:dG.size(),nextRestartReason:PG?.describeNextRestart()??null,handlerProbes:uG.list()})});if(e.kind===`render`){lG.requestsTotal++;let n=new Date,r=yw(n),i=n.getTime(),a=[],o=await ZG(e,r,a).catch(e=>({outcome:{kind:`threw`,error:e},resp:HG(e)}));o.outcome.kind!==`ok`&&lG.requestsErrored++,rG(a,{timedOut:t()?`Y`:`N`});let{level:s,line:c}=cG(a,o.outcome,Date.now()-i);return A(s,c),VG(o.resp)}if(e.kind===`click`)return VG(XG(e.verb,e.value,O(e.clientVersion)));if(e.kind===`debug`){if(!eG(e.what))return VG({ok:!1,error:`unknown debug 'what': ${String(e.what)} (have: ${$W.join(`, `)})`,code:`BAD_REQUEST`,daemonV:3});let t=xG.firstState(),n=t===null?null:{store:t.store,registry:t.registry,config:t.config,compiled:t.compiled,lastRenderBySegment:e.what===`segments`?JG(t.lastRenderCellsBySegment,t.config.globals.charset??`unicode`,t.config.globals.colorCompatibility??`truecolor`):qG};return VG({ok:!0,debug:HW(e.what,n)})}return VG({ok:!1,error:`unknown kind`,code:`BAD_REQUEST`,daemonV:3})}function WG(e,t){let{values:n,tokens:r}=b({args:e.slice(1),options:{config:{type:`string`}},strict:!1,tokens:!0,allowPositionals:!0}),i=[...new Set((r??[]).filter(e=>e.kind===`option`&&e.name!==`config`).map(e=>`--${e.name}`))];return{configFile:dP(t,n.config),unknownFlagsError:i.length>0?`Unknown flags: ${i.join(`, `)}`:null}}const GG={sessionState:gG,dlog:A,applyUpdate:()=>TG.act(),doctor:YH(e=>{let t=[e.projectDir,e.cwd,e.configFile??void 0];xG.reload(...t);let n=xG.getOrCreate(...t);return{layers:n.configLayers,error:n.lastError,warning:n.lastWarning,unused:n.state.unused,config:n.state.config}}),probes:uG,memento:hG,claudeInput:MU(),history:_G,navigation:vG,configFor:e=>xG.getOrCreate(e.projectDir,e.cwd,e.configFile??void 0).state.config,reloadConfig:e=>xG.reload(e.projectDir,e.cwd,e.configFile??void 0)};GG.reloadConfig;const KG={endcaps:`powerline`,colorCompatibility:`truecolor`,wrap:!0,padding:1,charset:zp,width:1/0},qG=new Map;function JG(e,t,n){let r=new Map;for(let[i,a]of e)r.set(i,Om(a,{...KG,charset:t,colorCompatibility:n}));return r}const YG={...fG,history:e=>_G.depth(e)};function XG(e,t,n){let r=PW.get(e);if(!r)return{ok:!1,error:`unknown click verb: ${e}`,code:`BAD_REQUEST`,daemonV:3};try{return r(t,{...GG,clientVersion:n}),{ok:!0,output:``}}catch(e){let t=e instanceof q?`BAD_REQUEST`:`RENDER_FAILED`;return{ok:!1,error:String(e instanceof Error?e.message:e),code:t,daemonV:3}}}async function ZG(e,t,n){let{report:r}=RW(e.hookData);for(let e of r.unknownTopLevelFields)A(`info`,`schema: unknown field '${e}' — Anthropic may have added it`);let i=[];for(let e of r.missingRequired)i.push(`missing required field '${e}'`);for(let{path:e,expected:t,got:n}of r.typeMismatches)i.push(`field '${e}' expected ${t}, got ${n}`);if(f(e.cwd)||i.push(`request 'cwd' is not an absolute path: "${e.cwd}"`),i.length>0)return{outcome:{kind:`bad-request`,problems:i},resp:{ok:!1,error:`malformed hookData: ${i.join(`; `)}`,code:`BAD_REQUEST`,daemonV:3}};rG(n,{sid:e.hookData.session_id,at:t.toFixed(3)});let a=e.hookData.workspace.project_dir,{configFile:o,unknownFlagsError:s}=WG(e.args,e.cwd),c=e.hookData.session_id,l=it(e),u=at(e,l),d=ot(u);rG(n,{termCols:String(l.termCols??`?`),termRows:String(l.termRows??`?`),refused:u.map(e=>e.hint).join(`,`)||`-`});let p=JSON.stringify(l);gG.get(c,`client-hints`)!==p&&gG.set(c,bW,p);let m=gG.get(c,`config-override`)??o??l.configEnv,h=xG.getOrCreate(a,e.cwd,m),g=XU({projectDir:a,cwd:e.cwd,configFile:m??null});gG.get(c,`render-origin`)!==g&&gG.set(c,YU,g);let _=l.termCols,v=tG(_??120),y=km(l.termRows);rG(n,{width:String(v)});let{authoredRoots:b}=h.state,x=t=>gG.get(e.hookData.session_id,t),S=iI(h.state.config,x,e=>b.has(e)),C=await CI(e.hookData,t,{...YG,navigation:e=>vG.depth(e,gG,pL(h.state.config))},e.cwd,h.state.neededInputPaths(S.preset),S,l,{...eL(h.state.config,h.state.fileHeldSettings,x),configPath:h.configLayers.includes(h.configHome)?h.configHome:null});rG(n,{prompts:String(C.metrics?.messageCount??`-`),nonPrompts:String(C.metrics?.nonPrompts??`-`),pr:lI(C.git)});let ee=[],te=aI(S,v),ne=yG.of(c),re=HB(h.state.config,h.state.compiled,h.state.store,h.state.registry,C,t,te,{perSegmentSink:h.state.lastRenderCellsBySegment,onRenderWarning:e=>ee.push(e)},{...oI(S),effects:ne}),ie=gG.get(e.hookData.session_id,`click.error`);ie&&gG.clear(e.hookData.session_id,`click.error`);let ae=[s,d,h.lastError,ie].filter(Boolean).join(`
|
|
180
|
+
`),w=TG.notice({sessionId:c,dismissed:gG.get(c,yL),enabled:S.updateNotice}),T=h.lastError===null?null:h.failedFile,oe=[...h.lastWarning===null?[]:[{kind:`load`,message:h.lastWarning}],...ee],E=Pm(ae,w,oe.map(e=>e.message).join(`
|
|
181
|
+
`)),se=bG.sync(c,E===null?null:Im(E));se!==null&&A(`warn`,`diagnostic dump failed: ${se}`);let ce=Lm(re,E,{fullText:se===null?{kind:`file`,path:bG.pathFor(c)}:{kind:`unavailable`,reason:se},failedConfigFile:T},{width:v,rowCap:y,colorCompatibility:S.colorCompatibility}),le=pG.getStats(),ue=mG.getStats(),de=ne.lastFrame(),fe=de.own.map(e=>`${e.placement}:${e.effect}@${e.t.toFixed(3)}`).join(`,`)||`-`,pe=e=>e.map(e=>`${e.placement}@${e.t.toFixed(3)}`).join(`,`)||`-`,me=oe.map(e=>{switch(e.kind){case`rule`:return`rule:${e.slot}`;case`load`:case`band-floor`:case`when`:return e.kind}}).join(`,`)||`-`;return rG(n,{git:`${le.size}/${le.hits}h/${le.misses}m`,usage:`${ue.size}/${ue.hits}h/${ue.misses}m`,effect:de.effect,effectT:de.t.toFixed(3),effectRows:`${de.made}made/${de.reused}reused`,effectOwn:fe,fadeBasis:de.basis,stateRev:String(de.revision),fades:pe(de.fades),leaves:pe(de.leaves),err:ae?`Y`:`N`,upd:String(w.length),warn:me}),{outcome:{kind:`ok`},resp:{ok:!0,output:ce+`
|
|
182
|
+
`}}}const QG={connectMs:200,budgetMs:500};async function $G(e,n){let r=n.includes(`--json`),i=await eK(e);if(i.kind!==`ok`&&(t.stderr.write(`${e}: ${St(i)}\n`),t.exit(1)),r){t.stdout.write(JSON.stringify(i.value,null,2)+`
|
|
183
|
+
`);return}t.stdout.write(tK(i.value))}function eK(e){return k({kind:`debug`,what:e},QG,e=>`debug`in e?e.debug:void 0)}function tK(e){switch(e.what){case`vars`:return nK(e.vars);case`segments`:return rK(e.segments);case`config`:return iK(e.config);default:return e}}function nK(e){if(e.length===0)return`no variables (DSL not active)
|
|
184
|
+
`;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?``:` ${oK(a.ageMs)}`,o=a.lastError?` ✗ ${a.lastError.message}`:``;t.push(` ${a.name.padEnd(n)} ${(a.source??`—`).padEnd(r)} ${a.type.padEnd(i)} ${aK(a.value)}${e}${o}`)}return t.join(`
|
|
217
185
|
`)+`
|
|
218
|
-
`}function
|
|
186
|
+
`}function rK(e){if(e.length===0)return`no segments (DSL not active)
|
|
219
187
|
`;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(`
|
|
220
188
|
`)+`
|
|
221
|
-
`}function
|
|
189
|
+
`}function iK(e){return e===null?`config: DSL not active
|
|
222
190
|
`:JSON.stringify(e,null,2)+`
|
|
223
|
-
`}function
|
|
191
|
+
`}function aK(e){let t=typeof e==`string`?e:JSON.stringify(e);return t.length>60?t.slice(0,57)+`…`:t}function oK(e){return e<1e3?`${e}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${Math.floor(e/6e4)}m`}function sK(){let e=lK();return e===null?null:r.readFileSync(e,`utf-8`)}function cK(){let e;try{e=sK()}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 lK(){let e=l.join(`schema`,`cc-candybar.schema.json`),n=t.argv[1];if(n===void 0)return null;let i=l.dirname(l.resolve(n));for(;;){let t=l.join(i,e);if(r.existsSync(t))return t;let n=l.dirname(i);if(n===i)return null;i=n}}function uK(e,t){return dP(t,e.CC_CANDYBAR_CONFIG)}const dK=5e3;function fK(e,t,n){let r=`/home/tester`,i=Math.floor(n),a=`test0a1b-2c3d-4e5f-6a7b-8c9d0e1f2a3b`,o={current_dir:`${r}/code/cc-candybar/src`,project_dir:`${r}/code/cc-candybar`,added_dirs:[]};return{hook_event_name:`Status`,session_id:a,version:`1.15.0`,home:r,cwd:`${r}/code/cc-candybar/src`,transcript_path:`${r}/.claude/projects/x/test.jsonl`,model:{id:`claude-opus-4-8`,display_name:`Opus 4.8`},workspace:o,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`,tracking:`tracked`,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:i+2*3600},weekly:{percentage:21,resetsAt:i+5*86400},cache:{expiresAt:i+900},tmux:{pane:`%0`,session:`work`},host:{name:`tester-box`,user:`tester`,ssh:!0},autocompact:nO(4e5,1e6),...sI(e),history:{undo:1,redo:1,sinceEdit:1},navigation:{back:1},unsaved:1,resettable:xa(()=>!0),themeDefault:{differs:!0,theme:`<theme>`},resumeCommand:rI(o,a,void 0),configPath:t??`${r}/.config/cc-candybar/config.json5`}}function pK(e,t){let n=WP(e,e),r=qP(n);return r!==null&&t.push(r),n.kind===`chain`?n.layers:[]}async function mK(e,n=t.cwd()){let i=[],a=dP(n,e)??null,o=a===null?pK(n,i):[a];if(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 s=YP(n,n);s!==null&&i.push(s);try{return{kind:`clean`,layers:o,warnings:i,rendered:await _K(o,n,i)}}catch(e){let t=e;return typeof t==`object`&&t&&typeof t.code==`string`&&typeof t.path==`string`&&o.includes(t.path)&&typeof t.message==`string`?{kind:`unreadable`,path:t.path,message:t.message}:(e instanceof Yw&&i.push(...e.warnings),{kind:`fatal`,layers:o,message:e instanceof Yw||e instanceof Error?e.message:String(e),warnings:i})}}async function hK(e,t,n){let r=nF(e,TF,{entered:()=>{},warned:e=>n.push(...e)},{projectDir:t,cwd:t}),{config:i}=r,a=new eV,o=new Uw(a,i.globals.default_empty_value??``,void 0,new mV);try{let s=IB(i,o,{cwd:t});n.push(...s.loadWarnings);let c=await o.settled(dK);return c.length>0&&n.push(`source${c.length===1?``:`s`} still running after ${dK} ms, rendered with fallback values: ${c.join(`, `)}`),{layers:e,droppedPlugins:[...r.installed.dropped,...r.layers.flatMap(e=>e.plugins.dropped)],config:i,compiled:s,store:a,registry:o}}catch(e){throw o.dispose(),e}}function gK({layers:e,config:t,compiled:n,store:r,registry:i},a,o,s){let c=new Map,l=new Set;return{rendered:HB(t,n,r,i,fK(a,e.at(-1)??null,s),s,aI(a,o),{onSegmentError:(e,t)=>c.set(`segment "${e}"`,t),onRenderWarning:e=>{switch(e.kind){case`rule`:c.set(`${e.slot} rule`,e.message);return;case`when`:c.set(e.where,e.error);return;case`band-floor`:l.add(e.message);return;default:}}},oI(a)),failures:c,advisories:l}}async function _K(e,t,n){let r=await hK(e,t,n),{config:i}=r,a=yw(new Date);try{let e=PL();try{pL(i),NA(i)}finally{e()}let t=Yh(null,i.globals.preset,i.presets),o=(e,t)=>{let n=iI(i,t=>t===`preset`?e:null,()=>t),o;try{o=gK(r,n,200,a)}catch(e){o={failures:new Map([[`render`,e instanceof Error?e.message:String(e)]]),advisories:new Set}}return{preset:e,customized:t,...o}},s=o(t,!1),c=[s,o(t,!0),...Jh(i.presets).filter(e=>e!==t).flatMap(e=>[o(e,!1),o(e,!0)])],l=e=>{let n=new Map;for(let t of c)for(let r of e(t)){let e=n.get(r)??new Map;e.set(t.preset,(e.get(t.preset)??new Set).add(t.customized)),n.set(r,e)}return[...n].map(([e,n])=>n.get(t)?.has(!1)?e:`${e} (under ${[...n].map(([e,n])=>[...e===t?[]:[`preset "${e}"`],...n.has(!1)?[]:[`.preset.customized = true`]].join(`, `)).join(`; `)})`)};n.push(...l(e=>e.advisories));let u=l(e=>[...e.failures].map(([e,t])=>`${e}: ${t}`)),d=s.rendered,f=r.droppedPlugins.length,p=[...f>0?[`${f} plugin${f===1?``:`s`} did not load (named in the warnings)`]:[],...u.length>0||d===void 0?[`config renders with ${u.length} render error${u.length===1?``:`s`} (the daemon would show them on the bar):\n`+u.map(e=>` ${e}`).join(`
|
|
224
192
|
`)]:[]];if(p.length>0||d===void 0)throw Error(p.join(`
|
|
225
|
-
`));return d}finally{r.registry.dispose()}}function
|
|
226
|
-
`,kick:!0,debug:`daemon unavailable (transient: ${e.cause}: ${e.message}) — kicking daemon`};case`permanent`:return{output:
|
|
193
|
+
`));return d}finally{r.registry.dispose()}}function vK(e){return e.map(e=>`warning: ${e}\n`).join(``)}function yK(e,t=!1){switch(e.kind){case`clean`:return{stdout:`✓ ${e.layers.join(` < `)||`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:vK(e.warnings),code:0};case`fatal`:return{stdout:``,stderr:vK(e.warnings)+`✗ ${e.layers.join(` < `)||`<default>`}\n${e.message}\n`,code:1};case`unreadable`:return{stdout:``,stderr:`check: cannot read ${e.path}: ${e.message}\n`,code:2}}}const bK=`--render`,xK=`Usage: cc-candybar check [${bK}] [config-file]\n`;function SK(e){let t=e.filter(e=>e.startsWith(`--`)),n=e.filter(e=>!e.startsWith(`--`)),r=t.filter(e=>e!==bK);return r.length>0?{kind:`usage`,message:`check: unknown option ${r.join(` `)}\n${xK}`}:n.length>1||n[0]===``?{kind:`usage`,message:`check: expected at most one non-empty path\n${xK}`}:{kind:`run`,target:n[0],render:t.includes(bK)}}async function CK(e){let n=SK(e),r=n.kind===`usage`?{stdout:``,stderr:n.message,code:2}:yK(await mK(n.target??uK(t.env,t.cwd())),n.render);t.stdout.write(r.stdout),t.stderr.write(r.stderr),t.exit(r.code)}const wK=`${Kd}${Gd}`;function TK(e){return`${wK}⚠ cc-candybar: ${EK(e)}[0m\n`}function EK(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: ${Wd(e.message,60)}`;case`render_failed`:return`render failed: ${Wd(e.message,60)}`;case`malformed_response`:return`malformed daemon response: ${Wd(e.message,60)}`}}function DK(e){switch(e.kind){case`ok`:return{output:e.value,kick:!1,debug:null};case`transient`:return{output:`
|
|
194
|
+
`,kick:!0,debug:`daemon unavailable (transient: ${e.cause}: ${e.message}) — kicking daemon`};case`permanent`:return{output:TK(e),kick:!1,debug:`daemon refused request (permanent: ${e.cause}) — not kicking`}}}function OK(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 kK=[`SSH_CONNECTION`,`SSH_CLIENT`,`SSH_TTY`];function AK(e,t,n){return{termCols:OK(e.COLUMNS,n.columns),termRows:OK(e.LINES,n.rows),ssh:kK.some(t=>(e[t]??``)!==``),tmux:wD(e),configEnv:uK(e,t),claudeConfigDir:ii(e,t),mementoEnv:nt(e,t)}}const jK=` (fix: click the settings menu (${Jn} by default) › 🧰 tools › 🩺 doctor, then [fix] on the bar)`;function MK({check:e,verdict:t}){return t.ok?`✓ ${e.label}\n`:`✗ ${e.label} — ${t.reason}${t.fix===void 0?``:jK}\n`+(t.more??[]).map(e=>` ${e}\n`).join(``)}function NK(e){let t={sessionState:new mV},n=sV(e.projectDir,e.cwd,e.configFile??void 0,t),r=n.state??cV(e.cwd,e.projectDir,t);return r.registry.dispose(),{layers:n.layers,error:n.error,warning:n.warning,unused:r.unused,config:r.config}}async function PK(e,t,n,r,i=void 0){let a;try{a={...tU(e,{tmux:wD(n),claudeConfigDir:ii(n,r)},{projectDir:r,cwd:r,configFile:dP(r,i)??uK(n,r)??null},()=>null),urlHandler:await _U(t)}}catch(e){return{stdout:``,stderr:`doctor: ${e instanceof Error?e.message:String(e)}\n`,code:2}}let o=ND(a);return{stdout:o.map(MK).join(``),stderr:``,code:+!o.every(e=>e.verdict.ok)}}async function FK(e){(e.length>1||e[0]===``||e[0]?.startsWith(`--`))&&(t.stderr.write(`doctor: expected at most one config file
|
|
227
195
|
Usage: cc-candybar doctor [config-file]
|
|
228
|
-
`),t.exit(2));let n=t.cwd(),r=await
|
|
196
|
+
`),t.exit(2));let n=t.cwd(),r=await PK(YH(NK),xU(),t.env,n,e[0]);t.stdout.write(r.stdout),t.stderr.write(r.stderr),t.exit(r.code)}const IK=e=>e.some(e=>t.argv.includes(e));function LK(){console.log(xD)}async function RK(){try{IK(yD.help)&&(LK(),t.exit(0)),IK(yD.version)&&(console.log(`cc-candybar ${Ct}`),t.exit(0));let e=t.argv[2];if(e===`install`&&(await Wi(t.argv.slice(3)),t.exit(0)),e===`install-url-handler`&&(zi(),t.exit(0)),e===`url-handle`){await Vi(t.argv[3]);return}if(e===`daemon`){kG();return}if(e===`daemon-stats`&&(await iU(t.argv.slice(3)),t.exit(0)),e===`check`||e===`lint`){await CK(t.argv.slice(3));return}if(e===`schema`){cK();return}if(e===`doctor`){await FK(t.argv.slice(3));return}eG(e)&&(await $G(e,t.argv.slice(3)),t.exit(0)),t.stdin.isTTY===!0&&(console.error(`Error: This tool requires input from Claude Code
|
|
229
197
|
|
|
230
198
|
cc-candybar is designed to be used as a Claude Code statusLine command.
|
|
231
199
|
It reads hook data from stdin and outputs formatted statusline.
|
|
@@ -241,4 +209,4 @@ Add to ~/.claude/settings.json:
|
|
|
241
209
|
Run with --help for more options.
|
|
242
210
|
|
|
243
211
|
To test output manually:
|
|
244
|
-
echo '{"session_id":"test-session","workspace":{"project_dir":"/path/to/project"},"model":{"id":"claude-sonnet-4-5","display_name":"Claude"}}' | cc-candybar`),t.exit(1)),D(`Working directory: ${t.cwd()}`),D(`Process args:`,t.argv);let r=await n(t.stdin);D(`Received hook data:`,JSON.stringify(r,null,2)),r||(console.error(`Error: No input data received from stdin`),
|
|
212
|
+
echo '{"session_id":"test-session","workspace":{"project_dir":"/path/to/project"},"model":{"id":"claude-sonnet-4-5","display_name":"Claude"}}' | cc-candybar`),t.exit(1)),D(`Working directory: ${t.cwd()}`),D(`Process args:`,t.argv);let r=await n(t.stdin);D(`Received hook data:`,JSON.stringify(r,null,2)),r||(console.error(`Error: No input data received from stdin`),LK(),t.exit(1));let i=DK(await Dt(r,t.argv,t.cwd(),AK(t.env,t.cwd(),t.stderr)));i.debug!==null&&D(i.debug),i.kick&&M(),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)}}RK();export{};
|