isorite 0.3.1 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/core.js +4 -2
- package/dist/main.js +3939 -3970
- package/docs/setup-for-agents.md +2 -1
- package/docs/setup.md +5 -1
- package/docs/terminal.md +9 -1
- package/package.json +1 -1
- package/plugin/tui.tsx +3 -77
- package/web/_app/immutable/assets/{0.IOi79DXH.css → 0.DNvf5eFW.css} +1 -1
- package/web/_app/immutable/chunks/-7PsQOY4.js +3 -0
- package/web/_app/immutable/chunks/B9vLu37F.js +1 -0
- package/web/_app/immutable/chunks/BAVeNK5c.js +20 -0
- package/web/_app/immutable/chunks/C1xA2mdF.js +1 -0
- package/web/_app/immutable/chunks/CQqNkDRK.js +1 -0
- package/web/_app/immutable/chunks/Cs9sQ8Oa.js +1 -0
- package/web/_app/immutable/chunks/{BHPhFydX.js → D4Jg9Smi.js} +1 -1
- package/web/_app/immutable/chunks/{8IM6BNk6.js → DG2llOXe.js} +21 -21
- package/web/_app/immutable/chunks/DqVFJWdL.js +1 -0
- package/web/_app/immutable/chunks/HCrXwzvD.js +1 -0
- package/web/_app/immutable/chunks/MjV3DsQW.js +1 -0
- package/web/_app/immutable/chunks/uID4v_1K.js +1 -0
- package/web/_app/immutable/entry/app.CR9ubCCo.js +2 -0
- package/web/_app/immutable/entry/start.D4DOZCP6.js +1 -0
- package/web/_app/immutable/nodes/0.BYXv43VP.js +26 -0
- package/web/_app/immutable/nodes/1.DGP71l35.js +1 -0
- package/web/_app/immutable/nodes/2.CxspTYRG.js +1 -0
- package/web/_app/immutable/nodes/3.ZTzs6oEI.js +1 -0
- package/web/_app/immutable/nodes/4.CeIGu2c2.js +2 -0
- package/web/_app/immutable/nodes/5.k1DmYkGm.js +5 -0
- package/web/_app/immutable/nodes/6.Q0yGno8p.js +1 -0
- package/web/_app/immutable/nodes/7.BJRu312o.js +1 -0
- package/web/_app/version.json +1 -1
- package/web/index.html +17 -20
- package/dist/tutorial/barnes_hut.py +0 -46
- package/dist/tutorial/sim.py +0 -29
- package/plugin/tour.ts +0 -74
- package/web/_app/immutable/assets/8.CFA9_nYZ.css +0 -1
- package/web/_app/immutable/assets/Tutorial.DOfsM49T.css +0 -1
- package/web/_app/immutable/chunks/B_AYGp9o.js +0 -1
- package/web/_app/immutable/chunks/Bze-M_kr.js +0 -3
- package/web/_app/immutable/chunks/CFA70_0c.js +0 -20
- package/web/_app/immutable/chunks/CGgq5NWd.js +0 -1
- package/web/_app/immutable/chunks/CHlFgDNB.js +0 -1
- package/web/_app/immutable/chunks/CMp5T_-1.js +0 -1
- package/web/_app/immutable/chunks/CRzLMJPS.js +0 -1
- package/web/_app/immutable/chunks/D89YN-Dr.js +0 -1
- package/web/_app/immutable/chunks/DF3lgcLW.js +0 -1
- package/web/_app/immutable/chunks/DGVcYHaJ.js +0 -43
- package/web/_app/immutable/chunks/DHMLhlug.js +0 -1
- package/web/_app/immutable/chunks/DmgpLvxp.js +0 -1
- package/web/_app/immutable/chunks/DrsVvzvg.js +0 -1
- package/web/_app/immutable/entry/app.hlk6OrE8.js +0 -2
- package/web/_app/immutable/entry/start.BE1F0HZV.js +0 -1
- package/web/_app/immutable/nodes/0.DMGdYhkH.js +0 -15
- package/web/_app/immutable/nodes/1.Dn_0fgt7.js +0 -1
- package/web/_app/immutable/nodes/2.Y1Dd5PBI.js +0 -1
- package/web/_app/immutable/nodes/3.BlxuRbLf.js +0 -1
- package/web/_app/immutable/nodes/4.Bt_H0MbN.js +0 -2
- package/web/_app/immutable/nodes/5.BJ-EVWbz.js +0 -5
- package/web/_app/immutable/nodes/6.DDIiJnwi.js +0 -1
- package/web/_app/immutable/nodes/7.DmPPLDvb.js +0 -1
- package/web/_app/immutable/nodes/8.CwMTBog4.js +0 -486
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{at as e}from"./-7PsQOY4.js";e();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{F as e,I as t,P as n,X as r,Y as i,a,n as o,t as s}from"./-7PsQOY4.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(b(e)),te(e,t));var v=new Map;function y(e,t){let n=b(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 ne(e,t,n){if(v.size>0){let t=b(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 b(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 re=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/,ie=/^\/\((?:[^)]+)\)$/;function ae(e){let t=[];return{pattern:e===`/`||ie.test(e)?/^\/$/:RegExp(`^${se(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 le(String.fromCharCode(parseInt(e.slice(2),16)));if(e.startsWith(`u+`))return le(String.fromCharCode(...e.slice(2).split(`-`).map(e=>parseInt(e,16))));let[,r,a,o,s]=re.exec(e);return t.push({name:o,matcher:s,optional:!!r,rest:!!a,chained:a?n===1&&i[0]===``:!1}),a?`([^]*?)`:r?`([^/]*)?`:`([^/]+?)`}return le(e)}).join(``)}).join(``)}/?$`),params:t}}function oe(e){return e!==``&&!/^\([^)]+\)$/.test(e)}function se(e){return e.slice(1).split(`/`).filter(oe)}function ce(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 le(e){return e.normalize().replace(/[[\]]/g,`\\$&`).replace(/%/g,`%25`).replace(/\//g,`%2[Ff]`).replace(/\?/g,`%3[Ff]`).replace(/#/g,`%23`).replace(/[.*+?^${}()|\\]/g,`\\$&`)}var ue=/\[(\[)?(\.\.\.)?(\w+?)(?:=(\w+))?\]\]?/g;function de(e,t){let n=se(e),r=e!=`/`&&e.endsWith(`/`);return`/`+n.map(n=>n.replace(ue,(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 fe({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}=ae(t),u={id:t,exec:e=>{let t=c.exec(e);if(t)return ce(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 pe(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function me(e,t,n=JSON.stringify){let r=n(t);try{sessionStorage[e]=r}catch{}}var x=globalThis.__sveltekit_1f6f2xc?.base??``,he=globalThis.__sveltekit_1f6f2xc?.assets??x??``,ge=`#`;function _e(...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 x+ge+de(e[0],e[1])}var ve=`1792994804642`,ye=`sveltekit:snapshot`,be=`sveltekit:scroll`,xe=`sveltekit:states`,S=`sveltekit:history`,C=`sveltekit:navigation`,w={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},Se=location.origin;function Ce(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 T(){return{x:pageXOffset,y:pageYOffset}}function E(e,t){return e.getAttribute(`data-sveltekit-${t}`)}var we={...w,"":w.hover};function Te(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11&&(t=t.host),t}function Ee(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()===`A`&&e.hasAttribute(`href`))return e;e=Te(e)}}function De(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||D(r,t,n)||(e.getAttribute(`rel`)||``).split(/\s+/).includes(`external`),o=r?.origin===Se&&e.hasAttribute(`download`);return{url:r,external:a,target:i,download:o}}function Oe(e){let t=null,n=null,r=null,i=null,a=null,o=null,s=e;for(;s&&s!==document.documentElement;)r===null&&(r=E(s,`preload-code`)),i===null&&(i=E(s,`preload-data`)),t===null&&(t=E(s,`keepfocus`)),n===null&&(n=E(s,`noscroll`)),a===null&&(a=E(s,`reload`)),o===null&&(o=E(s,`replacestate`)),s=Te(s);function c(e){switch(e){case``:case`true`:return!0;case`off`:case`false`:return!1;default:return}}return{preload_code:we[r??`off`],preload_data:we[i??`off`],keepfocus:c(t),noscroll:c(n),reload:c(a),replace_state:c(o)}}function ke(e){let t=a(e),n=!0;function r(){n=!0,t.update(e=>e)}function i(e){n=!1,t.set(e)}function o(e){let r;return t.subscribe(t=>{(r===void 0||n&&t!==r)&&e(r=t)})}return{notify:r,set:i,subscribe:o}}var Ae={v:h};function je(){let{set:e,subscribe:t}=a(!1),n;async function r(){clearTimeout(n);try{let t=await fetch(`${he}/_app/version.json`,{headers:{pragma:`no-cache`,"cache-control":`no-cache`}});if(!t.ok)return!1;let r=(await t.json()).version!==ve;return r&&(e(!0),Ae.v(),clearTimeout(n)),r}catch{return!1}}return{subscribe:t,check:r}}function D(e,t,n){return e.origin!==Se||!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 O(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 k,A,Le,Re=o.toString().includes(`$$`)||/function \w+\(\) \{\}/.test(o.toString()),ze=`a:`;Re?(k={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(ze)},A={current:null},Le={current:!1}):(k=new class{#e=r({});get data(){return n(this.#e)}set data(e){i(this.#e,e)}#t=r(null);get form(){return n(this.#t)}set form(e){i(this.#t,e)}#n=r(null);get error(){return n(this.#n)}set error(e){i(this.#n,e)}#r=r({});get params(){return n(this.#r)}set params(e){i(this.#r,e)}#i=r({id:null});get route(){return n(this.#i)}set route(e){i(this.#i,e)}#a=r({});get state(){return n(this.#a)}set state(e){i(this.#a,e)}#o=r(-1);get status(){return n(this.#o)}set status(e){i(this.#o,e)}#s=r(new URL(ze));get url(){return n(this.#s)}set url(e){i(this.#s,e)}},A=new class{#e=r(null);get current(){return n(this.#e)}set current(e){i(this.#e,e)}},Le=new class{#e=r(!1);get current(){return n(this.#e)}set current(e){i(this.#e,e)}},Ae.v=()=>Le.current=!0);function Be(e){Object.assign(k,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`]),j=null,M=pe(`sveltekit:scroll`)??{},N=pe(`sveltekit:snapshot`)??{},P={url:ke({}),page:ke({}),navigating:a(null),updated:je()};function Ke(e){M[e]=T()}function qe(e,t){let n=e+1;for(;M[n];)delete M[n],n+=1;for(n=t+1;N[n];)delete N[n],n+=1}function F(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(x||`/`);e&&await e.update()}}var Ye,Xe,I,L,Ze,R,Qe={},$e={},z=[],B=[],V=null;function H(){V?.fork?.then(e=>e?.discard()),V=null,Q={element:void 0,href:void 0}}var et=new Map,tt=new Set,nt=new Set,U=new Set,W={branch:[],error:null,url:null,nav:null},rt=!1,it=!1,at=!0,G=!1,K=!1,ot=!1,st=!1,ct,q,J,Y,lt=new Set,ut=new Map,dt=new Map;async function ft(e,t,n){if(globalThis.__sveltekit_1f6f2xc.data){let{q:e={},p:t={},l:n={},f:r={}}=globalThis.__sveltekit_1f6f2xc.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),R=e,await e.hooks.init?.(),Ye=fe(e),L=document.documentElement,Ze=t,Xe=e.nodes[0],I=e.nodes[1],Xe(),I(),q=history.state?.[S],J=history.state?.[C],q||(q=J=Date.now(),history.replaceState({...history.state,[S]:q,[C]:J},``));let r=M[q];function i(){r&&(history.scrollRestoration=`manual`,scrollTo(r.x,r.y))}n?(i(),await Bt(Ze,n)):(await Z({type:`enter`,url:Ce(R.hash?Kt(new URL(location.href)):location.href),replace_state:!0}),i()),zt()}function pt(){z.length=0,st=!1}function mt(e){B.some(e=>e?.snapshot)&&(N[e]=B.map(e=>e?.snapshot?.capture()))}function ht(e){N[e]?.forEach((e,t)=>{B[t]?.snapshot?.restore(e)})}function gt(){Ke(q),me(be,M),mt(J),me(ye,N)}async function _t(e,n,r,i){let a,o;n.invalidateAll&&H(),await Z({type:`goto`,url:Ce(e),keepfocus:n.keepFocus,noscroll:n.noScroll,replace_state:n.replaceState,state:n.state,redirect_count:r,nav_token:i,accept:()=>{if(n.invalidateAll){st=!0,a=new Set;for(let[e,t]of ut)for(let[n,r]of t)r.resource?.reset(),a.add(O(e,n));o=new Set;for(let[e,t]of dt)for(let n of t.keys())o.add(O(e,n))}n.invalidate&&n.invalidate.forEach(Rt)}}),n.invalidateAll&&t().then(t).then(()=>{for(let[e,t]of ut)for(let[n,{resource:r}]of t)a?.has(O(e,n))&&r.start();for(let[e,t]of dt)for(let[n,{resource:r}]of t)o?.has(O(e,n))&&r.reconnect()})}async function vt(e){if(e.id!==V?.id){H();let t={};lt.add(t),V={id:e.id,token:t,promise:Ot({...e,preload:t}).then(e=>(lt.delete(t),e.type===`loaded`&&e.state.error&&H(),e)),fork:null}}return V.promise}async function yt(e){let t=(await X(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:W.params,route:{id:W.route?.id??null},url:new URL(location.href)};if(W={...e.state,nav:r},Be(e.props.page),ct=new R.root({target:t,props:{...e.props,stores:P,components:B},hydrate:n,sync:!1,transformError:void 0}),await Promise.resolve(),n){let e={from:null,to:{...r,scroll:M[q]??T()},willUnload:!1,type:`enter`,complete:Promise.resolve()};U.forEach(t=>t(e))}ht(J),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(x&&(e.pathname===x||e.pathname===x+`/`))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:Gt(k)}};s!==void 0&&(l.props.form=s);let u={},f=!k,p=0;for(let e=0;e<Math.max(n.length,W.branch.length);e+=1){let t=n[e],r=W.branch[e];t?.data!==r?.data&&(f=!0),t&&(u={...u,...t.data},f&&(l.props[`data_${p}`]=u),p+=1)}return(!W.url||e.href!==W.url.href||W.error!==a||s!==void 0&&s!==k.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:k.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)},R.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?ne(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]!==W.params[e])return!0;for(let e of i.dependencies)if(z.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:Gt(k),constructors:[]}}}async function Ot({id:e,invalidating:t,url:n,params:r,route:i,preload:a}){if(V?.id===e)return lt.delete(V.token),V.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=W.url?e!==Nt(W.url):!1,p=W.route?i.id!==W.route.id:!1,m=Et(W.url,n),ee=!1,g=d.map(async(e,t)=>{if(!e)return;let a=W.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&<.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 P.updated.check())return await Je(),await F(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 Ft(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 I(),loader:I,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 R.get_error_template(),o=await $(t,{url:n,params:i,route:r}),s=a({status:e,message:String(o?.message??``).replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`)}),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 R.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);R.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 X(e,t){if(e&&!D(e,x,R.hash)){let n=await jt(e);if(!n)return;let r=Mt(n);for(let n of Ye){let i=n.exec(r);if(i)return{id:Nt(e),invalidating:t,route:n,params:p(i),url:e}}}}function Mt(e){return f(R.hash?e.hash.replace(/^#/,``).replace(/[?#].+/,``):e.pathname.slice(x.length))||`/`}function Nt(e){return(R.hash?e.hash.replace(/^#/,``):e.pathname)+e.search}function Pt({url:e,type:t,intent:n,delta:r,event:i,scroll:a}){let o=!1,s=Wt(W,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 G||tt.forEach(e=>e(c)),o?null:s}async function Z({type:n,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=Y;Y=d;let g=await X(r,!1),_=n===`enter`?Wt(W,g,r,n):Pt({url:r,type:n,delta:i?.delta,intent:g,scroll:i?.scroll,event:m});if(!_){p(),Y===d&&(Y=ee);return}let te=q,v=J;f(),G=!0,it&&_.navigation.type!==`enter`&&P.navigating.set(A.current=_.navigation);let y=g&&await Ot(g);if(!y){if(D(r,x,R.hash))return await F(r,s);y=await Ft(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,Y!==d){_.reject(Error(`navigation aborted`));return}if(!y)return;if(y.type===`redirect`){if(l<20){await Z({type:n,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 P.updated.check())return await Je(),await F(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={[S]:q+=e,[C]:J+=e,[xe]:c};(s?history.replaceState:history.pushState).call(history,t,``,r),s||qe(q,J)}let ne=g&&V?.id===g.id?V.fork:null;V?.fork&&!ne?H():(V=null,Q={element:void 0,href:void 0}),y.props.page.state=c;let b;if(it){let t=(await Promise.all(Array.from(nt,e=>e(_.navigation)))).filter(e=>typeof e==`function`);if(t.length>0){function e(){t.forEach(e=>{U.delete(e)})}t.push(e),t.forEach(e=>{U.add(e)})}let n=_.navigation.to;W={...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=ne&&await ne;i?b=i.commit():(j=null,ct.$set(y.props),j&&Object.assign(y.props.page,j),Be(y.props.page),b=e?.()),ot=!0}else await bt(y,Ze,!1);let{activeElement:re}=document;if(await b,await t(),await t(),Y!==d){_.reject(Error(`navigation aborted`));return}y.props.page&&j&&Object.assign(y.props.page,j);let ie=null;if(at){let e=i?i.scroll:o?T():null;e?scrollTo(e.x,e.y):(ie=r.hash&&document.getElementById(qt(r)))?ie.scrollIntoView():scrollTo(0,0)}let ae=document.activeElement!==re&&document.activeElement!==document.body;!a&&!ae&&Ut(r,!ie),at=!0,G=!1,_.fulfil(void 0),_.navigation.to&&(_.navigation.to.scroll=T()),U.forEach(e=>e(_.navigation)),n===`popstate`&&ht(J),P.navigating.set(A.current=null)}async function Ft(e,t,n,r,i){return e.origin===Se&&e.pathname===location.pathname&&!rt?await At({status:r,error:n,url:e,route:t}):await F(e,i)}var Q={element:void 0,href:void 0};function It(){let e,t;L.addEventListener(`mousemove`,t=>{let n=t.target;clearTimeout(e),e=setTimeout(()=>{i(n,w.hover)},20)});function n(e){e.defaultPrevented||i(e.composedPath()[0],w.tap)}L.addEventListener(`mousedown`,n),L.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=Ee(e,L),i=r===Q.element&&r?.href===Q.href&&n>=t;if(!r||i)return;let{url:a,external:o,download:s}=De(r,x,R.hash);if(o||s)return;let c=Oe(r),l=a&&Nt(W.url)===Nt(a);if(!(c.reload||l)){if(n<=c.preload_data){Q={element:r,href:r.href},t=w.tap;let e=await X(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 L.querySelectorAll(`a`)){let{url:t,external:n,download:i}=De(e,x,R.hash);if(n||i)continue;let a=Oe(e);a.reload||(a.preload_code===w.viewport&&r.observe(e),a.preload_code===w.eager&&yt(t))}}U.add(a),a()}function $(e,t){if(e instanceof c)return e.body;let n=Fe(e),r=Ie(e);return R.hooks.handleError({error:e,event:t,status:n,message:r})??{message:r}}function Lt(e,t={}){return e=new URL(Ce(e)),e.origin===Se?_t(e,t,0):Promise.reject(Error(`goto: invalid URL`))}function Rt(e){if(typeof e==`function`)z.push(e);else{let{href:t}=new URL(e,location.href);z.push(e=>e.href===t)}}function zt(){history.scrollRestoration=`manual`,addEventListener(`beforeunload`,e=>{let t=!1;if(gt(),!G){let e=Wt(W,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`&>()}),navigator.connection?.saveData||It(),L.addEventListener(`click`,async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;let n=Ee(t.composedPath()[0],L);if(!n)return;let{url:r,external:i,target:a,download:o}=De(n,x,R.hash);if(!r)return;if(a===`_parent`||a===`_top`){if(window.parent!==window)return}else if(a&&a!==`_self`)return;let s=Oe(n);if(!(n instanceof SVGAElement)&&r.protocol!==location.protocol&&r.protocol!==`https:`&&r.protocol!==`http:`||o)return;let[c,l]=(R.hash?r.hash.replace(/^#/,``):r.href).split(`#`),u=c===m(location);if(i||s.reload&&(!u||!l))Pt({url:r,type:`link`,event:t})?G=!0:t.preventDefault();else{if(l!==void 0&&u){let[,i]=W.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(K=!0,Ke(q),e(r),!s.replace_state)return;K=!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})}}),L.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(D(r,x,!1))return;let i=e.target,a=Oe(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(!Ht){if(t.state?.[`sveltekit:history`]){let n=t.state[S];if(Y={},n===q)return;let r=M[n],i=t.state[`sveltekit:states`]??{},a=new URL(t.state[`sveltekit:pageurl`]??location.href),o=t.state[C],s=W.url?m(location)===m(W.url):!1;if(o===J&&(ot||s)){i!==k.state&&(k.state=i),e(a),M[q]=T(),r&&scrollTo(r.x,r.y),q=n;return}let c=n-q;await Z({type:`popstate`,url:a,popped:{state:i,scroll:r,delta:c},accept:()=>{q=n,J=o},block:()=>{history.go(-c)},nav_token:Y,event:t})}else K||(e(new URL(location.href)),R.hash&&location.reload())}}),addEventListener(`hashchange`,()=>{K&&(K=!1,history.replaceState({...history.state,[S]:++q,[C]:J},``,location.href))});for(let e of document.querySelectorAll(`link`))Ge.has(e.rel)&&(e.href=e.href);addEventListener(`pageshow`,e=>{e.persisted&&P.navigating.set(A.current=null)});function e(e){W.url=k.url=e,P.page.set(Gt(k)),P.page.notify()}}async function Bt(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 X(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=Vt(r.uses)),St({loader:R.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 F(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 Vt(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 Ht=!1;function Ut(e,t=!0){let n=document.querySelector(`[autofocus]`);if(n)n.focus();else{let n=qt(e);if(n&&document.getElementById(n)){let{x:r,y:i}=T();setTimeout(()=>{let a=history.state;Ht=!0,location.replace(new URL(`#${n}`,location.href)),history.replaceState(a,``,e),t&&scrollTo(r,i),Ht=!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 Wt(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:T()},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 Gt(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 Kt(e){let t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function qt(e){let t;if(R.hash){let[,,n]=e.hash.split(`#`,3);t=n??``}else t=e.hash.slice(1);return decodeURIComponent(t)}export{Me as a,k as i,ft as n,_e as o,A as r,Lt as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{P as e,X as t,Y as n}from"./-7PsQOY4.js";import{o as r}from"./HCrXwzvD.js";var i=class extends Error{status;current;constructor(e,t,n){super(e),this.status=t,this.current=n}};function a(e=new URL(`api/`,document.baseURI).href){let t=null,n=async(t,n)=>{let r;try{r=await fetch(e+t,n)}catch{throw new i(`isorite is not answering`,0)}let a=await r.json().catch(()=>({}));if(!r.ok)throw new i(a.error??r.statusText,r.status,a.current);return a},r=()=>n(`session`),a=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)})},o=e=>`?id=${encodeURIComponent(e)}`;return{session:async()=>{let{token:e,...n}=await r();return t=Promise.resolve(e),n},notes:()=>n(`notes`),readNote:e=>n(`note`+o(e)),saveNote:(e,t)=>a(`PUT`,`note`+o(e),t),createNote:(e,t)=>a(`POST`,`note`+o(e),{text:t}),journal:e=>n(`journal`+o(e)),version:async(e,t)=>(await n(`version`+o(e)+`&entry=`+encodeURIComponent(t))).text,moveNote:(e,t,n)=>a(`POST`,`note/move`+o(e),{to:t,base:n}),deleteNote:async(e,t)=>{await a(`POST`,`note/delete`+o(e),{base:t})},restore:(e,t,n)=>a(`POST`,`note/restore`+o(e),{entry:t,base:n}),map:()=>n(`map`),timeline:()=>n(`timeline`),search:e=>n(`search?q=${encodeURIComponent(e)}`),ask:e=>a(`POST`,`iso/ask`,e),converse:e=>a(`POST`,`iso/converse`,e),understanding:e=>n(`understanding`+o(e)),saveScratchpad:(e,t,n)=>a(`POST`,`understanding/scratchpad`+o(e),{scratchpad:t,base:n}),undoTurn:(e,t)=>a(`POST`,`iso/undo`,{conversation:e,turn:t}),setContext:(e,t,n)=>a(`POST`,`iso/context`,{conversation:e,part:t,on:n}),compact:(e,t)=>a(`POST`,`iso/compact`,{conversation:e,...t===void 0?{}:{keep:t}}),branch:e=>a(`POST`,`iso/branch`,{conversation:e}),agents:()=>n(`agents`),saveAgents:e=>a(`POST`,`agents`,{text:e}),takeItem:(e,t,n)=>a(`POST`,`iso/take`,{conversation:e,turn:t,item:n}),nameRepository:async()=>!1,brokenNews:async()=>[],answer:async(e,t,n)=>{await a(`POST`,`iso/answer`,{turn:e,permission:t,decision:n})},conversation:async e=>{let t=await n(`conversation`+(e?o(e):``));return t.id?t:null},turnContext:e=>n(`turn/context?turn=${encodeURIComponent(JSON.stringify(e))}`),stop:async e=>{await a(`POST`,`iso/stop`,{request:e})},keep:(e,t,n)=>a(`POST`,`proposal/keep`+o(e),{proposal:t,...n===void 0?{}:{region:n}}),revise:async(e,t,n)=>{await a(`POST`,`proposal/revise`+o(e),{proposal:t,text:n})},discard:async(e,t,n)=>{await a(`POST`,`proposal/discard`+o(e),{proposal:t,...n===void 0?{}:{region:n}})},drafts:()=>n(`drafts`),createDraft:()=>a(`POST`,`drafts`,{}),keepDraft:(e,t,n)=>a(`POST`,`draft/keep`+o(e),{proposal:t,folder:n}),discardDraft:async e=>{await a(`POST`,`draft/discard`+o(e),{})},setDone:(e,t,n)=>a(`POST`,`note/done`+o(e),{done:t,base:n}),context:(e,t)=>n(`context`+(e?o(e):``)+(t?`${e?`&`:`?`}choice=${encodeURIComponent(JSON.stringify(t))}`:``)),clearConversation:async()=>{await a(`POST`,`context/clear`,{})},settings:()=>n(`settings`),setKey:e=>a(`PUT`,`settings/key`,{key:e}),spend:()=>n(`spend`),setSpendCap:e=>a(`PUT`,`settings/spend-cap`,{usd:e}),connect:e=>a(`POST`,`settings/connect`,{callback:e}),connected:(e,t)=>a(`POST`,`settings/connected`,{code:e,state:t}),agentTools:()=>n(`agent/tools`),agentLook:e=>a(`POST`,`agent/look`,e),agentWrite:e=>a(`POST`,`agent/write`,e),agentSend:e=>a(`POST`,`agent/send`,e),agentReceived:async(e,t)=>{await a(`POST`,`agent/received`,{id:e,agent:t})},agentStatus:async(e,t,n)=>{await a(`POST`,`agent/status`,{agent:e,session:t,busy:n})},terminal:{view:()=>n(`terminal`),prompt:async(e,t)=>{await a(`POST`,`terminal/prompt`,{asked:e,given:t})},stop:async()=>{await a(`POST`,`terminal/stop`,{})},reply:async(e,t)=>{await a(`POST`,`terminal/permission`,{id:e,decision:t})}},events(t){let n=new EventSource(e+`events`),r=e=>{try{t(JSON.parse(e.data))}catch{}};for(let e of[`note-changed`,`journal`,`record`,`iso-start`,`iso-step`,`iso-text`,`iso-item`,`iso-answer`,`iso-taken`,`iso-done`,`iso-stopped`,`iso-failed`,`iso-retry`,`context`,`agent-start`,`agent-step`,`agent-done`,`agent-sent`,`agent-received`,`terminal`])n.addEventListener(e,r);return()=>n.close()}}}var o=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 signIn(){return e(this.#s)}set signIn(e){n(this.#s,e)}#c=t(null);get iso(){return e(this.#c)}set iso(e){n(this.#c,e)}watching=``;listeners=new Set;relist=null;async load(e=a()){this.api=e;try{[this.session,this.listing]=await Promise.all([e.session(),e.notes()])}catch(e){this.error=e.message;return}await this.signedIn(),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 startSignIn(){let{url:e}=await this.api.connect(location.origin+location.pathname);try{sessionStorage.setItem(s,location.hash)}catch{}location.assign(e)}async signedIn(){let e=new URLSearchParams(location.search),t,n;try{if(e.has(`code`)||e.has(`state`)||e.has(`error`)){let t=sessionStorage.getItem(s)??location.hash;return sessionStorage.removeItem(s),sessionStorage.setItem(c,JSON.stringify({code:e.get(`code`),state:e.get(`state`)})),location.replace(location.pathname+t),new Promise(()=>void 0)}let r=sessionStorage.getItem(c);if(r===null)return;sessionStorage.removeItem(c),{code:t,state:n}=JSON.parse(r)}catch{if({code:t,state:n}={code:e.get(`code`),state:e.get(`state`)},!t&&!n)return}if(!t||!n)this.signIn={ok:!1,message:`No key was made: the sign-in was left or refused.`};else try{let e=await this.api.connected(t,n);this.signIn={ok:!0,message:`Signed in at ${e.provider}: a key was made for isorite, and is held on this device.`}}catch(e){this.signIn={ok:!1,message:e.message}}}async refresh(){try{this.listing=await this.api.notes()}catch{}}follow(e){if(e.type===`iso-start`){this.iso={request:e.request,note:e.note,agent:null,state:`reading`,steps:[],message:``,start:e,text:``};return}if((e.type===`agent-start`||e.type===`agent-step`)&&this.iso?.request!==e.request){if(this.iso&&!this.iso.agent&&(this.iso.state===`reading`||this.iso.state===`writing`))return;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===`iso-step`||e.type===`agent-step`?this.iso={...t,state:`reading`,steps:[...t.steps,e.step]}:e.type===`iso-text`?this.iso={...t,state:`writing`,text:e.again?e.delta:(t.text??``)+e.delta}:e.type===`iso-done`||e.type===`agent-done`?this.iso={...t,state:`done`}:e.type===`iso-stopped`?this.iso={...t,state:`stopped`}:e.type===`iso-failed`&&(this.iso={...t,state:`failed`,message:e.message}))}on(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}},s=`isorite.sign-in.back`,c=`isorite.sign-in.code`,l=new o,u=e=>r(`/n/[...id]`,{id:e});function d(e){return e.normalize(`NFKD`).replace(/[̀-ͯ]/g,``).toLowerCase().replace(/[^\p{L}\p{N}]+/gu,`-`).replace(/^-+|-+$/g,``)}function f(e){let t=e.trim().replace(/^\/+/,``).replace(/\.md$/,``),n=t.includes(`/`)?l.listing.notes.filter(e=>e.id===t):l.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{i as a,d as i,f as n,u as r,l as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{D as e,E as t,G as n,K as r,M as i,N as a,O as o,P as s,Q as c,S as l,W as u,i as d,j as f,nt as p,p as m,q as h,rt as g,st as _,u as v,w as y,y as b,z as x}from"./-7PsQOY4.js";import"./xihTtKlq.js";import{s as S}from"./DG2llOXe.js";var C={wrote:`wrote the note`,found:`found`,edited:`edited`,kept:`kept`,offered:`offered`,discarded:`removed`,restored:`restored an earlier version`,moved:`moved the note`,"changed elsewhere":`changed elsewhere`};function w(e){let t=e.who===`you`?`you`:e.who===`external`?`outside isorite`:e.who.startsWith(`agent:`)?S(e.who):`Iso`;return e.asked===void 0?e.who===`external`?e.what===`found`?`found as it was, outside isorite`:`changed outside isorite`:`${t} ${C[e.what]}`:`${t} · “${e.asked.length>80?e.asked.slice(0,80)+`…`:e.asked}” · ${e.what===`offered`?`not kept yet`:C[e.what]}`}function T(e,t=Date.now()){let n=Math.max(0,(t-Date.parse(e))/1e3),[r,i]=n<90?[0,`now`]:n<5400?[Math.round(n/60),`minute`]:n<129600?[Math.round(n/3600),`hour`]:[Math.round(n/86400),`day`];return i===`now`?`just now`:`${r} ${i}${r===1?``:`s`} ago`}var E=e=>e.ids.at(-1),D=o(`<i aria-hidden="true"></i>`);function O(r,i){g(i,!0);let a=c(()=>i.moment.who.startsWith(`iso:`)),o=c(()=>i.moment.who.startsWith(`agent:`));var u=e(),d=n(u),f=e=>{var n=D();let r;x(()=>r=m(n,1,`dia svelte-1jroppb`,null,r,{open:i.moment.what===`offered`||i.moment.what===`discarded`,gone:i.moment.what===`discarded`,agent:s(o)})),t(e,n)},h=e=>{var n=D();let r;x(()=>r=m(n,1,`sq`,null,r,{empty:i.moment.who===`external`})),t(e,n)};l(d,e=>{s(a)||s(o)?e(f):e(h,-1)}),t(r,u),p()}var k=o(`<span class="asked svelte-112n2zp" aria-hidden="true"> </span>`),A=o(`<li class="svelte-112n2zp"><button type="button"><!></button> <!></li>`),j=o(`<ol></ol>`);function M(e,n){g(n,!0);let o=d(n,`label`,3,e=>e.asked===void 0?void 0:`“${e.asked}”`),f=d(n,`name`,3,`The note's timeline`),S=d(n,`leftward`,3,!1);var C=j();let D;b(C,21,()=>n.moments,e=>e.ids[0],(e,d)=>{var f=A(),p=u(f);let g;O(u(p),{get moment(){return s(d)}}),_(p);var b=h(p,2),S=e=>{var n=k(),i=r(n,!0);x(e=>y(i,e),[()=>o()(s(d))]),t(e,n)},C=c(()=>n.pointed===s(d)&&o()(s(d))!==void 0);l(b,e=>{s(C)&&e(S)}),_(f),x((e,t,n,r)=>{g=m(p,1,`moment svelte-112n2zp`,null,g,{at:e}),v(p,`aria-current`,t),v(p,`aria-label`,`${n??``}, ${r??``}`)},[()=>n.at===E(s(d)),()=>n.at===E(s(d))?`step`:void 0,()=>w(s(d)),()=>T(s(d).at)]),a(`pointerenter`,p,()=>n.point(s(d))),a(`pointerleave`,p,()=>n.point(null)),a(`focus`,p,()=>n.point(s(d))),a(`blur`,p,()=>n.point(null)),i(`click`,p,()=>n.pick(s(d))),t(e,f)}),_(C),x(()=>{D=m(C,1,`timeline svelte-112n2zp`,null,D,{leftward:S()}),v(C,`aria-label`,f())}),t(e,C),p()}f([`click`]);export{E as i,T as n,w as r,M as t};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.BYXv43VP.js","../chunks/-7PsQOY4.js","../chunks/HCrXwzvD.js","../chunks/xihTtKlq.js","../chunks/DG2llOXe.js","../chunks/MjV3DsQW.js","../chunks/C1xA2mdF.js","../chunks/uID4v_1K.js","../assets/Timeline.KTc3LKuK.css","../chunks/D4Jg9Smi.js","../chunks/Cs9sQ8Oa.js","../chunks/CQqNkDRK.js","../assets/FolderField._A4_sc1Z.css","../assets/NoteList.F579Zvj_.css","../chunks/B9vLu37F.js","../assets/0.DNvf5eFW.css","../nodes/1.DGP71l35.js","../nodes/2.CxspTYRG.js","../chunks/DqVFJWdL.js","../nodes/3.ZTzs6oEI.js","../nodes/4.CeIGu2c2.js","../chunks/BAVeNK5c.js","../assets/NoteEditor.BCjOff8L.css","../assets/4.CUdclsPi.css","../nodes/5.k1DmYkGm.js","../assets/5.TsqJFEFF.css","../nodes/6.Q0yGno8p.js","../nodes/7.BJRu312o.js","../assets/7.ljiu9bn5.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{A as e,B as t,D as n,E as r,G as i,I as a,O as o,P as s,Q as c,S as l,V as u,W as d,X as f,Y as p,g as m,i as h,n as g,nt as _,q as v,r as y,rt as b,s as x,st as S,w as C,z as w}from"../chunks/-7PsQOY4.js";import"../chunks/xihTtKlq.js";var T=`modulepreload`,E=function(e,t){return new URL(e,t).href},D={},O=function(e){return e.pathname.endsWith(`.css`)},k=function(e,t,n){if(t in e)return e[t];let r=n();if(!r){e[t]=void 0;return}let i=r.then(()=>{e[t]=void 0},n=>{throw e[t]=void 0,n});return e[t]=i,i},A=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e,i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?new URL(import.meta.resolve(e)):new URL(e,import.meta.url)}r=o(t.map(t=>{t=E(t,n);let r=s(t),i=O(r);return k(D,r.href,()=>{if(e===void 0){e={all:new Set,styles:new Set};let t=document.getElementsByTagName(`link`);for(let n=t.length-1;n>=0;n--){let r=t[n];e.all.add(r.href),r.rel===`stylesheet`&&e.styles.add(r.href)}}if((i?e.styles:e.all).has(r.href))return;let t=document.createElement(`link`);if(t.rel=i?`stylesheet`:T,i||(t.as=`script`),t.crossOrigin=``,t.href=r.href,a&&t.setAttribute(`nonce`,a),document.head.appendChild(t),i)return new Promise((e,n)=>{t.addEventListener(`load`,e),t.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${r}`)))})})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},j={},M=o(`<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>`),N=o(`<!> <!>`,1);function P(o,y){b(y,!0);let T=h(y,`components`,23,()=>[]),E=h(y,`data_0`,3,null),D=h(y,`data_1`,3,null);u(()=>y.stores.page.set(y.page)),t(()=>{y.stores,y.page,y.constructors,T(),y.form,E(),D(),y.stores.page.notify()});let O=f(!1),k=f(!1),A=f(null);g(()=>{let e=y.stores.page.subscribe(()=>{s(O)&&(p(k,!0),a().then(()=>{p(A,document.title||`untitled page`,!0)}))});return p(O,!0),e});let j=c(()=>y.constructors[1]);var P=N(),F=i(P),I=e=>{let t=c(()=>y.constructors[0]);var a=n(),o=i(a);m(o,()=>s(t),(e,t)=>{x(t(e,{get data(){return E()},get form(){return y.form},get params(){return y.page.params},children:(e,t)=>{var a=n(),o=i(a);m(o,()=>s(j),(e,t)=>{x(t(e,{get data(){return D()},get form(){return y.form},get params(){return y.page.params}}),e=>T()[1]=e,()=>T()?.[1])}),r(e,a)},$$slots:{default:!0}}),e=>T()[0]=e,()=>T()?.[0])}),r(e,a)},L=e=>{let t=c(()=>y.constructors[0]);var a=n(),o=i(a);m(o,()=>s(t),(e,t)=>{x(t(e,{get data(){return E()},get form(){return y.form},get params(){return y.page.params}}),e=>T()[0]=e,()=>T()?.[0])}),r(e,a)};l(F,e=>{y.constructors[1]?e(I):e(L,-1)});var R=v(F,2),z=t=>{var n=M(),i=d(n),a=t=>{var n=e();w(()=>C(n,s(A))),r(t,n)};l(i,e=>{s(k)&&e(a)}),S(n),r(t,n)};l(R,e=>{s(O)&&e(z)}),r(o,P),_()}var F=y(P),I=[()=>A(()=>import(`../nodes/0.BYXv43VP.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]),import.meta.url),()=>A(()=>import(`../nodes/1.DGP71l35.js`),__vite__mapDeps([16,1,3,9,2]),import.meta.url),()=>A(()=>import(`../nodes/2.CxspTYRG.js`),__vite__mapDeps([17,1,2,3,5,6,18]),import.meta.url),()=>A(()=>import(`../nodes/3.ZTzs6oEI.js`),__vite__mapDeps([19,1,2,3,5,6,9,18]),import.meta.url),()=>A(()=>import(`../nodes/4.CeIGu2c2.js`),__vite__mapDeps([20,1,2,3,4,5,6,9,18,21,22,23]),import.meta.url),()=>A(()=>import(`../nodes/5.k1DmYkGm.js`),__vite__mapDeps([24,1,2,3,4,5,6,7,8,9,11,12,21,22,25]),import.meta.url),()=>A(()=>import(`../nodes/6.Q0yGno8p.js`),__vite__mapDeps([26,1,3,10,2,5,11,12,13,18]),import.meta.url),()=>A(()=>import(`../nodes/7.BJRu312o.js`),__vite__mapDeps([27,1,3,14,18,28]),import.meta.url)],L=[],R={"/":[2],"/atlas":[3],"/draft/[id]":[4],"/notes":[6],"/n/[...id]":[5],"/parts":[7]},z={handleError:(({error:e})=>{console.error(e)}),reroute:(()=>{}),transport:{}},B=Object.fromEntries(Object.entries(z.transport).map(([e,t])=>[e,t.decode])),V=Object.fromEntries(Object.entries(z.transport).map(([e,t])=>[e,t.encode])),H=!0,U=(e,t)=>B[e](t),W=()=>A(()=>import(`../chunks/Bjy-W4x2.js`).then(e=>e.default),[],import.meta.url);export{U as decode,B as decoders,R as dictionary,V as encoders,W as get_error_template,H as hash,z as hooks,j as matchers,I as nodes,F as root,L as server_loads};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{a as load_css,n as start}from"../chunks/HCrXwzvD.js";
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import{A as e,B as t,D as n,E as r,G as i,H as a,I as o,J as s,K as c,L as l,M as u,N as d,O as f,P as p,Q as m,R as h,S as g,U as _,W as v,X as y,Y as b,Z as x,_ as S,b as C,c as w,ct as T,et as E,f as D,ft as O,h as k,i as A,j,k as M,l as N,lt as P,m as F,n as I,nt as L,ot as ee,p as R,q as z,rt as B,s as te,st as V,u as H,ut as ne,v as U,w as W,x as re,y as G,z as K}from"../chunks/-7PsQOY4.js";import{o as ie,t as ae}from"../chunks/HCrXwzvD.js";import"../chunks/xihTtKlq.js";import{a as oe,b as se,c as ce,i as le,o as q,r as ue,s as de,t as fe}from"../chunks/DG2llOXe.js";import{i as pe,t as J}from"../chunks/uID4v_1K.js";import{r as me,t as Y}from"../chunks/MjV3DsQW.js";import{i as X,n as Z,r as he,t as ge}from"../chunks/C1xA2mdF.js";import{t as _e}from"../chunks/D4Jg9Smi.js";import{t as ve}from"../chunks/Cs9sQ8Oa.js";import{n as ye,t as be}from"../chunks/B9vLu37F.js";var xe={type:`string`};({...xe}),{...xe},{...xe},{...xe},{...xe};var Se={type:`string`};({...Se}),{...Se},{...Se},{...Se},{...Se},{...Se},{...Se},{...Se},{...Se},{...Se},{...Se},{...Se},{...Se};var Ce=`The change is written at once, under your name: the person sees your words marked in the note, and can undo it from the browser. Use this, never edit or write, for any note of the knowledge base.`;`${Ce}`,`${Ce}`;var we=`physics`,Te=`integrators`,Ee=`algorithms`,De=`simulation`,Oe=(e,t)=>`${e}/${t}`;Oe(we,`newtons-law-of-gravitation`),Oe(we,`the-n-body-problem`),Oe(we,`units`),Oe(we,`energy-conservation`),Oe(we,`softening`),Oe(Te,`eulers-method`),Oe(Te,`leapfrog`),Oe(Te,`symplectic-integrators`),Oe(Te,`choosing-the-timestep`),Oe(Ee,`direct-summation`),Oe(Ee,`centre-of-mass`),Oe(Ee,`the-quadtree`),Oe(Ee,`barnes-hut`),Oe(Ee,`cost-and-accuracy`),Oe(De,`the-main-loop`),Oe(De,`initial-conditions`),Oe(De,`diagnostics`),Oe(De,`two-galaxies-colliding`);var ke=`$F = G m_1 m_2 / d^2 = 1 \\cdot \\tfrac12 \\cdot \\tfrac12 / 1 = \\tfrac14$.
|
|
2
|
+
|
|
3
|
+
Each accelerates at $a = F/m = \\tfrac14 / \\tfrac12$.
|
|
4
|
+
|
|
5
|
+
So each accelerates at $\\tfrac12$, towards the other.`,Ae=`$M = 1 + 2 + 1 = 4$.
|
|
6
|
+
|
|
7
|
+
$\\mathbf{R} = (1 \\cdot (0,0) + 2 \\cdot (3,0) + 1 \\cdot (0,4)) / 4 = (6, 4)/4$.
|
|
8
|
+
|
|
9
|
+
So $\\mathbf{R} = (1.5, 1)$, with $M = 4$.`,je=`The drift falls as $\\Delta t^2$; at $T/100$ it is a few parts in a million.
|
|
10
|
+
|
|
11
|
+
So $\\Delta t = 2\\pi/100 \\approx 0.06$ is enough.
|
|
12
|
+
|
|
13
|
+
Check: record $E$ every 100 steps and plot the drift; halve $\\Delta t$ and it should fall by four.`;[20,17,12,5,2].map(e=>({day:e,working:ke})),[6,4,2,1].map(e=>({day:e,working:Ae})),[11,7].map(e=>({day:e,working:je}));var Me=`surfaces`,Ne=`curvature`,Q=`global`,Pe=(e,t)=>`${e}/${t}`;Pe(Me,`regular-surfaces`),Pe(Me,`first-ff`),Pe(Me,`second-ff`),Pe(Me,`orientable`),Pe(Ne,`gaussian-curvature`),Pe(Ne,`egregium`),Pe(Ne,`gauss-equation`),Pe(Ne,`geodesic-curvature`),Pe(Q,`euler`);var Fe=Pe(Q,`gauss-bonnet`);Pe(Q,`triangulations`);var Ie=Pe(Q,`where-is-compactness-used`);Pe(Me,`why-ii-changes-sign`),Pe(Ne,`derivatives-when-f-is-zero`),Pe(Q,`kg-at-the-corners`);var Le=Pe(Q,`total-curvature-of-the-torus`),Re=Pe(Q,`angles-of-a-geodesic-triangle`);Pe(Q,`gauss-bonnet-and-the-mobius-band`),Pe(Ne,`curvature-of-a-sphere`),Pe(Ne,`curvature-of-the-saddle`),Pe(Ne,`the-cylinder-and-the-plane`),Pe(Ne,`k-from-e-and-g-alone`),Pe(Ne,`catenoid-and-helicoid`),Pe(Q,`chi-of-a-surface-of-genus-g`),`${Fe}${Le}${Fe}${Ie}${Re}`;var ze=O({load:()=>Be});async function Be(){return await Y.load(),{}}var Ve=/\]\(\/([^)\s#]+)\.md(?:#[^)\s]*)?(?:\s+"[^"]*")?\)/g,He=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),Ue=e=>e.split(`/`).map(encodeURIComponent).join(`/`);function We(e){let t=[];for(let n of e.matchAll(Ve)){let e=decodeURIComponent(n[1]);t.includes(e)||t.push(e)}return t}function Ge(e,t,n){let r=e.replace(/\s+$/,``),i=RegExp(`^\\[[^\\]\\n]*\\]\\(/[^)\\n]*\\.md\\)$`);return`${r}${!r||r.endsWith(`---`)?`
|
|
14
|
+
|
|
15
|
+
`:i.test(r.split(`
|
|
16
|
+
`).at(-1))?`
|
|
17
|
+
`:`
|
|
18
|
+
|
|
19
|
+
`}[${n.replace(/[[\]]/g,``)}](/${Ue(t)}.md)\n`}function Ke(e,t){let n=`\\[[^\\]\\n]*\\]\\(/${He(Ue(t))}\\.md\\)`,r=e.split(`
|
|
20
|
+
`),i=r.filter(e=>!RegExp(`^${n}$`).test(e.trim()));return i.length===r.length||We(i.join(`
|
|
21
|
+
`)).includes(t)?null:i.join(`
|
|
22
|
+
`).replace(/\n{3,}/g,`
|
|
23
|
+
|
|
24
|
+
`).replace(/\s+$/,``)+`
|
|
25
|
+
`}function qe(e){return(/^title:[ \t]*(.*)$/m.exec(e.split(/^---\s*$/m)[1]??``)?.[1]??``).trim().replace(/^(["'])(.*)\1$/,`$2`)}var Je=e=>e<1e3?String(e):e<1e4?`${(e/1e3).toFixed(1)}k`:`${Math.round(e/1e3)}k`,Ye=`isorite.atlas.drafts`,Xe=()=>{try{return JSON.parse(localStorage.getItem(Ye)??`{}`)}catch{return{}}},Ze=e=>Xe()[e]??null;function Qe(e,t,n){for(let r=1;;r++){let i=r===1?t:`${t}-${r}`;if(n([e,i].filter(Boolean).join(`/`)))return{slug:i,n:r}}}async function $e(e,t){let n=Y.listing.notes.map(e=>e.id),r=t.split(`/`).slice(0,-1).join(`/`),i=Qe(r,`untitled-${e}`,e=>!n.includes(e)),a=[r,i.slug].filter(Boolean).join(`/`),o=`Untitled ${e}${i.n===1?``:` ${i.n}`}`;return await Y.api.createNote(a,`---\ntype: ${e===`question`?`Question`:`Problem`}\ntitle: ${JSON.stringify(o)}\n${e===`question`?`about`:`uses`}: [${t}]\n---\n\n`),await Y.refresh(),X.fresh=a,await X.open(a,!0),a}var et=f(`<li class="svelte-1a0w8ls"><b class="num svelte-1a0w8ls"> </b><span class="t svelte-1a0w8ls"> </span><span class="faint"> </span></li>`),tt=f(`<span class="label over svelte-1a0w8ls"> </span>`),nt=f(`<div class="dock svelte-1a0w8ls" role="region" aria-label="Notes linked to the note for Iso"><i class="dia open" aria-hidden="true"></i> <div class="what svelte-1a0w8ls"><span class="name svelte-1a0w8ls"> </span> <span class="label" role="status"> </span></div> <ol class="grow svelte-1a0w8ls"></ol> <!> <a class="btn primary tall svelte-1a0w8ls">back to it</a></div>`);function rt(e,t){B(t,!0);let n=A(t,`notice`,3,``),i=m(()=>t.picked.reduce((e,t)=>e+t.tokens,0)),a=m(()=>p(i)>t.budget),o=m(()=>[`${t.picked.length} linked`,t.picked.length?`${Je(p(i))} tokens`:``,p(a)?`over ${Je(t.budget)}`:``,n()].filter(Boolean).join(` · `));var s=nt(),l=z(v(s),2),u=v(l),d=c(u,!0),f=z(u,2),h=c(f,!0);V(l);var _=z(l,2);G(_,23,()=>t.picked,e=>e.id,(e,t,n)=>{var i=et(),a=v(i),o=c(a,!0),s=z(a),l=c(s,!0),u=z(s),d=c(u,!0);V(i),K(e=>{W(o,p(n)+1),W(l,p(t).title),W(d,e)},[()=>Je(p(t).tokens)]),r(e,i)}),V(_);var y=z(_,2),b=e=>{var n=tt(),i=c(n);K(e=>W(i,`over ${e??``}: the last are cut short, or left for Iso to read itself`),[()=>Je(t.budget)]),r(e,n)};g(y,e=>{p(a)&&e(b)});var x=z(y,2);V(s),K(()=>{W(d,t.title||`a new note`),W(h,p(o)),H(x,`href`,t.href)}),r(e,s),L()}var $=new class{#e=y(``);get id(){return p(this.#e)}set id(e){b(this.#e,e,!0)}#t=y([]);get turns(){return p(this.#t)}set turns(e){b(this.#t,e)}#n=y(``);get streaming(){return p(this.#n)}set streaming(e){b(this.#n,e,!0)}#r=y(null);get retrying(){return p(this.#r)}set retrying(e){b(this.#r,e)}#i=y(``);get problem(){return p(this.#i)}set problem(e){b(this.#i,e,!0)}#a=y(null);get report(){return p(this.#a)}set report(e){b(this.#a,e)}#o=y(`chat`);get view(){return p(this.#o)}set view(e){b(this.#o,e,!0)}#s=y([]);get off(){return p(this.#s)}set off(e){b(this.#s,e)}#c=y(!1);get summing(){return p(this.#c)}set summing(e){b(this.#c,e,!0)}async toggle(e){if(this.problem=``,/^[rtb]:/.test(e.key)){if(!this.id)return;try{await Y.api.setContext(this.id,e.key,!e.on)}catch(e){this.problem=e.message}}else this.off=this.off.includes(e.key)?this.off.filter(t=>t!==e.key):[...this.off,e.key];this.measure()}takeOut(e){let t=e.given;if(!t)return;let n=q.parts.find(e=>e.kind===t.kind&&e.id===t.id&&(t.kind!==`passage`||e.kind===`passage`&&e.text===t.text));n&&q.remove(n),this.off=this.off.filter(t=>t!==e.key)}async compact(){if(!(!this.id||this.running||this.summing)){this.problem=``,this.summing=!0;try{await Y.api.compact(this.id)}catch(e){this.problem=e.message}finally{this.summing=!1}this.measure()}}async branch(){if(!(!this.id||this.running||this.summing)){this.problem=``,this.summing=!0;try{let{conversation:e}=await Y.api.branch(this.id);this.id=e,this.turns=[],this.streaming=``,this.off=this.off.filter(e=>!/^[rtb]:/.test(e))}catch(e){this.problem=e.message}finally{this.summing=!1}this.measure()}}sizeOf(e){let t=this.report?.given?.find(t=>t.kind===e.kind&&t.id===e.id&&(e.kind!==`passage`||t.text===e.text));return t?t.tokens:null}started=!1;timer;get running(){let e=this.turns.at(-1);return e?.state===`running`?e:null}start(){!this.started&&Y.api&&(this.started=!0,Y.api.conversation().then(e=>{e&&!this.id&&this.show(e)},()=>void 0),Y.on(e=>this.follow(e)),this.measure())}async again(e){if(this.problem=``,this.running||e.state!==`failed`)return!1;this.off=this.off.includes(e.id)?this.off:[...this.off,e.id];try{let{conversation:t}=await Y.api.converse({conversation:e.conversation,mode:e.mode,asked:e.asked,given:e.given,tier:e.tier,off:this.off});return this.id=t,!0}catch(e){return this.problem=e.message,!1}}show(e){this.id=e.id,this.turns=e.turns}fresh(){this.running||(this.id=``,this.turns=[],this.streaming=``,this.off=[],this.measure())}async send(e){if(this.problem=``,!e.trim()||this.running)return!1;try{let t=q.sent.map(e=>e.kind===`passage`?{kind:e.kind,id:e.id,text:e.text}:{kind:e.kind,id:e.id}),{conversation:n}=await Y.api.converse({...this.id?{conversation:this.id}:{},mode:X.mode,asked:e.trim(),given:t,tier:oe.tier,...this.off.length?{off:this.off}:{}});return this.id=n,!0}catch(e){return this.problem=e.message,!1}}async stop(){let e=this.running;e&&await Y.api.stop(e.id)}async undo(e){this.problem=``;try{await Y.api.undoTurn(this.id,e)}catch(e){this.problem=e.message}}async take(e,t){this.problem=``;try{await Y.api.takeItem(this.id,e,t)}catch(e){this.problem=e.message}}async answer(e,t){let n=this.running;n&&await Y.api.answer(n.id,e,t)}follow(e){if(e.type===`iso-start`&&e.place.form===`turn`){if(this.id&&e.place.conversation!==this.id)return;this.id=e.place.conversation,this.streaming=``,this.turns=[...this.turns.filter(t=>t.id!==e.request),{id:e.request,conversation:e.place.conversation,at:new Date().toISOString(),mode:e.place.mode,asked:e.asked,given:e.place.given,tier:e.tier,items:[],state:`running`}];return}if(!(`request`in e)){(e.type===`note-changed`||e.type===`journal`||e.type===`context`&&e.conversation===this.id)&&this.measure();return}let t=this.turns.findIndex(t=>t.id===e.request);if(t<0)return;let n=this.turns[t],r=e=>{this.turns=this.turns.map((n,r)=>r===t?e:n)};e.type===`iso-retry`?this.retrying={retry:e.retry,of:e.of}:(this.retrying=null,e.type===`iso-text`?this.streaming=e.again?e.delta:this.streaming+e.delta:e.type===`iso-item`?(e.item.kind===`text`&&(this.streaming=``),r({...n,items:[...n.items,e.item]})):e.type===`iso-taken`?r({...n,items:n.items.map(t=>t.kind===`question`&&t.id===e.item?{...t,made:e.note}:t.kind===`offer`&&t.id===e.item?{...t,taken:!0}:t)}):e.type===`iso-answer`?r({...n,items:n.items.map(t=>t.kind===`permission`&&t.id===e.permission?{...t,answer:e.decision}:t)}):e.type===`iso-done`?(r({...n,state:`done`,cost:e.cost}),this.streaming=``,this.measure()):e.type===`iso-stopped`?(r({...n,state:`stopped`,...this.streaming?{items:[...n.items,{kind:`text`,text:this.streaming}]}:{}}),this.streaming=``):e.type===`iso-failed`&&(r({...n,state:`failed`,message:e.message}),this.streaming=``))}measure(){clearTimeout(this.timer),this.timer=setTimeout(()=>{if(!Y.api)return;let e=q.sent.map(e=>e.kind===`passage`?{kind:e.kind,id:e.id,text:e.text}:{kind:e.kind,id:e.id});Y.api.turnContext({...this.id?{conversation:this.id}:{},mode:X.mode,given:e,tier:oe.tier,...this.off.length?{off:this.off}:{}}).then(e=>this.report=e,()=>void 0)},250)}},it=4.5,at=.04;function ot(e){let t=e.items.map(t=>{let n=[];for(let r=t.parent;r>=0;r=e.items[r].parent)n.push(r);return n}),n=e.items.map(()=>0);e.items.forEach((e,r)=>{if(e.kind===`note`)for(let e of t[r])n[e]++});let r=(t,n)=>{for(;e.items[t].parent!==n;)t=e.items[t].parent;return t},i=new Map(e.trunks.map((e,t)=>[`${e.a}|${e.b}`,t])),a=e.links.some(e=>e.s>=3)?3:2,o=e.trunks.map(()=>!1);for(let t of e.links){let e=t.s>=a?i.get(`${r(t.a,t.level)}|${r(t.b,t.level)}`):void 0;e!==void 0&&(o[e]=!0)}return{up:t,noteCount:n,strong:o,at:new Map(e.items.flatMap((e,t)=>e.kind===`note`?[[e.ref,t]]:[])),trunkAt:i,feederAt:new Map(e.feeders.map((e,t)=>[`${e.trunk}|${e.folder}|${e.item}`,t])),ownPath:new Map(e.trunks.flatMap(e=>e.pts?[[`${e.a}|${e.b}`,e.pts]]:[]))}}var st=new WeakMap;function ct(e){let t=st.get(e);return t||st.set(e,t={...e,trunks:e.highways.trunks,feeders:e.highways.feeders}),t}function lt(e,t){let n=[];return e.items.forEach((r,i)=>{let a=r.parent<0||n[r.parent]===`o`;n[i]=a?r.kind===`folder`&&e.cell*t>=1.2&&Math.max(r.w,r.h)*e.cell*t>=53?`o`:`s`:`-`}),n.join(``)}function ut(e,t,n){let r=e.up[n];for(let e=r.length-1;e>=0;e--)if(t[r[e]]!==`o`)return r[e];return n}function dt(e,t,n=[],r=!1){let i=e=>t[e]!==`-`,a=[];return e.trunks.forEach((t,r)=>{let o=e.items[t.a].kind===`folder`&&e.items[t.b].kind===`folder`;t.pts&&!t.implied&&i(t.a)&&i(t.b)&&a.push({key:`t`+r,pts:t.pts,lane:0,count:t.count,feed:!o,strong:n[r]??!0})}),e.feeders.forEach((o,s)=>{let c=e.trunks[o.trunk];(r||!o.leaf)&&!c.implied&&t[o.folder]===`o`&&i(o.item)&&i(c.a)&&i(c.b)&&a.push({key:`f`+s,pts:o.pts,lane:o.lane,count:o.count,feed:!0,strong:n[o.trunk]??!0})}),a}var ft=(e,t)=>Math.abs(e[0]-t[0])<1e-6&&Math.abs(e[1]-t[1])<1e-6;function pt(e,t,n,r){let i=new Set(t.up[r]),a=t.up[n].find(e=>i.has(e))??-1,o=e=>{let n=[e];for(let r of t.up[e]){if(r===a)break;n.push(r)}return n},s=o(n),c=o(r),l=t.trunkAt.get(`${s.at(-1)}|${c.at(-1)}`);if(l===void 0||!e.trunks[l].pts||s.length<2&&c.length<2)return null;let u=(t,n=0)=>{let r=e.feeders[t];if(r.via<0||n>40)return r.pts;let i=u(r.via,n+1),a=i.findIndex(e=>ft(e,r.pts.at(-1)));return a<0?r.pts:[...r.pts,...i.slice(a+1)]},d=e=>{let n=[];for(let r=0;r+1<e.length;r++){let i=t.feederAt.get(`${l}|${e[r+1]}|${e[r]}`);if(i===void 0)return null;n=n.concat(u(i))}return n},f=d(c),p=d(s);if(!f||!p)return null;let m=[...f,...e.trunks[l].pts,...p.reverse()];return m.filter((e,t)=>!t||!ft(e,m[t-1]))}var mt=[`uses`,`builds`,`requires`,`iso`];function ht(e,t=!1){let n=e=>`${Math.round(e[0]*100)},${Math.round(e[1]*100)}`,r=new Map,i=new Map;for(let t of e){let e=mt.indexOf(t.kind??`requires`),a=new Set;for(let o=1;o<t.pts.length;o++){let[s,c]=t.pts[o-1],[l,u]=t.pts[o],d=Math.max(1,Math.round(Math.max(Math.abs(l-s),Math.abs(u-c))*2));for(let o=0;o<d;o++){let f=[s+(l-s)*o/d,c+(u-c)*o/d],p=[s+(l-s)*(o+1)/d,c+(u-c)*(o+1)/d],m=n(f),h=n(p),g=m<h?m+`|`+h:h+`|`+m;if(m===h||a.has(g))continue;a.add(g);let _=r.get(g);if(!_){_=m<h?{a:m,b:h,A:f,B:p,count:0,strong:!1,trunk:!1,kind:0,fwd:[0,0,0,0],back:[0,0,0,0]}:{a:h,b:m,A:p,B:f,count:0,strong:!1,trunk:!1,kind:0,fwd:[0,0,0,0],back:[0,0,0,0]},r.set(g,_);for(let e of[_.a,_.b]){let t=i.get(e);t?t.push(g):i.set(e,[g])}}_.count+=t.count??1,_.strong||=t.strong??!0,_.trunk||=t.feed===!1,_.kind=Math.max(_.kind,e),(m===_.a?_.fwd:_.back)[e]+=1}}}let a=e=>t?`${e.kind}|${e.count}`:`${e.count}|${e.strong}|${e.trunk}`,o=(e,n)=>{let r=e.fwd[e.kind],i=e.back[e.kind];return!t||r&&i?0:(r?1:-1)*(n===e.a?1:-1)},s=(e,t)=>t===e.a?e.b:e.a,c=(e,t)=>t===e.a?e.A:e.B,l=(e,t,n)=>{let r=s(e,t);return a(e)===a(n)&&o(e,t)===o(n,r)},u=new Set,d=[],f=new Set,p=(e,t)=>{let p=e,m=t,h=r.get(m),g=[c(h,p)],_=o(h,p);for(;;){u.add(m);let e=s(h,p);g.push(c(h,e));let t=i.get(e).filter(e=>e!==m);if(t.length!==1||u.has(t[0])||!l(h,p,r.get(t[0])))break;p=e,m=t[0],h=r.get(m)}_<0&&g.reverse();let v=`${n(g[0])}>${n(g.at(-1))}:${a(h)}`;for(let e=2;f.has(v);e++)v=`${v.split(`#`)[0]}#${e}`;f.add(v),d.push({key:v,pts:g,count:h.count,strong:h.strong,trunk:h.trunk,kind:mt[h.kind],flow:+!!_})};for(let[e,t]of i)if(t.length!==2||!l(r.get(t[0]),s(r.get(t[0]),e),r.get(t[1])))for(let n of t)u.has(n)||p(e,n);for(let[e,t]of r)u.has(e)||p(t.a,e);return d}function gt(e,t,n,r){let i=[],a=[],o=new Set;for(let{a:s,b:c,kind:l}of r){let r=ut(t,n,s),u=ut(t,n,c),d=`${l}:${r}|${u}`;if(r===u||o.has(d))continue;o.add(d);let f=(n,i)=>r===s&&u===c?t.ownPath.get(`${n}|${i}`)??pt(e,t,n,i):t.ownPath.get(`${n}|${i}`)??null,p=f(r,u)??f(u,r)?.slice().reverse()??null;p?i.push({key:d,kind:l,pts:p}):a.push({key:d,kind:l,a:r,b:u})}return{fixed:i,asks:a}}function _t(e,t){if(!t)return e;let n=(e,t)=>{let n=t[0]-e[0],r=t[1]-e[1],i=Math.hypot(n,r)||1;return n/=i,r/=i,(n<-1e-6||Math.abs(n)<1e-6&&r<0)&&(n=-n,r=-r),[-r,n]};return e.map((r,i)=>{let a=i>0?n(e[i-1],r):n(r,e[i+1]),o=i<e.length-1?n(r,e[i+1]):a,s=1+a[0]*o[0]+a[1]*o[1];return s<.2?[r[0]+a[0]*t,r[1]+a[1]*t]:[r[0]+(a[0]+o[0])/s*t,r[1]+(a[1]+o[1])/s*t]})}function vt(e,t=0,n=7){let r=_t(e.map(([e,t])=>[e*n,t*n]),t*2.2),i=Math.min(n,10.5)*.9,a=r.filter((e,t)=>t===0||t===r.length-1||Math.abs((e[0]-r[t-1][0])*(r[t+1][1]-e[1])-(e[1]-r[t-1][1])*(r[t+1][0]-e[0]))>.001),o=e=>String(Math.round(e*10)/10),s=`M${o(a[0][0])} ${o(a[0][1])}`;for(let e=1;e<a.length-1;e++){let t=a[e-1],n=a[e],r=a[e+1],c=Math.hypot(n[0]-t[0],n[1]-t[1])||1,l=Math.hypot(r[0]-n[0],r[1]-n[1])||1;if(!(Math.abs((n[0]-t[0])*(r[0]-n[0])+(n[1]-t[1])*(r[1]-n[1]))<.001*c*l)){s+=`L${o(n[0])} ${o(n[1])}`;continue}let u=Math.min(i,c/2,l/2);s+=`L${o(n[0]-(n[0]-t[0])/c*u)} ${o(n[1]-(n[1]-t[1])/c*u)}L${o(n[0]+(r[0]-n[0])/l*u)} ${o(n[1]+(r[1]-n[1])/l*u)}`}let c=a.at(-1);return s+`L${o(c[0])} ${o(c[1])}`}function yt(e,t,n){let r=n?t[0]-e[0]:t[1]-e[1],i=n?t[1]-e[1]:t[0]-e[0],a=Math.abs(r),o=Math.abs(i),s=Math.sign(r),c=Math.sign(i),l=(t,r)=>n?[e[0]+t,e[1]+r]:[e[0]+r,e[1]+t];if(a>=o){let e=(a-o)/2;return[l(0,0),l(s*e,0),l(s*(e+o),c*o),l(r,i)]}let u=a/2;return[l(0,0),l(s*u,c*u),l(s*u,c*(o-u)),l(r,i)]}function bt(e,t,n,r=3,i=7){let a=Math.max(at,Math.min(r,.96*Math.min(t/((e.w+4)*i),n/((e.h+4)*i))));return{k:a,x:t/2-a*(e.gx+e.w/2)*i,y:n/2-a*(e.gy+e.h/2)*i}}function xt(e,t,n,r){let i=Math.max(at,Math.min(3,e.k*t)),a=i/e.k;return{k:i,x:n-(n-e.x)*a,y:r-(r-e.y)*a}}function St(e,t){let n=new Set,r=e=>({...e,children:e.children.flatMap(e=>e.kind===`dir`?[r(e)]:t(e.ref)?(n.add(e.ref),[]):[e])}),i=r(e.root);return n.size?{root:i,edges:e.edges.filter(([e,t])=>!n.has(e)&&!n.has(t))}:e}var Ct=1;function wt(e,t,n){if(!n.web&&!n.code)return[];let r=[];for(let i of e){let e=(t[i.ref]?.links??[]).filter(e=>n[e.kind]),a=Math.max(1,Math.floor((i.h+Ct)/4));e.forEach((e,t)=>{let n=Math.floor(t/a),o=t%a;r.push({key:`${i.ref} ${e.href}`,kind:e.kind,href:e.href,text:e.text,broken:!!e.broken,gx:i.gx+i.w+Ct+n*4,gy:i.gy+o*4})})}return r}var Tt=2;function Et(e){let{W:t,H:n,items:r}=e,i=new Int8Array(t*n),a=new Uint8Array(t*n),o=new Int32Array(t*n).fill(-1),s=new Int32Array(t*n).fill(-1),c=r.map((e,t)=>t).filter(e=>r[e].kind===`folder`).sort((e,t)=>r[e].depth-r[t].depth||e-t);for(let e of c){let n=r[e];for(let r=n.gy;r<n.gy+n.h;r++)for(let a=n.gx;a<n.gx+n.w;a++)i[r*t+a]=n.depth,o[r*t+a]=e}r.forEach((e,n)=>{if(e.kind===`note`)for(let r=e.gy;r<e.gy+e.h;r++)for(let i=e.gx;i<e.gx+e.w;i++)a[r*t+i]=1,s[r*t+i]=n});let l=new Uint8Array(t*n),u=e.keep??Tt,d=(e,r,i,a)=>{for(let o=Math.max(0,r);o<Math.min(n,a);o++)for(let n=Math.max(0,e);n<Math.min(t,i);n++)l[o*t+n]=1};for(let e of r)e.kind===`note`?d(e.gx-u,e.gy-u,e.gx+e.w+u,e.gy+e.h+u):(d(e.gx-u,e.gy-u,e.gx+e.w+u,e.gy+u),d(e.gx-u,e.gy+e.h-u,e.gx+e.w+u,e.gy+e.h+u),d(e.gx-u,e.gy-u,e.gx+u,e.gy+e.h+u),d(e.gx+e.w-u,e.gy-u,e.gx+e.w+u,e.gy+e.h+u));return{W:t,H:n,elev:i,blocked:a,owner:o,noteAt:s,close:l}}function Dt(e,t){let n=e[t].kind===`folder`?[t]:[];for(let r=e[t].parent;r>=0;r=e[r].parent)n.push(r);return n}var Ot={bend:4,flow:1,area:.01,aspect:1,shape:1,effort:1e3,seed:0,cross:20,stay:5};function kt(e,t,n,r,i={}){let{bend:a,flow:o,area:s,aspect:c,shape:l,effort:u,seed:d,cross:f,stay:p}={...Ot,...i},m=e.length,h=e.map(e=>e[0]),g=e.map(e=>e[1]);if(!m)return{x:[],y:[],w:0,h:0};let _=Array.from({length:m},(e,t)=>Array.from({length:m},(e,r)=>n(t,r))),v=new Float64Array(m),y=new Float64Array(m),b=[...Array(m).keys()],x=[...b],S=new Int32Array(m),C=new Int32Array(m),w=0,T=0,E=()=>{b.forEach((e,t)=>{S[e]=t}),x.forEach((e,t)=>{C[e]=t}),w=0,T=0;for(let e=0;e<m;e++){let t=b[e],n=0,r=0;for(let i=0;i<e;i++){let e=b[i];C[e]<C[t]?n=Math.max(n,v[e]+h[e]+_[e][t]):r=Math.max(r,y[e]+g[e]+_[e][t])}v[t]=n,y[t]=r,w=Math.max(w,n+h[t]),T=Math.max(T,r+g[t])}},D=e=>[v[e]+h[e]/2,y[e]+g[e]/2],O=()=>{E();let e=0;for(let[n,i,s]of t){let t=Math.max(0,v[i]-v[n]-h[n],v[n]-v[i]-h[i]),c=Math.max(0,y[i]-y[n]-g[n],y[n]-y[i]-g[i]);e+=s*(Math.max(t,c)+.414*Math.min(t,c)+(t>0&&c>0?a:0));let l=r===`right`?v[n]+h[n]/2-(v[i]+h[i]/2):y[i]+g[i]/2-(y[n]+g[n]/2);l>0&&(e+=o*s*l)}if(f)for(let n=0;n<t.length;n++)for(let r=n+1;r<t.length;r++){let[i,a,o]=t[n],[s,c,l]=t[r];i!==s&&i!==c&&a!==s&&a!==c&&jt(D(i),D(a),D(s),D(c))&&(e+=f*Math.min(o,l))}if(A)for(let t=0;t<m;t++)for(let n=t+1;n<m;n++)(S[t]<S[n]!=A[0][t]<A[0][n]||C[t]<C[n]!=A[1][t]<A[1][n])&&(e+=p);let n=Math.log(w/T/l);return e+s*w*T*(1+c*n*n)},k=At(m,t);if(b.sort((e,t)=>k[e]-k[t]),x.splice(0,m,...b),r===`up`&&b.reverse(),i.pair)return b.splice(0,m,...i.pair[0]),x.splice(0,m,...i.pair[1]),E(),{x:[...v],y:[...y],w,h:T,pair:i.pair};let A=null;i.start&&(b.splice(0,m,...i.start[0]),x.splice(0,m,...i.start[1]),A=[new Int32Array(m),new Int32Array(m)],b.forEach((e,t)=>{A[0][e]=t}),x.forEach((e,t)=>{A[1][e]=t}));let j=O(),M=j,N=[...b],P=[...x];if(m<2)return E(),{x:[...v],y:[...y],w,h:T,pair:[[...b],[...x]]};let F=Nt(Mt(e,t)^d),I=u*m,L=i.start?Math.max(.5,j*.002):Math.max(1,j*.05),ee=.001**(1/I);for(let e=0;e<I;e++,L*=ee){let e=Math.floor(F()*m),t=(e+1+Math.floor(F()*(m-1)))%m,n=F(),r=n=>{let r=n[e];n[e]=n[t],n[t]=r};if(n<.4)r(b);else if(n<.8)r(x);else{let n=b.indexOf(x[e]),i=b.indexOf(x[t]);r(x);let a=b[n];b[n]=b[i],b[i]=a}let i=O();if(i<=j||F()<Math.exp((j-i)/L))j=i,j<M&&(M=j,N=[...b],P=[...x]);else if(n<.4)r(b);else if(n<.8)r(x);else{let n=b.indexOf(x[e]),i=b.indexOf(x[t]);r(x);let a=b[n];b[n]=b[i],b[i]=a}}return b.splice(0,m,...N),x.splice(0,m,...P),E(),{x:[...v],y:[...y],w,h:T,cost:M,pair:[N,P]}}function At(e,t){let n=Array(e).fill(0);for(let[e,r,i]of t)n[e]+=i,n[r]-=i;let r=[...Array(e).keys()].sort((e,t)=>n[t]-n[e]||e-t),i=Array(e);return r.forEach((e,t)=>{i[e]=t}),i}function jt(e,t,n,r){let i=(e,t,n)=>(t[0]-e[0])*(n[1]-e[1])-(t[1]-e[1])*(n[0]-e[0]);return i(e,t,n)*i(e,t,r)<0&&i(n,r,e)*i(n,r,t)<0}function Mt(e,t){let n=2166136261;for(let r of[...e.flat(),...t.flat()])n^=r|0,n=Math.imul(n,16777619);return n>>>0}function Nt(e){return()=>{e|=0,e=e+1831565813|0;let t=Math.imul(e^e>>>15,1|e);return t=t+Math.imul(t^t>>>7,61|t)^t,((t^t>>>14)>>>0)/4294967296}}var Pt={cell:7,note:[18,11],gap:6,gapFolders:8,channel:6,channelFolders:8,pad:6,head:2,margin:8,minFolder:12,slant:8,keep:2},Ft={fine:Pt,coarse:{cell:14,note:[9,6],gap:3,gapFolders:6,channel:3,channelFolders:6,pad:3,head:1,margin:6,minFolder:6,slant:4,keep:1},coarser:{cell:18,note:[7,4],gap:2,gapFolders:5,channel:2,channelFolders:5,pad:2,head:1,margin:5,minFolder:5,slant:3,keep:1}};Pt.pad;var It=1.4,Lt=8,Rt=12,zt=Pt.note,Bt=0,Vt=0,Ht=0,Ut=0,Wt=0,Gt=0,Kt=0,qt=0,Jt=0,Yt=2,Xt=0,Zt=0;function Qt(e){({note:zt,gap:Bt,gapFolders:Vt,channel:Ht,channelFolders:Ut,head:Wt,margin:Gt,minFolder:Kt,slant:qt,pad:Jt,keep:Yt}=e),Xt=zt[0]+Bt,Zt=3*Xt}function $t(e,{flow:t=`up`,grain:n=`fine`,plan:r=!1,planCosts:i={},planned:a=null,from:o=null}={}){let s=Ft[n]??Pt;Qt(s);let c=e=>e.kind===`dir`,l=new Map,u=new Map,d=[e.root];for(let e=0;e<d.length;e++)for(let t of d[e].children||[])l.set(t,d[e]),c(t)?d.push(t):u.set(t.ref,t);let f=e=>{let t=[];for(let n=e;n;n=l.get(n))t.push(n);return t.reverse()},p=new Map(d.map(e=>[e,new Map])),m=new Map;for(let e of d){m.set(e,m.size);for(let t of e.children||[])c(t)||m.set(t,m.size)}let h=new Map(u);if(e.code)for(let t of d)t!==e.root&&!h.has(t.ref)&&h.set(t.ref,t);for(let[t,n,r]of e.edges){if(r<2)continue;let e=h.get(t),i=h.get(n);if(!e||!i||e===i)continue;let a=f(e),o=f(i),s=0;for(;a[s+1]&&a[s+1]===o[s+1];)s++;if(!a[s+1]||!o[s+1])continue;let c=p.get(a[s]),l=o[s+1],u=a[s+1],d=m.get(l)+`|`+m.get(u),g=c.get(d)||{p:l,q:u,weight:0,count:0};g.weight+=r,g.count++,c.set(d,g)}let g=new Map,_=new Map,v={},y=new Map,b=e=>e===`up`?`right`:`up`,x=(t,n)=>{let r=t.children||[];for(let e of r)c(e)?x(e,b(n)):g.set(e,{w:zt[0],h:zt[1]});let i=r.length?S(t,r,n):{w:0,h:0};g.set(t,t===e.root?i:r.length?{w:Math.max(Kt,i.w+2*Jt),h:i.h+Jt+Wt+Jt}:{w:Kt,h:Wt+2*Jt})};function S(e,t,n){if(r&&t.some(c))return C(e,t,n);let i=new Map(t.map(e=>[e,e])),a=e=>{for(;i.get(e)!==e;)e=i.get(e);return e};for(let t of p.get(e).values()){let e=a(t.p),n=a(t.q);e!==n&&i.set(n,e)}let o=new Map,s=new Set([...p.get(e).values()].flatMap(e=>[e.p,e.q]));for(let e of t){let t=s.has(e)?a(e):null;o.set(t,[...o.get(t)||[],e])}if(o.size<2){let r=w(e,t,n);return y.set(e,r.out),{w:r.w,h:r.h}}let l=[...o].map(([t,r],i)=>({list:r,loose:t===null,k:i,...w(e,r,n)}));l.sort((e,t)=>e.loose-t.loose||t.w*t.h-e.w*e.h||e.k-t.k);let u=t.some(c)?Vt:Bt,d=l.reduce((e,t)=>e+(t.w+u)*(t.h+u),0),f=Math.max(Math.ceil(Math.sqrt(d*It)),...l.map(e=>e.w)),m=0,h=0,_=0,v=0,b=[];for(let e of l){m&&m+e.w>f&&(m=0,h+=_+u,_=0);for(let t of e.list){let e=g.get(t);e.x+=m,e.y+=h}for(let t of e.out)b.push({...t,pts:t.pts&&t.pts.map(([e,t])=>[e+m,t+h])});v=Math.max(v,m+e.w),_=Math.max(_,e.h),m+=e.w+u}return y.set(e,b),{w:v,h:h+_}}function C(t,n,r){let s=new Map(n.map((e,t)=>[e,t])),l=[...p.get(t).values()].filter(e=>s.has(e.p)&&s.has(e.q)),u=t===e.root?``:t.ref,d=a?.get(u),f=(e,t)=>d?.wider.get([n[e].ref,n[t].ref].sort().join(`|`))??0,m=(e,t)=>(c(n[e])||c(n[t])?Vt:Bt)+f(e,t),h=n.map(e=>[g.get(e).w,g.get(e).h]),b=t===e.root&&r===`up`?1/Ot.shape:Ot.shape,x,S=!d&&o?.[u];if(S){let e=new Map(n.map((e,t)=>[e.ref,t])),t=n.map((e,t)=>t).filter(e=>!S[0].includes(n[e].ref));x=S.map(n=>[...n.filter(t=>e.has(t)).map(t=>e.get(t)),...t])}let C=kt(h,l.map(e=>[s.get(e.p),s.get(e.q),e.count]),m,r,{shape:b,...i,pair:d?.pair,start:x});_.set(u,C.pair),v[u]=C.pair.map(e=>e.map(e=>n[e].ref)),n.forEach((e,t)=>Object.assign(g.get(e),{x:C.x[t],y:C.y[t]}));let w=e=>r===`right`?C.x[e]+h[e][0]/2:-(C.y[e]+h[e][1]/2),T=new Map;for(let e of l)T.set(e.p,[...T.get(e.p)||[],e.q]);let E=(e,t)=>{let n=new Set,r=(T.get(e)||[]).filter(e=>e!==t);for(;r.length;){let e=r.pop();if(e===t)return!0;n.has(e)||(n.add(e),r.push(...T.get(e)||[]))}return!1};return y.set(t,l.map(e=>({p:e.p,q:e.q,count:e.count,back:w(s.get(e.p))>w(s.get(e.q)),implied:!c(e.p)&&!c(e.q)&&E(e.p,e.q),pts:null}))),{w:C.w,h:C.h}}function w(e,t,n){let r=t.length,i=new Map(t.map((e,t)=>[e,t])),a=n===`up`,o=t.some(c)?Vt:Bt,s=t.map(e=>a?g.get(e).h:g.get(e).w),l=t.map(e=>a?g.get(e).w:g.get(e).h),u=[...p.get(e).values()].filter(e=>i.has(e.p)&&i.has(e.q)).map(e=>({...e,p:i.get(e.p),q:i.get(e.q)})),d=tn(r,u.map(e=>[e.p,e.q,e.weight]));for(let e of u)e.back=d[e.p]>d[e.q],e.u=e.back?e.q:e.p,e.v=e.back?e.p:e.q;let f=u.filter(e=>!e.back),m=Array(r).fill(0),h=t.map(()=>[]),_=t.map(()=>[]);for(let e of u)h[e.v].push(e.u),_[e.u].push(e.v);let v=t.map(()=>[]);for(let e of f)v[e.p].push(e.q);for(let e of[...Array(r).keys()].sort((e,t)=>d[e]-d[t]))for(let t of h[e])m[e]=Math.max(m[e],m[t]+1);for(let e=0;e<r;e++)!h[e].length&&_[e].length&&(m[e]=Math.min(..._[e].map(e=>m[e]))-1);let y=(e,t,n)=>{let r=new Set,i=v[e].filter(e=>e!==n);for(;i.length;){let e=i.pop();if(e===t)return!0;r.has(e)||(r.add(e),i.push(...v[e]))}return!1};for(let e of f)e.implied=!c(t[e.p])&&!c(t[e.q])&&y(e.p,e.q,e.q);let b=u.filter(e=>!e.implied).sort((e,t)=>t.weight-e.weight||e.p-t.p||e.q-t.q),x=t.reduce((e,t,n)=>e+(l[n]+o)*(s[n]+Ht),0),S=Math.max(Math.ceil(Math.sqrt(a?x*It:x/It)),...l),C=[],w=Array(r),T=Array(r).fill(!1);for(let e of u)T[e.p]=!0,T[e.q]=!0;let E=T.some(Boolean)&&T.some(e=>!e),D=e=>{let t=e.reduce((e,t)=>e+l[t]+o,0),n=Math.max(1,Math.ceil((t-o)/S)),r=t/n,i=null,a=0;for(let t of e)(!i||a+l[t]>S||C.length-O<n&&a>=r)&&(i=[],C.push(i),a=0),w[t]=C.length-1,i.push(t),a+=l[t]+o},O=0,k=e=>h[e].length?+!!_[e].length:2,A=e=>e.length?e.reduce((e,t)=>e+d[t],0)/e.length:0;for(let e=0;e<=Math.max(...m);e++){let t=[...Array(r).keys()].filter(t=>m[t]===e&&(T[t]||!E));t.reduce((e,t)=>e+l[t]+o,0)-o>S&&t.sort((e,t)=>k(e)-k(t)||A(h[e])-A(h[t])||e-t),O=C.length,D(t)}E&&(O=C.length,D([...Array(r).keys()].filter(e=>!T[e])));let j=[...l],M=t.map(()=>[]),N=t.map(()=>[]),P=new Map,F=new Map,I=[],L=new Set,ee=new Map;for(let e of b){let t=[e.u];for(let n=w[e.u]+1;n<w[e.v];n++){let r=e.u+`|`+n;P.has(r)||(P.set(r,j.length),F.set(j.length,e.u),j.push(1),M.push([]),N.push([]),w.push(n),C[n].push(j.length-1)),t.push(P.get(r))}t.push(e.v);for(let e=1;e<t.length;e++){let n=t[e-1],r=t[e];L.has(n+`|`+r)||(L.add(n+`|`+r),I.push([n,r]),N[n].push(r),M[r].push(n))}ee.set(e,t)}let R=e=>e>=r,z=Array(j.length);C.forEach(e=>e.forEach((e,t)=>{z[e]=t}));let B=(e,t)=>{let n=new Map(C[e].map(e=>[e,t[e].length?t[e].reduce((e,t)=>e+z[t],0)/t[e].length:z[e]]));C[e].sort((e,t)=>n.get(e)-n.get(t)||z[e]-z[t]),C[e].forEach((e,t)=>{z[e]=t})},te=()=>{let e=0;for(let t=0;t<C.length-1;t++){let n=[];for(let e of C[t])for(let t of N[e])n.push([z[e],z[t]]);for(let t=0;t<n.length;t++)for(let r=t+1;r<n.length;r++)(n[t][0]-n[r][0])*(n[t][1]-n[r][1])<0&&e++}return e},V=()=>{let e=(e,t,n)=>{let r=0;for(let i of n[e])for(let e of n[t])r+=z[i]>z[e]?1:z[i]<z[e]?-1:0;return r};for(let t=!0,n=0;t&&n<Lt;n++){t=!1;for(let n of C)for(let r=0;r+1<n.length;r++){let i=n[r],a=n[r+1];e(i,a,M)+e(i,a,N)>0&&(n[r]=a,n[r+1]=i,z[i]=r+1,z[a]=r,t=!0)}}},H=C.map(e=>[...e]),ne=(e,t)=>(R(e)?d[F.get(e)]:d[e])-(R(t)?d[F.get(t)]:d[t])||e-t,U=null,W=1/0;for(let e of[e=>e,e=>[...e].sort(ne),e=>[...e].reverse()]){C.forEach((t,n)=>{t.splice(0,t.length,...e(H[n])),t.forEach((e,t)=>{z[e]=t})});let t=1/0,n=0;for(let e=0;e<24&&n<4&&W>0;e++,n++){if(e%2==0)for(let e=1;e<C.length;e++)B(e,M);else for(let e=C.length-2;e>=0;e--)B(e,N);V();let r=te();r<t&&(t=r,n=0),r<W&&(W=r,U=C.map(e=>[...e]))}}U&&C.forEach((e,t)=>{e.splice(0,e.length,...U[t]),e.forEach((e,t)=>{z[e]=t})});let re=(e,t)=>R(e)&&R(t)?1:R(e)||R(t)?Yt:o,G=Array(j.length).fill(0);for(let e of C){let t=0;e.forEach((n,r)=>{r&&(t+=re(e[r-1],n)),G[n]=t,t+=j[n]})}let K=e=>e.length?G[e[e.length-1]]+j[e[e.length-1]]:0,ie=Math.max(...C.map(K));for(let e of C){let t=(ie-K(e))/2;for(let n of e)G[n]+=t}let ae=e=>G[e]+j[e]/2;for(let e=0;e<Rt;e++)for(let t of e%2?[...C].reverse():C){if(!t.length)continue;let e=t.map(e=>{let t=[...M[e],...N[e]];return(t.length?t.reduce((e,t)=>e+ae(t),0)/t.length:ae(e))-j[e]/2}),n=[],r=[];t.forEach((r,i)=>{n[i]=i?Math.max(e[i],n[i-1]+j[t[i-1]]+re(t[i-1],r)):e[i]});for(let n=t.length-1;n>=0;n--)r[n]=n<t.length-1?Math.min(e[n],r[n+1]-j[t[n]]-re(t[n],t[n+1])):e[n];t.forEach((e,t)=>{G[e]=(n[t]+r[t])/2})}let oe=e=>Math.floor((j[e]-1)/2),se=Array(j.length).fill(-1),ce=Array(j.length).fill(-1);for(let e of[!0,!1])for(let t=1;t<C.length;t++){let n=C[t].filter(e=>se[e]>=0).map(e=>[z[se[e]],z[e]]);for(let r of C[t]){if(se[r]>=0||!M[r].length)continue;let t=[...M[r]].sort((e,t)=>z[e]-z[t]),i=(t.length-1)/2,a=t.map((e,t)=>[e,Math.abs(t-i)]).filter(([t])=>ce[t]<0&&(!e||R(t)&&R(r))&&Math.abs(G[t]+oe(t)-G[r]-oe(r))<=(e?Zt:Xt)).sort((e,t)=>e[1]-t[1]||z[e[0]]-z[t[0]]);for(let[e]of a)if(!n.some(([t,n])=>t<z[e]!=n<z[r])){se[r]=e,ce[e]=r,n.push([z[e],z[r]]);break}}}let le=Array(j.length).fill(-1),q=0;for(let e=0;e<j.length;e++)if(se[e]<0){for(let t=e;t>=0;t=ce[t])le[t]=q;q++}let ue=Array.from({length:q},()=>[]);le.forEach((e,t)=>ue[e].push(t));let de=(e,t)=>j[e]-oe(e)+re(e,t)+oe(t),fe=Array(j.length).fill(-1),pe=Array(j.length).fill(-1);for(let e of C)e.forEach((t,n)=>{n&&(fe[t]=e[n-1],pe[e[n-1]]=t)});let J=Array(q).fill(0),me=!1;for(let e=0;e<=q&&!me;e++){me=!0;for(let e of C)for(let t=1;t<e.length;t++){let n=J[le[e[t-1]]]+de(e[t-1],e[t]);J[le[e[t]]]<n&&(J[le[e[t]]]=n,me=!1)}}if(me){let e=ue.map(e=>Math.round(e.reduce((e,t)=>e+G[t]+oe(t),0)/e.length)),t=Math.min(...e.map((e,t)=>e-J[t])),n=[...Array(q).keys()].sort((t,n)=>e[n]-e[t]||t-n);for(let r=0;r<24;r++){let i=!1;for(let a of r%2?[...n].reverse():n){let n=-1/0,r=1/0;for(let e of ue[a])fe[e]>=0&&(n=Math.max(n,J[le[fe[e]]]+de(fe[e],e))),pe[e]>=0&&(r=Math.min(r,J[le[pe[e]]]-de(e,pe[e])));let o=Math.max(n,Math.min(r,e[a]-t));o!==J[a]&&(J[a]=o,i=!0)}if(!i)break}for(let e=0;e<j.length;e++)G[e]=J[le[e]]-oe(e)}else for(let e of C)e.forEach((t,n)=>{G[t]=n?Math.max(Math.round(G[t]),G[e[n-1]]+j[e[n-1]]+re(e[n-1],t)):Math.round(G[t])});let Y=Math.min(...G);for(let e=0;e<G.length;e++)G[e]-=Y;let X=Math.max(...G.map((e,t)=>e+j[t])),Z=e=>G[e]+Math.floor((j[e]-1)/2)+.5,he=new Map;for(let e=0;e<j.length;e++){let t=[...M[e]].sort((e,t)=>Z(e)-Z(t)),n=G[e]+.5,r=G[e]+j[e]-.5;if(t.length>j[e]){t.forEach((r,i)=>he.set(r+`|`+e,n+Math.min(j[e]-1,Math.floor(i*j[e]/t.length))));continue}let i=t.map(e=>Math.max(n,Math.min(r,Z(e))));for(let e=1;e<i.length;e++)i[e]=Math.max(i[e],i[e-1]+1);for(let e=i.length-1;e>=0;e--)i[e]=Math.min(i[e],e===i.length-1?r:i[e+1]-1);t.forEach((t,n)=>he.set(t+`|`+e,i[n]))}let ge=(e,t)=>{let n=he.get(e+`|`+t);return n>=G[e]+.5&&n<=G[e]+j[e]-.5},_e=Array(j.length);for(let e=0;e<j.length;e++){let t=N[e].filter(t=>!ge(e,t)).map(t=>he.get(e+`|`+t)).sort((e,t)=>e-t);_e[e]=t.length?Math.max(G[e]+.5,Math.min(G[e]+j[e]-.5,t[t.length-1>>1])):Z(e)}let ve=(e,t)=>ge(e,t)?he.get(e+`|`+t):_e[e],ye=(e,t)=>{let n=ve(e,t),r=he.get(e+`|`+t);return[Math.min(n,r),Math.max(n,r)]},be=new Set,xe=C.map(()=>0);for(let[e,t]of I){if(ge(e,t))continue;let[n,r]=ye(e,t),i=he.get(e+`|`+t)>_e[e];r-n>qt||I.every(([a,o])=>{if(w[a]!==w[e]||a===e&&o===t)return!0;let[s,c]=ye(a,o);return a===e?i?c<=n:s>=r:c<n-1||s>r+1})&&(be.add(e+`|`+t),xe[w[e]]=Math.max(xe[w[e]],r-n))}let Se=new Map;for(let[e,t]of I){if(ge(e,t)||be.has(e+`|`+t))continue;let n=he.get(e+`|`+t),r=Se.get(e)||{u:e,lo:_e[e],hi:_e[e],track:0};r.lo=Math.min(r.lo,n),r.hi=Math.max(r.hi,n),Se.set(e,r)}let Ce=C.map(()=>0);C.forEach((e,t)=>{let n=[...Se.values()].filter(e=>w[e.u]===t&&e.hi>e.lo).sort((e,t)=>e.lo-t.lo||e.hi-t.hi||e.u-t.u),r=n.map(e=>N[e.u].filter(t=>!ge(e.u,t)&&!be.has(e.u+`|`+t)).map(t=>he.get(e.u+`|`+t))),i=(e,t)=>!(n[e].hi<n[t].lo-1||n[t].hi<n[e].lo-1),a=(e,t)=>+(_e[n[t].u]>n[e].lo&&_e[n[t].u]<n[e].hi)+r[e].filter(e=>e>n[t].lo&&e<n[t].hi).length,o=[];for(let e=0;e<n.length;e++)for(let t=e+1;t<n.length;t++){if(!i(e,t))continue;let n=a(t,e)-a(e,t);n>0?o.push([e,t,n]):n<0&&o.push([t,e,-n])}let s=tn(n.length,o),c=[];for(let e of[...n.keys()].sort((e,t)=>s[e]-s[t]))n[e].track=Math.max(0,...c.filter(t=>i(e,t)).map(e=>n[e].track+1)),c.push(e);Ce[t]=Math.max(0,...n.map(e=>e.track+1))});let we=C.map(e=>Math.max(0,...e.filter(e=>!R(e)).map(e=>s[e]))),Te=[],Ee=[],De=[],Oe=0;C.forEach((e,n)=>{Te[n]=Oe,Oe+=we[n];let r=Math.max(t.some(c)?Ut:Ht,Ce[n]+2*Yt,xe[n]+2);Ee[n]=Oe+Math.max(Yt,Math.floor((r-Ce[n])/2));let i=Oe;De[n]=e=>i+Math.floor((r-e)/2),n<C.length-1&&(Oe+=r)});let ke=Oe,Ae=e=>Te[w[e]]+Math.floor((we[w[e]]-s[e])/2),je=(e,t)=>a?[t,ke-e]:[e,t];t.forEach((e,t)=>Object.assign(g.get(e),a?{x:G[t],y:ke-Ae(t)-s[t]}:{x:Ae(t),y:G[t]}));let Me=[];for(let e of u){let n=ee.get(e),r=null;if(n){r=[je(Ae(e.u)+s[e.u],ve(e.u,n[1]))];for(let e=1;e<n.length;e++){let t=n[e-1],i=n[e],a=he.get(t+`|`+i);if(be.has(t+`|`+i)){let e=Math.abs(a-_e[t]),n=De[w[t]](e);r.push(je(n,_e[t]),je(n+e,a));continue}let o=Ee[w[t]]+(Se.get(t)?.track||0)+.5;r.push(je(o,ve(t,i)),je(o,a))}r.push(je(Ae(e.v),he.get(n[n.length-2]+`|`+e.v))),r=r.filter((e,t)=>!t||e[0]!==r[t-1][0]||e[1]!==r[t-1][1]),e.back&&r.reverse()}Me.push({p:t[e.p],q:t[e.q],count:e.count,back:e.back,implied:!!e.implied,pts:r})}return a?{w:X,h:ke,out:Me}:{w:ke,h:X,out:Me}}x(e.root,t);let T=[],E=new Map,D=new Map([[e.root,[Gt,Gt]]]);for(let t of d){let[n,r]=D.get(t),i=t===e.root?-1:E.get(t),a=f(t).length;for(let e of t.children||[]){let t=g.get(e);E.set(e,T.length),T.push({id:e.id,ref:e.ref,kind:c(e)?`folder`:`note`,parent:i,depth:a,gx:n+t.x,gy:r+t.y,w:t.w,h:t.h}),c(e)&&D.set(e,[n+t.x+Jt,r+t.y+Wt+Jt])}}let O=[],k=new Set;for(let e of d){let[t,n]=D.get(e);for(let r of y.get(e)||[]){let e=E.get(r.q),i=E.get(r.p);r.back&&k.add(e+`|`+i),O.push({a:e,b:i,count:r.count,back:r.back,implied:r.implied,pts:r.pts&&r.pts.map(([e,r])=>[e+t,r+n])})}}let A=en(T,e.edges,new Map([...u].map(([e,t])=>[e,E.get(t)]))),j=(e,t)=>{for(;T[e].parent!==t;)e=T[e].parent;return e};for(let e of A)e.placed=e.s>=2&&!k.has(j(e.a,e.level)+`|`+j(e.b,e.level));let M=g.get(e.root);return{W:M.w+2*Gt,H:M.h+2*Gt,flow:t,cell:s.cell,keep:s.keep,margin:Gt,items:T,links:A,trunks:O,pairs:_,orders:v}}function en(e,t,n){let r=t=>{let n=[];for(let r=e[t].parent;r>=0;r=e[r].parent)n.push(r);return n},i=[];for(let[e,a,o]of t){let t=n.get(e),s=n.get(a);if(t===void 0||s===void 0||t===s)continue;let c=new Set(r(s));i.push({a:t,b:s,s:o,level:r(t).find(e=>c.has(e))??-1,placed:!1})}return i}function tn(e,t){let n=Array.from({length:e},()=>new Map),r=Array.from({length:e},()=>new Map);for(let[e,i,a]of t)e!==i&&(n[e].set(i,(n[e].get(i)||0)+a),r[i].set(e,(r[i].get(e)||0)+a));let i=e=>{let t=0;for(let n of e.values())t+=n;return t},a=new Set([...Array(e).keys()]),o=[],s=[],c=(e,t)=>{a.delete(e),t.push(e);for(let t of n[e].keys())r[t].delete(e);for(let t of r[e].keys())n[t].delete(e)};for(;a.size;){let e=!0;for(;e;){e=!1;for(let t of[...a])r[t].size?n[t].size||(c(t,s),e=!0):(c(t,o),e=!0)}if(!a.size)break;let t=-1,l=-1/0;for(let e of a){let a=i(n[e])-i(r[e]);a>l&&(l=a,t=e)}c(t,o)}let l=Array(e);return[...o,...s.reverse()].forEach((e,t)=>{l[e]=t}),l}var nn={climb:5,turn45:1.5,turn90:3,foreign:2.5,crowd:.2,near:0,hug:2.5,haste:3.2},rn=[1,1,0,-1,-1,-1,0,1],an=[0,1,1,1,0,-1,-1,-1],on=3,sn=8;function cn(e,t,n={}){let{climb:r,turn45:i,turn90:a,foreign:o,crowd:s,near:c,hug:l,haste:u}={...nn,...n},{W:d,H:f,elev:p,blocked:m,owner:h}=t,g=t.close||new Uint8Array(d*f),_=d*f,v=e.items,y=new Uint16Array(_),b=new Uint16Array(_),x=new Float32Array(_*9),S=new Int32Array(_*9),C=new Uint32Array(_*9),w=new Uint32Array(v.length),T=_*9,E=0,D=new Float32Array(4096),O=new Float32Array(4096),k=new Int32Array(4096),A=0,j=(e,t,n)=>{if(A===D.length){let e=(e,t)=>{let n=new t(e.length*2);return n.set(e),n};D=e(D,Float32Array),O=e(O,Float32Array),k=e(k,Int32Array)}let r=A++;for(;r>0;){let t=r-1>>1;if(D[t]<=e)break;D[r]=D[t],O[r]=O[t],k[r]=k[t],r=t}D[r]=e,O[r]=t,k[r]=n},M=()=>{N=O[0],P=k[0];let e=D[--A],t=O[A],n=k[A],r=0;for(;;){let t=2*r+1;if(t>=A||(t+1<A&&D[t+1]<D[t]&&t++,D[t]>=e))break;D[r]=D[t],O[r]=O[t],k[r]=k[t],r=t}D[r]=e,O[r]=t,k[r]=n},N=0,P=0,F=(e,t)=>{y[e]+=t;let n=e%d,r=e/d|0;for(let e=Math.max(0,r-1);e<=Math.min(f-1,r+1);e++)for(let i=Math.max(0,n-1);i<=Math.min(d-1,n+1);i++)(i!==n||e!==r)&&(b[e*d+i]+=t)},I=e=>{let t=[],n=(e,n,r,i)=>{e>=0&&n>=0&&e<d&&n<f&&!m[n*d+e]&&t.push([n*d+e,r,i])};for(let t=e.gx;t<e.gx+e.w;t++)n(t,e.gy-1,t+.5,e.gy),n(t,e.gy+e.h,t+.5,e.gy+e.h);for(let t=e.gy;t<e.gy+e.h;t++)n(e.gx-1,t,e.gx,t+.5),n(e.gx+e.w,t,e.gx+e.w,t+.5);return t};function L(e,t,n,f,_,D,O=null){E++,A=0;for(let t of Dt(v,e))w[t]=E;if(O){w[O.folder]=E;for(let e of Dt(v,O.folder))w[e]=E}else for(let e of Dt(v,t))w[e]=E;let k=v[e],L=O?null:v[t],ee=O?O.ends:new Map(I(L).map(e=>[e[0],e])),R,z,B,te;if(O?.toward!==void 0)R=z=O.toward%d,B=te=O.toward/d|0;else if(O){R=B=1/0,z=te=-1/0;for(let e of ee.keys()){let t=e%d,n=e/d|0;R=Math.min(R,t),z=Math.max(z,t),B=Math.min(B,n),te=Math.max(te,n)}}else R=L.gx-1,z=L.gx+L.w,B=L.gy-1,te=L.gy+L.h;let V=(e,t)=>{let n=Math.max(R-e,e-z,0),r=Math.max(B-t,t-te,0);return u*(Math.max(n,r)+.414*Math.min(n,r))},H=new Map;for(let e of I(k)){let t=e[0],n=t*9+sn,r=Math.fround(1+s*Math.min(y[t],on));C[n]===E&&x[n]<=r||(C[n]=E,x[n]=r,S[n]=-1,j(r+V(t%d,t/d|0),r,n),H.set(t,e))}let ne=!!O?.strict,U=-1;for(;A;){M();let e=P,t=N;if(e>=T){U=e-T;break}if(t!==x[e])continue;let u=e/9|0,v=e%9,k=ee.get(u);if(k){if(!k[3]){U=e;break}j(Math.fround(t+k[3]),Math.fround(t+k[3]),T+e)}let A=u%d,F=u/d|0;for(let T=0;T<8;T++){let k=A+rn[T],M=F+an[T];if(k<n||M<f||k>_||M>D)continue;let N=M*d+k;if(m[N]||ne&&h[N]!==O.folder)continue;if(rn[T]&&an[T]){let e=F*d+k,t=M*d+A;if(m[e]||m[t]||p[e]!==p[u]||p[t]!==p[u]||p[N]!==p[u])continue}let P=(rn[T]&&an[T]?1.414:1)*(1+s*Math.min(y[N],on)+c*Math.min(b[N],on))+r*Math.abs(p[N]-p[u]);if(v!==sn&&v!==T){let e=Math.min((T-v+8)%8,(v-T+8)%8);P+=e===1?i:a*(e>=3?2:1)}h[N]>=0&&w[h[N]]!==E&&(P+=o),g[N]&&(P+=l);let I=N*9+T,L=Math.fround(t+P);C[I]===E&&x[I]<=L||(C[I]=E,x[I]=L,S[I]=e,j(L+V(k,M),L,I))}}if(U<0)return null;let W=[];for(let e=U;e!==-1;e=S[e])W.push(e/9|0);W.reverse();for(let e of W)F(e,1);let re=H.get(W[0]),G=ee.get(W[W.length-1]),K=[[re[1],re[2]]];for(let e of W)K.push([e%d+.5,(e/d|0)+.5]);return K.push([G[1],G[2]]),{cells:Int32Array.from(W),pts:K}}function ee(e,t){let n=v[e],r=v[t],i=Math.max(Math.abs(n.gx-r.gx),Math.abs(n.gy-r.gy)),a=Math.max(12,Math.ceil(i*.4)),o=Math.max(0,Math.min(n.gx,r.gx)-a),s=Math.max(0,Math.min(n.gy,r.gy)-a),c=Math.min(d-1,Math.max(n.gx+n.w,r.gx+r.w)+a),l=Math.min(f-1,Math.max(n.gy+n.h,r.gy+r.h)+a);return L(e,t,o,s,c,l)||(o||s||c<d-1||l<f-1?L(e,t,0,0,d-1,f-1):null)}function R(e,t){return v[e],v[t.folder],z(e,{...t,strict:!0})||z(e,t)}function z(e,t){let n=v[e],r=v[t.folder];return L(e,-1,Math.max(0,Math.min(n.gx,r.gx)-2),Math.max(0,Math.min(n.gy,r.gy)-2),Math.min(d-1,Math.max(n.gx+n.w,r.gx+r.w)+2),Math.min(f-1,Math.max(n.gy+n.h,r.gy+r.h)+2),t)}function B(e){let t=new Set;for(let n=1;n<e.length;n++){let[r,i]=e[n-1],[a,o]=e[n],s=Math.max(1,Math.ceil(Math.max(Math.abs(a-r),Math.abs(o-i))*2));for(let e=0;e<=s;e++){let n=Math.floor(r+(a-r)*e/s),c=Math.floor(i+(o-i)*e/s);n<0||c<0||n>=d||c>=f||m[c*d+n]||t.has(c*d+n)||(t.add(c*d+n),F(c*d+n,1))}}}return{route:ee,routeTo:R,occupy:B,release:e=>{for(let t of e.cells)F(t,-1)},hold:e=>{for(let t of e.cells)F(t,1)}}}var ln=[0,1,-1,2,-2,3,-3];function un(e,t){let n=new Map;e.forEach((e,r)=>{e.edges=new Set;for(let i=1;i<e.cells.length;i++){let a=e.cells[i-1],o=e.cells[i],s=a<o?a*t+o:o*t+a;e.edges.add(s),n.has(s)||n.set(s,[]),n.get(s).push(r)}}),e.forEach((t,r)=>{let i=new Set;for(let a of t.edges)for(let t of n.get(a))t<r&&i.add(e[t].lane);t.lane=ln.find(e=>!i.has(e))??0,delete t.edges})}var dn=(e,t,n,r)=>{let i=(e,t,n)=>(t[0]-e[0])*(n[1]-e[1])-(t[1]-e[1])*(n[0]-e[0]);return i(e,t,n)*i(e,t,r)<0&&i(n,r,e)*i(n,r,t)<0};function fn(e,t){let n=new Map;e.forEach((e,t)=>{for(let r of e.cells)n.has(r)||n.set(r,new Set),n.get(r).add(t)});let r=0,i=0;e.forEach((e,a)=>{for(let o of e.cells){r++;let e=!1,s=o%t;for(let r=-1;r<=1&&!e;r++)for(let i=-1;i<=1&&!e;i++){if(s+i<0||s+i>=t)continue;let c=n.get(o+r*t+i);if(c){for(let t of c)if(t!==a){e=!0;break}}}e||i++}});let a=e.map((e,t)=>{let n=[t*.618%1*.02-.01,t*.414%1*.02-.01],r=e.pts;return r.filter((e,t)=>t===0||t===r.length-1||Math.abs((e[0]-r[t-1][0])*(r[t+1][1]-e[1])-(e[1]-r[t-1][1])*(r[t+1][0]-e[0]))>1e-6).map(e=>[e[0]+n[0],e[1]+n[1]])}),o=0;for(let t=0;t<e.length;t++)for(let n=t+1;n<e.length;n++){let r=e[t],i=e[n];if(r.a!==i.a&&r.a!==i.b&&r.b!==i.a&&r.b!==i.b)for(let e=1;e<a[t].length;e++)for(let r=1;r<a[n].length;r++)dn(a[t][e-1],a[t][e],a[n][r-1],a[n][r])&&o++}return{routes:e.length,crossings:o,length:r,beside:r?1-i/r:0}}function pn(e,t,n,r,i=t.length<=100?2:+(t.length<=300)){let a=t.map(({a:t,b:n})=>{let r=e.route(t,n);return r&&{a:t,b:n,...r}});for(let t=0;t<i;t++)a.forEach((t,n)=>{if(!t)return;e.release(t);let r=e.route(t.a,t.b);r?Object.assign(t,r):e.hold(t)});let o=a.filter(Boolean);un(o,n*r);let s={...fn(o,n),lost:a.length-o.length};for(let t of o)e.release(t);return{routes:a.map(e=>e&&{pts:e.pts,lane:e.lane}),measures:s}}var mn=[1,1,0,-1,-1,-1,0,1],hn=[0,1,1,1,0,-1,-1,-1],gn=8,_n={turn45:1.5,turn90:3,diag:1.3,hug:1,share:.35,centre:.3,gather:224};function vn(e,t=Et(e),n={}){let{turn45:r,turn90:i,diag:a,hug:o,share:s,centre:c,gather:l}={..._n,...n},{items:u,trunks:d}=e,{W:f,H:p,blocked:m,owner:h}=t,g=f*p,_=Math.max(2,Math.round(28/(e.cell??7))),v=On(t,_),y=_,b=new Uint8Array(g),x=10/(e.cell??7),S=(e,t)=>e>=0&&t>=0&&e<f&&t<p,C=(e,t,n)=>S(e,t)&&!m[t*f+e]&&h[t*f+e]===n;function w(e,t,n){let[r,i]=e,[a,o]=t,s=n?a-r:o-i,c=n?o-i:a-r,l=Math.sign(s),u=Math.sign(c),d=Math.abs(s),f=Math.abs(c),p=[];if(d>=f){let e=Math.floor((d-f)/2);for(let t=0;t<e;t++)p.push([l,0]);for(let e=0;e<f;e++)p.push([l,u]);for(let t=0;t<d-f-e;t++)p.push([l,0])}else{let e=Math.floor(d/2);for(let t=0;t<e;t++)p.push([l,u]);for(let e=0;e<f-d;e++)p.push([0,u]);for(let t=0;t<d-e;t++)p.push([l,u])}let m=[[r,i]],h=r,g=i;for(let[e,t]of p)n?(h+=e,g+=t):(h+=t,g+=e),m.push([h,g]);return m}function T(e,t,n,r,i){let a=Math.max(e.gx-(t.gx+t.w),t.gx-(e.gx+e.w)),o=Math.max(e.gy-(t.gy+t.h),t.gy-(e.gy+e.h)),s=a>=o;if((s?a:o)<1)return null;let[c,l]=s?t.gx<e.gx?[3,2]:[2,3]:t.gy<e.gy?[1,0]:[0,1];if(i&&i.side!==c||r&&r.side!==l)return null;let u=Dn(t)[c],d=Dn(e)[l],p=s?Math.max(e.gy,t.gy):Math.max(e.gx,t.gx),m=s?Math.min(e.gy+e.h,t.gy+t.h):Math.min(e.gx+e.w,t.gx+t.w),h=e=>Math.floor(e.mid-.5+1e-9),g=e=>e>=p&&e<m,b=r||i?[[i?i.t:g(r.t)?r.t:h(u),r?r.t:g(i.t)?i.t:h(d),0]]:m-p>=1?kn(p,m).map(e=>[e,e,Math.abs(e+.5-(p+m)/2)]):[[h(u),h(d),0]],S=null;for(let[r,i,a]of b){if(yn(t,c,r,x)||yn(e,l,i,x))continue;let o=w(s?[c===3?t.gx+t.w:t.gx-1,r]:[r,c===1?t.gy+t.h:t.gy-1],s?[l===2?e.gx-1:e.gx+e.w,i]:[i,l===0?e.gy-1:e.gy+e.h],s);if(!o.every(([e,t])=>C(e,t,n)))continue;let u=o.slice(_,o.length-_),d=u.length?Math.min(...u.map(([e,t])=>v[t*f+e])):_;d<y||(!S||d>S.least||d===S.least&&a<S.off)&&(S={least:d,off:a,tb:r,ta:i,way:o})}return S?[u.wall(S.tb),...S.way.map(([e,t])=>[e+.5,t+.5]),d.wall(S.ta)]:null}let E=new Float32Array(g+1),D=new Int32Array(g+1),O=new Uint8Array(g+1),k=new Uint32Array(g+1),A=0,j=[],M=(e,t)=>{j.push([e,t]);let n=j.length-1;for(;n>0;){let t=n-1>>1;if(j[t][0]<=e)break;[j[t],j[n]]=[j[n],j[t]],n=t}},N=()=>{let e=j[0],t=j.pop();if(j.length){j[0]=t;let e=0;for(;;){let t=2*e+1;if(t>=j.length||(t+1<j.length&&j[t+1][0]<j[t][0]&&t++,j[t][0]>=j[e][0]))break;[j[t],j[e]]=[j[e],j[t]],e=t}}return e},P=(e,t)=>{if(e===gn||e===t)return 0;let n=Math.min((t-e+8)%8,(e-t+8)%8);return n===1?r:i*(n>=3?2:1)};function F(e,t,n,r,i){A++,j.length=0;let l=g,u=new Map,d=(e,t,n)=>!e||e.side===t&&e.t===n;if(Dn(e).forEach((t,i)=>t.cells.forEach(([a,o])=>{let s=t.dir===6||t.dir===2?a:o;C(a,o,n)&&d(r,i,s)&&!yn(e,i,s,x)&&u.set(o*f+a,[(t.dir+4)%8,c*Math.abs(s+.5-t.mid),t.wall(s)])})),!r)for(let t of bn(e,x))C(...t.out,n)&&u.set(t.out[1]*f+t.out[0],[(t.dir+4)%8,c*Math.min(e.w,e.h)/2,t.pt]);if(!u.size)return null;let p=e.gx-1,m=e.gx+e.w,h=e.gy-1,y=e.gy+e.h,S=(e,t)=>{let n=Math.max(p-e,e-m,0),r=Math.max(h-t,t-y,0);return Math.max(n,r)+.414*Math.min(n,r)},w=new Map,T=(e,t,n,r)=>{k[e]===A&&E[e]<=t||(k[e]=A,E[e]=t,D[e]=-1,O[e]=n,w.set(e,r),M(t+S(e%f,e/f|0),e))};if(Dn(t).forEach((e,r)=>e.cells.forEach(([a,o])=>{let s=e.dir===6||e.dir===2?a:o;C(a,o,n)&&d(i,r,s)&&!yn(t,r,s,x)&&T(o*f+a,c*Math.abs(s+.5-e.mid),e.dir,e.wall(s))})),!i)for(let e of bn(t,x))C(...e.out,n)&&T(e.out[1]*f+e.out[0],c*Math.min(t.w,t.h)/2,e.dir,e.pt);for(;j.length;){let[e,t]=N();if(t===l)break;let r=E[t];if(e-S(t%f,t/f|0)>r+1e-4)continue;let i=u.get(t);if(i){let e=r+i[1]+P(O[t],i[0]);(k[l]!==A||e<E[l])&&(k[l]=A,E[l]=e,D[l]=t,M(e,l))}let c=t%f,d=t/f|0;for(let e=0;e<8;e++){let i=c+mn[e],l=d+hn[e];if(!C(i,l,n)||mn[e]&&hn[e]&&(!C(i,d,n)||!C(c,l,n)))continue;let u=l*f+i,p=r+(mn[e]&&hn[e]?Math.SQRT2*a:1)*(b[u]?1-s:1)+o*(_-v[u])+P(O[t],e);k[u]===A&&E[u]<=p||(k[u]=A,E[u]=p,D[u]=t,O[u]=e,M(p+S(i,l),u))}}if(k[l]!==A)return null;let F=[];for(let e=D[l];e!==-1;e=D[e])F.push(e);return F.reverse(),[w.get(F[0]),...F.map(e=>[e%f+.5,Math.floor(e/f)+.5]),u.get(F.at(-1))[2]]}let I=d.map((e,t)=>t).sort((e,t)=>d[t].count-d[e].count||e-t),L=d.map(e=>({a:e.a,b:e.b,count:e.count,back:e.back,implied:e.implied})),ee=e=>Cn(e,(e,t)=>{S(e,t)&&!m[t*f+e]&&(b[t*f+e]=1)}),R=(e,t,n)=>{let r=d[e],i=u[r.a],a=u[r.b];return T(i,a,i.parent,t,n)??F(i,a,i.parent,t,n)};for(let e of I){let t=R(e);t&&(L[e].pts=t,ee(t))}let z=l/(e.cell??7),B=new Map;L.forEach((e,t)=>{if(e.pts)for(let[n,r,i]of[[`b`,e.b,e.pts[0]],[`a`,e.a,e.pts.at(-1)]]){let a=u[r];if(a.kind!==`folder`||!xn(a,i))continue;let o=Sn(a,i),s=`${r}|${o}`;B.set(s,[...B.get(s)||[],{k:t,end:n,t:Math.floor(o<2?i[0]:i[1]),count:e.count}])}});let te=new Map;for(let[e,t]of B){let[n,r]=e.split(`|`).map(Number),i=u[n];Dn(i)[r],r<2?i.gx:i.gy,t.sort((e,t)=>e.t-t.t);for(let e=0;e<t.length;){let n=e+1;for(;n<t.length&&t[n].t-t[n-1].t<=z;)n++;let a=t.slice(e,n);if(e=n,a.length<2||a.every(e=>e.t===a[0].t))continue;let o=new Map;for(let e of a)o.set(e.t,(o.get(e.t)||0)+e.count);let s=(a[0].t+a.at(-1).t)/2,c=[...o].filter(([e])=>!yn(i,r,e,x)).reduce((e,t)=>t[1]>e[1]||t[1]===e[1]&&Math.abs(t[0]-s)<Math.abs(e[0]-s)?t:e)[0];for(let e of a)e.t!==c&&te.set(e.k,{...te.get(e.k),[e.end]:{side:r,t:c}})}}if(te.size){b.fill(0),L.forEach((e,t)=>{e.pts&&!te.has(t)&&ee(e.pts)});for(let e of I){let t=te.get(e);if(!t)continue;let n=L[e],r=(e,t)=>{if(!xn(u[e],t))return;let n=Sn(u[e],t);return{side:n,t:Math.floor(n<2?t[0]:t[1])}},i=R(e,t.a??r(n.a,n.pts.at(-1)),t.b??r(n.b,n.pts[0]));i&&(L[e].pts=i),ee(L[e].pts)}}return L}function yn(e,t,n,r){if(e.kind!==`folder`)return!1;let i=t<2?e.gx:e.gy,a=i+(t<2?e.w:e.h);return n+.5-i<r||a-(n+.5)<r}function bn(e,t){return e.kind===`folder`?[[e.gx,e.gy,1,1,5],[e.gx+e.w,e.gy,-1,1,7],[e.gx+e.w,e.gy+e.h,-1,-1,1],[e.gx,e.gy+e.h,1,-1,3]].map(([e,n,r,i,a])=>({out:[Math.floor(e-r*.5),Math.floor(n-i*.5)],in:[Math.floor(e+r*.5),Math.floor(n+i*.5)],dir:a,pt:[e+r*t/2,n+i*t/2]})):[]}function xn(e,[t,n]){let r=(e,t)=>Math.abs(e-t)<1e-6;return(r(t,e.gx)||r(t,e.gx+e.w))&&n>=e.gy-1e-6&&n<=e.gy+e.h+1e-6||(r(n,e.gy)||r(n,e.gy+e.h))&&t>=e.gx-1e-6&&t<=e.gx+e.w+1e-6}function Sn(e,[t,n]){let r=(e,t)=>Math.abs(e-t)<1e-6;return r(n,e.gy)?0:r(n,e.gy+e.h)?1:r(t,e.gx)?2:3}function Cn(e,t){for(let n=1;n<e.length;n++){let[r,i]=e[n-1],[a,o]=e[n],s=Math.max(1,Math.ceil(Math.max(Math.abs(a-r),Math.abs(o-i))*2));for(let e=0;e<=s;e++)t(Math.floor(r+(a-r)*e/s),Math.floor(i+(o-i)*e/s))}}var wn={turn45:1.5,turn90:3,diag:1.3,hug:1,centre:1,join:.5,cross:1,haste:1.5,hasteNote:4};function Tn(e,t,n=Et(e),r={}){let{turn45:i,turn90:a,diag:o,hug:s,centre:c,join:l,cross:u,haste:d,hasteNote:f}={...wn,...r},{items:p,links:m}=e,{W:h,H:g,blocked:_,owner:v}=n,y=h*g,b=Math.max(2,Math.round(28/(e.cell??7))),x=On(n,b),S=10/(e.cell??7),C=new Uint8Array(y);for(let e of t)e.pts&&Cn(e.pts,(e,t)=>{e>=0&&t>=0&&e<h&&t<g&&(C[t*h+e]=1)});let w=(e,t)=>e>=0&&t>=0&&e<h&&t<g,T=(e,t)=>{for(;p[e].parent!==t;)e=p[e].parent;return e},E=(e,[t,n])=>{let r=(e,t)=>Math.abs(e-t)<1e-6;if(!xn(e,[t,n])){let i=bn(e,S).find(e=>r(e.pt[0],t)&&r(e.pt[1],n));if(i)return[...i.in,i.dir]}return r(t,e.gx)?[e.gx,Math.floor(n),4]:r(t,e.gx+e.w)?[e.gx+e.w-1,Math.floor(n),0]:r(n,e.gy)?[Math.floor(t),e.gy,6]:[Math.floor(t),e.gy+e.h-1,2]},D=(e,t)=>(mn[e]&&hn[e]?Math.SQRT2*o:1)+s*(b-x[t]),O=(e,t)=>{if(e===gn||e===t)return 0;let n=Math.min((t-e+8)%8,(e-t+8)%8);return n===1?i:a*(n>=3?2:1)},k=new Float32Array(y*9+1),A=new Int32Array(y*9+1),j=new Uint32Array(y*9+1),M=y*9,N=0,P=new Float64Array(4096),F=new Float64Array(4096),I=new Int32Array(4096),L=0,ee=0,R=0,z=(e,t,n)=>{if(L===P.length){let e=(e,t)=>{let n=new t(e.length*2);return n.set(e),n};P=e(P,Float64Array),F=e(F,Float64Array),I=e(I,Int32Array)}let r=L++;for(;r>0;){let t=r-1>>1;if(P[t]<=e)break;P[r]=P[t],F[r]=F[t],I[r]=I[t],r=t}P[r]=e,F[r]=t,I[r]=n},B=()=>{P[0],ee=F[0],R=I[0];let e=P[--L],t=F[L],n=I[L],r=0;for(;;){let t=2*r+1;if(t>=L||(t+1<L&&P[t+1]<P[t]&&t++,P[t]>=e))break;P[r]=P[t],F[r]=F[t],I[r]=I[t],r=t}P[r]=e,F[r]=t,I[r]=n};function te(e,t,n,r,i){N++,L=0;let a=(e,t)=>w(e,t)&&!_[t*h+e]&&v[t*h+e]===n,o=r%h,d=r/h|0,f=(e,t)=>{let n=Math.abs(e-o),r=Math.abs(t-d);return i*(1-l)*(Math.max(n,r)+.414*Math.min(n,r))},p=new Map;if(e.kind===`folder`)for(let t of bn(e,S)){let[n,r]=t.out;if(!a(n,r))continue;let i=r*h+n,o=i*9+t.dir,l=Math.fround(c*Math.min(e.w,e.h)/2+s*(b-x[i]));j[o]===N&&k[o]<=l||(j[o]=N,k[o]=l,A[o]=-1,p.set(i,t.pt),z(l+f(n,r),l,o))}for(Dn(e).forEach((t,n)=>t.cells.forEach(([r,i])=>{if(!a(r,i)||yn(e,n,t.dir===6||t.dir===2?r:i,S))return;let o=t.dir===6||t.dir===2?r:i,l=i*h+r,u=l*9+t.dir,d=Math.fround(c*Math.abs(o+.5-t.mid)+s*(b-x[l]));j[u]===N&&k[u]<=d||(j[u]=N,k[u]=d,A[u]=-1,p.set(l,t.wall(o)),z(d+f(r,i),d,u))}));L;){B();let e=R,n=ee;if(e===M)break;if(n!==k[e])continue;let r=e/9|0,i=e%9,o=r%h,s=r/h|0,c=t.get(r);if(c){let t=n+c.rest+O(i,c.dir);(j[M]!==N||t<k[M])&&(j[M]=N,k[M]=t,A[M]=e,z(t,t,M))}for(let t=0;t<8;t++){let r=o+mn[t],c=s+hn[t];if(!a(r,c)||mn[t]&&hn[t]&&(!a(r,s)||!a(o,c)))continue;let l=c*h+r,d=l*9+t,p=Math.fround(n+D(t,l)+(C[l]?u:0)+O(i,t));j[d]===N&&k[d]<=p||(j[d]=N,k[d]=p,A[d]=e,z(p+f(r,c),p,d))}}if(j[M]!==N)return null;let m=[];for(let e=A[M];e!==-1;e=A[e])m.push(e/9|0);return m.reverse(),{cells:m,pts:[p.get(m[0]),...m.map(e=>[e%h+.5,Math.floor(e/h)+.5]),t.get(m.at(-1)).pt]}}let V=[];t.forEach((e,t)=>{if(!e.pts)return;let n=p[e.a].parent,r=m.filter(t=>t.s>=2&&t.level===n&&T(t.a,n)===e.a&&T(t.b,n)===e.b);p[e.a].kind===`folder`&&V.push({folder:e.a,at:e.pts[e.pts.length-1],notes:r.map(e=>e.a),trunk:t}),p[e.b].kind===`folder`&&V.push({folder:e.b,at:e.pts[0],notes:r.map(e=>e.b),trunk:t})});let H=[],ne=e=>p[e].kind===`note`,U=new Map;for(let e=0;e<V.length;e++){let{folder:t,at:n,notes:r,trunk:i}=V[e],[a,c,u]=E(p[t],n);if(!w(a,c)||_[c*h+a])continue;let m=c*h+a,g={dir:u,rest:0,pt:n};U.has(m)||U.set(m,{ends:new Map([[m,g]]),endsAny:new Map([[m,g]]),owners:new Map([[m,-1]]),exits:new Map});let{ends:v,endsAny:y,owners:S,exits:C}=U.get(m),D=new Map;for(let e of r){let n=T(e,t);D.set(n,[...D.get(n)||[],e])}for(let[e,n]of[...D].sort((e,t)=>ne(e[0])-ne(t[0])||t[1].length-e[1].length||e[0]-t[0])){let r=ne(e),a=C.get(e),c=r?y:v,u=a&&c.has(a.cell)?{cells:[a.cell],pts:[a.wall,c.get(a.cell).pt,c.get(a.cell).pt]}:te(p[e],c,t,m,r?f:d);if(!u)continue;a||C.set(e,{cell:u.cells[0],wall:u.pts[0]});let g=H.length,_=u.cells.at(-1);H.push({item:e,folder:t,trunk:i,count:n.length,pts:u.pts,cells:u.cells,leaf:r,via:S.get(_)??-1});let w=new Float32Array(u.cells.length);w[w.length-1]=y.get(_).rest;for(let e=u.cells.length-2;e>=0;e--){let t=u.cells[e],n=u.cells[e+1],r=t%h!==n%h&&Math.floor(t/h)!==Math.floor(n/h);w[e]=w[e+1]+(1-l)*((r?Math.SQRT2*o:1)+s*(b-x[n]))}for(let[e,t]of u.cells.entries()){if(y.has(t))continue;let n=u.cells[e+1],i={dir:n===void 0?y.get(_).dir:En(n%h-t%h,Math.floor(n/h)-Math.floor(t/h)),rest:w[e],pt:[t%h+.5,Math.floor(t/h)+.5]};y.set(t,i),S.set(t,g),r||v.set(t,i)}r||V.push({folder:e,at:u.pts[0],notes:n,trunk:i})}}return un(H,y),H.map(({item:e,folder:t,trunk:n,count:r,pts:i,lane:a,leaf:o,via:s})=>({item:e,folder:t,trunk:n,count:r,pts:i,lane:a,leaf:o,via:s}))}var En=(e,t)=>mn.findIndex((n,r)=>n===Math.sign(e)&&hn[r]===Math.sign(t));function Dn(e){return[{dir:6,cells:kn(e.gx,e.gx+e.w).map(t=>[t,e.gy-1]),mid:e.gx+e.w/2,wall:t=>[t+.5,e.gy]},{dir:2,cells:kn(e.gx,e.gx+e.w).map(t=>[t,e.gy+e.h]),mid:e.gx+e.w/2,wall:t=>[t+.5,e.gy+e.h]},{dir:4,cells:kn(e.gy,e.gy+e.h).map(t=>[e.gx-1,t]),mid:e.gy+e.h/2,wall:t=>[e.gx,t+.5]},{dir:0,cells:kn(e.gy,e.gy+e.h).map(t=>[e.gx+e.w,t]),mid:e.gy+e.h/2,wall:t=>[e.gx+e.w,t+.5]}]}function On({W:e,H:t,blocked:n,owner:r},i){let a=e*t,o=new Uint8Array(a).fill(i),s=new Int32Array(a),c=0,l=0;for(let i=0;i<a;i++){if(n[i]){o[i]=0;continue}let a=i%e,c=i/e|0;for(let u=0;u<8;u++){let d=a+mn[u],f=c+hn[u];if(d<0||f<0||d>=e||f>=t)continue;let p=f*e+d;if(n[p]||r[p]!==r[i]){o[i]=1,s[l++]=i;break}}}for(;c<l;){let a=s[c++],u=a%e,d=a/e|0;if(!(o[a]+1>=i))for(let i=0;i<8;i++){let c=u+mn[i],f=d+hn[i];if(c<0||f<0||c>=e||f>=t)continue;let p=f*e+c;o[p]>o[a]+1&&!n[p]&&r[p]===r[a]&&(o[p]=o[a]+1,s[l++]=p)}}return o}var kn=(e,t)=>Array.from({length:Math.max(0,t-e)},(t,n)=>e+n);function An(e,t){let n=10/(e.cell??7),r=e.items.filter(e=>e.kind===`folder`),i=(e,t)=>Math.abs(e-t)<1e-6,a=(e,t)=>{for(let a of r){let r=i(e[0],a.gx)||i(e[0],a.gx+a.w),o=i(e[1],a.gy)||i(e[1],a.gy+a.h);if(!(r&&e[1]>=a.gy-1e-6&&e[1]<=a.gy+a.h+1e-6)&&!(o&&e[0]>=a.gx-1e-6&&e[0]<=a.gx+a.w+1e-6))continue;let s=e[0]-a.gx<a.w/2?1:-1,c=e[1]-a.gy<a.h/2?1:-1,l=s>0?a.gx:a.gx+a.w,u=c>0?a.gy:a.gy+a.h;if(Math.abs(e[0]-l)+Math.abs(e[1]-u)>=n-1e-6)return null;let d=[l+s*n/2,u+c*n/2],f=t[0]>a.gx&&t[0]<a.gx+a.w&&t[1]>a.gy&&t[1]<a.gy+a.h?[s,c]:[-s,-c],p=t[0]-d[0],m=t[1]-d[1];if(Math.abs(Math.abs(p)-Math.abs(m))<1e-6&&p*f[0]>0)return[d];let h=[p/f[0],m/f[1]].filter(e=>e>1e-6).sort((e,t)=>e-t);return h.length?[d,[d[0]+f[0]*h[0],d[1]+f[1]*h[0]]]:null}return null};for(let e of t){if(!e.pts||e.pts.length<2)continue;let t=a(e.pts[0],e.pts[1]);t&&(e.pts=[...t,...e.pts.slice(1)]);let n=a(e.pts.at(-1),e.pts.at(-2));n&&(e.pts=[...e.pts.slice(0,-1),...n.reverse()])}return t}function jn(e,t=!1){let n=e=>e.kind===`dir`?{kind:`dir`,id:e.id,ref:e.ref,children:e.children.map(n)}:{kind:e.kind,id:e.id,ref:e.ref,weight:e.weight,rank:e.rank||0};if(t){let t=[],r=e=>{e.kind===`dir`?e.children.forEach(r):t.push(n(e))};return r(e.root),{root:{kind:`dir`,id:e.root.id,ref:e.root.ref,children:t},edges:e.edges,code:!1}}return{root:n(e.root),edges:e.edges,code:!!e.code}}function Mn(e,t){let n={flow:t.gridFlow===`right`?`right`:`up`,grain:Ln(t),plan:!!t.blocks,from:t.from??null},r=$t(e,n);if(t.blocks){let t=Nn(r,vn(r,Et(r)));[...t.values()].some(e=>e.wider.size)&&(r=$t(e,{...n,planned:t}))}r.feeders=Pn(r);let i=Et(r),a=vn(r,i),o=Tn(r,a,i);return An(r,[...a,...o]),r.highways={trunks:a,feeders:o},r}function Nn(e,t){let{items:n}=e,r=e.cell>7?2:3,i=new Map;for(let[a,o]of e.pairs??[]){let e=a===``?-1:n.findIndex(e=>e.kind===`folder`&&e.ref===a),s=n.map((e,t)=>t).filter(t=>n[t].parent===e),c=t.filter(t=>t.pts&&n[t.a].parent===e),l=new Map;for(let e of s)for(let t of s){if(e>=t)continue;let i=n[e],a=n[t],[o,s]=i.gx<=a.gx?[i,a]:[a,i],[u,d]=i.gy<=a.gy?[i,a]:[a,i],f=s.gx-(o.gx+o.w),p=d.gy-(u.gy+u.h),m=null,h=!1;if(f>0&&f<=16&&Math.min(i.gy+i.h,a.gy+a.h)-Math.max(i.gy,a.gy)>=4?(m=[o.gx+o.w,Math.max(i.gy,a.gy),s.gx,Math.min(i.gy+i.h,a.gy+a.h)],h=!0):p>0&&p<=16&&Math.min(i.gx+i.w,a.gx+a.w)-Math.max(i.gx,a.gx)>=4&&(m=[Math.max(i.gx,a.gx),u.gy+u.h,Math.min(i.gx+i.w,a.gx+a.w),d.gy]),!m)continue;let g=new Map;for(let e of c)for(let t=1;t<e.pts.length;t++){let[n,r]=e.pts[t-1],[i,a]=e.pts[t],o=Math.max(1,Math.ceil(Math.max(Math.abs(i-n),Math.abs(a-r))));for(let e=0;e<=o;e++){let t=Math.floor(n+(i-n)*e/o),s=Math.floor(r+(a-r)*e/o);if(t<m[0]||t>=m[2]||s<m[1]||s>=m[3])continue;let c=h?t:s;g.has(c)||g.set(c,new Set),g.get(c).add(h?s:t)}}let _=[...g.values()].filter(e=>e.size>=4).length;_>1&&l.set([i.ref,a.ref].sort().join(`|`),r*(_-1))}i.set(a,{pair:o,wider:l})}return i}function Pn(e,t=e.trunks){let{items:n,links:r,W:i}=e;if(!t.some(e=>e.pts&&(n[e.a].kind===`folder`||n[e.b].kind===`folder`)))return[];let a=Et(e),o=cn(e,a,{crowd:1,haste:1.5});for(let e of t)e.pts&&o.occupy(e.pts);let s=(e,t)=>{for(;n[e].parent!==t;)e=n[e].parent;return e},c=(e,[t,r])=>{let i=n[e],a=(e,t)=>Math.abs(e-t)<1e-6;return a(t,i.gx)?[i.gx,Math.floor(r)]:a(t,i.gx+i.w)?[i.gx+i.w-1,Math.floor(r)]:a(r,i.gy)?[Math.floor(t),i.gy]:[Math.floor(t),i.gy+i.h-1]},l=[];t.forEach((e,t)=>{if(!e.pts)return;let i=n[e.a].parent,a=r.filter(t=>t.s>=2&&t.level===i&&s(t.a,i)===e.a&&s(t.b,i)===e.b);n[e.a].kind===`folder`&&l.push({folder:e.a,at:e.pts[e.pts.length-1],notes:a.map(e=>e.a),trunk:t}),n[e.b].kind===`folder`&&l.push({folder:e.b,at:e.pts[0],notes:a.map(e=>e.b),trunk:t})});let u=[];for(let e=0;e<l.length;e++){let{folder:t,at:r,notes:d,trunk:f}=l[e],[p,m]=c(t,r);if(p<0||m<0||p>=i||a.blocked[m*i+p])continue;let h=new Map;for(let e of d){let n=s(e,t);h.set(n,[...h.get(n)||[],e])}let g=m*i+p,_=e=>n[e].kind===`note`,v=new Map([[g,[g,r[0],r[1]]]]),y=new Map(v),b=new Map([[g,-1]]);for(let[e,n]of[...h].sort((e,t)=>_(e[0])-_(t[0])||t[1].length-e[1].length||e[0]-t[0])){let r=_(e),s=o.routeTo(e,{ends:r?y:v,folder:t,toward:g});if(!s)continue;let c=u.length;u.push({item:e,folder:t,trunk:f,count:n.length,pts:s.pts,cells:s.cells,leaf:r,via:b.get(s.cells[s.cells.length-1])??-1});let d=new Float32Array(s.cells.length);d[d.length-1]=y.get(s.cells[s.cells.length-1])?.[3]??0;for(let e=s.cells.length-2;e>=0;e--){let t=s.cells[e],n=s.cells[e+1];d[e]=d[e+1]+(t%i!==n%i&&Math.floor(t/i)!==Math.floor(n/i)?Math.SQRT2:1)+(a.close[n]?nn.hug:0)}for(let[e,t]of s.cells.entries()){if(y.has(t))continue;let n=[t,t%i+.5,Math.floor(t/i)+.5,d[e]];y.set(t,n),b.set(t,c),r||v.set(t,n)}r||l.push({folder:e,at:s.pts[0],notes:n,trunk:f})}}return un(u,a.W*a.H),u.map(({item:e,folder:t,trunk:n,count:r,pts:i,lane:a,leaf:o,via:s})=>({item:e,folder:t,trunk:n,count:r,pts:i,lane:a,leaf:o,via:s}))}function Fn(e){let t=Et(e),n=cn(e,t);return e=>pn(n,e,t.W,t.H)}function In(e){let t=3735928559,n=1103547991;for(let r=0;r<e.length;r++){let i=e.charCodeAt(r);t=Math.imul(t^i,2654435761),n=Math.imul(n^i,1597334677)}return t=Math.imul(t^t>>>16,2246822507)^Math.imul(n^n>>>13,3266489909),n=Math.imul(n^n>>>16,2246822507)^Math.imul(t^t>>>13,3266489909),(4294967296*(2097151&n)+(t>>>0)).toString(36)}var Ln=e=>e.grain===`coarse`||e.grain===`coarser`?e.grain:`fine`;function Rn(e,t={}){return In(JSON.stringify([14,t.gridFlow===`right`?`right`:`up`,Ln(t),!!t.blocks,e]))}var zn,Bn=1,Vn=new Map;function Hn(e){if(zn===void 0)try{zn=new Worker(new URL(new URL(`../workers/worker-CWkpeSVG.js`,import.meta.url).href,``+import.meta.url),{type:`module`}),zn.onmessage=({data:e})=>{let t=Vn.get(e.id);Vn.delete(e.id),e.error===void 0?t?.resolve(e.result):t?.reject(Error(e.error))},zn.onerror=()=>{for(let e of Vn.values())e.reject(Error(`the layout worker stopped`));Vn.clear(),zn=null}}catch{zn=null}if(!zn)return Promise.reject(Error(`no worker`));let t=Bn++;return new Promise((n,r)=>{Vn.set(t,{resolve:n,reject:r}),zn.postMessage({id:t,...e})})}var Un=new Map,Wn=new Map,Gn=``;async function Kn(e,t){let n=jn(e),r=Rn(n,t),i=Un.get(r);return i||(i=await Hn({layout:{model:n,o:t}}).catch(()=>Mn(n,t)),Un.size>=6&&Un.delete(Un.keys().next().value),Un.set(r,i)),{key:r,layout:i}}async function qn(e,t,n){if(!n.length)return[];let r=()=>{let r=Wn.get(e);return r||(Wn.clear(),Wn.set(e,r=Fn(t))),r(n)},i=Gn!==e;return Gn=e,(await Hn({routes:{key:e,layout:i?t:null,asks:n}}).catch(()=>Hn({routes:{key:e,layout:t,asks:n}})).catch(r)).routes.map(e=>e?.pts??null)}var Jn=M(`<path d="M5.6 5.6a2.4 2.4 0 1 1 3.4 2.2c-.6.3-1 .8-1 1.5v.9" class="svelte-m50bdg"></path><path d="M8 12v1.2" class="svelte-m50bdg"></path>`,1),Yn=M(`<path d="M8 2.5l5.8 10.5H2.2z" class="svelte-m50bdg"></path>`),Xn=M(`<svg class="notch svelte-m50bdg" viewBox="0 0 16 16" aria-hidden="true"><!></svg>`),Zn=f(`<b class="num svelte-m50bdg"> </b>`),Qn=f(`<b class="order svelte-m50bdg" aria-hidden="true"> </b>`),$n=f(`<i class="dia svelte-m50bdg" aria-hidden="true"></i>`),er=f(`<a><!><span class="t svelte-m50bdg"> </span><!><!><!></a>`);function tr(e,t){B(t,!0);let n=A(t,`kind`,3,``),i=A(t,`done`,3,!1),a=A(t,`behind`,3,`var(--ground-0)`),o=A(t,`mark`,3,``),s=A(t,`far`,3,0),l=A(t,`num`,3,0),f=A(t,`iso`,3,``),p=A(t,`linked`,3,!1),m=A(t,`dim`,3,!1),h=A(t,`moment`,3,``),_=A(t,`given`,3,!1),y=A(t,`held`,3,``),b=A(t,`changed`,3,!1),x=A(t,`pointed`,3,``),S=A(t,`order`,3,0),C=A(t,`here`,3,!1);var w=er();let T;var E=v(w),O=e=>{var t=Xn(),a=v(t),o=e=>{var t=Jn();ee(),r(e,t)},s=e=>{var t=Yn();K(()=>H(t,`fill`,i()?`currentColor`:`none`)),r(e,t)};g(a,e=>{n()===`question`?e(o):e(s,-1)}),V(t),r(e,t)};g(E,e=>{n()&&e(O)});var k=z(E),j=c(k,!0),M=z(k),N=e=>{var t=Zn(),n=c(t,!0);K(()=>W(n,l())),r(e,t)};g(M,e=>{l()&&e(N)});var P=z(M),F=e=>{var t=Qn(),n=c(t,!0);K(()=>W(n,S())),r(e,t)};g(P,e=>{S()&&e(F)});var I=z(P),te=e=>{var t=$n();r(e,t)};g(I,e=>{b()&&e(te)}),V(w),K(e=>{T=R(w,1,`n ${h()?`mo-${h()}`:``} ${f()?`p-${f()}`:``} ${o()??``} ${n()??``}`,`svelte-m50bdg`,T,{done:i(),linked:p(),dim:m()&&!l()&&!f()&&!p()&&!_(),far:s()>1,pick:l()>0,given:_(),held:y()===`on`,aside:y()===`aside`,changed:b(),pointed:!!x(),here:C()}),H(w,`aria-current`,C()?`page`:void 0),H(w,`href`,t.href),H(w,`aria-label`,l()?`${t.title}: linked, number ${l()}`:`${n()===`question`?`Question: `:n()===`problem`?`Problem${i()?`, solved`:``}: `:``}${t.title}${_()?`: in Iso's context`:y()===`on`?`: read by Iso, in hand`:y()===`aside`?`: read by Iso, set aside`:``}${b()?`, changed by Iso`:``}${x()?`, Iso points to it: ${x()}`:``}`),H(w,`title`,x()||(_()?`In Iso's context: shift+click takes it back`:y()===`on`?`Read by Iso, in hand: shift+click sets it aside`:y()===`aside`?`Read by Iso, set aside: shift+click puts it in hand again`:void 0)),H(w,`data-note`,t.item.ref),D(w,`--x:${t.item.gx??``};--y:${t.item.gy??``};--w:${t.item.w??``};--h:${t.item.h??``};--lit:${e??``}%;--behind:${a()??``}`),W(j,t.title)},[()=>Math.max(34,100-(s()-1)*20)]),u(`click`,w,function(...e){t.onpick?.apply(this,e)}),d(`pointerenter`,w,e=>{e.pointerType===`mouse`&&t.onpoint(!0)}),d(`pointerleave`,w,e=>{e.pointerType===`mouse`&&t.onpoint(!1)}),d(`focus`,w,()=>t.onpoint(!0)),d(`blur`,w,()=>t.onpoint(!1)),r(e,w),L()}j([`click`]);var nr=f(`<button class="frame-title svelte-ywp27z" type="button"> </button>`),rr=f(`<span class="frame-title held svelte-ywp27z"> </span>`),ir=f(`<div><!> <!></div>`),ar=f(`<button type="button"><span class="inner svelte-ywp27z"><span class="name svelte-ywp27z"> </span><span class="label svelte-ywp27z"> </span></span></button>`);function or(e,t){B(t,!0);let a=A(t,`titled`,3,!0),o=A(t,`held`,19,()=>({req:0,bld:0})),s=A(t,`dim`,3,!1),l=A(t,`given`,3,!1),d=A(t,`here`,3,!1),f=A(t,`moment`,3,``),h=m(()=>t.item.depth%2?`var(--ground-1)`:`var(--ground-0)`),_=m(()=>t.item.depth%2?`var(--ground-0)`:`var(--ground-1)`),y=m(()=>o().req?`req`:o().bld?`bld`:``),b=m(()=>[o().req?`${o().req} required here`:``,o().bld?`${o().bld} ${o().bld===1?`builds`:`build`} on it`:``].filter(Boolean).join(` · `)),x=m(()=>`--x:${t.item.gx};--y:${t.item.gy};--w:${t.item.w};--h:${t.item.h}`);var S=n(),C=i(S),w=e=>{var n=ir();let i;var o=v(n),s=e=>{var n=nr(),i=c(n,!0);K(()=>{H(n,`title`,l()?`In Iso's context: shift+click takes it back`:void 0),W(i,t.name)}),u(`click`,n,function(...e){t.onpick?.apply(this,e)}),r(e,n)};g(o,e=>{a()&&e(s)});var d=z(o,2),m=e=>{var t=rr(),n=c(t,!0);K(()=>W(n,p(b))),r(e,t)};g(d,e=>{p(b)&&e(m)}),V(n),K(()=>{i=R(n,1,`folder frame ${p(y)??``} ${f()?`mo-${f()}`:``}`,`svelte-ywp27z`,i,{given:l()}),H(n,`data-folder`,t.item.ref),D(n,`${p(x)??``};--inside:${p(h)??``};--behind:${p(_)??``};--ground-here:${p(h)??``}`)}),r(e,n)},T=e=>{var n=ar();let i;var a=v(n),o=v(a),m=c(o,!0),h=z(o),g=c(h,!0);V(a),V(n),K(()=>{i=R(n,1,`folder frame closed ${p(y)??``} ${f()?`mo-${f()}`:``}`,`svelte-ywp27z`,i,{dim:s(),given:l(),here:d()}),H(n,`aria-current`,d()?`page`:void 0),H(n,`data-folder`,t.item.ref),D(n,p(x)),H(n,`title`,l()?`In Iso's context: shift+click takes it back`:void 0),W(m,t.name),W(g,p(b)||`${t.count} ${t.count===1?`note`:`notes`}`)}),u(`click`,n,function(...e){t.onpick?.apply(this,e)}),r(e,n)};g(C,e=>{t.open?e(w):e(T,-1)}),r(e,S),L()}j([`click`]);var sr=M(`<path pathLength="1"></path>`),cr=M(`<path></path>`),lr=M(`<path class="sent svelte-k96fgh"></path>`),ur=M(`<!><!><!>`,1),dr=M(`<path class="grown svelte-k96fgh" pathLength="1"></path>`),fr=M(`<svg class="routes svelte-k96fgh" aria-hidden="true"><g class="svelte-k96fgh"><!><!></g></svg>`);function pr(e,t){B(t,!0);let a=A(t,`sent`,19,()=>[]),o=A(t,`grown`,19,()=>[]),s=A(t,`beat`,3,``),c=A(t,`retracting`,19,()=>[]),l=e=>`${(e.strong?e.trunk?3:1.5:e.trunk?2:1)/t.k}px`;var u=fr(),d=v(u),f=v(d),m=e=>{var t=n(),a=i(t);G(a,17,c,e=>e.key,(e,t)=>{var n=sr();let i,a;K(e=>{i=R(n,0,`along retract ${p(t).strong?`base`:`base weak`}`,`svelte-k96fgh`,i,{trunk:p(t).trunk}),H(n,`d`,p(t).d),a=D(n,``,a,{"stroke-width":e})},[()=>l(p(t))]),r(e,n)}),r(e,t)},h=e=>{var a=n(),o=i(a);G(o,17,()=>t.rest,e=>e.key,(e,t)=>{var n=sr();let i,a;K(e=>{i=R(n,0,`along draw ${p(t).strong?`base`:`base weak`}`,`svelte-k96fgh`,i,{trunk:p(t).trunk}),H(n,`d`,p(t).d),a=D(n,``,a,{"stroke-width":e})},[()=>l(p(t))]),r(e,n)}),r(e,a)},_=e=>{var n=ur(),o=i(n);G(o,17,()=>t.rest,e=>e.key,(e,t)=>{var n=cr();let i;K(()=>{i=R(n,0,F(p(t).strong?`base`:`base weak`),`svelte-k96fgh`,i,{trunk:p(t).trunk}),H(n,`d`,p(t).d)}),r(e,n)});var s=z(o);G(s,17,a,e=>e.key,(e,t)=>{var n=lr();K(()=>H(n,`d`,p(t).d)),r(e,n)});var c=z(s);G(c,17,()=>t.hot,e=>e.key,(e,t)=>{var n=cr();let i;K(()=>{i=R(n,0,`lit ${p(t).kind??``}`,`svelte-k96fgh`,i,{still:p(t).still}),H(n,`d`,p(t).d)}),r(e,n)}),r(e,n)};g(f,e=>{s()===`retract`?e(m):s()===`draw`?e(h,1):s()===``&&e(_,2)});var y=z(f);G(y,17,o,e=>e.key,(e,n)=>{var i=dr();let a;K(()=>{H(i,`d`,p(n).d),a=D(i,``,a,{"stroke-width":`${3/t.k}px`})}),r(e,i)}),V(d),V(u),K(()=>{H(u,`data-requires`,t.counts.requires),H(u,`data-builds`,t.counts.builds),H(u,`data-uses`,t.counts.uses),H(d,`transform`,`scale(${t.k??``})`)}),r(e,u),L()}var mr=f(`<p class="said svelte-14y1y1z"> </p>`),hr=f(`<p class="said faint svelte-14y1y1z">There are no notes yet. The map draws itself as you write them.</p>`),gr=f(`<span> </span>`),_r=f(`<a class="sat web svelte-14y1y1z" target="_blank" rel="noopener noreferrer"><svg viewBox="0 0 16 16" aria-hidden="true" class="svelte-14y1y1z"><circle cx="8" cy="8" r="5.5"></circle><path d="M2.5 8h11M8 2.5c-2 2.8-2 8.2 0 11M8 2.5c2 2.8 2 8.2 0 11"></path></svg></a>`),vr=f(`<span role="img"><svg viewBox="0 0 16 16" aria-hidden="true" class="svelte-14y1y1z"><path d="M5.5 4.5L2 8l3.5 3.5M10.5 4.5L14 8l-3.5 3.5M9 3l-2 10"></path></svg></span>`),yr=f(`<a class="eph svelte-14y1y1z"><span class="t svelte-14y1y1z"> </span></a>`),br=f(`Iso is reading <span class="c-gold svelte-14y1y1z"> </span>`,1),xr=f(`<svg class="loader svelte-14y1y1z" aria-hidden="true"><path d="M0 1H1000" class="svelte-14y1y1z"></path></svg> <p class="doing svelte-14y1y1z" role="status"><i class="dia svelte-14y1y1z" aria-hidden="true"></i><!></p>`,1),Sr=f(`<div><!> <!></div>`),Cr=M(`<path d="M1.5 5.5h6l2 2.5h9v12.5h-17z" class="svelte-14y1y1z"></path>`),wr=M(`<path d="M3.5 1.5h9l4.5 4.5v16.5h-13.5z M12.5 1.5v4.5h4.5" class="svelte-14y1y1z"></path><path class="ln svelte-14y1y1z" d="M6.5 11h7.5M6.5 14.5h7.5M6.5 18h5"></path>`,1),Tr=f(`<div><svg viewBox="0 0 20 24" width="20" height="24" aria-hidden="true" class="svelte-14y1y1z"><!></svg> <span class="svelte-14y1y1z"> </span></div>`),Er=f(`<button type="button"><svg viewBox="0 0 12 12" width="12" height="12" aria-hidden="true" class="svelte-14y1y1z"><path d="M2 2l8 4-8 4z" class="svelte-14y1y1z"></path></svg></button>`),Dr=f(`<p class="notice svelte-14y1y1z" role="alert"> </p>`),Or=f(`<p class="given svelte-14y1y1z" role="status"> </p>`),kr=f(`<p class="legend svelte-14y1y1z" aria-hidden="true"><span class="svelte-14y1y1z"><i class="k g svelte-14y1y1z"></i>you gave it</span><span class="svelte-14y1y1z"><i class="k h svelte-14y1y1z"></i>Iso read it</span><span class="svelte-14y1y1z"><i class="k d svelte-14y1y1z"></i>Iso changed it</span><span class="svelte-14y1y1z"><i class="k p svelte-14y1y1z"></i>Iso points to it</span><span class="svelte-14y1y1z"><i class="k n svelte-14y1y1z">1</i>read, in order</span></p>`),Ar=f(`<button type="button" role="menuitem" class="svelte-14y1y1z"><i aria-hidden="true" class="svelte-14y1y1z">◇</i>Take back from Iso</button>`),jr=f(`<button type="button" role="menuitem" class="svelte-14y1y1z"><i aria-hidden="true" class="svelte-14y1y1z">◆</i>Give to Iso</button>`),Mr=f(`<div class="offer frame svelte-14y1y1z" role="menu"><!> <button type="button" role="menuitem" class="svelte-14y1y1z"><i aria-hidden="true" class="svelte-14y1y1z">▣</i>Open</button> <button type="button" role="menuitem" class="svelte-14y1y1z"><i class="q svelte-14y1y1z" aria-hidden="true">?</i>A question about it</button> <button type="button" role="menuitem" class="svelte-14y1y1z"><i aria-hidden="true" class="svelte-14y1y1z">△</i>A problem using it</button></div>`),Nr=f(`<div aria-hidden="true"> </div>`),Pr=f(`<!> <div><div class="scaled svelte-14y1y1z"></div> <!> <!> <div class="scaled svelte-14y1y1z"><!> <!></div> <!> <!></div> <!> <!> <!> <!> <!> <!>`,1),Fr=f(`<div role="application" aria-label="The atlas: the map of the base" tabindex="0"><div class="ground dots svelte-14y1y1z" aria-hidden="true"></div> <!></div>`);function Ir(a,f){B(f,!0);let h=A(f,`pick`,3,``),_=y(null),x=y(null),S=``,C=y(``),w=y({x:0,y:0,k:1}),T=y(1),E;t(()=>{let e=p(w).k;clearTimeout(E),Math.abs(Math.log(e/p(T)))>.35?b(T,e,!0):e!==p(T)&&(E=setTimeout(()=>b(T,e,!0),150))});let O=e=>{b(w,e),b(T,e.k,!0)},k=y({w:0,h:0}),j=y(``),M=y([]),N=m(()=>p(M).at(-1)??``),P=y(void 0),F=[`fine`,`coarse`,`coarser`],I=y(s(F.find(e=>e===oe(`isorite.atlas.grain`))??`fine`)),ne=y(oe(`isorite.atlas.leaves`)===`on`),U=!1,re=window.innerWidth>=window.innerHeight?`right`:`up`;function oe(e){try{return localStorage.getItem(e)}catch{return null}}function ue(){b(I,F[(F.indexOf(p(I))+1)%F.length],!0),U=!1;try{localStorage.setItem(`isorite.atlas.grain`,p(I))}catch{}fe()}function de(e){b(ne,e,!0);try{localStorage.setItem(`isorite.atlas.leaves`,e?`on`:`off`)}catch{}}async function fe(){try{let e=await Y.api.map(),t={...e,model:St(e.model,t=>{let n=e.notes[t];return n?.kind===`question`?!X.on.questions||!!n.done:n?.kind===`problem`&&!X.on.problems})},n=`${re}|${p(I)}`,r=p(x)&&S===n?p(x).layout.orders??null:null,i=await Kn(t.model,{gridFlow:re,grain:p(I),blocks:!0,from:r});S=n;let a=!!p(x)&&p(x).key!==i.key,o=p(x)&&p(J)?{refs:new Set(p(J).items.map(e=>e.ref)),edges:new Set(p(_).model.edges.map(([e,t])=>`${e}>${t}`))}:null,s=!p(x)||p(x).key!==i.key&&!U,c=++we,l=matchMedia(`(prefers-reduced-motion: reduce)`).matches,u=!!o&&a&&!l;if(u){if(b(Ce,p(je)),b(Se,`retract`),await xe(ve),c!==we)return;b(Ce,[]),b(Se,`move`)}if(b(_,t),b(x,i),b(C,``),o&&a&&De(o),s&&p(k).w&&O(ge()),u){if(await xe(ye),c!==we)return;b(Se,`draw`),await xe(be),c===we&&b(Se,``)}}catch(e){b(C,e.message,!0)}}let pe=``;t(()=>{let e=`${X.on.questions}|${X.on.problems}`;pe&&pe!==e&&fe(),pe=e}),t(()=>{fe();let e,t=Y.on(t=>{(t.type===`note-changed`||t.type===`record`)&&(clearTimeout(e),e=setTimeout(()=>{fe()},400))});return()=>{t(),clearTimeout(e)}});let J=m(()=>p(x)?ct(p(x).layout):null),Z=m(()=>p(J)?ot(p(J)):null),he=m(()=>p(J)?lt(p(J),p(T)):``),ge=()=>{let e=(p(J)?.margin??0)/2,t={gx:e,gy:e,w:(p(J)?.W??1)-2*e,h:(p(J)?.H??1)-2*e},n=p(Lt)?.draft?p(Lt):null;if(n&&p(J)){let e=Math.max(t.gx+t.w,n.gx+Math.max(n.w,240/p(J).cell)+2),r=Math.max(t.gy+t.h,n.gy+n.h+70/p(J).cell);t.gx=Math.min(t.gx,n.gx-2),t.gy=Math.min(t.gy,n.gy-2),t.w=e-t.gx,t.h=r-t.gy}return bt(t,p(k).w,p(k).h,1,p(J)?.cell)},ve=220,ye=520,be=340,xe=e=>new Promise(t=>setTimeout(t,e)),Se=y(``),Ce=y([]),we=0,Te=y(!1),Ee=y([]);async function De(e){if(b(Te,!0),setTimeout(()=>b(Te,!1),700),await o(),!p(J)||!p(Z)||!p(_))return;let t=matchMedia(`(prefers-reduced-motion: reduce)`).matches;for(let n of p(J).items)e.refs.has(n.ref)||n.ref.startsWith(`@`)||(p(P)?.querySelector(n.kind===`folder`?`[data-folder="${CSS.escape(n.ref)}"]`:`[data-note="${CSS.escape(n.ref)}"]`))?.animate([{opacity:0},{opacity:0,offset:t?0:.45},{opacity:1}],{duration:t?200:1e3,easing:`ease-out`});let n=p(_).model.edges.filter(([t,n])=>!e.edges.has(`${t}>${n}`)&&!t.startsWith(`@`)&&!n.startsWith(`@`)&&e.refs.has(t)&&e.refs.has(n));b(Ee,n.flatMap(([e,t])=>{let n=p(Z).at.get(e),r=p(Z).at.get(t);return n===void 0||r===void 0?[]:[{key:`${e}>${t}`,d:Oe(p(J).items[ut(p(Z),p(he),n)],p(J).items[ut(p(Z),p(he),r)])}]})),p(Ee).length&&setTimeout(()=>b(Ee,[]),5600)}function Oe(e,t){let n=t.gx+t.w/2-(e.gx+e.w/2),r=t.gy+t.h/2-(e.gy+e.h/2),i=11/18*Math.abs(n)>=Math.abs(r);return vt(yt(i?[n<0?e.gx:e.gx+e.w,e.gy+e.h/2]:[e.gx+e.w/2,r<0?e.gy:e.gy+e.h],i?[n<0?t.gx+t.w:t.gx,t.gy+t.h/2]:[t.gx+t.w/2,r<0?t.gy+t.h:t.gy],i),0,p(J).cell)}t(()=>{if(!p(P))return;let e=new ResizeObserver(([e])=>{let{width:t,height:n}=e.contentRect,r=!p(k).w,i=p(k);b(k,{w:t,h:n}),r&&p(J)?O(ge()):!r&&t&&n&&b(w,{...p(w),x:p(w).x+(t-i.w)/2,y:p(w).y+(n-i.h)/2})});return e.observe(p(P)),()=>e.disconnect()});let ke=m(()=>p(J)?p(J).items.flatMap((e,t)=>e.kind===`folder`&&p(he)[t]!==`-`?[{item:e,i:t,open:p(he)[t]===`o`}]:[]):[]),Ae=m(()=>p(J)?p(J).items.flatMap((e,t)=>e.kind===`note`&&p(he)[t]===`s`?[{item:e,i:t}]:[]):[]),je=m(()=>p(J)?ht(dt(p(J),p(he),p(Z).strong,p(ne))).map(e=>({key:e.key,pts:e.pts,d:vt(e.pts,0,p(J).cell),count:e.count,strong:e.strong,trunk:e.trunk,...Me(e)})).map((e,t,n)=>({...e,label:e.label&&!n.some((n,r)=>r!==t&&n.label&&n.count===e.count&&Math.hypot(n.mid[0]-e.mid[0],n.mid[1]-e.mid[1])<10&&(n.length>e.length||n.length===e.length&&r<t))})):[]);function Me(e){let t=e.pts[0],n=t,r=0;for(let i=1,a=0;i<e.pts.length;i++){let o=e.pts[i-1],s=e.pts[i],c=e.pts[i+1];if(c&&Math.abs((s[0]-o[0])*(c[1]-s[1])-(s[1]-o[1])*(c[0]-s[0]))<1e-6&&(s[0]-o[0])*(c[0]-s[0])+(s[1]-o[1])*(c[1]-s[1])>0)continue;let l=e.pts[a],u=Math.hypot(s[0]-l[0],s[1]-l[1]);u>r&&(r=u,t=l,n=s),a=i}return{label:e.trunk&&e.count>1&&r>=3,mid:[(t[0]+n[0])/2,(t[1]+n[1])/2],side:Math.abs(t[0]-n[0])<1e-6?`right`:`above`,length:r}}let Ne=m(()=>h()?``:p(N)||p(j)),Q=m(()=>p(Ne)&&p(_)&&p(Z)?.at.has(p(Ne))?ce(p(_).model,p(Ne)):null),Pe=m(()=>{let e=new Map;if(!p(Q))return e;for(let t of p(Q).also)e.set(t,{mark:`also`,far:0});for(let t of p(Q).uses)e.set(t,{mark:`use`,far:0});for(let t of p(Q).builds)e.set(t,{mark:`bld`,far:0});for(let t of p(Q).requires)e.set(t,{mark:`req`,far:p(Q).depth[t]??1});for(let t of p(M))e.set(t,{mark:`req`,far:1});return e.set(p(Ne),{mark:`at`,far:0}),e}),Fe=m(()=>{if(!p(Q))return[];let e=p(M).slice(1).map((e,t)=>({from:p(M)[t],to:e,kind:`requires`})),t=p(M).at(-2);return[...e,...p(Q).links.filter(e=>e.kind===`requires`?e.from===p(Ne):e.kind!==`builds`||e.from!==t)]}),Ie=m(()=>{let e=new Map;if(!p(Q)||!p(Z))return e;let t=new Set(p(Z).up[p(Z).at.get(p(Ne))]),n=(n,r)=>{for(let i of n)for(let n of p(Z).up[p(Z).at.get(i)??-1]??[]){if(t.has(n))break;let i=e.get(n)??{req:0,bld:0};i[r]++,e.set(n,i)}};return n(p(Q).requires,`req`),n(p(Q).builds,`bld`),e}),Le=(e,t)=>{let n=p(Ie).get(e),r=p(J).items[e].parent;return n&&(!t||r<0||!p(Ie).has(r))?n:{req:0,bld:0}},Re=y([]),ze=y({requires:0,builds:0,uses:0});function Be(e,t){if(!e.length||!p(J)||!p(Z)||!p(x)){t([],[]);return}let n=e.flatMap(e=>{let t=p(Z).at.get(e.from),n=p(Z).at.get(e.to);return t===void 0||n===void 0?[]:[{a:t,b:n,kind:e.kind}]}),{fixed:r,asks:i}=gt(p(J),p(Z),p(he),n),a=e=>t(ht(e,!0).map(e=>({key:e.key,kind:e.kind,d:vt(e.pts,0,p(J).cell),count:e.count,still:!e.flow})),e);if(a(r),!i.length)return;let o=!1;return qn(p(x).key,p(J),i.map(({a:e,b:t})=>({a:e,b:t}))).then(e=>{o||a([...r,...i.flatMap((t,n)=>e[n]?[{key:t.key,kind:t.kind,pts:[...e[n]].reverse()}]:[])])}).catch(()=>void 0),()=>{o=!0}}t(()=>Be(p(Fe),(e,t)=>{b(Re,e),b(ze,{requires:t.filter(e=>e.kind===`requires`).length,builds:t.filter(e=>e.kind===`builds`).length,uses:t.filter(e=>e.kind===`uses`).length})}));let Ve=m(()=>_e.route.id===`/n/[...id]`?_e.params.id??``:``);function He(e,t=!1){if(!p(J)||!p(Z)||!e)return-1;let n=t?p(J).items.findIndex(t=>t.kind===`folder`&&t.ref.replace(/\/$/,``)===e):p(Z).at.get(e)??-1;return n<0?-1:ut(p(Z),p(he),n)}let Ue=m(()=>He(p(Ve))),Je=m(()=>le.elsewhere),Ye=m(()=>p(Je)?He(p(Je).id,p(Je).folder):-1),Xe=m(()=>{if(!p(Je)||p(Je).folder||!p(Ve)||p(Je).id===p(Ve)||!p(_))return[];let e=p(_).model.edges.find(([e,t])=>e===p(Ve)&&t===p(Je).id||e===p(Je).id&&t===p(Ve));return e?[{from:e[0],to:e[1],kind:e[2]>=se.requires?`requires`:`uses`}]:[]}),et=y([]);t(()=>Be(p(Xe),e=>{b(et,e.map(e=>({...e,key:`there:${e.key}`})))}));let tt=``;t(()=>{let e=p(Ve);l(()=>{if(e&&e!==tt&&p(N)&&p(N)===tt&&p(Z)?.at.has(e)){let t=[];if(p(Q)&&p(Q).depth[e])for(let n=e;n&&n!==p(N);n=p(Q).via[n])t.unshift(n);b(M,p(M).includes(e)?p(M).slice(0,p(M).indexOf(e)+1):t.length?[...p(M),...t]:[e])}tt=e})});function nt(e){if(!p(J)||e<0||!p(k).w)return null;let t=p(J).items[e],n=p(J).cell*p(w).k,r=p(w).x+t.gx*n,i=p(w).y+t.gy*n,a=r+t.w*n,o=i+t.h*n;if(a>0&&r<p(k).w&&o>0&&i<p(k).h)return null;let s=p(k).w/2,c=p(k).h/2,l=(r+a)/2-s,u=(i+o)/2-c,d=Math.min((s-14)/Math.max(Math.abs(l),1e-6),(c-14)/Math.max(Math.abs(u),1e-6));return{x:s+l*d,y:c+u*d,angle:Math.atan2(u,l)}}let st=m(()=>h()?null:nt(p(Ue))),ft=m(()=>h()||p(Ye)===p(Ue)?null:nt(p(Ye)));function pt(e){if(!p(J))return;let t=p(J).items[e],n=p(J).cell*p(w).k;U=!0,mn({k:p(w).k,x:p(k).w/2-(t.gx+t.w/2)*n,y:p(k).h/2-(t.gy+t.h/2)*n})}let mt=m(()=>h()?null:Y.iso),_t=m(()=>p(mt)?.state===`reading`||p(mt)?.state===`writing`),Ct=m(()=>{let e=new Map;for(let t of p(mt)?.steps??[])t.opened&&!t.failed&&!e.has(t.opened)&&e.set(t.opened,t.how);return e}),Tt=m(()=>X.on.context||!!h()),Et=m(()=>new Set(q.parts.filter(e=>e.kind===`note`).map(e=>e.id))),Dt=m(()=>new Set(q.parts.filter(e=>e.kind===`folder`).map(e=>e.id))),Ot=m(()=>new Map(($.report?.rows??[]).filter(e=>e.kind===`read`).map(e=>[e.key.slice(2),e]))),kt=m(()=>$.turns.at(-1)),At=m(()=>new Set($.turns.filter(e=>!e.items.some(e=>e.kind===`undone`)).flatMap(e=>e.items.flatMap(e=>e.kind===`change`&&e.why!==`delete`?[e.why===`move`?e.to:e.note]:[])))),jt=m(()=>new Map((p(kt)?.items??[]).flatMap(e=>e.kind===`point`?[[e.note,e.why]]:[]))),Mt=m(()=>{let e=new Map;for(let t of p(kt)?.items??[])t.kind===`look`&&t.step.opened&&!t.step.failed&&!e.has(t.step.opened)&&e.set(t.step.opened,e.size+1);return e}),Nt=m(()=>p(_t)?p(mt).steps.findLast(e=>e.opened&&!e.failed)?.opened??``:``),Pt=m(()=>(p(mt)?.steps??[]).flatMap(e=>e.how===`link`&&e.from&&e.opened&&!e.failed?[{from:e.from,to:e.opened,kind:`iso`}]:[])),Ft=y([]);t(()=>Be(p(Pt),e=>{b(Ft,e.map(e=>({...e,key:`iso:${e.key}`})))}));let It=y(null);t(()=>{let e=p(mt)?.note??``;if(b(It,null),!e.startsWith(`@draft/`))return;let t=!1;return Y.api.readNote(e).then(e=>{t||b(It,e)},()=>void 0),()=>{t=!0}});let Lt=m(()=>{if(!p(mt)||!p(J)||!p(Z))return null;if(!p(mt).note.startsWith(`@draft/`)){let e=p(Z).at.get(p(mt).note);if(e===void 0)return null;let t=p(J).items[ut(p(Z),p(he),e)];return{gx:t.gx,gy:t.gy,w:t.w,h:t.h,draft:!1,title:dn(p(mt).note)}}let e=Math.round(126/p(J).cell),t=Math.round(77/p(J).cell),n=p(It)?qe(p(It).text)||`a new note`:``,r=Ze(p(mt).note),i=r?{gx:Math.round(r.gx*7/p(J).cell),gy:Math.round(r.gy*7/p(J).cell)}:null;if(i&&!p(J).items.some(n=>n.kind===`note`&&i.gx<n.gx+n.w+1&&n.gx<i.gx+e+1&&i.gy<n.gy+n.h+1&&n.gy<i.gy+t+1))return{...i,w:e,h:t,draft:!0,title:n};let a=p(J).items.filter(e=>e.parent<0),o=Math.max(...a.map(e=>e.gx+e.w)),s=Math.max(...a.map(e=>e.gy+e.h)),c=Math.round(84/p(J).cell);return re===`right`?{gx:o+c,gy:Math.round((p(J).H-t)/2),w:e,h:t,draft:!0,title:n}:{gx:Math.round((p(J).W-e)/2),gy:s+c,w:e,h:t,draft:!0,title:n}}),Rt=m(()=>p(It)?We(p(It).text).filter(e=>p(_)?.notes[e]):[]),zt=m(()=>!p(Lt)?.draft||!p(J)||!p(Z)?[]:p(Rt).flatMap(e=>{let t=p(Z).at.get(e);return t===void 0?[]:[{key:e,d:Oe(p(Lt),p(J).items[ut(p(Z),p(he),t)])}]})),Bt=e=>{if(!p(Tt))return``;if(e===p(Nt))return`used`;let t=p(Ct).get(e);return t===`keyword`?`key`:t===`meaning`?`sem`:t?`link`:``};t(()=>{let e=p(mt);e&&e.request===Y.watching&&e.state!==`reading`&&e.state!==`writing`&&(Y.watching=``,e.state===`done`&&ae(ie(`/draft/[id]`,{id:e.note.slice(7)})))});let Vt=``;t(()=>{p(Lt)?.draft&&p(mt)&&Vt!==p(mt).request&&p(k).w&&(Vt=p(mt).request,U||b(w,ge()))});let Ht=y(null),Ut=y(``);t(()=>{if(b(Ht,null),b(Ut,``),!h())return;let e=!1;return Y.api.readNote(h()).then(t=>{e||b(Ht,t)},()=>{e||b(Ut,`that note for Iso is not here any more`)}),()=>{e=!0}});let Wt=m(()=>p(Ht)?We(p(Ht).text).filter(e=>p(_)?.notes[e]&&!e.startsWith(`@`)):[]),Gt=Promise.resolve();function Kt(e){Gt=Gt.then(async()=>{if(!p(Ht)||e.startsWith(`@`))return;let t=t=>We(t).includes(e)?Ke(t,e):Ge(t,e,dn(e)),n=t(p(Ht).text);if(n===null)b(Ut,`linked in what you wrote: take it out there`);else{b(Ut,``);try{b(Ht,await Y.api.saveNote(h(),{base:p(Ht).version,text:n}))}catch{try{let e=await Y.api.readNote(h()),n=t(e.text);b(Ht,n===null?e:await Y.api.saveNote(h(),{base:e.version,text:n}))}catch(e){b(Ut,`not linked: ${e.message}`)}}}})}let qt=y(null),Jt=null,Yt=!1,Xt,Zt;function Qt(){clearTimeout(Xt),clearTimeout(Zt),Xt=Zt=void 0,Jt=null,Yt||b(qt,null)}function $t(e,t){let n=null;for(let r of p(J).items)r.kind===`folder`&&!r.ref.startsWith(`@`)&&e>=r.gx&&e<r.gx+r.w&&t>=r.gy&&t<r.gy+r.h&&(!n||r.depth>n.depth)&&(n={ref:r.ref,depth:r.depth});return n?.ref??``}function en(e,t){if(Qt(),p(nn)&&!(e.target instanceof Element&&e.target.closest(`.offer`))&&b(nn,null),h()||Yt||!p(J)||!p(Z)||!(e.target instanceof Element)||e.target.closest(`button, .dock`))return;let n=e.target.closest(`[data-note]`)?.dataset.note??``;if(n.startsWith(`@`))return;if(n){let r=e.pointerType!==`mouse`;Zt=setTimeout(()=>{Zt=void 0,hn=!0,r?b(nn,{ref:n,x:t.x,y:t.y}):on(n)},650);return}let r=p(J).cell*p(w).k,i=Math.round((t.x-p(w).x)/r),a=Math.round((t.y-p(w).y)/r),o={dir:$t(i,a),gx:i,gy:a,w:0,h:0,folder:!1};Xt=setTimeout(()=>{b(qt,o)},180),Zt=setTimeout(()=>{Zt=void 0,hn=!0,Jt=t,b(qt,o),p(P)?.setPointerCapture(e.pointerId)},650)}function tn(e){Jt&&p(qt)&&!p(qt).folder&&Math.hypot(e.x-Jt.x,e.y-Jt.y)>=24&&b(qt,{...p(qt),folder:!0})}let nn=y(null),rn=y(``),an;function on(e,t=`note`){let n=q.add({kind:t,id:e,title:t===`note`?dn(e):fn(e)});b(rn,n?`${t===`note`?dn(e):fn(e)} is in Iso's context`:`${t===`note`?dn(e):fn(e)} is in Iso's context already`,!0),clearTimeout(an),an=setTimeout(()=>b(rn,``),2200)}function sn(e,t=`note`){let n=t===`note`&&!q.has(`note`,e)?p(Ot).get(e):void 0;if(n){$.toggle(n),b(rn,`${dn(e)} is ${n.on?`set aside`:`in Iso's hand again`}`),clearTimeout(an),an=setTimeout(()=>b(rn,``),2200);return}if(!q.has(t,e)){on(e,t);return}let r=t===`note`?dn(e):fn(e);q.remove({kind:t,id:e,title:r}),b(rn,`${r} is out of Iso's context`),clearTimeout(an),an=setTimeout(()=>b(rn,``),2200)}function cn(){Jt&&p(qt)&&(Jt=null,ln(p(qt)))}async function ln(e){Yt=!0;let t=Y.listing.notes.map(e=>e.id),n=e.dir;if(e.folder){let r=Qe(e.dir,`untitled-folder`,e=>!t.some(t=>t.startsWith(`${e}/`)));n=[e.dir,r.slug].filter(Boolean).join(`/`)}let r=Qe(n,`untitled-note`,e=>!t.includes(e)),i=[n,r.slug].filter(Boolean).join(`/`),a=r.n===1?`Untitled note`:`Untitled note ${r.n}`;try{await Y.api.createNote(i,`---\ntype: Concept\ntitle: ${JSON.stringify(a)}\n---\n\n`),await Y.refresh(),X.fresh=i,await X.open(i)}catch(e){b(Ut,e.message,!0)}finally{Yt=!1,b(qt,null)}}async function un(e,t){try{await $e(e,t)}catch(e){b(Ut,e.message,!0)}}let dn=e=>p(_)?.notes[e]?.title??e.split(`/`).at(-1)??e,fn=e=>e.split(`/`).at(-1)||Y.session?.name||`the base`,pn=0;function mn(e){if(cancelAnimationFrame(pn),jn(),matchMedia(`(prefers-reduced-motion: reduce)`).matches){b(w,e);return}let t=p(w),n=performance.now(),r=i=>{let a=Math.min(1,(i-n)/320),o=1-(1-a)**3,s=t.k*(e.k/t.k)**o,c=p(k).w/2,l=p(k).h/2,u=(c-t.x)/t.k*(1-o)+(c-e.x)/e.k*o,d=(l-t.y)/t.k*(1-o)+(l-e.y)/e.k*o;b(w,a===1?e:{k:s,x:c-u*s,y:l-d*s}),a<1&&(pn=requestAnimationFrame(r))};pn=requestAnimationFrame(r)}let hn=!1,gn=new Map,_n=null;function vn(){let e=[...gn.values()];if(!e.length){_n=null;return}let t=e.reduce((e,t)=>e+t.x,0)/e.length,n=e.reduce((e,t)=>e+t.y,0)/e.length;_n={view:p(w),x:t,y:n,span:e.length>1?Math.hypot(e[0].x-e[1].x,e[0].y-e[1].y):0}}let yn=e=>{let t=p(P).getBoundingClientRect();return{x:e.clientX-t.left,y:e.clientY-t.top}},bn=null,xn=y(s({x:0,y:0}));function Sn(e){if(h()||!(e.target instanceof Element))return null;let t=e.target.closest(`[data-note]`)?.dataset.note;if(t)return t.startsWith(`@`)?null:{kind:`note`,id:t,title:dn(t)};let n=(e.target.closest(`.frame-title`)?.closest(`[data-folder]`)??e.target.closest(`button[data-folder]`))?.dataset.folder;return n&&!n.startsWith(`@`)?{kind:`folder`,id:n,title:fn(n)}:null}function Cn(e){if(!bn||e.pointerType!==`mouse`)return;b(xn,{x:e.clientX,y:e.clientY},!0);let t=document.elementFromPoint(e.clientX,e.clientY)?.closest(`[data-pane="iso"]`)!=null;q.carrying={part:bn,over:t}}function wn(e){(e.pointerType!==`mouse`||e.button===0)&&(cancelAnimationFrame(pn),jn(),gn.size||(hn=!1,bn=Sn(e)),gn.set(e.pointerId,yn(e)),vn(),gn.size===1?en(e,yn(e)):Qt())}function Tn(e){if(!gn.has(e.pointerId)||!_n)return;if(gn.set(e.pointerId,yn(e)),Jt){tn(yn(e));return}let t=[...gn.values()],n=t.reduce((e,t)=>e+t.x,0)/t.length,r=t.reduce((e,t)=>e+t.y,0)/t.length;if(!hn&&t.length===1&&Math.hypot(n-_n.x,r-_n.y)<5)return;if(hn||(hn=!0,Qt(),p(P).setPointerCapture(e.pointerId)),t.length===1&&bn){Cn(e);return}U=!0;let i=t.length>1?Math.hypot(t[0].x-t[1].x,t[0].y-t[1].y):0,a=_n.span&&i?xt(_n.view,i/_n.span,_n.x,_n.y):_n.view;b(w,{k:a.k,x:a.x+n-_n.x,y:a.y+r-_n.y})}function En(e){if(gn.delete(e.pointerId)){if(q.carrying){let{part:e,over:t}=q.carrying;q.carrying=null,t&&(e.kind===`note`||e.kind===`folder`)&&on(e.id,e.kind)}bn=null,Jt?cn():Zt!==void 0&&Qt(),vn()}}let Dn=null,On=0;function kn(e){e.preventDefault(),cancelAnimationFrame(pn),U=!0;let t=yn(e),n=e.deltaMode===1?16:1,r=Math.exp(-e.deltaY*n*(e.ctrlKey?.01:.0015)),i=Math.min(3,Math.max(at,(Dn?.k??p(w).k)*r));matchMedia(`(prefers-reduced-motion: reduce)`).matches?b(w,xt(p(w),i/p(w).k,t.x,t.y)):(Dn={k:i,x:t.x,y:t.y},On||=requestAnimationFrame(An))}function An(){if(On=0,!Dn)return;let e=Dn.k/p(w).k;Math.abs(Math.log(e))<.004?(b(w,xt(p(w),e,Dn.x,Dn.y)),Dn=null):(b(w,xt(p(w),e**.3,Dn.x,Dn.y)),On=requestAnimationFrame(An))}function jn(){cancelAnimationFrame(On),On=0,Dn=null}t(()=>{if(!p(P))return;let e=p(P);return e.addEventListener(`wheel`,kn,{passive:!1}),()=>e.removeEventListener(`wheel`,kn)});function Mn(e,t){if(e.metaKey||e.ctrlKey||(e.preventDefault(),e.stopPropagation(),hn))return;if(h()){Kt(t);return}if(e.shiftKey){t.startsWith(`@`)||sn(t);return}if(p(N)===t){X.open(t);return}let n=[];if(p(Q)&&p(Ne)===p(N)&&p(Q).depth[t])for(let e=t;e&&e!==p(N);e=p(Q).via[e])n.unshift(e);b(M,p(M).includes(t)?p(M).slice(0,p(M).indexOf(t)+1):n.length?[...p(M),...n]:[t])}function Nn(e,t){if(hn||!p(J))return;let n=p(J).items[e].ref;if(t?.shiftKey){n.startsWith(`@`)||sn(n,`folder`);return}U=!0;let r=bt(p(J).items[e],p(k).w,p(k).h,1.5,p(J).cell),i=Math.abs(r.k-p(w).k)<.01*r.k&&Math.hypot(r.x-p(w).x,r.y-p(w).y)<4,a=p(J).items[e].parent;mn(i?a<0?ge():bt(p(J).items[a],p(k).w,p(k).h,1.5,p(J).cell):r)}function Pn(e){if(hn||!(e.target instanceof Element)||e.target.closest(`.dock, .key`))return;let t=e.target.closest(`[data-folder]`);e.target.closest(`a, button`)||(p(N)?b(M,[]):p(mt)&&!p(_t)?Y.iso=null:t&&p(J)?Nn(p(J).items.findIndex(e=>e.kind===`folder`&&e.ref===t.dataset.folder),e):mn(ge()))}function Fn(e){if(e.key===`Escape`){b(M,[]),b(j,``);return}if(e.key===`c`&&!e.metaKey&&!e.ctrlKey&&!e.altKey){ue();return}if(e.key===`l`&&!e.metaKey&&!e.ctrlKey&&!e.altKey){de(!p(ne));return}if(e.target!==p(P))return;let t={x:p(k).w/2,y:p(k).h/2};if(e.key===`+`||e.key===`=`)b(w,xt(p(w),1.25,t.x,t.y));else if(e.key===`-`)b(w,xt(p(w),.8,t.x,t.y));else if(e.key===`0`)mn(ge());else if(e.key===`ArrowLeft`)b(w,{...p(w),x:p(w).x+80});else if(e.key===`ArrowRight`)b(w,{...p(w),x:p(w).x-80});else if(e.key===`ArrowUp`)b(w,{...p(w),y:p(w).y+80});else if(e.key===`ArrowDown`)b(w,{...p(w),y:p(w).y-80});else return;e.preventDefault(),U=!0}let In=m(()=>{if(!p(J)||!p(k).w||p(w).k<=ge().k*1.05)return-1;let e=p(J).cell*p(w).k,t=(p(k).w/2-p(w).x)/e,n=(p(k).h/2-p(w).y)/e,r=-1;return p(J).items.forEach((i,a)=>{i.kind!==`folder`||p(he)[a]!==`o`||t<i.gx||t>i.gx+i.w||n<i.gy||n>i.gy+i.h||(i.w*e>=.6*p(k).w||i.h*e>=.6*p(k).h)&&(r<0||p(J).items[r].depth<i.depth)&&(r=a)}),r});function Ln(){if(!p(J))return;U=!0;let e=p(In)<0?-1:p(J).items[p(In)].parent;mn(e<0?ge():bt(p(J).items[e],p(k).w,p(k).h,1.5,p(J).cell))}let Rn=m(()=>12*p(T)>=it),zn=m(()=>p(J)&&p(_)?wt(p(Ae).map(e=>e.item),p(_).notes,{web:X.on.web,code:X.on.code}):[]),Bn=e=>e>=0&&p(J).items[e].depth%2?`var(--ground-1)`:`var(--ground-0)`;t(()=>(Y.atlas={chosen:p(N)?dn(p(N)):``,chosenId:p(N),steps:p(M).length-1,pick:!!h(),here:p(In)<0?``:fn(p(J).items[p(In)].ref),out:Ln,fit:()=>{U=!1,mn(ge())}},()=>{Y.atlas=null}));var Vn=Fr();let Hn;var Un=v(Vn),Wn=z(Un,2),Gn=e=>{var t=mr(),n=c(t);K(()=>W(n,`The map could not be drawn: ${p(C)??``}`)),r(e,t)},Jn=t=>{var a=Pr(),o=i(a),s=e=>{var t=hr();r(e,t)};g(o,e=>{p(J).items.length||e(s)});var l=z(o,2);let d;var f=v(l);G(f,21,()=>p(ke),e=>e.item.id,(e,t)=>{{let n=m(()=>fn(p(t).item.ref)),r=m(()=>p(t).item.parent<0||(p(t).item.gy-p(J).items[p(t).item.parent].gy)*p(J).cell*p(T)>=18),i=m(()=>Le(p(t).i,p(t).open)),a=m(()=>!!p(Q)&&!p(t).open&&!p(Ie).has(p(t).i)),o=m(()=>p(Tt)&&p(Dt).has(p(t).item.ref)),s=m(()=>!p(t).open&&p(Ue)===p(t).i),c=m(()=>p(Ye)===p(t).i?p(Je).who:``);or(e,{get item(){return p(t).item},get name(){return p(n)},get count(){return p(Z).noteCount[p(t).i]},get open(){return p(t).open},get titled(){return p(r)},get held(){return p(i)},get dim(){return p(a)},get given(){return p(o)},get here(){return p(s)},get moment(){return p(c)},onpick:e=>Nn(p(t).i,e)})}}),V(f);var y=z(f,2);{let e=m(()=>[...p(Tt)?p(Ft):[],...p(Re),...p(et)]);pr(y,{get k(){return p(T)},get rest(){return p(je)},get hot(){return p(e)},get counts(){return p(ze)},get sent(){return p(zt)},get grown(){return p(Ee)},get beat(){return p(Se)},get retracting(){return p(Ce)}})}var x=z(y,2),S=e=>{var t=n(),a=i(t);G(a,17,()=>p(je),e=>e.key,(e,t)=>{var a=n(),o=i(a),s=e=>{var n=gr(),i=c(n,!0);K(()=>{R(n,1,`count ${p(t).side??``}`,`svelte-14y1y1z`),D(n,`--x:${p(t).mid[0]??``};--y:${p(t).mid[1]??``}`),W(i,p(t).count)}),r(e,n)};g(o,e=>{p(t).label&&e(s)}),r(e,a)}),r(e,t)};g(x,e=>{p(Rn)&&!p(Se)&&e(S)});var C=z(x,2),E=v(C);G(E,17,()=>p(Ae),e=>e.item.id,(e,t)=>{let n=m(()=>p(Pe).get(p(t).item.ref)),r=m(()=>p(n)?.mark??``);{let i=m(()=>dn(p(t).item.ref)),a=m(()=>p(_).notes[p(t).item.ref]?.kind??``),o=m(()=>!!p(_).notes[p(t).item.ref]?.done),s=m(()=>Bn(p(t).item.parent)),c=m(()=>p(n)?.far??0),l=m(()=>p(Wt).indexOf(p(t).item.ref)+1),u=m(()=>Bt(p(t).item.ref)),d=m(()=>p(Rt).includes(p(t).item.ref)),f=m(()=>p(Tt)&&p(Et).has(p(t).item.ref)),h=m(()=>p(Tt)&&!p(Et).has(p(t).item.ref)?p(Ot).get(p(t).item.ref)?.on?`on`:p(Ot).has(p(t).item.ref)?`aside`:``:``),g=m(()=>p(Tt)&&p(At).has(p(t).item.ref)),v=m(()=>p(Tt)?p(jt).get(p(t).item.ref)??``:``),y=m(()=>p(Tt)?p(Mt).get(p(t).item.ref)??0:0),x=m(()=>p(Ye)===p(t).i?p(Je).who:``),S=m(()=>p(Ue)===p(t).i),C=m(()=>!!p(Q)&&!p(r)),w=m(()=>me(p(t).item.ref));tr(e,{get item(){return p(t).item},get title(){return p(i)},get kind(){return p(a)},get done(){return p(o)},get behind(){return p(s)},get mark(){return p(r)},get far(){return p(c)},get num(){return p(l)},get iso(){return p(u)},get linked(){return p(d)},get given(){return p(f)},get held(){return p(h)},get changed(){return p(g)},get pointed(){return p(v)},get order(){return p(y)},get moment(){return p(x)},get here(){return p(S)},get dim(){return p(C)},get href(){return p(w)},onpick:e=>Mn(e,p(t).item.ref),onpoint:e=>{b(j,e?p(t).item.ref:p(j)===p(t).item.ref?``:p(j),!0),le.onAtlas=p(j)}})}});var O=z(E,2);G(O,17,()=>p(zn),e=>e.key,(e,t)=>{var a=n(),o=i(a),s=e=>{var n=_r();K(()=>{H(n,`href`,p(t).href),H(n,`title`,`${p(t).text} · ${p(t).href}`),H(n,`aria-label`,p(t).text),H(n,`data-sat`,p(t).key),D(n,`--x:${p(t).gx??``};--y:${p(t).gy??``}`)}),u(`click`,n,e=>{hn&&e.preventDefault(),e.stopPropagation()}),r(e,n)},c=e=>{var n=vr();let i;K(e=>{i=R(n,1,`sat code svelte-14y1y1z`,null,i,{broken:p(t).broken}),H(n,`title`,e),H(n,`aria-label`,`${p(t).text}${p(t).broken?`, not in the repository`:``}`),H(n,`data-sat`,p(t).key),D(n,`--x:${p(t).gx??``};--y:${p(t).gy??``}`)},[()=>`${p(t).text} · ${p(t).href.slice(5)}${p(t).broken?` · not in the repository`:``}`]),r(e,n)};g(o,e=>{p(t).kind===`web`?e(s):e(c,-1)}),r(e,a)}),V(C);var A=z(C,2),M=t=>{var n=Sr();let a;var o=v(n),s=e=>{var t=yr(),n=v(t),i=c(n,!0);V(t),K(e=>{H(t,`href`,e),H(t,`aria-label`,`${p(Lt).title??``}: your note for Iso`),W(i,p(Lt).title)},[()=>ie(`/draft/[id]`,{id:p(mt).note.slice(7)})]),r(e,t)};g(o,e=>{p(Lt).draft&&e(s)});var l=z(o,2),u=t=>{var n=xr(),a=z(i(n),2),o=z(v(a)),s=t=>{var n=e(`Iso is writing`);r(t,n)},l=e=>{var t=br(),n=z(i(t)),a=c(n,!0);K(e=>W(a,e),[()=>dn(p(Nt))]),r(e,t)},u=t=>{var n=e(`Iso is thinking`);r(t,n)};g(o,e=>{p(mt).state===`writing`?e(s):p(Nt)?e(l,1):e(u,-1)}),V(a),r(t,n)};g(l,e=>{p(_t)&&e(u)}),V(n),K(()=>{a=R(n,1,`asker svelte-14y1y1z`,null,a,{draft:p(Lt).draft}),D(n,`--x:${p(Lt).gx??``};--y:${p(Lt).gy??``};--w:${p(Lt).w??``};--h:${p(Lt).h??``}`)}),r(t,n)};g(A,e=>{p(Lt)&&e(M)});var N=z(A,2),P=e=>{var t=Tr();let n;var i=v(t),a=v(i),o=e=>{var t=Cr();r(e,t)},s=e=>{var t=wr();ee(),r(e,t)};g(a,e=>{p(qt).folder?e(o):e(s,-1)}),V(i);var l=z(i,2),u=c(l);V(t),K(()=>{n=R(t,1,`grasp svelte-14y1y1z`,null,n,{folder:p(qt).folder}),D(t,`--x:${p(qt).gx??``};--y:${p(qt).gy??``}`),W(u,`${p(qt).folder?`a new folder`:`a new note`}${p(qt).dir?` in ${p(qt).dir}`:``}`)}),r(e,t)};g(N,e=>{p(qt)&&e(P)}),V(l);var F=z(l,2);G(F,17,()=>[{p:p(st),i:p(Ue),who:`here`},{p:p(ft),i:p(Ye),who:p(Je)?.who??`you`}],e=>e.who===`here`?`here`:`there`,(e,t)=>{var a=n(),o=i(a),s=e=>{var n=Er();K((e,r)=>{R(n,1,`pip ${p(t).who??``}`,`svelte-14y1y1z`),D(n,`left:${p(t).p.x??``}px;top:${p(t).p.y??``}px;--a:${p(t).p.angle??``}rad`),H(n,`data-pip`,p(t).who===`here`?`here`:`there`),H(n,`aria-label`,`Bring ${e??``} into view`),H(n,`title`,`${r??``}${p(t).who===`here`?`: open in the Note pane`:``}`)},[()=>dn(p(J).items[p(t).i].ref),()=>dn(p(J).items[p(t).i].ref)]),u(`click`,n,e=>{e.stopPropagation(),pt(p(t).i)}),r(e,n)};g(o,e=>{p(t).p&&e(s)}),r(e,a)});var I=z(F,2),L=e=>{{let t=m(()=>p(Ht)?qe(p(Ht).text):``),n=m(()=>p(Wt).map(e=>({id:e,title:dn(e),tokens:p(_).notes[e]?.tokens??0}))),r=m(()=>ie(`/draft/[id]`,{id:h().slice(7)}));rt(e,{get title(){return p(t)},get picked(){return p(n)},budget:8e3,get notice(){return p(Ut)},get href(){return p(r)}})}},B=e=>{var t=Dr(),n=c(t,!0);K(()=>W(n,p(Ut))),r(e,t)};g(I,e=>{h()?e(L):p(Ut)&&e(B,1)});var te=z(I,2),ne=e=>{var t=Or(),n=c(t);K(()=>W(n,`◆ ${p(rn)??``}`)),r(e,t)};g(te,e=>{p(rn)&&e(ne)});var U=z(te,2),re=e=>{var t=kr();r(e,t)};g(U,e=>{X.on.context&&!h()&&!p(rn)&&X.settings===`atlas`&&e(re)});var ae=z(U,2),oe=e=>{let t=m(()=>p(nn));var n=Mr(),i=v(n),a=e=>{var n=Ar();u(`click`,n,e=>{e.stopPropagation(),sn(p(t).ref),b(nn,null)}),r(e,n)},o=m(()=>q.has(`note`,p(t).ref)),s=e=>{var n=jr();u(`click`,n,e=>{e.stopPropagation(),on(p(t).ref),b(nn,null)}),r(e,n)};g(i,e=>{p(o)?e(a):e(s,-1)});var c=z(i,2),l=z(c,2),d=z(l,2);V(n),K((e,r)=>{H(n,`aria-label`,e),D(n,`left:${r??``}px;top:${p(t).y+14}px`)},[()=>dn(p(t).ref),()=>Math.min(p(t).x,p(k).w-170)]),u(`click`,c,e=>{e.stopPropagation(),b(nn,null),X.open(p(t).ref,!0)}),u(`click`,l,e=>{e.stopPropagation(),b(nn,null),un(`question`,p(t).ref)}),u(`click`,d,e=>{e.stopPropagation(),b(nn,null),un(`problem`,p(t).ref)}),r(e,n)};g(ae,e=>{p(nn)&&e(oe)});var se=z(ae,2),ce=e=>{var t=Nr();let n;var i=c(t);K(()=>{n=R(t,1,`carried svelte-14y1y1z`,null,n,{over:q.carrying.over}),D(t,`left:${p(xn).x??``}px;top:${p(xn).y??``}px`),W(i,`${q.carrying.part.kind===`folder`?`▭`:`▣`} ${q.carrying.part.title??``}`)}),r(e,t)};g(se,e=>{q.carrying&&e(ce)}),K(()=>{d=R(l,1,`atlas-world svelte-14y1y1z`,null,d,{labels:p(Rn),shifting:p(Te)}),H(l,`data-open`,p(he)),D(l,`transform: translate(${p(w).x??``}px, ${p(w).y??``}px) scale(${p(w).k/p(T)}); --u: ${(p(J)?.cell??7)*p(T)}px; --k: ${p(T)??``}`),D(f,`transform: scale(${p(T)??``}); --u: ${p(J).cell??``}px; --px: ${1/p(T)}px; --ik: ${1/p(T)}`),D(C,`transform: scale(${p(T)??``}); --u: ${p(J).cell??``}px; --px: ${1/p(T)}px; --ik: ${1/p(T)}`)}),r(t,a)};g(Wn,e=>{p(C)?e(Gn):p(J)&&p(_)&&e(Jn,1)}),V(Vn),te(Vn,e=>b(P,e),()=>p(P)),K(()=>{Hn=R(Vn,1,`atlas svelte-14y1y1z`,null,Hn,{lit:!!p(Q)}),D(Un,`transform: translate(${(p(w).x%24+24)%24}px, ${(p(w).y%24+24)%24}px)`)}),u(`pointerdown`,Vn,wn),u(`pointermove`,Vn,Tn),u(`pointerup`,Vn,En),d(`pointercancel`,Vn,En),u(`click`,Vn,Pn),u(`keydown`,Vn,Fn),d(`dragstart`,Vn,e=>e.preventDefault()),u(`contextmenu`,Vn,e=>{(p(qt)||Xt!==void 0||Zt!==void 0||p(nn))&&e.preventDefault()}),r(a,Vn),L()}j([`pointerdown`,`pointermove`,`pointerup`,`click`,`keydown`,`contextmenu`]);var Lr=f(`<div class="side svelte-nwxyyl"><button class="icon svelte-nwxyyl" type="button" aria-label="this session's timeline" title="this session's timeline"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true"><path d="M8 1v14" stroke="currentColor" stroke-width="1.2" fill="none"></path><rect x="5.5" y="2" width="5" height="3.2" fill="currentColor"></rect><path d="M8 6.3l2.3 2.3L8 10.9 5.7 8.6z" fill="currentColor"></path><rect x="5.5" y="12" width="5" height="3" fill="none" stroke="currentColor" stroke-width="1.2"></rect></svg></button> <!></div>`),Rr=f(`<div class="map svelte-nwxyyl"><!> <!></div>`);function zr(e,n){B(n,!0);let i=m(()=>_e.url.searchParams.get(`pick`)??new URLSearchParams(_e.url.hash.split(`?`)[1]??``).get(`pick`)??``),a=y(s((()=>{try{return localStorage.getItem(`isorite.timeline`)===`1`}catch{return!1}})())),o=y([]),c=y(null),l=e=>Y.listing.notes.find(t=>t.id===e)?.title??e.split(`/`).at(-1),d=e=>e.who.startsWith(`iso:`)||e.who.startsWith(`agent:`);async function f(){try{b(o,(await Y.api.timeline()).filter(e=>!e.note.startsWith(`@draft/`)))}catch{}}t(()=>{if(!p(a))return;f();let e,t=Y.on(t=>{t.type===`journal`&&(clearTimeout(e),e=setTimeout(()=>{f()},300))});return()=>{t(),clearTimeout(e)}});function h(e){ae(`${me(e.note)}?at=${encodeURIComponent(pe(e))}`)}t(()=>{let e=p(c);le.set(`timeline`,e?{id:e.note,folder:!1,who:d(e)?`iso`:`you`}:null)});function _(){b(a,!p(a)),b(c,null);try{localStorage.setItem(`isorite.timeline`,p(a)?`1`:`0`)}catch{}}var x=Rr(),S=v(x);{let e=m(()=>p(i)?`@draft/${p(i)}`:``);Ir(S,{get pick(){return p(e)}})}var C=z(S,2),w=e=>{var t=Lr(),n=v(t),i=z(n,2),s=e=>{J(e,{get moments(){return p(o)},at:null,get pointed(){return p(c)},leftward:!0,name:`This session's timeline`,label:e=>l(e.note),point:e=>b(c,e),pick:e=>h(e)})};g(i,e=>{p(a)&&e(s)}),V(t),K(()=>H(n,`aria-pressed`,p(a))),u(`click`,n,_),r(e,t)};g(C,e=>{p(i)||e(w)}),V(x),r(e,x),L()}j([`click`]);var Br=new class{#e=y(null);get value(){return p(this.#e)}set value(e){b(this.#e,e)}started=!1;start(){!this.started&&Y.api&&(this.started=!0,this.refresh(),Y.on(e=>{(e.type===`iso-done`||e.type===`record`)&&this.refresh()}))}async refresh(){try{this.value=await Y.api.spend()}catch{}}},Vr=new class{#e=y(null);get view(){return p(this.#e)}set view(e){b(this.#e,e)}#t=y(``);get problem(){return p(this.#t)}set problem(e){b(this.#t,e,!0)}started=!1;get connected(){return!!this.view?.connected}get running(){return!!this.view?.busy||this.view?.turns.at(-1)?.state===`running`}get api(){return Y.api?.terminal??null}start(){!this.started&&Y.api&&(this.started=!0,this.api?(this.api.view().then(e=>this.show(e),()=>X.setTerminal(!1)),Y.on(e=>{e.type===`terminal`&&this.show(e.terminal)})):X.setTerminal(!1))}show(e){let t=this.connected;this.view=e,X.setTerminal(e.connected);for(let t of e.asking)this.refused.has(t.id)||(/^(shell|bash)$/.test(t.action)?!X.on.run:/^(edit|write|patch)$/.test(t.action)&&!X.on.files)&&(this.refused.add(t.id),this.reply(t.id,`reject`));t&&e.connected&&X.focus!==`iso`&&e.turns.length>(this.seen??e.turns.length)&&X.unseen++,this.seen=e.turns.length}seen=null;refused=new Set;async send(e){if(this.problem=``,!e.trim()||!this.api)return!1;try{let t=q.sent.map(e=>e.kind===`passage`?{kind:e.kind,id:e.id,text:e.text}:{kind:e.kind,id:e.id});return await this.api.prompt(e.trim(),t),!0}catch(e){return this.problem=e.message,!1}}async stop(){try{await this.api?.stop()}catch(e){this.problem=e.message}}async reply(e,t){try{await this.api?.reply(e,t)}catch(e){this.problem=e.message}}},Hr=f(`<span class="d svelte-po8nwq"> </span>`),Ur=f(`<button type="button" class="x svelte-po8nwq" aria-label="The turns it sums up" title="The turns it sums up"><svg viewBox="0 0 16 16" width="12" height="12" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.4"><path></path></svg></button>`),Wr=f(`<button type="button" class="x svelte-po8nwq" title="Take it out"><svg viewBox="0 0 16 16" width="12" height="12" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.4"><path d="M4 4l8 8M12 4l-8 8"></path></svg></button>`),Gr=f(`<li><button type="button" class="r svelte-po8nwq" role="switch"><span aria-hidden="true"> </span> <span class="t svelte-po8nwq"> </span> <!> <span class="num svelte-po8nwq"> </span> <i class="bar svelte-po8nwq"></i></button> <!></li>`),Kr=f(`<li class="row svelte-po8nwq"><span class="r svelte-po8nwq"><span class="mk svelte-po8nwq" aria-hidden="true">◆</span><span class="t svelte-po8nwq"> </span></span> <button type="button" class="x svelte-po8nwq"><svg viewBox="0 0 16 16" width="12" height="12" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.4"><path d="M4 4l8 8M12 4l-8 8"></path></svg></button></li>`),qr=f(`<h2 class="label svelte-po8nwq">notes</h2> <ul class="rows svelte-po8nwq" aria-label="What you gave Iso" title="Sent with your next message to the terminal's agent: notes and folders by name, passages as they are"></ul>`,1),Jr=f(`<span class="acts svelte-po8nwq"><button class="icon svelte-po8nwq" type="button" aria-label="Sum up the earlier turns" title="Sum up the earlier turns, all but the last, into a briefing sent instead of them"><svg viewBox="0 0 16 16" width="14" height="14" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3"><path d="M3 3.5h10M3 6.5h10M5 10l3 3 3-3"></path></svg></button> <button class="icon svelte-po8nwq" type="button" aria-label="A new conversation from here" title="A new conversation that starts from a briefing of this one"><svg viewBox="0 0 16 16" width="14" height="14" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3"><path d="M4 2.5v6a3 3 0 0 0 3 3h5"></path><path d="M9.5 9l2.5 2.5L9.5 14"></path></svg></button></span>`),Yr=f(`<!> <!>`,1),Xr=f(`<h2 class="label svelte-po8nwq"><span> </span> <!></h2> <ul class="rows svelte-po8nwq"></ul>`,1),Zr=f(`<p class="total svelte-po8nwq"><span> </span><span class="faint"> </span></p> <!>`,1),Qr=f(`<p class="bad svelte-po8nwq" role="alert"> </p>`),$r=f(`<div class="context svelte-po8nwq" role="region" aria-label="What Iso is sent"><!> <!></div>`);function ei(e,t){B(t,!0);let a=(e,t=P,n)=>{let i=x(()=>T(n?.(),!1)),a=m(()=>p(f)?Math.min(1,t().tokens/p(f).limit):0);var s=Gr();let l;var h=v(s),y=v(h);let w;var E=c(y,!0),O=z(y,2),k=c(O,!0),A=z(O,2),j=e=>{var n=Hr(),i=c(n,!0);K(()=>W(i,t().detail)),r(e,n)};g(A,e=>{t().detail&&e(j)});var M=z(A,2),N=c(M,!0),F=z(M,2);let I;V(h);var L=z(h,2),ee=e=>{var n=Ur(),i=v(n),a=c(i);V(n),K((e,t)=>{H(n,`aria-expanded`,e),H(a,`d`,t)},[()=>p(_).includes(t().key),()=>p(_).includes(t().key)?`M4 10l4-4 4 4`:`M4 6l4 4 4-4`]),u(`click`,n,()=>b(_,p(_).includes(t().key)?p(_).filter(e=>e!==t().key):[...p(_),t().key],!0)),r(e,n)},B=e=>{var n=Wr();K(()=>H(n,`aria-label`,`Take ${t().title??``} out of Iso's context`)),u(`click`,n,()=>$.takeOut(t())),r(e,n)};g(L,e=>{t().kind===`briefing`?e(ee):t().given&&e(B,1)}),V(s),K((e,n,r,a)=>{l=R(s,1,`row svelte-po8nwq`,null,l,{off:!t().on,under:p(i)}),H(s,`data-key`,t().key),H(h,`aria-checked`,t().on),H(h,`aria-label`,`Send: ${t().title??``}`),H(h,`title`,e),h.disabled=n,w=R(y,1,`mk svelte-po8nwq`,null,w,{iso:t().by===`iso`,q:t().kind===`question`}),W(E,d[t().kind]),W(k,t().kind===`passage`?`“${t().given?.kind===`passage`?t().given.text:t().title}”`:t().title),W(N,r),I=D(F,``,I,{"--w":a})},[()=>C(t()),()=>S(t()),()=>o(t().tokens),()=>`${(p(a)*100).toFixed(2)??``}%`]),u(`click`,h,()=>void $.toggle(t())),r(e,s)},o=e=>e>=1e3?`${(e/1e3).toFixed(e>=1e5?0:1)}k`:String(e),l=[`notes`,`conversation`,`fixed`],d={note:`◆`,folder:`▭`,passage:`“`,understanding:`◇`,read:`◇`,question:`?`,turn:`›`,briefing:`≡`,instructions:``,agents:``,message:``},f=m(()=>$.report),h=m(()=>X.mode===`build`),_=y(s([])),S=e=>e.kind===`instructions`||e.kind===`message`,C=e=>e.kind===`read`?e.aged?`Read by Iso, and set aside: not used for 3 turns. Iso is told it can read it again. Click to send it again.`:e.on?`Read by Iso, and kept in hand so it is not read again. Click to set it aside.`:`Read by Iso, and set aside. Click to send it again.`:e.kind===`turn`?e.on?`An earlier turn, sent whole. Click to leave it out.`:e.under?`Summed up in the briefing above. Click to send it whole as well.`:`Left out. Click to send it again.`:e.kind===`briefing`?e.on?`Earlier turns, summed up: sent instead of them. Click to send the turns instead.`:`Not sent: the turns it sums up are sent instead. Click to send it again.`:e.kind===`agents`?`AGENTS.md: your instructions for this base, sent with every turn. Click to leave it out.`:e.kind===`question`?`An open question about a note you gave. Click to leave it out.`:S(e)?e.kind===`instructions`?`What Iso is told, and its tools`:`What you are writing`:e.on?`You gave it. Click to leave it out for now; ✕ takes it out.`:`Left out for now. Click to send it again.`;var w=$r(),E=v(w),O=e=>{var t=qr(),n=z(i(t),2);G(n,21,()=>q.sent,e=>q.keyOf(e),(e,t)=>{var n=Kr(),i=v(n),a=z(v(i)),o=c(a,!0);V(i);var s=z(i,2);V(n),K(()=>{W(o,p(t).kind===`passage`?`“${p(t).text}”`:p(t).title),H(s,`aria-label`,`Take ${p(t).title??``} out of Iso's context`)}),u(`click`,s,()=>q.remove(p(t))),r(e,n)}),V(n),r(e,t)},k=e=>{var t=Zr(),s=i(t),d=v(s),h=c(d,!0),y=z(d),b=c(y);V(s);var x=z(s,2);G(x,16,()=>l,e=>e,(e,t)=>{let o=m(()=>p(f).rows.filter(e=>e.group===t&&!e.under));var s=n(),l=i(s),d=e=>{var s=Xr(),l=i(s),d=v(l),h=c(d,!0),y=z(d,2),b=e=>{var t=Jr(),n=v(t),i=z(n,2);V(t),K(e=>{n.disabled=e,i.disabled=$.summing||!!$.running||!$.turns.length},[()=>$.summing||!!$.running||p(f).rows.filter(e=>e.kind===`turn`&&e.on).length<2]),u(`click`,n,()=>void $.compact()),u(`click`,i,()=>void $.branch()),r(e,t)};g(y,e=>{t===`conversation`&&e(b)}),V(l);var x=z(l,2);G(x,21,()=>p(o),e=>e.key,(e,t)=>{var o=Yr(),s=i(o);a(s,()=>p(t));var c=z(s,2),l=e=>{var o=n(),s=i(o);G(s,17,()=>p(f).rows.filter(e=>e.under===p(t).key),e=>e.key,(e,t)=>{a(e,()=>p(t),()=>!0)}),r(e,o)},u=m(()=>p(t).kind===`briefing`&&p(_).includes(p(t).key));g(c,e=>{p(u)&&e(l)}),r(e,o)}),V(x),K(()=>{W(h,t),H(x,`aria-label`,t===`notes`?`The notes Iso has`:t===`conversation`?`The conversation`:`Always sent`)}),r(e,s)};g(l,e=>{(p(o).length||t===`notes`)&&e(d)}),r(e,s)}),K((e,t)=>{H(s,`title`,p(f).counted?`As the provider counted the last turn`:`Estimated: counted after the first turn`),W(h,e),W(b,`of ${t??``}${p(f).counted?``:` ~`}`)},[()=>o(p(f).tokens),()=>o(p(f).limit)]),r(e,t)};g(E,e=>{p(h)?e(O):p(f)?.rows&&e(k,1)});var A=z(E,2),j=e=>{var t=Qr(),n=c(t,!0);K(()=>W(n,$.problem)),r(e,t)};g(A,e=>{$.problem&&e(j)}),V(w),r(e,w),L()}j([`click`]);var ti=f(`<div class="permit svelte-17377q0" role="group" aria-label="The terminal's agent asks before it does this"><p>OpenCode wants to <code class="svelte-17377q0"> </code>.</p> <p class="acts svelte-17377q0"><button type="button" class="svelte-17377q0">Allow once</button><button type="button" class="svelte-17377q0">Always allow this</button><button type="button" class="no svelte-17377q0">Don't allow</button></p></div>`),ni=f(`<div class="said prose svelte-17377q0"></div>`),ri=f(`<button type="button" class="note-link svelte-17377q0"> </button>`),ii=f(`<code class="q svelte-17377q0"> </code>`),ai=f(`<span class="n svelte-17377q0"><span class="add svelte-17377q0"> </span> <span class="del svelte-17377q0"> </span></span>`),oi=f(`<span> </span>`),si=f(`<pre class="diff svelte-17377q0"></pre>`),ci=f(`<pre class="out svelte-17377q0"> </pre>`),li=f(`<details><summary class="svelte-17377q0"><span class="v svelte-17377q0"> </span><!><!></summary> <!></details>`),ui=f(`<p class="line svelte-17377q0"><span class="v svelte-17377q0"> </span><!></p>`),di=f(`<div class="tool svelte-17377q0"><!> <!></div>`),fi=f(`<p class="doing svelte-17377q0" role="status"><i class="spin svelte-17377q0" aria-hidden="true"></i>OpenCode is at work</p>`),pi=f(`<p class="faint end svelte-17377q0">stopped</p>`),mi=f(`<p class="bad svelte-17377q0" role="alert">The turn failed; the terminal says why.</p>`),hi=f(`<article class="turn svelte-17377q0"><div class="you svelte-17377q0"><p class="asked svelte-17377q0"> </p><span class="from svelte-17377q0"> </span></div> <!> <!></article>`),gi=f(`<p class="title faint svelte-17377q0"> </p>`),_i=f(`<p class="faint">The terminal's session shows here: what is asked there or here, what OpenCode does, and what it asks before doing.</p>`),vi=f(`<div class="chat svelte-17377q0" role="log" aria-label="The terminal's session" aria-live="polite"><!> <!> <!> <!></div>`);function yi(e,a){B(a,!0);let s=(e,t=P)=>{var n=ti(),i=v(n),a=z(v(i)),o=c(a,!0);ee(),V(i);var s=z(i,2),l=v(s),d=z(l),f=z(d);V(s),V(n),K(e=>W(o,e),[()=>D(t())]),u(`click`,l,()=>void Vr.reply(t().id,`once`)),u(`click`,d,()=>void Vr.reply(t().id,`always`)),u(`click`,f,()=>void Vr.reply(t().id,`reject`)),r(e,n)},l=(e,t=P)=>{var a=n(),o=i(a),l=e=>{var n=ni();U(n,()=>fe(t().text),!0),V(n),r(e,n)},d=e=>{var n=di(),i=v(n),a=e=>{var n=li(),i=v(n),a=v(i),o=c(a,!0),s=z(a),l=e=>{var n=ri(),i=c(n,!0);K(e=>W(i,e),[()=>_(t().note)]),u(`click`,n,e=>{e.preventDefault(),w(t().name,t().note)}),r(e,n)},d=e=>{var n=ii(),i=c(n,!0);K(()=>W(i,t().title)),r(e,n)};g(s,e=>{t().note?e(l):e(d,-1)});var f=z(s),m=e=>{var n=ai(),i=v(n),a=c(i),o=z(i,2),s=c(o);V(n),K((e,t)=>{W(a,`+${e??``}`),W(s,`−${t??``}`)},[()=>t().diff.filter(e=>e.startsWith(`+`)).length,()=>t().diff.filter(e=>e.startsWith(`-`)).length]),r(e,n)};g(f,e=>{t().diff&&e(m)}),V(i);var h=z(i,2),y=e=>{var n=si();G(n,21,()=>t().diff,C,(e,t)=>{var n=oi();let i;var a=c(n,!0);K((e,r)=>{i=R(n,1,`svelte-17377q0`,null,i,{add:e,del:r}),W(a,p(t))},[()=>p(t).startsWith(`+`),()=>p(t).startsWith(`-`)]),r(e,n)}),V(n),r(e,n)},b=e=>{var n=ci(),i=c(n,!0);K(()=>W(i,t().output)),r(e,n)};g(h,e=>{t().diff?e(y):e(b,-1)}),V(n),K(e=>W(o,e),[()=>T(t().name)]),r(e,n)},o=e=>{var n=ui(),i=v(n),a=c(i,!0),o=z(i),s=e=>{var n=ri(),i=c(n,!0);K(e=>W(i,e),[()=>_(t().note)]),u(`click`,n,()=>w(t().name,t().note)),r(e,n)},l=e=>{var n=ii(),i=c(n,!0);K(()=>W(i,t().title)),r(e,n)};g(o,e=>{t().note?e(s):e(l,-1)}),V(n),K(e=>W(a,e),[()=>T(t().name)]),r(e,n)};g(i,e=>{t().output||t().diff?e(a):e(o,-1)});var l=z(i,2);G(l,17,()=>O(t().id),e=>e.id,(e,t)=>{s(e,()=>p(t))}),V(n),K(()=>H(n,`data-status`,t().status)),r(e,n)};g(o,e=>{t().kind===`text`?e(l):e(d,-1)}),r(e,a)},d=(e,t=P)=>{var n=hi(),i=v(n),a=v(i),o=c(a,!0),s=z(a),u=c(s,!0);V(i);var d=z(i,2);G(d,17,()=>t().items,C,(e,t)=>{l(e,()=>p(t))});var f=z(d,2),m=e=>{var t=fi();r(e,t)},h=e=>{var t=pi();r(e,t)},_=e=>{var t=mi();r(e,t)};g(f,e=>{t().state===`running`?e(m):t().state===`stopped`?e(h,1):t().state===`failed`&&e(_,2)}),V(n),K(()=>{H(n,`data-state`,t().state),W(o,t().asked),W(u,t().from===`here`?`from here`:`in the terminal`)}),r(e,n)},f=y(void 0),h=m(()=>Vr.view),_=e=>Y.listing.notes.find(t=>t.id===e)?.title??e.split(`/`).at(-1)??e,x={shell:`ran`,bash:`ran`,read:`read`,write:`wrote`,edit:`edited`,glob:`found`,grep:`searched`,webfetch:`fetched`,websearch:`searched the web`,search_notes:`searched`,find_similar:`by meaning`,outline_note:`outlined`,read_note:`read`,brief_base:`looked over`,edit_note:`changed`,write_note:`wrote`},S=new Set([`edit_note`,`write_note`]);function w(e,t){S.has(e)&&X.flip(`provenance`,!0),X.open(t,!0)}let T=e=>x[e]??e.replaceAll(`_`,` `),E={shell:`run`,edit:`edit`,write:`write`,read:`read`,webfetch:`fetch`,external_directory:`reach outside the project`},D=e=>`${E[e.action]??e.action} ${e.resources.join(`, `)}`.trim(),O=e=>p(h)?.asking.filter(t=>t.tool===e)??[],k=m(()=>p(h)?.asking.filter(e=>!e.tool||!p(h).turns.some(t=>t.items.some(t=>t.kind===`tool`&&t.id===e.tool)))??[]);t(()=>{p(h),o().then(()=>{p(f)&&(p(f).scrollTop=p(f).scrollHeight)})});var A=vi(),j=v(A),M=e=>{var t=gi(),n=c(t,!0);K(()=>W(n,p(h).title)),r(e,t)};g(j,e=>{p(h)?.title&&e(M)});var N=z(j,2);G(N,17,()=>p(h)?.turns??[],e=>e.id,(e,t)=>{d(e,()=>p(t))});var F=z(N,2);G(F,17,()=>p(k),e=>e.id,(e,t)=>{s(e,()=>p(t))});var I=z(F,2),ne=e=>{var t=_i();r(e,t)};g(I,e=>{p(h)?.turns.length||e(ne)}),V(A),te(A,e=>b(f,e),()=>p(f)),r(e,A),L()}j([`click`]);var bi=e=>{var t=Ci();r(e,t)},xi=f(`<span><span class="k svelte-d2jxoz" aria-hidden="true"> </span><span class="t svelte-d2jxoz"> </span></span>`),Si=f(`<span class="gave svelte-d2jxoz"></span>`),Ci=M(`<svg class="qm svelte-d2jxoz" viewBox="0 0 16 16" width="13" height="13" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.4"><path d="M5.6 5.6a2.4 2.4 0 1 1 3.4 2.2c-.6.3-1 .8-1 1.5v.9"></path><path d="M8 12v1.2"></path></svg>`),wi=f(`<div class="said prose svelte-d2jxoz"></div>`),Ti=f(`<button type="button" class="note-link svelte-d2jxoz"> </button>`),Ei=f(`<span class="n svelte-d2jxoz"> </span>`),Di=f(`<span class="q svelte-d2jxoz"> </span><!>`,1),Oi=f(`<p><span class="v svelte-d2jxoz"> </span> <!></p>`),ki=f(`<span class="q"> </span>`),Ai=f(`<span class="n"><span class="add svelte-d2jxoz"> </span> <span class="del svelte-d2jxoz"> </span></span>`),ji=f(`<p class="change svelte-d2jxoz"><span class="v svelte-d2jxoz"> </span> <!> <!></p>`),Mi=f(`<p class="faint"> </p>`),Ni=f(`<p class="acts svelte-d2jxoz"><button type="button" class="svelte-d2jxoz">Allow once</button><button type="button" class="svelte-d2jxoz">Always allow this</button><button type="button" class="no svelte-d2jxoz">Don't allow</button></p>`),Pi=f(`<div class="permit svelte-d2jxoz" role="group" aria-label="Iso asks before it does this"><p> </p> <!></div>`),Fi=f(`<p class="faint undone svelte-d2jxoz"> </p>`),Ii=f(`<span class="why svelte-d2jxoz"> </span>`),Li=f(`<p class="point svelte-d2jxoz"><span class="dia svelte-d2jxoz" aria-hidden="true">◆</span><span class="v svelte-d2jxoz">look at</span><button type="button" class="note-link svelte-d2jxoz"> </button><!></p>`),Ri=f(`<span class="qt svelte-d2jxoz"> </span> <button class="icon plus svelte-d2jxoz" type="button"><svg viewBox="0 0 16 16" width="14" height="14" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M8 3v10M3 8h10"></path></svg></button>`,1),zi=f(`<p class="qb svelte-d2jxoz"> </p>`),Bi=f(`<div class="asks svelte-d2jxoz"><p class="svelte-d2jxoz"><!><!></p> <!></div>`),Vi=f(`<span title="Your instructions for this base, in Iso's settings">AGENTS.md</span>`),Hi=M(`<svg class="in svelte-d2jxoz" viewBox="0 0 16 16" width="14" height="14" role="img" aria-label="Inserted" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M3 8.5l3 3 7-7"></path></svg>`),Ui=f(`<button class="icon svelte-d2jxoz" type="button"><svg viewBox="0 0 16 16" width="15" height="15" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.4"><path d="M13 3v6H4"></path><path d="M7 6L4 9l3 3"></path></svg></button>`),Wi=f(`<div class="offer svelte-d2jxoz"><div class="prose yours svelte-d2jxoz"></div> <p class="for svelte-d2jxoz"><!> <!></p></div>`),Gi=f(`<span class="tmode svelte-d2jxoz" title="Iso could edit the notes"><svg viewBox="0 0 16 16" width="12" height="12" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"><path d="M2.5 13.5l2.5-2.5M5 11c.6-4.2 3.6-7.4 8.5-8.5C12.6 7.2 9.4 10.4 5 11zM7.2 8.8l2.6-.3M8.8 6.6l2.4-.4"></path></svg><span class="hidden-label">write</span></span>`),Ki=f(`<!> <p class="doing svelte-d2jxoz" role="status"><i class="spin svelte-d2jxoz" aria-hidden="true"></i> </p>`,1),qi=f(`<p class="undo svelte-d2jxoz"><button class="icon svelte-d2jxoz" type="button" aria-label="Undo this turn's changes" title="Put back every note this turn changed"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3"><path d="M3.2 9.5A5 5 0 1 0 4.6 4.3"></path><path d="M3 1.8v3.4h3.4"></path></svg></button></p>`),Ji=f(`<p class="undo svelte-d2jxoz"><button class="icon svelte-d2jxoz" type="button" aria-label="Send it again" title="Send it again, with what was given"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3"><path d="M12.8 9.5A5 5 0 1 1 11.4 4.3"></path><path d="M13 1.8v3.4H9.6"></path></svg></button></p>`),Yi=f(`<p class="bad svelte-d2jxoz" role="alert"> </p> <!>`,1),Xi=f(`<p class="faint end svelte-d2jxoz">stopped</p>`),Zi=f(`<article class="turn svelte-d2jxoz"><div class="you svelte-d2jxoz"><p class="asked svelte-d2jxoz"> </p><!><!></div> <!> <!> <!></article>`),Qi=f(`<div class="chat svelte-d2jxoz" role="log" aria-label="The conversation with Iso" aria-live="polite"></div>`),$i=f(`<button class="corner stop svelte-d2jxoz" type="button" title="Stop (Escape)"><svg viewBox="0 0 16 16" width="12" height="12" aria-hidden="true"><rect x="4" y="4" width="8" height="8" fill="currentColor"></rect></svg></button>`),ea=f(`<button class="corner send svelte-d2jxoz" type="button" aria-label="Send" title="Send (Enter)"><svg viewBox="0 0 16 16" width="14" height="14" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.6"><path d="M3 8h10M9 4l4 4-4 4"></path></svg></button>`),ta=f(`<p class="bad svelte-d2jxoz" role="alert"> </p>`),na=f(`<div><!> <div class="composer svelte-d2jxoz"><div class="box svelte-d2jxoz"><label class="hidden-label" for="iso-box">Message Iso</label> <textarea id="iso-box" rows="2" class="svelte-d2jxoz"></textarea> <!></div> <!></div></div>`);function ra(e,a){B(a,!0);let s=(e,t=P)=>{var a=n(),o=i(a),s=e=>{var n=Si();G(n,21,()=>t().given,C,(e,t)=>{var n=xi();let i;var a=v(n),o=c(a,!0),s=z(a),l=c(s,!0);V(n),K(e=>{i=R(n,1,`chip svelte-d2jxoz`,null,i,{u:p(t).kind===`understanding`}),W(o,f[p(t).kind]),W(l,e)},[()=>p(t).kind===`passage`?p(t).text:p(t).kind===`folder`?p(t).id||`the base`:h(p(t).id)]),r(e,n)}),V(n),r(e,n)};g(o,e=>{t().given.length&&e(s)}),r(e,a)},l=(e,t=P,a=P)=>{var o=n(),s=i(o),l=e=>{var t=wi();U(t,()=>fe(a().text),!0),V(t),r(e,t)},d=e=>{var t=Oi();let n;var o=v(t),s=c(o,!0),l=z(o,2),d=e=>{var t=Ti(),n=c(t);K(e=>{H(t,`data-to`,a().step.opened),W(n,`${e??``}${a().step.section?` · ${a().step.section}`:``}`)},[()=>h(a().step.opened)]),u(`click`,t,()=>F(a().step.opened)),r(e,t)},f=e=>{var t=Di(),n=i(t),o=c(n,!0),s=z(n),l=e=>{var t=Ei(),n=c(t);K(()=>W(n,`${a().step.notes.length??``} found`)),r(e,t)};g(s,e=>{a().step.notes.length&&e(l)}),K(()=>W(o,a().step.query?`“${a().step.query}”`:a().step.said)),r(e,t)};g(l,e=>{a().step.opened?e(d):e(f,-1)}),V(t),K(()=>{n=R(t,1,`look svelte-d2jxoz`,null,n,{failed:a().step.failed}),W(s,_[a().step.how])}),r(e,t)},f=e=>{var t=ji(),n=v(t),i=c(n,!0),o=z(n,2),s=e=>{var t=ki(),n=c(t,!0);K(()=>W(n,a().title)),r(e,t)},l=e=>{var t=Ti(),n=c(t,!0);K(e=>{H(t,`data-to`,a().why===`move`?a().to:a().note),W(n,e)},[()=>a().why===`move`?`${a().title} → ${a().to}`:a().note.startsWith(`@`)?a().title:h(a().note)]),u(`click`,t,()=>ee(a().why===`move`?a().to:a().note)),r(e,t)};g(o,e=>{a().why===`delete`?e(s):e(l,-1)});var d=z(o,2),f=e=>{var t=Ai(),n=v(t),i=c(n),o=z(n,2),s=c(o);V(t),K(()=>{W(i,`+${a().added??``}`),W(s,`−${a().removed??``}`)}),r(e,t)};g(d,e=>{(a().added||a().removed)&&e(f)}),V(t),K(e=>W(i,e),[()=>a().note.startsWith(`@understanding/`)?`wrote`:a().why===`create`?`made`:a().why===`delete`?`deleted`:a().why===`move`?`moved`:`changed`]),r(e,t)},p=e=>{var t=Pi(),n=v(t),i=c(n),o=z(n,2),s=e=>{var t=Mi(),n=c(t,!0);K(()=>W(n,a().answer===`reject`?`Not allowed.`:a().answer===`always`?`Allowed, and from now on in this conversation.`:`Allowed once.`)),r(e,t)},l=e=>{var t=Ni(),n=v(t),i=z(n),o=z(i);V(t),u(`click`,n,()=>void $.answer(a().id,`once`)),u(`click`,i,()=>void $.answer(a().id,`always`)),u(`click`,o,()=>void $.answer(a().id,`reject`)),r(e,t)};g(o,e=>{a().answer?e(s):e(l,-1)}),V(t),K(()=>W(i,`Iso wants to ${a().what??``}.`)),r(e,t)},m=e=>{var t=Fi(),n=c(t);K((e,t)=>W(n,`${e??``}${t??``}`),[()=>a().notes.length?`Undone: ${a().notes.map(h).join(`, `)} put back.`:`Nothing was put back.`,()=>a().left.length?` Left as they are, changed since: ${a().left.map(h).join(`, `)}.`:``]),r(e,t)},y=e=>{var t=Li(),n=z(v(t),2),i=c(n,!0),o=z(n),s=e=>{var t=Ii(),n=c(t,!0);K(()=>W(n,a().why)),r(e,t)};g(o,e=>{a().why&&e(s)}),V(t),K(e=>{H(n,`data-to`,a().note),W(i,e)},[()=>h(a().note)]),u(`click`,n,()=>F(a().note)),r(e,t)},b=e=>{var n=Bi(),o=v(n),s=v(o);bi(s);var l=z(s),d=e=>{var t=Ti(),n=c(t,!0);K(()=>{H(t,`data-to`,a().made),W(n,a().title)}),u(`click`,t,()=>F(a().made)),r(e,t)},f=e=>{var n=Ri(),o=i(n),s=c(o,!0),l=z(o,2);K(e=>{W(s,a().title),H(l,`aria-label`,`Keep “${a().title??``}” as an open question`),H(l,`title`,`Keep as an open question about ${e??``}`)},[()=>a().about.map(h).join(`, `)]),u(`click`,l,()=>void $.take(t().id,a().id)),r(e,n)};g(l,e=>{a().made?e(d):e(f,-1)}),V(o);var p=z(o,2),m=e=>{var t=zi(),n=c(t,!0);K(()=>W(n,a().text)),r(e,t)};g(p,e=>{a().text&&e(m)}),V(n),K(()=>H(n,`data-question`,a().id)),r(e,n)},x=e=>{var n=Wi(),i=v(n);U(i,()=>fe(a().text),!0),V(i);var o=z(i,2),s=v(o),l=e=>{var t=Vi();r(e,t)},d=e=>{var t=Ti(),n=c(t,!0);K(e=>{H(t,`data-to`,a().note),W(n,e)},[()=>h(a().note)]),u(`click`,t,()=>F(a().note)),r(e,t)};g(s,e=>{a().note===`AGENTS.md`?e(l):e(d,-1)});var f=z(s,2),p=e=>{var t=Hi();r(e,t)},m=e=>{var n=Ui();K((e,t)=>{H(n,`aria-label`,`Insert into ${e??``} as yours`),H(n,`title`,`Insert at the end of ${t??``}, as yours`)},[()=>h(a().note),()=>h(a().note)]),u(`click`,n,()=>void $.take(t().id,a().id)),r(e,n)};g(f,e=>{a().taken?e(p):e(m,-1)}),V(o),V(n),K(()=>H(n,`data-offer`,a().id)),r(e,n)};g(s,e=>{a().kind===`text`?e(l):a().kind===`look`?e(d,1):a().kind===`change`?e(f,2):a().kind===`permission`?e(p,3):a().kind===`undone`?e(m,4):a().kind===`point`?e(y,5):a().kind===`question`?e(b,6):a().kind===`offer`&&e(x,7)}),r(e,o)},f={note:`▣`,folder:`▭`,passage:`“`,understanding:`◇`},h=e=>Y.listing.notes.find(t=>t.id===e)?.title??e.split(`/`).at(-1)??e,_={keyword:`searched`,meaning:`by meaning`,link:`followed`,read:`read`};function x(e){if(e.pointerType!==`mouse`||!(e.target instanceof Element))return;let t=e.target.closest(`[data-to], a[href]`),n=t?.dataset.to?{id:t.dataset.to,folder:!1}:t instanceof HTMLAnchorElement?ue(t.getAttribute(`href`)??``):null;le.set(`iso`,n?{...n,who:`you`}:null)}let S=y(``),T=y(void 0),D=m(()=>X.mode===`build`),O=m(()=>$.running),k=m(()=>p(D)?Vr.running:!!p(O)),A=m(()=>{if(!p(O))return``;if($.retrying)return`Iso's provider did not answer: asking again (${$.retrying.retry} of ${$.retrying.of})`;if($.streaming)return`Iso is writing`;let e=p(O).items.findLast(e=>e.kind===`look`);return e?.step.opened?`Iso is reading ${h(e.step.opened)}`:`Iso is thinking`});I(()=>{$.start(),Vr.start(),Br.start()}),t(()=>{q.sent,X.mode,oe.tier,$.measure()}),t(()=>{$.turns,$.streaming,o().then(()=>{p(T)&&(p(T).scrollTop=p(T).scrollHeight)})});async function j(){let e=p(S);await(p(D)?Vr.send(e):$.send(e))&&b(S,``)}let M=()=>p(D)?Vr.stop():$.stop();function N(e){e.key===`Enter`&&!e.shiftKey&&!e.isComposing?(e.preventDefault(),j()):e.key===`Escape`&&p(k)&&(e.preventDefault(),M())}function F(e){X.open(e,!0)}function ee(e){e.startsWith(`@understanding/`)?ne(e.slice(15)):(X.flip(`provenance`,!0),X.showUnderstanding(!1),X.open(e,!0))}function ne(e){X.showUnderstanding(!0),X.open(e,!0)}let re=e=>e.items.some(e=>e.kind===`change`)&&!e.items.some(e=>e.kind===`undone`);var ie=na();let ae;var se=v(ie),ce=e=>{ei(e,{})},de=e=>{yi(e,{})},pe=e=>{var t=Qi();G(t,21,()=>$.turns,e=>e.id,(e,t)=>{var n=Zi(),a=v(n),o=v(a),d=c(o,!0),f=z(o);s(f,()=>p(t));var h=z(f),_=e=>{var t=Gi();r(e,t)};g(h,e=>{p(t).mode===`write`&&e(_)}),V(a);var y=z(a,2);G(y,17,()=>p(t).items,C,(e,n)=>{l(e,()=>p(t),()=>p(n))});var b=z(y,2),x=e=>{var t=Ki(),n=i(t),a=e=>{var t=wi();U(t,()=>fe($.streaming),!0),V(t),r(e,t)};g(n,e=>{$.streaming&&e(a)});var o=z(n,2),s=z(v(o),1,!0);V(o),K(()=>W(s,p(A))),r(e,t)},S=e=>{var n=qi(),i=c(n);u(`click`,i,()=>void $.undo(p(t).id)),r(e,n)},w=m(()=>re(p(t)));g(b,e=>{p(t).state===`running`?e(x):p(w)&&e(S,1)});var T=z(b,2),E=e=>{var n=Yi(),a=i(n),o=c(a),s=z(a,2),l=e=>{var n=Ji(),i=c(n);u(`click`,i,()=>void $.again(p(t))),r(e,n)},d=m(()=>p(t)===$.turns.at(-1));g(s,e=>{p(d)&&e(l)}),K(()=>W(o,`Iso could not answer: ${p(t).message??``}`)),r(e,n)},D=e=>{var t=Xi();r(e,t)};g(T,e=>{p(t).state===`failed`?e(E):p(t).state===`stopped`&&e(D,1)}),V(n),K(()=>{H(n,`data-state`,p(t).state),W(d,p(t).asked)}),r(e,n)}),V(t),te(t,e=>b(T,e),()=>p(T)),u(`pointerover`,t,x),d(`pointerleave`,t,()=>le.set(`iso`,null)),r(e,t)};g(se,e=>{$.view===`context`?e(ce):p(D)?e(de,1):e(pe,-1)});var J=z(se,2),me=v(J),Z=z(v(me),2);E(Z);var he=z(Z,2),ge=e=>{var t=$i();K(()=>H(t,`aria-label`,p(D)?`Stop the terminal's agent`:`Stop Iso`)),u(`click`,t,()=>void M()),r(e,t)},_e=e=>{var t=ea();u(`click`,t,()=>void j()),r(e,t)},ve=m(()=>p(S).trim());g(he,e=>{p(k)?e(ge):p(ve)&&e(_e,1)}),V(me);var ye=z(me,2),be=e=>{var t=ta(),n=c(t,!0);K(()=>W(n,p(D)?Vr.problem:$.problem)),r(e,t)};g(ye,e=>{(p(D)?Vr.problem:$.problem)&&e(be)}),V(J),V(ie),K(()=>{ae=R(ie,1,`iso svelte-d2jxoz`,null,ae,{drop:q.carrying?.over}),H(Z,`placeholder`,p(D)?`Ask in the terminal's session`:`Ask Iso`)}),u(`keydown`,Z,N),w(Z,()=>p(S),e=>b(S,e)),r(e,ie),L()}j([`click`,`pointerover`,`keydown`]);var ia=M(`<rect x="2.5" y="2.5" width="11" height="11"></rect><path d="M8 2.5v11"></path><rect x="8.6" y="3.1" width="4.3" height="9.8" fill="currentColor" stroke="none"></rect>`,1),aa=M(`<path d="M8 1v14" stroke-width="1.2"></path><rect x="5.5" y="2" width="5" height="3.2" fill="currentColor" stroke="none"></rect><path d="M8 6.3l2.3 2.3L8 10.9 5.7 8.6z" fill="currentColor" stroke="none"></path><rect x="5.5" y="12" width="5" height="3" stroke-width="1.2"></rect>`,1),oa=M(`<path d="M5.6 5.6a2.4 2.4 0 1 1 3.4 2.2c-.6.3-1 .8-1 1.5v.9"></path><path d="M8 12v1.2"></path>`,1),sa=M(`<path d="M8 2.5l5.8 10.5H2.2z"></path>`),ca=M(`<circle cx="8" cy="8" r="5.5"></circle><path d="M2.5 8h11M8 2.5c-2 2.8-2 8.2 0 11M8 2.5c2 2.8 2 8.2 0 11"></path>`,1),la=M(`<path d="M5.5 4.5L2 8l3.5 3.5M10.5 4.5L14 8l-3.5 3.5M9 3l-2 10"></path>`),ua=M(`<path d="M8 2.5l5.5 5.5L8 13.5 2.5 8z"></path><path d="M8 5.5l2.5 2.5L8 10.5 5.5 8z" fill="currentColor" stroke="none"></path>`,1),da=M(`<path d="M2.5 13.5l2.5-2.5M5 11c.6-4.2 3.6-7.4 8.5-8.5C12.6 7.2 9.4 10.4 5 11zM7.2 8.8l2.6-.3M8.8 6.6l2.4-.4"></path>`),fa=M(`<path d="M3.5 2.5h5.5l3.5 3.5v7.5h-9z"></path><path d="M9 2.5V6h3.5"></path>`,1),pa=M(`<path d="M3 4.5l3 3.5-3 3.5M7.5 12h5.5"></path>`),ma=f(`<button type="button" class="sw svelte-ubc5lw"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"><!></svg></button>`),ha=f(`<button class="icon gear svelte-ubc5lw" type="button"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3"><path d="M2.5 4.5h11M2.5 8h11M2.5 11.5h11"></path><rect x="9" y="3" width="2.5" height="3" fill="var(--ground-0)" class="svelte-ubc5lw"></rect><rect x="4.5" y="6.5" width="2.5" height="3" fill="var(--ground-0)" class="svelte-ubc5lw"></rect><rect x="10" y="10" width="2.5" height="3" fill="var(--ground-0)" class="svelte-ubc5lw"></rect></svg></button>`),ga=f(`<div class="frame settings svelte-ubc5lw" role="dialog" tabindex="-1"><span class="frame-title"> </span> <div class="inner svelte-ubc5lw"><!></div></div>`),_a=f(`<header class="phead svelte-ubc5lw"><span class="pname svelte-ubc5lw"> </span> <span class="switches svelte-ubc5lw" role="group"></span> <span class="grow svelte-ubc5lw"></span> <!> <!></header> <!>`,1);function va(e,n){B(n,!0);let a={provenance:`Provenance: whose words are whose (Alt+P)`,timeline:`Timeline (Alt+T)`,context:`Iso's context: what it is sent, what it read and changed (Alt+C)`,questions:`Open questions (Alt+Q)`,problems:`Problems (Alt+B)`,web:`Links to the web (Alt+W)`,code:`Links to code (Alt+K)`,notes:`Iso may edit the notes (Alt+N)`,files:`Iso may edit the project's files (Alt+F)`,run:`Iso may run commands (Alt+R)`},o={provenance:`growth`,timeline:`lattice`,questions:`rose`,problems:`text`,web:`lattice`,code:`lattice`,context:`growth`,notes:`growth`,files:`growth`,run:`growth`},s=m(()=>he[n.pane].filter(e=>e!==`files`&&e!==`run`||X.terminal)),l=m(()=>X.settings===n.pane),f=y(void 0);t(()=>{p(l)&&p(f)?.focus()});function h(e){p(l)&&e.target instanceof Element&&(p(f)?.contains(e.target)||e.target.closest(`[data-settings="${n.pane}"]`)||(X.settings=null))}var x=_a();d(`pointerdown`,_,h),d(`keydown`,_,e=>{p(l)&&e.key===`Escape`&&(X.settings=null)});var C=i(x),w=v(C),T=c(w,!0),E=z(w,2);G(E,20,()=>p(s),e=>e,(e,t)=>{var n=ma();let i;var s=v(n),c=v(s),l=e=>{var t=ia();ee(2),r(e,t)},d=e=>{var t=aa();ee(3),r(e,t)},f=e=>{var t=oa();ee(),r(e,t)},p=e=>{var t=sa();r(e,t)},m=e=>{var t=ca();ee(),r(e,t)},h=e=>{var t=la();r(e,t)},_=e=>{var t=ua();ee(),r(e,t)},y=e=>{var t=da();r(e,t)},b=e=>{var t=fa();ee(),r(e,t)},x=e=>{var t=pa();r(e,t)};g(c,e=>{t===`provenance`?e(l):t===`timeline`?e(d,1):t===`questions`?e(f,2):t===`problems`?e(p,3):t===`web`?e(m,4):t===`code`?e(h,5):t===`context`?e(_,6):t===`notes`?e(y,7):t===`files`?e(b,8):e(x,-1)}),V(s),V(n),K(e=>{H(n,`data-switch`,t),H(n,`aria-pressed`,X.on[t]),H(n,`aria-label`,e),H(n,`title`,a[t]),i=D(n,``,i,{"--c":`var(--${o[t]??``})`})},[()=>a[t].replace(/ \(Alt\+.\)$/,``)]),u(`click`,n,()=>X.flip(t)),r(e,n)}),V(E);var O=z(E,4);S(O,()=>n.tools??P);var k=z(O,2),A=e=>{var t=ha();K(()=>{H(t,`data-settings`,n.pane),H(t,`aria-label`,`${n.name??``} settings`),H(t,`aria-expanded`,p(l)),H(t,`title`,`${n.name??``} settings`)}),u(`click`,t,()=>X.settings=p(l)?null:n.pane),r(e,t)};g(k,e=>{n.settings&&e(A)}),V(C);var j=z(C,2),M=e=>{var t=ga(),i=v(t),a=c(i,!0),o=z(i,2),s=v(o);S(s,()=>n.settings),V(o),V(t),te(t,e=>b(f,e),()=>p(f)),K(e=>{H(t,`aria-label`,`${n.name??``} settings`),W(a,e)},[()=>n.name.toLowerCase()]),r(e,t)};g(j,e=>{n.settings&&p(l)&&e(M)}),K(()=>{W(T,n.name),H(E,`aria-label`,`${n.name??``}'s switches`)}),r(e,x),L()}j([`click`]);var ya=f(`<button type="button" class="gauge svelte-1cyuk5c"><i></i> <i></i></button>`);function ba(e,t){B(t,!0);let n=e=>e>=1e3?`${(e/1e3).toFixed(e>=1e5?0:1)}k`:String(e),i=e=>`$${e.toFixed(e>0&&e<.1?3:2)}`,a={day:`today`,week:`this week`,month:`this month`,total:`in all`},o=m(()=>$.report),s=m(()=>X.mode===`build`),c=m(()=>Vr.view),l=m(()=>!p(s)&&p(o)?Math.min(1,p(o).tokens/p(o).limit):0),d=m(()=>!p(s)&&!!p(o)&&p(o).tokens>=Math.min(1e5,p(o).limit/2)),f=m(()=>!p(s)&&!!p(o)&&p(o).tokens>p(o).limit),h=m(()=>Br.value),g=m(()=>p(h)&&p(h).cap?Math.min(1,p(h).usd/p(h).cap):0),_=m(()=>p(g)>.8),y=m(()=>p(s)?`${p(c)?.model||`OpenCode`}${p(c)?`, ${n(p(c).tokens.input+p(c).tokens.output)} tokens`:``}${p(c)?.cost?`, ${i(p(c).cost)}`:``}`:p(o)?`Context: ${n(p(o).tokens)} of ${n(p(o).limit)} tokens${p(f)?`: more than the model takes; switch parts off in the Context view`:p(d)?`: long enough to drift; summing up the earlier turns may help`:``}`:`Context: not measured yet`),b=m(()=>p(h)?p(h).source===`key`?`Spend: ${i(p(h).usd)} of the key's ${i(p(h).cap)} limit, ${a[p(h).per]}`:p(h).source===`setting`?`Spend: ${i(p(h).usd)} of ${i(p(h).cap)} this month (the cap set in settings)`:p(h).cap?`Spend: ${i(p(h).usd)} this month; the most in any month is ${i(p(h).cap)}`:`Spend: ${i(p(h).usd)} this month; no cap is set`:`Spend: not known yet`);var x=ya(),S=v(x);let C,w;var T=z(S,2);let E,O;V(x),K(()=>{H(x,`aria-label`,`${p(y)??``}. ${p(b)??``}`),H(x,`title`,`${p(y)??``}
|
|
26
|
+
${p(b)??``}`),C=R(S,1,`bar ctx svelte-1cyuk5c`,null,C,{long:p(d),full:p(f)}),w=D(S,``,w,{"--fill":p(l)}),E=R(T,1,`bar usd svelte-1cyuk5c`,null,E,{over:p(_)}),O=D(T,``,O,{"--fill":p(g)})}),u(`click`,x,()=>$.view=$.view===`context`?`chat`:`context`),r(e,x),L()}j([`click`]);var xa=f(`<button type="button" role="radio" class="svelte-xdo8"> </button>`),Sa=f(`<span class="tiers wide svelte-xdo8" role="radiogroup" aria-label="How able a model"></span> <button type="button" class="tiers narrow svelte-xdo8"> </button>`,1);function Ca(e,n){B(n,!0);let a=[`low`,`mid`,`max`],o={low:`quick`,mid:`Iso's default`,max:`the most able`},s=y(null);t(()=>{Y.api&&!p(s)&&Y.api.settings().then(e=>b(s,e.tiers),()=>void 0)});let l=e=>p(s)?.[e]??``,d=e=>`${e}: ${o[e]}${l(e)?`, ${l(e)}`:``}`,f=()=>oe.setTier(a[(a.indexOf(oe.tier)+1)%a.length]);var m=Sa(),h=i(m);G(h,20,()=>a,e=>e,(e,t)=>{var n=xa(),i=c(n,!0);K(e=>{H(n,`aria-checked`,oe.tier===t),H(n,`title`,e),W(i,t)},[()=>d(t)]),u(`click`,n,()=>oe.setTier(t)),r(e,n)}),V(h);var g=z(h,2),_=c(g,!0);K(e=>{H(g,`aria-label`,`How able a model: ${oe.tier??``}`),H(g,`title`,`${e??``}: click for the next`),W(_,oe.tier[0])},[()=>d(oe.tier)]),u(`click`,g,f),r(e,m),L()}j([`click`]);var wa=f(`<button class="btn" type="button">forget it</button>`),Ta=f(`<div class="row svelte-1c4xnzk"><span class="faint">or</span> <button class="btn" type="button"> </button></div> <p class="faint">You sign in there, and the key it makes comes straight here. A spending limit for it is set on the provider's page of keys.</p>`,1),Ea=f(`<p role="status"> </p>`),Da=f(`<button class="btn" type="button">no cap</button>`),Oa=f(`<dt> </dt><dd class="faint svelte-1c4xnzk"> </dd>`,1),ka=f(`<p class="soft"> </p> <form class="row svelte-1c4xnzk"><label class="hidden-label" for="key">Provider key</label> <input id="key" class="field grow" type="password" autocomplete="off" spellcheck="false"/> <button class="btn primary" type="submit">hold it</button> <!></form> <!> <!> <p class="faint">The key is kept in this device's configuration, never in a base, and is not shown again.</p> <form class="row svelte-1c4xnzk"><label class="hidden-label" for="cap">Monthly spend cap in dollars</label> <input id="cap" class="field grow" type="number" min="0.01" step="any" autocomplete="off"/> <button class="btn" type="submit">set it</button> <!></form> <p class="faint"> </p> <dl class="tiers svelte-1c4xnzk"></dl>`,1),Aa=f(`<h2 class="label svelte-1c4xnzk">AGENTS.md</h2> <label class="hidden-label" for="agents">AGENTS.md: your instructions for this base</label> <textarea id="agents" class="agents svelte-1c4xnzk" rows="6" spellcheck="true" placeholder="notation, level, language, how notes are named" title="Your instructions for this base: sent with every turn, to Iso and to the terminal's agent. Kept at the top of your notes, as AGENTS.md."></textarea>`,1),ja=f(`<p class="bad svelte-1c4xnzk" role="alert"> </p>`),Ma=f(`<section class="svelte-1c4xnzk"><h2 class="label svelte-1c4xnzk">the provider</h2> <!> <!> <!></section>`);function Na(e,n){B(n,!0);let a=y(null),o=y(``),s=y(``),l=y(``),f=y(null),m=``;t(()=>{Y.api.agents().then(e=>{b(f,e.text??``,!0),m=p(f)},()=>void 0)});async function h(){if(p(f)!==null&&p(f)!==m){b(s,``);try{await Y.api.saveAgents(p(f)),m=p(f),$.measure()}catch(e){b(s,e.message,!0)}}}t(()=>{Y.api.settings().then(e=>b(a,e),e=>b(s,e.message,!0))}),t(()=>()=>{Y.signIn=null});async function _(e){b(s,``),Y.signIn=null;try{b(a,await Y.api.setKey(e)),b(o,``)}catch(e){b(s,e.message,!0)}}async function x(e){b(s,``);try{b(a,await Y.api.setSpendCap(e)),b(l,``),Br.refresh()}catch(e){b(s,e.message,!0)}}async function S(){b(s,``),Y.signIn=null;try{await Y.startSignIn()}catch(e){b(s,e.message,!0)}}var C=Ma(),T=z(v(C),2),D=e=>{var t=ka(),n=i(t),s=c(n),f=z(n,2),m=z(v(f),2);N(m);var h=z(m,2),y=z(h,2),C=e=>{var t=wa();u(`click`,t,()=>_(null)),r(e,t)};g(y,e=>{p(a).key&&e(C)}),V(f);var T=z(f,2),E=e=>{var t=Ta(),n=i(t),o=z(v(n),2),s=c(o);V(n),ee(2),K(()=>W(s,`sign in at ${p(a).provider??``} for a new key`)),u(`click`,o,S),r(e,t)};g(T,e=>{p(a).connect&&e(E)});var D=z(T,2),O=e=>{var t=Ea(),n=c(t,!0);K(()=>{R(t,1,F(Y.signIn.ok?`soft`:`bad`),`svelte-1c4xnzk`),W(n,Y.signIn.message)}),r(e,t)};g(D,e=>{Y.signIn&&e(O)});var k=z(D,4),A=z(v(k),2);N(A);var j=z(A,2),M=z(j,2),P=e=>{var t=Da();u(`click`,t,()=>x(null)),r(e,t)};g(M,e=>{p(a).spendCap&&e(P)}),V(k);var I=z(k,2),L=c(I),B=z(I,2);G(B,20,()=>[`low`,`mid`,`max`],e=>e,(e,t)=>{var n=Oa(),o=i(n),s=c(o,!0),l=z(o),u=c(l,!0);K(()=>{W(s,t),W(u,p(a).tiers[t])}),r(e,n)}),V(B),K((e,t)=>{W(s,`Asked through ${p(a).provider??``}. ${p(a).key?`A key is held on this device.`:`No key is held yet, so Iso cannot be asked.`}`),H(m,`placeholder`,p(a).key?`paste another key to replace it`:`paste a key`),h.disabled=e,H(A,`placeholder`,p(a).spendCap?`$${p(a).spendCap} a month; another amount replaces it`:`a monthly cap in dollars`),j.disabled=t,W(L,`The lower bar in Iso's header fills toward this, over a calendar month. A key with a limit of its own at ${p(a).provider??``} is measured by that instead.`)},[()=>!p(o).trim(),()=>!(Number(p(l))>0)]),d(`submit`,f,e=>{e.preventDefault(),p(o).trim()&&_(p(o))}),w(m,()=>p(o),e=>b(o,e)),d(`submit`,k,e=>{e.preventDefault();let t=Number(p(l));t>0&&x(t)}),w(A,()=>p(l),e=>b(l,e)),r(e,t)};g(T,e=>{p(a)&&e(D)});var O=z(T,2),k=e=>{var t=Aa(),n=z(i(t),4);E(n),d(`blur`,n,()=>void h()),w(n,()=>p(f),e=>b(f,e)),r(e,t)};g(O,e=>{p(f)!==null&&e(k)});var A=z(O,2),j=e=>{var t=ja(),n=c(t,!0);K(()=>W(n,p(s))),r(e,t)};g(A,e=>{p(s)&&e(j)}),V(C),r(e,C),L()}j([`click`]);var Pa=f(`<section class="svelte-1h9x2hz"><h2 class="label svelte-1h9x2hz">this note</h2> <div class="row svelte-1h9x2hz"><button class="btn" type="button">A question about it</button> <button class="btn" type="button">A problem using it</button></div></section>`),Fa=f(`<section class="svelte-1h9x2hz"><h2 class="label svelte-1h9x2hz">the base</h2> <p><span class="name svelte-1h9x2hz"> </span> <span class="faint"> </span></p> <!></section>`),Ia=f(`<button type="button" role="radio"> </button>`),La=f(`<button type="button">fullscreen</button>`),Ra=M(`<path d="M5.8 2.5v11M10.2 2.5v11"></path>`),za=M(`<path d="M8 2.5v11M8 8h6.5"></path>`),Ba=f(`<button class="icon svelte-1h9x2hz" type="button"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3"><rect x="1.5" y="2.5" width="13" height="11"></rect><!></svg></button>`),Va=M(`<path d="M4 2.5h6l2.5 2.5v8.5H4zM6 7h5M6 9.5h5"></path>`),Ha=M(`<rect x="2" y="2.5" width="5" height="4"></rect><rect x="9" y="9.5" width="5" height="4"></rect><path d="M4.5 6.5v5H9"></path>`,1),Ua=M(`<path d="M8 2.5l5.5 5.5L8 13.5 2.5 8z"></path>`),Wa=f(`<button type="button"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3"><!></svg></button>`),Ga=f(`<span class="icons svelte-1h9x2hz" role="group" aria-label="Layout"></span> <span class="icons svelte-1h9x2hz" role="group" aria-label="Panes shown"></span>`,1),Ka=f(`<section class="svelte-1h9x2hz"><h2 class="label svelte-1h9x2hz">the screen</h2> <div class="row svelte-1h9x2hz"><!> <!></div></section>`),qa=f(`<!> <!> <section class="svelte-1h9x2hz"><h2 class="label svelte-1h9x2hz">the ground</h2> <div class="row svelte-1h9x2hz" role="radiogroup" aria-label="Ground"></div></section> <!> <p class="foot svelte-1h9x2hz"><a>the parts</a></p>`,1);function Ja(e,t){B(t,!0);let n={note:`Note`,atlas:`Atlas`,iso:`Iso`},a={cols:`Three columns`,stack:`The note beside the Atlas over Iso`,one:`One pane: the one in focus`},o=y(!1),s=y(!1);I(()=>{b(o,!!document.fullscreenEnabled&&!matchMedia(`(display-mode: standalone)`).matches,!0);let e=()=>{b(s,document.fullscreenElement!==null)};return e(),document.addEventListener(`fullscreenchange`,e),()=>document.removeEventListener(`fullscreenchange`,e)}),y(!1);function l(){document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen().catch(()=>void 0)}var d=qa(),f=i(d),h=e=>{let t=m(()=>Y.open);var n=Pa(),i=z(v(n),2),a=v(i),o=z(a,2);V(i),V(n),u(`click`,a,()=>{X.settings=null,$e(`question`,p(t))}),u(`click`,o,()=>{X.settings=null,$e(`problem`,p(t))}),r(e,n)},_=m(()=>Y.open&&!Y.open.startsWith(`@`));g(f,e=>{p(_)&&e(h)});var x=z(f,2),S=e=>{var t=Fa(),n=z(v(t),2),i=v(n),a=c(i,!0),o=z(i,2),s=c(o);V(n);var l=z(n,2);g(l,e=>{}),V(t),K(()=>{W(a,Y.session.name),W(s,`· ${Y.listing.notes.length??``} ${Y.listing.notes.length===1?`note`:`notes`}`)}),r(e,t)};g(x,e=>{Y.session&&e(S)});var C=z(x,2),w=z(v(C),2);G(w,21,()=>be,([e,t])=>e,(e,t)=>{var n=m(()=>ne(p(t),2));let i=()=>p(n)[0],a=()=>p(n)[1];var o=Ia();let s;var l=c(o,!0);K(()=>{s=R(o,1,`btn svelte-1h9x2hz`,null,s,{on:ye.chosen===i()}),H(o,`aria-checked`,ye.chosen===i()),W(l,a())}),u(`click`,o,()=>ye.choose(i())),r(e,o)}),V(w),V(C);var T=z(C,2),E=e=>{var t=Ka(),c=z(v(t),2),d=v(c),f=e=>{var t=La();let n;K(()=>{n=R(t,1,`btn svelte-1h9x2hz`,null,n,{on:p(s)}),H(t,`aria-pressed`,p(s))}),u(`click`,t,l),r(e,t)};g(d,e=>{p(o)&&e(f)});var m=z(d,2),h=e=>{var t=Ga(),o=i(t);G(o,20,()=>ge,e=>e,(e,t)=>{var n=Ba(),i=v(n),o=z(v(i)),s=e=>{var t=Ra();r(e,t)},c=e=>{var t=za();r(e,t)};g(o,e=>{t===`cols`?e(s):t===`stack`&&e(c,1)}),V(i),V(n),K(()=>{H(n,`aria-pressed`,X.layout===t),H(n,`aria-label`,a[t]),H(n,`title`,`${a[t]??``} (Alt+L)`)}),u(`click`,n,()=>X.setLayout(t)),r(e,n)}),V(o);var s=z(o,2);G(s,20,()=>Z,e=>e,(e,t)=>{var i=Wa();let a;var o=v(i),s=v(o),c=e=>{var t=Va();r(e,t)},l=e=>{var t=Ha();ee(2),r(e,t)},d=e=>{var t=Ua();r(e,t)};g(s,e=>{t===`note`?e(c):t===`atlas`?e(l,1):e(d,-1)}),V(o),V(i),K(e=>{a=R(i,1,`icon svelte-1h9x2hz`,null,a,{off:!X.show[t]}),H(i,`aria-pressed`,X.show[t]),H(i,`aria-label`,`Show ${n[t]??``}`),H(i,`title`,`Show or hide ${n[t]??``} (Alt+${e??``} brings it back)${t===`iso`?` · hide it when your terminal has the session`:``}`)},[()=>Z.indexOf(t)+1]),u(`click`,i,()=>X.toggle(t)),r(e,i)}),V(s),r(e,t)};g(m,e=>{X.narrow||e(h)}),V(c),V(t),r(e,t)};g(T,e=>{(p(o)||!X.narrow)&&e(E)});var D=z(T,2),O=c(D);K(e=>H(O,`href`,e),[()=>ie(`/parts`)]),u(`click`,O,()=>X.settings=null),r(e,d),L()}j([`click`]);var Ya=e=>{Ja(e,{})},Xa=e=>{Na(e,{})},Za=e=>{var t=$a(),n=z(v(t),2),i=e=>{var t=Qa(),n=c(t);K(()=>W(n,`${Y.listing.notes.length??``} ${Y.listing.notes.length===1?`note`:`notes`}`)),r(e,t)};g(n,e=>{Y.atlas&&e(i)}),V(t),r(e,t)},Qa=f(`<p class="soft svelte-12qhfyh"> </p>`),$a=f(`<section class="set svelte-12qhfyh"><h2 class="label svelte-12qhfyh">the map</h2> <!></section>`),eo=f(`<p class="stopped svelte-12qhfyh"> </p>`),to=f(`<div class="divider svelte-12qhfyh" role="separator" aria-orientation="vertical" tabindex="0"></div>`),no=f(`<button class="icon svelte-12qhfyh" type="button" data-tour="understanding" aria-label="Understanding note" title="Understanding note"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="svelte-12qhfyh"><path d="M8 14.5V7.5M8 7.5L4.6 4.4M8 7.5l3.4-3.1M8 7.5V2.5M4.6 4.4L2.8 4.6M4.6 4.4L4.5 2.4M11.4 4.4l1.8.2M11.4 4.4l.1-2M8 11L5.8 9.6M8 11l2.2-1.4" class="svelte-12qhfyh"></path></svg></button>`),ro=f(`<span role="status"><i aria-hidden="true" class="svelte-12qhfyh"></i><span class="hidden-label svelte-12qhfyh"> </span></span>`),io=f(`<!> <!> <button class="icon svelte-12qhfyh" type="button" aria-label="All notes" title="All notes, and search"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3" class="svelte-12qhfyh"><path d="M2.5 3h4M4.5 3v9.5h3M4.5 7.5h3" class="svelte-12qhfyh"></path><rect x="8" y="5.5" width="5.5" height="3.5" class="svelte-12qhfyh"></rect><rect x="8" y="10.5" width="5.5" height="3.5" class="svelte-12qhfyh"></rect></svg></button>`,1),ao=f(`<div class="tree svelte-12qhfyh"><!></div>`),oo=f(`<!> <div class="pbody note-body svelte-12qhfyh"><!></div> <!>`,1),so=f(`<span class="says svelte-12qhfyh"> </span> <button class="link svelte-12qhfyh" type="button">stop</button>`,1),co=f(`<span title="click open ground to let its path go"> </span>`),lo=f(`<span class="says svelte-12qhfyh">click a note to link it, again to take it away</span>`),uo=f(`<span class="says svelte-12qhfyh"> </span>`),fo=f(`<span class="where soft svelte-12qhfyh"> </span><button class="btn out svelte-12qhfyh" type="button">↑ out</button>`,1),po=f(`<button class="icon svelte-12qhfyh" type="button" aria-label="The whole map" title="The whole map (0)"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3" class="svelte-12qhfyh"><path d="M2.5 6V2.5H6M10 2.5h3.5V6M13.5 10v3.5H10M6 13.5H2.5V10" class="svelte-12qhfyh"></path></svg></button>`),mo=f(`<!> <!> <!>`,1),ho=f(`<!> <div class="pbody atlas-body svelte-12qhfyh"><!></div>`,1),go=f(`<span> </span>`),_o=f(`<!> <!> <!> <button class="icon ctx svelte-12qhfyh" type="button" aria-label="Context" title="What Iso is sent, part by part"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3" class="svelte-12qhfyh"><path d="M3 3.5h10M3 6.5h10M3 9.5h6M3 12.5h6" class="svelte-12qhfyh"></path></svg> <!></button> <button class="icon svelte-12qhfyh" type="button" aria-label="A new conversation" title="A new conversation: nothing earlier is sent"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3" class="svelte-12qhfyh"><path d="M8 3.5v9M3.5 8h9" class="svelte-12qhfyh"></path></svg></button>`,1),vo=f(`<!> <div class="pbody iso-body svelte-12qhfyh"><!></div>`,1),yo=f(`<section><!> <!></section>`),bo=f(`<span class="badge svelte-12qhfyh"> </span>`),xo=f(`<button type="button" class="svelte-12qhfyh"> <!></button>`),So=f(`<div class="shell svelte-12qhfyh"><main class="panes svelte-12qhfyh"><!></main> <nav class="tabs svelte-12qhfyh" aria-label="Panes"></nav></div>`);function Co(e,o){B(o,!0),Y.signIn!==null&&(X.settings=`iso`);let s=m(()=>X.standing);t(()=>{_e.route.id===`/n/[...id]`&&_e.params.id&&X.setLast(_e.params.id)}),t(()=>{_e.url.href,X.tree=!1}),I(()=>{let e=matchMedia(`(max-width: 760px)`);X.narrow=e.matches;let t=()=>{X.narrow=e.matches,X.narrow&&requestAnimationFrame(()=>X.scroll?.(X.focus))};return e.addEventListener(`change`,t),X.scroll=e=>{if(!X.narrow||!p(l))return;let t=p(l).querySelector(`[data-pane="${e}"]`);t&&p(l).scrollTo({left:t.offsetLeft,behavior:matchMedia(`(prefers-reduced-motion: reduce)`).matches?`auto`:`smooth`})},()=>{e.removeEventListener(`change`,t),X.scroll=null}});let l=y(void 0),f=m(()=>{if(X.layout===`stack`&&p(s).length===3){let[e,t]=p(s);return{template:`"a b" minmax(0, 1fr) "a c" minmax(0, 1fr) / minmax(0, ${X.widths[e]}fr) minmax(0, ${X.widths[t]}fr)`,areas:Object.fromEntries(p(s).map((e,t)=>[e,`abc`[t]]))}}return{template:`minmax(0, 1fr) / ${p(s).map(e=>`minmax(0, ${X.widths[e]}fr)`).join(` `)}`,areas:{}}});function x(e,t){let n=e.currentTarget,r=p(s)[p(s).indexOf(t)-1];if(!r||!p(l))return;n.setPointerCapture(e.pointerId);let i=p(s).reduce((e,t)=>e+(X.layout===`stack`&&t===p(s)[2]?0:X.widths[t]),0),a=p(l).getBoundingClientRect().width/i,o=e.clientX,c=e=>{let n=(e.clientX-o)/a,i=X.widths[r]+n,s=X.widths[t]-n;i<.4||s<.4||(X.setWidth(r,i),X.setWidth(t,s),o=e.clientX)},u=()=>{n.removeEventListener(`pointermove`,c),n.removeEventListener(`pointerup`,u)};n.addEventListener(`pointermove`,c),n.addEventListener(`pointerup`,u)}function C(e,t){let n=p(s)[p(s).indexOf(t)-1];if(!n||e.key!==`ArrowLeft`&&e.key!==`ArrowRight`)return;let r=e.key===`ArrowLeft`?-.1:.1;X.widths[n]+r>=.4&&X.widths[t]-r>=.4&&(X.setWidth(n,X.widths[n]+r),X.setWidth(t,X.widths[t]-r)),e.preventDefault()}function w(){X.narrow&&p(l)&&(clearTimeout(T),T=setTimeout(()=>{let e=Z[Math.round(p(l).scrollLeft/p(l).clientWidth)];e&&e!==X.focus&&(X.focus=e,e===`iso`&&(X.unseen=0))},60))}let T;function E(e){if(e.key===`Escape`&&X.tree){X.tree=!1;return}if(!e.altKey||e.ctrlKey||e.metaKey||e.defaultPrevented)return;let t=e.target?.closest?.(`.cm-editor, input, textarea`)!=null,n=e.key;if(n===`1`||n===`2`||n===`3`)X.to(Z[n-1]);else if(n.toLowerCase()===`l`&&!X.narrow)X.nextLayout();else if(t)return;else if(n===`ArrowLeft`||n===`ArrowRight`)X.step(n===`ArrowRight`?1:-1);else if(A[n.toLowerCase()])X.flip(A[n.toLowerCase()]);else return;e.preventDefault()}let O={note:`Note`,atlas:`Atlas`,iso:`Iso`},A={p:`provenance`,t:`timeline`,q:`questions`,b:`problems`,w:`web`,k:`code`,c:`context`,n:`notes`,f:`files`,r:`run`},j=m(()=>_e.route.id===`/n/[...id]`||_e.route.id===`/draft/[id]`),M=m(()=>Y.atlas&&!Y.atlas.pick&&Y.iso?.start?.place.form!==`turn`?Y.iso:null),N=m(()=>p(M)?.state===`reading`||p(M)?.state===`writing`),P=m(()=>p(M)?Y.listing.notes.find(e=>e.id===p(M).note)?.title??`your note`:``),F=()=>{p(M)&&Y.api.stop(p(M).request)},ee=m(()=>de(p(M)?.agent)),ne=m(()=>{let e=p(M)?.steps.findLast(e=>e.opened&&!e.failed)?.opened;return e?Y.listing.notes.find(t=>t.id===e)?.title??e:``});var U=So();k(`12qhfyh`,e=>{h(()=>{a.title=p(j)&&Y.here?`${Y.here} · isorite`:`isorite`})}),d(`keydown`,_,E);var ie=v(U);let ae;var oe=v(ie),se=e=>{var t=eo(),n=c(t);K(()=>W(n,`isorite could not open the base: ${Y.error??``}`)),r(e,t)},ce=e=>{var t=n(),a=i(t);G(a,16,()=>Z,e=>e,(e,t)=>{var a=yo();let l,h;var _=v(a),y=e=>{var n=to();K(()=>H(n,`aria-label`,`Resize ${O[t]??``}`)),u(`pointerdown`,n,e=>x(e,t)),u(`keydown`,n,e=>C(e,t)),r(e,n)};g(_,e=>{!X.narrow&&p(s)[0]!==t&&(X.layout!==`stack`||p(s)[2]!==t)&&e(y)});var b=z(_,2),w=e=>{var t=oo(),n=i(t);va(n,{pane:`note`,name:`Note`,get settings(){return Ya},tools:e=>{var t=io(),n=i(t),a=e=>{var t=no();K(()=>H(t,`aria-pressed`,X.understanding)),u(`click`,t,()=>X.showUnderstanding()),r(e,t)},o=m(()=>_e.route.id===`/n/[...id]`&&!(_e.params.id??``).startsWith(`@`));g(n,e=>{p(o)&&e(a)});var s=z(n,2),l=e=>{var t=ro();let n;var i=z(v(t)),a=c(i,!0);V(t),K(e=>{n=R(t,1,`saved svelte-12qhfyh`,null,n,{bad:Y.saving.bad,busy:e}),H(t,`title`,Y.saving.text),W(a,Y.saving.text)},[()=>!Y.saving.text.startsWith(`saved`)]),r(e,t)};g(s,e=>{p(j)&&Y.saving&&e(l)});var d=z(s,2);K(()=>H(d,`aria-pressed`,_e.route.id===`/notes`||X.tree)),u(`click`,d,()=>{_e.route.id!==`/notes`&&(X.tree=!X.tree)}),r(e,t)},$$slots:{tools:!0}});var a=z(n,2),s=v(a);S(s,()=>o.children),V(a);var l=z(a,2),d=e=>{var t=ao(),n=v(t);ve(n,{}),V(t),r(e,t)};g(l,e=>{X.tree&&_e.route.id!==`/notes`&&e(d)}),r(e,t)},T=e=>{var t=ho(),a=i(t);va(a,{pane:`atlas`,name:`Atlas`,get settings(){return Za},tools:e=>{var t=mo(),a=i(t),o=e=>{var t=n(),a=i(t),o=e=>{var t=so(),n=i(t),a=c(n,!0),o=z(n,2);K(e=>W(a,e),[()=>p(M).note.startsWith(`@draft/`)?`your note opens when Iso is done`:`Iso is answering in ${p(P)}`]),u(`click`,o,F),r(e,t)},s=e=>{var t=co();let n;var i=c(t,!0);K(()=>{n=R(t,1,`says svelte-12qhfyh`,null,n,{bad:p(M).state===`failed`}),W(i,p(M).state===`done`?`Iso is done in ${p(P)}`:p(M).state===`stopped`?`Iso was stopped`:`Iso could not answer: ${p(M).message}`)}),r(e,t)};g(a,e=>{p(N)?e(o):e(s,-1)}),r(e,t)},s=e=>{var t=lo();r(e,t)},l=e=>{var t=uo(),n=c(t);K(()=>W(n,`${Y.atlas.steps??``} ${Y.atlas.steps===1?`step`:`steps`} back`)),r(e,t)};g(a,e=>{p(M)&&!p(M).agent&&(!Y.open||p(M).note!==Y.open)&&(p(N)||!Y.atlas?.chosen)?e(o):Y.atlas?.pick?e(s,1):Y.atlas?.chosen&&Y.atlas.steps&&e(l,2)});var d=z(a,2),f=e=>{var t=fo(),n=i(t),a=c(n,!0),o=z(n);K(()=>W(a,Y.atlas.here)),u(`click`,o,function(...e){Y.atlas.out?.apply(this,e)}),r(e,t)};g(d,e=>{Y.atlas?.here&&e(f)});var m=z(d,2),h=e=>{var t=po();u(`click`,t,function(...e){Y.atlas.fit?.apply(this,e)}),r(e,t)};g(m,e=>{Y.atlas&&e(h)}),r(e,t)},$$slots:{tools:!0}});var o=z(a,2);zr(v(o),{}),V(o),r(e,t)},E=e=>{var t=vo(),a=i(t);va(a,{pane:`iso`,name:`Iso`,get settings(){return Xa},tools:e=>{var t=_o(),a=i(t),o=e=>{var t=uo(),n=c(t,!0);K(()=>{H(t,`title`,p(N)?``:`click open ground on the Atlas to let its path go`),W(n,p(N)?`${p(ee)} is ${p(ne)?`reading ${p(ne)}`:`at work`} in the terminal`:`${p(ee)}'s turn is done`)}),r(e,t)};g(a,e=>{p(M)?.agent&&e(o)});var s=z(a,2),l=e=>{Ca(e,{})};g(s,e=>{X.mode!==`build`&&e(l)});var d=z(s,2);ba(d,{});var f=z(d,2),m=z(v(f),2),h=e=>{var t=n(),a=i(t);re(a,()=>q.fresh,e=>{var t=go();let n;var i=c(t,!0);K(()=>{n=R(t,1,`n svelte-12qhfyh`,null,n,{pulse:$.view===`chat`&&q.fresh!==``}),W(i,q.sent.length)}),r(e,t)}),r(e,t)};g(m,e=>{q.sent.length&&e(h)}),V(f);var _=z(f,2);K(()=>{H(f,`aria-pressed`,$.view===`context`),_.disabled=X.mode===`build`||!!$.running||!$.turns.length}),u(`click`,f,()=>$.view=$.view===`context`?`chat`:`context`),u(`click`,_,()=>{$.fresh(),$.view=`chat`}),r(e,t)},$$slots:{tools:!0}});var o=z(a,2);ra(v(o),{}),V(o),r(e,t)};g(b,e=>{t===`note`?e(w):t===`atlas`?e(T,1):e(E,-1)}),V(a),K(e=>{l=R(a,1,`pane svelte-12qhfyh`,null,l,{focus:X.focus===t,first:p(s)[0]===t,top:X.layout===`stack`&&p(s)[1]===t&&p(s).length===3}),H(a,`data-pane`,t),H(a,`aria-label`,O[t]),H(a,`hidden`,e),h=D(a,``,h,{"grid-area":p(f).areas[t]})},[()=>!p(s).includes(t)]),d(`pointerdown`,a,()=>{X.narrow||(X.focus=t)},!0),r(e,a)}),r(e,t)};g(oe,e=>{Y.error?e(se):e(ce,-1)}),V(ie),te(ie,e=>b(l,e),()=>p(l));var le=z(ie,2);G(le,20,()=>Z,e=>e,(e,t)=>{var n=xo(),i=v(n),a=z(i),o=e=>{var t=bo(),n=c(t,!0);K(()=>W(n,X.unseen)),r(e,t)};g(a,e=>{t===`iso`&&X.unseen&&e(o)}),V(n),K(()=>{H(n,`aria-current`,X.focus===t),H(n,`aria-label`,O[t]),W(i,`${O[t]??``} `)}),u(`click`,n,()=>X.to(t)),r(e,n)}),V(le),V(U),K(()=>{H(ie,`data-layout`,X.layout),ae=D(ie,``,ae,{"grid-template":p(f).template})}),d(`scroll`,ie,w),r(e,U),L()}j([`pointerdown`,`keydown`,`click`]);export{Co as component,ze as universal};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{E as e,G as t,K as n,O as r,nt as i,q as a,rt as o,w as s,z as c}from"../chunks/-7PsQOY4.js";import"../chunks/xihTtKlq.js";import{t as l}from"../chunks/D4Jg9Smi.js";var u=r(`<h1> </h1> <p> </p>`,1);function d(r,d){o(d,!0);var f=u(),p=t(f),m=n(p,!0),h=a(p,2),g=n(h,!0);c(()=>{s(m,l.status),s(g,l.error?.message)}),e(r,f),i()}export{d as component};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,nt as t,o as n,rt as r}from"../chunks/-7PsQOY4.js";import{o as i,t as a}from"../chunks/HCrXwzvD.js";import"../chunks/xihTtKlq.js";import{r as o,t as s}from"../chunks/MjV3DsQW.js";import{i as c}from"../chunks/C1xA2mdF.js";import"../chunks/DqVFJWdL.js";function l(l,u){r(u,!1),e(()=>{let e=s.listing.notes.some(e=>e.id===c.last)?c.last:``;a(e?o(e):i(`/notes`),{replaceState:!0})}),n(),t()}export{l as component};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,nt as t,o as n,rt as r}from"../chunks/-7PsQOY4.js";import{o as i,t as a}from"../chunks/HCrXwzvD.js";import"../chunks/xihTtKlq.js";import{r as o,t as s}from"../chunks/MjV3DsQW.js";import{i as c}from"../chunks/C1xA2mdF.js";import{t as l}from"../chunks/D4Jg9Smi.js";import"../chunks/DqVFJWdL.js";function u(u,d){r(d,!1),e(()=>{let e=s.listing.notes.some(e=>e.id===c.last)?c.last:``;a((e?o(e):i(`/notes`))+l.url.search,{replaceState:!0}).then(()=>c.to(`atlas`))}),n(),t()}export{u as component};
|