isorite 0.18.0 → 0.18.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.
Files changed (32) hide show
  1. package/dist/main.js +37 -7
  2. package/package.json +1 -1
  3. package/web/_app/immutable/assets/0.i592VXJM.css +1 -0
  4. package/web/_app/immutable/chunks/Co7i-dcu.js +1 -0
  5. package/web/_app/immutable/chunks/{CL9QeiGC.js → CqmdC7Q3.js} +2 -2
  6. package/web/_app/immutable/chunks/D4nFtMQC.js +1 -0
  7. package/web/_app/immutable/chunks/{DyZdoKBK.js → DdegnILL.js} +1 -1
  8. package/web/_app/immutable/chunks/DjN194Ef.js +1 -0
  9. package/web/_app/immutable/chunks/{BFOLKM4z.js → lSTs4h6V.js} +1 -1
  10. package/web/_app/immutable/chunks/{D7yT4F_8.js → ufOJrCuz.js} +1 -1
  11. package/web/_app/immutable/entry/{app.CyEmP0i2.js → app.BRzQKhKX.js} +2 -2
  12. package/web/_app/immutable/entry/start.-f1rSSM0.js +1 -0
  13. package/web/_app/immutable/nodes/0.i_AjenOL.js +11 -0
  14. package/web/_app/immutable/nodes/{1.kdx6h8ts.js → 1.D6qHWJUF.js} +1 -1
  15. package/web/_app/immutable/nodes/2.BPWtlg8V.js +1 -0
  16. package/web/_app/immutable/nodes/3.DaRPyiq0.js +1 -0
  17. package/web/_app/immutable/nodes/{4.DzS8oPUH.js → 4.CkZ28L5K.js} +1 -1
  18. package/web/_app/immutable/nodes/5.6ZCfORwJ.js +22 -0
  19. package/web/_app/immutable/nodes/6.B9EIxq5B.js +1 -0
  20. package/web/_app/immutable/nodes/{7.CCNCaItj.js → 7.DGJflKit.js} +1 -1
  21. package/web/_app/version.json +1 -1
  22. package/web/index.html +14 -14
  23. package/web/_app/immutable/assets/0.BGpjfMlq.css +0 -1
  24. package/web/_app/immutable/chunks/Bg-39frG.js +0 -1
  25. package/web/_app/immutable/chunks/BleKqNM1.js +0 -1
  26. package/web/_app/immutable/chunks/DQp-M3XN.js +0 -1
  27. package/web/_app/immutable/entry/start.BxCHvKWL.js +0 -1
  28. package/web/_app/immutable/nodes/0.Bkbiw_sA.js +0 -11
  29. package/web/_app/immutable/nodes/2.CtK7BGB8.js +0 -1
  30. package/web/_app/immutable/nodes/3.D5PZa2kH.js +0 -1
  31. package/web/_app/immutable/nodes/5.B-1BDKsL.js +0 -19
  32. package/web/_app/immutable/nodes/6.DDT1DtCg.js +0 -1
package/dist/main.js CHANGED
@@ -2519,7 +2519,8 @@ function knownBases(config = configPath()) {
2519
2519
  name,
2520
2520
  path: expand(row.path),
2521
2521
  lend: row.lend === true,
2522
- ...typeof row.used === "string" ? { used: row.used } : {}
2522
+ ...typeof row.used === "string" ? { used: row.used } : {},
2523
+ ...typeof row.title === "string" && row.title ? { title: row.title } : {}
2523
2524
  }] : [];
2524
2525
  });
2525
2526
  }
@@ -2557,6 +2558,19 @@ function rememberBase(folder, { path = configPath(), as, lend } = {}) {
2557
2558
  writeConfig(bases, basesPath(path));
2558
2559
  return name;
2559
2560
  }
2561
+ /** Give a known base a title to be shown by (M37), or take it back with an empty one: its name stays, as it is the base's
2562
+ * address and what the agent's sessions know it by. False when there is no base of that name. */
2563
+ function titleBase(name, title, path = configPath()) {
2564
+ const bases = readConfig(basesPath(path));
2565
+ if (!BASE_NAME.test(name) || !bases[name]) return false;
2566
+ const { title: _was, ...rest } = table(bases[name]);
2567
+ bases[name] = {
2568
+ ...rest,
2569
+ ...title.trim() ? { title: title.trim() } : {}
2570
+ };
2571
+ writeConfig(bases, basesPath(path));
2572
+ return true;
2573
+ }
2560
2574
  /** Lend a known base to every session, or stop lending it. False when there is no base of that name. */
2561
2575
  function lendBase(name, lend, path = configPath()) {
2562
2576
  const bases = readConfig(basesPath(path));
@@ -5472,7 +5486,8 @@ var Bases = class {
5472
5486
  name: b.name,
5473
5487
  path: b.path,
5474
5488
  lend: b.lend,
5475
- open: this.#ready.has(b.name)
5489
+ open: this.#ready.has(b.name),
5490
+ title: b.title ?? b.name
5476
5491
  }));
5477
5492
  }
5478
5493
  async lend(name, on) {
@@ -5480,6 +5495,9 @@ var Bases = class {
5480
5495
  if (on) await this.get(name);
5481
5496
  return true;
5482
5497
  }
5498
+ title(name, title) {
5499
+ return titleBase(name, title, this.#config);
5500
+ }
5483
5501
  async open(path) {
5484
5502
  const name = rememberBase(resolve(path), { path: this.#config });
5485
5503
  await this.get(name);
@@ -6693,7 +6711,7 @@ var AcpFollower = class {
6693
6711
  };
6694
6712
  //#endregion
6695
6713
  //#region packages/server/src/version.ts
6696
- const VERSION = "0.18.0";
6714
+ const VERSION = "0.18.1";
6697
6715
  //#endregion
6698
6716
  //#region packages/server/src/connect.ts
6699
6717
  const HARNESSES = [{
@@ -6719,9 +6737,13 @@ const HARNESSES = [{
6719
6737
  ]
6720
6738
  }]
6721
6739
  }];
6722
- /** Where the base's harness config goes: its repository, or the base's own folder when it is in none. */
6740
+ /** Where the base's harness config goes: its repository; in none, the folder holding a base named `notes` (what
6741
+ * `isorite` makes in a project, M37), so agents are started in the project and not in its notes; else the base's own
6742
+ * folder. Never a home folder or the root, which only look like a project's. */
6723
6743
  function projectOf(notes) {
6724
- const repo = repoOf(notes) ?? notes;
6744
+ const up = dirname(resolve(notes));
6745
+ const beside = basename(notes) === "notes" && up !== homedir() && dirname(up) !== up;
6746
+ const repo = repoOf(notes) ?? (beside ? up : notes);
6725
6747
  return {
6726
6748
  repo,
6727
6749
  rel: relative(repo, notes).split(sep).join("/") || "."
@@ -7600,6 +7622,14 @@ function createApp({ api, token, loopback, web, allowHosts = [], notes, acp, ter
7600
7622
  if (!await bases.lend(b.name, b.lend)) throw new EngineError(`no base ${b.name} is known here`, 404);
7601
7623
  return { bases: bases.list() };
7602
7624
  });
7625
+ post("/api/bases/title", z.object({
7626
+ name: z.string().max(40),
7627
+ title: z.string().max(60)
7628
+ }).strict(), async (c, b) => {
7629
+ mine(c);
7630
+ if (!bases.title(b.name, b.title)) throw new EngineError(`no base ${b.name} is known here`, 404);
7631
+ return { bases: bases.list() };
7632
+ });
7603
7633
  post("/api/bases/open", z.object({ path: z.string().min(1).max(4e3) }).strict(), async (c, b) => {
7604
7634
  mine(c);
7605
7635
  if (!isAbsolute(b.path) || !existsSync(b.path) || !statSync(b.path).isDirectory()) throw new EngineError(`no folder at ${b.path}`, 404);
@@ -11733,7 +11763,7 @@ function main(argv) {
11733
11763
  if (command === "check" && rest.find((r) => !r.startsWith("--"))) return check(rest.find((r) => !r.startsWith("--")), console.log, rest.includes("--unused"), rest.includes("--fix"));
11734
11764
  if (command === "new" && rest[0]) {
11735
11765
  const made = newBase(rest[0]);
11736
- const next = `${made}: a knowledge base, empty. Open it in the browser, and attach your agent from Iso's pane:\n isorite serve ${made}`;
11766
+ const next = `${made}: a knowledge base, empty. Open it in the browser, and attach your agent from the Agent pane:\n isorite serve ${made}`;
11737
11767
  if (process.stdin.isTTY && process.stdout.isTTY && repoOf(made)) return (async () => {
11738
11768
  const { createInterface } = await import("node:readline/promises");
11739
11769
  const rl = createInterface({
@@ -11783,7 +11813,7 @@ function main(argv) {
11783
11813
  });
11784
11814
  }
11785
11815
  if (command === "term" || command === "opencode") {
11786
- console.error("isorite term and isorite opencode are retired: attach OpenCode as any agent, from Iso's pane or with isorite acp --agent \"opencode acp\", or give it isorite's MCP (isorite doctor offers the project's config)");
11816
+ console.error("isorite term and isorite opencode are retired: attach OpenCode as any agent, from the Agent pane or with isorite acp --agent \"opencode acp\", or give it isorite's MCP (isorite doctor offers the project's config)");
11787
11817
  return 2;
11788
11818
  }
11789
11819
  if (command === "mcp") {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "isorite",
3
- "version": "0.18.0",
3
+ "version": "0.18.1",
4
4
  "description": "An agentic harness for understanding: your notes as a knowledge base, an Atlas of them, an agent that reads them, and study.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -0,0 +1 @@
1
+ @font-face{font-family:Lyth Mono;font-style:normal;font-weight:100 550;font-display:swap;src:url(../../../fonts/lyth-mono-latin-regular.woff2)format("woff2")}@font-face{font-family:Lyth Mono;font-style:italic;font-weight:100 550;font-display:swap;src:url(../../../fonts/lyth-mono-latin-italic.woff2)format("woff2")}@font-face{font-family:Lyth Mono;font-style:normal;font-weight:551 900;font-display:swap;src:url(../../../fonts/lyth-mono-latin-bold.woff2)format("woff2")}@font-face{font-family:Lyth Mono;font-style:italic;font-weight:551 900;font-display:swap;src:url(../../../fonts/lyth-mono-latin-bolditalic.woff2)format("woff2")}@font-face{font-family:Charter;font-style:normal;font-weight:400;font-display:swap;src:url(../../../fonts/charter-regular.woff2)format("woff2")}@font-face{font-family:Charter;font-style:italic;font-weight:400;font-display:swap;src:url(../../../fonts/charter-italic.woff2)format("woff2")}@font-face{font-family:Charter;font-style:normal;font-weight:700;font-display:swap;src:url(../../../fonts/charter-bold.woff2)format("woff2")}@font-face{font-family:Charter;font-style:italic;font-weight:700;font-display:swap;src:url(../../../fonts/charter-bold-italic.woff2)format("woff2")}@font-face{font-family:Math Charter;font-style:normal;font-weight:400;font-display:swap;src:url(../../../fonts/charter-regular.woff2)format("woff2");unicode-range:U+30-39,U+41-5A,U+61-7A;size-adjust:92.6%}@font-face{font-family:Math Charter;font-style:italic;font-weight:400;font-display:swap;src:url(../../../fonts/charter-italic.woff2)format("woff2");unicode-range:U+30-39,U+41-5A,U+61-7A;size-adjust:92.6%}@font-face{font-family:Math Charter;font-style:normal;font-weight:700;font-display:swap;src:url(../../../fonts/charter-bold.woff2)format("woff2");unicode-range:U+30-39,U+41-5A,U+61-7A;size-adjust:92.6%}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ground-0:#07101c;--ground-1:#0c1828;--ground-2:#122238;--ground-3:#1a3150;--line:#23395a;--line-strong:#5c7ba6;--text:#e9eef5;--text-soft:#b4c0d2;--text-faint:#8796ad;--lattice:#6ba6ff;--lattice-deep:#2d6be0;--growth:#f0be4a;--growth-deep:#c28f1e;--malachite:#5fd3a4;--malachite-deep:#1f8f68;--rose:#ff8fa6;--soft:16%;--requires:#b79cff;--builds:#ff9e64;--lattice-soft:color-mix(in srgb, var(--lattice) var(--soft), var(--ground-1));--growth-soft:color-mix(in srgb, var(--growth) var(--soft), var(--ground-1));--malachite-soft:color-mix(in srgb, var(--malachite) var(--soft), var(--ground-1));--rose-soft:color-mix(in srgb, var(--rose) var(--soft), var(--ground-1));--font-text:"Charter", "Bitstream Charter", Georgia, serif;--font-ui:"Lyth Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--font-mono:var(--font-ui);--font-pixel:"Lyth Mono", ui-monospace, monospace;--text-size:18px;--measure:820px;--sheen:255 248 225;--sheen-k:1;--t-ack:.12s;--t-change:.26s;--t-result:.6s;--ease-out:cubic-bezier(.2, .7, .2, 1);--ease-in:cubic-bezier(.6, 0, .8, .3);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px}:root[data-ground=quartz]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ground-0:#f2f0ea;--ground-1:#f8f7f3;--ground-2:#fff;--ground-3:#e6e4dc;--line:#d3d0c5;--line-strong:#7f7d70;--text:#0e1726;--text-soft:#3b475b;--text-faint:#5b677a;--lattice:#1e4fb8;--lattice-deep:#2a62d8;--growth:#8c6200;--growth-deep:#d9a21b;--malachite:#0b6b4a;--malachite-deep:#2fa37a;--rose:#a81e48;--requires:#6a3fc0;--builds:#b5521b;--soft:10%;--sheen:14 23 38;--sheen-k:.55}@media (prefers-color-scheme:light){:root:not([data-ground=lapis]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ground-0:#f2f0ea;--ground-1:#f8f7f3;--ground-2:#fff;--ground-3:#e6e4dc;--line:#d3d0c5;--line-strong:#7f7d70;--text:#0e1726;--text-soft:#3b475b;--text-faint:#5b677a;--lattice:#1e4fb8;--lattice-deep:#2a62d8;--growth:#8c6200;--growth-deep:#d9a21b;--malachite:#0b6b4a;--malachite-deep:#2fa37a;--rose:#a81e48;--requires:#6a3fc0;--builds:#b5521b;--soft:10%;--sheen:14 23 38;--sheen-k:.55}}*,:before,:after{box-sizing:border-box}html,body{height:100%}body{background:var(--ground-0);color:var(--text);font:13px/1.5 var(--font-ui);-webkit-text-size-adjust:100%;margin:0}h1,h2,h3,p{margin:0}a{color:var(--lattice);text-decoration:none}a:hover{color:var(--lattice-deep);text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--lattice);outline-offset:2px}:focus-visible:not(input,textarea,select,[contenteditable]){outline:none}.brackets{z-index:1000;pointer-events:none;--b:var(--text);--l:7px;--w:1.5px;background:linear-gradient(var(--b), var(--b)) top left / var(--l) var(--w) no-repeat, linear-gradient(var(--b), var(--b)) top left / var(--w) var(--l) no-repeat, linear-gradient(var(--b), var(--b)) top right / var(--l) var(--w) no-repeat, linear-gradient(var(--b), var(--b)) top right / var(--w) var(--l) no-repeat, linear-gradient(var(--b), var(--b)) bottom left / var(--l) var(--w) no-repeat, linear-gradient(var(--b), var(--b)) bottom left / var(--w) var(--l) no-repeat, linear-gradient(var(--b), var(--b)) bottom right / var(--l) var(--w) no-repeat, linear-gradient(var(--b), var(--b)) bottom right / var(--w) var(--l) no-repeat;position:fixed}:root{--chosen-cut:polygon(4px 0, 100% 0, 100% calc(100% - 4px), calc(100% - 4px) 100%, 0 100%, 0 4px)}canvas.lustre{z-index:999;pointer-events:none;position:fixed}.vein-row{--glint:.18;position:relative}.vein-row:before,.vein-row:after{content:"";background:var(--lattice);pointer-events:none;position:absolute;left:0}.vein-row:before{transform-origin:top;width:3px;top:0;bottom:0;transform:scaleY(0)}.vein-row:after{transform-origin:0;height:1px;bottom:-1px;right:0;transform:scaleX(0)}.vein-row:hover:before,.vein-row.on:before{transition:transform var(--t-ack) var(--ease-out);transform:scaleY(1)}.vein-row:hover:after,.vein-row.on:after{transition:transform var(--t-change) var(--ease-out) .1s;transform:scaleX(1)}.vein-row.on{background:var(--ground-2)}.vein{color:inherit;background-position:0 100%;background-repeat:no-repeat;background-image:linear-gradient(var(--text-soft), var(--text-soft));background-size:100% 1px;padding-bottom:1px;text-decoration:none;position:relative}.vein.requires{background-image:linear-gradient(var(--lattice), var(--lattice));background-size:100% 2px}.vein.also{background-image:linear-gradient(90deg, var(--text-soft) 50%, transparent 50%);background-repeat:repeat-x;background-size:3px 1px}.vein.web{background-image:linear-gradient(90deg, var(--text-soft) 60%, transparent 60%);background-repeat:repeat-x;background-size:8px 1px}.vein:after{content:"";pointer-events:none;background:linear-gradient(90deg, transparent, rgb(var(--sheen) / .95), transparent) no-repeat -40% 0 / 30% 100%;height:2px;position:absolute;bottom:0;left:0;right:0}.vein *{color:inherit}.vein:hover,.vein.lit{color:var(--lattice);text-decoration:none}.vein:hover:after,.vein.lit:after{transition:background-position var(--t-result) var(--ease-out);background-position:140% 0}@media (prefers-reduced-motion:reduce){.vein-row:before,.vein-row:after,.vein:after{transition:none!important}}::selection{background:color-mix(in srgb, var(--lattice) 40%, transparent)}.soft{color:var(--text-soft)}.faint{color:var(--text-faint)}.grow{flex:1 1 0;min-width:0}.pixel{font-family:var(--font-pixel);font-weight:400;line-height:1}.serif{font-family:var(--font-text)}.label{color:var(--text-faint);font-size:12px}.hidden-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.shell{flex-direction:column;min-height:100dvh;display:flex}.page{flex:auto;min-width:0}.logo{flex:none;display:block;overflow:visible}.logo path{fill:none;stroke:var(--text);stroke-width:.7px;stroke-linecap:round;stroke-linejoin:round}.logo .iso{fill:var(--growth);stroke:none}.logo .right{fill:var(--malachite);stroke:none}.btn,.chip{--cut:6px;--c:calc(var(--cut) * .7071);--fill:var(--ground-3);white-space:nowrap;color:var(--text);background:linear-gradient(var(--fill), var(--fill)) center / calc(100% - 2 * var(--cut)) 100% no-repeat, linear-gradient(135deg, transparent var(--c), var(--fill) 0) left top / var(--cut) var(--cut) no-repeat, linear-gradient(var(--fill), var(--fill)) left bottom / var(--cut) calc(100% - var(--cut)) no-repeat, linear-gradient(var(--fill), var(--fill)) right top / var(--cut) calc(100% - var(--cut)) no-repeat, linear-gradient(315deg, transparent var(--c), var(--fill) 0) right bottom / var(--cut) var(--cut) no-repeat;border:0;align-items:center;gap:8px;display:inline-flex}.btn{height:32px;padding:0 14px;font-size:13px}a.btn:hover{color:var(--text);text-decoration:none}.btn:hover:not(:disabled){--fill:var(--line)}.btn:disabled{color:var(--text-faint);cursor:default}.btn.tall{height:44px;padding:0 18px}.btn.primary{--fill:var(--lattice);color:var(--ground-0);font-weight:700}.btn.primary:hover:not(:disabled){--fill:var(--lattice-deep)}.btn.danger{--fill:var(--rose);color:var(--ground-0);font-weight:700}.btn.keep,.btn.edit,.btn.remove{color:#07101c;font-weight:700}.btn.keep{--fill:#7dddb5}.btn.edit{--fill:#f2c968}.btn.remove{--fill:#f7a8ba}.btn.quiet{--fill:transparent;color:var(--text-soft);padding:0 8px}.btn.quiet:hover:not(:disabled){--fill:var(--ground-2);color:var(--text)}.chip{--cut:4px;height:22px;color:var(--text-soft);padding:0 8px;font-size:12px}.chip.lattice{--fill:var(--lattice-soft);color:var(--lattice)}.chip.growth{--fill:var(--growth-soft);color:var(--growth)}.chip.malachite{--fill:var(--malachite-soft);color:var(--malachite)}.chip.rose{--fill:var(--rose-soft);color:var(--rose)}.frame{--cut:10px;--edge:var(--line-strong);--inside:var(--ground-1);isolation:isolate;background:0 0;border:0;position:relative}.frame:before,.frame:after{content:"";z-index:-2;background:var(--edge);pointer-events:none;--k:var(--cut);clip-path:polygon(var(--k) 0, calc(100% - var(--k)) 0, 100% var(--k), 100% calc(100% - var(--k)), calc(100% - var(--k)) 100%, var(--k) 100%, 0 calc(100% - var(--k)), 0 var(--k));position:absolute;inset:0}.frame:after{z-index:-1;inset:var(--px,1px);background:var(--inside);--k:max(0px, calc(var(--cut) - .586 * var(--px,1px)))}.frame>.frame-title{color:var(--text-faint);background:var(--behind,var(--ground-0));white-space:nowrap;padding:0 6px;font-size:12px;line-height:18px;position:absolute;top:-9px;left:22px}.field{background:var(--ground-2);border:0;border-bottom:1px solid var(--line-strong);min-width:0;height:32px;padding:0 10px}.field::placeholder{color:var(--text-faint)}.field:focus-visible{border-bottom-color:var(--lattice);box-shadow:0 1px 0 var(--lattice);outline:none}.sq{background:var(--lattice);flex:none;width:8px;height:8px;display:inline-block}.sq.empty{border:1px solid var(--line-strong);background:0 0}.dia{background:var(--growth);flex:none;width:8px;height:8px;display:inline-block;transform:rotate(45deg)}.dia.open{border:1.5px solid var(--growth);background:0 0}.dots{background-image:radial-gradient(var(--line) 1px, transparent 1.2px);background-size:24px 24px}.prose{font:var(--text-size)/1.6 var(--font-text)}.prose>:first-child{margin-top:0}.prose p,.prose table{margin:0 0 1em}.prose .table-wrap{margin:0 0 1em;overflow-x:auto}.prose table{border-collapse:collapse;font:14px/1.45 var(--font-ui);width:max-content;min-width:60%;margin:0}.prose th,.prose td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;min-width:7em;max-width:28em;padding:8px 12px 8px 0}.prose th{border-bottom:2px solid var(--text-faint);font-weight:700}.prose .katex-display{padding:4px 0;overflow:auto hidden}.prose eqn,.prose section.eqno{display:block}.prose section.eqno{align-items:center;display:flex}.prose section.eqno>eqn{flex:1}:root{--tok-k:var(--lattice);--tok-k-weight:400;--tok-s:var(--malachite);--tok-n:var(--growth);--tok-t:var(--requires);--tok-c:var(--text-faint)}:root[data-code=ink]{--tok-k:var(--text);--tok-k-weight:700;--tok-s:var(--text-soft);--tok-n:var(--text);--tok-t:var(--text)}.tok-k{color:var(--tok-k);font-weight:var(--tok-k-weight)}.tok-s{color:var(--tok-s)}.tok-n{color:var(--tok-n)}.tok-t{color:var(--tok-t)}.tok-c{color:var(--tok-c);font-style:normal}.code-block{position:relative}.code-block>pre{font:13px/20px var(--font-mono);background:var(--ground-1);border-left:2px solid var(--line-strong);margin:0;padding:12px 16px;overflow-x:auto}.code-block>pre>code{font:inherit}.prose>.code-block,.prose>.diagram{margin:0 0 20px}.code-block>.code-lang{font:12px/16px var(--font-ui);color:var(--text-faint);pointer-events:none;position:absolute;top:8px;right:12px}.code-block>.code-copy{background:var(--ground-1);width:28px;height:28px;color:var(--text-faint);cursor:pointer;opacity:0;border:0;place-items:center;padding:0;display:grid;position:absolute;top:4px;right:4px}.code-block>.code-copy svg{fill:none;stroke:currentColor;stroke-width:1.4px;width:16px;height:16px}.code-block:hover>.code-copy,.code-block>.code-copy:focus-visible{opacity:1}.code-block:hover>.code-copy+.code-lang{visibility:hidden}.code-block:has(>.code-copy:focus-visible)>.code-lang{visibility:hidden}.code-block>.code-copy:hover{color:var(--text)}.code-block>.code-copy.done{color:var(--malachite);opacity:1}@media (hover:none){.code-block>.code-copy{opacity:1}.code-block>.code-copy+.code-lang{visibility:hidden}}.diagram{--pele-bg:var(--ground-0);--pele-fg:var(--text);--pele-muted:var(--text-faint);--pele-line:var(--line-strong);--pele-surface:var(--ground-1);--pele-surface-alt:var(--ground-3);--pele-border:var(--line-strong);--pele-accent:var(--lattice);--pele-font:var(--font-ui);--pele-font-mono:var(--font-mono);--pele-radius:0;--pele-error:var(--rose);--pele-critical:var(--rose);--pele-series-1:var(--lattice);--pele-series-2:var(--growth);--pele-series-3:var(--malachite);--pele-series-4:var(--rose);--pele-series-5:var(--requires);--pele-series-6:var(--builds);--pele-series-7:var(--lattice-deep);--pele-series-8:var(--growth-deep);max-width:100%;font:12px/1.4 var(--font-ui);overflow:auto hidden}.diagram svg{max-width:none;display:block}.prose .diagram{margin:0 0 1em}.diagram>pre{font:13px/20px var(--font-mono);white-space:pre-wrap;color:var(--text-soft);margin:0}.katex{font-size:1.05em}.katex,.katex .mathit,.katex .mathbf,.katex .mainrm{font-family:Math Charter,KaTeX_Main,serif}.katex .mathnormal,.katex .boldsymbol{font-family:Math Charter,KaTeX_Math,serif}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(./KaTeX_AMS-Regular.BQhdFMY1.woff2)format("woff2"),url(./KaTeX_AMS-Regular.DMm9YOAa.woff)format("woff"),url(./KaTeX_AMS-Regular.DRggAlZN.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(./KaTeX_Caligraphic-Bold.Dq_IR9rO.woff2)format("woff2"),url(./KaTeX_Caligraphic-Bold.BEiXGLvX.woff)format("woff"),url(./KaTeX_Caligraphic-Bold.ATXxdsX0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(./KaTeX_Caligraphic-Regular.Di6jR-x-.woff2)format("woff2"),url(./KaTeX_Caligraphic-Regular.CTRA-rTL.woff)format("woff"),url(./KaTeX_Caligraphic-Regular.wX97UBjC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(./KaTeX_Fraktur-Bold.CL6g_b3V.woff2)format("woff2"),url(./KaTeX_Fraktur-Bold.BsDP51OF.woff)format("woff"),url(./KaTeX_Fraktur-Bold.BdnERNNW.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(./KaTeX_Fraktur-Regular.CTYiF6lA.woff2)format("woff2"),url(./KaTeX_Fraktur-Regular.Dxdc4cR9.woff)format("woff"),url(./KaTeX_Fraktur-Regular.CB_wures.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(./KaTeX_Main-Bold.Cx986IdX.woff2)format("woff2"),url(./KaTeX_Main-Bold.Jm3AIy58.woff)format("woff"),url(./KaTeX_Main-Bold.waoOVXN0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(./KaTeX_Main-BoldItalic.DxDJ3AOS.woff2)format("woff2"),url(./KaTeX_Main-BoldItalic.SpSLRI95.woff)format("woff"),url(./KaTeX_Main-BoldItalic.DzxPMmG6.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(./KaTeX_Main-Italic.NWA7e6Wa.woff2)format("woff2"),url(./KaTeX_Main-Italic.BMLOBm91.woff)format("woff"),url(./KaTeX_Main-Italic.3WenGoN9.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(./KaTeX_Main-Regular.B22Nviop.woff2)format("woff2"),url(./KaTeX_Main-Regular.Dr94JaBh.woff)format("woff"),url(./KaTeX_Main-Regular.ypZvNtVU.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(./KaTeX_Math-BoldItalic.CZnvNsCZ.woff2)format("woff2"),url(./KaTeX_Math-BoldItalic.iY-2wyZ7.woff)format("woff"),url(./KaTeX_Math-BoldItalic.B3XSjfu4.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(./KaTeX_Math-Italic.t53AETM-.woff2)format("woff2"),url(./KaTeX_Math-Italic.DA0__PXp.woff)format("woff"),url(./KaTeX_Math-Italic.flOr_0UB.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(./KaTeX_SansSerif-Bold.D1sUS0GD.woff2)format("woff2"),url(./KaTeX_SansSerif-Bold.DbIhKOiC.woff)format("woff"),url(./KaTeX_SansSerif-Bold.CFMepnvq.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(./KaTeX_SansSerif-Italic.C3H0VqGB.woff2)format("woff2"),url(./KaTeX_SansSerif-Italic.DN2j7dab.woff)format("woff"),url(./KaTeX_SansSerif-Italic.YYjJ1zSn.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(./KaTeX_SansSerif-Regular.DDBCnlJ7.woff2)format("woff2"),url(./KaTeX_SansSerif-Regular.CS6fqUqJ.woff)format("woff"),url(./KaTeX_SansSerif-Regular.BNo7hRIc.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(./KaTeX_Script-Regular.D3wIWfF6.woff2)format("woff2"),url(./KaTeX_Script-Regular.D5yQViql.woff)format("woff"),url(./KaTeX_Script-Regular.C5JkGWo-.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(./KaTeX_Size1-Regular.mCD8mA8B.woff2)format("woff2"),url(./KaTeX_Size1-Regular.C195tn64.woff)format("woff"),url(./KaTeX_Size1-Regular.Dbsnue_I.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(./KaTeX_Size2-Regular.Dy4dx90m.woff2)format("woff2"),url(./KaTeX_Size2-Regular.oD1tc_U0.woff)format("woff"),url(./KaTeX_Size2-Regular.B7gKUWhC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC)format("woff2"),url(./KaTeX_Size3-Regular.CTq5MqoE.woff)format("woff"),url(./KaTeX_Size3-Regular.DgpXs0kz.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(./KaTeX_Size4-Regular.Dl5lxZxV.woff2)format("woff2"),url(./KaTeX_Size4-Regular.BF-4gkZK.woff)format("woff"),url(./KaTeX_Size4-Regular.DWFBv043.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(./KaTeX_Typewriter-Regular.CO6r4hn1.woff2)format("woff2"),url(./KaTeX_Typewriter-Regular.C0xS9mPB.woff)format("woff"),url(./KaTeX_Typewriter-Regular.D3Ib7_Hf.ttf)format("truetype")}.katex{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,math,Times New Roman,serif;position:relative}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.18.10"}.katex .katex-mathml{clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex .katex-html>.katex-newline{display:block}.katex .katex-base{white-space:nowrap;width:min-content;position:relative}.katex .katex-base,.katex .katex-strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .katex-vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .katex-thinbox{flex-direction:row;width:0;max-width:0;display:inline-flex}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .katex-hdashline,.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-rule,.katex .katex-underline .underline-line,.katex .mfrac .frac-line{min-height:1px}.katex .mspace{display:inline-block}.katex .katex-smash{line-height:0;display:inline}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.katex-inner,.katex .llap>.katex-inner,.katex .rlap>.katex-inner{position:absolute}.katex .clap>.katex-fix,.katex .llap>.katex-fix,.katex .rlap>.katex-fix{display:inline-block}.katex .llap>.katex-inner{right:0}.katex .clap>.katex-inner,.katex .rlap>.katex-inner{left:0}.katex .clap>.katex-inner>span{margin-left:-50%;margin-right:50%}.katex .katex-rule{border:0 solid;display:inline-block;position:relative}.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-underline .underline-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .katex-hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.katex-root{margin-left:.277778em;margin-right:-.555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .katex-sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .katex-sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .katex-sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .katex-sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .katex-sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .katex-sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .katex-sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .katex-sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .katex-sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .katex-sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .katex-sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .katex-sizing.reset-size2.size1{font-size:.833333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .katex-sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .katex-sizing.reset-size2.size3{font-size:1.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .katex-sizing.reset-size2.size4{font-size:1.33333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .katex-sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .katex-sizing.reset-size2.size6{font-size:1.66667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .katex-sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .katex-sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .katex-sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .katex-sizing.reset-size2.size10{font-size:3.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .katex-sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .katex-sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .katex-sizing.reset-size3.size2{font-size:.857143em}.katex .fontsize-ensurer.reset-size3.size3,.katex .katex-sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .katex-sizing.reset-size3.size4{font-size:1.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .katex-sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .katex-sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .katex-sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .katex-sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .katex-sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .katex-sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .katex-sizing.reset-size3.size11{font-size:3.55429em}.katex .fontsize-ensurer.reset-size4.size1,.katex .katex-sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .katex-sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .katex-sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .katex-sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .katex-sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .katex-sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .katex-sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .katex-sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .katex-sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .katex-sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .katex-sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .katex-sizing.reset-size5.size1{font-size:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .katex-sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .katex-sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .katex-sizing.reset-size5.size4{font-size:.888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .katex-sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .katex-sizing.reset-size5.size6{font-size:1.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .katex-sizing.reset-size5.size7{font-size:1.33333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .katex-sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .katex-sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .katex-sizing.reset-size5.size10{font-size:2.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .katex-sizing.reset-size5.size11{font-size:2.76444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .katex-sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .katex-sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .katex-sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .katex-sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .katex-sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .katex-sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .katex-sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .katex-sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .katex-sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .katex-sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .katex-sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .katex-sizing.reset-size7.size1{font-size:.416667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .katex-sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .katex-sizing.reset-size7.size3{font-size:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .katex-sizing.reset-size7.size4{font-size:.666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .katex-sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .katex-sizing.reset-size7.size6{font-size:.833333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .katex-sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .katex-sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .katex-sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .katex-sizing.reset-size7.size10{font-size:1.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .katex-sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .katex-sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .katex-sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .katex-sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .katex-sizing.reset-size8.size4{font-size:.555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .katex-sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .katex-sizing.reset-size8.size6{font-size:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .katex-sizing.reset-size8.size7{font-size:.833333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .katex-sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .katex-sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .katex-sizing.reset-size8.size10{font-size:1.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .katex-sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .katex-sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .katex-sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .katex-sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .katex-sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .katex-sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .katex-sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .katex-sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .katex-sizing.reset-size9.size8{font-size:.833333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .katex-sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .katex-sizing.reset-size9.size10{font-size:1.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .katex-sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .katex-sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .katex-sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .katex-sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .katex-sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .katex-sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .katex-sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .katex-sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .katex-sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .katex-sizing.reset-size10.size9{font-size:.833173em}.katex .fontsize-ensurer.reset-size10.size10,.katex .katex-sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .katex-sizing.reset-size10.size11{font-size:1.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .katex-sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .katex-sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .katex-sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .katex-sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .katex-sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .katex-sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .katex-sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .katex-sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .katex-sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .katex-sizing.reset-size11.size10{font-size:.833601em}.katex .fontsize-ensurer.reset-size11.size11,.katex .katex-sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{width:.12em;display:inline-block}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .katex-accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .katex-accent .accent-body{position:relative}.katex .katex-accent .accent-body:not(.accent-full){width:0}.katex .katex-overlay{display:block}.katex .mtable .vertical-separator{min-width:1px;display:inline-block}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;height:inherit;width:100%;display:block;position:absolute}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .katex-stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .katex-stretchy:after,.katex .katex-stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .katex-sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .reflectbox{display:inline-block;transform:scaleX(-1)}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.katex-tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.katex-tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}.n.svelte-m50bdg{left:calc(var(--x) * var(--u));top:calc(var(--y) * var(--u));width:calc(var(--w) * var(--u));height:calc(var(--h) * var(--u));color:var(--text-soft);--glint:.3;background:var(--ground-2);border:var(--px) solid var(--line-strong);text-decoration:none;transition:opacity .15s;position:absolute;overflow:hidden}.n.svelte-m50bdg:hover{color:var(--text);text-decoration:none}.n.file.svelte-m50bdg{color:var(--text-faint);background:var(--ground-0);border-style:dashed;border-color:var(--line-strong);gap:6px}.n.file.svelte-m50bdg .glyph{color:var(--text-soft)}.inner.svelte-m50bdg{width:calc(100% * var(--k));height:calc(100% * var(--k));transform-origin:0 0;transform:scale(var(--ik));font:11px/14px var(--font-ui);align-items:center;gap:6px;padding:0 6px;display:flex;position:absolute;top:0;left:0;container-type:size}.t.svelte-m50bdg{overflow-wrap:normal;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;min-width:0;display:none;overflow:hidden}.atlas-world.labels .t.svelte-m50bdg{display:-webkit-box}@container (width>=130px){.inner.svelte-m50bdg>:where(.svelte-m50bdg){font-size:13px;line-height:17px}}@container (width>=175px){.inner.svelte-m50bdg>:where(.svelte-m50bdg){font-size:15px;line-height:20px}}@container (width>=235px){.inner.svelte-m50bdg>:where(.svelte-m50bdg){font-size:18px;line-height:24px}}@container (width>=310px){.inner.svelte-m50bdg>:where(.svelte-m50bdg){font-size:22px;line-height:28px}}@container (width<=72px){.inner.svelte-m50bdg>:where(.svelte-m50bdg):first-child{margin-left:-2px}.inner.svelte-m50bdg>:where(.svelte-m50bdg):last-child{margin-right:-2px}.inner.svelte-m50bdg>:where(.svelte-m50bdg){font-size:10px;line-height:12px}.t.svelte-m50bdg{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere}}@container (height<=48px){.t.svelte-m50bdg{-webkit-line-clamp:2;line-clamp:2}}@container (height<=32px){.t.svelte-m50bdg{-webkit-line-clamp:1;line-clamp:1}}@container (height<=17px) or (width<=40px){.atlas-world.labels .t.svelte-m50bdg{display:none}}.question.svelte-m50bdg,.problem.svelte-m50bdg{overflow:visible}.notch.svelte-m50bdg{box-sizing:content-box;background:var(--behind);fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px;padding:0 2px;position:absolute;top:-7px;left:9px}.question.svelte-m50bdg .notch:where(.svelte-m50bdg){color:var(--rose)}.problem.svelte-m50bdg .notch:where(.svelte-m50bdg){color:var(--text-soft)}.question.done.svelte-m50bdg .notch:where(.svelte-m50bdg),.problem.done.svelte-m50bdg .notch:where(.svelte-m50bdg){color:var(--malachite)}.question.svelte-m50bdg .t:where(.svelte-m50bdg),.problem.svelte-m50bdg .t:where(.svelte-m50bdg){overflow:hidden}.prospect.svelte-m50bdg{background:var(--ground-0);border:calc(1.5 * var(--px)) dotted var(--rose);color:var(--text-faint)}.dim.svelte-m50bdg{opacity:.5}.p-key.svelte-m50bdg{outline:calc(1.5 * var(--px)) dashed var(--growth);outline-offset:calc(3 * var(--px))}.p-sem.svelte-m50bdg{outline:calc(2 * var(--px)) dotted var(--growth);outline-offset:calc(3 * var(--px))}.p-link.svelte-m50bdg{outline:calc(1.5 * var(--px)) solid var(--growth);outline-offset:calc(3 * var(--px))}.p-used.svelte-m50bdg{outline:calc(1.5 * var(--px)) solid var(--growth);outline-offset:calc(3 * var(--px));background:var(--growth-soft);color:var(--text)}.at.svelte-m50bdg,.req.svelte-m50bdg,.bld.svelte-m50bdg{color:var(--text);outline:calc(2 * var(--px)) solid var(--text);outline-offset:calc(2 * var(--px))}.req.svelte-m50bdg{outline-color:color-mix(in srgb, var(--requires) var(--lit,100%), transparent)}.req.far.svelte-m50bdg{outline-width:var(--px);color:var(--text-soft)}.use.svelte-m50bdg{color:var(--text);outline:var(--px) solid var(--text-soft);outline-offset:calc(2 * var(--px))}.also.svelte-m50bdg{color:var(--text-soft);outline:var(--px) dotted var(--text-faint);outline-offset:calc(2 * var(--px))}.bld.svelte-m50bdg{outline-color:var(--builds)}.here.svelte-m50bdg{box-shadow:inset calc(3 * var(--px)) 0 0 var(--text);color:var(--text)}.mo-you.svelte-m50bdg{outline:calc(2.5 * var(--px)) solid var(--lattice);outline-offset:calc(3 * var(--px));z-index:3}.mo-iso.svelte-m50bdg{outline:calc(2.5 * var(--px)) solid var(--growth);outline-offset:calc(3 * var(--px));z-index:3}.given.svelte-m50bdg{background:var(--growth-soft);border-color:var(--growth);color:var(--text)}.held.svelte-m50bdg{background:var(--lattice-soft);border-color:var(--lattice);color:var(--text)}.changed.svelte-m50bdg,.order.svelte-m50bdg{overflow:visible}.dia.svelte-m50bdg{background:var(--growth);width:9px;height:9px;transform:rotate(45deg);scale:var(--ik);position:absolute;top:-5px;right:-5px}.order.svelte-m50bdg{background:var(--growth);width:16px;height:16px;color:var(--ground-0);z-index:1;scale:var(--ik);place-items:center;font-size:10px;font-weight:700;display:grid;position:absolute;top:-9px;left:-9px}.folder.svelte-ywp27z{left:calc(var(--x) * var(--u));top:calc(var(--y) * var(--u));width:calc(var(--w) * var(--u));height:calc(var(--h) * var(--u));--cut:10px;position:absolute}.frame-title.svelte-ywp27z{z-index:1;max-width:calc((100% - 44px) * var(--k));text-overflow:ellipsis;cursor:pointer;transform-origin:0 0;transform:scale(var(--ik)) translateY(-50%);border:0;top:0;overflow:hidden}.rename.svelte-ywp27z{width:calc(180px * var(--k));font:inherit;background:var(--ground-2);color:var(--text);border:1px solid var(--lattice);padding:1px 6px}.frame-title.svelte-ywp27z:hover{color:var(--text)}.closed.svelte-ywp27z{--inside:var(--ground-2);text-align:left;color:var(--text);padding:0;font-size:12px;line-height:1.5;overflow:hidden}.closed.svelte-ywp27z .inner:where(.svelte-ywp27z){width:calc(100% * var(--k));height:calc(100% * var(--k));transform-origin:0 0;transform:scale(var(--ik));flex-direction:column;justify-content:center;align-items:flex-start;padding:9px 12px;display:flex;position:absolute;top:0;left:0;container-type:size}.closed.svelte-ywp27z:hover{--inside:var(--ground-3)}.bare.svelte-ywp27z{width:calc(100% * var(--k));height:calc(100% * var(--k));transform-origin:0 0;transform:scale(var(--ik));pointer-events:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:18px;display:flex;position:absolute;top:0;left:0}.bare.svelte-ywp27z i:where(.svelte-ywp27z){background:var(--text-faint);width:8px;height:8px}.req.svelte-ywp27z{--tone:var(--requires)}.bld.svelte-ywp27z{--tone:var(--builds)}.held.svelte-ywp27z{transform-origin:100% 100%;transform:scale(var(--ik)) translateY(50%);max-width:calc((100% - 44px) * var(--k));text-overflow:ellipsis;color:var(--tone);cursor:default;pointer-events:none;inset:auto 22px 0 auto;overflow:hidden}.closed.req.svelte-ywp27z .label:where(.svelte-ywp27z),.closed.bld.svelte-ywp27z .label:where(.svelte-ywp27z){color:var(--tone)}.dim.svelte-ywp27z{opacity:.5}.closed.svelte-ywp27z span:where(.svelte-ywp27z){text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}@container (width<=70px){.name.svelte-ywp27z,.label.svelte-ywp27z{display:none}}@container (height<=22px){.name.svelte-ywp27z,.label.svelte-ywp27z{display:none}}@container (height<=44px){.closed.svelte-ywp27z .label:where(.svelte-ywp27z){display:none}}.here.svelte-ywp27z{box-shadow:inset calc(3 * var(--px)) 0 0 var(--text)}.mo-you.svelte-ywp27z{outline:calc(2.5 * var(--px)) solid var(--lattice);outline-offset:calc(3 * var(--px));z-index:3}.mo-iso.svelte-ywp27z{outline:calc(2.5 * var(--px)) solid var(--growth);outline-offset:calc(3 * var(--px));z-index:3}.given.svelte-ywp27z{outline:calc(2 * var(--px)) solid var(--growth);outline-offset:calc(2 * var(--px))}.routes.svelte-k96fgh{pointer-events:none;width:1px;height:1px;position:absolute;top:0;left:0;overflow:visible}path.svelte-k96fgh{fill:none;vector-effect:non-scaling-stroke;stroke-linejoin:round}.base.svelte-k96fgh{stroke:var(--line-strong);stroke-width:1.5px;opacity:.6}.base.trunk.svelte-k96fgh{stroke-width:3px;opacity:.8}.weak.svelte-k96fgh{stroke-width:1px;opacity:.3}.weak.trunk.svelte-k96fgh{stroke-width:2px;opacity:.45}.lit.svelte-k96fgh{stroke-width:2px;opacity:.55}.requires.svelte-k96fgh{stroke:var(--requires)}.builds.svelte-k96fgh{stroke:var(--builds)}.iso.svelte-k96fgh{stroke:var(--growth);stroke-width:2.5px}.uses.svelte-k96fgh{stroke:var(--text-soft);stroke-width:1.5px;opacity:1}.pulse.svelte-k96fgh{vector-effect:none;stroke-linecap:round;stroke-dasharray:var(--len) 3;stroke-dashoffset:var(--len);animation:svelte-k96fgh-pulse var(--dur,.6s) cubic-bezier(.3, .5, .4, 1) forwards}.pulse.glow.svelte-k96fgh{--len:.3;stroke:var(--growth);opacity:.22}.pulse.glow.blue.svelte-k96fgh{stroke:var(--lattice)}.pulse.glow.pk-requires.svelte-k96fgh{stroke:var(--requires)}.pulse.glow.pk-builds.svelte-k96fgh{stroke:var(--builds)}.pulse.glow.pk-iso.svelte-k96fgh{stroke:var(--growth)}.pulse.loop.svelte-k96fgh{animation:2.2s cubic-bezier(.3,.5,.4,1) infinite svelte-k96fgh-pulse-loop}@keyframes svelte-k96fgh-pulse-loop{0%{stroke-dashoffset:var(--len)}55%,to{stroke-dashoffset:-1px}}.pulse.core.svelte-k96fgh{--len:.09;stroke:rgb(var(--sheen));opacity:.7}.pulse.slow.svelte-k96fgh{--dur:.9s}@keyframes svelte-k96fgh-pulse{to{stroke-dashoffset:-1px}}.along.svelte-k96fgh{vector-effect:none;stroke-dasharray:1;stroke-linecap:butt}.retract.svelte-k96fgh{stroke-dashoffset:0;animation:.22s ease-in forwards svelte-k96fgh-retract}.draw.svelte-k96fgh{stroke-dashoffset:1px;animation:.34s ease-out forwards svelte-k96fgh-draw}.touch.svelte-k96fgh{stroke:var(--lattice);stroke-dashoffset:1px;opacity:.85;animation:svelte-k96fgh-draw calc(var(--t-change) * 1.2) var(--ease-out) forwards}@keyframes svelte-k96fgh-retract{to{stroke-dashoffset:1px}}@keyframes svelte-k96fgh-draw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.touch.svelte-k96fgh{stroke-dashoffset:0;animation:none}.pulse.svelte-k96fgh{display:none}}.atlas.svelte-14y1y1z{isolation:isolate;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:grab;outline-offset:-2px;height:100%;position:relative;overflow:clip}.atlas.svelte-14y1y1z:active{cursor:grabbing}.atlas-world.svelte-14y1y1z{transform-origin:0 0;width:0;height:0;position:absolute;top:0;left:0}.atlas-world.moving.svelte-14y1y1z{will-change:transform}.asking.svelte-14y1y1z{z-index:30;gap:var(--space-3);width:min(380px,100% - 24px);padding:var(--space-4);-webkit-user-select:text;user-select:text;flex-direction:column;font-size:13px;line-height:1.45;display:flex;position:absolute;top:24px;left:50%;transform:translate(-50%)}.asking.svelte-14y1y1z .row:where(.svelte-14y1y1z){gap:var(--space-2);display:flex}.g-lifted{opacity:.45}.g-doomed{outline:calc(2.5 * var(--px,1px)) solid var(--rose);outline-offset:calc(2 * var(--px,1px));background:var(--rose-soft)}.g-sending{outline:calc(2.5 * var(--px,1px)) solid var(--growth);outline-offset:calc(2 * var(--px,1px))}.g-over{outline:calc(2 * var(--px,1px)) dashed var(--lattice);outline-offset:calc(3 * var(--px,1px))}.ground.svelte-14y1y1z{opacity:.5;z-index:-1;pointer-events:none;will-change:transform;position:absolute;inset:-56px}.scaled.svelte-14y1y1z{transform-origin:0 0;width:0;height:0;position:absolute;top:0;left:0}.sat.svelte-14y1y1z{left:calc(var(--x) * var(--u));top:calc(var(--y) * var(--u));width:calc(3 * var(--u));height:calc(3 * var(--u));background:var(--ground-1);border:var(--px) solid var(--line-strong);color:var(--lattice);place-items:center;display:grid;position:absolute}.sat.svelte-14y1y1z svg:where(.svelte-14y1y1z){fill:none;stroke:currentColor;stroke-width:1.3px;stroke-linecap:round;stroke-linejoin:round;width:13px;height:13px}.sat.web.svelte-14y1y1z:hover,.sat.web.svelte-14y1y1z:focus-visible,.sat.picture.svelte-14y1y1z:hover,.sat.picture.svelte-14y1y1z:focus-visible{border-color:var(--lattice)}.sat.picture.svelte-14y1y1z{overflow:hidden}.sat.more.svelte-14y1y1z{font:600 12px var(--font-ui);color:var(--text-soft);cursor:pointer;padding:0}.sat.more.svelte-14y1y1z:hover,.sat.more.svelte-14y1y1z:focus-visible{color:var(--text);border-color:var(--lattice)}.sat.picture.svelte-14y1y1z img:where(.svelte-14y1y1z){object-fit:cover;width:100%;height:100%;display:block}.sat.broken.svelte-14y1y1z{color:var(--rose);border-color:var(--rose);border-style:dashed}.shifting.svelte-14y1y1z :is(.n,.sn,.folder){transition:left .45s,top .45s,width .45s,height .45s}@media (prefers-reduced-motion:reduce){.shifting.svelte-14y1y1z :is(.n,.sn,.folder){transition:none}}.said.svelte-14y1y1z{padding:var(--space-4);text-align:center;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.offer.svelte-14y1y1z{--inside:var(--ground-2);z-index:8;gap:2px;min-width:150px;padding:6px;display:grid;position:absolute}.offer.svelte-14y1y1z button:where(.svelte-14y1y1z){height:40px;color:var(--text);font:13px var(--font-ui);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:0 10px;display:flex}.offer.svelte-14y1y1z button:where(.svelte-14y1y1z):hover,.offer.svelte-14y1y1z button:where(.svelte-14y1y1z):focus-visible{background:var(--ground-3)}.offer.svelte-14y1y1z i:where(.svelte-14y1y1z){width:12px;color:var(--growth);font-size:11px;font-style:normal}.grasp.svelte-14y1y1z{left:calc(var(--x) * var(--u) - 10px);top:calc(var(--y) * var(--u) - 12px);pointer-events:none;z-index:1;align-items:center;gap:6px;font-size:11px;display:flex;position:absolute}.grasp.svelte-14y1y1z svg:where(.svelte-14y1y1z){flex:none;overflow:visible}.grasp.svelte-14y1y1z svg:where(.svelte-14y1y1z) path:where(.svelte-14y1y1z){fill:var(--growth-soft);stroke:var(--growth);stroke-width:1.5px;stroke-linejoin:round;stroke-dasharray:2 2.5;animation:.6s linear infinite svelte-14y1y1z-march}.grasp.svelte-14y1y1z svg:where(.svelte-14y1y1z) path.ln:where(.svelte-14y1y1z){fill:none;stroke-dasharray:none;animation:none}.grasp.svelte-14y1y1z span:where(.svelte-14y1y1z){white-space:nowrap;background:var(--ground-0);padding:0 4px}@media (prefers-reduced-motion:reduce){.grasp.svelte-14y1y1z svg:where(.svelte-14y1y1z) path:where(.svelte-14y1y1z){animation:none}}@keyframes svelte-14y1y1z-march{to{stroke-dashoffset:-9px}}.given.svelte-14y1y1z{background:var(--ground-1);border:1px solid var(--growth);z-index:2;margin:0;padding:6px 10px;font-size:12px;position:absolute;bottom:12px;left:12px}.given.svelte-14y1y1z:first-letter{color:var(--growth)}.legend.svelte-14y1y1z{color:var(--text-soft);pointer-events:none;z-index:2;flex-wrap:wrap;gap:4px 14px;margin:0;font-size:11px;display:flex;position:absolute;bottom:10px;left:12px;right:12px}.legend.svelte-14y1y1z span:where(.svelte-14y1y1z){background:var(--ground-0);align-items:center;gap:6px;padding:0 4px;display:inline-flex}.legend.svelte-14y1y1z .k:where(.svelte-14y1y1z){place-items:center;width:10px;height:10px;font-style:normal;display:inline-grid}.legend.svelte-14y1y1z .g:where(.svelte-14y1y1z){background:var(--growth-soft);border:1px solid var(--growth)}.legend.svelte-14y1y1z .h:where(.svelte-14y1y1z){background:var(--lattice-soft);border:1px solid var(--lattice)}.legend.svelte-14y1y1z .d:where(.svelte-14y1y1z){background:var(--growth);width:7px;height:7px;transform:rotate(45deg)}.legend.svelte-14y1y1z .n:where(.svelte-14y1y1z){background:var(--growth);width:14px;height:14px;color:var(--ground-0);font-size:9px;font-weight:700}.carried.svelte-14y1y1z{z-index:50;pointer-events:none;background:var(--ground-2);border:1px solid var(--line-strong);white-space:nowrap;padding:3px 8px;font-size:12px;position:fixed;transform:translate(10px,10px)}.carried.over.svelte-14y1y1z{border-color:var(--growth)}.notice.svelte-14y1y1z{background:var(--ground-1);border:1px solid var(--rose);color:var(--rose);z-index:2;margin:0;padding:6px 10px;font-size:12px;position:absolute;bottom:12px;left:12px}.pip.svelte-14y1y1z{z-index:4;background:var(--ground-1);border:1px solid var(--line-strong);width:22px;height:22px;color:var(--text);cursor:pointer;place-items:center;margin:-11px 0 0 -11px;padding:0;display:grid;position:absolute}.pip.svelte-14y1y1z svg:where(.svelte-14y1y1z){transform:rotate(var(--a));fill:currentColor}.pip.svelte-14y1y1z:hover,.pip.svelte-14y1y1z:focus-visible{border-color:var(--text)}.pip.you.svelte-14y1y1z{color:var(--lattice);border-color:var(--lattice)}.pip.iso.svelte-14y1y1z{color:var(--growth);border-color:var(--growth)}.count.svelte-14y1y1z{left:calc(var(--x) * var(--u));top:calc(var(--y) * var(--u));color:var(--text-faint);pointer-events:none;font-size:12px;line-height:18px;position:absolute}.count.right.svelte-14y1y1z{transform:translate(7px,-50%)}.count.above.svelte-14y1y1z{transform:translate(-50%,calc(-100% - 3px))}.map.svelte-nwxyyl{height:100%;position:relative}.side.svelte-nwxyyl{z-index:5;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;top:16px;right:16px}.icon.svelte-nwxyyl{width:28px;height:28px;color:var(--text-faint);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.icon.svelte-nwxyyl:hover,.icon.svelte-nwxyyl:focus-visible{color:var(--text)}.icon[aria-pressed=true].svelte-nwxyyl{background:var(--c,var(--lattice));color:var(--ground-0);--cut:4px;clip-path:var(--chosen-cut)}@media (width<=600px){.side.svelte-nwxyyl{display:none}}.own.svelte-1n9iqy5{border-top:1px dashed var(--line);color:var(--text-soft);grid-column:1/-1;padding-top:10px;font-size:12.5px}.own.svelte-1n9iqy5 summary:where(.svelte-1n9iqy5){cursor:pointer;margin-bottom:8px}.body.svelte-1n9iqy5{gap:8px;display:grid}p.svelte-1n9iqy5{margin:0}.choices.svelte-1n9iqy5{flex-wrap:wrap;gap:8px;display:flex}code.svelte-1n9iqy5{font:11.5px var(--font-mono);color:var(--text);overflow-wrap:anywhere}pre.svelte-1n9iqy5{background:var(--ground-1);border:1px solid var(--line);font:11.5px/1.45 var(--font-mono);max-height:200px;margin:0;padding:8px 10px;overflow:auto}.more.svelte-1n9iqy5{font:inherit;color:var(--lattice);cursor:pointer;background:0 0;border:0;padding:0}.bad.svelte-1n9iqy5{color:var(--rose)}.attach.svelte-6livgy{border-top:1px dashed var(--line);color:var(--text-soft);gap:10px;margin:auto 0 0;padding:12px 0 0;font-size:12.5px;display:grid}.attach.compact.svelte-6livgy{border:0;margin:0;padding:0}.label.svelte-6livgy{font-weight:400}p.svelte-6livgy{margin:0}.cards.svelte-6livgy{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.card.svelte-6livgy{--cut:8px;--inside:var(--ground-1);--edge:var(--line);align-content:start;gap:8px;padding:12px;display:grid}.card.on.svelte-6livgy{--edge:var(--lattice)}.card.absent.svelte-6livgy{opacity:.7}.head.svelte-6livgy{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.state.svelte-6livgy{font:11px var(--font-ui);text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);text-align:right}.card.on.svelte-6livgy .state:where(.svelte-6livgy){color:var(--growth)}.note.svelte-6livgy{margin:0;font-size:11.5px}.acts.svelte-6livgy{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.steps.svelte-6livgy{border-top:1px dashed var(--line);gap:6px;padding-top:6px;display:grid}.line.svelte-6livgy{align-items:baseline;gap:8px;display:flex}.more-row.svelte-6livgy{flex-wrap:wrap;gap:4px;display:flex}b.svelte-6livgy{color:var(--text);font-weight:500}.chosen.svelte-6livgy,code.svelte-6livgy{font:11.5px var(--font-mono);color:var(--text);overflow-wrap:anywhere}pre.svelte-6livgy{background:var(--ground-1);border:1px solid var(--line);font:11.5px/1.45 var(--font-mono);max-height:200px;margin:0;padding:8px 10px;overflow:auto}.pick.svelte-6livgy{gap:6px;display:grid}.pick.svelte-6livgy .field:where(.svelte-6livgy){width:100%;min-width:0}.more.svelte-6livgy{font:inherit;color:var(--lattice);cursor:pointer;background:0 0;border:0;padding:0}.more.svelte-6livgy:disabled,.btn.svelte-6livgy:disabled{opacity:.5;cursor:default}.bad.svelte-6livgy{color:var(--rose);overflow-wrap:anywhere;display:block}.drawer.svelte-19hl4w{flex:auto;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-content:start;gap:11px;min-height:0;padding:16px;display:grid;overflow:auto}.none.svelte-19hl4w{grid-column:1/-1;font-size:12px}.change.svelte-19hl4w{border-top:1px dashed var(--line);margin-top:8px;padding-top:10px}.change.svelte-19hl4w summary:where(.svelte-19hl4w){cursor:pointer;margin-bottom:8px}h2.none.svelte-19hl4w{margin:8px 0 0;font-weight:400}.bad.svelte-19hl4w{color:var(--rose)}code.svelte-19hl4w{font:11.5px var(--font-mono);overflow-wrap:anywhere}[role=listitem].svelte-19hl4w{position:relative}.drop.svelte-19hl4w{font:11px var(--font-ui);text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);opacity:0;transition:opacity var(--t-ack) var(--ease-out);position:absolute;top:8px;right:12px}[role=listitem].svelte-19hl4w:hover .drop:where(.svelte-19hl4w),[role=listitem].svelte-19hl4w:focus-within .drop:where(.svelte-19hl4w),.drop.svelte-19hl4w:focus-visible{opacity:1}.drop.svelte-19hl4w:hover{color:var(--rose)}.drop.fork.svelte-19hl4w{right:76px}.drop.fork.svelte-19hl4w:hover{color:var(--text)}@media (hover:none){.drop.svelte-19hl4w{opacity:1}}.sure.svelte-19hl4w{color:var(--text-soft);margin:6px 0 0;font-size:12px}.more.bad.svelte-19hl4w{color:var(--rose)}.more.svelte-19hl4w{font:inherit;color:var(--lattice);cursor:pointer;background:0 0;border:0;padding:0}.spec.svelte-19hl4w{--cut:8px;--inside:var(--ground-1);--edge:var(--line);text-align:left;width:100%;color:var(--text-faint);cursor:pointer;--glint:.25;transition:color var(--t-ack) var(--ease-out);grid-template-columns:44px minmax(0,1fr);align-content:start;gap:4px 14px;padding:14px;display:grid}.spec.svelte-19hl4w .crystal{grid-row:span 3}.spec.svelte-19hl4w:hover:not(:disabled){--edge:var(--line-strong);color:var(--growth)}.spec.svelte-19hl4w:disabled{cursor:default;opacity:.6}.spec.live.svelte-19hl4w{color:var(--growth)}.spec.on.svelte-19hl4w{--edge:var(--lattice);color:var(--growth)}.q.svelte-19hl4w{font:15px/22px var(--font-text);color:var(--text);overflow-wrap:anywhere;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.m.svelte-19hl4w{font:11px/16px var(--font-ui);color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;overflow-wrap:anywhere}.context.svelte-po8nwq{flex-direction:column;flex:auto;gap:8px;min-height:0;padding:16px;font-size:12px;display:flex;overflow:auto}.column.svelte-po8nwq{flex-direction:column;gap:6px;display:flex}.strata.svelte-po8nwq{border:1px solid var(--line-strong);background:var(--ground-0);min-width:0;height:14px;display:flex}.s.svelte-po8nwq{min-width:2px;height:100%;transition:filter var(--t-ack) var(--ease-out);flex:none}.s.svelte-po8nwq+.s:where(.svelte-po8nwq){box-shadow:inset 1px 0 0 var(--ground-0)}.s.svelte-po8nwq:hover{filter:brightness(1.25)}.instructions.svelte-po8nwq{background:repeating-linear-gradient(135deg, var(--text-faint) 0 1px, transparent 1px 4px)}.notes.svelte-po8nwq{background:var(--lattice)}.conversation.svelte-po8nwq{background:repeating-linear-gradient(90deg, var(--text-soft) 0 1px, transparent 1px 3px)}.room.svelte-po8nwq{background:0 0;flex:auto}.total.svelte-po8nwq{font-variant-numeric:tabular-nums;color:var(--text);align-items:baseline;gap:6px;display:flex}.label.svelte-po8nwq{align-items:center;gap:6px;min-height:22px;margin-top:8px;font-weight:400;display:flex}.rows.svelte-po8nwq{gap:6px;margin:0;padding:0;list-style:none;display:grid}.row.svelte-po8nwq{align-items:flex-start;gap:4px;min-width:0;display:flex}.r.svelte-po8nwq{min-width:0;font:inherit;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;flex:auto;grid-template-columns:14px minmax(0,auto) minmax(0,1fr) auto;align-items:baseline;gap:3px 8px;padding:0;display:grid}.r.svelte-po8nwq:disabled{cursor:default}.mk.svelte-po8nwq{color:var(--growth);text-align:center}.mk.iso.svelte-po8nwq{color:var(--lattice)}.t.svelte-po8nwq{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.d.svelte-po8nwq{text-overflow:ellipsis;white-space:nowrap;color:var(--text-faint);overflow:hidden}.num.svelte-po8nwq{color:var(--text-faint);font-variant-numeric:tabular-nums;grid-column:4}.x.svelte-po8nwq{width:22px;height:18px;color:var(--text-faint);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}.x.svelte-po8nwq:hover,.bad.svelte-po8nwq{color:var(--rose)}.chat.svelte-17377q0{flex-direction:column;flex:auto;gap:18px;min-height:0;padding:16px;display:flex;overflow:auto}.title.svelte-17377q0{margin-bottom:-8px;font-size:11px}.turn.svelte-17377q0{flex-direction:column;gap:8px;min-width:0;display:flex}.you.svelte-17377q0{flex-direction:column;gap:4px;padding-left:16px;display:flex;position:relative}.you.svelte-17377q0:before{content:"›";color:var(--lattice);position:absolute;top:0;left:0}.think.svelte-17377q0,.squeeze.svelte-17377q0{color:var(--text-soft);margin:0;font-size:12.5px}.think.svelte-17377q0 summary:where(.svelte-17377q0),.squeeze.svelte-17377q0 summary:where(.svelte-17377q0){cursor:pointer;font:11.5px var(--font-mono);color:var(--text-soft)}.think.svelte-17377q0 p:where(.svelte-17377q0),.squeeze.svelte-17377q0 p:where(.svelte-17377q0){border-left:2px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 0;padding-left:10px}.squeeze[data-state=failed].svelte-17377q0 summary:where(.svelte-17377q0){color:var(--rose)}.mid.svelte-17377q0{border-left:2px solid var(--line-strong);color:var(--text);overflow-wrap:anywhere;white-space:pre-wrap;margin:0;padding-left:10px;font-size:13px}.mid[data-state=queued].svelte-17377q0,.mid[data-state=dropped].svelte-17377q0{color:var(--text-faint)}.mid[data-state=dropped].svelte-17377q0{text-decoration:line-through}.mid.svelte-17377q0 .how:where(.svelte-17377q0){font:11px var(--font-mono);color:var(--text-soft);margin-right:4px}.asked.svelte-17377q0{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text)}.from.svelte-17377q0{color:var(--text-faint);font-size:11px}.said.svelte-17377q0{font:15px/1.6 var(--font-text);overflow-wrap:anywhere;min-width:0;padding-left:16px;position:relative}.said.svelte-17377q0:before{content:"▸";font:11px var(--font-ui);color:var(--growth);position:absolute;top:1px;left:0}.said.svelte-17377q0 p+p,.said.svelte-17377q0 p+ul,.said.svelte-17377q0 ul+p{margin-top:8px}.said.svelte-17377q0 ul,.said.svelte-17377q0 ol{margin:0;padding-left:20px}.said.svelte-17377q0 pre{overflow-x:auto}.tool.svelte-17377q0{color:var(--text-faint);gap:6px;min-width:0;padding-left:16px;font-size:12px;display:grid;position:relative}.tool.svelte-17377q0:before{content:"·";position:absolute;top:0;left:4px}.tool[data-status=running].svelte-17377q0:before{content:"○";color:var(--growth);left:1px}.tool[data-status=failed].svelte-17377q0 .v:where(.svelte-17377q0){color:var(--rose)}summary.svelte-17377q0,.line.svelte-17377q0{cursor:default;align-items:baseline;gap:8px;min-width:0;list-style:none;display:flex}summary.svelte-17377q0{cursor:pointer}summary.svelte-17377q0::-webkit-details-marker{display:none}.v.svelte-17377q0{color:var(--text-soft);flex:none;min-width:5.5em}.q.svelte-17377q0{font:11.5px var(--font-mono);color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.n.svelte-17377q0{flex:none}.add.svelte-17377q0{color:var(--malachite)}.del.svelte-17377q0{color:var(--rose)}pre.svelte-17377q0{background:var(--ground-1);border:1px solid var(--line);font:11.5px/1.45 var(--font-mono);color:var(--text-soft);white-space:pre;max-height:280px;margin:6px 0 0;padding:8px 10px;overflow:auto}.diff.svelte-17377q0 span:where(.svelte-17377q0){display:block}.in.svelte-17377q0{color:var(--text-faint)}a.note-link.svelte-17377q0{text-decoration:none}.note-link.svelte-17377q0{font:inherit;color:var(--text-soft);cursor:pointer;text-align:left;overflow-wrap:anywhere;background:0 0;border:0;padding:0}.note-link.svelte-17377q0:hover,.note-link.svelte-17377q0:focus-visible{color:var(--lattice)}.permit.svelte-17377q0{border:1px solid var(--growth);color:var(--text-soft);gap:8px;margin-left:16px;padding:10px 12px;font-size:12.5px;display:grid}.tool.svelte-17377q0 .permit:where(.svelte-17377q0){margin-left:0}.permit.svelte-17377q0 code:where(.svelte-17377q0){font:12px var(--font-mono);color:var(--text);overflow-wrap:anywhere}.acts.svelte-17377q0{flex-wrap:wrap;gap:16px;display:flex}.acts.svelte-17377q0 button:where(.svelte-17377q0){font:inherit;color:var(--lattice);cursor:pointer;background:0 0;border:0;padding:0}.acts.svelte-17377q0 button:where(.svelte-17377q0):hover{color:var(--text)}.acts.svelte-17377q0 .no:where(.svelte-17377q0){color:var(--text-faint)}.asks.svelte-17377q0{gap:2px;padding-left:16px;font-size:13px;display:grid}.asks.svelte-17377q0 p:where(.svelte-17377q0){align-items:center;gap:6px;min-width:0;display:flex}.asks.svelte-17377q0 .qm:where(.svelte-17377q0){color:var(--rose);flex:none;margin-left:-17px;margin-right:4px}.asks.svelte-17377q0 .qt:where(.svelte-17377q0){color:var(--text);overflow-wrap:anywhere}.asks.svelte-17377q0 .note-link:where(.svelte-17377q0){color:var(--text)}.asks.svelte-17377q0 .qb:where(.svelte-17377q0){color:var(--text-soft);font-size:12.5px;display:block}.asks.svelte-17377q0 .keep:where(.svelte-17377q0){--cut:5px;border:1px solid var(--rose);height:22px;color:var(--rose);font:10px/20px var(--font-ui);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;--glint:.4;transition:background-color var(--t-ack) var(--ease-out);background:0 0;flex:none;margin-left:4px;padding:0 9px}.asks.svelte-17377q0 .keep:where(.svelte-17377q0):hover{background:var(--rose-soft)}.offer.svelte-17377q0{border-left:2px solid var(--line-strong);gap:4px;margin-left:16px;padding:2px 0 2px 12px;display:grid}.offer.svelte-17377q0 .yours:where(.svelte-17377q0){font:15px/1.6 var(--font-text);color:var(--text);overflow-wrap:anywhere}.offer.svelte-17377q0 .for:where(.svelte-17377q0){color:var(--text-faint);align-items:center;gap:10px;font-size:12px;display:flex}.offer.svelte-17377q0 .in:where(.svelte-17377q0){color:var(--malachite)}.offer.svelte-17377q0 .insert:where(.svelte-17377q0){font:inherit;color:var(--lattice);cursor:pointer;background:0 0;border:0;padding:0}.doing.svelte-17377q0{color:var(--text-faint);align-items:center;gap:10px;font-size:12px;display:flex}.gave.svelte-17377q0{flex-wrap:wrap;gap:4px;display:flex}.chip.svelte-17377q0{border:1px solid var(--line);height:20px;color:var(--text-soft);align-items:center;gap:6px;max-width:100%;padding:0 8px;font-size:11px;display:inline-flex}.chip.out.svelte-17377q0{opacity:.6;text-decoration:line-through}.chip.svelte-17377q0 .k:where(.svelte-17377q0){color:var(--growth)}.chip.svelte-17377q0 .t:where(.svelte-17377q0){text-overflow:ellipsis;white-space:nowrap;max-width:22ch;overflow:hidden}.parts.svelte-17377q0{flex-wrap:wrap;gap:8px;margin-left:16px;display:flex}.part.svelte-17377q0{text-align:left;min-width:0;max-width:100%;font:10px/14px var(--font-ui);text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);cursor:pointer;--glint:.3;transition:background-color var(--t-ack) var(--ease-out);background:0 0;border:0;justify-items:start;gap:1px;padding:6px 10px 5px;display:grid;position:relative}.part.svelte-17377q0>s:where(.svelte-17377q0){pointer-events:none;--b:var(--line-strong);--l:6px;background:linear-gradient(var(--b), var(--b)) top left / var(--l) 1px no-repeat, linear-gradient(var(--b), var(--b)) top left / 1px var(--l) no-repeat, linear-gradient(var(--b), var(--b)) top right / var(--l) 1px no-repeat, linear-gradient(var(--b), var(--b)) top right / 1px var(--l) no-repeat, linear-gradient(var(--b), var(--b)) bottom left / var(--l) 1px no-repeat, linear-gradient(var(--b), var(--b)) bottom left / 1px var(--l) no-repeat, linear-gradient(var(--b), var(--b)) bottom right / var(--l) 1px no-repeat, linear-gradient(var(--b), var(--b)) bottom right / 1px var(--l) no-repeat;position:absolute;inset:0}.part.svelte-17377q0 b:where(.svelte-17377q0){font:13px/18px var(--font-text);text-transform:none;letter-spacing:0;color:var(--text);overflow-wrap:anywhere;font-weight:400}.part.svelte-17377q0:hover>s:where(.svelte-17377q0),.part.lit.svelte-17377q0>s:where(.svelte-17377q0){--b:var(--lattice)}.part.svelte-17377q0:hover,.part.lit.svelte-17377q0{background:var(--lattice-soft)}.bad.svelte-17377q0{color:var(--rose);padding-left:16px;font-size:12px}.end.svelte-17377q0{padding-left:16px;font-size:12px}.iso.svelte-d2jxoz{flex-direction:column;height:100%;min-height:0;display:flex}.iso.drop.svelte-d2jxoz{outline:2px dashed var(--growth);outline-offset:-4px}.chat.svelte-d2jxoz{flex-direction:column;flex:auto;gap:18px;min-height:0;padding:16px;display:flex;overflow:auto}.bad.svelte-d2jxoz{color:var(--rose);padding-left:16px;font-size:12px}.composer.svelte-d2jxoz{border-top:1px solid var(--line);flex:none;gap:8px;padding:10px 12px;display:grid}.box.svelte-d2jxoz{display:flex;position:relative}textarea.svelte-d2jxoz{resize:none;field-sizing:content;background:var(--ground-1);border:1px solid var(--line);min-width:0;min-height:42px;max-height:160px;font:13px/1.5 var(--font-ui);color:var(--text);flex:auto;padding:9px 34px 9px 10px}.corner.svelte-d2jxoz{width:26px;height:26px;color:var(--growth);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;bottom:5px;right:5px}.corner.stop.svelte-d2jxoz{color:var(--rose)}@media (pointer:fine){.corner.send.svelte-d2jxoz{display:none}}.chips.svelte-d2jxoz{flex-wrap:wrap;gap:6px;max-height:84px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.chip.svelte-d2jxoz{border:1px solid var(--line-strong);background:var(--ground-1);min-width:0;max-width:100%;font:12px/1.4 var(--font-ui);color:var(--text);align-items:center;gap:6px;padding:2px 4px 2px 8px;display:inline-flex}.chip.svelte-d2jxoz .g:where(.svelte-d2jxoz){color:var(--growth);flex:none}.chip.svelte-d2jxoz .t:where(.svelte-d2jxoz){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mid.svelte-d2jxoz{font:12px/1.4 var(--font-ui);color:var(--text-soft);margin:0}.mid.svelte-d2jxoz .more:where(.svelte-d2jxoz){color:var(--growth);font:inherit;cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}.handoff.svelte-d2jxoz{align-items:center;gap:8px;margin:0;display:flex}.handoff.svelte-d2jxoz .more:where(.svelte-d2jxoz){color:var(--growth);font:12px/1.4 var(--font-ui);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}.chip.given.svelte-d2jxoz{border-color:var(--line);color:var(--text-faint)}.chip.given.svelte-d2jxoz .g:where(.svelte-d2jxoz){color:var(--text-faint)}.chip.svelte-d2jxoz .x:where(.svelte-d2jxoz){width:18px;height:18px;color:inherit;cursor:pointer;background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}.chip.svelte-d2jxoz .x:where(.svelte-d2jxoz):hover{color:var(--rose)}.settings.svelte-d2jxoz{flex-wrap:wrap;gap:6px;display:flex}.set.svelte-d2jxoz .field:where(.svelte-d2jxoz){font:11.5px var(--font-ui);max-width:14em;padding:2px 6px}.slash.svelte-d2jxoz{border:1px solid var(--line);background:var(--ground-1);max-height:160px;margin:0;padding:0;list-style:none;overflow:auto}.slash.svelte-d2jxoz button:where(.svelte-d2jxoz){text-align:left;width:100%;font:12.5px var(--font-ui);color:var(--text-soft);cursor:pointer;background:0 0;border:0;padding:6px 10px;display:block}.slash.svelte-d2jxoz button.on:where(.svelte-d2jxoz),.slash.svelte-d2jxoz button:where(.svelte-d2jxoz):hover{background:var(--ground-2,var(--ground-0));color:var(--text)}.slash.svelte-d2jxoz b:where(.svelte-d2jxoz){font:500 12px var(--font-mono);color:var(--text)}.slash.svelte-d2jxoz .d:where(.svelte-d2jxoz){color:var(--text-faint)}textarea.svelte-d2jxoz:focus{border-color:var(--line-strong);outline:none}.base.svelte-1wk2ip3{font:inherit;color:var(--text-faint);cursor:pointer;text-overflow:ellipsis;background:0 0;border:0;max-width:12em;padding:4px 0;font-size:12px;overflow:hidden}.base.svelte-1wk2ip3:hover,.base.svelte-1wk2ip3:focus-visible,.base[aria-expanded=true].svelte-1wk2ip3{color:var(--text)}.slash.svelte-1wk2ip3{color:var(--text-faint);margin:0 -4px;font-size:12px}.bases.svelte-1wk2ip3{--inside:var(--ground-2);z-index:22;white-space:nowrap;-webkit-user-select:none;user-select:none;width:min(320px,100vw - 16px);padding:22px 12px 12px;position:fixed}.bases.svelte-1wk2ip3:focus-visible{outline:none}ul.svelte-1wk2ip3{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}li.svelte-1wk2ip3{grid-template-columns:16px 1fr 28px 28px;align-items:center;gap:6px;font-size:13px;display:grid}.tick.svelte-1wk2ip3{color:var(--lattice);text-align:center;font-size:12px;font-style:normal}a.svelte-1wk2ip3{color:var(--text-soft);text-overflow:ellipsis;padding:5px 0;text-decoration:none;overflow:hidden}a.svelte-1wk2ip3:hover,a.svelte-1wk2ip3:focus-visible{color:var(--text);text-decoration:underline}li.here.svelte-1wk2ip3 a:where(.svelte-1wk2ip3){color:var(--text)}.lend.svelte-1wk2ip3{width:28px;height:28px;color:var(--text-faint);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid;position:relative}.lend.svelte-1wk2ip3:hover:not(:disabled),.lend.svelte-1wk2ip3:focus-visible{color:var(--text)}.lend[aria-pressed=true].svelte-1wk2ip3{--c:var(--growth);background:var(--c,var(--lattice));color:var(--ground-0);--cut:4px;clip-path:var(--chosen-cut)}.lend.svelte-1wk2ip3:disabled{cursor:default}.field.name.svelte-1wk2ip3{min-width:0;padding:3px 6px;font-size:13px}.bad.svelte-1wk2ip3{color:var(--rose);white-space:normal;margin:8px 0 0;font-size:12px}.phead.svelte-ubc5lw{border-bottom:1px solid var(--line);white-space:nowrap;-webkit-user-select:none;user-select:none;flex:none;align-items:center;gap:12px;min-width:0;height:40px;padding:0 10px 0 16px;display:flex;position:relative;overflow:hidden;container:phead/inline-size}.pname.svelte-ubc5lw{font-family:var(--font-pixel);color:var(--text-soft);align-items:center;gap:8px;font-size:15px;display:flex}.pname.svelte-ubc5lw:before{content:"";background:var(--line-strong);width:6px;height:6px}.pane.focus .pname.svelte-ubc5lw{color:var(--text)}.pane.focus .pname.svelte-ubc5lw:before{background:var(--lattice)}.switches.svelte-ubc5lw{align-items:center;gap:1px;margin-left:-4px;display:flex}.sw.svelte-ubc5lw{width:28px;height:28px;color:var(--text-faint);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid;position:relative}.sw.svelte-ubc5lw:hover,.sw.svelte-ubc5lw:focus-visible{color:var(--text)}.sw[aria-pressed=true].svelte-ubc5lw{background:var(--c,var(--lattice));color:var(--ground-0);--cut:4px;clip-path:var(--chosen-cut)}.lbl.svelte-ubc5lw{font:12px/1 var(--font-ui);letter-spacing:.02em;display:none}.named.svelte-ubc5lw .sw:where(.svelte-ubc5lw):not([aria-pressed=true]){color:color-mix(in srgb, var(--c) 55%, var(--text-faint))}.named.svelte-ubc5lw .sw:where(.svelte-ubc5lw):not([aria-pressed=true]):hover,.named.svelte-ubc5lw .sw:where(.svelte-ubc5lw):not([aria-pressed=true]):focus-visible{color:var(--c)}@container phead (width>=520px){.named.svelte-ubc5lw .switches:where(.svelte-ubc5lw){gap:3px}.named.svelte-ubc5lw .sw:where(.svelte-ubc5lw){width:38px}.named.svelte-ubc5lw .sw:where(.svelte-ubc5lw) svg{width:18px;height:18px}}@container phead (width>=760px){.named.svelte-ubc5lw .switches:where(.svelte-ubc5lw){gap:4px}.named.svelte-ubc5lw .sw:where(.svelte-ubc5lw){align-items:center;gap:7px;width:auto;padding:0 12px 0 10px;display:inline-flex}.named.svelte-ubc5lw .lbl:where(.svelte-ubc5lw){display:inline}}.grow.svelte-ubc5lw{flex:auto}.icon.svelte-ubc5lw{width:28px;height:28px;color:var(--text-faint);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}.icon.svelte-ubc5lw:hover,.icon.svelte-ubc5lw:focus-visible{color:var(--text)}.gear[aria-expanded=true].svelte-ubc5lw{color:var(--text);box-shadow:inset 0 -2px 0 var(--text)}.settings.svelte-ubc5lw{--inside:var(--ground-2);z-index:21;white-space:normal;-webkit-user-select:text;user-select:text;width:min(400px,100% - 16px);padding:0;position:absolute;top:54px;right:8px}.inner.svelte-ubc5lw{gap:var(--space-6);flex-direction:column;max-height:calc(100dvh - 140px);padding:24px 18px 14px;display:flex;overflow:auto}.settings.svelte-ubc5lw:focus-visible{outline:none}@media (width<=760px){.phead.svelte-ubc5lw{height:48px}.switches.svelte-ubc5lw{scrollbar-width:none;flex:0 auto;min-width:56px;overflow-x:auto}.settings.svelte-ubc5lw{top:62px}.inner.svelte-ubc5lw{max-height:calc(100dvh - 210px)}}.gauge.svelte-1cyuk5c{cursor:pointer;background:0 0;border:0;flex-direction:column;align-self:center;gap:3px;width:32px;margin-right:4px;padding:6px 0;display:inline-flex}.bar.svelte-1cyuk5c{background:var(--ground-2);height:3px;display:block;position:relative}.bar.svelte-1cyuk5c:after{content:"";transform-origin:0;transform:scaleX(var(--fill));background:var(--growth);transition:transform .3s;position:absolute;inset:0}.bar.ctx.long.svelte-1cyuk5c:after{background:var(--builds)}.bar.ctx.full.svelte-1cyuk5c:after{background:var(--rose)}@media (prefers-reduced-motion:reduce){.bar.svelte-1cyuk5c:after{transition:none}}section.svelte-1c4xnzk{gap:var(--space-2);flex-direction:column;display:flex}h2.svelte-1c4xnzk{font-weight:400}.note.svelte-1c4xnzk{color:var(--text-dim,var(--text));font-size:12px}fieldset.svelte-1c4xnzk{gap:var(--space-2);border:0;flex-direction:column;margin:0;padding:0;display:flex}.warn.svelte-1c4xnzk{color:var(--rose)}.row.svelte-1c4xnzk{gap:var(--space-2);display:flex}input.svelte-1c4xnzk,select.svelte-1c4xnzk{background:var(--ground-1);border:1px solid var(--line);font:12.5px var(--font-mono);color:var(--text);padding:6px 8px}.bad.svelte-1c4xnzk{color:var(--rose)}.agents.svelte-1c4xnzk{resize:vertical;field-sizing:content;background:var(--ground-1);border:1px solid var(--line);width:100%;min-height:96px;font:12.5px/1.55 var(--font-mono);color:var(--text);padding:8px 10px}.agents.svelte-1c4xnzk:focus{border-color:var(--line-strong);outline:none}section.svelte-1h9x2hz{gap:var(--space-2);flex-direction:column;display:flex}h2.svelte-1h9x2hz{font-weight:400}.name.svelte-1h9x2hz{color:var(--text)}.danger-text.svelte-1h9x2hz:hover,.danger-text.svelte-1h9x2hz:focus-visible{color:var(--rose)}.ask.svelte-1h9x2hz{gap:var(--space-2);color:var(--text-soft);flex-direction:column;font-size:13px;display:flex}.problem.svelte-1h9x2hz{color:var(--rose);margin:0;font-size:12px}.row.svelte-1h9x2hz{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.btn.on.svelte-1h9x2hz{--fill:var(--lattice);color:var(--ground-0);font-weight:700}.icons.svelte-1h9x2hz{align-items:center;gap:2px;display:flex}.icon.svelte-1h9x2hz{width:28px;height:28px;color:var(--text-faint);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.icon.svelte-1h9x2hz:hover,.icon.svelte-1h9x2hz:focus-visible{color:var(--text)}.icon[aria-pressed=true].svelte-1h9x2hz{background:var(--c,var(--lattice));color:var(--ground-0);--cut:4px;clip-path:var(--chosen-cut)}.icon.off.svelte-1h9x2hz{opacity:.45;background:0 0}.foot.svelte-1h9x2hz{border-top:1px solid var(--line);padding-top:var(--space-3);margin:0;font-size:12px}.says.svelte-12qhfyh{text-overflow:ellipsis;min-width:5.5em;color:var(--text-soft);flex:0 auto;font-size:12px;overflow:hidden}@media (width<=760px){.says.svelte-12qhfyh{flex:none}}.out.svelte-12qhfyh{flex:none;height:28px;padding:0 10px;font-size:12px}.where.svelte-12qhfyh{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:12px;overflow:hidden}@media (width>=761px){.out.svelte-12qhfyh,.where.svelte-12qhfyh{display:none}}.bad.svelte-12qhfyh{color:var(--rose)}.saved.svelte-12qhfyh{flex:none;place-items:center;width:14px;height:28px;display:grid}.saved.svelte-12qhfyh i:where(.svelte-12qhfyh){background:var(--line-strong);border-radius:50%;width:6px;height:6px}.saved.busy.svelte-12qhfyh i:where(.svelte-12qhfyh){background:var(--growth)}.saved.bad.svelte-12qhfyh i:where(.svelte-12qhfyh){background:var(--rose)}.set.svelte-12qhfyh{gap:var(--space-2);flex-direction:column;display:flex}.set.svelte-12qhfyh h2:where(.svelte-12qhfyh){font-weight:400}.shell.svelte-12qhfyh{padding-top:env(safe-area-inset-top)}.panes.svelte-12qhfyh{min-width:0;min-height:0;height:calc(100dvh - env(safe-area-inset-top));display:grid}.pane.svelte-12qhfyh{border-left:1px solid var(--line);background:var(--ground-0);flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.pane.first.svelte-12qhfyh{border-left:0}.pane.top.svelte-12qhfyh{border-bottom:1px solid var(--line)}.pane[hidden].svelte-12qhfyh{display:none}.pbody.svelte-12qhfyh{overscroll-behavior:contain;flex:auto;min-height:0;position:relative;overflow:auto}.atlas-body.svelte-12qhfyh{overflow:hidden}.iso-body.svelte-12qhfyh{flex-direction:column;display:flex;overflow:hidden}.note-body.svelte-12qhfyh{container:page/inline-size}.divider.svelte-12qhfyh{z-index:6;cursor:col-resize;touch-action:none;width:7px;position:absolute;top:0;bottom:0;left:-4px}.divider.svelte-12qhfyh:before{content:"";background:0 0;width:1px;transition:background .15s,width .15s,left .15s;position:absolute;top:0;bottom:0;left:3px}.divider.svelte-12qhfyh:hover:before,.divider.svelte-12qhfyh:focus-visible:before{background:var(--lattice);width:3px;left:2px}.divider.svelte-12qhfyh:focus-visible{outline:none}.tree.svelte-12qhfyh{z-index:7;background:var(--ground-0);position:absolute;inset:40px 0 0;overflow:auto}button.icon.svelte-12qhfyh{cursor:pointer;background:0 0;border:0;padding:0}button.icon[aria-pressed=true].svelte-12qhfyh{background:var(--c,var(--lattice));color:var(--ground-0);--cut:4px;clip-path:var(--chosen-cut)}.tabs.svelte-12qhfyh{display:none}@media (width<=760px){.tree.svelte-12qhfyh{top:48px}.panes.svelte-12qhfyh{scroll-snap-type:x mandatory;scrollbar-width:none;height:calc(100dvh - env(safe-area-inset-top) - 52px - env(safe-area-inset-bottom));display:flex;overflow:auto hidden}.panes.svelte-12qhfyh::-webkit-scrollbar{display:none}.pane.svelte-12qhfyh,.pane[hidden].svelte-12qhfyh{scroll-snap-align:start;scroll-snap-stop:always;border-left:0;flex:0 0 100%;display:flex}.tabs.svelte-12qhfyh{z-index:10;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);background:var(--ground-0);grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabs.svelte-12qhfyh button:where(.svelte-12qhfyh){height:52px;font-family:var(--font-pixel);color:var(--text-faint);cursor:pointer;background:0 0;border:0;place-content:center;gap:2px;font-size:14px;display:grid;position:relative}.tabs.svelte-12qhfyh button[aria-current=true]:where(.svelte-12qhfyh){color:var(--text)}.tabs.svelte-12qhfyh button[aria-current=true]:where(.svelte-12qhfyh):before{content:"";background:var(--text);height:2px;position:absolute;top:-1px;left:20%;right:20%}.tabs.svelte-12qhfyh .badge:where(.svelte-12qhfyh){font:10px var(--font-ui);color:var(--ground-0);background:var(--growth);place-items:center;min-width:16px;height:16px;padding:0 3px;display:grid;position:absolute;top:8px;right:calc(50% - 30px)}}button.chip.svelte-12qhfyh{font:11px var(--font-ui);text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;max-width:9em;padding:0 4px;overflow:hidden}button.chip.svelte-12qhfyh:hover,button.chip.svelte-12qhfyh:focus-visible{color:var(--text)}.icon.svelte-12qhfyh{width:28px;height:28px;color:var(--text-faint);flex:none;place-items:center;display:grid}.icon.svelte-12qhfyh:hover,.icon.svelte-12qhfyh:focus-visible{color:var(--text);text-decoration:none}.icon.svelte-12qhfyh:disabled{opacity:.35;cursor:default}.ctx.svelte-12qhfyh{align-items:center;gap:4px;width:auto;min-width:28px;padding:0 5px;display:inline-flex}.ctx.svelte-12qhfyh .n:where(.svelte-12qhfyh){font:11px/1 var(--font-ui);color:var(--growth);font-variant-numeric:tabular-nums}.ctx.svelte-12qhfyh .n.pulse:where(.svelte-12qhfyh){animation:.9s ease-out svelte-12qhfyh-pulse}@keyframes svelte-12qhfyh-pulse{0%{color:var(--text);text-shadow:0 0 6px var(--growth)}}@media (prefers-reduced-motion:reduce){.ctx.svelte-12qhfyh .n.pulse:where(.svelte-12qhfyh){animation:none}}.stopped.svelte-12qhfyh{padding:var(--space-12) var(--space-4);text-align:center;color:var(--rose)}
@@ -0,0 +1 @@
1
+ import{H as e,U as t,W as n,at as r,it as i,n as a,o,t as s}from"./Cz6kYWmu.js";var c=class{constructor(e,t){this.status=e,this.body=typeof t==`string`?{message:t}:t||{message:`Error: ${e}`}}toString(){return JSON.stringify(this.body)}},l=class{constructor(e,t){try{new Headers({location:t})}catch{throw Error(`Invalid redirect location ${JSON.stringify(t)}: this string contains characters that cannot be used in HTTP headers`)}this.status=e,this.location=t}},u=class extends Error{constructor(e,t,n){super(n),this.status=e,this.text=t}};new URL(`sveltekit-internal://`);function d(e,t){return e===`/`||t===`ignore`?e:t===`never`?e.endsWith(`/`)?e.slice(0,-1):e:t===`always`&&!e.endsWith(`/`)?e+`/`:e}function f(e){return e.split(`%25`).map(decodeURI).join(`%25`)}function p(e){for(let t in e)e[t]=decodeURIComponent(e[t]);return e}function m({href:e}){return e.split(`#`)[0]}function ee(e,t,n,r=!1){let i=new URL(e);Object.defineProperty(i,"searchParams",{value:new Proxy(i.searchParams,{get(e,r){if(r===`get`||r===`getAll`||r===`has`)return(t,...i)=>(n(t),e[r](t,...i));t();let i=Reflect.get(e,r);return typeof i==`function`?i.bind(e):i}}),enumerable:!0,configurable:!0});let a=[`href`,`pathname`,`search`,`toString`,`toJSON`];r&&a.push(`hash`);for(let n of a)Object.defineProperty(i,n,{get(){return t(),e[n]},enumerable:!0,configurable:!0});return i}function h(){}function g(...e){let t=5381;for(let n of e)if(typeof n==`string`){let e=n.length;for(;e;)t=t*33^n.charCodeAt(--e)}else if(ArrayBuffer.isView(n)){let e=new Uint8Array(n.buffer,n.byteOffset,n.byteLength),r=e.length;for(;r;)t=t*33^e[--r]}else throw TypeError(`value must be a string or TypedArray`);return(t>>>0).toString(36)}new TextEncoder;function _(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}var te=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:t?.method||`GET`)!==`GET`&&v.delete(x(e)),te(e,t));var v=new Map;function y(e,t){let n=x(e,t),r=document.querySelector(n);if(r?.textContent){r.remove();let{body:e,...t}=JSON.parse(r.textContent);r.getAttribute(`data-b64`)!==null&&(e=_(e));let i=r.getAttribute(`data-ttl`);return i&&v.set(n,{body:e,init:t,ttl:1e3*Number(i)}),Promise.resolve(new Response(e,t))}return window.fetch(e,t)}function b(e,t,n){if(v.size>0){let t=x(e,n),r=v.get(t);if(r){if(performance.now()<r.ttl&&[`default`,`force-cache`,`only-if-cached`,void 0].includes(n?.cache))return new Response(r.body,r.init);v.delete(t)}}return window.fetch(t,n)}function x(e,t){let n=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t?.headers||t?.body){let e=[];t.headers&&e.push([...new Headers(t.headers)].join(`,`)),t.body&&(typeof t.body==`string`||ArrayBuffer.isView(t.body))&&e.push(t.body),n+=`[data-hash="${g(...e)}"]`}return n}var ne=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/,S=/^\/\((?:[^)]+)\)$/;function re(e){let t=[];return{pattern:e===`/`||S.test(e)?/^\/$/:RegExp(`^${ae(e).map(e=>{let n=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(e);if(n)return t.push({name:n[1],matcher:n[2],optional:!1,rest:!0,chained:!0}),`(?:/([^]*))?`;let r=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(e);if(r)return t.push({name:r[1],matcher:r[2],optional:!0,rest:!1,chained:!0}),`(?:/([^/]+))?`;if(!e)return;let i=e.split(/\[(.+?)\](?!\])/);return`/`+i.map((e,n)=>{if(n%2){if(e.startsWith(`x+`))return se(String.fromCharCode(parseInt(e.slice(2),16)));if(e.startsWith(`u+`))return se(String.fromCharCode(...e.slice(2).split(`-`).map(e=>parseInt(e,16))));let[,r,a,o,s]=ne.exec(e);return t.push({name:o,matcher:s,optional:!!r,rest:!!a,chained:a?n===1&&i[0]===``:!1}),a?`([^]*?)`:r?`([^/]*)?`:`([^/]+?)`}return se(e)}).join(``)}).join(``)}/?$`),params:t}}function ie(e){return e!==``&&!/^\([^)]+\)$/.test(e)}function ae(e){return e.slice(1).split(`/`).filter(ie)}function oe(e,t,n){let r={},i=e.slice(1),a=i.filter(e=>e!==void 0),o=0;for(let e=0;e<t.length;e+=1){let s=t[e],c=i[e-o];if(s.chained&&s.rest&&o&&(c=i.slice(e-o,e+1).filter(e=>e).join(`/`),o=0),c===void 0){if(s.rest)c=``;else continue}if(!s.matcher||n[s.matcher](c)){r[s.name]=c;let n=t[e+1],l=i[e+1];n&&!n.rest&&n.optional&&l&&s.chained&&(o=0),!n&&!l&&Object.keys(r).length===a.length&&(o=0)}else if(s.optional&&s.chained)o++;else return}if(!o)return r}function se(e){return e.normalize().replace(/[[\]]/g,`\\$&`).replace(/%/g,`%25`).replace(/\//g,`%2[Ff]`).replace(/\?/g,`%3[Ff]`).replace(/#/g,`%23`).replace(/[.*+?^${}()|\\]/g,`\\$&`)}var ce=/\[(\[)?(\.\.\.)?(\w+?)(?:=(\w+))?\]\]?/g;function le(e,t){let n=ae(e),r=e!=`/`&&e.endsWith(`/`);return`/`+n.map(n=>n.replace(ce,(n,r,i,a)=>{let o=t[a];if(!o){if(r||i&&o!==void 0)return``;throw Error(`Missing parameter '${a}' in route ${e}`)}if(o.startsWith(`/`)||o.endsWith(`/`))throw Error(`Parameter '${a}' in route ${e} cannot start or end with a slash -- this would cause an invalid route like foo//bar`);return o})).filter(Boolean).join(`/`)+(r?`/`:``)}function ue({nodes:e,server_loads:t,dictionary:n,matchers:r}){let i=new Set(t);return Object.entries(n).map(([t,[n,i,s]])=>{let{pattern:c,params:l}=re(t),u={id:t,exec:e=>{let t=c.exec(e);if(t)return oe(t,l,r)},errors:[1,...s||[]].map(t=>e[t]),layouts:[0,...i||[]].map(o),leaf:a(n)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function a(t){let n=t<0;return n&&(t=~t),[n,e[t]]}function o(t){return t===void 0?t:[i.has(t),e[t]]}}function de(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function fe(e,t,n=JSON.stringify){let r=n(t);try{sessionStorage[e]=r}catch{}}var C=globalThis.__sveltekit_1a733yx?.base??``,pe=globalThis.__sveltekit_1a733yx?.assets??C??``;function me(e){return(pe||C)+e}var he=`#`;function ge(...e){if(!e[0].startsWith(`/`))throw Error(`Cannot use \`resolve(...)\` with a non-absolute pathname or route ID (got "${e[0]}"). \`resolve\` is only for internal pathnames and route IDs; external URLs should be used directly.`);return C+he+le(e[0],e[1])}var _e=`1793941790772`,ve=`sveltekit:snapshot`,ye=`sveltekit:scroll`,be=`sveltekit:states`,w=`sveltekit:history`,T=`sveltekit:navigation`,E={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},xe=location.origin;function Se(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){let e=document.getElementsByTagName(`base`);t=e.length?e[0].href:document.URL}return new URL(e,t)}function D(){return{x:pageXOffset,y:pageYOffset}}function O(e,t){return e.getAttribute(`data-sveltekit-${t}`)}var Ce={...E,"":E.hover};function we(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11&&(t=t.host),t}function Te(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()===`A`&&e.hasAttribute(`href`))return e;e=we(e)}}function Ee(e,t,n){let r;try{if(r=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&r.hash.match(/^#[^/]/)){let e=location.hash.split(`#`)[1]||`/`;r.hash=`#${e}${r.hash}`}}catch{}let i=e instanceof SVGAElement?e.target.baseVal:e.target,a=!r||!!i||je(r,t,n)||(e.getAttribute(`rel`)||``).split(/\s+/).includes(`external`),o=r?.origin===xe&&e.hasAttribute(`download`);return{url:r,external:a,target:i,download:o}}function De(e){let t=null,n=null,r=null,i=null,a=null,o=null,s=e;for(;s&&s!==document.documentElement;)r===null&&(r=O(s,`preload-code`)),i===null&&(i=O(s,`preload-data`)),t===null&&(t=O(s,`keepfocus`)),n===null&&(n=O(s,`noscroll`)),a===null&&(a=O(s,`reload`)),o===null&&(o=O(s,`replacestate`)),s=we(s);function c(e){switch(e){case``:case`true`:return!0;case`off`:case`false`:return!1;default:return}}return{preload_code:Ce[r??`off`],preload_data:Ce[i??`off`],keepfocus:c(t),noscroll:c(n),reload:c(a),replace_state:c(o)}}function Oe(e){let t=o(e),n=!0;function r(){n=!0,t.update(e=>e)}function i(e){n=!1,t.set(e)}function a(e){let r;return t.subscribe(t=>{(r===void 0||n&&t!==r)&&e(r=t)})}return{notify:r,set:i,subscribe:a}}var ke={v:h};function Ae(){let{set:e,subscribe:t}=o(!1),n;async function r(){clearTimeout(n);try{let t=await fetch(`${pe}/_app/version.json`,{headers:{pragma:`no-cache`,"cache-control":`no-cache`}});if(!t.ok)return!1;let r=(await t.json()).version!==_e;return r&&(e(!0),ke.v(),clearTimeout(n)),r}catch{return!1}}return{subscribe:t,check:r}}function je(e,t,n){return e.origin!==xe||!e.pathname.startsWith(t)?!0:n?e.pathname!==location.pathname:!1}function Me(e){}var Ne=new Set([`load`,`prerender`,`csr`,`ssr`,`trailingSlash`,`config`]);[...Ne],[...new Set([...Ne])];function Pe(e){return e.filter(e=>e!=null)}function k(e,t){return e+`/`+t}function Fe(e){return e instanceof c||e instanceof u?e.status:500}function Ie(e){return e instanceof u?e.text:`Internal Error`}var A,j,Le,Re=a.toString().includes(`$$`)||/function \w+\(\) \{\}/.test(a.toString()),ze=`a:`;Re?(A={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(ze)},j={current:null},Le={current:!1}):(A=new class{#e=r({});get data(){return e(this.#e)}set data(e){i(this.#e,e)}#t=r(null);get form(){return e(this.#t)}set form(e){i(this.#t,e)}#n=r(null);get error(){return e(this.#n)}set error(e){i(this.#n,e)}#r=r({});get params(){return e(this.#r)}set params(e){i(this.#r,e)}#i=r({id:null});get route(){return e(this.#i)}set route(e){i(this.#i,e)}#a=r({});get state(){return e(this.#a)}set state(e){i(this.#a,e)}#o=r(-1);get status(){return e(this.#o)}set status(e){i(this.#o,e)}#s=r(new URL(ze));get url(){return e(this.#s)}set url(e){i(this.#s,e)}},j=new class{#e=r(null);get current(){return e(this.#e)}set current(e){i(this.#e,e)}},Le=new class{#e=r(!1);get current(){return e(this.#e)}set current(e){i(this.#e,e)}},ke.v=()=>Le.current=!0);function Be(e){Object.assign(A,e)}var Ve={spanContext(){return He},setAttribute(){return this},setAttributes(){return this},addEvent(){return this},setStatus(){return this},updateName(){return this},end(){return this},isRecording(){return!1},recordException(){return this},addLink(){return this},addLinks(){return this}},He={traceId:``,spanId:``,traceFlags:0},{onMount:Ue,tick:We}=s,Ge=new Set([`icon`,`shortcut icon`,`apple-touch-icon`]),M=null,N=de(`sveltekit:scroll`)??{},P=de(`sveltekit:snapshot`)??{},F={url:Oe({}),page:Oe({}),navigating:o(null),updated:Ae()};function Ke(e){N[e]=D()}function qe(e,t){let n=e+1;for(;N[n];)delete N[n],n+=1;for(n=t+1;P[n];)delete P[n],n+=1}function I(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(h)}async function Je(){if(`serviceWorker`in navigator){let e=await navigator.serviceWorker.getRegistration(C||`/`);e&&await e.update()}}var Ye,Xe,L,R,Ze,z,Qe={},$e={},B=[],V=[],H=null;function U(){H?.fork?.then(e=>e?.discard()),H=null,Q={element:void 0,href:void 0}}var et=new Map,tt=new Set,nt=new Set,W=new Set,G={branch:[],error:null,url:null,nav:null},rt=!1,it=!1,at=!0,K=!1,q=!1,ot=!1,st=!1,ct,J,Y,X,lt=new Set,ut=new Map,dt=new Map;async function ft(e,t,n){if(globalThis.__sveltekit_1a733yx.data){let{q:e={},p:t={},l:n={},f:r={}}=globalThis.__sveltekit_1a733yx.data;for(let t in e)Qe[t]=e[t];for(let e in n)Qe[e]=n[e];for(let e in r)Qe[e]=r[e];for(let e in t)$e[e]=t[e]}document.URL!==location.href&&(location.href=location.href),z=e,await e.hooks.init?.(),Ye=ue(e),R=document.documentElement,Ze=t,Xe=e.nodes[0],L=e.nodes[1],Xe(),L(),J=history.state?.[w],Y=history.state?.[T],J||(J=Y=Date.now(),history.replaceState({...history.state,[w]:J,[T]:Y},``));let r=N[J];function i(){r&&(history.scrollRestoration=`manual`,scrollTo(r.x,r.y))}n?(i(),await Vt(Ze,n)):(await Z({type:`enter`,url:Se(z.hash?qt(new URL(location.href)):location.href),replace_state:!0}),i()),Bt()}function pt(){B.length=0,st=!1}function mt(e){V.some(e=>e?.snapshot)&&(P[e]=V.map(e=>e?.snapshot?.capture()))}function ht(e){P[e]?.forEach((e,t)=>{V[t]?.snapshot?.restore(e)})}function gt(){Ke(J),fe(ye,N),mt(Y),fe(ve,P)}async function _t(e,t,r,i){let a,o;t.invalidateAll&&U(),await Z({type:`goto`,url:Se(e),keepfocus:t.keepFocus,noscroll:t.noScroll,replace_state:t.replaceState,state:t.state,redirect_count:r,nav_token:i,accept:()=>{if(t.invalidateAll){st=!0,a=new Set;for(let[e,t]of ut)for(let[n,r]of t)r.resource?.reset(),a.add(k(e,n));o=new Set;for(let[e,t]of dt)for(let n of t.keys())o.add(k(e,n))}t.invalidate&&t.invalidate.forEach(zt)}}),t.invalidateAll&&n().then(n).then(()=>{for(let[e,t]of ut)for(let[n,{resource:r}]of t)a?.has(k(e,n))&&r.start();for(let[e,t]of dt)for(let[n,{resource:r}]of t)o?.has(k(e,n))&&r.reconnect()})}async function vt(e){if(e.id!==H?.id){U();let t={};lt.add(t),H={id:e.id,token:t,promise:Ot({...e,preload:t}).then(e=>(lt.delete(t),e.type===`loaded`&&e.state.error&&U(),e)),fork:null}}return H.promise}async function yt(e){let t=(await Mt(e,!1))?.route;t&&await Promise.all([...t.layouts,t.leaf].filter(Boolean).map(e=>e[1]()))}async function bt(e,t,n){let r={params:G.params,route:{id:G.route?.id??null},url:new URL(location.href)};if(G={...e.state,nav:r},Be(e.props.page),ct=new z.root({target:t,props:{...e.props,stores:F,components:V},hydrate:n,sync:!1,transformError:void 0}),await Promise.resolve(),n){let e={from:null,to:{...r,scroll:N[J]??D()},willUnload:!1,type:`enter`,complete:Promise.resolve()};W.forEach(t=>t(e))}ht(Y),it=!0}async function xt({url:e,params:t,branch:n,errors:r,status:i,error:a,route:o,form:s}){let c=`never`;if(C&&(e.pathname===C||e.pathname===C+`/`))c=`always`;else for(let e of n)e?.slash!==void 0&&(c=e.slash);e.pathname=d(e.pathname,c),e.search=e.search;let l={type:`loaded`,state:{url:e,params:t,branch:n,error:a,route:o},props:{constructors:Pe(n).map(e=>e.node.component),page:Kt(A)}};s!==void 0&&(l.props.form=s);let u={},f=!A,p=0;for(let e=0;e<Math.max(n.length,G.branch.length);e+=1){let t=n[e],r=G.branch[e];t?.data!==r?.data&&(f=!0),t&&(u={...u,...t.data},f&&(l.props[`data_${p}`]=u),p+=1)}return(!G.url||e.href!==G.url.href||G.error!==a||s!==void 0&&s!==A.form||f)&&(l.props.page={error:a,params:t,route:{id:o?.id??null},state:{},status:i,url:new URL(e),form:s??null,data:f?u:A.data}),l}async function St({loader:e,parent:t,url:n,params:r,route:i,server_data_node:a}){let o=null,s=!0,c={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},l=await e();if(l.universal?.load){function e(...e){for(let t of e){let{href:e}=new URL(t,n);c.dependencies.add(e)}}let u={tracing:{enabled:!1,root:Ve,current:Ve},route:new Proxy(i,{get:(e,t)=>(s&&(c.route=!0),e[t])}),params:new Proxy(r,{get:(e,t)=>(s&&c.params.add(t),e[t])}),data:a?.data??null,url:ee(n,()=>{s&&(c.url=!0)},e=>{s&&c.search_params.add(e)},z.hash),async fetch(t,r){t instanceof Request&&(r={body:t.method===`GET`||t.method===`HEAD`?void 0:await t.blob(),cache:t.cache,credentials:t.credentials,headers:[...t.headers].length>0?t?.headers:void 0,integrity:t.integrity,keepalive:t.keepalive,method:t.method,mode:t.mode,redirect:t.redirect,referrer:t.referrer,referrerPolicy:t.referrerPolicy,signal:t.signal,...r});let{resolved:i,promise:a}=Ct(t,r,n);return s&&e(i.href),a},setHeaders:h,depends:e,parent(){return s&&(c.parent=!0),t()},untrack(e){s=!1;try{return e()}finally{s=!0}}};o=await l.universal.load.call(null,u)??null}return{node:l,loader:e,server:a,universal:l.universal?.load?{type:`data`,data:o,uses:c}:null,data:o??a?.data??null,slash:l.universal?.trailingSlash??a?.slash}}function Ct(e,t,n){let r=e instanceof Request?e.url:e,i=new URL(r,n);return i.origin===n.origin&&(r=i.href.slice(n.origin.length)),{resolved:i,promise:it?b(r,i.href,t):y(r,t)}}function wt(e,t,n,r,i,a){if(st)return!0;if(!i)return!1;if(i.parent&&e||i.route&&t||i.url&&n)return!0;for(let e of i.search_params)if(r.has(e))return!0;for(let e of i.params)if(a[e]!==G.params[e])return!0;for(let e of i.dependencies)if(B.some(t=>t(new URL(e))))return!0;return!1}function Tt(e,t){return e?.type===`data`?e:e?.type===`skip`?t??null:null}function Et(e,t){if(!e)return new Set(t.searchParams.keys());let n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(let r of n){let i=e.searchParams.getAll(r),a=t.searchParams.getAll(r);i.every(e=>a.includes(e))&&a.every(e=>i.includes(e))&&n.delete(r)}return n}function Dt({error:e,url:t,route:n,params:r}){return{type:`loaded`,state:{error:e,url:t,route:n,params:r,branch:[]},props:{page:Kt(A),constructors:[]}}}async function Ot({id:e,invalidating:t,url:n,params:r,route:i,preload:a}){if(H?.id===e)return lt.delete(H.token),H.promise;let{errors:o,layouts:s,leaf:u}=i,d=[...s,u];o.forEach(e=>e?.().catch(h)),d.forEach(e=>e?.[1]().catch(h));let f=G.url?e!==Pt(G.url):!1,p=G.route?i.id!==G.route.id:!1,m=Et(G.url,n),ee=!1,g=d.map(async(e,t)=>{if(!e)return;let a=G.branch[t];return e[1]===a?.loader&&!wt(ee,p,f,m,a.universal?.uses,r)?a:(ee=!0,St({loader:e[1],url:n,params:r,route:i,parent:async()=>{let e={};for(let n=0;n<t;n+=1)Object.assign(e,(await g[n])?.data);return e},server_data_node:Tt(e[0]?{type:`skip`}:null,e[0]?a?.server:void 0)}))});for(let e of g)e.catch(h);let _=[];for(let e=0;e<d.length;e+=1)if(d[e])try{_.push(await g[e])}catch(t){if(t instanceof l)return{type:`redirect`,location:t.location};if(a&&lt.has(a))return Dt({error:await $(t,{params:r,url:n,route:{id:i.id}}),url:n,params:r,route:i});let s=Fe(t),u;if(t instanceof c)u=t.body;else{if(await F.updated.check())return await Je(),await I(n);u=await $(t,{params:r,url:n,route:{id:i.id}})}let d=await kt(e,_,o);return d?xt({url:n,params:r,branch:_.slice(0,d.idx).concat(d.node),errors:o,status:s,error:u,route:i}):await It(n,{id:i.id},u,s)}else _.push(void 0);return xt({url:n,params:r,branch:_,errors:o,status:200,error:null,route:i,form:t?void 0:null})}async function kt(e,t,n){for(;e--;)if(n[e]){let r=e;for(;!t[r];)--r;try{return{idx:r+1,node:{node:await n[e](),loader:n[e],data:{},server:null,universal:null}}}catch{continue}}}async function At({status:e,error:t,url:n,route:r}){let i={};try{return xt({url:n,params:i,branch:[await St({loader:Xe,url:n,params:i,route:r,parent:()=>Promise.resolve({}),server_data_node:Tt(null)}),{node:await L(),loader:L,universal:null,server:null,data:null}],status:e,error:t,errors:[],route:null})}catch(t){if(t instanceof l){await _t(new URL(t.location,location.href),{},0);return}let a=await z.get_error_template(),o=await $(t,{url:n,params:i,route:r}),s=a({status:e,message:String(o?.message??``).replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`)}),c=new DOMParser().parseFromString(s,`text/html`);throw document.documentElement.replaceChild(document.adoptNode(c.head),document.head),document.documentElement.replaceChild(document.adoptNode(c.body),document.body),t}}async function jt(e){let t=e.href;if(et.has(t))return et.get(t);let n;try{let r=(async()=>{let t=await z.hooks.reroute({url:new URL(e),fetch:async(t,n)=>Ct(t,n,e).promise})??e;if(typeof t==`string`){let n=new URL(e);z.hash?n.hash=t:n.pathname=t,t=n}return t})();et.set(t,r),n=await r}catch{et.delete(t);return}return n}async function Mt(e,t){if(e&&!je(e,C,z.hash)){let n=await jt(e);if(!n)return;let r=Nt(n);for(let n of Ye){let i=n.exec(r);if(i)return{id:Pt(e),invalidating:t,route:n,params:p(i),url:e}}}}function Nt(e){return f(z.hash?e.hash.replace(/^#/,``).replace(/[?#].+/,``):e.pathname.slice(C.length))||`/`}function Pt(e){return(z.hash?e.hash.replace(/^#/,``):e.pathname)+e.search}function Ft({url:e,type:t,intent:n,delta:r,event:i,scroll:a}){let o=!1,s=Gt(G,n,e,t,a??null);r!==void 0&&(s.navigation.delta=r),i!==void 0&&(s.navigation.event=i);let c={...s.navigation,cancel:()=>{o=!0,s.reject(Error(`navigation cancelled`))}};return K||tt.forEach(e=>e(c)),o?null:s}async function Z({type:e,url:r,popped:i,keepfocus:a,noscroll:o,replace_state:s,state:c={},redirect_count:l=0,nav_token:d={},accept:f=h,block:p=h,event:m}){let ee=X;X=d;let g=await Mt(r,!1),_=e===`enter`?Gt(G,g,r,e):Ft({url:r,type:e,delta:i?.delta,intent:g,scroll:i?.scroll,event:m});if(!_){p(),X===d&&(X=ee);return}let te=J,v=Y;f(),K=!0,it&&_.navigation.type!==`enter`&&F.navigating.set(j.current=_.navigation);let y=g&&await Ot(g);if(!y){if(je(r,C,z.hash))return await I(r,s);y=await It(r,{id:null},await $(new u(404,`Not Found`,`Not found: ${r.pathname}`),{url:r,params:{},route:{id:null}}),404,s)}if(r=g?.url||r,X!==d){_.reject(Error(`navigation aborted`));return}if(!y)return;if(y.type===`redirect`){if(l<20){await Z({type:e,url:new URL(y.location,r),popped:i,keepfocus:a,noscroll:o,replace_state:s,state:c,redirect_count:l+1,nav_token:d}),_.fulfil(void 0);return}if(y=await At({status:500,error:await $(Error(`Redirect loop`),{url:r,params:{},route:{id:null}}),url:r,route:{id:null}}),!y)return}else if(y.props.page.status>=400&&await F.updated.check())return await Je(),await I(r,s);if(pt(),Ke(te),mt(v),y.props.page.url.pathname!==r.pathname&&(r.pathname=y.props.page.url.pathname),c=i?i.state:c,!i){let e=+!s,t={[w]:J+=e,[T]:Y+=e,[be]:c};(s?history.replaceState:history.pushState).call(history,t,``,r),s||qe(J,Y)}let b=g&&H?.id===g.id?H.fork:null;H?.fork&&!b?U():(H=null,Q={element:void 0,href:void 0}),y.props.page.state=c;let x;if(it){let e=(await Promise.all(Array.from(nt,e=>e(_.navigation)))).filter(e=>typeof e==`function`);if(e.length>0){function t(){e.forEach(e=>{W.delete(e)})}e.push(t),e.forEach(e=>{W.add(e)})}let n=_.navigation.to;G={...y.state,nav:{params:n.params,route:n.route,url:n.url}},y.props.page&&(y.props.page.url=r),!a&&document.activeElement instanceof HTMLElement&&document.activeElement!==document.body&&document.activeElement.blur();let i=b&&await b;i?x=i.commit():(M=null,ct.$set(y.props),M&&Object.assign(y.props.page,M),Be(y.props.page),x=t?.()),ot=!0}else await bt(y,Ze,!1);let{activeElement:ne}=document;if(await x,await n(),await n(),X!==d){_.reject(Error(`navigation aborted`));return}y.props.page&&M&&Object.assign(y.props.page,M);let S=null;if(at){let e=i?i.scroll:o?D():null;e?scrollTo(e.x,e.y):(S=r.hash&&document.getElementById(Jt(r)))?S.scrollIntoView():scrollTo(0,0)}let re=document.activeElement!==ne&&document.activeElement!==document.body;!a&&!re&&Wt(r,!S),at=!0,K=!1,_.fulfil(void 0),_.navigation.to&&(_.navigation.to.scroll=D()),W.forEach(e=>e(_.navigation)),e===`popstate`&&ht(Y),F.navigating.set(j.current=null)}async function It(e,t,n,r,i){return e.origin===xe&&e.pathname===location.pathname&&!rt?await At({status:r,error:n,url:e,route:t}):await I(e,i)}var Q={element:void 0,href:void 0};function Lt(){let e,t;R.addEventListener(`mousemove`,t=>{let n=t.target;clearTimeout(e),e=setTimeout(()=>{i(n,E.hover)},20)});function n(e){e.defaultPrevented||i(e.composedPath()[0],E.tap)}R.addEventListener(`mousedown`,n),R.addEventListener(`touchstart`,n,{passive:!0});let r=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting&&(yt(new URL(t.target.href)),r.unobserve(t.target))},{threshold:0});async function i(e,n){let r=Te(e,R),i=r===Q.element&&r?.href===Q.href&&n>=t;if(!r||i)return;let{url:a,external:o,download:s}=Ee(r,C,z.hash);if(o||s)return;let c=De(r),l=a&&Pt(G.url)===Pt(a);if(!(c.reload||l)){if(n<=c.preload_data){Q={element:r,href:r.href},t=E.tap;let e=await Mt(a,!1);if(!e)return;vt(e)}else n<=c.preload_code&&(Q={element:r,href:r.href},t=n,yt(a))}}function a(){r.disconnect();for(let e of R.querySelectorAll(`a`)){let{url:t,external:n,download:i}=Ee(e,C,z.hash);if(n||i)continue;let a=De(e);a.reload||(a.preload_code===E.viewport&&r.observe(e),a.preload_code===E.eager&&yt(t))}}W.add(a),a()}function $(e,t){if(e instanceof c)return e.body;let n=Fe(e),r=Ie(e);return z.hooks.handleError({error:e,event:t,status:n,message:r})??{message:r}}function Rt(e,t={}){return e=new URL(Se(e)),e.origin===xe?_t(e,t,0):Promise.reject(Error(`goto: invalid URL`))}function zt(e){if(typeof e==`function`)B.push(e);else{let{href:t}=new URL(e,location.href);B.push(e=>e.href===t)}}function Bt(){history.scrollRestoration=`manual`,addEventListener(`beforeunload`,e=>{let t=!1;if(gt(),!K){let e=Gt(G,void 0,null,`leave`),n={...e.navigation,cancel:()=>{t=!0,e.reject(Error(`navigation cancelled`))}};tt.forEach(e=>e(n))}t?(e.preventDefault(),e.returnValue=``):history.scrollRestoration=`auto`}),addEventListener(`visibilitychange`,()=>{document.visibilityState===`hidden`&&gt()}),navigator.connection?.saveData||Lt(),R.addEventListener(`click`,async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;let n=Te(t.composedPath()[0],R);if(!n)return;let{url:r,external:i,target:a,download:o}=Ee(n,C,z.hash);if(!r)return;if(a===`_parent`||a===`_top`){if(window.parent!==window)return}else if(a&&a!==`_self`)return;let s=De(n);if(!(n instanceof SVGAElement)&&r.protocol!==location.protocol&&r.protocol!==`https:`&&r.protocol!==`http:`||o)return;let[c,l]=(z.hash?r.hash.replace(/^#/,``):r.href).split(`#`),u=c===m(location);if(i||s.reload&&(!u||!l))Ft({url:r,type:`link`,event:t})?K=!0:t.preventDefault();else{if(l!==void 0&&u){let[,i]=G.url.href.split(`#`);if(i===l){if(t.preventDefault(),l===``||l===`top`&&n.ownerDocument.getElementById(`top`)===null)scrollTo({top:0});else{let e=n.ownerDocument.getElementById(decodeURIComponent(l));e&&(e.scrollIntoView(),e.focus())}return}if(q=!0,Ke(J),e(r),!s.replace_state)return;q=!1}t.preventDefault(),await new Promise(e=>{requestAnimationFrame(()=>{setTimeout(e,0)}),setTimeout(e,100)}),await Z({type:`link`,url:r,keepfocus:s.keepfocus,noscroll:s.noscroll,replace_state:s.replace_state??r.href===location.href,event:t})}}),R.addEventListener(`submit`,e=>{if(e.defaultPrevented)return;let t=HTMLFormElement.prototype.cloneNode.call(e.target),n=e.submitter;if((n?.formTarget||t.target)===`_blank`||(n?.formMethod||t.method)!==`get`)return;let r=new URL(n?.hasAttribute(`formaction`)&&n?.formAction||t.action);if(je(r,C,!1))return;let i=e.target,a=De(i);if(a.reload)return;e.preventDefault(),e.stopPropagation();let o=new FormData(i,n);r.search=new URLSearchParams(o).toString(),Z({type:`form`,url:r,keepfocus:a.keepfocus,noscroll:a.noscroll,replace_state:a.replace_state??r.href===location.href,event:e})}),addEventListener(`popstate`,async t=>{if(!Ut){if(t.state?.[`sveltekit:history`]){let n=t.state[w];if(X={},n===J)return;let r=N[n],i=t.state[`sveltekit:states`]??{},a=new URL(t.state[`sveltekit:pageurl`]??location.href),o=t.state[T],s=G.url?m(location)===m(G.url):!1;if(o===Y&&(ot||s)){i!==A.state&&(A.state=i),e(a),N[J]=D(),r&&scrollTo(r.x,r.y),J=n;return}let c=n-J;await Z({type:`popstate`,url:a,popped:{state:i,scroll:r,delta:c},accept:()=>{J=n,Y=o},block:()=>{history.go(-c)},nav_token:X,event:t})}else q||(e(new URL(location.href)),z.hash&&location.reload())}}),addEventListener(`hashchange`,()=>{q&&(q=!1,history.replaceState({...history.state,[w]:++J,[T]:Y},``,location.href))});for(let e of document.querySelectorAll(`link`))Ge.has(e.rel)&&(e.href=e.href);addEventListener(`pageshow`,e=>{e.persisted&&F.navigating.set(j.current=null)});function e(e){G.url=A.url=e,F.page.set(Kt(A)),F.page.notify()}}async function Vt(e,{status:t=200,error:n,node_ids:r,params:i,route:a,server_route:o,data:s,form:c}){rt=!0;let u=new URL(location.href),d;({params:i={},route:a={id:null}}=await Mt(u,!1)||{}),d=Ye.find(({id:e})=>e===a.id);let f,p=!0;try{let e=r.map(async(t,n)=>{let r=s[n];return r?.uses&&(r.uses=Ht(r.uses)),St({loader:z.nodes[t],url:u,params:i,route:a,parent:async()=>{let t={};for(let r=0;r<n;r+=1)Object.assign(t,(await e[r]).data);return t},server_data_node:Tt(r)})}),o=await Promise.all(e);if(d){let e=d.layouts;for(let t=0;t<e.length;t++)e[t]||o.splice(t,0,void 0)}f=await xt({url:u,params:i,branch:o,status:t,error:n,errors:d?.errors,form:c,route:d??null})}catch(t){if(t instanceof l)return await I(new URL(t.location,location.href));f=await At({status:Fe(t),error:await $(t,{url:u,params:i,route:a}),url:u,route:a}),e.textContent=``,p=!1}f&&(f.props.page&&(f.props.page.state={}),await bt(f,e,p))}function Ht(e){return{dependencies:new Set(e?.dependencies??[]),params:new Set(e?.params??[]),parent:!!e?.parent,route:!!e?.route,url:!!e?.url,search_params:new Set(e?.search_params??[])}}var Ut=!1;function Wt(e,t=!0){let n=document.querySelector(`[autofocus]`);if(n)n.focus();else{let n=Jt(e);if(n&&document.getElementById(n)){let{x:r,y:i}=D();setTimeout(()=>{let a=history.state;Ut=!0,location.replace(new URL(`#${n}`,location.href)),history.replaceState(a,``,e),t&&scrollTo(r,i),Ut=!1})}else{let e=document.body,t=e.getAttribute(`tabindex`);e.tabIndex=-1,e.focus({preventScroll:!0,focusVisible:!1}),t===null?e.removeAttribute(`tabindex`):e.setAttribute(`tabindex`,t)}let r=getSelection();if(r&&r.type!==`None`){let e=[];for(let t=0;t<r.rangeCount;t+=1)e.push(r.getRangeAt(t));setTimeout(()=>{if(r.rangeCount===e.length){for(let t=0;t<r.rangeCount;t+=1){let n=e[t],i=r.getRangeAt(t);if(n.commonAncestorContainer!==i.commonAncestorContainer||n.startContainer!==i.startContainer||n.endContainer!==i.endContainer||n.startOffset!==i.startOffset||n.endOffset!==i.endOffset)return}r.removeAllRanges()}})}}}function Gt(e,t,n,r,i=null){let a,o,s=new Promise((e,t)=>{a=e,o=t});return s.catch(h),{navigation:{from:{params:e.params,route:{id:e.route?.id??null},url:e.url,scroll:D()},to:n&&{params:t?.params??null,route:{id:t?.route?.id??null},url:n,scroll:i},willUnload:!t,type:r,complete:s},fulfil:a,reject:o}}function Kt(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function qt(e){let t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function Jt(e){let t;if(z.hash){let[,,n]=e.hash.split(`#`,3);t=n??``}else t=e.hash.slice(1);return decodeURIComponent(t)}export{Me as a,A as i,ft as n,me as o,j as r,ge as s,Rt as t};
@@ -1,4 +1,4 @@
1
- import{H as e,at as t,it as n,yt as r}from"./Cz6kYWmu.js";import{s as i}from"./DQp-M3XN.js";var a=Symbol.for(`yaml.alias`),o=Symbol.for(`yaml.document`),s=Symbol.for(`yaml.map`),c=Symbol.for(`yaml.pair`),l=Symbol.for(`yaml.scalar`),u=Symbol.for(`yaml.seq`),d=Symbol.for(`yaml.node.type`),f=e=>!!e&&typeof e==`object`&&e[d]===a,p=e=>!!e&&typeof e==`object`&&e[d]===o,m=e=>!!e&&typeof e==`object`&&e[d]===s,h=e=>!!e&&typeof e==`object`&&e[d]===c,g=e=>!!e&&typeof e==`object`&&e[d]===l,_=e=>!!e&&typeof e==`object`&&e[d]===u;function v(e){if(e&&typeof e==`object`)switch(e[d]){case s:case u:return!0}return!1}function y(e){if(e&&typeof e==`object`)switch(e[d]){case a:case s:case l:case u:return!0}return!1}var b=e=>(g(e)||v(e))&&!!e.anchor,x=Symbol(`break visit`),S=Symbol(`skip children`),C=Symbol(`remove node`);function w(e,t){let n=E(t);p(e)?T(null,e.contents,n,Object.freeze([e]))===C&&(e.contents=null):T(null,e,n,Object.freeze([]))}w.BREAK=x,w.SKIP=S,w.REMOVE=C;function T(e,t,n,r){let i=ee(e,t,n,r);if(y(i)||h(i))return te(e,r,i),T(e,i,n,r);if(typeof i!=`symbol`){if(v(t)){r=Object.freeze(r.concat(t));for(let e=0;e<t.items.length;++e){let i=T(e,t.items[e],n,r);if(typeof i==`number`)e=i-1;else if(i===x)return x;else i===C&&(t.items.splice(e,1),--e)}}else if(h(t)){r=Object.freeze(r.concat(t));let e=T(`key`,t.key,n,r);if(e===x)return x;e===C&&(t.key=null);let i=T(`value`,t.value,n,r);if(i===x)return x;i===C&&(t.value=null)}}return i}function E(e){return typeof e==`object`&&(e.Collection||e.Node||e.Value)?Object.assign({Alias:e.Node,Map:e.Node,Scalar:e.Node,Seq:e.Node},e.Value&&{Map:e.Value,Scalar:e.Value,Seq:e.Value},e.Collection&&{Map:e.Collection,Seq:e.Collection},e):e}function ee(e,t,n,r){if(typeof n==`function`)return n(e,t,r);if(m(t))return n.Map?.(e,t,r);if(_(t))return n.Seq?.(e,t,r);if(h(t))return n.Pair?.(e,t,r);if(g(t))return n.Scalar?.(e,t,r);if(f(t))return n.Alias?.(e,t,r)}function te(e,t,n){let r=t[t.length-1];if(v(r))r.items[e]=n;else if(h(r))e===`key`?r.key=n:r.value=n;else if(p(r))r.contents=n;else{let e=f(r)?`alias`:`scalar`;throw Error(`Cannot replace node with ${e} parent`)}}var ne={"!":`%21`,",":`%2C`,"[":`%5B`,"]":`%5D`,"{":`%7B`,"}":`%7D`},re=e=>e.replace(/[!,[\]{}]/g,e=>ne[e]),ie=class e{constructor(t,n){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},e.defaultYaml,t),this.tags=Object.assign({},e.defaultTags,n)}clone(){let t=new e(this.yaml,this.tags);return t.docStart=this.docStart,t}atDocument(){let t=new e(this.yaml,this.tags);switch(this.yaml.version){case`1.1`:this.atNextDocument=!0;break;case`1.2`:this.atNextDocument=!1,this.yaml={explicit:e.defaultYaml.explicit,version:`1.2`},this.tags=Object.assign({},e.defaultTags)}return t}add(t,n){this.atNextDocument&&=(this.yaml={explicit:e.defaultYaml.explicit,version:`1.1`},this.tags=Object.assign({},e.defaultTags),!1);let r=t.trim().split(/[ \t]+/),i=r.shift();switch(i){case`%TAG`:{if(r.length!==2&&(n(0,`%TAG directive should contain exactly two parts`),r.length<2))return!1;let[e,t]=r;return this.tags[e]=t,!0}case`%YAML`:{if(this.yaml.explicit=!0,r.length!==1)return n(0,`%YAML directive should contain exactly one part`),!1;let[e]=r;if(e===`1.1`||e===`1.2`)return this.yaml.version=e,!0;{let t=/^\d+\.\d+$/.test(e);return n(6,`Unsupported YAML version ${e}`,t),!1}}default:return n(0,`Unknown directive ${i}`,!0),!1}}tagName(e,t){if(e===`!`)return`!`;if(e[0]!==`!`)return t(`Not a valid tag: ${e}`),null;if(e[1]===`<`){let n=e.slice(2,-1);return n===`!`||n===`!!`?(t(`Verbatim tags aren't resolved, so ${e} is invalid.`),null):(e[e.length-1]!==`>`&&t(`Verbatim tags must end with a >`),n)}let[,n,r]=e.match(/^(.*!)([^!]*)$/s);r||t(`The ${e} tag has no suffix`);let i=this.tags[n];if(i)try{return i+decodeURIComponent(r)}catch(e){return t(String(e)),null}return n===`!`?e:(t(`Could not resolve tag: ${e}`),null)}tagString(e){for(let[t,n]of Object.entries(this.tags))if(e.startsWith(n))return t+re(e.substring(n.length));return e[0]===`!`?e:`!<${e}>`}toString(e){let t=this.yaml.explicit?[`%YAML ${this.yaml.version||`1.2`}`]:[],n=Object.entries(this.tags),r;if(e&&n.length>0&&y(e.contents)){let t={};w(e.contents,(e,n)=>{y(n)&&n.tag&&(t[n.tag]=!0)}),r=Object.keys(t)}else r=[];for(let[i,a]of n)(i!==`!!`||a!==`tag:yaml.org,2002:`)&&(!e||r.some(e=>e.startsWith(a)))&&t.push(`%TAG ${i} ${a}`);return t.join(`
1
+ import{H as e,at as t,it as n,yt as r}from"./Cz6kYWmu.js";import{s as i}from"./Co7i-dcu.js";var a=Symbol.for(`yaml.alias`),o=Symbol.for(`yaml.document`),s=Symbol.for(`yaml.map`),c=Symbol.for(`yaml.pair`),l=Symbol.for(`yaml.scalar`),u=Symbol.for(`yaml.seq`),d=Symbol.for(`yaml.node.type`),f=e=>!!e&&typeof e==`object`&&e[d]===a,p=e=>!!e&&typeof e==`object`&&e[d]===o,m=e=>!!e&&typeof e==`object`&&e[d]===s,h=e=>!!e&&typeof e==`object`&&e[d]===c,g=e=>!!e&&typeof e==`object`&&e[d]===l,_=e=>!!e&&typeof e==`object`&&e[d]===u;function v(e){if(e&&typeof e==`object`)switch(e[d]){case s:case u:return!0}return!1}function y(e){if(e&&typeof e==`object`)switch(e[d]){case a:case s:case l:case u:return!0}return!1}var b=e=>(g(e)||v(e))&&!!e.anchor,x=Symbol(`break visit`),S=Symbol(`skip children`),C=Symbol(`remove node`);function w(e,t){let n=E(t);p(e)?T(null,e.contents,n,Object.freeze([e]))===C&&(e.contents=null):T(null,e,n,Object.freeze([]))}w.BREAK=x,w.SKIP=S,w.REMOVE=C;function T(e,t,n,r){let i=ee(e,t,n,r);if(y(i)||h(i))return te(e,r,i),T(e,i,n,r);if(typeof i!=`symbol`){if(v(t)){r=Object.freeze(r.concat(t));for(let e=0;e<t.items.length;++e){let i=T(e,t.items[e],n,r);if(typeof i==`number`)e=i-1;else if(i===x)return x;else i===C&&(t.items.splice(e,1),--e)}}else if(h(t)){r=Object.freeze(r.concat(t));let e=T(`key`,t.key,n,r);if(e===x)return x;e===C&&(t.key=null);let i=T(`value`,t.value,n,r);if(i===x)return x;i===C&&(t.value=null)}}return i}function E(e){return typeof e==`object`&&(e.Collection||e.Node||e.Value)?Object.assign({Alias:e.Node,Map:e.Node,Scalar:e.Node,Seq:e.Node},e.Value&&{Map:e.Value,Scalar:e.Value,Seq:e.Value},e.Collection&&{Map:e.Collection,Seq:e.Collection},e):e}function ee(e,t,n,r){if(typeof n==`function`)return n(e,t,r);if(m(t))return n.Map?.(e,t,r);if(_(t))return n.Seq?.(e,t,r);if(h(t))return n.Pair?.(e,t,r);if(g(t))return n.Scalar?.(e,t,r);if(f(t))return n.Alias?.(e,t,r)}function te(e,t,n){let r=t[t.length-1];if(v(r))r.items[e]=n;else if(h(r))e===`key`?r.key=n:r.value=n;else if(p(r))r.contents=n;else{let e=f(r)?`alias`:`scalar`;throw Error(`Cannot replace node with ${e} parent`)}}var ne={"!":`%21`,",":`%2C`,"[":`%5B`,"]":`%5D`,"{":`%7B`,"}":`%7D`},re=e=>e.replace(/[!,[\]{}]/g,e=>ne[e]),ie=class e{constructor(t,n){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},e.defaultYaml,t),this.tags=Object.assign({},e.defaultTags,n)}clone(){let t=new e(this.yaml,this.tags);return t.docStart=this.docStart,t}atDocument(){let t=new e(this.yaml,this.tags);switch(this.yaml.version){case`1.1`:this.atNextDocument=!0;break;case`1.2`:this.atNextDocument=!1,this.yaml={explicit:e.defaultYaml.explicit,version:`1.2`},this.tags=Object.assign({},e.defaultTags)}return t}add(t,n){this.atNextDocument&&=(this.yaml={explicit:e.defaultYaml.explicit,version:`1.1`},this.tags=Object.assign({},e.defaultTags),!1);let r=t.trim().split(/[ \t]+/),i=r.shift();switch(i){case`%TAG`:{if(r.length!==2&&(n(0,`%TAG directive should contain exactly two parts`),r.length<2))return!1;let[e,t]=r;return this.tags[e]=t,!0}case`%YAML`:{if(this.yaml.explicit=!0,r.length!==1)return n(0,`%YAML directive should contain exactly one part`),!1;let[e]=r;if(e===`1.1`||e===`1.2`)return this.yaml.version=e,!0;{let t=/^\d+\.\d+$/.test(e);return n(6,`Unsupported YAML version ${e}`,t),!1}}default:return n(0,`Unknown directive ${i}`,!0),!1}}tagName(e,t){if(e===`!`)return`!`;if(e[0]!==`!`)return t(`Not a valid tag: ${e}`),null;if(e[1]===`<`){let n=e.slice(2,-1);return n===`!`||n===`!!`?(t(`Verbatim tags aren't resolved, so ${e} is invalid.`),null):(e[e.length-1]!==`>`&&t(`Verbatim tags must end with a >`),n)}let[,n,r]=e.match(/^(.*!)([^!]*)$/s);r||t(`The ${e} tag has no suffix`);let i=this.tags[n];if(i)try{return i+decodeURIComponent(r)}catch(e){return t(String(e)),null}return n===`!`?e:(t(`Could not resolve tag: ${e}`),null)}tagString(e){for(let[t,n]of Object.entries(this.tags))if(e.startsWith(n))return t+re(e.substring(n.length));return e[0]===`!`?e:`!<${e}>`}toString(e){let t=this.yaml.explicit?[`%YAML ${this.yaml.version||`1.2`}`]:[],n=Object.entries(this.tags),r;if(e&&n.length>0&&y(e.contents)){let t={};w(e.contents,(e,n)=>{y(n)&&n.tag&&(t[n.tag]=!0)}),r=Object.keys(t)}else r=[];for(let[i,a]of n)(i!==`!!`||a!==`tag:yaml.org,2002:`)&&(!e||r.some(e=>e.startsWith(a)))&&t.push(`%TAG ${i} ${a}`);return t.join(`
2
2
  `)}};ie.defaultYaml={explicit:!1,version:`1.2`},ie.defaultTags={"!!":`tag:yaml.org,2002:`};function ae(e){if(/[\x00-\x19\s,[\]{}]/.test(e)){let t=`Anchor must not contain whitespace or control characters: ${JSON.stringify(e)}`;throw Error(t)}return!0}function oe(e){let t=new Set;return w(e,{Value(e,n){n.anchor&&t.add(n.anchor)}}),t}function se(e,t){for(let n=1;;++n){let r=`${e}${n}`;if(!t.has(r))return r}}function ce(e,t){let n=[],r=new Map,i=null;return{onAnchor:r=>{n.push(r),i??=oe(e);let a=se(t,i);return i.add(a),a},setAnchors:()=>{for(let e of n){let t=r.get(e);if(typeof t==`object`&&t.anchor&&(g(t.node)||v(t.node)))t.node.anchor=t.anchor;else{let t=Error(`Failed to resolve repeated object (this should not happen)`);throw t.source=e,t}}},sourceObjects:r}}function le(e,t,n,r){if(r&&typeof r==`object`){if(Array.isArray(r))for(let t=0,n=r.length;t<n;++t){let n=r[t],i=le(e,r,String(t),n);i===void 0?delete r[t]:i!==n&&(r[t]=i)}else if(r instanceof Map)for(let t of Array.from(r.keys())){let n=r.get(t),i=le(e,r,t,n);i===void 0?r.delete(t):i!==n&&r.set(t,i)}else if(r instanceof Set)for(let t of Array.from(r)){let n=le(e,r,t,t);n===void 0?r.delete(t):n!==t&&(r.delete(t),r.add(n))}else for(let[t,n]of Object.entries(r)){let i=le(e,r,t,n);i===void 0?delete r[t]:i!==n&&(r[t]=i)}}return e.call(t,n,r)}function D(e,t,n){if(Array.isArray(e))return e.map((e,t)=>D(e,String(t),n));if(e&&typeof e.toJSON==`function`){if(!n||!b(e))return e.toJSON(t,n);let r={aliasCount:0,count:1,res:void 0};n.anchors.set(e,r),n.onCreate=e=>{r.res=e,delete n.onCreate};let i=e.toJSON(t,n);return n.onCreate&&n.onCreate(i),i}return typeof e==`bigint`&&!n?.keep?Number(e):e}var ue=class{constructor(e){Object.defineProperty(this,d,{value:e})}clone(){let e=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(e.range=this.range.slice()),e}toJS(e,{mapAsMap:t,maxAliasCount:n,onAnchor:r,reviver:i}={}){if(!p(e))throw TypeError(`A document argument is required`);let a={anchors:new Map,doc:e,keep:!0,mapAsMap:t===!0,mapKeyWarned:!1,maxAliasCount:typeof n==`number`?n:100},o=D(this,``,a);if(typeof r==`function`)for(let{count:e,res:t}of a.anchors.values())r(t,e);return typeof i==`function`?le(i,{"":o},``,o):o}},de=class extends ue{constructor(e){super(a),this.source=e,Object.defineProperty(this,"tag",{set(){throw Error(`Alias nodes cannot have tags`)}})}resolve(e,t){if(t?.maxAliasCount===0)throw ReferenceError(`Alias resolution is disabled`);let n;t?.aliasResolveCache?n=t.aliasResolveCache:(n=[],w(e,{Node:(e,t)=>{(f(t)||b(t))&&n.push(t)}}),t&&(t.aliasResolveCache=n));let r;for(let e of n){if(e===this)break;e.anchor===this.source&&(r=e)}if(r&&t){let{anchors:e,doc:n,maxAliasCount:i}=t,a=e.get(r);if(a||=(D(r,null,t),e.get(r)),a?.res===void 0)throw ReferenceError(`This should not happen: Alias anchor was not resolved?`);if(i>=0&&(a.count+=1,a.aliasCount===0&&(a.aliasCount=fe(n,r,e)),a.count*a.aliasCount>i))throw ReferenceError(`Excessive alias count indicates a resource exhaustion attack`)}return r}toJSON(e,t){if(!t)return{source:this.source};let n=this.resolve(t.doc,t);if(!n){let e=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw ReferenceError(e)}return t.anchors.get(n).res}toString(e,t,n){let r=`*${this.source}`;if(e){if(ae(this.source),e.options.verifyAliasOrder&&!e.anchors.has(this.source)){let e=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw Error(e)}if(e.implicitKey)return`${r} `}return r}};function fe(e,t,n){if(f(t)){let r=t.resolve(e),i=n&&r&&n.get(r);return i?i.count*i.aliasCount:0}if(v(t)){let r=0;for(let i of t.items){let t=fe(e,i,n);t>r&&(r=t)}return r}if(h(t)){let r=fe(e,t.key,n),i=fe(e,t.value,n);return Math.max(r,i)}return 1}var pe=e=>!e||typeof e!=`function`&&typeof e!=`object`,O=class extends ue{constructor(e){super(l),this.value=e}toJSON(e,t){return t?.keep?this.value:D(this.value,e,t)}toString(){return String(this.value)}};O.BLOCK_FOLDED=`BLOCK_FOLDED`,O.BLOCK_LITERAL=`BLOCK_LITERAL`,O.PLAIN=`PLAIN`,O.QUOTE_DOUBLE=`QUOTE_DOUBLE`,O.QUOTE_SINGLE=`QUOTE_SINGLE`;var me=`tag:yaml.org,2002:`;function he(e,t,n){if(t){let e=n.filter(e=>e.tag===t),r=e.find(e=>!e.format)??e[0];if(!r)throw Error(`Tag ${t} not found`);return r}return n.find(t=>t.identify?.(e)&&!t.format)}function ge(e,t,n){if(p(e)&&(e=e.contents),y(e))return e;if(h(e)){let t=n.schema[s].createNode?.(n.schema,null,n);return t.items.push(e),t}(e instanceof String||e instanceof Number||e instanceof Boolean||typeof BigInt<`u`&&e instanceof BigInt)&&(e=e.valueOf());let{aliasDuplicateObjects:r,onAnchor:i,onTagObj:a,schema:o,sourceObjects:c}=n,l;if(r&&e&&typeof e==`object`){if(l=c.get(e),l)return l.anchor??(l.anchor=i(e)),new de(l.anchor);l={anchor:null,node:null},c.set(e,l)}t?.startsWith(`!!`)&&(t=me+t.slice(2));let d=he(e,t,o.tags);if(!d){if(e&&typeof e.toJSON==`function`&&(e=e.toJSON()),!e||typeof e!=`object`){let t=new O(e);return l&&(l.node=t),t}d=e instanceof Map?o[s]:Symbol.iterator in Object(e)?o[u]:o[s]}a&&(a(d),delete n.onTagObj);let f=d?.createNode?d.createNode(n.schema,e,n):typeof d?.nodeClass?.from==`function`?d.nodeClass.from(n.schema,e,n):new O(e);return t?f.tag=t:d.default||(f.tag=d.tag),l&&(l.node=f),f}function _e(e,t,n){let r=n;for(let e=t.length-1;e>=0;--e){let n=t[e];if(typeof n==`number`&&Number.isInteger(n)&&n>=0){let e=[];e[n]=r,r=e}else r=new Map([[n,r]])}return ge(r,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error(`This should not happen, please report a bug.`)},schema:e,sourceObjects:new Map})}var ve=e=>e==null||typeof e==`object`&&!!e[Symbol.iterator]().next().done,ye=class extends ue{constructor(e,t){super(e),Object.defineProperty(this,"schema",{value:t,configurable:!0,enumerable:!1,writable:!0})}clone(e){let t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return e&&(t.schema=e),t.items=t.items.map(t=>y(t)||h(t)?t.clone(e):t),this.range&&(t.range=this.range.slice()),t}addIn(e,t){if(ve(e))this.add(t);else{let[n,...r]=e,i=this.get(n,!0);if(v(i))i.addIn(r,t);else if(i===void 0&&this.schema)this.set(n,_e(this.schema,r,t));else throw Error(`Expected YAML collection at ${n}. Remaining path: ${r}`)}}deleteIn(e){let[t,...n]=e;if(n.length===0)return this.delete(t);let r=this.get(t,!0);if(v(r))return r.deleteIn(n);throw Error(`Expected YAML collection at ${t}. Remaining path: ${n}`)}getIn(e,t){let[n,...r]=e,i=this.get(n,!0);return r.length===0?!t&&g(i)?i.value:i:v(i)?i.getIn(r,t):void 0}hasAllNullValues(e){return this.items.every(t=>{if(!h(t))return!1;let n=t.value;return n==null||e&&g(n)&&n.value==null&&!n.commentBefore&&!n.comment&&!n.tag})}hasIn(e){let[t,...n]=e;if(n.length===0)return this.has(t);let r=this.get(t,!0);return v(r)?r.hasIn(n):!1}setIn(e,t){let[n,...r]=e;if(r.length===0)this.set(n,t);else{let e=this.get(n,!0);if(v(e))e.setIn(r,t);else if(e===void 0&&this.schema)this.set(n,_e(this.schema,r,t));else throw Error(`Expected YAML collection at ${n}. Remaining path: ${r}`)}}},be=e=>e.replace(/^(?!$)(?: $)?/gm,`#`);function k(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}var A=(e,t,n)=>e.endsWith(`
3
3
  `)?k(n,t):n.includes(`
4
4
  `)?`
@@ -149,4 +149,4 @@ $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,`$1$2`).replace(/\
149
149
  `?(m.push(p),p={t:[],w:[]}):(p.t.push(e),p.w.push(l[t]))}),t.ins.length&&m.push(p),o.push(...m),s=t.at+t.del.length}o.push(...n.slice(s)),n=o,r=$s(r,a.hunks)}return(n??[]).map(e=>{let t=[],n=0;return e.t.forEach((r,i)=>{let a=e.w[i],o=t.at(-1);o&&o.who===a&&o.to===n?o.to+=r.length:t.push({from:n,to:n+r.length,who:a}),n+=r.length}),t})}var ac=(e,t)=>nc(e,t)?.text??null;function oc(e){let t=new Map,n=(e,n)=>{let r=t.get(e);if(!r)return;let i=r.form===`rewrite`&&n!==void 0?(r.open??[]).filter(e=>e!==n):[];r.form===`rewrite`&&i.length?t.set(e,{...r,open:i}):t.delete(e)};for(let r of e)if(r.kind===`proposal`)t.set(r.id,r.form===`rewrite`?{...r,open:r.regions.map((e,t)=>t)}:r);else if(r.kind===`discard`)n(r.proposal,r.region);else if(r.kind===`change`&&r.proposal&&r.why===`keep`)n(r.proposal,r.region);else if(r.kind===`revise`){let e=t.get(r.proposal);if(!e)continue;e.form===`insert`&&r.text!==void 0&&t.set(e.id,{...e,text:r.text}),e.form===`rewrite`&&r.regions&&t.set(e.id,{...e,regions:e.regions.map((e,t)=>({old:e.old,new:r.regions[t]??e.new}))})}return[...t.values()]}function sc(e,t){if(!t.text)return null;let n=-1;for(let r=0;r<=t.nth&&(n=e.indexOf(t.text,n+1),!(n<0));r++);if(n<0){let r=e.indexOf(t.text);if(r<0||e.indexOf(t.text,r+1)>=0)return null;n=r}return{from:n,to:n+t.text.length}}function cc(e,t){if(t.form===`rewrite`)return{form:`rewrite`,regions:t.regions.map(t=>sc(e,t.old))};let n=Js(e),r=t.after?Ys(n,t.after):-1,i=t.before?Ys(n,t.before):-1;if(r>=0)return{form:`insert`,line:n[r].to};if(i>=0)return{form:`insert`,line:n[i].from};if(!t.after&&!t.before){if(n.length)return{form:`insert`,line:n[n.length-1].to};let t=e.split(`
150
150
  `),r=t.length;for(;r>0&&!t[r-1].trim();)r--;return{form:`insert`,line:r}}return!t.after&&n.length?{form:`insert`,line:n[0].from}:null}function lc(e){let t=[],n=new Map,r=new Map,i=e=>e.why===`start`||!e.hunks.length&&e.before===null?[(e.text??``).split(`
151
151
  `).length,0]:[e.hunks.reduce((e,t)=>e+t.ins.length,0),e.hunks.reduce((e,t)=>e+t.del.length,0)];for(let a of e){let e={ids:[a.id],at:a.at,session:a.session,who:a.who,added:0,removed:0};if(a.kind===`proposal`){let i={...e,what:`offered`,asked:a.asked};n.set(a.id,i),r.set(a.id,a.asked),t.push(i)}else if(a.kind===`discard`){let e=n.get(a.proposal);e&&(e.what=`discarded`,e.ids.push(a.id))}else if(a.kind===`change`){let r=a.proposal?n.get(a.proposal):void 0,[o,s]=i(a);if(a.why===`keep`&&r){r.what=`kept`,r.ids.push(a.id),r.at=a.at,r.added+=o,r.removed+=s;continue}let c=t[t.length-1];if(a.why===`edit`&&c&&c.what===`edited`&&c.who===a.who&&c.session===a.session&&Date.parse(a.at)-Date.parse(c.at)<=6e5){c.ids.push(a.id),c.at=a.at,c.added+=o,c.removed+=s;continue}let l=a.why===`start`?a.who===`external`?`found`:`wrote`:a.why===`edit`?`edited`:a.why===`restore`?`restored`:a.why===`keep`?`kept`:a.why===`move`?`moved`:`changed elsewhere`;t.push({...e,what:l,added:o,removed:s,...a.asked?{asked:a.asked}:{}})}}return t}function uc(e,t){let n=0;for(let r of e){if(t<r.at)break;if(t<r.at+r.del.length)return null;n+=r.ins.length-r.del.length}return t+n}function dc(e){if(e.why===`start`||!e.hunks.length&&e.before===null)return(e.text??``).split(`
152
- `).map((e,t)=>t);let t=[],n=0;for(let r of e.hunks){for(let e=0;e<r.ins.length;e++)t.push(r.at+n+e);n+=r.ins.length-r.del.length}return t}function fc(e,t){let n=new Set(t),r=new Set,i=!1;for(let t of e){if(!tc(t))continue;let e=new Set;for(let n of r){let r=uc(t.hunks,n);r!==null&&e.add(r)}if(r=e,n.has(t.id))for(let e of dc(t))r.add(e),i=!0}let a=[...r].sort((e,t)=>e-t),o=[];for(let e of a){let t=o[o.length-1];t&&t.to===e?t.to=e+1:o.push({from:e,to:e+1})}return{runs:o,removed:i&&!o.length}}``.isWellFormed;function pc(e,t){let n=e.edges.some(([,,e])=>e>=Ks.requires)?Ks.requires:Ks.uses,r=new Map,i=new Map,a=new Set,o=new Set,s=[];for(let[c,l,u]of e.edges)if(c!==l){if(u<n){if(c!==t&&l!==t)continue;(u>=Ks.uses?a:o).add(c===t?l:c),u>=Ks.uses&&s.push({from:c,to:l,kind:`uses`})}else r.set(c,[...r.get(c)??[],l]),i.set(l,[...i.get(l)??[],c])}let c={},l={},u=new Set([t]),d=[],f=[],p=[t];for(let e=0;e<p.length;e++){let t=p[e];for(let e of r.get(t)??[])f.push({from:t,to:e,kind:`requires`}),!u.has(e)&&(u.add(e),d.push(e),p.push(e),c[e]=(c[t]??0)+1,l[e]=t)}let m=new Map;for(let e of f)m.set(e.from,(m.get(e.from)??new Set).add(e.to));for(let e of f){let t=new Set,n=[...m.get(e.from)].filter(t=>t!==e.to),r=!1;for(;n.length&&!r;){let i=n.pop();i===e.to?r=!0:i!==e.from&&!t.has(i)&&(t.add(i),n.push(...m.get(i)??[]))}r&&(e.spare=!0,m.get(e.from).delete(e.to))}let h=[...new Set(i.get(t)??[])];for(let e of h)f.push({from:e,to:t,kind:`builds`});let g=new Set([...d,...h]);return{requires:d,depth:c,via:l,builds:h,uses:[...a].filter(e=>!g.has(e)),also:[...o].filter(e=>!g.has(e)&&!a.has(e)),links:[...f,...s.filter(e=>!g.has(e.from===t?e.to:e.from))]}}function mc(){try{return new URLSearchParams(location.search).get(`base`)??``}catch{return``}}var hc=e=>mc()?`${e}@${mc()}`:e;function gc(e,t=``){return`${location.origin}${location.pathname}?base=${encodeURIComponent(e)}${t}`}var _c=class extends Error{status;current;constructor(e,t,n){super(e),this.status=t,this.current=n}};function vc(e=new URL(mc()?`b/${encodeURIComponent(mc())}/api/`:`api/`,document.baseURI).href){let t=null,n=async(t,n)=>{let r;try{r=await fetch(e+t,n)}catch{throw new _c(`isorite is not answering`,0)}let i=await r.json().catch(()=>({}));if(!r.ok)throw new _c(i.error??r.statusText,r.status,i.current);return i},r=()=>n(`session`),i=async(e,i,a)=>{t??=r().then(e=>e.token);let o={"Content-Type":`application/json`,"x-isorite-token":await t};return n(i,{method:e,headers:o,body:JSON.stringify(a)})},a=e=>`?id=${encodeURIComponent(e)}`,o=(t,n=`notes`)=>`${e}file?${n===`code`?`code`:`path`}=${encodeURIComponent(t)}`;return{session:async()=>{let{token:e,...n}=await r();return t=Promise.resolve(e),n},notes:()=>n(`notes`),readNote:e=>n(`note`+a(e)),fileUrl:o,pictures:()=>n(`pictures`),code:(e,t)=>n(`code?href=${encodeURIComponent(e)}${t?`&full=1`:``}`),savePicture:async(e,i)=>{t??=r().then(e=>e.token);let a=Ds(e)??`application/octet-stream`;return n(`file?path=${encodeURIComponent(e)}`,{method:`POST`,headers:{"Content-Type":a,"x-isorite-token":await t},body:i})},file:async(e,t)=>{let n;try{n=await fetch(o(e,t))}catch{throw new _c(`isorite is not answering`,0)}if(n.status===404)return null;if(!n.ok)throw new _c((await n.json().catch(()=>({}))).error??n.statusText,n.status);return{bytes:new Uint8Array(await n.arrayBuffer()),type:n.headers.get(`content-type`)??``,version:(n.headers.get(`etag`)??``).replaceAll(`"`,``)}},saveNote:(e,t)=>i(`PUT`,`note`+a(e),t),createNote:(e,t)=>i(`POST`,`note`+a(e),{text:t}),journal:e=>n(`journal`+a(e)),version:async(e,t)=>(await n(`version`+a(e)+`&entry=`+encodeURIComponent(t))).text,makeFolder:e=>i(`POST`,`folder`,{path:e}),moveFolder:async(e,t)=>{await i(`POST`,`folder/move`,{from:e,to:t})},deleteFolder:async e=>{await i(`POST`,`folder/delete`,{path:e})},moveNote:(e,t,n)=>i(`POST`,`note/move`+a(e),{to:t,base:n}),deleteNote:async(e,t)=>{await i(`POST`,`note/delete`+a(e),{base:t})},restore:(e,t,n)=>i(`POST`,`note/restore`+a(e),{entry:t,base:n}),map:()=>n(`map`),timeline:()=>n(`timeline`),search:e=>n(`search?q=${encodeURIComponent(e)}`),agents:()=>n(`agents`),saveAgents:e=>i(`POST`,`agents`,{text:e}),nameRepository:async()=>!1,agentNotes:()=>n(`agents/notes`),setAgentNotes:e=>i(`POST`,`agents/notes`,{may:e}),brokenNews:async()=>[],conversations:()=>n(`conversations`),deleteConversation:async e=>{await i(`POST`,`conversation/delete`,{id:e})},conversation:async e=>{let t=await n(`conversation`+(e?a(e):``));return t.id?t:null},keep:(e,t,n)=>i(`POST`,`proposal/keep`+a(e),{proposal:t,...n===void 0?{}:{region:n}}),revise:async(e,t,n)=>{await i(`POST`,`proposal/revise`+a(e),{proposal:t,text:n})},discard:async(e,t,n)=>{await i(`POST`,`proposal/discard`+a(e),{proposal:t,...n===void 0?{}:{region:n}})},setDone:(e,t,n)=>i(`POST`,`note/done`+a(e),{done:t,base:n}),agentTools:()=>n(`agent/tools`),agentLook:e=>i(`POST`,`agent/look`,e),agentWrite:e=>i(`POST`,`agent/write`,e),agentSend:e=>i(`POST`,`agent/send`,e),agentReceived:async(e,t)=>{await i(`POST`,`agent/received`,{id:e,agent:t})},agentStatus:async(e,t,n)=>{await i(`POST`,`agent/status`,{agent:e,session:t,busy:n})},agentTake:e=>i(`POST`,`agent/take`,{id:e}),agentChanged:async()=>{throw Error(`only isorite acp tells the server of an agent's change`)},keepAgentRecord:async()=>{throw Error(`only the server keeps an agent's session`)},agentRecords:()=>n(`agent/records`),agentRecord:(e,t)=>n(`agent/record?agent=${encodeURIComponent(e)}&session=${encodeURIComponent(t)}`),deleteAgentRecord:async()=>{throw Error(`a kept session is removed through the pane's drawer`)},bases:{list:()=>n(`bases`),lend:async(e,t)=>(await i(`POST`,`bases/lend`,{name:e,lend:t})).bases},own:{repo:()=>n(`own/repo`),choose:e=>i(`POST`,`own/choose`,{choice:e})},pi:{state:()=>n(`pi`),setKey:async(e,t)=>{await i(`POST`,`pi/key`,{provider:e,key:t})},removeKey:async e=>{await i(`POST`,`pi/key/remove`,{provider:e})},choose:async(e,t)=>{await i(`POST`,`pi/choose`,{provider:e,model:t})},setReach:async(e,t)=>{await i(`POST`,`pi/reach`,{files:e,shell:t})}},terminal:{view:()=>n(`terminal`),prompt:async(e,t)=>{await i(`POST`,`terminal/prompt`,{asked:e,given:t})},steer:async(e,t)=>{await i(`POST`,`terminal/steer`,{asked:e,given:t})},stop:async()=>{await i(`POST`,`terminal/stop`,{})},reply:async(e,t)=>{await i(`POST`,`terminal/permission`,{id:e,decision:t})},take:e=>i(`POST`,`agent/take`,{id:e}),give:async e=>{await i(`POST`,`acp/give`,{given:e})},withdraw:async e=>{await i(`POST`,`terminal/withdraw`,{given:e})},follow:async(e,t)=>{await i(`POST`,`acp/follow`,{agent:e,session:t})},fork:async(e,t)=>{await i(`POST`,`acp/fork`,{agent:e,session:t})},fresh:async e=>{await i(`POST`,`acp/new`,{agent:e})},list:async()=>{await i(`POST`,`acp/list`,{})},set:async(e,t,n)=>{await i(`POST`,`acp/set`,{kind:e,id:t,value:n})},forget:async(e,t)=>{await i(`POST`,`acp/forget`,{agent:e,session:t})},project:()=>n(`connect`),writeProject:async()=>(await i(`POST`,`connect`,{})).written,chosen:()=>n(`acp/agent`),registry:()=>n(`acp/registry`),detected:()=>n(`acp/detected`),choose:e=>i(`POST`,`acp/choose`,{choice:e})},events(t){let n=new EventSource(e+`events`),r=e=>{try{t(JSON.parse(e.data))}catch{}};for(let e of[`note-changed`,`journal`,`agent-start`,`agent-step`,`agent-done`,`agent-sent`,`agent-received`,`agent-item`,`agent-taken`,`terminal`])n.addEventListener(e,r);return()=>n.close()}}}var yc=new class{api;#e=t(null);get session(){return e(this.#e)}set session(e){n(this.#e,e)}#t=t({notes:[],dirs:[]});get listing(){return e(this.#t)}set listing(e){n(this.#t,e)}#n=t(``);get error(){return e(this.#n)}set error(e){n(this.#n,e,!0)}#r=t(``);get open(){return e(this.#r)}set open(e){n(this.#r,e,!0)}#i=t(``);get here(){return e(this.#i)}set here(e){n(this.#i,e,!0)}#a=t(null);get saving(){return e(this.#a)}set saving(e){n(this.#a,e,!0)}#o=t(null);get atlas(){return e(this.#o)}set atlas(e){n(this.#o,e)}#s=t(null);get iso(){return e(this.#s)}set iso(e){n(this.#s,e)}listeners=new Set;relist=null;async load(e=vc()){this.api=e;try{[this.session,this.listing]=await Promise.all([e.session(),e.notes()])}catch(e){this.error=e.message;return}e.events(e=>{this.follow(e);for(let t of this.listeners)t(e);e.type===`note-changed`&&(this.relist&&clearTimeout(this.relist),this.relist=setTimeout(()=>{this.refresh()},300))})}async refresh(){try{this.listing=await this.api.notes()}catch{}}follow(e){(e.type===`agent-start`||e.type===`agent-step`)&&this.iso?.request!==e.request&&(this.iso={request:e.request,note:``,agent:e.agent,state:`reading`,steps:[],message:``});let t=this.iso;t&&`request`in e&&e.request===t.request&&(e.type===`agent-step`?this.iso={...t,state:`reading`,steps:[...t.steps,e.step]}:e.type===`agent-done`&&(this.iso={...t,state:`done`}))}on(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}},bc=e=>i(`/n/[...id]`,{id:e}),xc=e=>{let[t=``,n=``]=e.trim().replace(/^code:/,``).split(`#`);return`${i(`/code/[...path]`,{path:t})}${n?`?at=${encodeURIComponent(n)}`:``}`};function Sc(e){return e.normalize(`NFKD`).replace(/[̀-ͯ]/g,``).toLowerCase().replace(/[^\p{L}\p{N}]+/gu,`-`).replace(/^-+|-+$/g,``)}function Cc(e){let t=e.trim().replace(/^\/+/,``).replace(/\.md$/,``),n=t.includes(`/`)?yc.listing.notes.filter(e=>e.id===t):yc.listing.notes.filter(e=>e.id.split(`/`).at(-1)===t),r=n.length===1?n[0]:null;return r?{id:r.id,title:r.title,kind:r.kind??`note`,done:!!r.done}:null}export{Ts as A,Is as C,Ns as D,Ms as E,Cr as M,vr as N,js as O,Rs as S,Ps as T,fc as _,Sc as a,Ks as b,gc as c,sc as d,ec as f,ac as g,oc as h,bc as i,$ as j,Os as k,hc as l,lc as m,xc as n,_c as o,cc as p,Cc as r,mc as s,yc as t,pc as u,ic as v,ks as w,Gs as x,Js as y};
152
+ `).map((e,t)=>t);let t=[],n=0;for(let r of e.hunks){for(let e=0;e<r.ins.length;e++)t.push(r.at+n+e);n+=r.ins.length-r.del.length}return t}function fc(e,t){let n=new Set(t),r=new Set,i=!1;for(let t of e){if(!tc(t))continue;let e=new Set;for(let n of r){let r=uc(t.hunks,n);r!==null&&e.add(r)}if(r=e,n.has(t.id))for(let e of dc(t))r.add(e),i=!0}let a=[...r].sort((e,t)=>e-t),o=[];for(let e of a){let t=o[o.length-1];t&&t.to===e?t.to=e+1:o.push({from:e,to:e+1})}return{runs:o,removed:i&&!o.length}}``.isWellFormed;function pc(e,t){let n=e.edges.some(([,,e])=>e>=Ks.requires)?Ks.requires:Ks.uses,r=new Map,i=new Map,a=new Set,o=new Set,s=[];for(let[c,l,u]of e.edges)if(c!==l){if(u<n){if(c!==t&&l!==t)continue;(u>=Ks.uses?a:o).add(c===t?l:c),u>=Ks.uses&&s.push({from:c,to:l,kind:`uses`})}else r.set(c,[...r.get(c)??[],l]),i.set(l,[...i.get(l)??[],c])}let c={},l={},u=new Set([t]),d=[],f=[],p=[t];for(let e=0;e<p.length;e++){let t=p[e];for(let e of r.get(t)??[])f.push({from:t,to:e,kind:`requires`}),!u.has(e)&&(u.add(e),d.push(e),p.push(e),c[e]=(c[t]??0)+1,l[e]=t)}let m=new Map;for(let e of f)m.set(e.from,(m.get(e.from)??new Set).add(e.to));for(let e of f){let t=new Set,n=[...m.get(e.from)].filter(t=>t!==e.to),r=!1;for(;n.length&&!r;){let i=n.pop();i===e.to?r=!0:i!==e.from&&!t.has(i)&&(t.add(i),n.push(...m.get(i)??[]))}r&&(e.spare=!0,m.get(e.from).delete(e.to))}let h=[...new Set(i.get(t)??[])];for(let e of h)f.push({from:e,to:t,kind:`builds`});let g=new Set([...d,...h]);return{requires:d,depth:c,via:l,builds:h,uses:[...a].filter(e=>!g.has(e)),also:[...o].filter(e=>!g.has(e)&&!a.has(e)),links:[...f,...s.filter(e=>!g.has(e.from===t?e.to:e.from))]}}function mc(){try{return new URLSearchParams(location.search).get(`base`)??``}catch{return``}}var hc=e=>mc()?`${e}@${mc()}`:e;function gc(e,t=``){return`${location.origin}${location.pathname}?base=${encodeURIComponent(e)}${t}`}var _c=class extends Error{status;current;constructor(e,t,n){super(e),this.status=t,this.current=n}};function vc(e=new URL(mc()?`b/${encodeURIComponent(mc())}/api/`:`api/`,document.baseURI).href){let t=null,n=async(t,n)=>{let r;try{r=await fetch(e+t,n)}catch{throw new _c(`isorite is not answering`,0)}let i=await r.json().catch(()=>({}));if(!r.ok)throw new _c(i.error??r.statusText,r.status,i.current);return i},r=()=>n(`session`),i=async(e,i,a)=>{t??=r().then(e=>e.token);let o={"Content-Type":`application/json`,"x-isorite-token":await t};return n(i,{method:e,headers:o,body:JSON.stringify(a)})},a=e=>`?id=${encodeURIComponent(e)}`,o=(t,n=`notes`)=>`${e}file?${n===`code`?`code`:`path`}=${encodeURIComponent(t)}`;return{session:async()=>{let{token:e,...n}=await r();return t=Promise.resolve(e),n},notes:()=>n(`notes`),readNote:e=>n(`note`+a(e)),fileUrl:o,pictures:()=>n(`pictures`),code:(e,t)=>n(`code?href=${encodeURIComponent(e)}${t?`&full=1`:``}`),savePicture:async(e,i)=>{t??=r().then(e=>e.token);let a=Ds(e)??`application/octet-stream`;return n(`file?path=${encodeURIComponent(e)}`,{method:`POST`,headers:{"Content-Type":a,"x-isorite-token":await t},body:i})},file:async(e,t)=>{let n;try{n=await fetch(o(e,t))}catch{throw new _c(`isorite is not answering`,0)}if(n.status===404)return null;if(!n.ok)throw new _c((await n.json().catch(()=>({}))).error??n.statusText,n.status);return{bytes:new Uint8Array(await n.arrayBuffer()),type:n.headers.get(`content-type`)??``,version:(n.headers.get(`etag`)??``).replaceAll(`"`,``)}},saveNote:(e,t)=>i(`PUT`,`note`+a(e),t),createNote:(e,t)=>i(`POST`,`note`+a(e),{text:t}),journal:e=>n(`journal`+a(e)),version:async(e,t)=>(await n(`version`+a(e)+`&entry=`+encodeURIComponent(t))).text,makeFolder:e=>i(`POST`,`folder`,{path:e}),moveFolder:async(e,t)=>{await i(`POST`,`folder/move`,{from:e,to:t})},deleteFolder:async e=>{await i(`POST`,`folder/delete`,{path:e})},moveNote:(e,t,n)=>i(`POST`,`note/move`+a(e),{to:t,base:n}),deleteNote:async(e,t)=>{await i(`POST`,`note/delete`+a(e),{base:t})},restore:(e,t,n)=>i(`POST`,`note/restore`+a(e),{entry:t,base:n}),map:()=>n(`map`),timeline:()=>n(`timeline`),search:e=>n(`search?q=${encodeURIComponent(e)}`),agents:()=>n(`agents`),saveAgents:e=>i(`POST`,`agents`,{text:e}),nameRepository:async()=>!1,agentNotes:()=>n(`agents/notes`),setAgentNotes:e=>i(`POST`,`agents/notes`,{may:e}),brokenNews:async()=>[],conversations:()=>n(`conversations`),deleteConversation:async e=>{await i(`POST`,`conversation/delete`,{id:e})},conversation:async e=>{let t=await n(`conversation`+(e?a(e):``));return t.id?t:null},keep:(e,t,n)=>i(`POST`,`proposal/keep`+a(e),{proposal:t,...n===void 0?{}:{region:n}}),revise:async(e,t,n)=>{await i(`POST`,`proposal/revise`+a(e),{proposal:t,text:n})},discard:async(e,t,n)=>{await i(`POST`,`proposal/discard`+a(e),{proposal:t,...n===void 0?{}:{region:n}})},setDone:(e,t,n)=>i(`POST`,`note/done`+a(e),{done:t,base:n}),agentTools:()=>n(`agent/tools`),agentLook:e=>i(`POST`,`agent/look`,e),agentWrite:e=>i(`POST`,`agent/write`,e),agentSend:e=>i(`POST`,`agent/send`,e),agentReceived:async(e,t)=>{await i(`POST`,`agent/received`,{id:e,agent:t})},agentStatus:async(e,t,n)=>{await i(`POST`,`agent/status`,{agent:e,session:t,busy:n})},agentTake:e=>i(`POST`,`agent/take`,{id:e}),agentChanged:async()=>{throw Error(`only isorite acp tells the server of an agent's change`)},keepAgentRecord:async()=>{throw Error(`only the server keeps an agent's session`)},agentRecords:()=>n(`agent/records`),agentRecord:(e,t)=>n(`agent/record?agent=${encodeURIComponent(e)}&session=${encodeURIComponent(t)}`),deleteAgentRecord:async()=>{throw Error(`a kept session is removed through the pane's drawer`)},bases:{list:()=>n(`bases`),lend:async(e,t)=>(await i(`POST`,`bases/lend`,{name:e,lend:t})).bases,title:async(e,t)=>(await i(`POST`,`bases/title`,{name:e,title:t})).bases},own:{repo:()=>n(`own/repo`),choose:e=>i(`POST`,`own/choose`,{choice:e})},pi:{state:()=>n(`pi`),setKey:async(e,t)=>{await i(`POST`,`pi/key`,{provider:e,key:t})},removeKey:async e=>{await i(`POST`,`pi/key/remove`,{provider:e})},choose:async(e,t)=>{await i(`POST`,`pi/choose`,{provider:e,model:t})},setReach:async(e,t)=>{await i(`POST`,`pi/reach`,{files:e,shell:t})}},terminal:{view:()=>n(`terminal`),prompt:async(e,t)=>{await i(`POST`,`terminal/prompt`,{asked:e,given:t})},steer:async(e,t)=>{await i(`POST`,`terminal/steer`,{asked:e,given:t})},stop:async()=>{await i(`POST`,`terminal/stop`,{})},reply:async(e,t)=>{await i(`POST`,`terminal/permission`,{id:e,decision:t})},take:e=>i(`POST`,`agent/take`,{id:e}),give:async e=>{await i(`POST`,`acp/give`,{given:e})},withdraw:async e=>{await i(`POST`,`terminal/withdraw`,{given:e})},follow:async(e,t)=>{await i(`POST`,`acp/follow`,{agent:e,session:t})},fork:async(e,t)=>{await i(`POST`,`acp/fork`,{agent:e,session:t})},fresh:async e=>{await i(`POST`,`acp/new`,{agent:e})},list:async()=>{await i(`POST`,`acp/list`,{})},set:async(e,t,n)=>{await i(`POST`,`acp/set`,{kind:e,id:t,value:n})},forget:async(e,t)=>{await i(`POST`,`acp/forget`,{agent:e,session:t})},project:()=>n(`connect`),writeProject:async()=>(await i(`POST`,`connect`,{})).written,chosen:()=>n(`acp/agent`),registry:()=>n(`acp/registry`),detected:()=>n(`acp/detected`),choose:e=>i(`POST`,`acp/choose`,{choice:e})},events(t){let n=new EventSource(e+`events`),r=e=>{try{t(JSON.parse(e.data))}catch{}};for(let e of[`note-changed`,`journal`,`agent-start`,`agent-step`,`agent-done`,`agent-sent`,`agent-received`,`agent-item`,`agent-taken`,`terminal`])n.addEventListener(e,r);return()=>n.close()}}}var yc=new class{api;#e=t(null);get session(){return e(this.#e)}set session(e){n(this.#e,e)}#t=t({notes:[],dirs:[]});get listing(){return e(this.#t)}set listing(e){n(this.#t,e)}#n=t(``);get error(){return e(this.#n)}set error(e){n(this.#n,e,!0)}#r=t(``);get open(){return e(this.#r)}set open(e){n(this.#r,e,!0)}#i=t(``);get here(){return e(this.#i)}set here(e){n(this.#i,e,!0)}#a=t(null);get saving(){return e(this.#a)}set saving(e){n(this.#a,e,!0)}#o=t(null);get atlas(){return e(this.#o)}set atlas(e){n(this.#o,e)}#s=t(null);get iso(){return e(this.#s)}set iso(e){n(this.#s,e)}listeners=new Set;relist=null;async load(e=vc()){this.api=e;try{[this.session,this.listing]=await Promise.all([e.session(),e.notes()])}catch(e){this.error=e.message;return}e.events(e=>{this.follow(e);for(let t of this.listeners)t(e);e.type===`note-changed`&&(this.relist&&clearTimeout(this.relist),this.relist=setTimeout(()=>{this.refresh()},300))})}async refresh(){try{this.listing=await this.api.notes()}catch{}}follow(e){(e.type===`agent-start`||e.type===`agent-step`)&&this.iso?.request!==e.request&&(this.iso={request:e.request,note:``,agent:e.agent,state:`reading`,steps:[],message:``});let t=this.iso;t&&`request`in e&&e.request===t.request&&(e.type===`agent-step`?this.iso={...t,state:`reading`,steps:[...t.steps,e.step]}:e.type===`agent-done`&&(this.iso={...t,state:`done`}))}on(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}},bc=e=>i(`/n/[...id]`,{id:e}),xc=e=>{let[t=``,n=``]=e.trim().replace(/^code:/,``).split(`#`);return`${i(`/code/[...path]`,{path:t})}${n?`?at=${encodeURIComponent(n)}`:``}`};function Sc(e){return e.normalize(`NFKD`).replace(/[̀-ͯ]/g,``).toLowerCase().replace(/[^\p{L}\p{N}]+/gu,`-`).replace(/^-+|-+$/g,``)}function Cc(e){let t=e.trim().replace(/^\/+/,``).replace(/\.md$/,``),n=t.includes(`/`)?yc.listing.notes.filter(e=>e.id===t):yc.listing.notes.filter(e=>e.id.split(`/`).at(-1)===t),r=n.length===1?n[0]:null;return r?{id:r.id,title:r.title,kind:r.kind??`note`,done:!!r.done}:null}export{Ts as A,Is as C,Ns as D,Ms as E,Cr as M,vr as N,js as O,Rs as S,Ps as T,fc as _,Sc as a,Ks as b,gc as c,sc as d,ec as f,ac as g,oc as h,bc as i,$ as j,Os as k,hc as l,lc as m,xc as n,_c as o,cc as p,Cc as r,mc as s,yc as t,pc as u,ic as v,ks as w,Gs as x,Js as y};
@@ -0,0 +1 @@
1
+ import{H as e,at as t,it as n,rt as r}from"./Cz6kYWmu.js";import{s as i,t as a}from"./Co7i-dcu.js";import{i as o,l as s}from"./CqmdC7Q3.js";var c=(e,t)=>{try{return localStorage.getItem(e)??t}catch{return t}},l=(e,t)=>{try{localStorage.setItem(e,t)}catch{}},u=(e,t)=>{try{return{...t,...JSON.parse(c(e,`{}`))}}catch{return t}},d=[`note`,`atlas`,`iso`],f=[`cols`,`stack`,`one`],p={note:[`provenance`,`timeline`],atlas:[`questions`,`problems`,`web`,`code`,`pictures`,`artifacts`,`context`],iso:[`notes`,`files`,`run`]},m={provenance:!1,timeline:!1,questions:!0,problems:!0,web:!1,code:!1,pictures:!1,artifacts:!1,context:!1,notes:!0,files:!1,run:!1},h={note:1.25,atlas:1,iso:1.05},g={min:.4,max:3},_=new class{#e=t(r(f.includes(c(`isorite.layout`,``))?c(`isorite.layout`,``):`cols`));get layout(){return e(this.#e)}set layout(e){n(this.#e,e,!0)}#t=t(r(u(`isorite.show`,{note:!0,atlas:!0,iso:!0})));get show(){return e(this.#t)}set show(e){n(this.#t,e,!0)}#n=t(r(u(`isorite.widths`,h)));get widths(){return e(this.#n)}set widths(e){n(this.#n,e,!0)}#r=t(r(u(`isorite.switches`,m)));get on(){return e(this.#r)}set on(e){n(this.#r,e,!0)}#i=t(`note`);get focus(){return e(this.#i)}set focus(e){n(this.#i,e,!0)}#a=t(!1);get narrow(){return e(this.#a)}set narrow(e){n(this.#a,e,!0)}#o=t(0);get unseen(){return e(this.#o)}set unseen(e){n(this.#o,e,!0)}#s=t(!1);get tree(){return e(this.#s)}set tree(e){n(this.#s,e,!0)}#c=t(``);get fresh(){return e(this.#c)}set fresh(e){n(this.#c,e,!0)}#l=t(null);get settings(){return e(this.#l)}set settings(e){n(this.#l,e,!0)}#u=t(r(c(s(`isorite.last`),``)));get last(){return e(this.#u)}set last(e){n(this.#u,e,!0)}get standing(){if(this.narrow)return[...d];let e=d.filter(e=>this.show[e]);return this.layout===`one`?[e.includes(this.focus)?this.focus:e[0]??`note`]:e}setLayout(e){this.layout=e,l(`isorite.layout`,e)}nextLayout(){this.setLayout(f[(f.indexOf(this.layout)+1)%f.length])}toggle(e){this.show[e]&&d.filter(e=>this.show[e]).length===1||(this.show[e]=!this.show[e],l(`isorite.show`,JSON.stringify(this.show)),!this.show[e]&&this.focus===e&&(this.focus=d.find(e=>this.show[e])))}setWidth(e,t){this.widths[e]=Math.min(g.max,Math.max(g.min,t)),l(`isorite.widths`,JSON.stringify(this.widths))}to(e){!this.narrow&&!this.show[e]&&this.toggle(e),this.focus=e,e===`iso`&&(this.unseen=0),this.scroll?.(e)}scroll=null;step(e){let t=this.narrow?[...d]:d.filter(e=>this.show[e]),n=t.indexOf(this.focus);this.to(t[(n+e+t.length)%t.length])}flip(e,t=!this.on[e]){this.on[e]=t,l(`isorite.switches`,JSON.stringify(this.on)),e===`notes`&&this.notesFlipped?.(t)}notesFlipped=null;busy(e){let t=typeof document>`u`?null:document.activeElement;return!!t&&!!t.closest(`[data-pane="${e}"]`)&&(t.matches(`input, textarea, [contenteditable=true]`)||!!t.closest(`.cm-editor`))}#d=t(!1);get attached(){return e(this.#d)}set attached(e){n(this.#d,e,!0)}setAttached(e){this.attached=e}setLast(e){e&&!e.startsWith(`@`)&&(this.last=e,l(s(`isorite.last`),e))}#f=t(r([]));get trail(){return e(this.#f)}set trail(e){n(this.#f,e,!0)}#p=t(-1);get at(){return e(this.#p)}set at(e){n(this.#p,e,!0)}#m=null;visit(e){this.#m===e?this.#m=null:this.trail[this.at]!==e&&(this.trail=[...this.trail.slice(0,this.at+1),e].slice(-50),this.at=this.trail.length-1)}get canBack(){return this.at>0}get canForward(){return this.at>=0&&this.at<this.trail.length-1}async walk(e){let t=this.trail[this.at+e];t!==void 0&&(this.at+=e,this.#m=t,await this.open(t,!1))}async open(e,t=this.narrow){await a(o(e)),t&&this.to(`note`)}async home(){await a(i(`/notes`))}};export{_ as i,d as n,p as r,f as t};
@@ -1 +1 @@
1
- import"./Cz6kYWmu.js";import{i as e}from"./DQp-M3XN.js";var t={get data(){return e.data},get error(){return e.error},get form(){return e.form},get params(){return e.params},get route(){return e.route},get state(){return e.state},get status(){return e.status},get url(){return e.url}};export{t};
1
+ import"./Cz6kYWmu.js";import{i as e}from"./Co7i-dcu.js";var t={get data(){return e.data},get error(){return e.error},get form(){return e.form},get params(){return e.params},get route(){return e.route},get state(){return e.state},get status(){return e.status},get url(){return e.url}};export{t};
@@ -0,0 +1 @@
1
+ import{$ as e,B as t,E as n,F as r,H as i,J as a,L as o,N as s,P as c,R as l,Y as u,_t as d,at as f,d as p,dt as m,et as h,f as g,gt as _,ht as v,it as y,j as b,k as x,mt as S,nt as C,ot as w,q as ee,rt as T,st as E,tt as D,u as O,ut as k,v as A,x as j,y as M,z as N}from"./Cz6kYWmu.js";import{s as te,t as P}from"./Co7i-dcu.js";import"./xihTtKlq.js";import{a as F,i as I,t as L}from"./CqmdC7Q3.js";import{i as ne}from"./D4nFtMQC.js";import{n as re,t as ie}from"./lSTs4h6V.js";var R=140,z=6,B=class{done;opts;#e=f(null);get item(){return i(this.#e)}set item(e){y(this.#e,e)}#t=f(`idle`);get phase(){return i(this.#t)}set phase(e){y(this.#t,e,!0)}#n=f(null);get tag(){return i(this.#n)}set tag(e){y(this.#n,e,!0)}#r=f(null);get over(){return i(this.#r)}set over(e){y(this.#r,e,!0)}#i=f(0);get x(){return i(this.#i)}set x(e){y(this.#i,e,!0)}#a=f(0);get y(){return i(this.#a)}set y(e){y(this.#a,e,!0)}#o=f(T({x:0,y:0}));get origin(){return i(this.#o)}set origin(e){y(this.#o,e,!0)}timer;from={x:0,y:0};touch=!1;cleanup;frame=0;dwell;node=null;#s=f(null);get rect(){return i(this.#s)}set rect(e){y(this.#s,e)}constructor(e,t={}){this.done=e,this.opts=t}dropAt=(e,t)=>(this.opts.dropAt??H)(e,t);press=(e,t)=>{let n=n=>{if(n.target.closest(`button, input, .menu`))return;let r=t();(r.kind!==`folder`||r.id)&&this.begin(r,n,e)};return e.addEventListener(`pointerdown`,n),{destroy:()=>e.removeEventListener(`pointerdown`,n)}};begin(e,t,n){if(this.phase!==`idle`||this.timer||t.pointerType===`mouse`&&t.button!==0)return;this.touch=t.pointerType!==`mouse`,this.from={x:t.clientX,y:t.clientY},this.x=t.clientX,this.y=t.clientY,this.origin={x:t.clientX,y:t.clientY},this.node=n,this.timer=setTimeout(()=>this.reveal(e),380);let r=t=>this.moved(t,e),i=()=>this.release(),a=()=>this.stop(),o=e=>{e.key===`Escape`&&this.stop()},s=e=>{this.phase!==`idle`&&e.cancelable&&e.preventDefault()};window.addEventListener(`pointermove`,r),window.addEventListener(`pointerup`,i),window.addEventListener(`pointercancel`,a),window.addEventListener(`keydown`,o),window.addEventListener(`touchmove`,s,{passive:!1}),this.cleanup=()=>{window.removeEventListener(`pointermove`,r),window.removeEventListener(`pointerup`,i),window.removeEventListener(`pointercancel`,a),window.removeEventListener(`keydown`,o),window.removeEventListener(`touchmove`,s)}}reveal(e){this.timer=void 0,this.item=e,this.rect=this.node?.getBoundingClientRect()??null,this.phase=`held`;try{navigator.vibrate?.(10)}catch{}}moved(e,t){if(this.x=e.clientX,this.y=e.clientY,this.phase===`idle`){if(Math.hypot(e.clientX-this.from.x,e.clientY-this.from.y)<=z)return;if(this.touch||this.opts.drift===`cancel`){this.stop();return}clearTimeout(this.timer),this.timer=void 0,this.item=t,this.phase=`moving`,this.tag=`move`}if(this.phase===`held`){let t=V(e.clientX,e.clientY);t===`move`&&this.tag!==`move`&&(this.dwell=setTimeout(()=>{this.phase===`held`&&this.tag===`move`&&(this.phase=`moving`,this.over=this.dropAt(this.x,this.y),this.scrolling())},R)),t!==`move`&&(clearTimeout(this.dwell),this.dwell=void 0),this.tag=t}this.phase===`moving`&&(this.over=this.dropAt(e.clientX,e.clientY),this.scrolling())}scrolling(){if(this.frame||this.opts.scroll===!1)return;let e=()=>{if(this.frame=0,this.phase!==`moving`)return;let t=this.node;for(;t&&t.scrollHeight<=t.clientHeight+1;)t=t.parentElement;if(t){let e=t.getBoundingClientRect(),n=this.y<e.top+56?-Math.ceil((e.top+56-this.y)/4):this.y>e.bottom-56?Math.ceil((this.y-(e.bottom-56))/4):0;n&&(t.scrollTop+=n,this.over=this.dropAt(this.x,this.y))}this.frame=requestAnimationFrame(e)};this.frame=requestAnimationFrame(e)}release(){let{item:e,phase:t,tag:n,over:r}=this,i=t!==`idle`;if(this.stop(),i){let e=e=>{e.stopPropagation(),e.preventDefault()};window.addEventListener(`click`,e,{capture:!0,once:!0}),setTimeout(()=>window.removeEventListener(`click`,e,{capture:!0}),0)}e&&(t===`moving`&&r!==null?this.done.move(e,r):t===`held`&&n===`delete`?this.done.remove(e):t===`held`&&n===`send`&&this.done.send(e))}stop(){clearTimeout(this.timer),this.timer=void 0,clearTimeout(this.dwell),this.dwell=void 0,cancelAnimationFrame(this.frame),this.frame=0,this.cleanup?.(),this.cleanup=void 0,this.item=null,this.rect=null,this.phase=`idle`,this.tag=null,this.over=null}};function V(e,t){let n=document.elementFromPoint(e,t)?.closest(`[data-tag]`)?.dataset.tag;return n===`move`||n===`delete`||n===`send`?n:null}function H(e,t){let n=document.elementFromPoint(e,t)?.closest(`[data-dir]`)?.dataset.dir;return n===void 0?null:n}var U=r(`<div class="ghost svelte-1aw2rf0"> </div>`),W=r(`<span role="presentation"><span data-tag="move">move</span> <span data-tag="delete">delete</span> <span data-tag="send">send to the agent</span></span>`);function ae(t,n){m(n,!0);let r=e=>(document.body.append(e),{destroy:()=>e.remove()}),o=w(()=>{if(n.mode!==`point`)return``;let e=n.bounds??{left:0,top:0,right:innerWidth,bottom:innerHeight};return`left:${Math.max(e.left+8,Math.min(n.g.origin.x-150,e.right-300-8))}px;top:${Math.max(e.top+8,n.g.origin.y-46)}px`});var l=c(),u=h(l),d=e=>{var t=c(),i=h(t),o=e=>{var t=U();let i;var o=D(t,!0);j(t,e=>r?.(e)),a(()=>{i=A(t,``,i,{left:`${n.g.x+14}px`,top:`${n.g.y+10}px`}),b(o,n.g.item.title)}),s(e,t)};x(i,e=>{n.g.phase===`moving`&&n.g.item&&e(o)}),s(e,t)},f=t=>{var r=W();let c;var l=e(r);let u;var d=C(l,2);let f;var p=C(d,2);let m;v(r),a(()=>{c=M(r,1,`tags svelte-1aw2rf0`,null,c,{point:n.mode===`point`}),A(r,i(o)),u=M(l,1,`tag move svelte-1aw2rf0`,null,u,{on:n.g.tag===`move`}),f=M(d,1,`tag delete svelte-1aw2rf0`,null,f,{on:n.g.tag===`delete`}),m=M(p,1,`tag send svelte-1aw2rf0`,null,m,{on:n.g.tag===`send`})}),s(t,r)};x(u,e=>{n.mode===`ghost`?e(d):n.g.phase===`held`&&e(f,1)}),s(t,l),k()}var oe=r(`<button class="item svelte-qalm8h" type="button">Move to a folder…</button> <button class="item danger-text svelte-qalm8h" type="button">Delete…</button>`,1),G=r(`<label class="label">move to</label> <!> <span class="faint path svelte-qalm8h"> </span> <span class="row svelte-qalm8h"><button class="btn primary" type="button">move</button><button class="btn quiet" type="button">cancel</button></span>`,1),K=r(`<span class="ask svelte-qalm8h"> <!> Its history stays.</span> <span class="row svelte-qalm8h"><button class="btn danger" type="button">delete</button><button class="btn quiet" type="button">keep it</button></span>`,1),q=r(`<span class="problem svelte-qalm8h" role="alert"> </span>`),se=r(`<span class="panel svelte-qalm8h" role="group"><!> <!></span>`),ce=r(`<span class="menu svelte-qalm8h" role="presentation"><button class="more svelte-qalm8h" type="button">⋯</button> <!></span>`);function le(t,n){m(n,!0);let r=f(!1),c=f(`menu`),l=f(``),u=f(T([])),d=f(``),p=w(()=>n.id.split(`/`).at(-1)),_=w(()=>[i(l).trim().replace(/^\/+|\/+$/g,``),i(p)].filter(Boolean).join(`/`));function ee(){y(r,!i(r)),y(c,`menu`),y(d,``),y(l,n.id.includes(`/`)?n.id.slice(0,n.id.lastIndexOf(`/`)):``,!0)}async function E(){y(d,``);try{let e=await L.api.map();y(u,[...new Set(e.model.edges.filter(([e,t])=>t===n.id&&e!==n.id&&!e.startsWith(`@`)).map(([t])=>e.notes[t]?.title||t))],!0),y(c,`delete`)}catch(e){y(d,e.message,!0)}}async function O(){if(i(_)===n.id)y(r,!1);else try{await L.api.moveNote(n.id,i(_),(await L.api.readNote(n.id)).version),y(r,!1),await L.refresh()}catch(e){y(d,e.message,!0)}}async function A(){try{await L.api.deleteNote(n.id,(await L.api.readNote(n.id)).version),y(r,!1),await L.refresh(),L.open===n.id&&await P(te(`/notes`),{replaceState:!0})}catch(e){y(d,e.message,!0)}}function j(e){e.key===`Escape`&&(y(r,!1),e.stopPropagation())}var M=ce(),F=e(M),I=C(F,2),ne=t=>{var f=se(),p=e(f),m=e=>{var t=oe(),n=h(t),r=C(n,2);N(`click`,n,()=>y(c,`move`)),N(`click`,r,()=>void E()),s(e,t)},w=t=>{var o=G(),c=h(o),u=C(c,2);ie(u,{get id(){return`move-${n.id??``}`},get label(){return`Folder to move ${n.title??``} to`},placeholder:`the top of the base`,onpick:()=>void O(),onkeydown:e=>{e.key===`Enter`&&(e.preventDefault(),O())},get value(){return i(l)},set value(e){y(l,e,!0)}});var d=C(u,2),f=D(d),p=C(d,2),m=e(p),x=C(m);v(p),a(()=>{g(c,`for`,`move-${n.id??``}`),b(f,`${i(_)??``}.md`)}),N(`click`,m,()=>void O()),N(`click`,x,()=>y(r,!1)),s(t,o)},ee=t=>{var c=K(),l=h(c),d=e(l),f=C(d),p=e=>{var t=o();a(e=>b(t,`${i(u).length===1?`One note links`:`${i(u).length} notes link`} to it (${e??``}); ${i(u).length===1?`its link is`:`their links are`} left broken.`),[()=>i(u).join(`, `)]),s(e,t)},m=e=>{var t=o(`No note links to it.`);s(e,t)};x(f,e=>{i(u).length?e(p):e(m,-1)}),S(),v(l);var g=C(l,2),_=e(g),w=C(_);v(g),a(()=>b(d,`Delete “${n.title??``}”? `)),N(`click`,_,()=>void A()),N(`click`,w,()=>y(r,!1)),s(t,c)};x(p,e=>{i(c)===`menu`?e(m):i(c)===`move`?e(w,1):e(ee,-1)});var T=C(p,2),k=e=>{var t=q(),n=D(t,!0);a(()=>b(n,i(d))),s(e,t)};x(T,e=>{i(d)&&e(k)}),v(f),a(()=>g(f,`aria-label`,n.title)),s(t,f)};x(I,e=>{i(r)&&e(ne)}),v(M),a(()=>{g(F,`aria-label`,`Do something with ${n.title??``}`),g(F,`aria-expanded`,i(r))}),N(`keydown`,M,j),N(`click`,F,ee),s(t,M),k()}l([`keydown`,`click`]);var ue=r(`<form class="frame new svelte-btgyzc"><span class="frame-title">a new folder</span> <label for="new-folder-path" class="svelte-btgyzc"><span class="label">name, with / for one inside another</span></label> <input id="new-folder-path" class="field" placeholder="geometry/surfaces" autocomplete="off"/> <div class="row svelte-btgyzc"><button class="btn primary" type="submit">make it</button><button class="btn quiet" type="button">cancel</button></div></form>`),de=r(`<p class="problem svelte-btgyzc" role="alert"> </p>`),fe=r(`<form class="frame new svelte-btgyzc"><span class="frame-title">a new note</span> <label class="svelte-btgyzc"><span class="label">title</span> <input class="field" placeholder="Entropy" autocomplete="off"/></label> <label for="new-folder" class="svelte-btgyzc"><span class="label">folder</span></label> <!> <p class="faint path svelte-btgyzc"> </p> <!> <div class="row svelte-btgyzc"><button class="btn primary" type="submit">make it</button><button class="btn quiet" type="button">cancel</button></div></form>`),pe=r(`<p class="soft empty svelte-btgyzc">This base has no notes yet. Make the first one.</p>`),me=r(`<p class="soft" role="status"> </p>`),he=r(`<div class="frame ask svelte-btgyzc" role="alertdialog" aria-label="Delete"><span> </span> <div class="row svelte-btgyzc"><button class="btn danger" type="button"> </button><button class="btn quiet" type="button">keep it</button></div></div>`),ge=r(`<input class="field rename svelte-btgyzc"/>`),_e=r(`<span class="label" role="presentation"> </span>`),ve=r(`<button class="btn quiet" type="button">rename</button>`),ye=r(`<button class="btn quiet" type="button">delete</button>`),be=r(`<span class="soft desc svelte-btgyzc"> </span>`),xe=r(`<li><a data-lustre="" draggable="false"><span class="serif title svelte-btgyzc"> </span><!></a><!><!></li>`),Se=r(`<section><h2><!><span class="acts svelte-btgyzc"><button class="btn quiet add svelte-btgyzc" type="button">+</button><!><!></span><!></h2> <ul class="svelte-btgyzc"></ul></section>`),Ce=r(`<li class="svelte-btgyzc"><a data-lustre=""><span class="serif title svelte-btgyzc"> </span><span class="soft desc svelte-btgyzc"> </span></a></li>`),we=r(`<section><h2 class="svelte-btgyzc"><span class="label">in the text</span></h2> <ul class="svelte-btgyzc"></ul></section>`),Te=r(`<p class="soft empty svelte-btgyzc">No note matches.</p>`),Ee=r(`<div class="notes svelte-btgyzc"><div class="top svelte-btgyzc"><label class="hidden-label" for="filter">Find a note</label> <input id="filter" class="field grow" type="search" placeholder="find a note" autocomplete="off"/> <button class="btn quiet" type="button">new folder</button> <button class="btn primary" type="button" data-tour="new-note">new note</button></div> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!></div>`);function J(r,o){m(o,!0);let l=f(``),S=f([]),T=f(!1),R=f(``),z=f(``),V=f(``),H=new B({move:(e,t)=>void Pe(e,t),remove:e=>void Fe(e),send:e=>Le(e)}),U=f(null),W=w(()=>H.phase===`moving`?H.item?.id??null:null),oe=w(()=>H.phase===`moving`?H.over:null),G=f(!1),K=f(null),q=f(``),se=e=>{e.focus(),e.select()};async function ce(e){let t=i(q).trim().replace(/^\/+|\/+$/g,``),n=e.includes(`/`)?e.slice(0,e.lastIndexOf(`/`)):``;if(y(K,null),t&&t!==$(e)){y(X,``);try{await L.api.moveFolder(e,[n,t].filter(Boolean).join(`/`)),await L.refresh()}catch(e){y(X,e.message,!0)}}}let J=f(``),De,Y=f(``),X=f(``),Z=w(()=>i(l).trim().toLowerCase().split(/\s+/).filter(Boolean)),Oe=e=>i(Z).every(t=>`${e.title}\n${e.id}\n${e.description}`.toLowerCase().includes(t)),ke=w(()=>i(Z).length?L.listing.notes.filter(Oe):L.listing.notes),Ae=w(()=>{let e=new Map;if(!i(Z).length)for(let t of L.listing.dirs)e.set(t,[]);for(let t of i(ke))e.set(t.dir,[...e.get(t.dir)??[],t]);let t=[...e].sort(([e],[t])=>e<t?-1:+(e>t));return i(W)!==null&&!e.has(``)&&t.push([``,[]]),t}),je=w(()=>i(Z).length?i(S).filter(e=>!i(ke).some(t=>t.id===e.id)):[]);u(()=>{let e=i(l).trim();if(e.length<2){y(S,[]);return}let t=setTimeout(()=>{L.api.search(e).then(t=>{i(l).trim()===e&&y(S,t)},()=>void 0)},200);return()=>clearTimeout(t)});let Q=w(()=>[i(z).trim().replace(/^\/+|\/+$/g,``),F(i(R))].filter(Boolean).join(`/`));function Me(e=``){y(T,!0),y(z,e,!0),y(R,``),y(V,``)}let Ne=(e,t)=>H.phase===`held`&&H.tag===e&&H.item?.id===t,$=e=>e.split(`/`).at(-1);async function Pe(e,t){y(X,``);try{if(e.kind===`folder`){let n=t?`${t}/${$(e.id)}`:$(e.id);n!==e.id&&await L.api.moveFolder(e.id,n)}else{let n=t?`${t}/${$(e.id)}`:$(e.id);n!==e.id&&await L.api.moveNote(e.id,n,(await L.api.readNote(e.id)).version)}await L.refresh()}catch(e){y(X,e.message,!0)}}async function Fe(e){y(X,``);try{if(e.kind===`folder`){let t=L.listing.notes.filter(t=>t.dir===e.id||t.dir.startsWith(`${e.id}/`)).length;if(t){y(X,`${e.id} holds ${t} ${t===1?`note`:`notes`}: move or delete ${t===1?`it`:`them`} first.`);return}y(U,{item:e,empty:!0,text:`Delete the empty folder ${e.id}?`});return}let t=await L.api.map(),n=[...new Set(t.model.edges.filter(([t,n])=>n===e.id&&t!==e.id&&!t.startsWith(`@`)).map(([e])=>t.notes[e]?.title||e))];y(U,{item:e,empty:!1,text:`Delete “${e.title}”? ${n.length?`${n.length===1?`One note links`:`${n.length} notes link`} to it (${n.join(`, `)}); ${n.length===1?`its link is`:`their links are`} left broken.`:`No note links to it.`} Its history stays.`})}catch(e){y(X,e.message,!0)}}async function Ie(){let e=i(U);if(y(U,null),e)try{e.item.kind===`folder`?await L.api.deleteFolder(e.item.id):(await L.api.deleteNote(e.item.id,(await L.api.readNote(e.item.id)).version),L.open===e.item.id&&await P(te(`/notes`),{replaceState:!0})),await L.refresh()}catch(e){y(X,e.message,!0)}}function Le(e){let t=re.add({kind:e.kind,id:e.id,title:e.title});y(X,``),y(J,t?`${e.title} is with the agent.`:`${e.title} was with the agent already.`,!0),clearTimeout(De),De=setTimeout(()=>y(J,``),4e3)}async function Re(e){e.preventDefault();try{await L.api.makeFolder(i(Y).trim().replace(/^\/+|\/+$/g,``)),y(G,!1),y(Y,``),y(X,``),await L.refresh()}catch(e){y(X,e.message,!0)}}async function ze(e){if(e.preventDefault(),!F(i(R)))y(V,`Give the note a title.`);else try{await L.api.createNote(i(Q),`---\ntype: Concept\ntitle: ${JSON.stringify(i(R).trim())}\n---\n\n`),await L.refresh(),await P(I(i(Q)))}catch(e){y(V,e.message,!0)}}var Be=Ee();{let r=(e,t=_,n=_)=>{var r=c(),i=h(r),a=e=>{ae(e,{get g(){return H},mode:`row`})};x(i,e=>{H.item?.kind===t()&&H.item.id===n()&&e(a)}),s(e,r)};var Ve=e(Be),He=C(e(Ve),2);p(He),E(He,!0);var Ue=C(He,2),We=C(Ue,2);v(Ve);var Ge=C(Ve,2),Ke=n=>{var r=ue(),o=C(e(r),4);p(o),E(o,!0);var c=C(o,2),l=e(c),u=C(l);v(c),v(r),a(e=>l.disabled=e,[()=>!i(Y).trim()]),t(`submit`,r,Re),O(o,()=>i(Y),e=>y(Y,e)),N(`click`,u,()=>y(G,!1)),s(n,r)};x(Ge,e=>{i(G)&&e(Ke)});var qe=C(Ge,2),Je=e=>{var t=de(),n=D(t,!0);a(()=>b(n,i(X))),s(e,t)};x(qe,e=>{i(X)&&e(Je)});var Ye=C(qe,2),Xe=n=>{var r=fe(),o=C(e(r),2),c=C(e(o),2);p(c),E(c,!0),v(o);var l=C(o,4);ie(l,{id:`new-folder`,label:`folder`,placeholder:`none: the top of the base`,get value(){return i(z)},set value(e){y(z,e,!0)}});var u=C(l,2),d=D(u,!0),f=C(u,2),m=e=>{var t=de(),n=D(t,!0);a(()=>b(n,i(V))),s(e,t)};x(f,e=>{i(V)&&e(m)});var h=C(f,2),g=C(e(h));v(h),v(r),a(()=>b(d,i(Q)?`${i(Q)}.md`:` `)),t(`submit`,r,ze),O(c,()=>i(R),e=>y(R,e)),N(`click`,g,()=>y(T,!1)),s(n,r)};x(Ye,e=>{i(T)&&e(Xe)});var Ze=C(Ye,2),Qe=e=>{var t=pe();s(e,t)};x(Ze,e=>{!L.listing.notes.length&&!i(T)&&e(Qe)});var $e=C(Ze,2),et=e=>{var t=me(),n=D(t,!0);a(()=>b(n,i(J))),s(e,t)};x($e,e=>{i(J)&&e(et)});var tt=C($e,2),nt=t=>{var n=he(),r=e(n),o=D(r,!0),c=C(r,2),l=e(c),u=D(l,!0),d=C(l);v(c),v(n),a(()=>{b(o,i(U).text),b(u,i(U).item.kind===`folder`?`delete ${i(U).item.id}`:`delete`)}),N(`click`,l,()=>void Ie()),N(`click`,d,()=>y(U,null)),s(t,n)};x(tt,e=>{i(U)&&e(nt)});var rt=C(tt,2);ae(rt,{get g(){return H},mode:`ghost`});var it=C(rt,2);n(it,17,()=>i(Ae),([e,t])=>e,(o,c)=>{var l=w(()=>d(i(c),2));let u=()=>i(l)[0],f=()=>i(l)[1];var m=Se();let h,_;var S=e(m);let T;var E=e(S),k=e=>{var n=ge();p(n),ee(()=>O(n,()=>i(q),e=>y(q,e))),j(n,e=>se?.(e)),a(()=>g(n,`aria-label`,`Rename the folder ${u()??``}`)),N(`keydown`,n,e=>{e.key===`Enter`?ce(u()):e.key===`Escape`&&y(K,null)}),t(`blur`,n,()=>y(K,null)),s(e,n)},te=e=>{var t=_e(),n=D(t,!0);a(()=>b(n,u()||`the top of the base`)),N(`dblclick`,t,()=>{u()&&(y(q,$(u()),!0),y(K,u(),!0))}),s(e,t)};x(E,e=>{i(K)===u()&&u()?e(k):e(te,-1)});var P=C(E),F=e(P),L=C(F),re=e=>{var t=ve();a(()=>g(t,`aria-label`,`Rename the folder ${u()}`)),N(`click`,t,()=>{y(q,$(u()),!0),y(K,u(),!0)}),s(e,t)};x(L,e=>{u()&&e(re)});var ie=C(L),R=e=>{var t=ye();a(()=>g(t,`aria-label`,`Delete the empty folder ${u()}`)),N(`click`,t,()=>void Fe({kind:`folder`,id:u(),title:u()})),s(e,t)};x(ie,e=>{u()&&!f().length&&e(R)}),v(P);var z=C(P);r(z,()=>`folder`,u),v(S),j(S,(e,t)=>H.press?.(e,t),()=>()=>({kind:`folder`,id:u(),title:u()}));var B=C(S,2);n(B,21,f,e=>e.id,(t,n)=>{var o=xe();let c;var l=e(o);let u;var d=e(l),f=D(d,!0),p=C(d),m=e=>{var t=be(),r=D(t,!0);a(()=>b(r,i(n).description)),s(e,t)};x(p,e=>{i(n).description&&e(m)}),v(l);var h=C(l);le(h,{get id(){return i(n).id},get title(){return i(n).title}});var _=C(h);r(_,()=>`note`,()=>i(n).id),v(o),j(o,(e,t)=>H.press?.(e,t),()=>()=>({kind:`note`,id:i(n).id,title:i(n).title})),a((e,t,r)=>{c=M(o,1,`svelte-btgyzc`,null,c,{lifted:i(W)===i(n).id,doomed:e,sending:t}),u=M(l,1,`vein-row svelte-btgyzc`,null,u,{on:i(n).id===ne.last}),g(l,`href`,r),b(f,i(n).title)},[()=>Ne(`delete`,i(n).id),()=>Ne(`send`,i(n).id),()=>I(i(n).id)]),s(t,o)}),v(B),v(m),a((e,t,n)=>{g(m,`data-dir`,u()),h=M(m,1,`svelte-btgyzc`,null,h,{over:i(oe)===u()&&i(W)!==null}),_=A(m,``,_,{"margin-left":e}),T=M(S,1,`head svelte-btgyzc`,null,T,{lifted:i(W)===u()&&u()!==``,doomed:t,sending:n}),g(F,`aria-label`,`New note in ${u()||`the top of the base`}`)},[()=>`${u()?u().split(`/`).length*14:0}px`,()=>Ne(`delete`,u()),()=>Ne(`send`,u())]),N(`click`,F,()=>Me(u())),s(o,m)});var at=C(it,2),ot=t=>{var r=we(),o=C(e(r),2);n(o,21,()=>i(je),e=>e.id,(t,n)=>{var r=Ce(),o=e(r);let c;var l=e(o),u=D(l,!0),d=C(l),f=D(d,!0);v(o),v(r),a(e=>{c=M(o,1,`vein-row svelte-btgyzc`,null,c,{on:i(n).id===ne.last}),g(o,`href`,e),b(u,i(n).title),b(f,i(n).snippet)},[()=>I(i(n).id)]),s(t,r)}),v(o),v(r),s(t,r)};x(at,e=>{i(je).length&&e(ot)});var st=C(at,2),ct=e=>{var t=Te();s(e,t)};x(st,e=>{i(Z).length&&!i(ke).length&&!i(je).length&&e(ct)}),v(Be),a(()=>g(Ue,`aria-expanded`,i(G))),O(He,()=>i(l),e=>y(l,e)),N(`click`,Ue,()=>y(G,!i(G))),N(`click`,We,()=>Me())}s(r,Be),k()}l([`click`,`keydown`,`dblclick`]);export{ae as n,B as r,J as t};