From 3dceefb38733b00fce7b8df7236504d4e67ca5eb Mon Sep 17 00:00:00 2001 From: Steve Shreeve Date: Wed, 16 Sep 2026 01:21:01 -0600 Subject: [PATCH] emitter: a tail-position try returns in place A try that is the last statement of a function now emits as a statement whose branches return their values, instead of an arrow IIFE created and called on every invocation. The value form keeps its wrapper for true expression positions such as `x = try ...`, where there is no function to return from. Values are identical: the wrapper only turned each branch's last expression into a return, and the statement form does the same in place. `this` and `arguments` were already preserved by the arrow. An async tail try loses the async wrapper and its extra await; a generator may now yield inside a tail try, which the wrapper rejected. Of 130 tail-position tries across packages and src, every one now emits in place; the 28 wrappers that remain are assignments. Corpus: lowerings.js changes one site, three lines, from the wrapper to the statement; 184 artifacts unchanged. The parser is untouched. The browser bundle is regenerated under the pinned Bun. Battery: twelve rows in errors.rip pin the body and handler values, the handler-less form, finally ordering, an explicit inner return, a catch pattern, a try after other statements, yield and await inside, and the emitted code for the tail, async and value forms. Two sweep rows that pinned the wrapper shape now pin the statement. --- dist/@rip/rip.js | 201 +++++++++++------------- dist/@rip/rip.min.js | 8 +- dist/@rip/rip.min.js.br | Bin 177582 -> 177467 bytes src/emitter.js | 13 +- test/corpus/expected/lowerings.js | 4 +- test/corpus/expected/lowerings.map.json | 2 +- test/rip/errors.rip | 131 +++++++++++++++ test/rip/sweep.rip | 8 +- 8 files changed, 245 insertions(+), 122 deletions(-) diff --git a/dist/@rip/rip.js b/dist/@rip/rip.js index 3cb65e05..bd93f4c8 100644 --- a/dist/@rip/rip.js +++ b/dist/@rip/rip.js @@ -14016,6 +14016,10 @@ ${pad ?? ""}`); const ind = this.ind; this.rejectYieldInIIFE(node); this.b.emit(Emitter.containsAwait(node) ? "await (async () => { " : "(() => { "); + this.tryBranches(node, ind); + this.b.emit(" })()"); + } + tryBranches(node, ind) { this.mark(node, "$self", () => { this.b.emit("try "); const vbody = isBlock(node[1]) ? node[1] : ["block", node[1]]; @@ -14065,7 +14069,6 @@ ${pad ?? ""}`); } } }); - this.b.emit(" })()"); } valueSwitch(node) { const [, subject, cases, dflt] = node; @@ -20723,9 +20726,7 @@ ${" ".repeat(ind)}`); return; } if (h === "try") { - this.b.emit("return "); - this.withTailReturn(() => this.valueTry(stmt)); - this.b.emit(";"); + this.withTailReturn(() => this.tryBranches(stmt, ind)); return; } if (h === "switch" && stmt.length === 4) { @@ -26505,43 +26506,41 @@ makeSourceCell = function(fetchFn, staleTime, onSettle = null) { if (!background) loading.value = true; let wasLoaded = loaded; - return await (async () => { - try { - pending = fetchFn(controller?.signal); - if (!(pending != null && typeof pending.then === "function")) { - throw new TypeError("Rip App: source fetch must return a Promise"); - } - result = await pending; - if (mine !== generation) - return result; - failure.value = null; - data.value = result; - loaded = true; - loadedAt = Date.now(); - freshUntil = preload && !preloadConsumed ? loadedAt + PRELOAD_FRESH_MS : 0; + try { + pending = fetchFn(controller?.signal); + if (!(pending != null && typeof pending.then === "function")) { + throw new TypeError("Rip App: source fetch must return a Promise"); + } + result = await pending; + if (mine !== generation) return result; - } catch (error) { - if (mine !== generation) - return; - if (error?.name === "AbortError") - return; - failure.value = error; - if (!wasLoaded) { - loaded = false; - loadedAt = 0; - throw error; - } + failure.value = null; + data.value = result; + loaded = true; + loadedAt = Date.now(); + freshUntil = preload && !preloadConsumed ? loadedAt + PRELOAD_FRESH_MS : 0; + return result; + } catch (error) { + if (mine !== generation) return; - } finally { - if (mine === generation) { - loading.value = false; - inflight = null; - inflightPreload = false; - preloadConsumed = false; - onSettle?.(); - } + if (error?.name === "AbortError") + return; + failure.value = error; + if (!wasLoaded) { + loaded = false; + loadedAt = 0; + throw error; } - })(); + return; + } finally { + if (mine === generation) { + loading.value = false; + inflight = null; + inflightPreload = false; + preloadConsumed = false; + onSettle?.(); + } + } }; let start = function(background = false, preload = false) { let pending = load(background, preload); @@ -27370,16 +27369,14 @@ function createMutation(fn, opts = {}) { } if (!(me === generation)) return; - return await (async () => { - try { - _succeeded.value = true; - await opts.onSuccess?.(r); - return r; - } finally { - if (me === generation) - _pending.value = false; - } - })(); + try { + _succeeded.value = true; + await opts.onSuccess?.(r); + return r; + } finally { + if (me === generation) + _pending.value = false; + } }; Object.defineProperty(mutation, "pending", { get() { return _pending.value; @@ -27661,13 +27658,11 @@ fail = function(message) { throw new Error(`Rip App: ${message}`); }; var decodeSegment = function(segment) { - return (() => { - try { - return decodeURIComponent(segment); - } catch (error) { - return null; - } - })(); + try { + return decodeURIComponent(segment); + } catch (error) { + return null; + } }; validRoot = function(root) { if (root === "") @@ -29254,30 +29249,28 @@ function createRenderer(opts) { let mine = ++generation; if (Array.isArray(router) || typeof router === "string" ? router.includes("navigating") : ("navigating" in router)) router.navigating = true; - return await (async () => { - try { - return await performMount(info, mine, componentRegistry); - } catch (caught) { - error = caught; - if (mine !== generation) - return null; - failure = (() => { - if (error?.name === "GateFailure") { - return error; - } else { - file = info?.route?.file ?? ""; - return failureFor(error?.path ?? file, file, error); - } - })(); - onError?.(failure); - if (!(current != null)) - showFatalCard(failure); - throw failure; - } finally { - if (mine === generation && (Array.isArray(router) || typeof router === "string" ? router.includes("navigating") : ("navigating" in router))) - router.navigating = false; - } - })(); + try { + return await performMount(info, mine, componentRegistry); + } catch (caught) { + error = caught; + if (mine !== generation) + return null; + failure = (() => { + if (error?.name === "GateFailure") { + return error; + } else { + file = info?.route?.file ?? ""; + return failureFor(error?.path ?? file, file, error); + } + })(); + onError?.(failure); + if (!(current != null)) + showFatalCard(failure); + throw failure; + } finally { + if (mine === generation && (Array.isArray(router) || typeof router === "string" ? router.includes("navigating") : ("navigating" in router))) + router.navigating = false; + } }; let renderer = null; renderer = { @@ -30201,26 +30194,24 @@ function connectFeed(client, opts = {}) { let verdict; if (failed || closed) return false; - return await (async () => { - try { - verdict = await client.apply(change); - if (verdict === "rejected") { - if (validHash2(change?.hash)) - rejectedHash = change?.hash; - return false; - } - if (verdict === "reload" || !verdict) { - reload("change could not be applied"); - return false; - } - rejectedHash = null; - return true; - } catch (error) { - report("[Rip] publication change failed:", error); - reload("change failed"); + try { + verdict = await client.apply(change); + if (verdict === "rejected") { + if (validHash2(change?.hash)) + rejectedHash = change?.hash; return false; } - })(); + if (verdict === "reload" || !verdict) { + reload("change could not be applied"); + return false; + } + rejectedHash = null; + return true; + } catch (error) { + report("[Rip] publication change failed:", error); + reload("change failed"); + return false; + } }; let enqueue = function(change, owner) { tail = tail.then(async function() { @@ -30304,11 +30295,9 @@ function connectFeed(client, opts = {}) { return; report("[Rip] publication reconnect check failed:", error); ready = false; - return (() => { - try { - return socket?.close(); - } catch {} - })(); + try { + return socket?.close(); + } catch {} }); tail = task.then(function() { return true; @@ -30414,11 +30403,9 @@ function connectFeed(client, opts = {}) { if (closed || failed || owner !== connection || ready) return; report("[Rip] publication subscription acknowledgement timed out"); - return (() => { - try { - return socket.close(); - } catch {} - })(); + try { + return socket.close(); + } catch {} }, ackTimeout); return; }; diff --git a/dist/@rip/rip.min.js b/dist/@rip/rip.min.js index 1a156370..b6130e8d 100644 --- a/dist/@rip/rip.min.js +++ b/dist/@rip/rip.min.js @@ -127,10 +127,10 @@ ${s??""}`);let h=()=>{if(f)this.b.emit(f);else this.expr(i)};if(this.b.emit("for `),this.b.emit(`${l} return ${c}; `),this.b.emit(`${l}})()`)})}static objectComprehension(e){if(e.length!==2)return null;let t=e[1];if(!E(t)||t[0]!==":")return null;if(!(typeof t[1]==="string"||E(t[1])&&t[1][0]==="dynamicKey"))return null;if(!be(t[2]))return null;if(t[2][2][0][0]!=="for-of")return null;return t}static ifArms(e){let t=[],r=e,i=null;while(!0){if(t.push(r),r.length<4)break;if(E(r[3])&&r[3][0]==="if"){r=r[3];continue}i=r[3];break}return{arms:t,elseBlock:i}}static branchStmts(e){return T.stripErased(u1(e)?e.slice(1):[e[0]])}branchLive(e,t=!1){let r=u1(e)?e.slice(1):[e[0]];if(this.ts&&t){for(let i of r)if(E(i)&&i[0]==="type-decl")this.pendingTypeDecls.push(i)}return this.liveStmts(r)}static statementOnly(e){if(typeof e==="string"&&(e==="break"||e==="continue"||e==="debugger"))return!0;return E(e)&&(e[0]==="return"||e[0]==="throw"||g1(e[0]))}static containsReturn(e){if(!E(e))return!1;let t=e[0];if(t==="return")return!0;if(t==="->"||t==="=>"||g1(t)||t==="class")return!1;return e.some((r)=>T.containsReturn(r))}static containsCtrl(e){if(typeof e==="string")return e==="break"||e==="continue";if(!E(e))return!1;let t=e[0];if(t==="break"||t==="continue"||t==="return"||t==="throw")return!0;if(t==="->"||t==="=>"||g1(t)||t==="class")return!1;return e.some((r)=>T.containsCtrl(r))}static ifIsSimple(e){let{arms:t,elseBlock:r}=T.ifArms(e),i=(n)=>{let s=T.branchStmts(n);return s.length===1&&!T.statementOnly(s[0])};return t.every((n)=>i(n[2]))&&(r===null||i(r))}valueIf(e){if(!T.ifIsSimple(e)){let t=this.ind;this.rejectYieldInIIFE(e);let r=T.containsAwait(e);this.b.emit(r?"await (async () => { ":"(() => { "),this.mark(e,"$self",()=>this.returnifyIf(e,t)),this.b.emit(" })()");return}this.mark(e,"$self",()=>this.ifTernary(e))}ifTernary(e){if(this.grouped(e,"condition",e[1],T.needsGrouping(e[1],"operand")||E(e[1])&&(e[1][0]==="await"||e[1][0]==="yield")),this.b.emit(" ? "),this.ternaryArm(e,"then",this.branchLive(e[2],!0)[0]),this.b.emit(" : "),e.length<4)this.b.emit("undefined");else if(E(e[3])&&e[3][0]==="if")this.mark(e,"else",()=>{this.b.emit("("),this.ifTernary(e[3]),this.b.emit(")")});else this.ternaryArm(e,"else",this.branchLive(e[3],!0)[0])}ternaryArm(e,t,r){this.mark(e,t,()=>{let i=T.needsGrouping(r,"operand")||W1(r);if(i)this.b.emit("(");if(this.expr(r),i)this.b.emit(")")})}returnBlock(e,t){let r=this.branchLive(e);this.b.emit(`{ `),this.emitTsTypeDecls(u1(e)?e.slice(1):[e[0]]," ".repeat(t+1)),r.forEach((i,n)=>{if(this.b.emit(" ".repeat(t+1)),n===r.length-1)this.implicitReturn(i,t+1);else this.statement(i,t+1);this.b.emit(` -`)}),this.b.emit(" ".repeat(t)+"}")}returnifyIf(e,t){if(this.b.emit("if ("),this.grouped(e,"condition",e[1],T.needsGrouping(e[1],"operand")),this.b.emit(") "),this.mark(e,"then",()=>this.returnBlock(e[2],t)),e.length>=4)if(this.b.emit(" else "),E(e[3])&&e[3][0]==="if")this.returnifyIf(e[3],t);else this.mark(e,"else",()=>this.returnBlock(e[3],t))}rejectYieldInIIFE(e){if(T.containsYield(e))throw this.positionedError(e,"emitter: yield inside an expression-lowered construct cannot cross the IIFE boundary; restructure as statements");this.rejectCapturedCtrl(e)}static findCapturedCtrl(e,t=d3){let r=null,i=(n,s,a)=>{if(r!==null||!E(n))return;let o=n[0];if(T1(n)||g1(o)||o==="class")return;if(o==="return"){if(t.has("return"))r={kind:"return",node:n};return}let l=ct(n)||be(n)?s+1:s,c=o==="switch"?a+1:a,f=o==="block"||o==="program"||o==="try";for(let h=1;h { ":"(() => { "),this.mark(e,"$self",()=>{this.b.emit("try ");let r=u1(e[1])?e[1]:["block",e[1]];if(this.mark(e,"body",()=>this.returnBlock(r,t)),e.length===2)this.b.emit(" catch {}");for(let i of e.slice(2)){if(!E(i))continue;if(u1(i))this.b.emit(" finally "),this.braceBlock(i,t);else{let[n,s]=i;if(n===null)this.b.emit(" catch "),this.returnBlock(s,t);else if(T.isPattern(n)){this.checkExportedConstWrite(i,n);let a=this.loopTempName("_err");this.b.emit(` catch (${a}`),this.tsScaffoldAny(),this.b.emit(`) { +`)}),this.b.emit(" ".repeat(t)+"}")}returnifyIf(e,t){if(this.b.emit("if ("),this.grouped(e,"condition",e[1],T.needsGrouping(e[1],"operand")),this.b.emit(") "),this.mark(e,"then",()=>this.returnBlock(e[2],t)),e.length>=4)if(this.b.emit(" else "),E(e[3])&&e[3][0]==="if")this.returnifyIf(e[3],t);else this.mark(e,"else",()=>this.returnBlock(e[3],t))}rejectYieldInIIFE(e){if(T.containsYield(e))throw this.positionedError(e,"emitter: yield inside an expression-lowered construct cannot cross the IIFE boundary; restructure as statements");this.rejectCapturedCtrl(e)}static findCapturedCtrl(e,t=d3){let r=null,i=(n,s,a)=>{if(r!==null||!E(n))return;let o=n[0];if(T1(n)||g1(o)||o==="class")return;if(o==="return"){if(t.has("return"))r={kind:"return",node:n};return}let l=ct(n)||be(n)?s+1:s,c=o==="switch"?a+1:a,f=o==="block"||o==="program"||o==="try";for(let h=1;h { ":"(() => { "),this.tryBranches(e,t),this.b.emit(" })()")}tryBranches(e,t){this.mark(e,"$self",()=>{this.b.emit("try ");let r=u1(e[1])?e[1]:["block",e[1]];if(this.mark(e,"body",()=>this.returnBlock(r,t)),e.length===2)this.b.emit(" catch {}");for(let i of e.slice(2)){if(!E(i))continue;if(u1(i))this.b.emit(" finally "),this.braceBlock(i,t);else{let[n,s]=i;if(n===null)this.b.emit(" catch "),this.returnBlock(s,t);else if(T.isPattern(n)){this.checkExportedConstWrite(i,n);let a=this.loopTempName("_err");this.b.emit(` catch (${a}`),this.tsScaffoldAny(),this.b.emit(`) { `),this.b.emit(" ".repeat(t+1)+"("),this.mark(i,"binding",()=>this.withPattern(()=>this.expr(n))),this.b.emit(` = ${a}); `);let o=this.branchLive(s);this.emitTsTypeDecls(u1(s)?s.slice(1):[s[0]]," ".repeat(t+1)),o.forEach((l,c)=>{if(this.b.emit(" ".repeat(t+1)),c===o.length-1)this.implicitReturn(l,t+1);else this.statement(l,t+1);this.b.emit(` -`)}),this.b.emit(" ".repeat(t)+"}")}else this.b.emit(" catch ("),this.mark(i,"binding",()=>this.b.emit(n)),this.b.emit(") "),this.withBindings([n],()=>this.returnBlock(s,t))}}}),this.b.emit(" })()")}valueSwitch(e){let[,t,r,i]=e,n=this.ind,s=" ".repeat(n);this.rejectYieldInIIFE(e),this.b.emit(T.containsAwait(e)?"await (async () => { ":"(() => { "),this.mark(e,"$self",()=>{if(T.hasMatchArms(r))this.checkMatchSwitch(e),this.matchChain(e,n,(a)=>this.returnBlock(a,n));else if(t!==null){this.b.emit("switch ("),this.mark(e,"subject",()=>this.expr(t)),this.b.emit(`) { +`)}),this.b.emit(" ".repeat(t)+"}")}else this.b.emit(" catch ("),this.mark(i,"binding",()=>this.b.emit(n)),this.b.emit(") "),this.withBindings([n],()=>this.returnBlock(s,t))}}})}valueSwitch(e){let[,t,r,i]=e,n=this.ind,s=" ".repeat(n);this.rejectYieldInIIFE(e),this.b.emit(T.containsAwait(e)?"await (async () => { ":"(() => { "),this.mark(e,"$self",()=>{if(T.hasMatchArms(r))this.checkMatchSwitch(e),this.matchChain(e,n,(a)=>this.returnBlock(a,n));else if(t!==null){this.b.emit("switch ("),this.mark(e,"subject",()=>this.expr(t)),this.b.emit(`) { `);for(let a of r){let[,o,l]=a;for(let c of o)this.b.emit(`${s} case `),this.expr(c),this.b.emit(`: `);this.returnCaseBody(l,n)}if(i!==null)this.b.emit(`${s} default: `),this.returnCaseBody(i,n);this.b.emit(`${s}}`)}else if(r.forEach((a,o)=>{let[,l,c]=a;if(o>0)this.b.emit(" else ");this.b.emit("if (("),(Array.isArray(l)?l:[l]).forEach((h,u)=>{if(u>0)this.b.emit(") || (");this.expr(h)}),this.b.emit(")) "),this.returnBlock(c,n)}),i!==null)this.b.emit(" else "),this.returnBlock(i,n)}),this.b.emit(" })()")}returnCaseBody(e,t){this.inCtrl(()=>this.returnCaseBodyCtrl(e,t))}returnCaseBodyCtrl(e,t){let r=this.branchLive(e);this.emitTsTypeDecls(u1(e)?e.slice(1):[e[0]]," ".repeat(t+2)),r.forEach((i,n)=>{if(this.b.emit(" ".repeat(t+2)),n===r.length-1)this.implicitReturn(i,t+2);else this.statement(i,t+2);this.b.emit(` @@ -286,7 +286,7 @@ ${" ".repeat(t)}`);n.forEach((h,u)=>{this.b.emit(`${h} = `),c(),this.b.emit(`[$ `);for(let f of o){let h=E(f.name)&&f.name[0]==="default",u=h?T.paramCore(f.name[1]):f.name,d=h?f.name[1]:f.node;if(E(u)&&u[0]==="rest")throw this.positionedError(f.node,"emitter: a rest parameter cannot follow the '...' gap — the gap already binds every argument between the head and the tail, so a second rest has nothing left to collect; name the tail parameter instead");if(this.b.emit(" ".repeat(i+1)+"const "),typeof u==="string")this.mark(f.node,"$self",()=>this.emitPrimitive(u));else this.withPattern(()=>this.expr(u),!0);let S=this.ts?this.annotationText(d):null;if(S!==null)this.tsAnnotate(d,"annotation",S);if(this.b.emit(" = "),h)this.b.emit(`${f.slot} === undefined ? `),this.withExpression(()=>this.expr(f.name[2])),this.b.emit(` : ${f.slot}`);else this.b.emit(f.slot);this.b.emit(`; `)}this.emitTsTypeDecls(u1(t)?t.slice(1):[t]," ".repeat(i+1)),this.mark(t,"statements",()=>{r.forEach((f,h)=>{if(this.b.emit(" ".repeat(i+1)),!s&&h===r.length-1)this.implicitReturn(f,i+1);else this.statement(f,i+1,!0);this.b.emit(` `)})}),this.voidTailReturn(r,i),this.b.emit(" ".repeat(i)+"}")})}),this.sideEffectOnly=l,this.voidReason=c}voidTailReturn(e,t){if(!this.sideEffectOnly||e.length===0)return;let r=e[e.length-1],i=E(r)?r[0]:null;if(["return","throw","break","continue"].includes(i))return;this.b.emit(" ".repeat(t+1)+`return; -`)}implicitReturn(e,t){this.withTsDirectives(e," ".repeat(t),()=>this.implicitReturnCore(e,t))}implicitReturnCore(e,t){if(E(e)&&(e[0]==="return"||e[0]==="throw"))return this.statement(e,t);if(typeof e==="string"&&(e==="break"||e==="continue"||e==="debugger"))return this.statement(e,t);if(this.ind=t,E(e)){let r=e[0];if(r==="if"&&e.length>=3&&e.length<=4){if(T.ifIsSimple(e))this.b.emit("return ("),this.mark(e,"$self",()=>this.ifTernary(e)),this.b.emit(");");else this.mark(e,"$self",()=>this.returnifyIf(e,t));return}if(r==="try"){this.b.emit("return "),this.withTailReturn(()=>this.valueTry(e)),this.b.emit(";");return}if(r==="switch"&&e.length===4){this.b.emit("return "),this.withTailReturn(()=>this.valueSwitch(e)),this.b.emit(";");return}if(r==="while"&&(e.length===3||e.length===4)||r==="loop"&&e.length===2)return this.statement(e,t);if(T.returnGuard(e)||T.stmtGuard(e)||r==="="&&e.length===3&&(T.returnGuard(e[2])||T.stmtGuard(e[2])))return this.statement(e,t);if(r===".="&&e.length===3)return this.statement(e,t);if(r==="="&&e.length===3&&T.sliceTarget(e[1])!==null)return this.statement(e,t);if(r==="enum")return this.statement(e,t);if(this.isReactiveDecl(e)||this.isReadonlyDecl(e))return this.statement(e,t);if(this.isEffectDecl(e)&&e[1]!==null)return this.statement(e,t);if((r==="for-in"||r==="for-of"||r==="for-as")&&e.length===6)return this.returnifyLoop(e,t);if(g1(r))throw this.positionedError(e,"emitter: implicit return of a 'def' body is not supported yet")}this.b.emit("return "),this.withTailReturn(()=>{let r=T.needsGrouping(e,"return");if(r)this.b.emit("(");if(this.expr(e),r)this.b.emit(")")}),this.b.emit(";")}update(e){if(typeof e[1]==="string"&&this.isComputedName(e[1]))throw this.positionedError(e,`emitter: cannot assign to computed '${e[1]}' — a '~=' binding derives from its dependencies; write to those instead`);if(typeof e[1]==="string"&&this.isAmbientReadonly(e[1]))throw this.positionedError(e,`emitter: cannot assign to readonly '${e[1]}' — a '=!' binding never changes after its declaration`);if(this.checkExportedConstWrite(e,e[1]),this.checkMemberWrite(e,e[1]),E(e[1])&&T.optionalGuard(e[1])!==null)throw this.positionedError(e,"emitter: an optional chain cannot be an update target — no reference exists for `obj?.x++`; "+"guard it explicitly (`obj.x++ if obj?`)");this.mark(e,"$self",()=>{let[t,r,i]=e;if(i)this.mark(e,"target",()=>this.withTarget(()=>this.expr(r))),this.mark(e,"operator",()=>this.b.emit(t));else this.mark(e,"operator",()=>this.b.emit(t)),this.mark(e,"target",()=>this.withTarget(()=>this.expr(r)))})}relation(e){let[t,r,i]=e,n=t[0]==="!",s=n?t.slice(1):t;this.mark(e,"$self",()=>{if(n)this.b.emit("!(");if(s==="instanceof"){if(this.operand(e,"left",r),this.b.emit(" instanceof "),this.operand(e,"right",i),n)this.b.emit(")");return}if(s==="of"||s==="in"&&O1(i))this.operand(e,"left",r),this.b.emit(" in "),this.operand(e,"right",i);else if(E(i))this.b.emit(T.MEMBER_IN+"("),this.mark(e,"left",()=>this.expr(r)),this.b.emit(", "),this.mark(e,"right",()=>this.expr(i)),this.b.emit(")");else this.b.emit("Array.isArray("),this.expr(i),this.b.emit(") || typeof "),this.expr(i),this.b.emit(" === 'string' ? "),this.expr(i),this.b.emit(".includes("),this.mark(e,"left",()=>this.expr(r)),this.b.emit(") : ("),this.expr(r),this.b.emit(" in "),this.mark(e,"right",()=>this.expr(i)),this.b.emit(")");if(n)this.b.emit(")")})}static ternaryHoists(e){let t=e;while(E(t[2])&&t[2][0]==="?:"&&t[2].length===4&&!t[2].parenthesized)t=t[2];let r=t[2];return E(r)&&r[0]==="="&&r.length===3&&typeof r[1]==="string"&&!r.parenthesized}ternary(e){let t=[e];while(!0){let a=t[t.length-1][2];if(E(a)&&a[0]==="?:"&&a.length===4&&!a.parenthesized)t.push(a);else break}let r=t[t.length-1],i=T.ternaryHoists(r),n=(a,o,l)=>{this.grouped(a,o,l,T.needsGrouping(l,"operand")||W1(l))},s=(a)=>this.grouped(a,"condition",a[1],E(a[1])&&a[1][0]==="?:");this.mark(e,"$self",()=>{if(i)this.expr(r[2][1]),this.b.emit(" = (");s(r),this.b.emit(" ? "),n(r,"then",i?r[2][2]:r[2]);for(let a=t.length-2;a>=0;a--)this.b.emit(" : ("),s(t[a]),this.b.emit(" ? "),n(t[a+1],"else",t[a+1][3]);if(this.b.emit(" : "),n(t[0],"else",t[0][3]),this.b.emit(")".repeat(t.length-1)),i)this.b.emit(")")})}strTemplate(e){this.mark(e,"$self",()=>{this.b.emit("`"),this.templateChunks(e.slice(1)),this.b.emit("`")})}templateChunks(e){for(let t of e){if(t==="")continue;if(E(t)){if(t.length!==1)throw this.positionedError(t,"emitter: multi-statement interpolations are not supported yet");this.b.emit("${"),this.mark(t,"$self",()=>{let r=T.needsGrouping(t[0],"operand")||W1(t[0]);if(r)this.b.emit("(");if(this.expr(t[0]),r)this.b.emit(")")}),this.b.emit("}")}else{let r=t.slice(1,-1);if(r!=="")this.b.emit(T.escapeTemplate(r))}}}heregex(e){let[,t,...r]=e;this.mark(e,"$self",()=>{if(this.b.emit("RegExp(`"),this.templateChunks(r),this.b.emit("`"),t!=="")this.b.emit(`, '${t}'`);this.b.emit(")")})}call(e){if(this.browserModule&&e[0]==="import"&&this.lockedHead(e,"dynimport")){let t=this.positionedError(e,"emitter: dynamic import is not supported in a browser App module — use a static import so Rip can publish and resolve the dependency");if(typeof t.start!=="number"&&this.b.currentMark)t.start=this.b.currentMark.sourceStart,t.end=this.b.currentMark.sourceEnd;throw t}if(this.repl&&e[0]==="import"&&(e.length===2||e.length===3)&&this.lockedHead(e,"dynimport")){this.mark(e,"$self",()=>{this.b.emit(`import(${this.replResolver()}(`),this.mark(e,"args",()=>{if(this.callArg(e[1]),this.b.emit(")"),e.length===3)this.b.emit(", "),this.callArg(e[2])}),this.b.emit(")")});return}if(e[0]==="rest"&&this.inPattern)throw this.positionedError(e,this.bindingPattern?"emitter: a `rest` element is only legal at an array pattern's tail":"emitter: Cannot use 'rest' expression as a destructuring target (destructuring rest is spelled '...name')");if(E(e[0])&&e[0][0]==="dammit!"){if(e[0].parenthesized){this.mark(e,"$self",()=>{this.b.emit("("),this.dammit(e[0]),this.b.emit(")"),this.mark(e,"args",()=>{this.b.emit("("),e.slice(1).forEach((i,n)=>{if(n>0)this.b.emit(", ");this.callArg(i)}),this.b.emit(")")})});return}let t=e[0][1],r=wn(t);this.mark(e,"$self",()=>{this.b.emit(r?"await new ":"await "),this.mark(e[0],"$self",()=>{if(r)this.mark(e[0],"target",()=>this.rubyNewTarget(t));else this.head(e[0],"target",t)}),this.mark(e,"args",()=>{this.b.emit("("),e.slice(1).forEach((i,n)=>{if(n>0)this.b.emit(", ");this.callArg(i)}),this.b.emit(")")})});return}if(E(e[0])&&e[0][0]==="."&&e[0].length===3&&e[0][2]==="new"){this.mark(e,"$self",()=>{this.b.emit("new "),this.rubyNewTarget(e[0]),this.mark(e,"args",()=>{this.b.emit("("),e.slice(1).forEach((t,r)=>{if(r>0)this.b.emit(", ");this.callArg(t)}),this.b.emit(")")})});return}this.chain(e)}rubyNewTarget(e){let t=e[1];this.mark(e,"object",()=>{if(E(t))this.b.emit("("),this.expr(t),this.b.emit(T.optionalGuard(t)?" ?? undefined)":")");else this.expr(t)})}static MODULO="((n, d) => { n = +n; d = +d; return (n % d + d) % d; })";static LITERAL_WORDS=new Set(["true","false","null","undefined","NaN","Infinity"]);static ownKeyText(e,t){return t==="__proto__"?'["__proto__"]':e}static MEMBER_IN="((k, c) => Array.isArray(c) || typeof c === 'string' ? c.includes(k) : k in c)";floorDiv(e){this.mark(e,"$self",()=>{this.b.emit("Math.floor("),this.operand(e,"left",e[1]),this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("/")),this.b.emit(" "),this.operand(e,"right",e[2]),this.b.emit(")")})}returnGuardStatement(e,t){let r=e[2],i=typeof r==="string"?r:r[0];if(i==="return"&&this.scopes.length<=1)throw this.positionedError(r,"emitter: 'return' outside a function");if((i==="break"||i==="continue")&&this.ctrlDepth===0)throw this.positionedError(e,`emitter: '${i}' outside a loop${i==="break"?" or switch":""}`);let n=e[0],s=()=>{let a=()=>{if(t!==null)this.mark(t,"$self",()=>{this.mark(t,"target",()=>this.b.emit(t[1])),this.b.emit(" "),this.mark(t,"operator",()=>this.b.emit("=")),this.b.emit(" "),this.mark(t,"value",()=>this.expr(e[1]))});else this.mark(e,"left",()=>this.expr(e[1]))},o=t!==null||T.jsTier(e[1])!=="primary";if(n==="||")if(this.b.emit("!"),o)this.b.emit("("),a(),this.b.emit(")");else a();else if(n==="??"){if(o)this.b.emit("("),a(),this.b.emit(")");else a();this.b.emit(" == null")}else if(o&&t!==null)this.b.emit("("),a(),this.b.emit(")");else a()};this.mark(e,"$self",()=>{this.b.emit("if ("),s(),this.b.emit(") ");let a=()=>{if(this.b.emit(i),E(r)&&r.length>1)this.b.emit(" "),this.mark(r,"value",()=>{if(r[0]==="return"&&T.needsGrouping(r[1],"return"))this.b.emit("("),this.expr(r[1]),this.b.emit(")");else this.expr(r[1])})};if(typeof r==="string")a();else this.mark(r,"$self",a);this.b.emit(";")})}compoundTarget(e,t,r){if(this.checkExportedConstWrite(e,t),this.repeatSafeValue(t))return this.mark(e,"target",()=>this.withTarget(()=>this.expr(t))),t;if(E(t)&&(t[0]==="."||t[0]==="[]")&&t.length===3){let i=t[1];if(!this.repeatSafeValue(i))i=this.loopTempName("_ref"),this.temps.used.add(i),this.b.emit(`const ${i} = `),this.expr(t[1]),this.b.emit(`; +`)}implicitReturn(e,t){this.withTsDirectives(e," ".repeat(t),()=>this.implicitReturnCore(e,t))}implicitReturnCore(e,t){if(E(e)&&(e[0]==="return"||e[0]==="throw"))return this.statement(e,t);if(typeof e==="string"&&(e==="break"||e==="continue"||e==="debugger"))return this.statement(e,t);if(this.ind=t,E(e)){let r=e[0];if(r==="if"&&e.length>=3&&e.length<=4){if(T.ifIsSimple(e))this.b.emit("return ("),this.mark(e,"$self",()=>this.ifTernary(e)),this.b.emit(");");else this.mark(e,"$self",()=>this.returnifyIf(e,t));return}if(r==="try"){this.withTailReturn(()=>this.tryBranches(e,t));return}if(r==="switch"&&e.length===4){this.b.emit("return "),this.withTailReturn(()=>this.valueSwitch(e)),this.b.emit(";");return}if(r==="while"&&(e.length===3||e.length===4)||r==="loop"&&e.length===2)return this.statement(e,t);if(T.returnGuard(e)||T.stmtGuard(e)||r==="="&&e.length===3&&(T.returnGuard(e[2])||T.stmtGuard(e[2])))return this.statement(e,t);if(r===".="&&e.length===3)return this.statement(e,t);if(r==="="&&e.length===3&&T.sliceTarget(e[1])!==null)return this.statement(e,t);if(r==="enum")return this.statement(e,t);if(this.isReactiveDecl(e)||this.isReadonlyDecl(e))return this.statement(e,t);if(this.isEffectDecl(e)&&e[1]!==null)return this.statement(e,t);if((r==="for-in"||r==="for-of"||r==="for-as")&&e.length===6)return this.returnifyLoop(e,t);if(g1(r))throw this.positionedError(e,"emitter: implicit return of a 'def' body is not supported yet")}this.b.emit("return "),this.withTailReturn(()=>{let r=T.needsGrouping(e,"return");if(r)this.b.emit("(");if(this.expr(e),r)this.b.emit(")")}),this.b.emit(";")}update(e){if(typeof e[1]==="string"&&this.isComputedName(e[1]))throw this.positionedError(e,`emitter: cannot assign to computed '${e[1]}' — a '~=' binding derives from its dependencies; write to those instead`);if(typeof e[1]==="string"&&this.isAmbientReadonly(e[1]))throw this.positionedError(e,`emitter: cannot assign to readonly '${e[1]}' — a '=!' binding never changes after its declaration`);if(this.checkExportedConstWrite(e,e[1]),this.checkMemberWrite(e,e[1]),E(e[1])&&T.optionalGuard(e[1])!==null)throw this.positionedError(e,"emitter: an optional chain cannot be an update target — no reference exists for `obj?.x++`; "+"guard it explicitly (`obj.x++ if obj?`)");this.mark(e,"$self",()=>{let[t,r,i]=e;if(i)this.mark(e,"target",()=>this.withTarget(()=>this.expr(r))),this.mark(e,"operator",()=>this.b.emit(t));else this.mark(e,"operator",()=>this.b.emit(t)),this.mark(e,"target",()=>this.withTarget(()=>this.expr(r)))})}relation(e){let[t,r,i]=e,n=t[0]==="!",s=n?t.slice(1):t;this.mark(e,"$self",()=>{if(n)this.b.emit("!(");if(s==="instanceof"){if(this.operand(e,"left",r),this.b.emit(" instanceof "),this.operand(e,"right",i),n)this.b.emit(")");return}if(s==="of"||s==="in"&&O1(i))this.operand(e,"left",r),this.b.emit(" in "),this.operand(e,"right",i);else if(E(i))this.b.emit(T.MEMBER_IN+"("),this.mark(e,"left",()=>this.expr(r)),this.b.emit(", "),this.mark(e,"right",()=>this.expr(i)),this.b.emit(")");else this.b.emit("Array.isArray("),this.expr(i),this.b.emit(") || typeof "),this.expr(i),this.b.emit(" === 'string' ? "),this.expr(i),this.b.emit(".includes("),this.mark(e,"left",()=>this.expr(r)),this.b.emit(") : ("),this.expr(r),this.b.emit(" in "),this.mark(e,"right",()=>this.expr(i)),this.b.emit(")");if(n)this.b.emit(")")})}static ternaryHoists(e){let t=e;while(E(t[2])&&t[2][0]==="?:"&&t[2].length===4&&!t[2].parenthesized)t=t[2];let r=t[2];return E(r)&&r[0]==="="&&r.length===3&&typeof r[1]==="string"&&!r.parenthesized}ternary(e){let t=[e];while(!0){let a=t[t.length-1][2];if(E(a)&&a[0]==="?:"&&a.length===4&&!a.parenthesized)t.push(a);else break}let r=t[t.length-1],i=T.ternaryHoists(r),n=(a,o,l)=>{this.grouped(a,o,l,T.needsGrouping(l,"operand")||W1(l))},s=(a)=>this.grouped(a,"condition",a[1],E(a[1])&&a[1][0]==="?:");this.mark(e,"$self",()=>{if(i)this.expr(r[2][1]),this.b.emit(" = (");s(r),this.b.emit(" ? "),n(r,"then",i?r[2][2]:r[2]);for(let a=t.length-2;a>=0;a--)this.b.emit(" : ("),s(t[a]),this.b.emit(" ? "),n(t[a+1],"else",t[a+1][3]);if(this.b.emit(" : "),n(t[0],"else",t[0][3]),this.b.emit(")".repeat(t.length-1)),i)this.b.emit(")")})}strTemplate(e){this.mark(e,"$self",()=>{this.b.emit("`"),this.templateChunks(e.slice(1)),this.b.emit("`")})}templateChunks(e){for(let t of e){if(t==="")continue;if(E(t)){if(t.length!==1)throw this.positionedError(t,"emitter: multi-statement interpolations are not supported yet");this.b.emit("${"),this.mark(t,"$self",()=>{let r=T.needsGrouping(t[0],"operand")||W1(t[0]);if(r)this.b.emit("(");if(this.expr(t[0]),r)this.b.emit(")")}),this.b.emit("}")}else{let r=t.slice(1,-1);if(r!=="")this.b.emit(T.escapeTemplate(r))}}}heregex(e){let[,t,...r]=e;this.mark(e,"$self",()=>{if(this.b.emit("RegExp(`"),this.templateChunks(r),this.b.emit("`"),t!=="")this.b.emit(`, '${t}'`);this.b.emit(")")})}call(e){if(this.browserModule&&e[0]==="import"&&this.lockedHead(e,"dynimport")){let t=this.positionedError(e,"emitter: dynamic import is not supported in a browser App module — use a static import so Rip can publish and resolve the dependency");if(typeof t.start!=="number"&&this.b.currentMark)t.start=this.b.currentMark.sourceStart,t.end=this.b.currentMark.sourceEnd;throw t}if(this.repl&&e[0]==="import"&&(e.length===2||e.length===3)&&this.lockedHead(e,"dynimport")){this.mark(e,"$self",()=>{this.b.emit(`import(${this.replResolver()}(`),this.mark(e,"args",()=>{if(this.callArg(e[1]),this.b.emit(")"),e.length===3)this.b.emit(", "),this.callArg(e[2])}),this.b.emit(")")});return}if(e[0]==="rest"&&this.inPattern)throw this.positionedError(e,this.bindingPattern?"emitter: a `rest` element is only legal at an array pattern's tail":"emitter: Cannot use 'rest' expression as a destructuring target (destructuring rest is spelled '...name')");if(E(e[0])&&e[0][0]==="dammit!"){if(e[0].parenthesized){this.mark(e,"$self",()=>{this.b.emit("("),this.dammit(e[0]),this.b.emit(")"),this.mark(e,"args",()=>{this.b.emit("("),e.slice(1).forEach((i,n)=>{if(n>0)this.b.emit(", ");this.callArg(i)}),this.b.emit(")")})});return}let t=e[0][1],r=wn(t);this.mark(e,"$self",()=>{this.b.emit(r?"await new ":"await "),this.mark(e[0],"$self",()=>{if(r)this.mark(e[0],"target",()=>this.rubyNewTarget(t));else this.head(e[0],"target",t)}),this.mark(e,"args",()=>{this.b.emit("("),e.slice(1).forEach((i,n)=>{if(n>0)this.b.emit(", ");this.callArg(i)}),this.b.emit(")")})});return}if(E(e[0])&&e[0][0]==="."&&e[0].length===3&&e[0][2]==="new"){this.mark(e,"$self",()=>{this.b.emit("new "),this.rubyNewTarget(e[0]),this.mark(e,"args",()=>{this.b.emit("("),e.slice(1).forEach((t,r)=>{if(r>0)this.b.emit(", ");this.callArg(t)}),this.b.emit(")")})});return}this.chain(e)}rubyNewTarget(e){let t=e[1];this.mark(e,"object",()=>{if(E(t))this.b.emit("("),this.expr(t),this.b.emit(T.optionalGuard(t)?" ?? undefined)":")");else this.expr(t)})}static MODULO="((n, d) => { n = +n; d = +d; return (n % d + d) % d; })";static LITERAL_WORDS=new Set(["true","false","null","undefined","NaN","Infinity"]);static ownKeyText(e,t){return t==="__proto__"?'["__proto__"]':e}static MEMBER_IN="((k, c) => Array.isArray(c) || typeof c === 'string' ? c.includes(k) : k in c)";floorDiv(e){this.mark(e,"$self",()=>{this.b.emit("Math.floor("),this.operand(e,"left",e[1]),this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("/")),this.b.emit(" "),this.operand(e,"right",e[2]),this.b.emit(")")})}returnGuardStatement(e,t){let r=e[2],i=typeof r==="string"?r:r[0];if(i==="return"&&this.scopes.length<=1)throw this.positionedError(r,"emitter: 'return' outside a function");if((i==="break"||i==="continue")&&this.ctrlDepth===0)throw this.positionedError(e,`emitter: '${i}' outside a loop${i==="break"?" or switch":""}`);let n=e[0],s=()=>{let a=()=>{if(t!==null)this.mark(t,"$self",()=>{this.mark(t,"target",()=>this.b.emit(t[1])),this.b.emit(" "),this.mark(t,"operator",()=>this.b.emit("=")),this.b.emit(" "),this.mark(t,"value",()=>this.expr(e[1]))});else this.mark(e,"left",()=>this.expr(e[1]))},o=t!==null||T.jsTier(e[1])!=="primary";if(n==="||")if(this.b.emit("!"),o)this.b.emit("("),a(),this.b.emit(")");else a();else if(n==="??"){if(o)this.b.emit("("),a(),this.b.emit(")");else a();this.b.emit(" == null")}else if(o&&t!==null)this.b.emit("("),a(),this.b.emit(")");else a()};this.mark(e,"$self",()=>{this.b.emit("if ("),s(),this.b.emit(") ");let a=()=>{if(this.b.emit(i),E(r)&&r.length>1)this.b.emit(" "),this.mark(r,"value",()=>{if(r[0]==="return"&&T.needsGrouping(r[1],"return"))this.b.emit("("),this.expr(r[1]),this.b.emit(")");else this.expr(r[1])})};if(typeof r==="string")a();else this.mark(r,"$self",a);this.b.emit(";")})}compoundTarget(e,t,r){if(this.checkExportedConstWrite(e,t),this.repeatSafeValue(t))return this.mark(e,"target",()=>this.withTarget(()=>this.expr(t))),t;if(E(t)&&(t[0]==="."||t[0]==="[]")&&t.length===3){let i=t[1];if(!this.repeatSafeValue(i))i=this.loopTempName("_ref"),this.temps.used.add(i),this.b.emit(`const ${i} = `),this.expr(t[1]),this.b.emit(`; ${" ".repeat(r)}`);let n;if(t[0]==="[]"){let s=t[2];if(!this.repeatSafeValue(s)){let a=this.loopTempName("_key");this.temps.used.add(a),this.b.emit(`const ${a} = `),this.expr(s),this.b.emit(`; ${" ".repeat(r)}`),s=a}n=["[]",i,s]}else n=[".",i,t[2]];return this.mark(e,"target",()=>this.expr(n)),n}throw this.positionedError(e,`emitter: ${e[0]} needs a stable target — a plain name or member/index chain (an optional chain has no reference to write back to)`)}static sliceTarget(e){return E(e)&&e[0]==="[]"&&e.length===3&&E(e[2])&&(e[2][0]===".."||e[2][0]==="...")&&e[2].length===3?e:null}sliceAssignStatement(e){let[,t,r]=e,[,i,n]=t,[s,a,o]=n,l=(h)=>T.isIntegerLiteral(h)?parseInt(h.replace(/_/g,""),10):null,c=(h)=>typeof h==="string";for(let h of[a,o])if(E(h)&&h[0]==="-"&&h.length===2&&T.isIntegerLiteral(h[1]))throw this.positionedError(e,"emitter: a slice assignment cannot count from the end — `splice` takes a count, not a negative index; open the range instead (`a[i..] = v`) or compute the bound from `a.length`");let f=(h)=>{if(c(h))this.expr(h);else this.b.emit("("),this.expr(h),this.b.emit(")")};this.mark(e,"$self",()=>{this.mark(e,"target",()=>this.mark(t,"$self",()=>{this.head(t,"object",i),this.b.emit(".splice("),this.mark(t,"key",()=>{if(a===null)this.b.emit("0");else f(a);if(this.b.emit(", "),o===null)this.b.emit("Infinity");else if(l(o)!==null&&(a===null||l(a)!==null))this.b.emit(String(l(o)-(a===null?0:l(a))+(s===".."?1:0)));else{if(f(o),a!==null)this.b.emit(" - "),f(a);if(s==="..")this.b.emit(" + 1")}})})),this.mark(e,"operator",()=>{});let h=E(r)&&r[0]==="array"&&r.slice(1).every((u)=>!(E(u)&&u[0]==="...")&&u!==",");this.mark(e,"value",()=>{if(h)r.slice(1).forEach((u)=>{this.b.emit(", "),this.callArg(u)});else this.b.emit(", ...[].concat("),this.expr(r),this.b.emit(")")}),this.b.emit(")")})}methodAssignStatement(e,t){let[,r,i]=e,n=i;while(E(n)){let l=T.chainHeadSlot(n);if(l===null)break;n=n[l]}let s=E(n)?this.stores.idOf(n):null,a=s!==null?this.stores.node(s)?.semanticKind:null;if(!(E(n)&&typeof n[0]==="string"&&/^[A-Za-z_$][\w$]*$/.test(n[0])&&(a==="call"||a==null&&T.jsTier(n)==="primary")))throw this.positionedError(e,"emitter: `.=` re-binds its target to a METHOD CALL on itself — the right side must be a call chain (`x .= trim()`)");this.mark(e,"$self",()=>{let l=this.compoundTarget(e,r,t),c=(h)=>{if(h===n)return[[".",l,n[0]],...n.slice(1)];let u=T.chainHeadSlot(h),d=h.slice();return d[u]=c(h[u]),d};this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("=")),this.b.emit(" ");let f=typeof l==="string"?this.bindingNameSpan(e,"target",l):null;if(f!==null)this.primitiveReuse={name:l,span:f.span};this.mark(e,"value",()=>this.expr(c(i))),this.primitiveReuse=null})}taggedTemplate(e){this.mark(e,"$self",()=>{let t=e[1];this.mark(e,"tag",()=>{if(T.needsGrouping(t,"head"))this.b.emit("("),this.expr(t),this.b.emit(")");else this.expr(t)});let r=e[2];this.mark(e,"str",()=>{if(typeof r==="string")if(r[0]==="`")this.b.emit(r);else this.b.emit("`"+T.escapeTemplate(r.slice(1,-1).replace(/\\"/g,'"'))+"`");else this.expr(r)})})}mapLiteral(e){this.mark(e,"$self",()=>{let t=e.slice(1);if(t.length===0){this.b.emit("new Map()");return}this.b.emit("new Map(["),t.forEach((r,i)=>{if(i>0)this.b.emit(", ");if(E(r)&&r[0]==="..."&&r.length===2){this.mark(r,"$self",()=>{this.b.emit("..."),this.expr(r[1])});return}if(!E(r)||r[0]!==":"||r.length!==3)throw this.positionedError(E(r)?r:e,"emitter: a map literal takes explicit `key: value` pairs — shorthand has no Map reading");this.mark(r,"$self",()=>{this.b.emit("[");let n=r[1];this.mark(r,"key",()=>{if(typeof n==="string"&&/^[A-Za-z_$][\w$]*$/.test(n)&&n!=="true"&&n!=="false"&&n!=="null"&&n!=="undefined")this.b.emit('"'),this.emitPrimitive(n),this.b.emit('"');else if(E(n)&&n[0]==="dynamicKey")this.expr(n[1]);else this.expr(n)}),this.b.emit(", "),this.mark(r,"value",()=>this.expr(r[2])),this.b.emit("]")})}),this.b.emit("])")})}matchReceiverClose(){this.b.emit(")"),this.b.emit(".match(")}regexIndex(e,t,r,i){this.mark(e,"$self",()=>{if(this.b.emit(`((_ = ${this.runtimeName("toMatchable")}(`),this.mark(e,"object",()=>this.expr(t)),this.matchReceiverClose(),this.mark(e,"key",()=>this.b.emit(r)),this.b.emit(")) && _["),i===null)this.b.emit("0");else this.mark(e,"capture",()=>this.expr(i));this.b.emit("])")})}static isMatchWrite(e){if(!E(e))return!1;if(e[0]==="=~"&&e.length===3)return!0;if(e[0]==="regex-index"&&e.length===4)return!0;return e[0]==="[]"&&e.length===3&&typeof e[2]==="string"&&e[2][0]==="/"}static paramMatchWrite(e){if(!E(e)||T1(e)||g1(e[0]))return null;if(T.isMatchWrite(e))return e;for(let t of e){let r=T.paramMatchWrite(t);if(r!==null)return r}return null}matchOp(e){if(E(e[1])&&e[1][0]==="=~"&&!e[1].parenthesized)throw this.positionedError(e,"emitter: `=~` does not chain — `a =~ b =~ c` would match the first match RESULT against the second pattern (parenthesize: `(a =~ b) =~ c`, or split the matches)");let t=e[2];this.mark(e,"$self",()=>{this.b.emit(`(_ = ${this.runtimeName("toMatchable")}(`),this.mark(e,"left",()=>this.expr(e[1])),this.matchReceiverClose(),this.mark(e,"right",()=>this.expr(t)),this.b.emit("))")})}modulo(e){this.mark(e,"$self",()=>{this.b.emit(T.MODULO+"("),this.mark(e,"left",()=>this.expr(e[1])),this.b.emit(", "),this.mark(e,"right",()=>this.expr(e[2])),this.b.emit(")")})}synthCompound(e,t,r,i){let n=e[1];if(this.checkExportedConstWrite(e,n),E(n)&&(n[0]==="."||n[0]==="[]")&&n.length===3){let s=this.refPlans.get(e)??{recv:null,obj:null,key:null};if(s.obj===null&&!this.repeatSafeValue(n[1]))throw this.positionedError(e,"emitter: reference plan missing for a compound target with an impure object — a capture site the planner walk did not reach");if(s.key===null&&n[0]==="[]"&&!this.repeatSafeValue(n[2]))throw this.positionedError(e,"emitter: reference plan missing for a compound target with an impure key — a capture site the planner walk did not reach");this.mark(e,"$self",()=>{let a=s.obj!==null||s.key!==null;if(a)this.b.emit("(");if(s.obj!==null)this.b.emit(`${s.obj} = `),this.mark(n,"object",()=>this.withExpression(()=>this.expr(n[1]))),this.b.emit(", ");if(s.key!==null)this.b.emit(`${s.key} = `),this.mark(n,"key",()=>this.withExpression(()=>this.expr(n[2]))),this.b.emit(", ");let o=this.stores.alias([n[0],s.obj??n[1],s.key??n[2]],n),l=()=>this.mark(e,"target",()=>this.withTarget(()=>this.expr(o)));if(l(),this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("=")),this.b.emit(" "),this.mark(e,"operator",()=>{this.b.emit(t),l(),this.b.emit(r),this.operand(e,"value",e[2]),this.b.emit(i)}),a)this.b.emit(")")});return}this.mark(e,"$self",()=>{let s=()=>this.mark(e,"target",()=>this.withTarget(()=>this.expr(e[1])));s(),this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("=")),this.b.emit(" "),this.mark(e,"operator",()=>{this.b.emit(t),s(),this.b.emit(r),this.operand(e,"value",e[2]),this.b.emit(i)})})}floorDivAssign(e){this.synthCompound(e,"Math.floor("," / ",")")}moduloAssign(e){this.synthCompound(e,T.MODULO+"(",", ",")")}awaitExpr(e){this.mark(e,"$self",()=>{this.mark(e,"operator",()=>this.b.emit("await")),this.b.emit(" "),this.operand(e,"value",e[1])})}doIife(e){let[,t]=e;this.mark(e,"$self",()=>{if(this.b.emit("("),this.mark(e,"func",()=>this.expr(t)),this.b.emit(")("),T1(t)){let r=t[1],i=r.map((s)=>{let a=T.paramCore(s);if(typeof a==="string")return()=>this.expr(a);if(E(a)&&a[0]==="default"&&typeof T.paramCore(a[1])==="string")return()=>this.expr(a[2]);throw this.positionedError(s,"emitter: do-IIFE parameters must be plain names or defaulted names — patterns and rests have no capture argument",e)}),n=r.length;while(n>0&&E(r[n-1])&&r[n-1][0]==="default")n--;i.slice(0,n).forEach((s,a)=>{if(a>0)this.b.emit(", ");s()})}this.b.emit(")")})}dammit(e){if(wn(e[1])){this.mark(e,"$self",()=>{this.mark(e,"operator",()=>this.b.emit("await")),this.b.emit(" new "),this.mark(e,"target",()=>this.rubyNewTarget(e[1])),this.b.emit("()")});return}this.mark(e,"$self",()=>{this.mark(e,"operator",()=>this.b.emit("await")),this.b.emit(" "),this.head(e,"target",e[1]),this.b.emit("()")})}maybeDammit(e){this.mark(e,"$self",()=>{this.mark(e,"operator",()=>this.b.emit("await")),this.b.emit(" "),this.head(e,"callee",e[1]),this.mark(e,"operator",()=>this.b.emit("?.")),this.mark(e,"args",()=>{this.b.emit("("),e.slice(2).forEach((t,r)=>{if(r>0)this.b.emit(", ");this.expr(t)}),this.b.emit(")")})})}yieldExpr(e){if(this.scopes.length<=1)throw this.positionedError(e,"emitter: 'yield' outside a function");this.mark(e,"$self",()=>{this.b.emit(e[0]==="yield-from"?"yield*":"yield");let t=e[0]==="yield-from"?e[1]:e[1];if(e.length>1)this.b.emit(" "),this.operand(e,"value",t)})}}var ea=(e)=>{if(!E(e))return!1;if(e[0]==="schema"&&e.length===2&&typeof e[1]==="object")return!0;return e.some(ea)},ta=(e)=>{if(!E(e))return!1;if(e[0]==="schema"&&e.length===2&&e[1]&&typeof e[1]==="object"&&e[1].kind==="model")return!0;return e.some(ta)},ra=(e,t)=>{if(!E(e))return!1;if(t(e))return!0;return e.some((r)=>ra(r,t))},na=(e,t)=>{if(!E(e))return!1;if(t(e))return!0;return e.some((r)=>na(r,t))},ia=(e)=>{if(!E(e))return!1;if(e[0]==="object"&&T.objectComprehension(e)!==null)return!0;return e.some(ia)},sa=(e)=>{if(!E(e))return!1;if(T.isMatchWrite(e))return!0;return e.some(sa)},ft=[{key:"intrinsics",names:["__toPropertyKey","__defineOwnDataProperty"],generatedNames:["__toPropertyKey","__defineOwnDataProperty"],url:new URL("./runtime/intrinsics.js",import.meta.url),triggers:(e,t)=>ia(e)},{key:"vocab",names:[],url:new URL("./runtime/vocab.js",import.meta.url),triggers:()=>!1},{key:"schema",names:["__schema","SchemaError","registerCoercer"],url:new URL("./runtime/schema.js",import.meta.url),requires:["vocab"],triggers:(e,t)=>ea(e)},{key:"duckdb",names:[],url:new URL("./runtime/duckdb.js",import.meta.url),triggers:()=>!1},{key:"orm",names:["schema","__schemaSetAdapter"],url:new URL("./runtime/orm.js",import.meta.url),requires:["schema","duckdb","vocab"],triggers:(e,t)=>ta(e)},{key:"reactive",names:["__state","__computed","__effect","__batch","__readonly","__setErrorHandler","__handleError","__catchErrors","getEffectSignal"],generatedNames:["__state","__computed","__effect","__batch"],url:new URL("./runtime/reactive.js",import.meta.url),triggers:(e,t)=>ra(e,t.isTrigger),types:{__state:"(value: T | { value: T; read(): T }) => { value: T; read(): T; touch(): void }",__computed:"(fn: () => T) => { readonly value: T; read(): T }",__effect:"(fn: () => void | (() => void)) => () => void",__batch:"(fn: () => T) => T",__readonly:"(value: T) => T",__setErrorHandler:"(handler: ((error: any, source?: string) => void) | null) => void",__handleError:"(error: any, source?: string) => void",__catchErrors:"(fn: () => T, onError?: (e: any) => void) => T | undefined",getEffectSignal:"() => AbortSignal | null"}},{key:"stdlib",names:["abort","assert","exit","kind","noop","p","pp","pj","pr","raise","rand","sleep","toMatchable","todo","warn","zip"],generatedNames:["toMatchable"],url:new URL("./runtime/stdlib.js",import.meta.url),triggers:(e,t)=>sa(e),types:{abort:"(msg?: string) => never",assert:"(v: any, msg?: string) => void",exit:"(code?: number) => never",kind:"(v: any) => string",noop:"() => void",p:"(...args: any[]) => void",pp:"(v: T) => T",pj:"(v: T) => T",pr:"(v: T) => T",raise:"(a: any, b?: any) => never",rand:"(a?: number, b?: number) => number",sleep:"(ms: number) => Promise",toMatchable:"(v: any) => string",todo:"(msg?: string) => never",warn:"(...args: any[]) => void",zip:"(...arrays: any[][]) => any[][]"}},{key:"components",names:["setContext","getContext","hasContext","__Component","__pushComponent","__popComponent","__clsx","__style","__lis","__reconcile","__transition","__handleComponentError","__gateBind","__detach","__ownerFrame","__pushOwner","__popOwner","__detachRef"],generatedNames:["setContext","getContext","__Component","__pushComponent","__popComponent","__clsx","__style","__reconcile","__transition","__gateBind","__detach","__ownerFrame","__pushOwner","__popOwner","__detachRef"],types:{__clsx:ys,__style:Es},url:new URL("./runtime/components.js",import.meta.url),requires:"reactive",triggers:(e,t)=>na(e,t.isComponent)}],An=new Map,Xs=(e)=>{if(!An.has(e.key)){let r=ps(e.url,"utf8").replace(/^export \{[^}]*\};\s*$/gm,"").replace(/^import \{[^}]*\} from '\.\/[a-z-]+\.js';\s*$/gm,"").trimEnd(),i=/^[ \t]*(import|export)\b.*$/m.exec(r);if(i)throw Error(`emitter: runtime '${e.key}' carries a top-level ${i[1]} that inline delivery cannot strip — `+`${JSON.stringify(i[0].trim())}. Inline bodies share one IIFE scope, so it would emit unparseable output. Use the './name.js' import form, or move the dependency into RUNTIME_TABLE 'requires'.`);An.set(e.key,r)}return An.get(e.key)},vn=(e)=>e.requires==null?[]:Array.isArray(e.requires)?e.requires:[e.requires],Ie=(e,t,r=()=>!1)=>{if(t.size===0)return!1;let i=(o)=>typeof o==="string"&&t.has(o),n=(o)=>E(o)&&o.some(s),s=(o)=>{if(!E(o))return!1;let[l]=o;if(l==="object"||l==="array")return o.slice(1).some(s);if(l===null&&o.length===3)return!1;if(l===":"&&o.length===3)return E(o[1])&&a(o[1])||s(o[2]);if(l==="="&&o.length===3)return s(o[1])||a(o[2]);if((l==="rest"||l==="..."||l==="expansion")&&o.length===2)return s(o[1]);if(l==="typed-var"&&o.length===3)return s(o[1]);return a(o)},a=(o)=>{if(i(o))return!0;if(!E(o))return!1;let[l]=o;if(l==="schema"&&o.length===2&&o[1]&&typeof o[1]==="object"&&Array.isArray(o[1].entries))return!1;if(l==="."||l==="?.")return a(o[1]);if((l===":"||l==="void-pair")&&o.length===3)return E(o[1])&&a(o[1])||a(o[2]);if(T1(o))return n(o[1])||a(o[2]);if(g1(l)&&o.length===4)return n(o[2])||a(o[3]);if(r(o))return a(o[2]);if(M1.has(l)&&o.length===3)return E(o[1])&&s(o[1])||a(o[2]);if(l==="for-in"||l==="for-of"||l==="for-as")return E(o[1])&&o[1].some(s)||o.slice(2).some(a);if(l==="try")return o.slice(1).some((c)=>{if(!E(c))return!1;if(c[0]==="block")return a(c);return s(c[0])||a(c[1])});if(l==="class"&&o.length>=2)return o.slice(2).some(a);if(l==="typed-var"&&o.length===3)return E(o[1])&&a(o[1]);if(l==="cast"&&o.length===3)return a(o[1]);if(l==="import"||l==="type-decl")return!1;return o.some(a)};return a(e)},g3=(e,t)=>{let r=[],i=(n,s,a=[])=>{let o=(h)=>T.isReactiveDeclIn(s,h)||T.isEffectDeclIn(s,h)||T.isReadonlyDeclIn(s,h)||T.isGateDeclIn(s,h),l=(h)=>T.isReactiveDeclIn(s,h)||T.isEffectDeclIn(s,h),c=(h)=>T.isComponentDeclIn(s,h);r.push({tree:n,atoms:a,isDecl:o,isTrigger:l,isComponent:c});let f=(h)=>{if(!E(h))return;if(h[0]==="schema"&&h.length===2&&h[1]&&typeof h[1]==="object"&&Array.isArray(h[1].entries)){for(let{entry:u,tokens:d,value:S}of T.schemaBodies(h[1])){let g=e.subParse(d);if(g.stmts.length)i(["program",...g.stmts],g.stores,S?[]:e.schemaBodyParams(u).map((p)=>p.name))}return}h.forEach(f)};f(n)};return i(t,e.stores),r},b3=(e,t)=>{let r=new Set,i=(s)=>{for(let a of e.patternNames(s,[],!0))r.add(a)},n=(s,a)=>{if(!E(s))return;let[o]=s;if(e.isModuleImport(s)){for(let l of T.importedNames([s]))r.add(l);return}if(T1(s)){if(E(s[1]))for(let l of s[1])i(l);n(s[2],a);return}if(g1(o)&&s.length===4){if(typeof s[1]==="string")r.add(s[1]);if(E(s[2]))for(let l of s[2])i(l);n(s[3],a);return}if(o==="class"){if(typeof s[1]==="string")r.add(s[1]);for(let l of s.slice(2)){let c=E(l)&&l[0]==="block"?l.slice(1):[l];for(let f of c)if(E(f)&&g1(f[0])&&f.length===4){if(E(f[2]))for(let h of f[2])i(h);n(f[3],a)}else n(f,a)}return}if(o==="enum"){if(typeof s[1]==="string")r.add(s[1]);for(let l of s.slice(2))n(l,a);return}if(a(s)){if(typeof s[1]==="string")r.add(s[1]);else if(E(s[1]))i(s[1]);n(s[2],a);return}if((M1.has(o)||o==="void-assign")&&s.length>=2){if(typeof s[1]==="string")r.add(s[1]);else if(T.isPattern(s[1]))i(s[1])}if((o==="for-in"||o==="for-of"||o==="for-as")&&E(s[1]))for(let l of s[1])i(l);if(o==="try"){for(let l of s.slice(2))if(E(l)&&l.length===2&&T.isPattern(l[0]))i(l[0])}for(let l of s)n(l,a)};for(let{tree:s,atoms:a,isDecl:o}of t){n(s,o);for(let l of a)i(l)}return r},y3=(e,t)=>{let r=t.slice(1),i=new Set(e.hoistTargets(r).map(([a])=>a)),n=r.filter((a)=>e.isModuleImport(a));for(let a of T.importedNames(n))i.add(a);for(let a of e.collectReactiveNames(r))i.add(a);for(let a of e.collectEffectHandles(r))i.add(a);for(let a of e.collectReadonlyNames(r))i.add(a);let s=(a)=>{if(!E(a))return;if(a[0]==="enum"&&typeof a[1]==="string")i.add(a[1]);if(a[0]==="class"&&typeof a[1]==="string")i.add(a[1]);if(g1(a[0])&&a.length===4&&typeof a[1]==="string")i.add(a[1]);if((a[0]==="="||a[0]==="void-assign")&&typeof a[1]==="string")i.add(a[1])};for(let a of r)if(s(a),E(a)&&a[0]==="export"&&E(a[1]))s(a[1]);return i},Js=new Set(["plain","state","computed","effect","readonly","import","class","def","enum"]),S3=(e)=>{if(e==null)return[];if(!Array.isArray(e))throw Error(`emitter: ambientBindings must be an array of {name, kind}; got ${typeof e}`);let t=new Set;for(let r of e){if(r===null||typeof r!=="object"||!X1(r.name))throw Error(`emitter: ambientBindings entries are {name, kind} with an identifier name; got ${JSON.stringify(r)}`);if(!Js.has(r.kind))throw Error(`emitter: ambientBindings kind '${r.kind}' for '${r.name}' is not a binding kind — expected one of ${[...Js].join(", ")}`);if(t.has(r.name))throw Error(`emitter: ambientBindings names '${r.name}' twice — one binding per name`);t.add(r.name)}return e},R3=(e,t,r)=>{let i=t.slice(1),n=new Map,s=(c,f)=>{if(typeof c==="string"&&!n.has(c))n.set(c,f)},a=(c)=>{if(!r.has(c))s(c,"plain")};for(let c of i)if(e.isModuleImport(c))for(let f of T.importedNames([c]))s(f,"import");let o=e.collectComputedNames(i);for(let c of e.collectReactiveNames(i))s(c,o.has(c)?"computed":"state");for(let c of e.collectEffectHandles(i))s(c,"effect");for(let c of e.collectReadonlyNames(i))s(c,"readonly");let l=(c,f)=>{if(!E(c))return;if(c[0]==="enum"&&typeof c[1]==="string")s(c[1],"enum");if(c[0]==="class"&&typeof c[1]==="string")s(c[1],"class");if(g1(c[0])&&c.length===4&&typeof c[1]==="string")s(c[1],"def");if((c[0]==="="||c[0]==="void-assign")&&typeof c[1]==="string")if(f)s(c[1],"plain");else a(c[1])};for(let c of i)if(l(c,!1),E(c)&&c[0]==="export"&&E(c[1]))l(c[1],!0);for(let[c,,f]of e.hoistTargets(i))if(f==="target")a(c);return[...n].map(([c,f])=>({name:c,kind:f}))},On={field:"field",computed:"computed",derived:"derived",method:"method"};function E3(e,t,r,i){let n=[],s=(l)=>l.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");for(let l of t.story?.decl?.descriptor?.entries??[]){let c=l.tag==="union-member"?{name:l.name,start:l.start}:l.tag==="directive"&&l.name==="mixin"&&l.argTokens?.[0]?.kind==="IDENTIFIER"?{name:l.argTokens[0].value,start:l.argTokens[0].start}:null;if(c!==null&&typeof c.start==="number"){let h=new RegExp(`(= |\\| |& )(${s(c.name)})(?= \\||;| &)`).exec(r);if(h!==null)n.push({at:h.index+h[1].length,len:c.name.length,start:c.start,end:c.start+c.name.length});continue}if((On[l.tag]??null)===null||typeof l.start!=="number")continue;let f=new RegExp(`([{;] )((?:readonly )?)(${s(l.name)})(\\??: )`).exec(r);if(f===null)continue;if(n.push({at:f.index+f[1].length+f[2].length,len:l.name.length,start:l.start,end:l.start+l.name.length}),l.tag==="field"&&Array.isArray(l.typeSpan)&&e.b.source!==null){let h=/[A-Za-z_$][\w$]*/.exec(e.b.source.slice(l.typeSpan[0],l.typeSpan[1]));if(h!==null){let u=f.index+f[0].length,d=r.indexOf(";",u)<0?r.length:r.indexOf(";",u)+1,S=new RegExp(`(?u[1]))];for(let u of f){if(c.has(u))continue;let d=a[0]+1,S=-1;while(d>0){let g=l.lastIndexOf(u,d-1);if(g<0)break;if(!/[\w$]/.test(l[g-1]??" ")&&!/[\w$]/.test(l[g+u.length]??" ")){S=g;break}d=g}if(S>=0)c.set(u,[S,S+u.length])}let h=(u,d)=>n.some((S)=>ul.at-c.at);let o=0;for(let l of n){if(l.ate.b.emit(r.slice(l.at,l.at+l.len)));else e.b.emit(r.slice(l.at,l.at+l.len));o=l.at+l.len}e.b.emit(r.slice(o))}function k3(e,t,r,i){let n=t.story?.decl?.descriptor?.entries??null;if(n===null)return;let s=(a)=>a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");for(let a of n){let o=a.tag==="union-member"?{name:a.name,start:a.start}:a.tag==="directive"&&a.name==="mixin"&&a.argTokens?.[0]?.kind==="IDENTIFIER"?{name:a.argTokens[0].value,start:a.argTokens[0].start}:null;if(o===null||typeof o.start!=="number")continue;let l=new RegExp(`(= |\\| |& )(${s(o.name)})(?= \\||;| &)`).exec(r);if(l===null)continue;e.intrinsics.push({start:o.start,end:o.start+o.name.length,kind:"schema",label:null,name:o.name,gen:i+l.index+l[1].length})}for(let a of n){let o=On[a.tag]??null;if(o===null||typeof a.start!=="number")continue;let l=s(a.name),c=new RegExp(`([{;] )((?:readonly )?)(${l})(\\??: )`).exec(r);if(c===null)continue;let f=i+c.index+c[1].length+c[2].length;if(e.intrinsics.push({start:a.start,end:a.start+a.name.length,kind:"schema",label:o,name:a.name,gen:f,optional:c[4].startsWith("?")}),a.tag==="field"&&a.typeSpan!==null&&a.typeSpan!==void 0)e.intrinsics.push({start:a.typeSpan[0],end:a.typeSpan[1],kind:"schema",label:null,name:a.name,gen:f+c[3].length+c[4].length})}}function aa(e,{source:t="",runtimeDelivery:r="none",face:i="js",pins:n=null,strict:s=!1,script:a=!1,browserModule:o=!1,dataPayload:l=null,ambientBindings:c=null,repl:f=!1,hmr:h=!1,tolerant:u=!1,modulePath:d=null,appStashSpec:S=null,routesUnion:g=null,routeParams:p=null}={}){if(!e.sexpr)throw Error("emitter: cannot emit a failed parse");if(i!=="js"&&i!=="ts")throw Error(`emitter: unknown face '${i}' — expected 'js' (the shipping emission) or 'ts' (the editor face)`);let R=S3(c),b=new Qt(e.stores),_=new ge(b,{source:t,primitives:i==="ts"}),y=new T(b,_,{face:i,pins:n,strict:s,script:a,browserModule:o,repl:f,hmr:h,tolerant:u,modulePath:d,appStashSpec:S,routesUnion:g,routeParams:p});if(y.dataPayload=l,r!=="none"&&r!=="import"&&r!=="inline")throw Error(`emitter: unknown runtimeDelivery '${r}' — expected 'none', 'import', or 'inline'`);if(y.collectTsDirectives(e.sexpr,e.trivia??[],t),y.collectTypeOnlyImports(e.sexpr,t),y.collectAppAccessors(e.sexpr),y.tsNocheck!==null){let V=b.idOf(e.sexpr),j=y.tsNocheck;_.tsOnly(()=>{let q=()=>_.emit("//"+j.text.slice(1));if(V!==null)_.markSpan(V,"tsDirective",j.start,j.end,q);else q();_.emit(` `)})}let m=g3(y,e.sexpr),k=(V)=>{if(typeof V==="string")y.temps.used.add(V);else if(E(V))for(let j of V)k(j)};for(let{tree:V,atoms:j}of m)k(V),k(j);for(let{name:V}of R)y.temps.used.add(V);let O=b3(y,m);for(let{name:V}of R)O.add(V);let N=[...O];for(let V of ft)for(let j of V.generatedNames??[])y.runtimeAliases.set(j,T.mintName(j,O));let x=y3(y,e.sexpr),I=R3(y,e.sexpr,new Set(R.map(({name:V})=>V)));for(let{name:V}of R)x.add(V);let H=new Set;for(let V of ft){let j=new Set(V.names.filter((q)=>!x.has(q)));if(m.some(({tree:q,isDecl:t1,isTrigger:M,isComponent:A})=>V.triggers?.(q,{isTrigger:M,isComponent:A})||Ie(q,j,t1)))H.add(V.key)}for(let V=!0;V;){V=!1;for(let j of ft){if(!H.has(j.key))continue;for(let q of vn(j))if(!H.has(q))H.add(q),V=!0}}if(r!=="none"){let V=ft.filter((t1)=>H.has(t1.key)),j=[];if(r==="import")for(let t1 of V)j.push({runtimes:[t1],names:t1.names,imp:t1.url.pathname});else{let t1=new Set(V.flatMap((M)=>vn(M)));for(let M of V){if(t1.has(M.key))continue;let A=[],C=(D)=>{if(A.includes(D))return;for(let B of vn(D)){let a1=ft.find((h1)=>h1.key===B);if(a1)C(a1)}A.push(D)};if(C(M),A.length===1){j.push({runtimes:[M],names:M.names,body:Xs(M),types:M.types});continue}let w=A.some((D)=>D.types)?Object.assign({},...A.map((D)=>D.types)):void 0;j.push({runtimes:A,names:A.flatMap((D)=>D.names),body:A.map((D)=>Xs(D)).join(` @@ -335,7 +335,7 @@ ${w3(e,i)}`;return new Fe(o,{path:t,start:i,end:n,line:s+1,col:a+1})},_3=(e,t)=> `+c+"]"}if(o==="object"){let l=Object.getPrototypeOf(s);if(l!==Object.prototype&&l!==null)return null;let c=Object.keys(s);if(c.length===0)return"{}";let f=" ".repeat(a+1),h=" ".repeat(a),u=c.map((d)=>{let S=n(s[d],a+1);return S===null?null:i(d)+": "+S});if(u.some((d)=>d===null))return null;return`{ `+f+u.join(` `+f)+` -`+h+"}"}return null};return(s)=>{let a=n(s,0);if(a!==null)console.log(a);else console.dir(s,{depth:null,colors:!0});return s}})(),Ra=(e,t)=>{throw t!==void 0?new e(t):Error(e)},Ea=(e,t)=>t!==void 0?(e>t&&([e,t]=[t,e]),Math.floor(Math.random()*(t-e+1)+e)):e?Math.floor(Math.random()*e):Math.random(),ka=(e)=>new Promise((t)=>setTimeout(t,e)),Ta=(e)=>{throw Error(e||"Not implemented")},wa=(...e)=>console.warn(...e),_a=(...e)=>e[0].map((t,r)=>e.map((i)=>i[r])),Na=(e)=>{if(typeof e==="string")return e;if(e==null)return"";if(typeof e==="number"||typeof e==="bigint"||typeof e==="boolean")return String(e);if(typeof e==="symbol")return e.description||"";if(e instanceof Uint8Array||e instanceof ArrayBuffer)return new TextDecoder().decode(e instanceof Uint8Array?e:new Uint8Array(e));if(Array.isArray(e))return e.join(",");if(typeof e.toString==="function"&&e.toString!==Object.prototype.toString)try{return e.toString()}catch{return""}return""};var fr={};xe(fr,{SchemaDef:()=>gt,SchemaError:()=>v1,SchemaRegistry:()=>ee,__schema:()=>M3,installPersistence:()=>D3,registerCoercer:()=>C3});var $a=Symbol.for("rip.runtime.schema");if(globalThis[$a])throw Error("two copies of the Rip schema runtime loaded in one process — schemas from different copies "+"cannot see each other (separate registries, distinct SchemaError classes). Run .rip sources through the rip CLI/loader (one shared runtime module per process), or load only one standalone-compiled file per process.");globalThis[$a]=!0;var Se=null;function D3(e){if(Se&&Se!==e)throw Error("the Rip schema persistence runtime is already installed — two different copies met in one process");Se=e}class v1 extends Error{constructor(e,t,r){super(x3(e,t));this.name="SchemaError",this.issues=e,this.schemaName=t||null,this.schemaKind=r||null}}function x3(e,t){if(!e||!e.length)return"SchemaError";return(t?t+": ":"")+e.map((i)=>i.message||i.error||"invalid").join("; ")}var Da={__proto__:null,string:(e)=>typeof e==="string",number:(e)=>typeof e==="number"&&!Number.isNaN(e),integer:(e)=>Number.isInteger(e),boolean:(e)=>typeof e==="boolean",date:(e)=>e instanceof Date&&!Number.isNaN(e.getTime()),datetime:(e)=>e instanceof Date&&!Number.isNaN(e.getTime()),email:(e)=>typeof e==="string"&&/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e),url:(e)=>typeof e==="string"&&/^https?:\/\/.+/.test(e),uuid:(e)=>typeof e==="string"&&/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e),phone:(e)=>typeof e==="string"&&/^[\d\s\-+()]+$/.test(e),zip:(e)=>typeof e==="string"&&/^\d{5}(-\d{4})?$/.test(e),text:(e)=>typeof e==="string",json:(e)=>e!==void 0,any:()=>!0},cr={integer(e){if(typeof e==="number")return Number.isInteger(e)?{ok:!0,value:e}:{ok:!1};if(typeof e==="string"&&/^[+-]?\d+$/.test(e.trim()))return{ok:!0,value:parseInt(e.trim(),10)};return{ok:!1}},number(e){if(typeof e==="number")return Number.isNaN(e)?{ok:!1}:{ok:!0,value:e};if(typeof e==="string"&&/^[+-]?(\d+\.?\d*|\.\d+)([eE][+-]?\d+)?$/.test(e.trim()))return{ok:!0,value:Number(e.trim())};return{ok:!1}},boolean(e){if(typeof e==="boolean")return{ok:!0,value:e};if(e==="true"||e==="1"||e===1)return{ok:!0,value:!0};if(e==="false"||e==="0"||e===0)return{ok:!0,value:!1};return{ok:!1}},date(e){if(e instanceof Date)return Number.isNaN(e.getTime())?{ok:!1}:{ok:!0,value:e};if(typeof e==="number"&&Number.isFinite(e))return{ok:!0,value:new Date(e)};let t=typeof e==="string"?/^(\d{4})-(\d{2})-(\d{2})/.exec(e):null;if(t){let r=+t[2],i=+t[3],n=new Date(Date.UTC(+t[1],r,0)).getUTCDate();if(r<1||r>12||i<1||i>n)return{ok:!1};let s=new Date(e);if(!Number.isNaN(s.getTime()))return{ok:!0,value:s}}return{ok:!1}}};cr.datetime=cr.date;function ar(e){if(e!==null&&typeof e==="object"&&!Array.isArray(e))return null;return{field:"",error:"object",message:"input must be an object; got "+(e===null?"null":Array.isArray(e)?"an array":"a "+typeof e)}}var Dn=new Map;function C3(e,t,r){if(typeof e!=="string"||typeof t!=="function")throw Error("registerCoercer(name, fn, opts?): name string and fn required");let i=Object.prototype.toString.call(t);if(i==="[object AsyncFunction]"||i==="[object GeneratorFunction]"||i==="[object AsyncGeneratorFunction]")throw Error("registerCoercer: coercer '~:"+e+"' must be a plain synchronous function");let n=r?.raw===!0,s=Dn.get(e);if(s){if(s.raw===n&&String(s.fn)===String(t))return t;throw Error("registerCoercer: coercer '~:"+e+"' is already registered")}return Dn.set(e,{fn:t,raw:n}),t}function mt(e){if(Da[e])return null;let t=ee.get(e);return t&&(t.kind==="shape"||t.kind==="input"||t.kind==="model"||t.kind==="union")?t:null}function xn(e,t,r){let i=Da[t];if(i)return i(e)?{value:e}:{errors:[{field:"",error:"type",message:"must be "+t}]};let n=ee.get(t);if(!n)return{value:e};if(n.kind==="enum"){let a=n._validateEnum(e,!0);return a.length?{errors:[{field:"",error:"enum",message:a[0].message}]}:{value:n._materializeEnum(e)}}if(n.kind==="mixin")return{errors:[{field:"",error:"type",message:":mixin "+t+" is not usable as a field type"}]};if(n.kind==="union"){let a=n._unionResolve(e);if(a.issue)return{errors:[a.issue]};let o=r?.existing?a.def._runExistingSync(e,{...r,materialize:!1,materializeNested:!1}):a.def._runSync(e,{...r,materialize:!1,materializeNested:!1});if(o.thrown){if(r?.derived==="throw")throw o.thrown;return{errors:[{field:"",error:"derived",message:o.thrown?.message||String(o.thrown)}]}}return o.ok?{value:o.value}:{errors:o.errors}}if(e===null||typeof e!=="object"||Array.isArray(e))return{errors:[{field:"",error:"type",message:"must be a "+t+" object"}]};let s=r?.existing?n._runExistingSync(e,{...r,materialize:!1,materializeNested:!1}):n._runSync(e,{...r,materialize:!1,materializeNested:!1});if(s.thrown){if(r?.derived==="throw")throw s.thrown;return{errors:[{field:"",error:"derived",message:s.thrown?.message||String(s.thrown)}]}}return s.ok?{value:s.value}:{errors:s.errors}}async function Aa(e,t,r){let i=mt(t);if(i===null)return xn(e,t,r);if(i.kind==="union"){let s=i._unionResolve(e);if(s.issue)return{errors:[s.issue]};let a=r?.existing?await s.def._runExistingAsync(e,{...r,materialize:!1,materializeNested:!1}):await s.def._runAsync(e,{...r,materialize:!1,materializeNested:!1});if(a.thrown){if(r?.derived==="throw")throw a.thrown;return{errors:[{field:"",error:"derived",message:a.thrown?.message||String(a.thrown)}]}}return a.ok?{value:a.value}:{errors:a.errors}}if(e===null||typeof e!=="object"||Array.isArray(e))return{errors:[{field:"",error:"type",message:"must be a "+t+" object"}]};let n=r?.existing?await i._runExistingAsync(e,{...r,materialize:!1,materializeNested:!1}):await i._runAsync(e,{...r,materialize:!1,materializeNested:!1});if(n.thrown){if(r?.derived==="throw")throw n.thrown;return{errors:[{field:"",error:"derived",message:n.thrown?.message||String(n.thrown)}]}}return n.ok?{value:n.value}:{errors:n.errors}}function pt(e,t){if(!t)return e;return e+(t.startsWith("[")?t:"."+t)}function or(e,t,r){if(!t)return e+" "+r;if(r.startsWith(t))return e+r.slice(t.length);return e+": "+r}var lr=Symbol("schema.materialization-error");function va(e,t){if(e&&e[lr])return{[lr]:!0,error:e.error,field:pt(t,e.field)};return{[lr]:!0,error:e,field:t}}function Be(e){return e&&e[lr]?{thrown:e.error,derivedField:e.field}:{thrown:e,derivedField:""}}var P3=Je;function Oa(e){let t=(i)=>JSON.stringify(i??null,(n,s)=>s instanceof RegExp?String(s):typeof s==="function"?"":s),r=[e.kind];for(let i of e._desc.entries||[])switch(i.tag){case"field":r.push("f:"+i.name+":"+(i.typeName||"")+(i.array?"[]":"")+":"+(i.modifiers||[]).join("")+(i.literals?":"+i.literals.join(","):"")+":"+t(i.constraints)+(i.coerce?":~"+(i.coercer||""):"")+(i.transform?":t":""));break;case"enum-member":r.push("e:"+i.name+"="+String(i.value));break;case"directive":r.push("d:"+i.name+":"+t(i.args));break;case"ensure":r.push("n:"+(i.message||""));break;default:r.push(i.tag+":"+(i.name||""))}return r.join("|")}var ye=0,ee={_entries:new Map,replace:!1,register(e){if(!e.name)return;ye++;let t=this._entries.get(e.name);if(t&&t.def!==e&&!this.replace){if(Oa(t.def)!==Oa(e))throw new v1([{field:e.name,error:"collision",message:"schema name '"+e.name+"' is already registered with a different definition. Schema names are app-global (they resolve nested field types and @mixin references), so two "+"different schemas cannot share one name. Rename one — or, for dev/HMR reload semantics, set "+"SchemaRegistry.replace = true before re-evaluating modules."}],e.name,e.kind)}this._entries.set(e.name,{def:e,kind:e.kind})},get(e){let t=this._entries.get(e);return t?t.def:null},getKind(e,t){let r=this._entries.get(e);return r&&r.kind===t?r.def:null},has(e){return this._entries.has(e)},names(){return[...this._entries.keys()]},reset(){this._entries.clear(),ye++},scope(e){let t=this._entries;this._entries=new Map,ye++;let r=()=>{this._entries=t,ye++};try{let i=e();if(i&&typeof i.then==="function")return i.finally(r);return r(),i}catch(i){throw r(),i}}};class gt{constructor(e){if(e.kind==="model"&&!Se)throw Error("schema: kind 'model' needs the persistence runtime (src/runtime/orm.js), which is not "+"loaded in this process — reference a persistence name (schema.transaction, __schemaSetAdapter) "+"or import the module directly");if(this._desc=e,this.kind=e.kind,this.name=e.name||null,this._norm=null,this._klass=null,this._unionPlanCache=null,this._sourceModel=null,e.kind==="model")Se.decorateDef(this,e)}_normalize(){if(this._norm)return this._norm;let e=new Map,t=new Map,r=new Map,i=new Map,n=new Map,s=new Map,a=null,o=[],l=new Map,c=[],f=(b,_)=>{throw new v1([{field:b,error:"collision",message:b+" collides with "+_}],this.name,this.kind)},h=(b)=>{if(e.has(b))f(b,"field");if(t.has(b))f(b,"method");if(r.has(b))f(b,"computed");if(i.has(b))f(b,"derived");if(n.has(b))f(b,"hook")},u=(b)=>{throw new v1([{field:"",error:"kind",message:b+" is :model-only (this schema is :"+this.kind+")"}],this.name,this.kind)},d=this.kind==="union"?new Set(["on"]):new Set(["mixin"]),S=(b,_)=>{if(!P3(b))throw new v1([{field:b,error:"invalid-name",message:_+" name '"+b+"' is not canonical camelCase. Use a lowercase-first, alphanumeric identifier with no consecutive uppercase letters (e.g. 'mdmId' not 'mdmID')."}],this.name,this.kind)};for(let b of this._desc.entries)switch(b.tag){case"field":S(b.name,"field"),h(b.name),e.set(b.name,{name:b.name,required:b.modifiers.includes("!"),optional:b.modifiers.includes("?"),unique:b.unique===!0,primary:b.primary===!0,attrs:b.attrs||null,typeName:b.typeName,literals:b.literals||null,array:b.array===!0,coerce:b.coerce===!0,coercer:b.coercer||null,constraints:b.constraints||null,transform:b.transform||null});break;case"method":h(b.name),t.set(b.name,b.fn);break;case"computed":h(b.name),r.set(b.name,b.fn);break;case"derived":h(b.name),i.set(b.name,b.fn);break;case"hook":if(this.kind!=="model")u("lifecycle hook '"+b.name+"'");if(n.has(b.name))f(b.name,"duplicate hook");n.set(b.name,b.fn);break;case"scope":if(this.kind!=="model")u("query scope '@scope :"+b.name+"'");if(s.has(b.name))f(b.name,"scope");s.set(b.name,b.fn);break;case"defaultScope":if(this.kind!=="model")u("@defaultScope");if(a)throw new v1([{field:"",error:"collision",message:"only one @defaultScope per model"}],this.name,this.kind);a=b.fn;break;case"directive":if(this.kind!=="model"&&!d.has(b.name))throw new v1([{field:"",error:"directive",message:"unknown directive '@"+b.name+"' on :"+this.kind+" — legal here: "+[...d].map((_)=>"@"+_).join(", ")}],this.name,this.kind);o.push({name:b.name,args:b.args||[]});break;case"enum-member":l.set(b.name,b.value!==void 0?b.value:b.name);break;case"union-member":break;case"ensure":c.push({message:b.message,field:b.field||"",async:b.async===!0,fn:b.fn});break;default:throw new v1([{field:"",error:"entry",message:"unknown schema entry tag '"+b.tag+"'"}],this.name,this.kind)}if(this.kind==="shape"||this.kind==="input"||this.kind==="mixin"||this.kind==="model")Pa(this,e,o,{stack:[this.name||""],seen:new Set([this.name||""])});let g=null,p=[];if(this.kind==="union"){for(let b of o)if(b.name==="on"&&b.args?.[0]?.field)g=b.args[0].field;for(let b of this._desc.entries)if(b.tag==="union-member")p.push(b.name)}let R={fields:e,methods:t,computed:r,derived:i,hooks:n,scopes:s,defaultScope:a,directives:o,enumMembers:l,ensures:c,hasAsyncEnsures:c.some((b)=>b.async),unionOn:g,unionMembers:p};if(this.kind==="model")Se.finishModelNorm(this,R);return this._norm=R,this._norm}_unionPlan(){if(this._unionPlanCache&&this._unionPlanCache.gen===ye)return this._unionPlanCache.plan;let e=this._normalize(),t=e.unionOn;if(this.kind!=="union"||!t)throw Error("schema: '"+(this.name||"anon")+"' is not a :union");let r=new Map,i=[];for(let s of e.unionMembers){let a=ee.get(s);if(!a)throw new v1([{field:"",error:"union",message:"unknown union constituent: "+s+" (import the file that declares it)"}],this.name,this.kind);i.push(a);let o=a._normalize().fields.get(t);if(!o||o.typeName!=="literal-union"||!o.literals?.length)throw new v1([{field:t,error:"union",message:s+" must declare '"+t+"' as a string-literal type (e.g. "+t+'! "click") to join union '+(this.name||"")}],this.name,this.kind);for(let l of o.literals){if(r.has(l))throw new v1([{field:t,error:"union",message:"duplicate discriminator value "+JSON.stringify(l)+" in "+(r.get(l).name||"anon")+" and "+s}],this.name,this.kind);r.set(l,a)}}let n={disc:t,map:r,expected:[...r.keys()].join(" | "),hasAsyncEnsures:i.some((s)=>s._normalize().hasAsyncEnsures)};return this._unionPlanCache={gen:ye,plan:n},n}_unionResolve(e){let t=this._unionPlan();if(e===null||typeof e!=="object"||Array.isArray(e))return{issue:{field:t.disc,error:"union",message:"expected an object with "+t.disc}};let r=t.map.get(e[t.disc]);if(!r)return{issue:{field:t.disc,error:"union",message:"expected one of "+t.expected}};return{def:r}}_applyEagerDerived(e){let t=this._normalize();if(!t.derived.size)return;for(let[r,i]of t.derived){let n=i.call(e);Object.defineProperty(e,r,{value:n,enumerable:!0,writable:!0,configurable:!0})}}_materializeValidatedValue(e,t,r){return this._materializeNestedValues(e,t,r),this._materializeOwnValidatedValue(e,t,r)}_materializeNestedValues(e,t,r){let i=this._normalize();for(let[n,s]of i.fields){let a=mt(s.typeName);if(!a)continue;let o=e[n];if(o===void 0||o===null)continue;let l=t==null?void 0:t[n];if(s.array){if(!Array.isArray(o))continue;let c=Array(o.length);for(let f=0;f{let a=()=>({field:n.field||"",error:"ensure",message:n.message||"ensure failed"});if(n.async)i.push((async()=>{let o=!1;try{o=!!await n.fn(e)}catch{o=!1}if(!o)r.push({idx:s,issue:a()})})());else{let o=!1;try{o=!!n.fn(e)}catch{o=!1}if(!o)r.push({idx:s,issue:a()})}}),await Promise.all(i),r.sort((n,s)=>n.idx-s.idx),r.map((n)=>n.issue)}_transitiveAsync(){if(this._taGen===ye)return this._taCache;let e=new Set,t=(r)=>{if(e.has(r))return!1;e.add(r);let i=r._normalize();if(i.hasAsyncEnsures)return!0;if(r.kind==="union"){for(let n of i.unionMembers){let s=ee.get(n);if(s&&t(s))return!0}return!1}for(let n of i.fields.values()){let s=mt(n.typeName);if(s&&t(s))return!0}return!1};return this._taCache=t(this),this._taGen=ye,this._taCache}_assertSyncValidatable(e){if(!this._transitiveAsync())return;let t=this.kind!=="union"&&this._normalize().hasAsyncEnsures;throw Error("schema '"+(this.name||"anon")+"' has async refinements (@ensure!"+(t?"":" in a nested or constituent schema")+"); ."+e+"() is sync. Use parseAsync/safeAsync/okAsync instead.")}_getClass(){if(this._klass)return this._klass;let e=this._normalize(),t=this.name||"Schema",r=[...e.fields.keys()],i={[t]:class{constructor(n){if(n&&typeof n==="object"){for(let s of r)if(s in n&&n[s]!==void 0)this[s]=n[s]}}}}[t];for(let[n,s]of e.methods)Object.defineProperty(i.prototype,n,{value:s,writable:!0,enumerable:!1,configurable:!0});for(let[n,s]of e.computed)Object.defineProperty(i.prototype,n,{get:s,enumerable:!1,configurable:!0});return this._klass=i,i}_coerceDates(e){let t=this._normalize(),r=(s)=>typeof s==="string"&&/^\d{4}-\d{2}-\d{2}([T ].*)?$/.test(s),i=(s)=>{let a=/^(\d{4})-(\d{2})-(\d{2})/.exec(s),o=+a[2],l=+a[3];return o>=1&&o<=12&&l>=1&&l<=new Date(Date.UTC(+a[1],o,0)).getUTCDate()},n=(s)=>{if(!i(s))return s;let a=new Date(s);return Number.isNaN(a.getTime())?s:a};for(let[s,a]of t.fields){if(a.typeName!=="date"&&a.typeName!=="datetime")continue;let o=e[s];if(a.array&&Array.isArray(o))e[s]=o.map((l)=>r(l)?n(l):l);else if(r(o))e[s]=n(o)}}_validateFields(e,t,r,i){let n=this._normalize(),s=t?[]:null;for(let[a,o]of n.fields){if(r&&r.has(a))continue;let l=e==null?void 0:e[a];if(l===void 0||l===null){if(o.required){if(!t)return!1;s.push({field:a,error:"required",message:a+" is required"})}continue}if(o.array){if(!Array.isArray(l)){if(!t)return!1;s.push({field:a,error:"type",message:a+" must be an array"});continue}let f=o.constraints;if(f){if(f.min!=null&&l.lengthf.max){if(!t)return!1;s.push({field:a,error:"max",message:a+" must have at most "+f.max+" items"})}}if(i?.deferNested&&mt(o.typeName))continue;let h=!1,u=!1,d=Array(l.length);for(let S=0;SJSON.stringify(f)).join(", ")});continue}}else{if(i?.deferNested&&mt(o.typeName))continue;let f=xn(l,o.typeName,i);if(f.errors){if(!t)return!1;for(let h of f.errors){let u=pt(a,h.field);s.push({field:u,error:h.error,message:or(u,h.field,h.message)})}continue}if(f.value!==l)e[a]=f.value}let c=o.constraints;if(c){if(typeof l==="string"){if(c.min!=null&&l.lengthc.max){if(!t)return!1;s.push({field:a,error:"max",message:a+" must be at most "+c.max+" chars"})}if(c.regex){if(c.regex.global||c.regex.sticky)c.regex.lastIndex=0;if(!c.regex.test(l)){if(!t)return!1;s.push({field:a,error:"pattern",message:a+" is invalid"})}}}else if(typeof l==="number"){if(c.min!=null&&l= "+c.min})}if(c.max!=null&&l>c.max){if(!t)return!1;s.push({field:a,error:"max",message:a+" must be <= "+c.max})}}}}return t?s:!0}_applyDefaults(e){let t=this._normalize();for(let[r,i]of t.fields)if((e[r]===void 0||e[r]===null)&&i.constraints?.default!==void 0){let n=i.constraints.default;e[r]=typeof n==="object"&&n!==null&&!(n instanceof RegExp)?structuredClone(n):n}return e}_applyTransforms(e,t){let r=this._normalize(),i=[];for(let[n,s]of r.fields){if(!s.transform)continue;try{t[n]=s.transform(e)}catch(a){i.push({field:n,error:"transform",message:a?.message||String(a)})}}return i}_applyCoercions(e,t){let r=this._normalize(),i=[];for(let[n,s]of r.fields){if(!s.coerce)continue;let a=e[n];if(a===void 0||a===null)continue;if(s.coercer){let l=Dn.get(s.coercer);if(!l)throw Error("schema: no coercer registered for '~:"+s.coercer+"' (field '"+n+"' on "+(this.name||"anon")+"). Register it with registerCoercer('"+s.coercer+"', fn).");let c=l.raw?a:String(a).trim(),f;try{f=l.fn(c)}catch{f=null}if(f===null||f===void 0)i.push({field:n,error:"coerce",message:n+" is not a valid "+s.coercer}),t.add(n);else e[n]=f;continue}let o=cr[s.typeName]?cr[s.typeName](a):{ok:!1};if(o.ok)e[n]=o.value;else i.push({field:n,error:"coerce",message:n+" cannot be coerced to "+s.typeName}),t.add(n)}return i}_orderFieldErrors(...e){let t=new Map,r=0;for(let[i]of this._normalize().fields)t.set(i,r++);return e.flat().map((i,n)=>{let s=String(i.field||"").split(/[.[]/,1)[0];return{issue:i,seq:n,rank:t.has(s)?t.get(s):r}}).sort((i,n)=>i.rank-n.rank||i.seq-n.seq).map((i)=>i.issue)}_validateEnum(e,t){let r=this._normalize();for(let[n,s]of r.enumMembers)if(e===n||e===s)return t?[]:!0;if(!t)return!1;let i=[...r.enumMembers.keys()].join(", ");return[{field:"",error:"enum",message:(this.name||"enum")+" expected one of: "+i}]}_materializeEnum(e){let t=this._normalize();for(let[r,i]of t.enumMembers)if(e===r||e===i)return i;return e}_runSync(e,t){if(this.kind==="union"){let f=this._unionResolve(e);if(f.issue)return{ok:!1,errors:[f.issue]};let h=f.def._runSync(e,t);return h.ok?h:{...h,from:h.from||f.def}}if(this.kind==="enum"){let f=this._validateEnum(e,!0);return f.length?{ok:!1,errors:f}:{ok:!0,value:this._materializeEnum(e)}}let r=ar(e);if(r)return{ok:!1,errors:[r]};let i=e,n={...i},s=new Set,a=this._applyTransforms(i,n),o=this._applyCoercions(n,s);this._applyDefaults(n),this._coerceDates(n);let l=this._orderFieldErrors(a,o,this._validateFields(n,!0,s,t));if(l.length)return{ok:!1,errors:l};let c=t?.skipEnsures?[]:this._applyEnsures(n);if(c.length)return{ok:!1,errors:c};if(t?.materializeNested)try{this._materializeNestedValues(n,null,!1)}catch(f){return{ok:!1,errors:null,...Be(f)}}if(!t?.materialize)return{ok:!0,value:n};try{return{ok:!0,value:this._materializeOwnValidatedValue(n,null,!1)}}catch(f){return{ok:!1,errors:null,...Be(f)}}}async _runAsync(e,t){if(this.kind==="union"){let h=this._unionResolve(e);if(h.issue)return{ok:!1,errors:[h.issue]};let u=await h.def._runAsync(e,t);return u.ok?u:{...u,from:u.from||h.def}}if(this.kind==="enum")return this._runSync(e,t);let r=ar(e);if(r)return{ok:!1,errors:[r]};let i=e,n={...i},s=new Set,a=this._applyTransforms(i,n),o=this._applyCoercions(n,s);this._applyDefaults(n),this._coerceDates(n);let l=await this._validateFieldsAsync(n,s,t),c=this._orderFieldErrors(a,o,l);if(c.length)return{ok:!1,errors:c};let f=t?.skipEnsures?[]:await this._applyEnsuresAsync(n);if(f.length)return{ok:!1,errors:f};if(t?.materializeNested)try{this._materializeNestedValues(n,null,!1)}catch(h){return{ok:!1,errors:null,...Be(h)}}if(!t?.materialize)return{ok:!0,value:n};try{return{ok:!0,value:this._materializeOwnValidatedValue(n,null,!1)}}catch(h){return{ok:!1,errors:null,...Be(h)}}}async _validateFieldsAsync(e,t,r){let i=this._normalize(),n=[];for(let[s,a]of i.fields){if(t&&t.has(s))continue;let o=e[s];if(o===void 0||o===null){if(a.required)n.push({field:s,error:"required",message:s+" is required"});continue}if(a.array){if(!Array.isArray(o)){n.push({field:s,error:"type",message:s+" must be an array"});continue}let f=a.constraints;if(f?.min!=null&&o.lengthf.max)n.push({field:s,error:"max",message:s+" must have at most "+f.max+" items"});let h=Array(o.length),u=!1;for(let d=0;dJSON.stringify(f)).join(", ")})}else{let f=await Aa(o,a.typeName,r);if(f.errors)for(let h of f.errors){let u=pt(s,h.field);n.push({field:u,error:h.error,message:or(u,h.field,h.message)})}else e[s]=f.value}let l=e[s],c=a.constraints;if(c){if(typeof l==="string"){if(c.min!=null&&l.lengthc.max)n.push({field:s,error:"max",message:s+" must be at most "+c.max+" chars"});if(c.regex){if(c.regex.global||c.regex.sticky)c.regex.lastIndex=0;if(!c.regex.test(l))n.push({field:s,error:"pattern",message:s+" is invalid"})}}else if(typeof l==="number"){if(c.min!=null&&l= "+c.min});if(c.max!=null&&l>c.max)n.push({field:s,error:"max",message:s+" must be <= "+c.max})}}}return n}_runExistingSync(e,t){if(this.kind==="union"){let a=this._unionResolve(e);if(a.issue)return{ok:!1,errors:[a.issue]};let o=a.def._runExistingSync(e,t);return o.ok?o:{...o,from:o.from||a.def}}if(this.kind==="enum")return this._runSync(e,t);let r=ar(e);if(r)return{ok:!1,errors:[r]};let i={...e},n=this._validateFields(i,!0,null,{...t,existing:!0});if(n.length)return{ok:!1,errors:n};let s=t?.skipEnsures?[]:this._applyEnsures(i);if(s.length)return{ok:!1,errors:s};if(t?.materializeNested)try{this._materializeNestedValues(i,e,!0)}catch(a){return{ok:!1,errors:null,...Be(a)}}return this._finishExistingValue(e,i,t)}async _runExistingAsync(e,t){if(this.kind==="union"){let a=this._unionResolve(e);if(a.issue)return{ok:!1,errors:[a.issue]};let o=await a.def._runExistingAsync(e,t);return o.ok?o:{...o,from:o.from||a.def}}if(this.kind==="enum")return this._runSync(e,t);let r=ar(e);if(r)return{ok:!1,errors:[r]};let i={...e},n=await this._validateFieldsAsync(i,null,{...t,existing:!0});if(n.length)return{ok:!1,errors:n};let s=t?.skipEnsures?[]:await this._applyEnsuresAsync(i);if(s.length)return{ok:!1,errors:s};if(t?.materializeNested)try{this._materializeNestedValues(i,e,!0)}catch(a){return{ok:!1,errors:null,...Be(a)}}return this._finishExistingValue(e,i,t)}_finishExistingValue(e,t,r){if(!r?.materialize)return{ok:!0,value:t};let i=this._getClass(),n=!0;for(let[a]of this._normalize().fields)if(t[a]!==e[a]){n=!1;break}if(n)return{ok:!0,value:e};let s=new i(t);try{this._applyEagerDerived(s)}catch(a){return{ok:!1,errors:null,thrown:a}}return{ok:!0,value:s}}parse(e){if(this.kind==="mixin")throw Error(":mixin schema '"+(this.name||"anon")+"' is not instantiable");this._assertSyncValidatable("parse");let t=this._runSync(e,{materialize:!0,materializeNested:!0,derived:"throw"});if(t.ok)return t.value;if(t.thrown)throw t.thrown;let r=t.from||this;throw new v1(t.errors,r.name,r.kind)}get array(){let e=this,t=(s)=>({field:"",error:"not_array",message:"expected an array, received "+(s===null?"null":s===void 0?"undefined":typeof s==="object"?"an object with keys ["+Object.keys(s).join(", ")+"]":typeof s)}),r=(s)=>{let a=[],o=[];return s.forEach((l,c)=>{if(l.ok)a.push(l.value);else for(let f of l.errors)o.push({...f,field:"["+c+"]"+(f.field?"."+f.field:"")})}),{value:a,errors:o}},i=(s)=>{let a=[],o=[];return s.forEach((l,c)=>{try{a.push(e.parse(l))}catch(f){if(!(f instanceof v1))throw f;for(let h of f.issues)o.push({...h,field:"["+c+"]"+(h.field?"."+h.field:"")})}}),{value:a,errors:o}},n=async(s)=>{let a=[],o=[];for(let l=0;le.safe(l)));return o.length?{ok:!1,value:null,errors:o}:{ok:!0,value:a,errors:null}},ok(s){return Array.isArray(s)&&s.every((a)=>e.ok(a))},async parseAsync(s){if(!Array.isArray(s))throw new v1([t(s)],e.name,e.kind);let{value:a,errors:o}=await n(s);if(o.length)throw new v1(o,e.name,e.kind);return a},async safeAsync(s){if(!Array.isArray(s))return{ok:!1,value:null,errors:[t(s)]};let{value:a,errors:o}=r(await Promise.all(s.map((l)=>e.safeAsync(l))));return o.length?{ok:!1,value:null,errors:o}:{ok:!0,value:a,errors:null}},async okAsync(s){return Array.isArray(s)&&(await Promise.all(s.map((a)=>e.okAsync(a)))).every(Boolean)},toJSONSchema(){return{type:"array",items:e.toJSONSchema()}}}}safe(e){if(this.kind==="mixin")return{ok:!1,value:null,errors:[{field:"",error:"mixin",message:"not instantiable"}]};this._assertSyncValidatable("safe");let t=this._runSync(e,{materialize:!0,materializeNested:!0,derived:"issue"});if(t.ok)return{ok:!0,value:t.value,errors:null};if(t.thrown)return{ok:!1,value:null,errors:[{field:t.derivedField||"",error:"derived",message:t.thrown?.message||String(t.thrown)}]};return{ok:!1,value:null,errors:t.errors}}ok(e){if(this.kind==="mixin")return!1;return this._assertSyncValidatable("ok"),this._runSync(e,{materialize:!1,materializeNested:!1,derived:"issue"}).ok}async parseAsync(e){if(this.kind==="mixin")throw Error(":mixin schema '"+(this.name||"anon")+"' is not instantiable");let t=await this._runAsync(e,{materialize:!0,materializeNested:!0,derived:"throw"});if(t.ok)return t.value;if(t.thrown)throw t.thrown;let r=t.from||this;throw new v1(t.errors,r.name,r.kind)}async safeAsync(e){if(this.kind==="mixin")return{ok:!1,value:null,errors:[{field:"",error:"mixin",message:"not instantiable"}]};let t=await this._runAsync(e,{materialize:!0,materializeNested:!0,derived:"issue"});if(t.ok)return{ok:!0,value:t.value,errors:null};if(t.thrown)return{ok:!1,value:null,errors:[{field:t.derivedField||"",error:"derived",message:t.thrown?.message||String(t.thrown)}]};return{ok:!1,value:null,errors:t.errors}}async okAsync(e){if(this.kind==="mixin")return!1;return(await this._runAsync(e,{materialize:!1,materializeNested:!1,derived:"issue"})).ok}pick(...e){return dt(this,(t)=>{let r=$n(e),i=new Map;for(let n of r){if(!t.has(n))throw Error("pick: unknown field '"+n+"' on "+(this.name||"schema"));i.set(n,t.get(n))}return i})}omit(...e){return dt(this,(t)=>{let r=new Set($n(e)),i=new Map;for(let[n,s]of t)if(!r.has(n))i.set(n,s);return i})}partial(){return dt(this,(e)=>{let t=new Map;for(let[r,i]of e)t.set(r,{...i,required:!1});return t})}required(...e){return dt(this,(t)=>{let r=new Set($n(e)),i=new Map;for(let[n,s]of t)i.set(n,{...s,required:r.has(n)?!0:s.required});return i})}extend(e){if(!(e instanceof gt))throw Error("extend(): argument must be a schema value");if(e.kind==="union")throw Error("extend(): :union schemas have no fields to merge");return dt(this,(t)=>{let r=new Map(t),i=e._normalize().fields;for(let[n,s]of i){if(r.has(n))throw Error("extend(): field '"+n+"' collides between "+(this.name||"schema")+" and "+(e.name||"other"));r.set(n,s)}return r})}toJSONSchema(){let e={defs:new Map,expanding:new Set},t=Ca(this,e);if(t.$schema="https://json-schema.org/draft/2020-12/schema",this.name)t.title=this.name;if(e.defs.size){t.$defs={};for(let[r,i]of e.defs)t.$defs[r]=i}return t}}var Ia={__proto__:null,string:()=>({type:"string"}),text:()=>({type:"string"}),email:()=>({type:"string",format:"email"}),url:()=>({type:"string",format:"uri"}),uuid:()=>({type:"string",format:"uuid"}),phone:()=>({type:"string",pattern:"^[\\d\\s\\-+()]+$"}),zip:()=>({type:"string",pattern:"^\\d{5}(-\\d{4})?$"}),number:()=>({type:"number"}),integer:()=>({type:"integer"}),boolean:()=>({type:"boolean"}),date:()=>({type:"string",format:"date"}),datetime:()=>({type:"string",format:"date-time"}),json:()=>({}),any:()=>({})};function L3(e,t){let r;if(e.typeName==="literal-union"&&e.literals?.length)r=e.literals.length===1?{const:e.literals[0]}:{enum:[...e.literals]};else if(Ia[e.typeName])r=Ia[e.typeName]();else{let n=ee.get(e.typeName);r=n?xa(n,t):{}}let i=e.constraints;if(i&&!e.array){if(r.type==="string"){if(i.min!=null)r.minLength=i.min;if(i.max!=null)r.maxLength=i.max;if(i.regex)r.pattern=i.regex.source}else if(r.type==="number"||r.type==="integer"){if(i.min!=null)r.minimum=i.min;if(i.max!=null)r.maximum=i.max}}if(e.array){if(r={type:"array",items:r},i){if(i.min!=null)r.minItems=i.min;if(i.max!=null)r.maxItems=i.max}}if(i&&i.default!==void 0)r.default=i.default;if(e.coerce)r.description=((r.description?r.description+" ":"")+"Coerced from wire data ("+(e.coercer?"~:"+e.coercer:"~"+e.typeName)+").").trim();if(e.transform)r.description=((r.description?r.description+" ":"")+"Derived via transform; the raw input may use different keys.").trim();return r}function xa(e,t){let r=e.name||"Anon";if(!t.defs.has(r)&&!t.expanding.has(r))t.expanding.add(r),t.defs.set(r,null),t.defs.set(r,Ca(e,t)),t.expanding.delete(r);return{$ref:"#/$defs/"+r}}function Ca(e,t){let r=e._normalize();if(e.kind==="enum")return{enum:[...new Set(r.enumMembers.values())]};if(e.kind==="union"){let a=e._unionPlan();return{oneOf:r.unionMembers.map((l)=>{let c=ee.get(l);return c?xa(c,t):{}}),discriminator:{propertyName:a.disc}}}let i={},n=[];for(let[a,o]of r.fields)if(i[a]=L3(o,t),o.required&&o.constraints?.default===void 0)n.push(a);if(e.kind==="model")Se.jsonSchemaModelColumns(e,i);let s={type:"object",properties:i};if(n.length)s.required=n;if(r.ensures.length)s.description="Refinements (not expressible in JSON Schema): "+r.ensures.map((a)=>a.message).join("; ")+".";return s}function $n(e){let t=[];for(let r of e)if(Array.isArray(r))for(let i of r)t.push(i);else t.push(r);return t}function dt(e,t){if(e.kind==="union")throw Error("schema algebra (.pick/.omit/.partial/.required/.extend) is not supported on :union — derive from a constituent schema instead");if(e.kind==="enum")throw Error("schema algebra is not supported on :enum — an enum has no field set");let r=e.kind==="model"?Se.projectableFields(e):e._normalize().fields,i=t(r),n=[];for(let[,o]of i){let l=[];if(o.required)l.push("!");if(o.optional&&!o.required)l.push("?");n.push({tag:"field",name:o.name,modifiers:l,unique:o.unique===!0,primary:o.primary===!0,attrs:o.attrs||null,typeName:o.typeName,array:o.array,literals:o.literals||null,coerce:o.coerce===!0,coercer:o.coercer||null,constraints:o.constraints,transform:o.transform||null})}let s=(e.name||"Schema")+"Derived",a=new gt({kind:"shape",name:s,entries:n});return a._sourceModel=e._sourceModel||(e.kind==="model"?e:null),a}function Pa(e,t,r,i){for(let n of r){if(n.name!=="mixin"||!n.args||!n.args[0])continue;let s=n.args[0].target;if(!s)continue;if(i.stack.includes(s))throw new v1([{field:"",error:"mixin-cycle",message:"mixin cycle: "+i.stack.concat(s).join(" -> ")}],e.name,e.kind);if(i.seen.has(s))continue;let a=ee.getKind(s,"mixin");if(!a)throw new v1([{field:"",error:"mixin-missing",message:"unknown mixin: "+s}],e.name,e.kind);i.seen.add(s),i.stack.push(s);let o=a._desc.entries.filter((l)=>l.tag==="directive"&&l.name==="mixin").map((l)=>({name:l.name,args:l.args||[]}));Pa(e,t,o,i);for(let l of a._desc.entries){if(l.tag!=="field")continue;if(t.has(l.name))throw new v1([{field:l.name,error:"mixin-collision",message:l.name+" from mixin "+s+" collides with existing field"}],e.name,e.kind);if(e.kind!=="model"&&(l.unique===!0||l.attrs))throw new v1([{field:l.name,error:"mixin-persistence",message:l.name+" from mixin "+s+" carries persistence metadata (@unique/attrs) — :model-only; a :"+e.kind+" cannot include it"}],e.name,e.kind);t.set(l.name,{name:l.name,required:l.modifiers.includes("!"),optional:l.modifiers.includes("?"),unique:l.unique===!0,attrs:l.attrs||null,typeName:l.typeName,literals:l.literals||null,array:l.array===!0,coerce:l.coerce===!0,coercer:l.coercer||null,constraints:l.constraints||null,transform:l.transform||null})}i.stack.pop()}}function M3(e){let t=new gt(e);if(t.name)ee.register(t);return t}if(typeof globalThis<"u")globalThis.__ripSchema=globalThis.__ripSchema||{},globalThis.__ripSchema.SchemaRegistry=ee;var gr={};xe(gr,{__batch:()=>L1,__catchErrors:()=>ue,__computed:()=>H1,__detachRef:()=>Cn,__effect:()=>$1,__handleError:()=>te,__ownerFrame:()=>yt,__popOwner:()=>Y1,__pushOwner:()=>le,__readonly:()=>fe,__setEffectErrorReporter:()=>j3,__setErrorHandler:()=>he,__state:()=>_1,getEffectSignal:()=>ce});var Ma=Symbol.for("rip.runtime.reactive");if(globalThis[Ma])throw Error("two copies of the Rip reactive runtime loaded in one process — states from different copies "+"cannot notify each other (separate dependency graphs, separate effect queues). Run .rip sources through the rip CLI/loader (one shared runtime module per process), or load only one standalone-compiled file per process.");globalThis[Ma]=!0;var N1=null,mr=[],Ue={buckets:[],size:0,low:0,add(e){let t=e.depth,r=this.buckets[t];if(r===void 0)r=this.buckets[t]=new Set;if(r.has(e))return;if(r.add(e),this.size++,tconsole.error(e,t);function j3(e){let t=bt;return bt=e,t}function ja(){try{while(Ue.size>0){let e=Ue.shift();if(!e._disposed)e.run()}}catch(e){throw Ue.clear(),e}}var Fa={valueOf(){return this.value},toString(){return String(this.value)},[Symbol.toPrimitive](e){return e==="string"?this.toString():this.valueOf()}};function _1(e){if(e!=null&&typeof e==="object"&&typeof e.read==="function")return e;let t=e,r=new Set,i=!1,n=!1,s=!1,a=()=>{if(N1&&typeof N1.markDirty==="function"&&N1.dependencies.has(r))throw Error("reactive runtime: computed dependency changed during evaluation — "+"computed functions must derive without writing or touching a dependency")},o=()=>{for(let f of mr)f.writtenSignals.add(r)},l=()=>{i=!0;try{for(let f of r)if(f.markDirty)f.markDirty(!0);else f._hard=!0,Ue.add(f);if(!dr)ja()}finally{i=!1}},c={get value(){if(s)return t;if(N1?.writtenSignals&&mr.some((f)=>f.writtenSignals.has(r)))throw Error("reactive runtime: computed dependency changed during evaluation — "+"computed functions must derive without writing or touching a dependency");if(N1)r.add(N1),N1.dependencies.add(r);return t},set value(f){if(s||n||f===t)return;if(a(),i)return;o(),t=f,l()},read(){return t},touch(){if(s)return;if(a(),i)return;o(),l()},lock(){return n=!0,c},free(){return r.clear(),c},kill(){return s=!0,r.clear(),t},...Fa};return c}var hr=0,La=1,ur=2;function Ba(e){let t=N1;N1=null;try{for(let[r,i]of e.computedDeps)if(r.value,r.version!==i)return!0;return!1}finally{N1=t}}function H1(e){let t,r=ur,i=new Set,n=!1,s=!1,a=!1,o={dependencies:new Set,computedDeps:new Map,writtenSignals:new Set,version:0,markDirty(l){if(s||n)return;if(a)throw Error("reactive runtime: computed dependency changed during evaluation — "+"computed functions must derive without writing or touching a dependency");let c=r;if(l)r=ur;else if(r===hr)r=La;if(c!==hr)return;for(let f of i)if(f.markDirty)f.markDirty(!1);else Ue.add(f)},get value(){if(s)return t;if(N1&&N1!==o)i.add(N1),N1.dependencies.add(i),N1.computedDeps.set(o,-1);if(a)throw Error("reactive runtime: computed value read during its own evaluation — "+"recursive computed reads are not supported");if(r===La&&!n)r=Ba(o)?ur:hr;if(r===ur&&!n){for(let c of o.dependencies)c.delete(o);o.dependencies.clear(),o.computedDeps.clear();let l=N1;o.writtenSignals.clear(),N1=o,mr.push(o),a=!0;try{let c=e();if(c!==t)o.version++;t=c,r=hr}finally{a=!1,mr.pop(),o.writtenSignals.clear(),N1=l}}if(N1&&N1!==o)N1.computedDeps.set(o,o.version);return t},read(){return t},lock(){return n=!0,o.value,o},free(){for(let l of o.dependencies)l.delete(o);return o.dependencies.clear(),o.computedDeps.clear(),i.clear(),o},kill(){s=!0;let l=t;return o.free(),l},...Fa};return o}function $1(e){let t=null,r=0,i=j1,n={depth:i?i.depth+1:0,dependencies:new Set,computedDeps:new Map,_hard:!0,_disposed:!1,signal:null,run(){if(n._disposed)return;let a=n._hard;if(n._hard=!1,!a&&!Ba(n))return;if(t)try{t.abort()}catch{}t=typeof AbortController<"u"?new AbortController:null,n.signal=t?t.signal:null;let o=++r;if(n._cleanup)n._cleanup(),n._cleanup=null;for(let f of n.dependencies)f.delete(n);n.dependencies.clear(),n.computedDeps.clear();let l=N1;N1=n;let c=j1;j1=i;try{let f=e();if(typeof f==="function")n._cleanup=f;else if(f&&typeof f.then==="function")f.then((h)=>{if(o!==r||n._disposed){if(typeof h==="function")try{h()}catch(u){bt("[Rip] superseded async cleanup error:",u)}return}if(typeof h==="function")n._cleanup=h},(h)=>{if(h&&h.name==="AbortError")return;if(o!==r||n._disposed)return;bt("[Rip] async effect error:",h)})}finally{N1=l,j1=c}},dispose(){if(n._disposed)return;if(n._disposed=!0,Ue.delete(n),t)try{t.abort()}catch{}if(n._cleanup)n._cleanup(),n._cleanup=null;for(let a of n.dependencies)a.delete(n);n.dependencies.clear()}};try{n.run()}catch(a){throw n.dispose(),a}let s=()=>n.dispose();if(j1)j1.add(s);return s}function L1(e){if(dr)return e();dr=!0;try{return e()}finally{dr=!1,ja()}}function yt({nested:e=!0}={}){let t=[],r=null,n={depth:j1?j1.depth+1:0,get disposed(){return t===null},get size(){return t===null?0:t.length},add(s){if(t===null)s();else t.push(s)},remove(s){if(t===null)return;let a=t.indexOf(s);if(a>=0)t.splice(a,1)},dispose(){if(t===null)return;let s=t;if(t=null,r!==null){let a=r;r=null,a()}for(let a of s)try{a()}catch(o){bt("[Rip] effect disposer error:",o)}}};if(e&&j1){let s=j1;s.add(n.dispose),r=()=>s.remove(n.dispose)}return n}function le(e){let t={frame:e,prev:j1};return j1=e,t}function Y1(e){if(!e||typeof e!=="object"||!("frame"in e))throw Error("reactive runtime: __popOwner takes the token the matching __pushOwner returned");if(j1!==e.frame)throw Error("reactive runtime: __popOwner out of order — the frame being popped is not the current owner "+"(an inner push was not popped, or this token was already popped)");j1=e.prev}function ce(){return N1?N1.signal:null}function fe(e){return Object.freeze({value:e})}function Cn(e,t){if(e&&typeof e.read==="function"&&e.read()===t)e.value=null}var pr=null;function he(e){let t=pr;return pr=e,t}function te(e){if(pr)try{pr(e)}catch(t){console.error("Error in error handler:",t),console.error("Original error:",e)}else throw e}function ue(e){return function(...t){try{return e.apply(this,t)}catch(r){te(r)}}}var Et={};xe(Et,{__Component:()=>ro,__claimGateConstructor:()=>Un,__clsx:()=>Er,__detach:()=>Rr,__detachRef:()=>Cn,__gateBind:()=>rc,__handleComponentError:()=>Mn,__hmrClassify:()=>Rt,__hmrEmit:()=>ke,__hmrEntries:()=>jn,__hmrEvents:()=>W3,__hmrLookup:()=>F3,__hmrMigrateDiff:()=>qa,__hmrMigrateRemount:()=>Y3,__hmrPatch:()=>Bn,__hmrPreserveState:()=>kr,__hmrRegisterDefinition:()=>St,__hmrRegistry:()=>Ee,__hmrRestoreUi:()=>Tr,__hmrSnapshotUi:()=>Fn,__lis:()=>eo,__ownerFrame:()=>yt,__popComponent:()=>Re,__popOwner:()=>Y1,__pushComponent:()=>Ve,__pushOwner:()=>le,__reconcile:()=>J3,__style:()=>to,__transition:()=>Q3,getContext:()=>q3,hasContext:()=>X3,setContext:()=>z3});var Ka=Symbol.for("rip.runtime.components");if(globalThis[Ka])throw Error("two copies of the Rip component runtime loaded in one process — components from different "+"copies cannot see each other (separate component stacks: context, parent chains, and error boundaries silently break across copies). Run .rip sources through the rip CLI/loader (one shared runtime module per process), or load only one standalone-compiled file per process.");globalThis[Ka]=!0;var re=null,Ya={},yr=null,za=new WeakMap,Ua=!1,Ee=new Map;function Pn(e,t){if(e===t)return!0;if(!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length)return!1;for(let r=0;rn.has(c)),o=i.filter((c)=>!n.has(c)),l=r.filter((c)=>!s.has(c));return{kept:a,added:o,removed:l}}var Sr=[],V3=64;function ke(e,t={}){let r={type:e,at:Date.now(),...t};if(Sr.push(r),Sr.length>V3)Sr.shift();if(typeof window<"u"&&typeof window.dispatchEvent==="function"&&typeof CustomEvent==="function")try{window.dispatchEvent(new CustomEvent("rip:hmr",{detail:r}))}catch{}return r}function W3(){return Sr.slice()}function kr(e,t){let r=e?.constructor?.__hmrSig,i=t?.constructor?.__hmrSig,n=r?.state,s=i?.state,a=qa(r,i);if(!Array.isArray(n)||!Array.isArray(s))return ke("migrate",{id:t?.constructor?.__hmrId??null,...a,copied:[]}),a;let o=new Set(n),l=[];for(let f of s){if(!o.has(f))continue;let h=e[f],u=t[f];if(h!=null&&u!=null&&typeof h==="object"&&typeof u==="object"&&"value"in h&&"value"in u)u.value=h.value,l.push(f)}let c=t?.constructor?.__hmrId??e?.constructor?.__hmrId??null;return ke("migrate",{id:c,...a,copied:l}),{...a,copied:l}}var Xa=["name","type","placeholder"];function Ja(e){let t=(i)=>typeof e[i]==="string"&&e[i]?e[i]:null,r={tag:e.tagName??null};for(let i of Xa)r[i]=t(i);return r.label=typeof e.getAttribute==="function"?e.getAttribute("aria-label"):null,r.value=typeof e.value==="string"?e.value:null,r}function Ln(e,t,r){if(!e||!t)return!1;let i=Ja(e);for(let n of["tag",...Xa,"label"])if(i[n]!==t[n])return!1;return!r||t.value==null||i.value===t.value}function H3(e){let t=Ja(e),r=typeof e.id==="string"&&e.id?e.id:null,i=[],n=e;while(n&&n!==document.body){let s=n.parentElement??n.parentNode??null;if(!s||!s.children)return{identity:t,id:r,path:null};i.unshift(Array.prototype.indexOf.call(s.children,n)),n=s}return{identity:t,id:r,path:n===document.body?i:null}}function G3(e){let t=e.active;if(t&&t.isConnected!==!1&&typeof document.contains==="function"&&document.contains(t))return t;let r=e.locator;if(!r)return null;if(r.id&&typeof document.getElementById==="function"){let o=document.getElementById(r.id);if(Ln(o,r.identity,!1))return o}if(!Array.isArray(r.path)||r.path.length===0)return null;let i=document.body;for(let o of r.path.slice(0,-1))if(i=i?.children?.[o]??null,!i)return null;let n=Array.from(i.children??[]),s=n[r.path[r.path.length-1]]??null;if(Ln(s,r.identity,!0))return s;let a=n.filter((o)=>Ln(o,r.identity,!0));return a.length===1?a[0]:null}function Fn(){if(typeof document>"u")return null;let e=document.activeElement,t=e&&e!==document.body&&e!==document.documentElement?e:null,r=null;if(t&&typeof t.selectionStart==="number")r={start:t.selectionStart,end:t.selectionEnd,direction:t.selectionDirection};return{active:t,locator:t?H3(t):null,selection:r,scrollX:typeof window<"u"?window.scrollX:0,scrollY:typeof window<"u"?window.scrollY:0}}function Tr(e){if(!e||typeof document>"u")return;if(typeof window<"u")window.scrollTo(e.scrollX??0,e.scrollY??0);let t=G3(e);if(!t||typeof t.focus!=="function")return;try{if(t.focus({preventScroll:!0}),e.selection&&typeof t.setSelectionRange==="function")t.setSelectionRange(e.selection.start,e.selection.end,e.selection.direction??"none")}catch{}}function Za(e,t){let r=e.constructor?.__hmrId;if(typeof r==="string"&&r)Ee.get(r)?.instances.delete(e);Object.setPrototypeOf(e,t.prototype),Object.defineProperty(e,"constructor",{value:t,writable:!0,configurable:!0}),St(t),Ee.get(t.__hmrId)?.instances.add(e)}function Bn(e,t){if(!e||!t)throw Error("__hmrPatch requires a living instance and a replacement constructor");let r=e.constructor?.__hmrId;return Za(e,t),e._hmrRerender(),ke("patch",{id:t.__hmrId??r??null}),e}function Qa(e){return Object.keys(e).sort().join(",")}function K3(e,t){let r=re?._hmrOrphans;if(!r||r.length===0)return null;let i=e.__hmrId;if(typeof i!=="string")return null;let n=Qa(t),s=null;for(let a of r){if(a._state!=="mounted"||a.constructor.__hmrId!==i||a._hmrPropKeys!==n)continue;if(s)return null;s=a}if(!s||Rt(s.constructor,e)!=="patch")return null;if(r.splice(r.indexOf(s),1),s.constructor!==e)Za(s,e);s._hmrRelease();try{s._hmrApplyProps(t)}catch(a){throw s._teardown({state:"failed",hooks:!1,removeDOM:!0}),a}if(!s._hmrRebind())return null;return s}function Y3(e,t,r={}){let i=new t(r);return kr(e,i),i}function Un(){if(Ua)throw Error("[Rip] the render-gate construction capability is already claimed");return Ua=!0,(e,t)=>{let r=yr;yr={brand:Ya,component:e,gates:t.gates,parent:t.parent??null,stash:t.stash??null,router:t.router??null,used:!1};try{return new e({})}finally{yr=r}}}function Rr(e){if(!e||e.nodeType===11)return;if(typeof e.remove==="function")e.remove();else if(e.parentNode)e.parentNode.removeChild(e)}function Ve(e){let t=re;if(e&&e._parent==null&&t&&t!==e)e._parent=t;return re=e,t}function Re(e){re=e}function z3(e,t){if(!re)throw Error("setContext must be called during component initialization");if(!re._context)re._context=new Map;re._context.set(e,t)}function q3(e){let t=re,r=new Set;while(t&&!r.has(t)){if(r.add(t),t._context&&t._context.has(e))return t._context.get(e);t=t._parent}throw Error(`getContext: no provider for context ${JSON.stringify(e)} in this component's parent chain — `+"offer it from an ancestor, or probe with hasContext(key) where absence is legal")}function X3(e){let t=re,r=new Set;while(t&&!r.has(t)){if(r.add(t),t._context&&t._context.has(e))return!0;t=t._parent}return!1}function Er(...e){let t="";for(let r of e){if(!r)continue;if(typeof r==="string")t&&(t+=" "),t+=r;else if(typeof r==="object"){if(Array.isArray(r)){let i=Er(...r);i&&(t&&(t+=" "),t+=i)}else for(let i in r)if(r[i])t&&(t+=" "),t+=i}}return t}function eo(e){let t=e.length;if(t===0)return[];let r=[],i=[],n=Array(t).fill(-1);for(let o=0;o>1;if(r[f]0)n[o]=i[l-1]}let s=[],a=i[r.length-1];for(let o=r.length-1;o>=0;o--)s.push(a),a=n[a];return s.reverse(),s}function J3(e,t,r,i,n,s,...a){let o=e.parentNode;if(!o)return;let l=t.keys,c=t.items||[],f=t.blocks,h=l.length,u=r.length,d=Array(u),S=s!=null,g=S?r.map((y,m)=>s(y,m)):r;if(S){let y=new Set;for(let m of g){if(y.has(m))throw Error(`__reconcile: duplicate key ${JSON.stringify(String(m))} — keyed rows need unique keys `+"(the key function must be injective over the items)");y.add(m)}}if(h===0){if(u>0){let y=document.createDocumentFragment();for(let m=0;m=p&&_>=p&&l[b]===g[_]){let y=f[b];if(!y._s)y.p(i,r[_],_,...a);d[_]=y,b--,_--}if(p>_)for(let y=p;y<=b;y++)f[y].d(!0);else if(p>b){let y=_+1=p;x--){let I=d[x];if(!O.has(x-p))I.m(o,N);N=I._first}}t.keys=S?g:r.slice(),t.items=r.slice(),t.blocks=d}var Va=!1;function Z3(){if(Va)return;Va=!0;let e=document.createElement("style");e.textContent=[".fade-enter-active,.fade-leave-active{transition:opacity .2s ease}",".fade-enter-from,.fade-leave-to{opacity:0}",".slide-enter-active,.slide-leave-active{transition:opacity .2s ease,transform .2s ease}",".slide-enter-from{opacity:0;transform:translateY(-8px)}",".slide-leave-to{opacity:0;transform:translateY(8px)}",".scale-enter-active,.scale-leave-active{transition:opacity .2s ease,transform .2s ease}",".scale-enter-from,.scale-leave-to{opacity:0;transform:scale(.95)}",".blur-enter-active,.blur-leave-active{transition:opacity .2s ease,filter .2s ease}",".blur-enter-from,.blur-leave-to{opacity:0;filter:blur(4px)}",".fly-enter-active,.fly-leave-active{transition:opacity .2s ease,transform .2s ease}",".fly-enter-from{opacity:0;transform:translateY(-20px)}",".fly-leave-to{opacity:0;transform:translateY(20px)}"].join(""),document.head.appendChild(e)}function Q3(e,t,r,i){Z3();let n=e.classList,s=t+"-"+r+"-from",a=t+"-"+r+"-active",o=t+"-"+r+"-to",l=!1,c=null;n.add(s,a),requestAnimationFrame(()=>{requestAnimationFrame(()=>{n.remove(s),n.add(o);let f=(u)=>{if(l||u&&u.target!==e)return;if(l=!0,clearTimeout(c),e.removeEventListener("transitionend",f),e.removeEventListener("transitioncancel",f),n.remove(a,o),i)i()};e.addEventListener("transitionend",f),e.addEventListener("transitioncancel",f);let h=0;try{let u=getComputedStyle(e),d=(S)=>Math.max(0,...String(S).split(",").map((g)=>(parseFloat(g)||0)*(/ms\s*$/.test(g.trim())?1:1000)));h=d(u.transitionDuration)+d(u.transitionDelay)}catch{}c=setTimeout(()=>f(),h+50)})})}function ec(e){let t=e!=null&&typeof e==="object"?e.name:null;if(t==="GateFailure"||t==="ComponentFailure")return e;let r=Error(e!=null&&e.message!==void 0?e.message:String(e));r.name="ComponentFailure";let i=e!=null?e.status??e.response?.status:void 0;if(i!==void 0)r.status=i;return r.error=e,r}function Mn(e,t){let r=ec(e),i=t,n=new Set;while(i&&!n.has(i)){if(n.add(i),i.onError){let s=Ve(i),a=le(i._frame);try{i.onError(r,t);return}catch(o){}finally{Y1(a),Re(s)}}i=i._parent}throw e}var Wa=new WeakSet;function tc(e,t){if(Wa.has(e))return;let r=e.__props??[];if(!Array.isArray(r))throw Error(`${e.name||"component"}: static __props must be an array of declared prop names`);for(let i of r){if(typeof i!=="string"||i.length===0)throw Error(`${e.name||"component"}: static __props entries must be non-empty strings`);if(i.startsWith("_"))throw Error(`${e.name||"component"}: declared prop '${i}' collides with component internals — `+"underscore-prefixed names are reserved for the runtime");if(i in t)throw Error(`${e.name||"component"}: declared prop '${i}' collides with a component member (a method or lifecycle slot already answers '${i}')`)}Wa.add(e)}function rc(e,t){let i=za.get(e)?.gates?.[t];if(!i?.cell)throw Error(`[Rip] render gate ${t} has no renderer-resolved source binding — `+"gated components may only be constructed by rip/app createRenderer()");let n=i.value,s=!0;return H1(()=>{if(s)return s=!1,i.cell.read(),n;let a=i.cell.read();for(let o of i.tail){if(a==null)break;a=a[o]}if(a!=null)n=a;return n})}var br=new WeakMap;function Ha(e,t,r){if(t.startsWith("--")&&typeof e.setProperty==="function")if(r==null||r==="")e.removeProperty(t);else e.setProperty(t,String(r));else e[t]=r}function to(e,t){let r=br.get(e);if(t==null){e.removeAttribute("style"),br.delete(e);return}if(typeof t!=="object"){e.setAttribute("style",String(t)),br.delete(e);return}if(r){for(let i of r)if(!(i in t))Ha(e.style,i,"")}br.set(e,Object.keys(t));for(let i of Object.keys(t))Ha(e.style,i,t[i])}function Ga(e,t){let r=e.__props??[],i=e.__extends??null,n=null;for(let s of Object.keys(t)){if(s==="children")continue;if(s.startsWith("__bind_")&&s.endsWith("__")){let a=s.slice(7,-2);if(r.includes(a))continue;throw Error(`${e.name||"component"}: cannot bind unknown prop '${a}' — declared `+`props are [${r.join(", ")}]`)}if(r.includes(s))continue;if(i!==null){(n??={})[s]=t[s];continue}throw Error(`${e.name||"component"}: unknown prop '${s}' — declared props are `+`[${r.join(", ")}]`)}return n}class ro{constructor(e={}){let t=K3(this.constructor,e);if(t)return t;this._state="new",tc(this.constructor,this);let r=this.constructor.__gates,i=yr,n=i?.brand===Ya&&i.component===this.constructor&&i.used!==!0;if(n)i.used=!0;if(r?.length&&!n)throw Error("[Rip] component declares render gates (<~) and cannot be constructed directly or as an embedded child; render gates are honored only by rip/app createRenderer()");if(n){if(za.set(this,i),i.parent)this._parent=i.parent;if(i.stash!=null)this.stash=i.stash;if(i.router!=null)this.router=i.router,Object.defineProperty(this,"params",{get:()=>i.router.params,configurable:!0}),Object.defineProperty(this,"query",{get:()=>i.router.query,configurable:!0})}if(this.stash==null&&globalThis.__ripStash!=null)this.stash=globalThis.__ripStash;if(this.router==null&&globalThis.__ripRouter!=null)this.router=globalThis.__ripRouter;let s=Ga(this.constructor,e);if("children"in e)this.children=e.children;if(this.constructor.__hmrId)this._hmrPropKeys=Qa(e);if(this.constructor.__extends!=null)this._rest=s??{},this.rest=_1(this._rest);this._frame=yt({nested:!1});let a=Ve(this),o=le(this._frame);try{this._init(e)}catch(l){Y1(o),Re(a),this._teardown({state:"failed",hooks:!1,removeDOM:!0}),this._initFailed=!0,Mn(l,this);return}if(Y1(o),Re(a),this.constructor.__hmrId)B3(this)}_init(e){}_updateProp(e,t){if(this._state==="failed"||this._state==="unmounted")return;let r=this.constructor.__props??[];if(!r.includes(e)){if(this.constructor.__extends){this._setRestProp(e,t);return}throw Error(`${this.constructor.name||"component"}: cannot update unknown prop '${e}' — declared `+`props are [${r.join(", ")}]`)}let i=this[e];if(i&&typeof i==="object"&&"value"in i){i.value=t;return}throw Error(`${this.constructor.name||"component"}: prop '${e}' is non-reactive — parent updates `+"cannot reach it (declare it with ':=' to receive updates)")}_setRestProp(e,t){if(e.startsWith("__bind_"))return;if(this._state==="failed"||this._state==="unmounted")return;if(this._rest||(this._rest={}),t==null)delete this._rest[e];else this._rest[e]=t;this.rest.touch();let r=le(this._frame);try{this._applyInheritedProp(this._inheritedEl,e,t)}finally{Y1(r)}}_applyRestToInheritedEl(){if(this._state==="failed"||this._state==="unmounted")return;if(!this._inheritedEl||!this._rest)return;for(let e in this._rest)this._applyInheritedProp(this._inheritedEl,e,this._rest[e])}_applyInheritedProp(e,t,r){if(this._state==="failed"||this._state==="unmounted")return;if(!e||t==="key"||t==="ref"||t==="children"||t.startsWith("__bind_"))return;let i=this._restWriters?.[t];if(i){if(i(),this._frame)this._frame.remove(i);delete this._restWriters[t]}if(r!=null&&typeof r==="object"&&typeof r.read==="function"){(this._restWriters??={})[t]=$1(()=>{this._applyPlainInheritedProp(e,t,r.value)});return}this._applyPlainInheritedProp(e,t,r)}_applyPlainInheritedProp(e,t,r){if(t[0]==="@"){let i=t.slice(1).split(".")[0];this._restHandlers||(this._restHandlers={});let n=this._restHandlers[t];if(n)e.removeEventListener(i,n);if(typeof r==="function"){let s=(a)=>L1(()=>r(a));this._restHandlers[t]=s,e.addEventListener(i,s)}else delete this._restHandlers[t];return}if(t==="class"||t==="className"){if(e instanceof SVGElement)e.setAttribute("class",Er(r));else e.className=Er(r);return}if(t==="style"){to(e,r);return}if(t==="innerHTML"||t==="textContent"||t==="innerText"){e[t]=r??"";return}if(t in e&&!t.includes("-")){e[t]=r;return}if(r==null||r===!1){e.removeAttribute(t);return}if(r===!0){e.setAttribute(t,"");return}e.setAttribute(t,r)}_beginMount(){if(this._state==="new"){this._state="mounting";return}let e=this.constructor.name||"component";if(this._state==="mounting")throw Error(`${e}: cannot mount an instance whose mount is already in progress`);if(this._state==="mounted")throw Error(`${e}: cannot mount an already-mounted instance — construct a new instance for another target`);if(this._state==="failed")throw Error(`${e}: cannot mount a failed instance — its mount rolled back; construct a new instance`);throw Error(`${e}: cannot mount an unmounted instance — its effects were disposed on unmount; construct a new instance`)}_mountCreate(){this._beginMount();let e=Ve(this),t=le(this._frame),r=null,i=!1;try{this._root=this._create()}catch(n){r=n,i=!0}finally{Y1(t),Re(e)}if(i)return this._failMount(r),!1;return!0}_mountSetup(e=null){if(this._state!=="mounting")return this._nodes?.[0]??this._root;let t=Ve(this),r=le(this._frame),i=null,n=!1;try{if(e){let s=this._nodes?.[0]??this._root;if(s?.parentNode)s.parentNode.insertBefore(e,s)}if(this.beforeMount)this.beforeMount();if(this._setup)this._setup();if(this.mounted)this.mounted();this._state="mounted",Rr(e),this._hmrDrainOrphans((s,a)=>console.error(`[Rip] ${s} error:`,a))}catch(s){i=s,n=!0}finally{Y1(r),Re(t)}if(n)return this._failMount(i),e;return this._nodes?.[0]??this._root}_failMount(e){this._teardown({state:"failed",hooks:!1,removeDOM:!0}),Mn(e,this)}_dispose(e,t){if(this._children){for(let r of this._children)try{t(r)}catch(i){e("child teardown",i)}this._children=null}try{this._frame?.dispose()}catch(r){e("owner disposal",r)}if(this._restWriters){for(let r of Object.values(this._restWriters))try{r()}catch(i){e("rest writer cleanup",i)}this._restWriters=null}if(this._restHandlers){if(this._inheritedEl)for(let[r,i]of Object.entries(this._restHandlers))try{this._inheritedEl.removeEventListener(r.slice(1).split(".")[0],i)}catch(n){e("rest handler cleanup",n)}this._restHandlers=null}if(this._refCleanups){let r=this._refCleanups;this._refCleanups=null;try{L1(()=>{for(let i of r)try{i()}catch(n){e("ref cleanup",n)}})}catch(i){e("ref cleanup batch flush",i)}}this._children=null,this._refCleanups=null,this._restWriters=null,this._restHandlers=null}_detachDOM(e,t){if(t)if(this._nodes)for(let r of this._nodes)try{Rr(r)}catch(i){e("DOM detach",i)}else try{Rr(this._root)}catch(r){e("DOM detach",r)}this._root=null,this._nodes=null,this._inheritedEl=null}_teardown({state:e,hooks:t,removeDOM:r}){if(this._state==="failed"||this._state==="unmounted")return;if(this.constructor.__hmrId)U3(this);this._state=e;let i=(n,s)=>console.error(`[Rip] ${n} error:`,s);if(this._hmrDrainOrphans(i),t)try{if(this.beforeUnmount)this.beforeUnmount()}catch(n){i("beforeUnmount",n)}if(this._dispose(i,(n)=>{if(t)n.unmount({removeDOM:r});else n._teardown({state:n._state==="mounted"?"unmounted":"failed",hooks:!1,removeDOM:!0})}),t)try{if(this.unmounted)this.unmounted()}catch(n){i("unmounted",n)}this._detachDOM(i,r),this._target=null}_hmrRelease(){let e=(t,r)=>console.error(`[Rip] ${t} error:`,r);try{if(this.beforeUnmount)this.beforeUnmount()}catch(t){e("beforeUnmount",t)}this._hmrOrphans=[],this._hmrReleasing=!0;try{this._dispose(e,(t)=>t.unmount({removeDOM:!0}))}finally{this._hmrReleasing=!1}this._detachDOM(e,!0),this._frame=yt({nested:!1}),this._state="new"}_hmrRebind(){let e=(i,n)=>console.error(`[Rip] ${i} error:`,n),t=Ve(this),r=le(this._frame);try{if(typeof this._hmrRefreshComputeds==="function")this._hmrRefreshComputeds();if(typeof this._hmrBindEffects==="function")this._hmrBindEffects()}catch(i){return Y1(r),Re(t),e("hmr rebind",i),this._failMount(i),!1}return Y1(r),Re(t),!0}_hmrApplyProps(e){let t=Ga(this.constructor,e);if("children"in e)this.children=e.children;for(let r of this.constructor.__props??[]){let i=`__bind_${r}__`;if(i in e){this[r]=e[i];continue}if(!(r in e))continue;let n=e[r];if(n!=null&&typeof n==="object"&&typeof n.read==="function")this[r]=n;else this._updateProp(r,n)}if(this.constructor.__extends!=null)this._rest=t??{},this.rest.value=this._rest}_hmrDrainOrphans(e){let t=this._hmrOrphans;if(!t)return;this._hmrOrphans=null;for(let r of t)try{r.unmount({removeDOM:!0})}catch(i){e("orphan teardown",i)}}_hmrRerender(){let e=this.constructor.name||"component";if(this._state!=="mounted")throw Error(`${e}: _hmrRerender requires a mounted instance`);let t=this._target,r=this._nodes,n=(r?.[0]??this._root)?.parentNode??null,s=r?.length?r[r.length-1].nextSibling:this._root?this._root.nextSibling:null;if(this._hmrRelease(),!this._hmrRebind())return this;if(typeof this._create!=="function")return this._state="mounted",this._hmrDrainOrphans((a,o)=>console.error(`[Rip] ${a} error:`,o)),this;if(!this._mountCreate())return this;try{let a=n&&n.nodeType!==11?n:null;if(a&&a.isConnected===!1)a=null;if(!a&&typeof t==="string"&&typeof document<"u")a=document.querySelector(t);else if(!a&&t&&t.nodeType!==11&&t.isConnected!==!1)a=t;else if(!a&&typeof document<"u")a=document.querySelector("#content")||document.querySelector("#app");if(a){let o=s&&(typeof a.contains!=="function"||a.contains(s))?s:null;if(this._nodes)for(let l of this._nodes)a.insertBefore(l,o);else if(this._root)a.insertBefore(this._root,o);this._target=a.nodeType===11?null:a}}catch(a){return this._failMount(a),this}return this._mountSetup(),this}mount(e){if(!this._mountCreate())return this;try{if(typeof e==="string")e=document.querySelector(e);if(this._target=e,this._root)e.appendChild(this._root)}catch(t){return this._failMount(t),this}return this._mountSetup(),this}unmount({removeDOM:e=!0}={}){if(this._state==="failed"||this._state==="unmounted")return;if(this._state==="mounted"&&this._parent?._hmrReleasing){this._parent._hmrOrphans.push(this);return}if(this._state==="mounting")throw Error(`${this.constructor.name||"component"}: cannot unmount while mounting`);this._teardown({state:"unmounted",hooks:this._state==="mounted",removeDOM:e})}emit(e,t){if(this._state!=="mounted"||!this._root)throw Error(`${this.constructor.name||"component"}: emit('${e}') outside the mounted window — `+"emit dispatches on the live root; call after mount and before unmount");(this._nodes?.[0]??this._root).dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!0}))}static mount(e="body"){return new this().mount(e)}}var Hr={};xe(Hr,{ariaCurrent:()=>Cr,browserAdapter:()=>$r,buildRoutes:()=>Ot,check:()=>Wr,connectFeed:()=>Ur,createApply:()=>Vr,createComponents:()=>vr,createMutation:()=>uo,createRenderer:()=>Dr,createRouter:()=>Ir,createStash:()=>Nr,createWorkspace:()=>Fr,currentRouter:()=>Rc,currentStash:()=>Sc,debounce:()=>mo,delay:()=>Ar,hold:()=>go,interceptClicks:()=>Pr,launch:()=>Mr,ownsAnchor:()=>$t,parseQuery:()=>ze,persistStash:()=>xr,preloadLinks:()=>Lr,rash:()=>Dt,source:()=>so,throttle:()=>po,unwrapStash:()=>Te,validatePrepared:()=>ai});var wr,Vn,no,io=Symbol.for("rip.source"),Wn=Symbol.for("rip.source.family"),nc=64,ic=30000,sc=/^(\d+(?:\.\d+)?(?:[eE][+-]?\d+)?)\s*(s|sec|second|seconds|m|min|minute|minutes|h|hr|hour|hours|d|day|days|w|week|weeks|y|year|years)$/;function D1(e){return e!=null&&(typeof e==="object"||typeof e==="function")&&(e[io]===!0||e[Wn]===!0)}function de(e){return e!=null&&typeof e==="function"&&e[Wn]===!0}no=function(e){let t,r;if(e==null)return 0;if(typeof e==="number"){if(!(Number.isFinite(e)&&e>=0))throw TypeError('Rip App: source staleTime must be a non-negative finite number, a duration string, or "forever"');return e}if(typeof e==="string"){if(e==="forever")return 1/0;if(r=e.match(sc),r)return t=parseFloat(r[1]),(()=>{switch(r[2][0]){case"s":return t*1000;case"m":return t*60000;case"h":return t*3600000;case"d":return t*86400000;case"w":return t*604800000;case"y":return t*31536000000}})()}throw TypeError('Rip App: source staleTime must be a non-negative number, a duration such as "5 min", or "forever"')};wr=function(e,t,r=null){let i=_1(null),n=_1(!1),s=_1(null),a=0,o=null,l=null,c=!1,f=!1,h=!1,u=0,d=0,S=async function(b=!1,_=!1){let y,m;o?.abort(),o=typeof AbortController<"u"?new AbortController:null;let k=++a;if(!b)n.value=!0;let O=h;return await(async()=>{try{if(y=e(o?.signal),!(y!=null&&typeof y.then==="function"))throw TypeError("Rip App: source fetch must return a Promise");if(m=await y,k!==a)return m;return s.value=null,i.value=m,h=!0,u=Date.now(),d=_&&!f?u+ic:0,m}catch(N){if(k!==a)return;if(N?.name==="AbortError")return;if(s.value=N,!O)throw h=!1,u=0,N;return}finally{if(k===a)n.value=!1,l=null,c=!1,f=!1,r?.()}})()},g=function(b=!1,_=!1){let y=S(b,_);return l=y,c=_,f=!1,y},p=function(){return t===1/0||Date.now()-unc){o=!1;for(let[l,c]of r){if(l===a)continue;if(c.loading)continue;r.delete(l),c.reset(),o=!0;break}if(!o)break}return},n=function(a){if(a==null)throw TypeError("Rip App: keyed source requires a key");let o=ac(a),l=r.get(o);if(l)return r.delete(o),r.set(o,l),l;return l=wr(function(c){return e(a,c)},t,i),r.set(o,l),i(o),l},s=function(a){return n(a).read()};return s[Wn]=!0,s.cellFor=n,s.reset=function(){let a=Array.from(r.values());r.clear();for(let o of a)o.reset();return},s};function so(e){if(!(e!=null&&typeof e==="object"&&!Array.isArray(e)))throw TypeError("Rip App: source expects an options object");if(typeof e.fetch!=="function")throw TypeError("Rip App: source options require a fetch function");let t=no(e.staleTime);if(Object.prototype.hasOwnProperty.call(e,"kind")){if(!(e.kind==="singleton"||e.kind==="keyed"))throw TypeError("Rip App: source kind must be 'singleton' or 'keyed'");if(e.kind==="singleton"){if(e.fetch.length>1)throw TypeError("Rip App: singleton source fetch accepts at most one AbortSignal parameter");return wr(e.fetch,t)}if(e.fetch.length<1||e.fetch.length>2)throw TypeError("Rip App: keyed source fetch requires a key parameter and accepts one optional AbortSignal parameter");return Vn(e.fetch,t)}if(e.fetch.length>1)throw TypeError("Rip App: inferred source fetch accepts no parameters for a singleton or one key parameter for a keyed family");return e.fetch.length===1?Vn(e.fetch,t):wr(e.fetch,t)}var zn,_t,Hn,Tt,I1=Symbol("rip.app.stash.raw"),We=Symbol("rip.app.stash.signals"),oc=Symbol("rip.app.stash.keys"),lo=Symbol("rip.app.stash.defaults"),lc=Symbol.for("rip.app.stash.purge"),co=new WeakMap,cc=0,qn=_1(0),Gn=function(){return qn.value++},fo=function(e,t){let r=e[We];if(!r)r=new Map,Object.defineProperty(e,We,{value:r});let i=r.get(t);if(!i)i=_1(e[t]),r.set(t,i);return i},wt=function(e){return fo(e,oc)},Kn=function(e){wt(e).value=++cc;return};_t=function(e){if(!(e!=null&&typeof e==="object"))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null||Array.isArray(e)};var ao=function(e){if(!_t(e))return e;let t=co.get(e);if(t)return t;return zn(e)},He=function(e,t){let r=e?.[I1];if(!r)return e[t];let i=r[t];if(D1(i)){if(de(i))return i;return ao(i.read())}return ao(fo(r,t).value)},Yn=function(e,t,r){let i,n,s,a,o=e?.[I1];if(!o)return e[t]=r,r;if(Array.isArray(o)&&t==="length"){if(a=o.length,s=+r,o.length=s,s!==a){if(o[We]){for(let h=Math.min(a,s),u=Math.max(a,s);h0))throw TypeError("Rip App: stash path must be a non-empty string");let s=[],a=0;if(e[0]!=="["){n=a;while(a=e.length||a===n)throw TypeError(`Rip App: malformed stash path '${e}'`);if(r=e.slice(n,a),a++,e[a]!=="]")throw TypeError(`Rip App: malformed stash path '${e}'`);a++,s.push(r)}else{n=a;while(a{let i=[];for(let n in r){if(!Object.hasOwn(r,n))continue;let s=r[n];i.push(Hn(s,t))}return i})()};Tt=function(e){if(!_t(e))return e;let t=e[I1]?e[I1]:e;if(Array.isArray(t))return(()=>{let i=[];for(let n of t)if(!D1(n))i.push(Tt(n));return i})();let r={};for(let i in t){if(!Object.hasOwn(t,i))continue;let n=t[i];if(D1(n))continue;r[i]=Tt(n)}return r};function ho(e){let t=e?.[I1]?e[I1]:e;if(!(t!=null&&typeof t==="object"))return;Object.defineProperty(t,lo,{value:Tt(t),configurable:!0});return}function _r(e){if(D1(e))return e;if(!_t(e))return e;let t=e[I1]?e[I1]:e;if(Array.isArray(t))return(()=>{let i=[];for(let n of t)i.push(_r(n));return i})();let r={};for(let i in t){if(!Object.hasOwn(t,i))continue;let n=t[i];Object.defineProperty(r,i,{value:_r(n),writable:!0,enumerable:!0,configurable:!0})}return r}function Ye(e,t){let r,i,n;if(!(e!=null&&typeof e==="object"))return;if(!(t!=null&&typeof t==="object"))return;let s=e[I1]?e[I1]:e;for(let a in t){if(!Object.hasOwn(t,a))continue;let o=t[a];if(r=Object.prototype.hasOwnProperty.call(s,a)?s[a]:void 0,D1(r))continue;if(Array.isArray(r)&&r.some(function(l){return D1(l)}))continue;if(i=r!=null&&typeof r==="object"&&!Array.isArray(r),n=o!=null&&typeof o==="object"&&!Array.isArray(o),i&&n)Ye(e[a],o);else e[a]=Tt(o)}return}var uc=function(e,t){let r,i=t[lo];if(!i)return;r=function(n,s,a){let o;for(let l in s){if(!Object.hasOwn(s,l))continue;if(o=s[l],D1(o))continue;if(!(a!=null&&Object.prototype.hasOwnProperty.call(a,l))){delete n[l];continue}if(o!=null&&typeof o==="object"&&!Array.isArray(o))r(n[l],o,a[l])}return},r(e,t,i),Ye(e,i);return},dc={inc:!0,dec:!0,flip:!0,join:!0,keys:!0,has:!0,del:!0,peek:!0,reset:!0,source:!0},mc=function(e,t,r){if(r==="inc")return function(i,n=1){let s=($e(e,i)??0)+n;return kt(e,i,s),s};if(r==="dec")return function(i,n=1){let s=($e(e,i)??0)-n;return kt(e,i,s),s};if(r==="flip")return function(i){let n=!($e(e,i)??!1);return kt(e,i,n),n};if(r==="join")return function(i,n){if(!(n!=null&&typeof n==="object"&&!Array.isArray(n)))throw TypeError("Rip App: join expects a plain object");L1(function(){let s=$e(e,i);if(!(s!=null&&typeof s==="object"&&!Array.isArray(s)))kt(e,i,{}),s=$e(e,i);return(()=>{let a=[];for(let o in n){if(!Object.hasOwn(n,o))continue;let l=n[o];a.push(s[o]=l)}return a})()});return};if(r==="keys")return function(i){let n=i!=null?$e(e,i):e;if(!(n!=null&&typeof n==="object"))return[];let s=n[I1]?n[I1]:n;return wt(s).value,Object.keys(s)};if(r==="has")return function(i){let n,s,a=Ge(i);if(!(a.length>0))return!1;let o=e;for(let l=0;l0))return;let a=e;for(let o=0;o{try{return i.value=!0,await t.onSuccess?.(l),l}finally{if(c===s)r.value=!1}})()};return Object.defineProperty(a,"pending",{get(){return r.value}}),Object.defineProperty(a,"succeeded",{get(){return i.value}}),Object.defineProperty(a,"error",{get(){return n.value}}),a}var Nt,At;Nt=function(e){return typeof e==="function"?e:function(){return e.value}};At=function(e,t,r){let i={read(){return e.read()}},n={get(){return e.value}};if(typeof t!=="function")n.set=function(s){return t.value=s};return Object.defineProperty(i,"value",n),i.dispose=function(){return r?.()},i};function Ar(e,t){let r=Nt(t),i=_1(!!r()),n=$1(function(){let s;if(r()){if(i.read())return;return s=setTimeout(function(){return i.value=!0},e),function(){return clearTimeout(s)}}i.value=!1;return});return At(i,t,n)}function mo(e,t){let r=Nt(t),i=_1(r()),n=$1(function(){let s=r(),a=setTimeout(function(){return i.value=s},e);return function(){return clearTimeout(a)}});return At(i,t,n)}function po(e,t){let r=Nt(t),i=_1(r()),n=0,s=$1(function(){let a=r(),o=Date.now(),l=e-(o-n);if(l<=0){i.value=a,n=o;return}let c=setTimeout(function(){return i.value=r(),n=Date.now()},l);return function(){return clearTimeout(c)}});return At(i,t,s)}function go(e,t){let r=Nt(t),i=_1(!!r()),n=$1(function(){if(r()){i.value=!0;return}if(!i.read())return;let s=setTimeout(function(){return i.value=!1},e);return function(){return clearTimeout(s)}});return At(i,t,n)}var Xn,Jn,we;we=function(e){if(!(typeof e==="string"&&e.length>0))throw TypeError("Rip App: component path must be a non-empty string");let t=e.split("/"),r=t.some(function(s){return!s||s==="."||s===".."}),i=t.at(-1),n=t.slice(0,-1).some(function(s){return s.endsWith(".rip")});if(e.includes("\\")||r||n||i===".rip"||!i.endsWith(".rip"))throw TypeError(`Rip App: invalid component path '${e}'`);return e};Xn=function(e){if(typeof e!=="string")throw TypeError("Rip App: component source must be a string");return e};Jn=function(e){if(e===""||e==null)return"";if(typeof e!=="string")throw TypeError("Rip App: component directory must be a string");let t=e.split("/");if(e.includes("\\")||t.some(function(r){return!r||r==="."||r===".."}))throw TypeError(`Rip App: invalid component directory '${e}'`);return e};function vr(){let e=new Map,t=new Map,r=new Set,i=function(s,a){let o=[];for(let l of Array.from(r))o.push((()=>{try{return l(s,a)}catch(c){return console.error("[Rip] component watcher error:",c)}})());return o};return{read(s){return e.get(we(s))},write(s,a){s=we(s),a=Xn(a);let o=e.has(s)?"change":"create";e.set(s,a),t.delete(s),i(o,s);return},del(s){s=we(s),e.delete(s),t.delete(s),i("delete",s);return},exists(s){return e.has(we(s))},size(){return e.size},list(s=""){let a;s=Jn(s);let o=s?s+"/":"",l=[];for(let[c]of e)if(c.startsWith(o)){if(a=c.slice(o.length),!a.includes("/"))l.push(c)}return l},listAll(s=""){s=Jn(s);let a=s?s+"/":"",o=[];for(let[l]of e)if(l.startsWith(a))o.push(l);return o},load(s){let a,o;if(!(s!=null&&typeof s==="object"&&!Array.isArray(s)))throw TypeError("Rip App: component load expects a source object");for(let l in s){if(!Object.hasOwn(s,l))continue;let c=s[l];l=we(l),c=Xn(c),e.set(l,c),t.delete(l)}return},watch(s){if(typeof s!=="function")throw TypeError("Rip App: component watch expects a function");r.add(s);let a=!1;return function(){if(a)return;a=!0,r.delete(s);return}},getCompiled(s){return t.get(we(s))},setCompiled(s,a){if(s=we(s),!(a!=null&&typeof a==="object"&&!Array.isArray(a)))throw TypeError("Rip App: compiled component module must be an object");t.set(s,a);return}}}var yo,So,C1,Qn,Ro,Eo,ko,Zn=/^\w+$/,To={static:0,dynamic:1,optional:2,catchall:3},bo=8;C1=function(e){throw Error(`Rip App: ${e}`)};var vt=function(e){return(()=>{try{return decodeURIComponent(e)}catch(t){return null}})()};ko=function(e){if(e==="")return"";if(typeof e!=="string")throw TypeError("Rip App: route root must be a string");let t=e.split("/");if(e.includes("\\")||t.some(function(r){return!r||r==="."||r===".."}))throw TypeError(`Rip App: invalid route root '${e}'`);return e};var wo=function(e,t){let r;if(r=/^\[\[(.+)\]\]$/.exec(e)){if(!Zn.test(r[1]))C1(`invalid optional segment '${e}' in '${t}'`);return{kind:"optional",name:r[1]}}else if(r=/^\[\.\.\.(.+)\]$/.exec(e)){if(!Zn.test(r[1]))C1(`invalid catch-all segment '${e}' in '${t}'`);return{kind:"catchall",name:r[1]}}else if(e.startsWith("[..."))return C1(`invalid catch-all segment '${e}' in '${t}'`);else if(r=/^\[(.+)\]$/.exec(e)){if(!Zn.test(r[1]))C1(`invalid dynamic segment '${e}' in '${t}'`);return{kind:"dynamic",name:r[1]}}else if(/^\(.+\)$/.test(e))return{kind:"group"};else if(e.includes("[")||e.includes("]"))return C1(`invalid segment '${e}' in '${t}': markers claim a whole segment`);else return{kind:"static",text:e}};yo=function(e){let t,r=(()=>{let h=[];for(let u of e.slice(0,-4).split("/"))h.push(wo(u,e));return h})();if(r[r.length-1].kind==="group")C1(`route file name cannot be a group segment: '${e}'`);let i=r.filter(function(h){return h.kind!=="group"});for(let h=0;hbo)C1(`more than ${bo} optional segments in '${e}'`);let o="",l=[],c=[{shape:"",display:""}];for(let h of i)switch(l.push(To[h.kind]),h.kind){case"static":t="/"+h.text,o+=t,c=c.map(function(u){return{shape:u.shape+t,display:u.display+t}});break;case"dynamic":o+=`/:${h.name}`,c=c.map(function(u){return{shape:u.shape+"/:",display:`${u.display}/:${h.name}`}});break;case"optional":o+=`/:${h.name}?`,c=c.flatMap(function(u){return[u,{shape:u.shape+"/:",display:`${u.display}/:${h.name}`}]});break;case"catchall":o+=`/*${h.name}`,c=c.map(function(u){return{shape:u.shape+"/*",display:`${u.display}/*${h.name}`}});break}if(o==="")o="/";if(new Set(c.map(function(h){return h.shape||"/"})).size{let l=[];for(let c of e)l.push(wo(c,t));return l})().filter(function(l){return l.kind!=="group"});for(let l of i)if(l.kind==="optional"||l.kind==="catchall")C1(`not-found page under an optional or catch-all segment: '${t}'`);let n=[];for(let l of i)if(l.name!=null){if(n.includes(l.name))C1(`duplicate parameter name '${l.name}' in '${t}'`);n.push(l.name)}let s="",a="",o=[];for(let l of i)if(o.push(To[l.kind]),l.kind==="static")s+="/"+l.text,a+="/"+l.text;else s+=`/:${l.name}`,a+="/:";return{pattern:s+"/*",shape:a+"/*",parts:i,ranks:o}};Ro=function(e,t){let r;return r=function(i,n){let s,a,o,l;if(i===e.length)return n===t.length?[]:null;let c=e[i];return(()=>{switch(c.kind){case"static":if(!(nf.length))continue;if(a=m.slice(f.length),l=a.split("/"),s=l.some(function(k){return!k||k==="."||k===".."}),a.includes("\\")||s||l.at(-1)===".rip")throw TypeError(`Rip App: invalid route file path '${m}'`);if(l.at(-1)==="_layout.rip"){h.set(l.slice(0,-1).join("/"),m);continue}if(l.at(-1)==="_404.rip"){if(l.slice(0,-1).some(function(k){return k.startsWith("_")}))continue;u.push({...So(l.slice(0,-1),a),rel:a,file:m});continue}if(l.some(function(k){return k.startsWith("_")}))continue;if(!a.endsWith(".rip"))throw TypeError(`Rip App: route files must be .rip sources: '${m}'`);d.push({...yo(a),rel:a,file:m})}let S=new Map;for(let m of[...d].sort(function(k,O){return k.relk.pattern)return 1;return 0});let g=new Map;for(let m of[...u].sort(function(k,O){return k.relk.pattern)return 1;return 0});let p=d.map(function(m){return{route:Object.freeze({pattern:m.pattern,file:m.file,layouts:Object.freeze(Qn(m.rel,h))}),parts:m.parts}}),R=u.map(function(m){return{route:Object.freeze({pattern:m.pattern,file:m.file,layouts:Object.freeze(Qn(m.rel,h))}),parts:m.parts}}),b=function(m){if(typeof m!=="string")throw TypeError("Rip App: route match expects a path string");if(!m.startsWith("/"))return null;while(m.length>1&&m.endsWith("/"))m=m.slice(0,-1);return m==="/"?[]:m.slice(1).split("/")},_=function(m){let k;if(l=b(m),!l)return null;for(let O of p){if(k=Ro(O.parts,l),!k)continue;return{route:O.route,params:Object.fromEntries(k)}}return null},y=function(m){let k;if(l=b(m),!l)return null;for(let O of R){if(k=Eo(O.parts,l),!k)continue;return{route:O.route,params:Object.fromEntries(k)}}return null};return Object.freeze({routes:Object.freeze(p.map(function(m){return m.route})),match:_,notFound:y})}function ze(e){if(typeof e!=="string")throw TypeError("Rip App: parseQuery expects a query string");return Object.fromEntries(new URLSearchParams(e))}var G1,ei,_o,Or;G1=function(e){let t=e.indexOf("#"),r=t>=0?e.slice(t+1):"",i=t>=0?e.slice(0,t):e,n=i.indexOf("?"),s=n>=0?i.slice(n+1):"";return{path:n>=0?i.slice(0,n):i,query:s,hash:r}};ei=function(e,t){let r=Object.keys(t);return r.length===Object.keys(e).length&&r.every(function(n){return e[n]===t[n]})?e:t};Or=function(e){if(!(e!=null&&typeof e.match==="function"&&Array.isArray(e.routes)))throw TypeError("Rip App: createRouter requires a route manifest");return e};_o=function(e){if(e===""||e==null)return"";if(!(typeof e==="string"&&e.startsWith("/")&&!e.endsWith("/")))throw TypeError(`Rip App: invalid router base '${e}'`);return e};function Ir(e){let t,{routes:r,adapter:i,onError:n}=e??{};if(!(r!=null&&(typeof r==="function"||typeof r.match==="function"&&Array.isArray(r.routes))))throw TypeError("Rip App: createRouter requires a route manifest or manifest thunk");for(let j of["read","push","replace","go","listen"])if(typeof i?.[j]!=="function")throw TypeError(`Rip App: router adapter requires a ${j} function`);let s=_o(e?.base),a=e?.hash===!0;if(s&&a)throw TypeError("Rip App: a base path does not apply in hash mode");let o=typeof r==="function"?Or(r()):Or(r),l=new Set,c=null,f=_1(null),h=_1(null),u=_1({}),d=_1({}),S=_1(""),g=Ar(100,_1(!1)),p=H1(function(){let j=h.value;if(!j)return null;return{route:j,layouts:j.layouts,params:u.value,query:d.value}}),R=function(j){if(!s)return j;if(j===s)return"/";if(j.startsWith(s+"/"))return j.slice(s.length);return null},b=function(j){if(!s)return j;return j==="/"?s:s+j},_=function(j){return a?i.read().split("#")[0]+"#"+j:b(j)},y=function(j){return n?.({status:404,path:j}),!1},m=0,k=function(j){return typeof j==="string"&&!j.startsWith("//")&&!j.includes("\\")},O=function(j){if(!k(j))return null;return o.match(j)},N=function(j){if(!k(j))return null;return o.match(j)??o.notFound?.(j)??null},x=function(j,q,t1,M){let A=ei(u.value,j.params),C=ei(d.value,ze(t1));L1(function(){return f.value=q,h.value=j.route,u.value=A,d.value=C,S.value=M});let w={path:q,route:j.route,params:A,query:C,hash:M};m+=1;try{for(let D of Array.from(l))try{D(w)}catch(B){console.error("[Rip] router onNavigate error:",B)}}finally{m-=1}return!0},I=function(){if(m>=10)throw Error("Rip App: navigation loop — ten nested navigations from onNavigate")},H=function(){let j,q,t1,M,A,C=i.read();if(a){if(j=C.indexOf("#"),t1=j>=0?C.slice(j+1):"/",t1==="")t1="/";({path:M,query:A,hash:q}=G1(t1))}else if({path:M,query:A,hash:q}=G1(C),M=R(M),M==null)return y(G1(C).path);let w=N(M);if(!w)return y(M);return x(w,M,A,q)},G=null,K=null,Z=function(){G=null;let j=i.readState?.()??{};return i.replace(i.read(),{...j,__ripScroll:i.scroll?.save?.()??null})},V=function(){return!G?G=setTimeout(Z,100):void 0};return t={init(){if(c)return t;return H(),c=i.listen(function(){if(!H())return;let j=i.readState?.();return i.scroll?.restore?.(j?.__ripScroll??null)}),K=i.scroll?.watch?.(V)??null,t},push(j,q={}){I();let{path:t1,query:M,hash:A}=G1(j),C=N(t1);if(!C)return y(t1);let w=i.scroll?.save?.()??null,D=i.readState?.()??{};if(i.replace(i.read(),{...D,__ripScroll:w}),i.push(_(j),null),x(C,t1,M,A),!q.noScroll)i.scroll?.top?.();return!0},replace(j,q={}){I();let{path:t1,query:M,hash:A}=G1(j),C=N(t1);if(!C)return y(t1);let w=i.readState?.()??{};if(i.replace(_(j),{...w,__ripScroll:null}),x(C,t1,M,A),!q.noScroll)i.scroll?.top?.();return!0},back(){return i.go(-1)},forward(){return i.go(1)},match(j){let{path:q,query:t1,hash:M}=G1(j),A=O(q);if(!A)return null;return{route:A.route,params:A.params,query:ze(t1),hash:M}},claims(j){let q,t1,M,A,C;if(!(typeof j==="string"&&j.length>0))return null;if(a){if(q=j.indexOf("#"),q<0)return null;if(M=j.slice(q+1),M==="")M="/";({path:A,query:C,hash:t1}=G1(M))}else{if(!j.startsWith("/"))return null;if({path:A,query:C,hash:t1}=G1(j),A=R(A),A==null)return null}let w=O(A);if(!w)return null;let D=A+(C?"?"+C:"")+(t1?"#"+t1:"");return{path:A,url:D,route:w.route,params:w.params,query:ze(C),hash:t1}},onNavigate(j){if(typeof j!=="function")throw TypeError("Rip App: onNavigate expects a function");return l.add(j),function(){return l.delete(j)}},rebuild(){let j,q,t1,M,A;if(o=typeof r==="function"?Or(r()):o,!c)return;let C=i.read();if(a){if(j=C.indexOf("#"),t1=j>=0?C.slice(j+1):"/",t1==="")t1="/";({path:M,query:A,hash:q}=G1(t1))}else if({path:M,query:A,hash:q}=G1(C),M=R(M),M==null)return y(G1(C).path);let w=N(M);if(!w)return y(M);let D=h.value,B=D?.layouts??[],a1=w.route.layouts??[],h1=B.length===a1.length&&B.every(function(f1,z){return f1===a1[z]});if(D?.file===w.route.file&&h1&&f.value===M)return;x(w,M,A,q);return},destroy(){if(c?.(),c=null,K?.(),K=null,G)clearTimeout(G);G=null;return}},Object.defineProperty(t,"current",{get(){return p.value}}),Object.defineProperty(t,"path",{get(){return f.value}}),Object.defineProperty(t,"hash",{get(){return S.value}}),Object.defineProperty(t,"params",{get(){return u.value}}),Object.defineProperty(t,"query",{get(){return d.value}}),Object.defineProperty(t,"navigating",{get(){return g.value},set(j){return g.value=j}}),t}function $r(){if(typeof window>"u"||window.history==null||window.location==null)throw Error("Rip App: browserAdapter requires a browser environment");window.history.scrollRestoration="manual";let e=function(r){return window.requestAnimationFrame?window.requestAnimationFrame(r):setTimeout(r,16)},t=0;return{read(){return window.location.pathname+window.location.search+window.location.hash},readState(){return window.history.state},push(r,i){return window.history.pushState(i,"",r)},replace(r,i){return window.history.replaceState(i,"",r)},go(r){return window.history.go(r)},listen(r){return window.addEventListener("popstate",r),function(){return window.removeEventListener("popstate",r)}},scroll:{save(){return{x:window.scrollX,y:window.scrollY}},restore(r){let i;if(r==null)return;let n=++t,s=r.x||0,a=r.y||0,o=0;i=function(){if(n!==t)return;let l=Math.max(0,(window.document?.documentElement?.scrollHeight||0)-window.innerHeight);return window.scrollTo(s,Math.min(a,l)),o+=1,a>l&&o<20?e(i):void 0},e(i);return},top(){return t+=1,window.scrollTo(0,0)},watch(r){return window.addEventListener("scroll",r,{passive:!0}),function(){return window.removeEventListener("scroll",r)}}}}}var ti,No,De;No=Un();De=function(e,t,r,i=null){let n=i??r?.message??String(r),s=Error(n);return s.name="GateFailure",s.status=r?.status??r?.response?.status??500,s.path=e,s.file=t,s.error=r,s};ti=function(e,t){let r=e.getCompiled(t);if(!(r!=null&&typeof r==="object"))throw Error(`Rip App: no precompiled component module for '${t}'`);let i=function(s){return typeof s==="function"&&typeof s.prototype?.mount==="function"};if(i(r.default))return r.default;let n=[];for(let s in r){let a=r[s];if(s==="default")continue;if(i(a))n.push(a)}if(n.length!==1)throw Error(`Rip App: precompiled module '${t}' must export exactly one component class`);return n[0]};function Dr(e){let t;if(!(e!=null&&typeof e==="object"))throw TypeError("Rip App: createRenderer expects an options object");let{router:r,stash:i,components:n,target:s,onError:a}=e;if(!(r!=null&&typeof r==="object"))throw TypeError("Rip App: createRenderer requires a router object");if(!(i!=null&&Te(i)!==i))throw TypeError("Rip App: createRenderer requires a stash built by createStash");if(!(n!=null&&typeof n.getCompiled==="function"))throw TypeError("Rip App: createRenderer requires a component registry");if(!(s!=null&&typeof s.appendChild==="function"))throw TypeError("Rip App: createRenderer requires a target with appendChild()");if(a!=null&&typeof a!=="function")throw TypeError("Rip App: createRenderer onError must be a function");let o=[],l=null,c=0,f=null,h=[],u=null,d=null,S=null,g=!1,p=function(z,i1){let X=Object.keys(z);return X.length===Object.keys(i1).length&&X.every(function(r1){return z[r1]===i1[r1]})},R=function(z,i1){return z.length===i1.length&&z.every(function(X,r1){return i1[r1]===X})},b=function(z){let i1=Te(i),X=z.split(".");for(let r1=0;r1",P.file,`Rip App: ${P.file} static __gates must be an array`);for(let W=0;W0))throw _(String(J),P.file,`Rip App: ${P.file} has a malformed render gate path`);if(F!=null&&typeof F!=="function")throw _(J,P.file,`Rip App: gate '${J}' has a non-function key`);if(o1=b(J),!o1)throw _(J,P.file,`Rip App: gate '${J}' does not resolve to a source`);if(r1=o1.cell,de(r1)){if(!F)throw _(J,P.file,`Rip App: gate '${J}' is keyed and requires a key function`);try{c1=F(i1,X),r1=r1.cellFor(c1)}catch(L){throw Q=L,De(J,P.file,Q,`Rip App: gate '${J}' key failed: ${Q.message}`)}}else if(F)throw _(J,P.file,`Rip App: gate '${J}' is a singleton and does not accept a key function`);if(P.bindings[W]={cell:r1,tail:o1.tail,path:J,file:P.file},!n1.has(r1))n1.set(r1,{cell:r1,path:J,file:P.file,entryIndex:v})}}return Array.from(n1.values())},k=async function(z,i1,X,r1){let Q,l1,c1=m(z,i1,X),F=await Promise.allSettled((()=>{let n1=[];for(let v of c1)n1.push(v.cell.ensure());return n1})());if(r1!==c)return!1;let J=null,o1=function(n1,v){if(n1.entryIndex=v,J==null||v=J.entryIndex)break;for(let P of v.bindings){l1=P.cell.peek();for(let W of P.tail){if(l1==null)break;l1=l1[W]}if(l1==null){o1(_(P.path,P.file,`Rip App: gate '${P.path}' resolved to ${l1}; every gated subpath must exist and be non-null`),n1);break}P.value=l1}}if(J!=null)throw J;return!0},O=function(z,i1){return No(z.cls,{gates:z.bindings,parent:i1,stash:i,router:r})},N=function(z){let i1=[];for(let X=z.length-1;X>=0;X--){let r1=z[X];try{r1.unmount?.()}catch(Q){i1.push(Q);try{r1._teardown?.({state:"unmounted",hooks:!1,removeDOM:!0})}catch(l1){i1.push(l1)}}}return i1},x=function(){let z=o;o=[],l=null,h=[],u=null,d=null;let i1=N(z);if(i1.length)throw i1[0];return},I=null,H=function(){I?.remove?.(),I=null;return},G=function(z){let i1,X;H();let r1=z.error?.stack??z.stack??z.message??String(z);I=(()=>{if(typeof document<"u"&&typeof document.createElement==="function")return i1=document.createElement("pre"),i1.style.cssText="margin:2rem;padding:1rem 1.25rem;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;font:13px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;overflow-wrap:anywhere",i1.textContent=r1,i1;else return X={nodeName:"PRE",textContent:r1,parentNode:null,remove(){let Q=X.parentNode?.children,l1=Q?.indexOf(X)??-1;if(l1>=0)Q.splice(l1,1);X.parentNode=null;return}},X})(),s.appendChild(I);return},K=function(){if(typeof document<"u"&&typeof document.createDocumentFragment==="function")return document.createDocumentFragment();let z=[];return{children:z,appendChild(i1){return z.push(i1),i1}}},Z=function(z,i1=s){if(H(),z.nodeType===11)i1.appendChild(z);else for(let X of z.children)i1.appendChild(X);return},V=function(z,i1){let X,r1=z._nodes??[z._root];for(let Q of r1){if(!Q)continue;if(Q.matches?.("#content"))return Q;if(X=Q.querySelector?.("#content"),X)return X}return r1.find(function(Q){return Q!=null})??i1},j=function(z){return z?.childNodes??z?.children??[]},q=function(z,i1){z.slot=i1,z.slotOwned=j(i1).length;return},t1=function(){let z,i1,X=s;for(let r1=0;r10&&Q.slot!=null&&Q.slot!==X){i1=Array.from(j(Q.slot)).slice(Q.slotOwned??0),q(Q,X);for(let l1 of i1)X.appendChild(l1);z._target=X}if(r1===h.length-1)break;X=V(z,X)}if(h.length>1)u=X;return},M=function(z,i1,X){let r1,Q,l1;if(!z.some(function(n1){return typeof n1.cls.prototype?.onError==="function"}))return!1;let c1=K(),F=c1,J=[];try{for(let n1=0;n10)q(v,F);if(Q.mount?.(F),Q._state==="failed")return N(J),!1;F=V(Q,F)}if(X!==c)return N(J),!1;r1=null;for(let n1=J.length-1;n1>=0;n1--){let v=J[n1];if(typeof v.onError==="function"){r1=v;break}}Z(c1)}catch(n1){return console.error("[Rip] boundary chain failed to mount:",n1),N(J),!1}let o1=o;o=J,l=J[J.length-1]??null,h=z,u=F,d=null;try{r1.onError(i1)}catch(n1){console.error("[Rip] boundary onError error:",n1)}for(let n1 of N(o1))console.error("[Rip] boundary teardown error:",n1);return!0},A=function(z,i1){let X=null;for(let Q=z.length-1;Q>=0;Q--){let l1=z[Q];if(typeof l1.instance?.onError==="function"){X=l1.instance;break}}if(!X)return!1;let r1=o.slice(z.length);o=z.map(function(Q){return Q.instance}),l=o[o.length-1]??null,h=z,d=null;try{X.onError(i1)}catch(Q){console.error("[Rip] boundary onError error:",Q)}for(let Q of N(r1))console.error("[Rip] boundary teardown error:",Q);return!0},C=async function(z,i1,X=n){let r1,Q,l1,c1,F,J,o1=z?.route;if(!o1?.file)throw Error("Rip App: renderer route state requires route.file");let n1=z.params??{},v=z.query??{},P=z.layouts??[];if(!Array.isArray(P))throw Error("Rip App: renderer route state layouts must be an array");let W=h.map(function(S1){return S1.file}),s1=S;if(S=null,s1==null&&l!=null&&d!=null&&o1.file===d.file){if(R([...P,o1.file],W)&&p(n1,d.params)){if(!(p(v,d.query)||y(h,n1,v))){if(typeof l.load==="function")await l.load(n1,v);if(i1!==c)return null;return d={file:o1.file,params:n1,query:v},l}}}let L=[...P,o1.file],U=d!=null&&P.length>0&&h.length===P.length+1&&R(P,W.slice(0,-1))&&!y(h.slice(0,-1),n1,v),e1=s1!=null?Math.max(0,Math.min(s1,L.length-1)):U?P.length:0;if(s1!=null&&e1>0){if(!(h.length===L.length&&R(L.slice(0,e1),W.slice(0,e1))))e1=0}let m1=[];for(let S1=0;S10){if(l1=U?A(m1.slice(0,r1),Q):M(m1.slice(0,r1),Q,i1),l1)return null}}throw Q}let d1=K(),R1=d1,E1=[],A1=e1>0?m1[e1-1].instance:null,k1=e1>0,w1=k1?V(A1,s):s;try{for(let S1=m1.slice(e1),q1=0;q10)q(xt,R1);if(c1.mount?.(R1),c1._state==="failed")throw Error(`Rip App: component '${xt.file}' failed during mount`);if(e1+q11?R1:w1,h=m1,d={file:o1.file,params:n1,query:v};let y1=N(p1);if(g=y1.length>0,y1.length)for(let S1 of y1)if(Q=De("","",S1),a!=null)try{a(Q)}catch(q1){console.error("[Rip] renderer teardown reporter failed:",q1)}else console.error("[Rip] renderer teardown error:",Q);return l},w=function(z){let i1,X,r1=z?.route;if(!r1?.file)return;let Q=z.params??{},l1=z.query??{},c1=z.layouts??r1.layouts??[],F=h.map(function(n1){return n1.file}),J=d!=null&&R(c1,F.slice(0,-1));if(J&&r1.file===d.file&&p(Q,d.params))return;let o1=J?[r1.file]:[...c1,r1.file];try{i1=(()=>{let n1=[];for(let v of o1)n1.push({file:v,cls:ti(n,v)});return n1})(),X=m(i1,Q,l1)}catch(n1){return}for(let n1 of X)n1.cell.preload().catch(function(){return null});return},D=function(z,i1){if(!(z!=null&&typeof z==="object"&&typeof i1==="string"))return null;let X=function(r1){return typeof r1==="function"&&r1.__hmrId===i1};if(X(z.default))return z.default;for(let r1 in z){let Q=z[r1];if(X(Q))return Q}return null},B=function(z){let i1=z+"#",X=[];for(let Q of h)if(Q.file===z&&Q.instance!=null)X.push(Q.instance);for(let[Q,l1]of jn())if(typeof Q==="string"&&Q.startsWith(i1)){for(let c1 of l1.instances)if(!X.includes(c1))X.push(c1)}let r1=[];for(let Q of X)r1.push({instance:Q,entry:h.find(function(l1){return l1.instance===Q})??null});return r1},a1=function(z,i1){let X,r1,Q,l1,c1=(()=>{let n1=[];for(let v of z)if(typeof v==="string"&&v.endsWith(".rip"))n1.push(v);return n1})();if(!(c1.length>0))return"unknown";let F=0,J=!1,o1=new Set;for(let n1 of c1){if(l1=i1.getCompiled(n1),Q=B(n1),l1==null){if(typeof i1.exists==="function"&&!i1.exists(n1)){if(Q.some(function(v){return v.instance._state!=="unmounted"}))return"fallback"}else J=!0;continue}for(let{instance:v,entry:P}of Q){if(o1.has(v))continue;if(v._state==="unmounted")continue;if(v._state!=="mounted")return"fallback";if(r1=v.constructor?.__hmrId,X=typeof r1==="string"?D(l1,r1):null,X==null)return"fallback";if(St(X),Rt(v.constructor,X)!=="patch")return"fallback";if(Bn(v,X),o1.add(v),F+=1,P!=null){if(P.cls=X,P!==h[h.length-1])t1()}}}if(F>0)return"done";return J?"unknown":"idle"},h1=async function(z,i1=n){let X,r1,Q,l1,c1;if(!(Array.isArray(z)&&z.length>0))return"noop";for(let U of z)if(U==="stash.rip"||U.startsWith("stash/")||U==="seed.rip")return"escape";let F=r.current;if(!(F?.route?.file&&h.length>0))return"noop";let o1=[...F.layouts??F.route.layouts??[],F.route.file],n1=R(o1,h.map(function(U){return U.file})),v=Fn();try{if(c1=a1(z,i1),c1==="done")return Tr(v),"narrow";if(c1==="idle"&&n1)return ke("noop",{paths:[...z]}),"noop"}catch(U){console.error("[Rip] HMR patch failed; falling back to remount:",U),ke("reject",{reason:"patch-failed",paths:[...z],message:U?.message?String(U.message):String(U)})}let P=new Set(z),W=-1;for(let U=0;U{try{return await C(z,l1,i1)}catch(c1){if(X=c1,l1!==c)return null;if(r1=(()=>{if(X?.name==="GateFailure")return X;else return Q=z?.route?.file??"",De(X?.path??Q,Q,X)})(),a?.(r1),l==null)G(r1);throw r1}finally{if(l1===c&&(Array.isArray(r)||typeof r==="string"?r.includes("navigating"):("navigating"in r)))r.navigating=!1}})()};let f1=null;return f1={current:null,mount:t,preload:w,remountDirty:h1,start(){if(f)return f1;return r.init?.(),f=$1(function(){let z=r.current;if(z?.route)t(z).catch(function(){return null});return}),f1},stop(){let z,i1;if(c++,f?.(),f=null,Array.isArray(r)||typeof r==="string"?r.includes("navigating"):("navigating"in r))r.navigating=!1;try{x()}catch(X){throw z=X,i1=De("","",z),a?.(i1),i1}return}},Object.defineProperty(f1,"current",{get(){return l}}),f1}var vo,Oo,ri=Symbol.for("rip.app.stash.persisted"),Ao=Symbol.for("rip.app.stash.purge");Oo=function(e,t){return D1(t)?void 0:t};vo=function(e){if(e.storage!=null)return e.storage;if(!(typeof window<"u"&&window.localStorage!=null))throw Error("Rip App: persistStash requires a browser or an injected storage");return e.local?window.localStorage:window.sessionStorage};function xr(e,t={}){let r,i=Te(e)||e;if(i[ri])return function(){return null};i[ri]=!0;let n=vo(t),s=t.key||"__rip_app",a=t.debounce??2000;try{if(r=n.getItem(s),r)Ye(e,JSON.parse(r))}catch(u){}let o=null,l=function(){o=null;try{n.setItem(s,JSON.stringify(Te(e),Oo))}catch(u){}return},c=!1,f=$1(function(){if(qn.value,!c){c=!0;return}if(o!=null)clearTimeout(o);return o=setTimeout(l,a),function(){return o!=null?clearTimeout(o):void 0}});if(typeof window<"u")window.addEventListener("beforeunload",l);Object.defineProperty(i,Ao,{value(){if(o!=null)clearTimeout(o),o=null;try{n.removeItem(s)}catch(u){}return},configurable:!0,writable:!0});let h=!1;return function(){if(h)return;if(h=!0,f?.(),typeof window<"u")window.removeEventListener("beforeunload",l);l(),i[Ao]=null,i[ri]=!1;return}}var Io,ni;ni=function(e){if(e.hasAttribute?.("data-router-ignore"))return!0;if(e.hasAttribute?.("download"))return!0;let t=e.getAttribute?.("target");if(t&&t.toLowerCase()!=="_self")return!0;return!1};function It(e){let t,r=e.getAttribute?.("href")??e.href;if(!(typeof r==="string"&&r.length>0))return null;if(/^[a-z][a-z0-9+.-]*:/i.test(r)){if(t=typeof location<"u"?location.origin:null,!(t!=null&&r.startsWith(t)))return null;r=r.slice(t.length)}if(r.startsWith("//")||r.includes("\\"))return null;return r}function $t(e,t){if(t==null)return!1;if(ni(t))return!1;let r=It(t);if(r==null)return!1;return e.claims(r)!=null}Io=function(){if(!(typeof document<"u"&&typeof document.querySelectorAll==="function"))throw Error("Rip App: ariaCurrent requires a browser or an injected host");return{anchors(){return Array.from(document.querySelectorAll("a[href]"))},observe(e){if(typeof MutationObserver>"u")return null;let t=!1,r=new MutationObserver(function(){if(t)return;return t=!0,requestAnimationFrame(function(){return t=!1,e()})});return r.observe(document.documentElement??document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["href","target","download","data-router-ignore"]}),function(){return r.disconnect()}}}};function Cr(e,t=null){if(!(e!=null&&typeof e.claims==="function"))throw TypeError("Rip App: ariaCurrent requires a router");t=t??Io();let r=new WeakMap,i=function(){let l,c,f,h,u=e.path;for(let d of t.anchors()){if(l=ni(d)?null:e.claims(It(d)??""),f=l==null||u==null?null:l.path===u?"page":l.path!=="/"&&u.startsWith(l.path+"/")?"true":null,c=d.getAttribute?.("aria-current")??null,h=r.get(d),h!==void 0&&c!==h){if(r.delete(d),c!=null)continue;h=void 0}if(f!=null){if(h===void 0&&c!=null)continue;if(c!==f)d.setAttribute("aria-current",f);r.set(d,f)}else if(h!==void 0)d.removeAttribute("aria-current"),r.delete(d)}return},n=function(){try{i()}catch(l){console.error("[Rip] aria-current walk failed:",l)}return},s=$1(function(){return e.path,n()}),a=t.observe?.(n)??null,o=!1;return function(){if(o)return;o=!0,s(),a?.();try{for(let l of t.anchors())if(r.has(l)){if((l.getAttribute?.("aria-current")??null)===r.get(l))l.removeAttribute("aria-current");r.delete(l)}}catch(l){}return}}var $o,Do,ii,si;Do=50;$o=3000;si=function(){if(!(typeof document<"u"&&typeof document.addEventListener==="function"))throw Error("Rip App: link listeners require a browser or an injected host");return{listen(e,t,r=null){return document.addEventListener(e,t,r??!1),function(){return document.removeEventListener(e,t,r??!1)}}}};ii=function(e){while(e!=null&&e.tagName!=="A")e=e.parentElement;return e??null};function Pr(e,t=null){if(!(e!=null&&typeof e.claims==="function"&&typeof e.push==="function"))throw TypeError("Rip App: interceptClicks requires a router");t=t??si();let r=function(s){if(s.defaultPrevented)return;if(s.button!==0||s.metaKey||s.ctrlKey||s.shiftKey||s.altKey)return;let a=ii(s.target);if(!(a!=null&&$t(e,a)))return;let o=e.claims(It(a));if(o==null)return;s.preventDefault(),e.push(o.url,{noScroll:a.hasAttribute?.("data-router-noscroll")===!0});return},i=t.listen("click",r),n=!1;return function(){if(n)return;n=!0,i();return}}function Lr(e,t,r=null){if(!(e!=null&&typeof e.claims==="function"))throw TypeError("Rip App: preloadLinks requires a router");if(!(t!=null&&typeof t.preload==="function"))throw TypeError("Rip App: preloadLinks requires a renderer with preload()");r=r??si();let i=null,n=null,s={href:null,at:0},a=function(){if(i!=null)clearTimeout(i);i=null,n=null;return},o=function(h){let u=ii(h.target);if(!(u!=null&&$t(e,u)))return;if(u===n)return;a(),n=u;let d=It(u);i=setTimeout(function(){i=null,n=null;let S=Date.now();if(d===s.href&&S-s.at<$o)return;s.href=d,s.at=S;let g=e.claims(d);return g!=null?t.preload(g):void 0},Do);return},l=function(h){if(n==null)return;let u=h.relatedTarget;if(!(u!=null&&n.contains?.(u)))a();return},c=[r.listen("pointerover",o,{passive:!0}),r.listen("focusin",o,{passive:!0}),r.listen("pointerout",l,{passive:!0}),r.listen("focusout",l,{passive:!0})],f=!1;return function(){if(f)return;f=!0,a();for(let h of c)h();return}}var qe,xo,z1,Co;qe="routes";z1=function(e){throw Error(`Rip App: ${e}`)};var pc=function(e){let t;if(!(e!=null&&typeof e==="object"&&!Array.isArray(e)))z1("launch requires a bundle object");for(let r of["modules","compiled"]){if(t=e[r],t==null)continue;if(!(typeof t==="object"&&!Array.isArray(t)))z1(`launch bundle ${r} must be an object of store paths`)}if(e.seed!=null&&(typeof e.seed!=="object"||Array.isArray(e.seed)))z1("launch bundle seed must be an object");return e},gc=["read","write","del","exists","size","list","listAll","load","watch","getCompiled","setCompiled"];Co=function(e){if(!(typeof e==="object"&&!Array.isArray(e)))z1("launch components must be an object");for(let t of gc)if(typeof e[t]!=="function")z1(`launch components store is missing '${t}'`);return e};var ai=function(e,t=null){let r=pc(e),n=[...new Set([...Object.keys(r.modules??{}),...Object.keys(r.compiled??{})])].filter(function(o){return o.startsWith(qe+"/")});Ot(n,qe);let s=r.compiled?.["stash.rip"],a=t??s?.stash;if(a==null&&s!=null)z1("the bundle's 'stash.rip' module must export 'stash'");if(a!=null&&(typeof a!=="object"||Array.isArray(a)))z1("the application stash must be a plain object");return{bundle:r,declaration:a}};xo=function(){if(!(typeof document<"u"&&typeof document.querySelector==="function"))z1("launch requires a target outside the browser");let e=document.querySelector("#app");if(!e)e=document.createElement("div"),e.id="app",document.body.appendChild(e);return e};function Mr(e){let t,r;if(!(e!=null&&typeof e==="object"))z1("launch requires an options object");if(globalThis.__ripStash!=null)z1("an application is already launched; destroy it first");let i=ai(e.bundle,e.declaration),n=i.bundle,s=e.target??xo(),a=e.adapter??$r(),o=i.declaration,l=Nr(_r(o??{}));Ye(l,n.seed??{}),ho(l);let c=e.components!=null?Co(e.components):vr();if(n.modules!=null)c.load(n.modules);if(n.compiled!=null){let b=n.compiled;for(let _ in b){if(!Object.hasOwn(b,_))continue;let y=b[_];if(!c.exists(_))c.write(_,"");c.setCompiled(_,y)}}let f=Ir({routes(){return Ot(c.listAll(qe),qe)},adapter:a,base:e.base,hash:e.hash,onError:e.onError}),h=Dr({router:f,stash:l,components:c,target:s,onError:e.onError}),u=c.watch(function(b,_){return _.startsWith(qe+"/")?f.rebuild():void 0}),d=null;if(e.links!=null||typeof document<"u"&&typeof document.addEventListener==="function")t=Pr(f,e.links),r=Lr(f,h,e.links),d=function(){t(),r();return};let S=null;if(typeof document<"u"&&typeof document.querySelectorAll==="function")S=Cr(f);let g=null;if(e.persist)g=xr(l,{local:e.persist==="local",key:"__rip_app",storage:e.storage});let p=!1,R=function(){if(p)return;p=!0;let b=[],_=function(y){try{y()}catch(m){b.push(m)}return};if(_(function(){return S?.()}),_(function(){return d?.()}),_(function(){return h.stop()}),_(function(){return f.destroy()}),_(function(){return u()}),_(function(){return g?.()}),globalThis.__ripStash===l)delete globalThis.__ripStash;if(globalThis.__ripRouter===f)delete globalThis.__ripRouter;if(b.length===1)throw b[0];if(b.length>1)throw AggregateError(b,"Rip App: launch.destroy failed");return};globalThis.__ripStash=l,globalThis.__ripRouter=f;try{if(typeof s.replaceChildren==="function")s.replaceChildren();else if(Array.isArray(s.children))s.children.length=0;h.start()}catch(b){throw R(),b}return{stash:l,components:c,router:f,renderer:h,destroy:R}}var oi,jr,li,ci,fi,B1;B1=function(e){if(!(typeof e==="string"&&e.length>0))throw TypeError("Rip Workspace: component path must be a non-empty string");let t=e.split("/"),r=t.some(function(s){return!s||s==="."||s===".."||s.startsWith(".")}),i=t.at(-1),n=t.slice(0,-1).some(function(s){return s.endsWith(".rip")});if(e.includes("\\")||e.startsWith("/")||r||n||i===".rip"||!i.endsWith(".rip"))throw TypeError(`Rip Workspace: invalid component path '${e}'`);return e};jr=function(e){if(typeof e!=="string")throw TypeError("Rip Workspace: component source must be a string");return e};li=function(e){if(e===""||e==null)return"";if(typeof e!=="string")throw TypeError("Rip Workspace: component directory must be a string");let t=e.split("/");if(e.includes("\\")||e.startsWith("/")||t.some(function(r){return!r||r==="."||r===".."||r.startsWith(".")}))throw TypeError(`Rip Workspace: invalid component directory '${e}'`);return e};ci=function(e){if(!(typeof e==="string"&&/^[A-Za-z0-9_]{6}$/.test(e)))throw TypeError("Rip Workspace: publication hash must be six Base64URL-folded characters");return e};fi=function(e){if(!(e!=null&&typeof e==="object"&&!Array.isArray(e)))throw TypeError("Rip Workspace: compiled component module must be an object");return e};oi=function(e){let t;if(!(e!=null&&typeof e==="object"&&!Array.isArray(e)))throw TypeError("Rip Workspace: prepared state must be an object");let r=ci(e.hash);if(!(e.sources!=null&&typeof e.sources==="object"&&!Array.isArray(e.sources)))throw TypeError("Rip Workspace: prepared sources must be an object");if(!(e.compiled!=null&&typeof e.compiled==="object"&&!Array.isArray(e.compiled)))throw TypeError("Rip Workspace: prepared compiled modules must be an object");let i=new Map,n=new Map,s=e.sources;for(let o in s){if(!Object.hasOwn(s,o))continue;let l=s[o];i.set(B1(o),jr(l))}let a=e.compiled;for(let o in a){if(!Object.hasOwn(a,o))continue;let l=a[o];if(o=B1(o),!i.has(o))throw Error(`Rip Workspace: compiled module '${o}' has no source`);n.set(o,fi(l))}return{hash:r,sources:i,compiled:n}};function Fr(){let e,t=new Map,r=new Map,i=new Set,n=null,s=!1,a=function(l,c){for(let f of Array.from(i))try{f(l,c)}catch(h){console.error("[Rip] workspace watcher error:",h)}return},o=function(l){t=l.sources,r=l.compiled,n=l.hash;return};return e={read(l){return t.get(B1(l))},write(l,c){if(s)throw Error("Rip Workspace: cannot write during a publication transition");l=B1(l),c=jr(c);let f=t.has(l)?"change":"create";t.set(l,c),r.delete(l),a(f,l);return},del(l){if(s)throw Error("Rip Workspace: cannot delete during a publication transition");l=B1(l),t.delete(l),r.delete(l),a("delete",l);return},exists(l){return t.has(B1(l))},size(){return t.size},list(l=""){let c;l=li(l);let f=l?l+"/":"",h=[];for(let[u]of t)if(u.startsWith(f)){if(c=u.slice(f.length),!c.includes("/"))h.push(u)}return h},listAll(l=""){l=li(l);let c=l?l+"/":"",f=[];for(let[h]of t)if(h.startsWith(c))f.push(h);return f},load(l){if(s)throw Error("Rip Workspace: cannot load during a publication transition");if(!(l!=null&&typeof l==="object"&&!Array.isArray(l)))throw TypeError("Rip Workspace: component load expects a source object");let c=[];for(let f in l){if(!Object.hasOwn(l,f))continue;let h=l[f];c.push([B1(f),jr(h)])}for(let[f,h]of c)t.set(f,h),r.delete(f);return},watch(l){if(typeof l!=="function")throw TypeError("Rip Workspace: component watch expects a function");i.add(l);let c=!1;return function(){if(c)return;c=!0,i.delete(l);return}},getCompiled(l){return r.get(B1(l))},setCompiled(l,c){if(s)throw Error("Rip Workspace: cannot compile during a publication transition");if(l=B1(l),!t.has(l))throw Error(`Rip Workspace: setCompiled for unknown component path '${l}'`);r.set(l,fi(c));return},hash(){return n},activate(l){if(n!=null)throw Error("Rip Workspace: a publication is already active");if(s)throw Error("Rip Workspace: a publication transition is already staged");o(oi(l));return},stage(l,c,f){if(s)throw Error("Rip Workspace: a publication transition is already staged");if(l=ci(l),n!==l)throw Error(`Rip Workspace: change starts at ${l}, not ${n}`);if(!Array.isArray(f))throw TypeError("Rip Workspace: changed paths must be an array");let h=f.map(function(p){return B1(p)});if(new Set(h).size!==h.length)throw Error("Rip Workspace: changed paths must be unique");let u=oi(c),d={sources:t,compiled:r,hash:n};s=!0;let S=!1,g=function(p){let R;if(S)throw Error("Rip Workspace: publication transition is already finished");if(S=!0,s=!1,!p)return;o(u);for(let b of h)R=!u.sources.has(b)?"delete":d.sources.has(b)?"change":"create",a(R,b);return};return{components:{getCompiled(p){return u.compiled.get(B1(p))},exists(p){return u.sources.has(B1(p))}},commit(){return g(!0)},rollback(){return g(!1)}}},commit(l,c,f){e.stage(l,c,f).commit();return}},e}var Po,Lo,Mo,jo,Fo,Bo,Uo,Br;Mo=250;Lo=8000;Po=5000;Uo=0;Br=function(e){return typeof e==="string"&&/^[A-Za-z0-9_]{6}$/.test(e)};Fo=function(){if(typeof location>"u")throw Error("Rip App: connectFeed needs a hub URL (no location to derive one from)");return`${location.protocol==="https:"?"wss":"ws"}://${location.host}/hub`};Bo=function(){if(typeof WebSocket>"u")throw Error("Rip App: connectFeed needs a socket factory (no global WebSocket)");return function(e){return new WebSocket(e)}};jo=function(){if(typeof fetch>"u")throw Error("Rip App: connectFeed needs a fetch (no global fetch)");return function(e,t){return fetch(e,t)}};function Ur(e,t={}){let r;if(!(e!=null&&typeof e.hash==="function"&&typeof e.apply==="function"&&typeof e.reload==="function"))throw TypeError("Rip App: connectFeed expects hash, apply, and reload callbacks");if(!Br(e.hash()))throw TypeError("Rip App: connectFeed client hash must be six Base64URL-folded characters");let i=t.hub??Fo(),n=t.latestUrl??"/latest.json",s=t.makeSocket??Bo(),a=t.fetch??jo(),o=t.report??function(...M){return console.error(...M)},l=t.backoff?.min??Mo,c=t.backoff?.max??Lo,f=t.ackTimeout??Po,h=!1,u=!1,d=!1,S=!1,g=null,p=0,R=null,b=null,_=0,y=null,m=[],k=Promise.resolve(),O=new Map,N=null,x=function(M){if(u||h)return;u=!0,e.reload(M);return},I=async function(M){let A;if(u||h)return!1;return await(async()=>{try{if(A=await e.apply(M),A==="rejected"){if(Br(M?.hash))N=M?.hash;return!1}if(A==="reload"||!A)return x("change could not be applied"),!1;return N=null,!0}catch(C){return o("[Rip] publication change failed:",C),x("change failed"),!1}})()},H=function(M,A){k=k.then(async function(){if(A!==_)return!0;return await I(M)}),k=k.catch(function(C){return o("[Rip] publication queue failed:",C),x("change queue failed"),!1});return},G=async function(M){let A,C;if(h||u||M!==_)return;let w=e.hash(),D=await a(n,{cache:"no-store"});if(!D?.ok)throw Error(`latest.json fetch failed (${D?.status})`);let B=await D.json();if(!(B!=null&&typeof B==="object"&&!Array.isArray(B)&&Object.keys(B).length===1&&Object.hasOwn(B,"hash")&&Br(B.hash)))throw Error("latest.json is malformed");if(h||u||M!==_)return;if(N!=null){if(B.hash!==N){x(`a newer App generation followed rejected ${N}`);return}m=[],S=!0,p=0;return}let a1=new Set([w]),h1=0;while(h1{try{return g?.close()}catch{}})()}),k=C.then(function(){return!0},function(){return!1}),O.set(M,C),C.finally(function(){return O.get(M)===C?O.delete(M):void 0}),C},Z=function(M,A){if(A!==_)return;let C=null;try{C=JSON.parse(M)}catch{o("[Rip] publication feed received invalid JSON:",M),x("malformed publication frame");return}let w=Array.isArray(C)?C:[C];for(let D of w){if(!(D!=null&&typeof D==="object"))continue;if(Object.keys(D).length===1&&Object.hasOwn(D,"!")&&D["!"]===y&&b!=null){if(b!=null)clearTimeout(b),b=null;K(_)}else if(D.change!==void 0&&!Object.hasOwn(D,"<"))if(N!=null){if(D.change?.hash===N)continue;if(S)H(D.change,A);else m.push(D.change)}else if(S)H(D.change,A);else m.push(D.change);else if(D.reload!==void 0&&!Object.hasOwn(D,"<"))if(N!=null)K(A,!0);else x("server generation changed")}return},V=function(){if(h||u||R!=null)return;let M=Math.min(l*2**p,c);p+=1,R=setTimeout(function(){return R=null,r()},M);return};r=function(){if(h||u)return;_+=1;let M=_;S=!1,m=[],y=`rip-${++Uo}`;try{g=s(i)}catch(A){o("[Rip] publication socket open failed:",A),V();return}g.onmessage=function(A){Z(String(A.data),M);return},g.onopen=function(){if(M!==_||h)return;d=!0;try{g.send(JSON.stringify({"+":["/hub"],"?":y}))}catch(A){o("[Rip] publication subscription failed:",A);try{g.close()}catch{}return}b=setTimeout(function(){if(h||u||M!==_||S)return;return o("[Rip] publication subscription acknowledgement timed out"),(()=>{try{return g.close()}catch{}})()},f);return},g.onclose=function(){if(M!==_)return;if(d=!1,S=!1,b!=null)clearTimeout(b),b=null;V();return},g.onerror=function(){return};return};let j=function(){if(h||u)return;if(g!=null)try{g.close()}catch{}else V();return},q=[],t1=function(M,A,C){if(typeof M?.addEventListener!=="function")return;M.addEventListener(A,C),q.push(function(){return M.removeEventListener(A,C)});return};if(t1(globalThis,"online",function(){return j()}),t1(globalThis,"pageshow",function(M){return M.persisted===!0?j():void 0}),typeof document<"u")t1(document,"visibilitychange",function(){return document.visibilityState==="visible"?j():void 0});return r(),{close(){if(h)return;if(h=!0,_+=1,R!=null)clearTimeout(R);if(b!=null)clearTimeout(b);for(let M of q)M();try{g?.close()}catch{}return},connected(){return d&&S&&!h&&!u},resync(){return j()}}}function Vr(e){if(!(e!=null&&typeof e==="object"))throw TypeError("Rip App: createApply expects an options object");if(typeof e.renderer?.remountDirty!=="function")throw TypeError("Rip App: createApply requires renderer.remountDirty");if(typeof e.escape!=="function")throw TypeError("Rip App: createApply requires an escape remount");let t=e.report??function(...i){return console.log(...i)};return{absorb:async function(i,n=null){if(!(Array.isArray(i)&&i.length>0))return"ignore";let s=(()=>{let f=[];for(let h of i)if(typeof h==="string"&&h.endsWith(".css"))f.push(h);return f})(),a=(()=>{let f=[];for(let h of i)if(typeof h==="string"&&h.endsWith(".rip"))f.push(h);return f})(),o=(()=>{let f=[];for(let h of i)if(typeof h==="string"&&!h.endsWith(".rip")&&!h.endsWith(".css"))f.push(h);return f})();if(a.length===0){if(o.length>0)return"reload";if(s.length>0)return"css";return"ignore"}let l=await e.renderer.remountDirty(a,n);if(l==="narrow")return t(`[Rip] applied ${a.join(", ")} — update`),"update";if(l==="reload")return t(`[Rip] applied ${a.join(", ")} — reload`),"reload";if(l==="noop")return"ignore";if(await e.escape(a,n)==="reload")return"reload";return t(`[Rip] applied ${a.join(", ")} — update`),"update"}}}var bc=function(e){if(e instanceof Uint8Array)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw TypeError("Rip App: rash expects bytes")},yc=function(e){let t,r,i,n,s,a,o,l,c,f,h,u,d,S,g,p,R=bc(e);if(typeof Bun<"u"&&Bun.CryptoHasher!=null)return new Uint8Array(new Bun.CryptoHasher("sha256").update(R).digest());let b=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],_=R.length*8,y=new Uint8Array(R.length+9+63&-64);y.set(R),y[R.length]=128;let m=new DataView(y.buffer);m.setUint32(y.length-4,_>>>0,!1),m.setUint32(y.length-8,Math.floor(_/4294967296)>>>0,!1);let k=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],O=function(G,K){return G>>>K|G<<32-K},N=new Uint32Array(64),x=0;while(x>>3,S=O(N[G-2],17)^O(N[G-2],19)^N[G-2]>>>10,N[G]=N[G-16]+d+N[G-7]+S>>>0;[i,n,s,o,l,c,f,h]=k;for(let G=0;G<64;G++)r=O(l,6)^O(l,11)^O(l,25),a=l&c^~l&f,g=h+r+a+b[G]+N[G]>>>0,t=O(i,2)^O(i,13)^O(i,22),u=i&n^i&s^n&s,p=t+u>>>0,h=f,f=c,c=l,l=o+g>>>0,o=s,s=n,n=i,i=g+p>>>0;k[0]=k[0]+i>>>0,k[1]=k[1]+n>>>0,k[2]=k[2]+s>>>0,k[3]=k[3]+o>>>0,k[4]=k[4]+l>>>0,k[5]=k[5]+c>>>0,k[6]=k[6]+f>>>0,k[7]=k[7]+h>>>0,x+=64}let I=new Uint8Array(32),H=new DataView(I.buffer);for(let G=0;G<8;G++)H.setUint32(G*4,k[G],!1);return I},Dt=function(e){let t=yc(e),r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";return(r[t[0]>>2]+r[(t[0]&3)<<4|t[1]>>4]+r[(t[1]&15)<<2|t[2]>>6]+r[t[2]&63]+r[t[3]>>2]+r[(t[3]&3)<<4|t[4]>>4]).replaceAll("-","_")},Wr=function(e){let t=JSON.stringify(e.map(function(r){return[r.id,r.hash]}));return Dt(new TextEncoder().encode(t))};var Sc=function(){return globalThis.__ripStash},Rc=function(){return globalThis.__ripRouter};(()=>{if(typeof document>"u"||typeof WebSocket>"u")return;let e=document.currentScript;if(!(e?/\bwatch\.js\b/.test(e.src||""):!!document.querySelector("script[watch]"))||globalThis.__ripWatch)return;globalThis.__ripWatch=!0;let r=location.pathname,i=(f)=>Array.isArray(f)&&(f.includes(r)||r.endsWith("/")&&f.includes(r+"index.html")),n=(f)=>f.headers.get("etag")||f.headers.get("last-modified")||"",s=null;fetch(location.href,{method:"HEAD",cache:"no-store"}).then((f)=>{s=n(f)}).catch(()=>{});let a=()=>{if(s===null)return;fetch(location.href,{method:"HEAD",cache:"no-store"}).then((f)=>{if(n(f)!==s)location.reload()}).catch(()=>{})},o=!1,l=0,c=()=>{let f=location.protocol==="https:"?"wss://":"ws://",h=new WebSocket(f+location.host+"/hub");h.onopen=()=>h.send('{"+":["/assets"],"?":"observe"}'),h.onmessage=(u)=>{let d;try{d=JSON.parse(u.data)}catch{return}for(let S of Array.isArray(d)?d:[d]){if(!S||typeof S!=="object"||"<"in S)continue;if("!"in S){if(o)a();o=!0,l=0}if(i(S.touched))location.reload()}},h.onclose=()=>{if(l+=1,!o&&l>=6)return;setTimeout(c,Math.min(8000,500*2**(l-1)))},h.onerror=()=>{}};c()})();var{__hmrEmit:Ec}=Et;function ui(e,t={}){if(t.face==="ts")throw Error("rip: TypeScript face is unavailable in the browser");return fa(e,{...t,face:"js"})}var Yo={intrinsics:ir,stdlib:sr,schema:fr,reactive:gr,components:Et},zo=Object.freeze({...ir,...sr,...fr,...gr,...Et}),kc=Object.freeze({rash:Dt,check:Wr}),qo=Object.freeze({"rip/app":Hr,"rip/app/rash":kc});var Tc=new Map(Object.keys(Yo).map((e)=>[new URL(`./runtime/${e}.js`,import.meta.url).pathname,e])),wc=/(?:^|\/)src\/runtime\/(intrinsics|stdlib|schema|reactive|components)\.js$/,Gr="__ripModuleBridge",_c=(e)=>e.slice(1,-1),Vo=(e,t)=>{let r=e.split("/").slice(0,-1);for(let i of t.split("/")){if(i===""||i===".")continue;if(i===".."){if(!r.length)return null;r.pop()}else r.push(i)}return r.join("/")},Wo=(e)=>{if(typeof URL<"u"&&typeof URL.createObjectURL==="function"&&typeof Blob<"u")return URL.createObjectURL(new Blob([e],{type:"text/javascript"}));return`data:text/javascript;base64,${btoa(unescape(encodeURIComponent(e)))}`};function Xo({components:e,embeddedPackages:t={},debug:r=!1,hmr:i=!1}={}){if(!e||typeof e.read!=="function")throw TypeError("rip: createModuleLoader requires a component registry");let n=new Map,s=new Map,a=new Map,o=new Map,l=new Map,c=new Set,f=(g)=>{if(typeof g==="string"&&g.startsWith("blob:")&&typeof URL?.revokeObjectURL==="function")URL.revokeObjectURL(g)},h=async()=>{let g=[...c];c.clear(),await Promise.allSettled(g.map(async(p)=>f(await p)))},u=(g,p)=>{if(a.has(g))return a.get(g);globalThis[Gr]??={};let R=globalThis[Gr][g];if(R&&R!==p)throw Error(`rip: two copies of embedded module '${g}' are active on one page`);globalThis[Gr][g]=p;let b=[`const ns = globalThis['${Gr}'][${JSON.stringify(g)}];`];for(let y of Object.keys(p))if(y==="default")b.push("export default ns['default'];");else if(/^[A-Za-z_$][\w$]*$/.test(y))b.push(`export const ${y} = ns[${JSON.stringify(y)}];`);else throw Error(`rip: embedded module '${g}' exports '${y}', which cannot cross the module bridge`);let _=Wo(b.join(` +`+h+"}"}return null};return(s)=>{let a=n(s,0);if(a!==null)console.log(a);else console.dir(s,{depth:null,colors:!0});return s}})(),Ra=(e,t)=>{throw t!==void 0?new e(t):Error(e)},Ea=(e,t)=>t!==void 0?(e>t&&([e,t]=[t,e]),Math.floor(Math.random()*(t-e+1)+e)):e?Math.floor(Math.random()*e):Math.random(),ka=(e)=>new Promise((t)=>setTimeout(t,e)),Ta=(e)=>{throw Error(e||"Not implemented")},wa=(...e)=>console.warn(...e),_a=(...e)=>e[0].map((t,r)=>e.map((i)=>i[r])),Na=(e)=>{if(typeof e==="string")return e;if(e==null)return"";if(typeof e==="number"||typeof e==="bigint"||typeof e==="boolean")return String(e);if(typeof e==="symbol")return e.description||"";if(e instanceof Uint8Array||e instanceof ArrayBuffer)return new TextDecoder().decode(e instanceof Uint8Array?e:new Uint8Array(e));if(Array.isArray(e))return e.join(",");if(typeof e.toString==="function"&&e.toString!==Object.prototype.toString)try{return e.toString()}catch{return""}return""};var fr={};xe(fr,{SchemaDef:()=>gt,SchemaError:()=>v1,SchemaRegistry:()=>ee,__schema:()=>M3,installPersistence:()=>D3,registerCoercer:()=>C3});var $a=Symbol.for("rip.runtime.schema");if(globalThis[$a])throw Error("two copies of the Rip schema runtime loaded in one process — schemas from different copies "+"cannot see each other (separate registries, distinct SchemaError classes). Run .rip sources through the rip CLI/loader (one shared runtime module per process), or load only one standalone-compiled file per process.");globalThis[$a]=!0;var Se=null;function D3(e){if(Se&&Se!==e)throw Error("the Rip schema persistence runtime is already installed — two different copies met in one process");Se=e}class v1 extends Error{constructor(e,t,r){super(x3(e,t));this.name="SchemaError",this.issues=e,this.schemaName=t||null,this.schemaKind=r||null}}function x3(e,t){if(!e||!e.length)return"SchemaError";return(t?t+": ":"")+e.map((i)=>i.message||i.error||"invalid").join("; ")}var Da={__proto__:null,string:(e)=>typeof e==="string",number:(e)=>typeof e==="number"&&!Number.isNaN(e),integer:(e)=>Number.isInteger(e),boolean:(e)=>typeof e==="boolean",date:(e)=>e instanceof Date&&!Number.isNaN(e.getTime()),datetime:(e)=>e instanceof Date&&!Number.isNaN(e.getTime()),email:(e)=>typeof e==="string"&&/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e),url:(e)=>typeof e==="string"&&/^https?:\/\/.+/.test(e),uuid:(e)=>typeof e==="string"&&/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e),phone:(e)=>typeof e==="string"&&/^[\d\s\-+()]+$/.test(e),zip:(e)=>typeof e==="string"&&/^\d{5}(-\d{4})?$/.test(e),text:(e)=>typeof e==="string",json:(e)=>e!==void 0,any:()=>!0},cr={integer(e){if(typeof e==="number")return Number.isInteger(e)?{ok:!0,value:e}:{ok:!1};if(typeof e==="string"&&/^[+-]?\d+$/.test(e.trim()))return{ok:!0,value:parseInt(e.trim(),10)};return{ok:!1}},number(e){if(typeof e==="number")return Number.isNaN(e)?{ok:!1}:{ok:!0,value:e};if(typeof e==="string"&&/^[+-]?(\d+\.?\d*|\.\d+)([eE][+-]?\d+)?$/.test(e.trim()))return{ok:!0,value:Number(e.trim())};return{ok:!1}},boolean(e){if(typeof e==="boolean")return{ok:!0,value:e};if(e==="true"||e==="1"||e===1)return{ok:!0,value:!0};if(e==="false"||e==="0"||e===0)return{ok:!0,value:!1};return{ok:!1}},date(e){if(e instanceof Date)return Number.isNaN(e.getTime())?{ok:!1}:{ok:!0,value:e};if(typeof e==="number"&&Number.isFinite(e))return{ok:!0,value:new Date(e)};let t=typeof e==="string"?/^(\d{4})-(\d{2})-(\d{2})/.exec(e):null;if(t){let r=+t[2],i=+t[3],n=new Date(Date.UTC(+t[1],r,0)).getUTCDate();if(r<1||r>12||i<1||i>n)return{ok:!1};let s=new Date(e);if(!Number.isNaN(s.getTime()))return{ok:!0,value:s}}return{ok:!1}}};cr.datetime=cr.date;function ar(e){if(e!==null&&typeof e==="object"&&!Array.isArray(e))return null;return{field:"",error:"object",message:"input must be an object; got "+(e===null?"null":Array.isArray(e)?"an array":"a "+typeof e)}}var Dn=new Map;function C3(e,t,r){if(typeof e!=="string"||typeof t!=="function")throw Error("registerCoercer(name, fn, opts?): name string and fn required");let i=Object.prototype.toString.call(t);if(i==="[object AsyncFunction]"||i==="[object GeneratorFunction]"||i==="[object AsyncGeneratorFunction]")throw Error("registerCoercer: coercer '~:"+e+"' must be a plain synchronous function");let n=r?.raw===!0,s=Dn.get(e);if(s){if(s.raw===n&&String(s.fn)===String(t))return t;throw Error("registerCoercer: coercer '~:"+e+"' is already registered")}return Dn.set(e,{fn:t,raw:n}),t}function mt(e){if(Da[e])return null;let t=ee.get(e);return t&&(t.kind==="shape"||t.kind==="input"||t.kind==="model"||t.kind==="union")?t:null}function xn(e,t,r){let i=Da[t];if(i)return i(e)?{value:e}:{errors:[{field:"",error:"type",message:"must be "+t}]};let n=ee.get(t);if(!n)return{value:e};if(n.kind==="enum"){let a=n._validateEnum(e,!0);return a.length?{errors:[{field:"",error:"enum",message:a[0].message}]}:{value:n._materializeEnum(e)}}if(n.kind==="mixin")return{errors:[{field:"",error:"type",message:":mixin "+t+" is not usable as a field type"}]};if(n.kind==="union"){let a=n._unionResolve(e);if(a.issue)return{errors:[a.issue]};let o=r?.existing?a.def._runExistingSync(e,{...r,materialize:!1,materializeNested:!1}):a.def._runSync(e,{...r,materialize:!1,materializeNested:!1});if(o.thrown){if(r?.derived==="throw")throw o.thrown;return{errors:[{field:"",error:"derived",message:o.thrown?.message||String(o.thrown)}]}}return o.ok?{value:o.value}:{errors:o.errors}}if(e===null||typeof e!=="object"||Array.isArray(e))return{errors:[{field:"",error:"type",message:"must be a "+t+" object"}]};let s=r?.existing?n._runExistingSync(e,{...r,materialize:!1,materializeNested:!1}):n._runSync(e,{...r,materialize:!1,materializeNested:!1});if(s.thrown){if(r?.derived==="throw")throw s.thrown;return{errors:[{field:"",error:"derived",message:s.thrown?.message||String(s.thrown)}]}}return s.ok?{value:s.value}:{errors:s.errors}}async function Aa(e,t,r){let i=mt(t);if(i===null)return xn(e,t,r);if(i.kind==="union"){let s=i._unionResolve(e);if(s.issue)return{errors:[s.issue]};let a=r?.existing?await s.def._runExistingAsync(e,{...r,materialize:!1,materializeNested:!1}):await s.def._runAsync(e,{...r,materialize:!1,materializeNested:!1});if(a.thrown){if(r?.derived==="throw")throw a.thrown;return{errors:[{field:"",error:"derived",message:a.thrown?.message||String(a.thrown)}]}}return a.ok?{value:a.value}:{errors:a.errors}}if(e===null||typeof e!=="object"||Array.isArray(e))return{errors:[{field:"",error:"type",message:"must be a "+t+" object"}]};let n=r?.existing?await i._runExistingAsync(e,{...r,materialize:!1,materializeNested:!1}):await i._runAsync(e,{...r,materialize:!1,materializeNested:!1});if(n.thrown){if(r?.derived==="throw")throw n.thrown;return{errors:[{field:"",error:"derived",message:n.thrown?.message||String(n.thrown)}]}}return n.ok?{value:n.value}:{errors:n.errors}}function pt(e,t){if(!t)return e;return e+(t.startsWith("[")?t:"."+t)}function or(e,t,r){if(!t)return e+" "+r;if(r.startsWith(t))return e+r.slice(t.length);return e+": "+r}var lr=Symbol("schema.materialization-error");function va(e,t){if(e&&e[lr])return{[lr]:!0,error:e.error,field:pt(t,e.field)};return{[lr]:!0,error:e,field:t}}function Be(e){return e&&e[lr]?{thrown:e.error,derivedField:e.field}:{thrown:e,derivedField:""}}var P3=Je;function Oa(e){let t=(i)=>JSON.stringify(i??null,(n,s)=>s instanceof RegExp?String(s):typeof s==="function"?"":s),r=[e.kind];for(let i of e._desc.entries||[])switch(i.tag){case"field":r.push("f:"+i.name+":"+(i.typeName||"")+(i.array?"[]":"")+":"+(i.modifiers||[]).join("")+(i.literals?":"+i.literals.join(","):"")+":"+t(i.constraints)+(i.coerce?":~"+(i.coercer||""):"")+(i.transform?":t":""));break;case"enum-member":r.push("e:"+i.name+"="+String(i.value));break;case"directive":r.push("d:"+i.name+":"+t(i.args));break;case"ensure":r.push("n:"+(i.message||""));break;default:r.push(i.tag+":"+(i.name||""))}return r.join("|")}var ye=0,ee={_entries:new Map,replace:!1,register(e){if(!e.name)return;ye++;let t=this._entries.get(e.name);if(t&&t.def!==e&&!this.replace){if(Oa(t.def)!==Oa(e))throw new v1([{field:e.name,error:"collision",message:"schema name '"+e.name+"' is already registered with a different definition. Schema names are app-global (they resolve nested field types and @mixin references), so two "+"different schemas cannot share one name. Rename one — or, for dev/HMR reload semantics, set "+"SchemaRegistry.replace = true before re-evaluating modules."}],e.name,e.kind)}this._entries.set(e.name,{def:e,kind:e.kind})},get(e){let t=this._entries.get(e);return t?t.def:null},getKind(e,t){let r=this._entries.get(e);return r&&r.kind===t?r.def:null},has(e){return this._entries.has(e)},names(){return[...this._entries.keys()]},reset(){this._entries.clear(),ye++},scope(e){let t=this._entries;this._entries=new Map,ye++;let r=()=>{this._entries=t,ye++};try{let i=e();if(i&&typeof i.then==="function")return i.finally(r);return r(),i}catch(i){throw r(),i}}};class gt{constructor(e){if(e.kind==="model"&&!Se)throw Error("schema: kind 'model' needs the persistence runtime (src/runtime/orm.js), which is not "+"loaded in this process — reference a persistence name (schema.transaction, __schemaSetAdapter) "+"or import the module directly");if(this._desc=e,this.kind=e.kind,this.name=e.name||null,this._norm=null,this._klass=null,this._unionPlanCache=null,this._sourceModel=null,e.kind==="model")Se.decorateDef(this,e)}_normalize(){if(this._norm)return this._norm;let e=new Map,t=new Map,r=new Map,i=new Map,n=new Map,s=new Map,a=null,o=[],l=new Map,c=[],f=(b,_)=>{throw new v1([{field:b,error:"collision",message:b+" collides with "+_}],this.name,this.kind)},h=(b)=>{if(e.has(b))f(b,"field");if(t.has(b))f(b,"method");if(r.has(b))f(b,"computed");if(i.has(b))f(b,"derived");if(n.has(b))f(b,"hook")},u=(b)=>{throw new v1([{field:"",error:"kind",message:b+" is :model-only (this schema is :"+this.kind+")"}],this.name,this.kind)},d=this.kind==="union"?new Set(["on"]):new Set(["mixin"]),S=(b,_)=>{if(!P3(b))throw new v1([{field:b,error:"invalid-name",message:_+" name '"+b+"' is not canonical camelCase. Use a lowercase-first, alphanumeric identifier with no consecutive uppercase letters (e.g. 'mdmId' not 'mdmID')."}],this.name,this.kind)};for(let b of this._desc.entries)switch(b.tag){case"field":S(b.name,"field"),h(b.name),e.set(b.name,{name:b.name,required:b.modifiers.includes("!"),optional:b.modifiers.includes("?"),unique:b.unique===!0,primary:b.primary===!0,attrs:b.attrs||null,typeName:b.typeName,literals:b.literals||null,array:b.array===!0,coerce:b.coerce===!0,coercer:b.coercer||null,constraints:b.constraints||null,transform:b.transform||null});break;case"method":h(b.name),t.set(b.name,b.fn);break;case"computed":h(b.name),r.set(b.name,b.fn);break;case"derived":h(b.name),i.set(b.name,b.fn);break;case"hook":if(this.kind!=="model")u("lifecycle hook '"+b.name+"'");if(n.has(b.name))f(b.name,"duplicate hook");n.set(b.name,b.fn);break;case"scope":if(this.kind!=="model")u("query scope '@scope :"+b.name+"'");if(s.has(b.name))f(b.name,"scope");s.set(b.name,b.fn);break;case"defaultScope":if(this.kind!=="model")u("@defaultScope");if(a)throw new v1([{field:"",error:"collision",message:"only one @defaultScope per model"}],this.name,this.kind);a=b.fn;break;case"directive":if(this.kind!=="model"&&!d.has(b.name))throw new v1([{field:"",error:"directive",message:"unknown directive '@"+b.name+"' on :"+this.kind+" — legal here: "+[...d].map((_)=>"@"+_).join(", ")}],this.name,this.kind);o.push({name:b.name,args:b.args||[]});break;case"enum-member":l.set(b.name,b.value!==void 0?b.value:b.name);break;case"union-member":break;case"ensure":c.push({message:b.message,field:b.field||"",async:b.async===!0,fn:b.fn});break;default:throw new v1([{field:"",error:"entry",message:"unknown schema entry tag '"+b.tag+"'"}],this.name,this.kind)}if(this.kind==="shape"||this.kind==="input"||this.kind==="mixin"||this.kind==="model")Pa(this,e,o,{stack:[this.name||""],seen:new Set([this.name||""])});let g=null,p=[];if(this.kind==="union"){for(let b of o)if(b.name==="on"&&b.args?.[0]?.field)g=b.args[0].field;for(let b of this._desc.entries)if(b.tag==="union-member")p.push(b.name)}let R={fields:e,methods:t,computed:r,derived:i,hooks:n,scopes:s,defaultScope:a,directives:o,enumMembers:l,ensures:c,hasAsyncEnsures:c.some((b)=>b.async),unionOn:g,unionMembers:p};if(this.kind==="model")Se.finishModelNorm(this,R);return this._norm=R,this._norm}_unionPlan(){if(this._unionPlanCache&&this._unionPlanCache.gen===ye)return this._unionPlanCache.plan;let e=this._normalize(),t=e.unionOn;if(this.kind!=="union"||!t)throw Error("schema: '"+(this.name||"anon")+"' is not a :union");let r=new Map,i=[];for(let s of e.unionMembers){let a=ee.get(s);if(!a)throw new v1([{field:"",error:"union",message:"unknown union constituent: "+s+" (import the file that declares it)"}],this.name,this.kind);i.push(a);let o=a._normalize().fields.get(t);if(!o||o.typeName!=="literal-union"||!o.literals?.length)throw new v1([{field:t,error:"union",message:s+" must declare '"+t+"' as a string-literal type (e.g. "+t+'! "click") to join union '+(this.name||"")}],this.name,this.kind);for(let l of o.literals){if(r.has(l))throw new v1([{field:t,error:"union",message:"duplicate discriminator value "+JSON.stringify(l)+" in "+(r.get(l).name||"anon")+" and "+s}],this.name,this.kind);r.set(l,a)}}let n={disc:t,map:r,expected:[...r.keys()].join(" | "),hasAsyncEnsures:i.some((s)=>s._normalize().hasAsyncEnsures)};return this._unionPlanCache={gen:ye,plan:n},n}_unionResolve(e){let t=this._unionPlan();if(e===null||typeof e!=="object"||Array.isArray(e))return{issue:{field:t.disc,error:"union",message:"expected an object with "+t.disc}};let r=t.map.get(e[t.disc]);if(!r)return{issue:{field:t.disc,error:"union",message:"expected one of "+t.expected}};return{def:r}}_applyEagerDerived(e){let t=this._normalize();if(!t.derived.size)return;for(let[r,i]of t.derived){let n=i.call(e);Object.defineProperty(e,r,{value:n,enumerable:!0,writable:!0,configurable:!0})}}_materializeValidatedValue(e,t,r){return this._materializeNestedValues(e,t,r),this._materializeOwnValidatedValue(e,t,r)}_materializeNestedValues(e,t,r){let i=this._normalize();for(let[n,s]of i.fields){let a=mt(s.typeName);if(!a)continue;let o=e[n];if(o===void 0||o===null)continue;let l=t==null?void 0:t[n];if(s.array){if(!Array.isArray(o))continue;let c=Array(o.length);for(let f=0;f{let a=()=>({field:n.field||"",error:"ensure",message:n.message||"ensure failed"});if(n.async)i.push((async()=>{let o=!1;try{o=!!await n.fn(e)}catch{o=!1}if(!o)r.push({idx:s,issue:a()})})());else{let o=!1;try{o=!!n.fn(e)}catch{o=!1}if(!o)r.push({idx:s,issue:a()})}}),await Promise.all(i),r.sort((n,s)=>n.idx-s.idx),r.map((n)=>n.issue)}_transitiveAsync(){if(this._taGen===ye)return this._taCache;let e=new Set,t=(r)=>{if(e.has(r))return!1;e.add(r);let i=r._normalize();if(i.hasAsyncEnsures)return!0;if(r.kind==="union"){for(let n of i.unionMembers){let s=ee.get(n);if(s&&t(s))return!0}return!1}for(let n of i.fields.values()){let s=mt(n.typeName);if(s&&t(s))return!0}return!1};return this._taCache=t(this),this._taGen=ye,this._taCache}_assertSyncValidatable(e){if(!this._transitiveAsync())return;let t=this.kind!=="union"&&this._normalize().hasAsyncEnsures;throw Error("schema '"+(this.name||"anon")+"' has async refinements (@ensure!"+(t?"":" in a nested or constituent schema")+"); ."+e+"() is sync. Use parseAsync/safeAsync/okAsync instead.")}_getClass(){if(this._klass)return this._klass;let e=this._normalize(),t=this.name||"Schema",r=[...e.fields.keys()],i={[t]:class{constructor(n){if(n&&typeof n==="object"){for(let s of r)if(s in n&&n[s]!==void 0)this[s]=n[s]}}}}[t];for(let[n,s]of e.methods)Object.defineProperty(i.prototype,n,{value:s,writable:!0,enumerable:!1,configurable:!0});for(let[n,s]of e.computed)Object.defineProperty(i.prototype,n,{get:s,enumerable:!1,configurable:!0});return this._klass=i,i}_coerceDates(e){let t=this._normalize(),r=(s)=>typeof s==="string"&&/^\d{4}-\d{2}-\d{2}([T ].*)?$/.test(s),i=(s)=>{let a=/^(\d{4})-(\d{2})-(\d{2})/.exec(s),o=+a[2],l=+a[3];return o>=1&&o<=12&&l>=1&&l<=new Date(Date.UTC(+a[1],o,0)).getUTCDate()},n=(s)=>{if(!i(s))return s;let a=new Date(s);return Number.isNaN(a.getTime())?s:a};for(let[s,a]of t.fields){if(a.typeName!=="date"&&a.typeName!=="datetime")continue;let o=e[s];if(a.array&&Array.isArray(o))e[s]=o.map((l)=>r(l)?n(l):l);else if(r(o))e[s]=n(o)}}_validateFields(e,t,r,i){let n=this._normalize(),s=t?[]:null;for(let[a,o]of n.fields){if(r&&r.has(a))continue;let l=e==null?void 0:e[a];if(l===void 0||l===null){if(o.required){if(!t)return!1;s.push({field:a,error:"required",message:a+" is required"})}continue}if(o.array){if(!Array.isArray(l)){if(!t)return!1;s.push({field:a,error:"type",message:a+" must be an array"});continue}let f=o.constraints;if(f){if(f.min!=null&&l.lengthf.max){if(!t)return!1;s.push({field:a,error:"max",message:a+" must have at most "+f.max+" items"})}}if(i?.deferNested&&mt(o.typeName))continue;let h=!1,u=!1,d=Array(l.length);for(let S=0;SJSON.stringify(f)).join(", ")});continue}}else{if(i?.deferNested&&mt(o.typeName))continue;let f=xn(l,o.typeName,i);if(f.errors){if(!t)return!1;for(let h of f.errors){let u=pt(a,h.field);s.push({field:u,error:h.error,message:or(u,h.field,h.message)})}continue}if(f.value!==l)e[a]=f.value}let c=o.constraints;if(c){if(typeof l==="string"){if(c.min!=null&&l.lengthc.max){if(!t)return!1;s.push({field:a,error:"max",message:a+" must be at most "+c.max+" chars"})}if(c.regex){if(c.regex.global||c.regex.sticky)c.regex.lastIndex=0;if(!c.regex.test(l)){if(!t)return!1;s.push({field:a,error:"pattern",message:a+" is invalid"})}}}else if(typeof l==="number"){if(c.min!=null&&l= "+c.min})}if(c.max!=null&&l>c.max){if(!t)return!1;s.push({field:a,error:"max",message:a+" must be <= "+c.max})}}}}return t?s:!0}_applyDefaults(e){let t=this._normalize();for(let[r,i]of t.fields)if((e[r]===void 0||e[r]===null)&&i.constraints?.default!==void 0){let n=i.constraints.default;e[r]=typeof n==="object"&&n!==null&&!(n instanceof RegExp)?structuredClone(n):n}return e}_applyTransforms(e,t){let r=this._normalize(),i=[];for(let[n,s]of r.fields){if(!s.transform)continue;try{t[n]=s.transform(e)}catch(a){i.push({field:n,error:"transform",message:a?.message||String(a)})}}return i}_applyCoercions(e,t){let r=this._normalize(),i=[];for(let[n,s]of r.fields){if(!s.coerce)continue;let a=e[n];if(a===void 0||a===null)continue;if(s.coercer){let l=Dn.get(s.coercer);if(!l)throw Error("schema: no coercer registered for '~:"+s.coercer+"' (field '"+n+"' on "+(this.name||"anon")+"). Register it with registerCoercer('"+s.coercer+"', fn).");let c=l.raw?a:String(a).trim(),f;try{f=l.fn(c)}catch{f=null}if(f===null||f===void 0)i.push({field:n,error:"coerce",message:n+" is not a valid "+s.coercer}),t.add(n);else e[n]=f;continue}let o=cr[s.typeName]?cr[s.typeName](a):{ok:!1};if(o.ok)e[n]=o.value;else i.push({field:n,error:"coerce",message:n+" cannot be coerced to "+s.typeName}),t.add(n)}return i}_orderFieldErrors(...e){let t=new Map,r=0;for(let[i]of this._normalize().fields)t.set(i,r++);return e.flat().map((i,n)=>{let s=String(i.field||"").split(/[.[]/,1)[0];return{issue:i,seq:n,rank:t.has(s)?t.get(s):r}}).sort((i,n)=>i.rank-n.rank||i.seq-n.seq).map((i)=>i.issue)}_validateEnum(e,t){let r=this._normalize();for(let[n,s]of r.enumMembers)if(e===n||e===s)return t?[]:!0;if(!t)return!1;let i=[...r.enumMembers.keys()].join(", ");return[{field:"",error:"enum",message:(this.name||"enum")+" expected one of: "+i}]}_materializeEnum(e){let t=this._normalize();for(let[r,i]of t.enumMembers)if(e===r||e===i)return i;return e}_runSync(e,t){if(this.kind==="union"){let f=this._unionResolve(e);if(f.issue)return{ok:!1,errors:[f.issue]};let h=f.def._runSync(e,t);return h.ok?h:{...h,from:h.from||f.def}}if(this.kind==="enum"){let f=this._validateEnum(e,!0);return f.length?{ok:!1,errors:f}:{ok:!0,value:this._materializeEnum(e)}}let r=ar(e);if(r)return{ok:!1,errors:[r]};let i=e,n={...i},s=new Set,a=this._applyTransforms(i,n),o=this._applyCoercions(n,s);this._applyDefaults(n),this._coerceDates(n);let l=this._orderFieldErrors(a,o,this._validateFields(n,!0,s,t));if(l.length)return{ok:!1,errors:l};let c=t?.skipEnsures?[]:this._applyEnsures(n);if(c.length)return{ok:!1,errors:c};if(t?.materializeNested)try{this._materializeNestedValues(n,null,!1)}catch(f){return{ok:!1,errors:null,...Be(f)}}if(!t?.materialize)return{ok:!0,value:n};try{return{ok:!0,value:this._materializeOwnValidatedValue(n,null,!1)}}catch(f){return{ok:!1,errors:null,...Be(f)}}}async _runAsync(e,t){if(this.kind==="union"){let h=this._unionResolve(e);if(h.issue)return{ok:!1,errors:[h.issue]};let u=await h.def._runAsync(e,t);return u.ok?u:{...u,from:u.from||h.def}}if(this.kind==="enum")return this._runSync(e,t);let r=ar(e);if(r)return{ok:!1,errors:[r]};let i=e,n={...i},s=new Set,a=this._applyTransforms(i,n),o=this._applyCoercions(n,s);this._applyDefaults(n),this._coerceDates(n);let l=await this._validateFieldsAsync(n,s,t),c=this._orderFieldErrors(a,o,l);if(c.length)return{ok:!1,errors:c};let f=t?.skipEnsures?[]:await this._applyEnsuresAsync(n);if(f.length)return{ok:!1,errors:f};if(t?.materializeNested)try{this._materializeNestedValues(n,null,!1)}catch(h){return{ok:!1,errors:null,...Be(h)}}if(!t?.materialize)return{ok:!0,value:n};try{return{ok:!0,value:this._materializeOwnValidatedValue(n,null,!1)}}catch(h){return{ok:!1,errors:null,...Be(h)}}}async _validateFieldsAsync(e,t,r){let i=this._normalize(),n=[];for(let[s,a]of i.fields){if(t&&t.has(s))continue;let o=e[s];if(o===void 0||o===null){if(a.required)n.push({field:s,error:"required",message:s+" is required"});continue}if(a.array){if(!Array.isArray(o)){n.push({field:s,error:"type",message:s+" must be an array"});continue}let f=a.constraints;if(f?.min!=null&&o.lengthf.max)n.push({field:s,error:"max",message:s+" must have at most "+f.max+" items"});let h=Array(o.length),u=!1;for(let d=0;dJSON.stringify(f)).join(", ")})}else{let f=await Aa(o,a.typeName,r);if(f.errors)for(let h of f.errors){let u=pt(s,h.field);n.push({field:u,error:h.error,message:or(u,h.field,h.message)})}else e[s]=f.value}let l=e[s],c=a.constraints;if(c){if(typeof l==="string"){if(c.min!=null&&l.lengthc.max)n.push({field:s,error:"max",message:s+" must be at most "+c.max+" chars"});if(c.regex){if(c.regex.global||c.regex.sticky)c.regex.lastIndex=0;if(!c.regex.test(l))n.push({field:s,error:"pattern",message:s+" is invalid"})}}else if(typeof l==="number"){if(c.min!=null&&l= "+c.min});if(c.max!=null&&l>c.max)n.push({field:s,error:"max",message:s+" must be <= "+c.max})}}}return n}_runExistingSync(e,t){if(this.kind==="union"){let a=this._unionResolve(e);if(a.issue)return{ok:!1,errors:[a.issue]};let o=a.def._runExistingSync(e,t);return o.ok?o:{...o,from:o.from||a.def}}if(this.kind==="enum")return this._runSync(e,t);let r=ar(e);if(r)return{ok:!1,errors:[r]};let i={...e},n=this._validateFields(i,!0,null,{...t,existing:!0});if(n.length)return{ok:!1,errors:n};let s=t?.skipEnsures?[]:this._applyEnsures(i);if(s.length)return{ok:!1,errors:s};if(t?.materializeNested)try{this._materializeNestedValues(i,e,!0)}catch(a){return{ok:!1,errors:null,...Be(a)}}return this._finishExistingValue(e,i,t)}async _runExistingAsync(e,t){if(this.kind==="union"){let a=this._unionResolve(e);if(a.issue)return{ok:!1,errors:[a.issue]};let o=await a.def._runExistingAsync(e,t);return o.ok?o:{...o,from:o.from||a.def}}if(this.kind==="enum")return this._runSync(e,t);let r=ar(e);if(r)return{ok:!1,errors:[r]};let i={...e},n=await this._validateFieldsAsync(i,null,{...t,existing:!0});if(n.length)return{ok:!1,errors:n};let s=t?.skipEnsures?[]:await this._applyEnsuresAsync(i);if(s.length)return{ok:!1,errors:s};if(t?.materializeNested)try{this._materializeNestedValues(i,e,!0)}catch(a){return{ok:!1,errors:null,...Be(a)}}return this._finishExistingValue(e,i,t)}_finishExistingValue(e,t,r){if(!r?.materialize)return{ok:!0,value:t};let i=this._getClass(),n=!0;for(let[a]of this._normalize().fields)if(t[a]!==e[a]){n=!1;break}if(n)return{ok:!0,value:e};let s=new i(t);try{this._applyEagerDerived(s)}catch(a){return{ok:!1,errors:null,thrown:a}}return{ok:!0,value:s}}parse(e){if(this.kind==="mixin")throw Error(":mixin schema '"+(this.name||"anon")+"' is not instantiable");this._assertSyncValidatable("parse");let t=this._runSync(e,{materialize:!0,materializeNested:!0,derived:"throw"});if(t.ok)return t.value;if(t.thrown)throw t.thrown;let r=t.from||this;throw new v1(t.errors,r.name,r.kind)}get array(){let e=this,t=(s)=>({field:"",error:"not_array",message:"expected an array, received "+(s===null?"null":s===void 0?"undefined":typeof s==="object"?"an object with keys ["+Object.keys(s).join(", ")+"]":typeof s)}),r=(s)=>{let a=[],o=[];return s.forEach((l,c)=>{if(l.ok)a.push(l.value);else for(let f of l.errors)o.push({...f,field:"["+c+"]"+(f.field?"."+f.field:"")})}),{value:a,errors:o}},i=(s)=>{let a=[],o=[];return s.forEach((l,c)=>{try{a.push(e.parse(l))}catch(f){if(!(f instanceof v1))throw f;for(let h of f.issues)o.push({...h,field:"["+c+"]"+(h.field?"."+h.field:"")})}}),{value:a,errors:o}},n=async(s)=>{let a=[],o=[];for(let l=0;le.safe(l)));return o.length?{ok:!1,value:null,errors:o}:{ok:!0,value:a,errors:null}},ok(s){return Array.isArray(s)&&s.every((a)=>e.ok(a))},async parseAsync(s){if(!Array.isArray(s))throw new v1([t(s)],e.name,e.kind);let{value:a,errors:o}=await n(s);if(o.length)throw new v1(o,e.name,e.kind);return a},async safeAsync(s){if(!Array.isArray(s))return{ok:!1,value:null,errors:[t(s)]};let{value:a,errors:o}=r(await Promise.all(s.map((l)=>e.safeAsync(l))));return o.length?{ok:!1,value:null,errors:o}:{ok:!0,value:a,errors:null}},async okAsync(s){return Array.isArray(s)&&(await Promise.all(s.map((a)=>e.okAsync(a)))).every(Boolean)},toJSONSchema(){return{type:"array",items:e.toJSONSchema()}}}}safe(e){if(this.kind==="mixin")return{ok:!1,value:null,errors:[{field:"",error:"mixin",message:"not instantiable"}]};this._assertSyncValidatable("safe");let t=this._runSync(e,{materialize:!0,materializeNested:!0,derived:"issue"});if(t.ok)return{ok:!0,value:t.value,errors:null};if(t.thrown)return{ok:!1,value:null,errors:[{field:t.derivedField||"",error:"derived",message:t.thrown?.message||String(t.thrown)}]};return{ok:!1,value:null,errors:t.errors}}ok(e){if(this.kind==="mixin")return!1;return this._assertSyncValidatable("ok"),this._runSync(e,{materialize:!1,materializeNested:!1,derived:"issue"}).ok}async parseAsync(e){if(this.kind==="mixin")throw Error(":mixin schema '"+(this.name||"anon")+"' is not instantiable");let t=await this._runAsync(e,{materialize:!0,materializeNested:!0,derived:"throw"});if(t.ok)return t.value;if(t.thrown)throw t.thrown;let r=t.from||this;throw new v1(t.errors,r.name,r.kind)}async safeAsync(e){if(this.kind==="mixin")return{ok:!1,value:null,errors:[{field:"",error:"mixin",message:"not instantiable"}]};let t=await this._runAsync(e,{materialize:!0,materializeNested:!0,derived:"issue"});if(t.ok)return{ok:!0,value:t.value,errors:null};if(t.thrown)return{ok:!1,value:null,errors:[{field:t.derivedField||"",error:"derived",message:t.thrown?.message||String(t.thrown)}]};return{ok:!1,value:null,errors:t.errors}}async okAsync(e){if(this.kind==="mixin")return!1;return(await this._runAsync(e,{materialize:!1,materializeNested:!1,derived:"issue"})).ok}pick(...e){return dt(this,(t)=>{let r=$n(e),i=new Map;for(let n of r){if(!t.has(n))throw Error("pick: unknown field '"+n+"' on "+(this.name||"schema"));i.set(n,t.get(n))}return i})}omit(...e){return dt(this,(t)=>{let r=new Set($n(e)),i=new Map;for(let[n,s]of t)if(!r.has(n))i.set(n,s);return i})}partial(){return dt(this,(e)=>{let t=new Map;for(let[r,i]of e)t.set(r,{...i,required:!1});return t})}required(...e){return dt(this,(t)=>{let r=new Set($n(e)),i=new Map;for(let[n,s]of t)i.set(n,{...s,required:r.has(n)?!0:s.required});return i})}extend(e){if(!(e instanceof gt))throw Error("extend(): argument must be a schema value");if(e.kind==="union")throw Error("extend(): :union schemas have no fields to merge");return dt(this,(t)=>{let r=new Map(t),i=e._normalize().fields;for(let[n,s]of i){if(r.has(n))throw Error("extend(): field '"+n+"' collides between "+(this.name||"schema")+" and "+(e.name||"other"));r.set(n,s)}return r})}toJSONSchema(){let e={defs:new Map,expanding:new Set},t=Ca(this,e);if(t.$schema="https://json-schema.org/draft/2020-12/schema",this.name)t.title=this.name;if(e.defs.size){t.$defs={};for(let[r,i]of e.defs)t.$defs[r]=i}return t}}var Ia={__proto__:null,string:()=>({type:"string"}),text:()=>({type:"string"}),email:()=>({type:"string",format:"email"}),url:()=>({type:"string",format:"uri"}),uuid:()=>({type:"string",format:"uuid"}),phone:()=>({type:"string",pattern:"^[\\d\\s\\-+()]+$"}),zip:()=>({type:"string",pattern:"^\\d{5}(-\\d{4})?$"}),number:()=>({type:"number"}),integer:()=>({type:"integer"}),boolean:()=>({type:"boolean"}),date:()=>({type:"string",format:"date"}),datetime:()=>({type:"string",format:"date-time"}),json:()=>({}),any:()=>({})};function L3(e,t){let r;if(e.typeName==="literal-union"&&e.literals?.length)r=e.literals.length===1?{const:e.literals[0]}:{enum:[...e.literals]};else if(Ia[e.typeName])r=Ia[e.typeName]();else{let n=ee.get(e.typeName);r=n?xa(n,t):{}}let i=e.constraints;if(i&&!e.array){if(r.type==="string"){if(i.min!=null)r.minLength=i.min;if(i.max!=null)r.maxLength=i.max;if(i.regex)r.pattern=i.regex.source}else if(r.type==="number"||r.type==="integer"){if(i.min!=null)r.minimum=i.min;if(i.max!=null)r.maximum=i.max}}if(e.array){if(r={type:"array",items:r},i){if(i.min!=null)r.minItems=i.min;if(i.max!=null)r.maxItems=i.max}}if(i&&i.default!==void 0)r.default=i.default;if(e.coerce)r.description=((r.description?r.description+" ":"")+"Coerced from wire data ("+(e.coercer?"~:"+e.coercer:"~"+e.typeName)+").").trim();if(e.transform)r.description=((r.description?r.description+" ":"")+"Derived via transform; the raw input may use different keys.").trim();return r}function xa(e,t){let r=e.name||"Anon";if(!t.defs.has(r)&&!t.expanding.has(r))t.expanding.add(r),t.defs.set(r,null),t.defs.set(r,Ca(e,t)),t.expanding.delete(r);return{$ref:"#/$defs/"+r}}function Ca(e,t){let r=e._normalize();if(e.kind==="enum")return{enum:[...new Set(r.enumMembers.values())]};if(e.kind==="union"){let a=e._unionPlan();return{oneOf:r.unionMembers.map((l)=>{let c=ee.get(l);return c?xa(c,t):{}}),discriminator:{propertyName:a.disc}}}let i={},n=[];for(let[a,o]of r.fields)if(i[a]=L3(o,t),o.required&&o.constraints?.default===void 0)n.push(a);if(e.kind==="model")Se.jsonSchemaModelColumns(e,i);let s={type:"object",properties:i};if(n.length)s.required=n;if(r.ensures.length)s.description="Refinements (not expressible in JSON Schema): "+r.ensures.map((a)=>a.message).join("; ")+".";return s}function $n(e){let t=[];for(let r of e)if(Array.isArray(r))for(let i of r)t.push(i);else t.push(r);return t}function dt(e,t){if(e.kind==="union")throw Error("schema algebra (.pick/.omit/.partial/.required/.extend) is not supported on :union — derive from a constituent schema instead");if(e.kind==="enum")throw Error("schema algebra is not supported on :enum — an enum has no field set");let r=e.kind==="model"?Se.projectableFields(e):e._normalize().fields,i=t(r),n=[];for(let[,o]of i){let l=[];if(o.required)l.push("!");if(o.optional&&!o.required)l.push("?");n.push({tag:"field",name:o.name,modifiers:l,unique:o.unique===!0,primary:o.primary===!0,attrs:o.attrs||null,typeName:o.typeName,array:o.array,literals:o.literals||null,coerce:o.coerce===!0,coercer:o.coercer||null,constraints:o.constraints,transform:o.transform||null})}let s=(e.name||"Schema")+"Derived",a=new gt({kind:"shape",name:s,entries:n});return a._sourceModel=e._sourceModel||(e.kind==="model"?e:null),a}function Pa(e,t,r,i){for(let n of r){if(n.name!=="mixin"||!n.args||!n.args[0])continue;let s=n.args[0].target;if(!s)continue;if(i.stack.includes(s))throw new v1([{field:"",error:"mixin-cycle",message:"mixin cycle: "+i.stack.concat(s).join(" -> ")}],e.name,e.kind);if(i.seen.has(s))continue;let a=ee.getKind(s,"mixin");if(!a)throw new v1([{field:"",error:"mixin-missing",message:"unknown mixin: "+s}],e.name,e.kind);i.seen.add(s),i.stack.push(s);let o=a._desc.entries.filter((l)=>l.tag==="directive"&&l.name==="mixin").map((l)=>({name:l.name,args:l.args||[]}));Pa(e,t,o,i);for(let l of a._desc.entries){if(l.tag!=="field")continue;if(t.has(l.name))throw new v1([{field:l.name,error:"mixin-collision",message:l.name+" from mixin "+s+" collides with existing field"}],e.name,e.kind);if(e.kind!=="model"&&(l.unique===!0||l.attrs))throw new v1([{field:l.name,error:"mixin-persistence",message:l.name+" from mixin "+s+" carries persistence metadata (@unique/attrs) — :model-only; a :"+e.kind+" cannot include it"}],e.name,e.kind);t.set(l.name,{name:l.name,required:l.modifiers.includes("!"),optional:l.modifiers.includes("?"),unique:l.unique===!0,attrs:l.attrs||null,typeName:l.typeName,literals:l.literals||null,array:l.array===!0,coerce:l.coerce===!0,coercer:l.coercer||null,constraints:l.constraints||null,transform:l.transform||null})}i.stack.pop()}}function M3(e){let t=new gt(e);if(t.name)ee.register(t);return t}if(typeof globalThis<"u")globalThis.__ripSchema=globalThis.__ripSchema||{},globalThis.__ripSchema.SchemaRegistry=ee;var gr={};xe(gr,{__batch:()=>L1,__catchErrors:()=>ue,__computed:()=>H1,__detachRef:()=>Cn,__effect:()=>$1,__handleError:()=>te,__ownerFrame:()=>yt,__popOwner:()=>Y1,__pushOwner:()=>le,__readonly:()=>fe,__setEffectErrorReporter:()=>j3,__setErrorHandler:()=>he,__state:()=>_1,getEffectSignal:()=>ce});var Ma=Symbol.for("rip.runtime.reactive");if(globalThis[Ma])throw Error("two copies of the Rip reactive runtime loaded in one process — states from different copies "+"cannot notify each other (separate dependency graphs, separate effect queues). Run .rip sources through the rip CLI/loader (one shared runtime module per process), or load only one standalone-compiled file per process.");globalThis[Ma]=!0;var N1=null,mr=[],Ue={buckets:[],size:0,low:0,add(e){let t=e.depth,r=this.buckets[t];if(r===void 0)r=this.buckets[t]=new Set;if(r.has(e))return;if(r.add(e),this.size++,tconsole.error(e,t);function j3(e){let t=bt;return bt=e,t}function ja(){try{while(Ue.size>0){let e=Ue.shift();if(!e._disposed)e.run()}}catch(e){throw Ue.clear(),e}}var Fa={valueOf(){return this.value},toString(){return String(this.value)},[Symbol.toPrimitive](e){return e==="string"?this.toString():this.valueOf()}};function _1(e){if(e!=null&&typeof e==="object"&&typeof e.read==="function")return e;let t=e,r=new Set,i=!1,n=!1,s=!1,a=()=>{if(N1&&typeof N1.markDirty==="function"&&N1.dependencies.has(r))throw Error("reactive runtime: computed dependency changed during evaluation — "+"computed functions must derive without writing or touching a dependency")},o=()=>{for(let f of mr)f.writtenSignals.add(r)},l=()=>{i=!0;try{for(let f of r)if(f.markDirty)f.markDirty(!0);else f._hard=!0,Ue.add(f);if(!dr)ja()}finally{i=!1}},c={get value(){if(s)return t;if(N1?.writtenSignals&&mr.some((f)=>f.writtenSignals.has(r)))throw Error("reactive runtime: computed dependency changed during evaluation — "+"computed functions must derive without writing or touching a dependency");if(N1)r.add(N1),N1.dependencies.add(r);return t},set value(f){if(s||n||f===t)return;if(a(),i)return;o(),t=f,l()},read(){return t},touch(){if(s)return;if(a(),i)return;o(),l()},lock(){return n=!0,c},free(){return r.clear(),c},kill(){return s=!0,r.clear(),t},...Fa};return c}var hr=0,La=1,ur=2;function Ba(e){let t=N1;N1=null;try{for(let[r,i]of e.computedDeps)if(r.value,r.version!==i)return!0;return!1}finally{N1=t}}function H1(e){let t,r=ur,i=new Set,n=!1,s=!1,a=!1,o={dependencies:new Set,computedDeps:new Map,writtenSignals:new Set,version:0,markDirty(l){if(s||n)return;if(a)throw Error("reactive runtime: computed dependency changed during evaluation — "+"computed functions must derive without writing or touching a dependency");let c=r;if(l)r=ur;else if(r===hr)r=La;if(c!==hr)return;for(let f of i)if(f.markDirty)f.markDirty(!1);else Ue.add(f)},get value(){if(s)return t;if(N1&&N1!==o)i.add(N1),N1.dependencies.add(i),N1.computedDeps.set(o,-1);if(a)throw Error("reactive runtime: computed value read during its own evaluation — "+"recursive computed reads are not supported");if(r===La&&!n)r=Ba(o)?ur:hr;if(r===ur&&!n){for(let c of o.dependencies)c.delete(o);o.dependencies.clear(),o.computedDeps.clear();let l=N1;o.writtenSignals.clear(),N1=o,mr.push(o),a=!0;try{let c=e();if(c!==t)o.version++;t=c,r=hr}finally{a=!1,mr.pop(),o.writtenSignals.clear(),N1=l}}if(N1&&N1!==o)N1.computedDeps.set(o,o.version);return t},read(){return t},lock(){return n=!0,o.value,o},free(){for(let l of o.dependencies)l.delete(o);return o.dependencies.clear(),o.computedDeps.clear(),i.clear(),o},kill(){s=!0;let l=t;return o.free(),l},...Fa};return o}function $1(e){let t=null,r=0,i=j1,n={depth:i?i.depth+1:0,dependencies:new Set,computedDeps:new Map,_hard:!0,_disposed:!1,signal:null,run(){if(n._disposed)return;let a=n._hard;if(n._hard=!1,!a&&!Ba(n))return;if(t)try{t.abort()}catch{}t=typeof AbortController<"u"?new AbortController:null,n.signal=t?t.signal:null;let o=++r;if(n._cleanup)n._cleanup(),n._cleanup=null;for(let f of n.dependencies)f.delete(n);n.dependencies.clear(),n.computedDeps.clear();let l=N1;N1=n;let c=j1;j1=i;try{let f=e();if(typeof f==="function")n._cleanup=f;else if(f&&typeof f.then==="function")f.then((h)=>{if(o!==r||n._disposed){if(typeof h==="function")try{h()}catch(u){bt("[Rip] superseded async cleanup error:",u)}return}if(typeof h==="function")n._cleanup=h},(h)=>{if(h&&h.name==="AbortError")return;if(o!==r||n._disposed)return;bt("[Rip] async effect error:",h)})}finally{N1=l,j1=c}},dispose(){if(n._disposed)return;if(n._disposed=!0,Ue.delete(n),t)try{t.abort()}catch{}if(n._cleanup)n._cleanup(),n._cleanup=null;for(let a of n.dependencies)a.delete(n);n.dependencies.clear()}};try{n.run()}catch(a){throw n.dispose(),a}let s=()=>n.dispose();if(j1)j1.add(s);return s}function L1(e){if(dr)return e();dr=!0;try{return e()}finally{dr=!1,ja()}}function yt({nested:e=!0}={}){let t=[],r=null,n={depth:j1?j1.depth+1:0,get disposed(){return t===null},get size(){return t===null?0:t.length},add(s){if(t===null)s();else t.push(s)},remove(s){if(t===null)return;let a=t.indexOf(s);if(a>=0)t.splice(a,1)},dispose(){if(t===null)return;let s=t;if(t=null,r!==null){let a=r;r=null,a()}for(let a of s)try{a()}catch(o){bt("[Rip] effect disposer error:",o)}}};if(e&&j1){let s=j1;s.add(n.dispose),r=()=>s.remove(n.dispose)}return n}function le(e){let t={frame:e,prev:j1};return j1=e,t}function Y1(e){if(!e||typeof e!=="object"||!("frame"in e))throw Error("reactive runtime: __popOwner takes the token the matching __pushOwner returned");if(j1!==e.frame)throw Error("reactive runtime: __popOwner out of order — the frame being popped is not the current owner "+"(an inner push was not popped, or this token was already popped)");j1=e.prev}function ce(){return N1?N1.signal:null}function fe(e){return Object.freeze({value:e})}function Cn(e,t){if(e&&typeof e.read==="function"&&e.read()===t)e.value=null}var pr=null;function he(e){let t=pr;return pr=e,t}function te(e){if(pr)try{pr(e)}catch(t){console.error("Error in error handler:",t),console.error("Original error:",e)}else throw e}function ue(e){return function(...t){try{return e.apply(this,t)}catch(r){te(r)}}}var Et={};xe(Et,{__Component:()=>ro,__claimGateConstructor:()=>Un,__clsx:()=>Er,__detach:()=>Rr,__detachRef:()=>Cn,__gateBind:()=>rc,__handleComponentError:()=>Mn,__hmrClassify:()=>Rt,__hmrEmit:()=>ke,__hmrEntries:()=>jn,__hmrEvents:()=>W3,__hmrLookup:()=>F3,__hmrMigrateDiff:()=>qa,__hmrMigrateRemount:()=>Y3,__hmrPatch:()=>Bn,__hmrPreserveState:()=>kr,__hmrRegisterDefinition:()=>St,__hmrRegistry:()=>Ee,__hmrRestoreUi:()=>Tr,__hmrSnapshotUi:()=>Fn,__lis:()=>eo,__ownerFrame:()=>yt,__popComponent:()=>Re,__popOwner:()=>Y1,__pushComponent:()=>Ve,__pushOwner:()=>le,__reconcile:()=>J3,__style:()=>to,__transition:()=>Q3,getContext:()=>q3,hasContext:()=>X3,setContext:()=>z3});var Ka=Symbol.for("rip.runtime.components");if(globalThis[Ka])throw Error("two copies of the Rip component runtime loaded in one process — components from different "+"copies cannot see each other (separate component stacks: context, parent chains, and error boundaries silently break across copies). Run .rip sources through the rip CLI/loader (one shared runtime module per process), or load only one standalone-compiled file per process.");globalThis[Ka]=!0;var re=null,Ya={},yr=null,za=new WeakMap,Ua=!1,Ee=new Map;function Pn(e,t){if(e===t)return!0;if(!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length)return!1;for(let r=0;rn.has(c)),o=i.filter((c)=>!n.has(c)),l=r.filter((c)=>!s.has(c));return{kept:a,added:o,removed:l}}var Sr=[],V3=64;function ke(e,t={}){let r={type:e,at:Date.now(),...t};if(Sr.push(r),Sr.length>V3)Sr.shift();if(typeof window<"u"&&typeof window.dispatchEvent==="function"&&typeof CustomEvent==="function")try{window.dispatchEvent(new CustomEvent("rip:hmr",{detail:r}))}catch{}return r}function W3(){return Sr.slice()}function kr(e,t){let r=e?.constructor?.__hmrSig,i=t?.constructor?.__hmrSig,n=r?.state,s=i?.state,a=qa(r,i);if(!Array.isArray(n)||!Array.isArray(s))return ke("migrate",{id:t?.constructor?.__hmrId??null,...a,copied:[]}),a;let o=new Set(n),l=[];for(let f of s){if(!o.has(f))continue;let h=e[f],u=t[f];if(h!=null&&u!=null&&typeof h==="object"&&typeof u==="object"&&"value"in h&&"value"in u)u.value=h.value,l.push(f)}let c=t?.constructor?.__hmrId??e?.constructor?.__hmrId??null;return ke("migrate",{id:c,...a,copied:l}),{...a,copied:l}}var Xa=["name","type","placeholder"];function Ja(e){let t=(i)=>typeof e[i]==="string"&&e[i]?e[i]:null,r={tag:e.tagName??null};for(let i of Xa)r[i]=t(i);return r.label=typeof e.getAttribute==="function"?e.getAttribute("aria-label"):null,r.value=typeof e.value==="string"?e.value:null,r}function Ln(e,t,r){if(!e||!t)return!1;let i=Ja(e);for(let n of["tag",...Xa,"label"])if(i[n]!==t[n])return!1;return!r||t.value==null||i.value===t.value}function H3(e){let t=Ja(e),r=typeof e.id==="string"&&e.id?e.id:null,i=[],n=e;while(n&&n!==document.body){let s=n.parentElement??n.parentNode??null;if(!s||!s.children)return{identity:t,id:r,path:null};i.unshift(Array.prototype.indexOf.call(s.children,n)),n=s}return{identity:t,id:r,path:n===document.body?i:null}}function G3(e){let t=e.active;if(t&&t.isConnected!==!1&&typeof document.contains==="function"&&document.contains(t))return t;let r=e.locator;if(!r)return null;if(r.id&&typeof document.getElementById==="function"){let o=document.getElementById(r.id);if(Ln(o,r.identity,!1))return o}if(!Array.isArray(r.path)||r.path.length===0)return null;let i=document.body;for(let o of r.path.slice(0,-1))if(i=i?.children?.[o]??null,!i)return null;let n=Array.from(i.children??[]),s=n[r.path[r.path.length-1]]??null;if(Ln(s,r.identity,!0))return s;let a=n.filter((o)=>Ln(o,r.identity,!0));return a.length===1?a[0]:null}function Fn(){if(typeof document>"u")return null;let e=document.activeElement,t=e&&e!==document.body&&e!==document.documentElement?e:null,r=null;if(t&&typeof t.selectionStart==="number")r={start:t.selectionStart,end:t.selectionEnd,direction:t.selectionDirection};return{active:t,locator:t?H3(t):null,selection:r,scrollX:typeof window<"u"?window.scrollX:0,scrollY:typeof window<"u"?window.scrollY:0}}function Tr(e){if(!e||typeof document>"u")return;if(typeof window<"u")window.scrollTo(e.scrollX??0,e.scrollY??0);let t=G3(e);if(!t||typeof t.focus!=="function")return;try{if(t.focus({preventScroll:!0}),e.selection&&typeof t.setSelectionRange==="function")t.setSelectionRange(e.selection.start,e.selection.end,e.selection.direction??"none")}catch{}}function Za(e,t){let r=e.constructor?.__hmrId;if(typeof r==="string"&&r)Ee.get(r)?.instances.delete(e);Object.setPrototypeOf(e,t.prototype),Object.defineProperty(e,"constructor",{value:t,writable:!0,configurable:!0}),St(t),Ee.get(t.__hmrId)?.instances.add(e)}function Bn(e,t){if(!e||!t)throw Error("__hmrPatch requires a living instance and a replacement constructor");let r=e.constructor?.__hmrId;return Za(e,t),e._hmrRerender(),ke("patch",{id:t.__hmrId??r??null}),e}function Qa(e){return Object.keys(e).sort().join(",")}function K3(e,t){let r=re?._hmrOrphans;if(!r||r.length===0)return null;let i=e.__hmrId;if(typeof i!=="string")return null;let n=Qa(t),s=null;for(let a of r){if(a._state!=="mounted"||a.constructor.__hmrId!==i||a._hmrPropKeys!==n)continue;if(s)return null;s=a}if(!s||Rt(s.constructor,e)!=="patch")return null;if(r.splice(r.indexOf(s),1),s.constructor!==e)Za(s,e);s._hmrRelease();try{s._hmrApplyProps(t)}catch(a){throw s._teardown({state:"failed",hooks:!1,removeDOM:!0}),a}if(!s._hmrRebind())return null;return s}function Y3(e,t,r={}){let i=new t(r);return kr(e,i),i}function Un(){if(Ua)throw Error("[Rip] the render-gate construction capability is already claimed");return Ua=!0,(e,t)=>{let r=yr;yr={brand:Ya,component:e,gates:t.gates,parent:t.parent??null,stash:t.stash??null,router:t.router??null,used:!1};try{return new e({})}finally{yr=r}}}function Rr(e){if(!e||e.nodeType===11)return;if(typeof e.remove==="function")e.remove();else if(e.parentNode)e.parentNode.removeChild(e)}function Ve(e){let t=re;if(e&&e._parent==null&&t&&t!==e)e._parent=t;return re=e,t}function Re(e){re=e}function z3(e,t){if(!re)throw Error("setContext must be called during component initialization");if(!re._context)re._context=new Map;re._context.set(e,t)}function q3(e){let t=re,r=new Set;while(t&&!r.has(t)){if(r.add(t),t._context&&t._context.has(e))return t._context.get(e);t=t._parent}throw Error(`getContext: no provider for context ${JSON.stringify(e)} in this component's parent chain — `+"offer it from an ancestor, or probe with hasContext(key) where absence is legal")}function X3(e){let t=re,r=new Set;while(t&&!r.has(t)){if(r.add(t),t._context&&t._context.has(e))return!0;t=t._parent}return!1}function Er(...e){let t="";for(let r of e){if(!r)continue;if(typeof r==="string")t&&(t+=" "),t+=r;else if(typeof r==="object"){if(Array.isArray(r)){let i=Er(...r);i&&(t&&(t+=" "),t+=i)}else for(let i in r)if(r[i])t&&(t+=" "),t+=i}}return t}function eo(e){let t=e.length;if(t===0)return[];let r=[],i=[],n=Array(t).fill(-1);for(let o=0;o>1;if(r[f]0)n[o]=i[l-1]}let s=[],a=i[r.length-1];for(let o=r.length-1;o>=0;o--)s.push(a),a=n[a];return s.reverse(),s}function J3(e,t,r,i,n,s,...a){let o=e.parentNode;if(!o)return;let l=t.keys,c=t.items||[],f=t.blocks,h=l.length,u=r.length,d=Array(u),S=s!=null,g=S?r.map((y,m)=>s(y,m)):r;if(S){let y=new Set;for(let m of g){if(y.has(m))throw Error(`__reconcile: duplicate key ${JSON.stringify(String(m))} — keyed rows need unique keys `+"(the key function must be injective over the items)");y.add(m)}}if(h===0){if(u>0){let y=document.createDocumentFragment();for(let m=0;m=p&&_>=p&&l[b]===g[_]){let y=f[b];if(!y._s)y.p(i,r[_],_,...a);d[_]=y,b--,_--}if(p>_)for(let y=p;y<=b;y++)f[y].d(!0);else if(p>b){let y=_+1=p;x--){let I=d[x];if(!O.has(x-p))I.m(o,N);N=I._first}}t.keys=S?g:r.slice(),t.items=r.slice(),t.blocks=d}var Va=!1;function Z3(){if(Va)return;Va=!0;let e=document.createElement("style");e.textContent=[".fade-enter-active,.fade-leave-active{transition:opacity .2s ease}",".fade-enter-from,.fade-leave-to{opacity:0}",".slide-enter-active,.slide-leave-active{transition:opacity .2s ease,transform .2s ease}",".slide-enter-from{opacity:0;transform:translateY(-8px)}",".slide-leave-to{opacity:0;transform:translateY(8px)}",".scale-enter-active,.scale-leave-active{transition:opacity .2s ease,transform .2s ease}",".scale-enter-from,.scale-leave-to{opacity:0;transform:scale(.95)}",".blur-enter-active,.blur-leave-active{transition:opacity .2s ease,filter .2s ease}",".blur-enter-from,.blur-leave-to{opacity:0;filter:blur(4px)}",".fly-enter-active,.fly-leave-active{transition:opacity .2s ease,transform .2s ease}",".fly-enter-from{opacity:0;transform:translateY(-20px)}",".fly-leave-to{opacity:0;transform:translateY(20px)}"].join(""),document.head.appendChild(e)}function Q3(e,t,r,i){Z3();let n=e.classList,s=t+"-"+r+"-from",a=t+"-"+r+"-active",o=t+"-"+r+"-to",l=!1,c=null;n.add(s,a),requestAnimationFrame(()=>{requestAnimationFrame(()=>{n.remove(s),n.add(o);let f=(u)=>{if(l||u&&u.target!==e)return;if(l=!0,clearTimeout(c),e.removeEventListener("transitionend",f),e.removeEventListener("transitioncancel",f),n.remove(a,o),i)i()};e.addEventListener("transitionend",f),e.addEventListener("transitioncancel",f);let h=0;try{let u=getComputedStyle(e),d=(S)=>Math.max(0,...String(S).split(",").map((g)=>(parseFloat(g)||0)*(/ms\s*$/.test(g.trim())?1:1000)));h=d(u.transitionDuration)+d(u.transitionDelay)}catch{}c=setTimeout(()=>f(),h+50)})})}function ec(e){let t=e!=null&&typeof e==="object"?e.name:null;if(t==="GateFailure"||t==="ComponentFailure")return e;let r=Error(e!=null&&e.message!==void 0?e.message:String(e));r.name="ComponentFailure";let i=e!=null?e.status??e.response?.status:void 0;if(i!==void 0)r.status=i;return r.error=e,r}function Mn(e,t){let r=ec(e),i=t,n=new Set;while(i&&!n.has(i)){if(n.add(i),i.onError){let s=Ve(i),a=le(i._frame);try{i.onError(r,t);return}catch(o){}finally{Y1(a),Re(s)}}i=i._parent}throw e}var Wa=new WeakSet;function tc(e,t){if(Wa.has(e))return;let r=e.__props??[];if(!Array.isArray(r))throw Error(`${e.name||"component"}: static __props must be an array of declared prop names`);for(let i of r){if(typeof i!=="string"||i.length===0)throw Error(`${e.name||"component"}: static __props entries must be non-empty strings`);if(i.startsWith("_"))throw Error(`${e.name||"component"}: declared prop '${i}' collides with component internals — `+"underscore-prefixed names are reserved for the runtime");if(i in t)throw Error(`${e.name||"component"}: declared prop '${i}' collides with a component member (a method or lifecycle slot already answers '${i}')`)}Wa.add(e)}function rc(e,t){let i=za.get(e)?.gates?.[t];if(!i?.cell)throw Error(`[Rip] render gate ${t} has no renderer-resolved source binding — `+"gated components may only be constructed by rip/app createRenderer()");let n=i.value,s=!0;return H1(()=>{if(s)return s=!1,i.cell.read(),n;let a=i.cell.read();for(let o of i.tail){if(a==null)break;a=a[o]}if(a!=null)n=a;return n})}var br=new WeakMap;function Ha(e,t,r){if(t.startsWith("--")&&typeof e.setProperty==="function")if(r==null||r==="")e.removeProperty(t);else e.setProperty(t,String(r));else e[t]=r}function to(e,t){let r=br.get(e);if(t==null){e.removeAttribute("style"),br.delete(e);return}if(typeof t!=="object"){e.setAttribute("style",String(t)),br.delete(e);return}if(r){for(let i of r)if(!(i in t))Ha(e.style,i,"")}br.set(e,Object.keys(t));for(let i of Object.keys(t))Ha(e.style,i,t[i])}function Ga(e,t){let r=e.__props??[],i=e.__extends??null,n=null;for(let s of Object.keys(t)){if(s==="children")continue;if(s.startsWith("__bind_")&&s.endsWith("__")){let a=s.slice(7,-2);if(r.includes(a))continue;throw Error(`${e.name||"component"}: cannot bind unknown prop '${a}' — declared `+`props are [${r.join(", ")}]`)}if(r.includes(s))continue;if(i!==null){(n??={})[s]=t[s];continue}throw Error(`${e.name||"component"}: unknown prop '${s}' — declared props are `+`[${r.join(", ")}]`)}return n}class ro{constructor(e={}){let t=K3(this.constructor,e);if(t)return t;this._state="new",tc(this.constructor,this);let r=this.constructor.__gates,i=yr,n=i?.brand===Ya&&i.component===this.constructor&&i.used!==!0;if(n)i.used=!0;if(r?.length&&!n)throw Error("[Rip] component declares render gates (<~) and cannot be constructed directly or as an embedded child; render gates are honored only by rip/app createRenderer()");if(n){if(za.set(this,i),i.parent)this._parent=i.parent;if(i.stash!=null)this.stash=i.stash;if(i.router!=null)this.router=i.router,Object.defineProperty(this,"params",{get:()=>i.router.params,configurable:!0}),Object.defineProperty(this,"query",{get:()=>i.router.query,configurable:!0})}if(this.stash==null&&globalThis.__ripStash!=null)this.stash=globalThis.__ripStash;if(this.router==null&&globalThis.__ripRouter!=null)this.router=globalThis.__ripRouter;let s=Ga(this.constructor,e);if("children"in e)this.children=e.children;if(this.constructor.__hmrId)this._hmrPropKeys=Qa(e);if(this.constructor.__extends!=null)this._rest=s??{},this.rest=_1(this._rest);this._frame=yt({nested:!1});let a=Ve(this),o=le(this._frame);try{this._init(e)}catch(l){Y1(o),Re(a),this._teardown({state:"failed",hooks:!1,removeDOM:!0}),this._initFailed=!0,Mn(l,this);return}if(Y1(o),Re(a),this.constructor.__hmrId)B3(this)}_init(e){}_updateProp(e,t){if(this._state==="failed"||this._state==="unmounted")return;let r=this.constructor.__props??[];if(!r.includes(e)){if(this.constructor.__extends){this._setRestProp(e,t);return}throw Error(`${this.constructor.name||"component"}: cannot update unknown prop '${e}' — declared `+`props are [${r.join(", ")}]`)}let i=this[e];if(i&&typeof i==="object"&&"value"in i){i.value=t;return}throw Error(`${this.constructor.name||"component"}: prop '${e}' is non-reactive — parent updates `+"cannot reach it (declare it with ':=' to receive updates)")}_setRestProp(e,t){if(e.startsWith("__bind_"))return;if(this._state==="failed"||this._state==="unmounted")return;if(this._rest||(this._rest={}),t==null)delete this._rest[e];else this._rest[e]=t;this.rest.touch();let r=le(this._frame);try{this._applyInheritedProp(this._inheritedEl,e,t)}finally{Y1(r)}}_applyRestToInheritedEl(){if(this._state==="failed"||this._state==="unmounted")return;if(!this._inheritedEl||!this._rest)return;for(let e in this._rest)this._applyInheritedProp(this._inheritedEl,e,this._rest[e])}_applyInheritedProp(e,t,r){if(this._state==="failed"||this._state==="unmounted")return;if(!e||t==="key"||t==="ref"||t==="children"||t.startsWith("__bind_"))return;let i=this._restWriters?.[t];if(i){if(i(),this._frame)this._frame.remove(i);delete this._restWriters[t]}if(r!=null&&typeof r==="object"&&typeof r.read==="function"){(this._restWriters??={})[t]=$1(()=>{this._applyPlainInheritedProp(e,t,r.value)});return}this._applyPlainInheritedProp(e,t,r)}_applyPlainInheritedProp(e,t,r){if(t[0]==="@"){let i=t.slice(1).split(".")[0];this._restHandlers||(this._restHandlers={});let n=this._restHandlers[t];if(n)e.removeEventListener(i,n);if(typeof r==="function"){let s=(a)=>L1(()=>r(a));this._restHandlers[t]=s,e.addEventListener(i,s)}else delete this._restHandlers[t];return}if(t==="class"||t==="className"){if(e instanceof SVGElement)e.setAttribute("class",Er(r));else e.className=Er(r);return}if(t==="style"){to(e,r);return}if(t==="innerHTML"||t==="textContent"||t==="innerText"){e[t]=r??"";return}if(t in e&&!t.includes("-")){e[t]=r;return}if(r==null||r===!1){e.removeAttribute(t);return}if(r===!0){e.setAttribute(t,"");return}e.setAttribute(t,r)}_beginMount(){if(this._state==="new"){this._state="mounting";return}let e=this.constructor.name||"component";if(this._state==="mounting")throw Error(`${e}: cannot mount an instance whose mount is already in progress`);if(this._state==="mounted")throw Error(`${e}: cannot mount an already-mounted instance — construct a new instance for another target`);if(this._state==="failed")throw Error(`${e}: cannot mount a failed instance — its mount rolled back; construct a new instance`);throw Error(`${e}: cannot mount an unmounted instance — its effects were disposed on unmount; construct a new instance`)}_mountCreate(){this._beginMount();let e=Ve(this),t=le(this._frame),r=null,i=!1;try{this._root=this._create()}catch(n){r=n,i=!0}finally{Y1(t),Re(e)}if(i)return this._failMount(r),!1;return!0}_mountSetup(e=null){if(this._state!=="mounting")return this._nodes?.[0]??this._root;let t=Ve(this),r=le(this._frame),i=null,n=!1;try{if(e){let s=this._nodes?.[0]??this._root;if(s?.parentNode)s.parentNode.insertBefore(e,s)}if(this.beforeMount)this.beforeMount();if(this._setup)this._setup();if(this.mounted)this.mounted();this._state="mounted",Rr(e),this._hmrDrainOrphans((s,a)=>console.error(`[Rip] ${s} error:`,a))}catch(s){i=s,n=!0}finally{Y1(r),Re(t)}if(n)return this._failMount(i),e;return this._nodes?.[0]??this._root}_failMount(e){this._teardown({state:"failed",hooks:!1,removeDOM:!0}),Mn(e,this)}_dispose(e,t){if(this._children){for(let r of this._children)try{t(r)}catch(i){e("child teardown",i)}this._children=null}try{this._frame?.dispose()}catch(r){e("owner disposal",r)}if(this._restWriters){for(let r of Object.values(this._restWriters))try{r()}catch(i){e("rest writer cleanup",i)}this._restWriters=null}if(this._restHandlers){if(this._inheritedEl)for(let[r,i]of Object.entries(this._restHandlers))try{this._inheritedEl.removeEventListener(r.slice(1).split(".")[0],i)}catch(n){e("rest handler cleanup",n)}this._restHandlers=null}if(this._refCleanups){let r=this._refCleanups;this._refCleanups=null;try{L1(()=>{for(let i of r)try{i()}catch(n){e("ref cleanup",n)}})}catch(i){e("ref cleanup batch flush",i)}}this._children=null,this._refCleanups=null,this._restWriters=null,this._restHandlers=null}_detachDOM(e,t){if(t)if(this._nodes)for(let r of this._nodes)try{Rr(r)}catch(i){e("DOM detach",i)}else try{Rr(this._root)}catch(r){e("DOM detach",r)}this._root=null,this._nodes=null,this._inheritedEl=null}_teardown({state:e,hooks:t,removeDOM:r}){if(this._state==="failed"||this._state==="unmounted")return;if(this.constructor.__hmrId)U3(this);this._state=e;let i=(n,s)=>console.error(`[Rip] ${n} error:`,s);if(this._hmrDrainOrphans(i),t)try{if(this.beforeUnmount)this.beforeUnmount()}catch(n){i("beforeUnmount",n)}if(this._dispose(i,(n)=>{if(t)n.unmount({removeDOM:r});else n._teardown({state:n._state==="mounted"?"unmounted":"failed",hooks:!1,removeDOM:!0})}),t)try{if(this.unmounted)this.unmounted()}catch(n){i("unmounted",n)}this._detachDOM(i,r),this._target=null}_hmrRelease(){let e=(t,r)=>console.error(`[Rip] ${t} error:`,r);try{if(this.beforeUnmount)this.beforeUnmount()}catch(t){e("beforeUnmount",t)}this._hmrOrphans=[],this._hmrReleasing=!0;try{this._dispose(e,(t)=>t.unmount({removeDOM:!0}))}finally{this._hmrReleasing=!1}this._detachDOM(e,!0),this._frame=yt({nested:!1}),this._state="new"}_hmrRebind(){let e=(i,n)=>console.error(`[Rip] ${i} error:`,n),t=Ve(this),r=le(this._frame);try{if(typeof this._hmrRefreshComputeds==="function")this._hmrRefreshComputeds();if(typeof this._hmrBindEffects==="function")this._hmrBindEffects()}catch(i){return Y1(r),Re(t),e("hmr rebind",i),this._failMount(i),!1}return Y1(r),Re(t),!0}_hmrApplyProps(e){let t=Ga(this.constructor,e);if("children"in e)this.children=e.children;for(let r of this.constructor.__props??[]){let i=`__bind_${r}__`;if(i in e){this[r]=e[i];continue}if(!(r in e))continue;let n=e[r];if(n!=null&&typeof n==="object"&&typeof n.read==="function")this[r]=n;else this._updateProp(r,n)}if(this.constructor.__extends!=null)this._rest=t??{},this.rest.value=this._rest}_hmrDrainOrphans(e){let t=this._hmrOrphans;if(!t)return;this._hmrOrphans=null;for(let r of t)try{r.unmount({removeDOM:!0})}catch(i){e("orphan teardown",i)}}_hmrRerender(){let e=this.constructor.name||"component";if(this._state!=="mounted")throw Error(`${e}: _hmrRerender requires a mounted instance`);let t=this._target,r=this._nodes,n=(r?.[0]??this._root)?.parentNode??null,s=r?.length?r[r.length-1].nextSibling:this._root?this._root.nextSibling:null;if(this._hmrRelease(),!this._hmrRebind())return this;if(typeof this._create!=="function")return this._state="mounted",this._hmrDrainOrphans((a,o)=>console.error(`[Rip] ${a} error:`,o)),this;if(!this._mountCreate())return this;try{let a=n&&n.nodeType!==11?n:null;if(a&&a.isConnected===!1)a=null;if(!a&&typeof t==="string"&&typeof document<"u")a=document.querySelector(t);else if(!a&&t&&t.nodeType!==11&&t.isConnected!==!1)a=t;else if(!a&&typeof document<"u")a=document.querySelector("#content")||document.querySelector("#app");if(a){let o=s&&(typeof a.contains!=="function"||a.contains(s))?s:null;if(this._nodes)for(let l of this._nodes)a.insertBefore(l,o);else if(this._root)a.insertBefore(this._root,o);this._target=a.nodeType===11?null:a}}catch(a){return this._failMount(a),this}return this._mountSetup(),this}mount(e){if(!this._mountCreate())return this;try{if(typeof e==="string")e=document.querySelector(e);if(this._target=e,this._root)e.appendChild(this._root)}catch(t){return this._failMount(t),this}return this._mountSetup(),this}unmount({removeDOM:e=!0}={}){if(this._state==="failed"||this._state==="unmounted")return;if(this._state==="mounted"&&this._parent?._hmrReleasing){this._parent._hmrOrphans.push(this);return}if(this._state==="mounting")throw Error(`${this.constructor.name||"component"}: cannot unmount while mounting`);this._teardown({state:"unmounted",hooks:this._state==="mounted",removeDOM:e})}emit(e,t){if(this._state!=="mounted"||!this._root)throw Error(`${this.constructor.name||"component"}: emit('${e}') outside the mounted window — `+"emit dispatches on the live root; call after mount and before unmount");(this._nodes?.[0]??this._root).dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!0}))}static mount(e="body"){return new this().mount(e)}}var Hr={};xe(Hr,{ariaCurrent:()=>Cr,browserAdapter:()=>$r,buildRoutes:()=>Ot,check:()=>Wr,connectFeed:()=>Ur,createApply:()=>Vr,createComponents:()=>vr,createMutation:()=>uo,createRenderer:()=>Dr,createRouter:()=>Ir,createStash:()=>Nr,createWorkspace:()=>Fr,currentRouter:()=>Rc,currentStash:()=>Sc,debounce:()=>mo,delay:()=>Ar,hold:()=>go,interceptClicks:()=>Pr,launch:()=>Mr,ownsAnchor:()=>$t,parseQuery:()=>ze,persistStash:()=>xr,preloadLinks:()=>Lr,rash:()=>Dt,source:()=>so,throttle:()=>po,unwrapStash:()=>Te,validatePrepared:()=>ai});var wr,Vn,no,io=Symbol.for("rip.source"),Wn=Symbol.for("rip.source.family"),nc=64,ic=30000,sc=/^(\d+(?:\.\d+)?(?:[eE][+-]?\d+)?)\s*(s|sec|second|seconds|m|min|minute|minutes|h|hr|hour|hours|d|day|days|w|week|weeks|y|year|years)$/;function D1(e){return e!=null&&(typeof e==="object"||typeof e==="function")&&(e[io]===!0||e[Wn]===!0)}function de(e){return e!=null&&typeof e==="function"&&e[Wn]===!0}no=function(e){let t,r;if(e==null)return 0;if(typeof e==="number"){if(!(Number.isFinite(e)&&e>=0))throw TypeError('Rip App: source staleTime must be a non-negative finite number, a duration string, or "forever"');return e}if(typeof e==="string"){if(e==="forever")return 1/0;if(r=e.match(sc),r)return t=parseFloat(r[1]),(()=>{switch(r[2][0]){case"s":return t*1000;case"m":return t*60000;case"h":return t*3600000;case"d":return t*86400000;case"w":return t*604800000;case"y":return t*31536000000}})()}throw TypeError('Rip App: source staleTime must be a non-negative number, a duration such as "5 min", or "forever"')};wr=function(e,t,r=null){let i=_1(null),n=_1(!1),s=_1(null),a=0,o=null,l=null,c=!1,f=!1,h=!1,u=0,d=0,S=async function(b=!1,_=!1){let y,m;o?.abort(),o=typeof AbortController<"u"?new AbortController:null;let k=++a;if(!b)n.value=!0;let O=h;try{if(y=e(o?.signal),!(y!=null&&typeof y.then==="function"))throw TypeError("Rip App: source fetch must return a Promise");if(m=await y,k!==a)return m;return s.value=null,i.value=m,h=!0,u=Date.now(),d=_&&!f?u+ic:0,m}catch(N){if(k!==a)return;if(N?.name==="AbortError")return;if(s.value=N,!O)throw h=!1,u=0,N;return}finally{if(k===a)n.value=!1,l=null,c=!1,f=!1,r?.()}},g=function(b=!1,_=!1){let y=S(b,_);return l=y,c=_,f=!1,y},p=function(){return t===1/0||Date.now()-unc){o=!1;for(let[l,c]of r){if(l===a)continue;if(c.loading)continue;r.delete(l),c.reset(),o=!0;break}if(!o)break}return},n=function(a){if(a==null)throw TypeError("Rip App: keyed source requires a key");let o=ac(a),l=r.get(o);if(l)return r.delete(o),r.set(o,l),l;return l=wr(function(c){return e(a,c)},t,i),r.set(o,l),i(o),l},s=function(a){return n(a).read()};return s[Wn]=!0,s.cellFor=n,s.reset=function(){let a=Array.from(r.values());r.clear();for(let o of a)o.reset();return},s};function so(e){if(!(e!=null&&typeof e==="object"&&!Array.isArray(e)))throw TypeError("Rip App: source expects an options object");if(typeof e.fetch!=="function")throw TypeError("Rip App: source options require a fetch function");let t=no(e.staleTime);if(Object.prototype.hasOwnProperty.call(e,"kind")){if(!(e.kind==="singleton"||e.kind==="keyed"))throw TypeError("Rip App: source kind must be 'singleton' or 'keyed'");if(e.kind==="singleton"){if(e.fetch.length>1)throw TypeError("Rip App: singleton source fetch accepts at most one AbortSignal parameter");return wr(e.fetch,t)}if(e.fetch.length<1||e.fetch.length>2)throw TypeError("Rip App: keyed source fetch requires a key parameter and accepts one optional AbortSignal parameter");return Vn(e.fetch,t)}if(e.fetch.length>1)throw TypeError("Rip App: inferred source fetch accepts no parameters for a singleton or one key parameter for a keyed family");return e.fetch.length===1?Vn(e.fetch,t):wr(e.fetch,t)}var zn,_t,Hn,Tt,I1=Symbol("rip.app.stash.raw"),We=Symbol("rip.app.stash.signals"),oc=Symbol("rip.app.stash.keys"),lo=Symbol("rip.app.stash.defaults"),lc=Symbol.for("rip.app.stash.purge"),co=new WeakMap,cc=0,qn=_1(0),Gn=function(){return qn.value++},fo=function(e,t){let r=e[We];if(!r)r=new Map,Object.defineProperty(e,We,{value:r});let i=r.get(t);if(!i)i=_1(e[t]),r.set(t,i);return i},wt=function(e){return fo(e,oc)},Kn=function(e){wt(e).value=++cc;return};_t=function(e){if(!(e!=null&&typeof e==="object"))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null||Array.isArray(e)};var ao=function(e){if(!_t(e))return e;let t=co.get(e);if(t)return t;return zn(e)},He=function(e,t){let r=e?.[I1];if(!r)return e[t];let i=r[t];if(D1(i)){if(de(i))return i;return ao(i.read())}return ao(fo(r,t).value)},Yn=function(e,t,r){let i,n,s,a,o=e?.[I1];if(!o)return e[t]=r,r;if(Array.isArray(o)&&t==="length"){if(a=o.length,s=+r,o.length=s,s!==a){if(o[We]){for(let h=Math.min(a,s),u=Math.max(a,s);h0))throw TypeError("Rip App: stash path must be a non-empty string");let s=[],a=0;if(e[0]!=="["){n=a;while(a=e.length||a===n)throw TypeError(`Rip App: malformed stash path '${e}'`);if(r=e.slice(n,a),a++,e[a]!=="]")throw TypeError(`Rip App: malformed stash path '${e}'`);a++,s.push(r)}else{n=a;while(a{let i=[];for(let n in r){if(!Object.hasOwn(r,n))continue;let s=r[n];i.push(Hn(s,t))}return i})()};Tt=function(e){if(!_t(e))return e;let t=e[I1]?e[I1]:e;if(Array.isArray(t))return(()=>{let i=[];for(let n of t)if(!D1(n))i.push(Tt(n));return i})();let r={};for(let i in t){if(!Object.hasOwn(t,i))continue;let n=t[i];if(D1(n))continue;r[i]=Tt(n)}return r};function ho(e){let t=e?.[I1]?e[I1]:e;if(!(t!=null&&typeof t==="object"))return;Object.defineProperty(t,lo,{value:Tt(t),configurable:!0});return}function _r(e){if(D1(e))return e;if(!_t(e))return e;let t=e[I1]?e[I1]:e;if(Array.isArray(t))return(()=>{let i=[];for(let n of t)i.push(_r(n));return i})();let r={};for(let i in t){if(!Object.hasOwn(t,i))continue;let n=t[i];Object.defineProperty(r,i,{value:_r(n),writable:!0,enumerable:!0,configurable:!0})}return r}function Ye(e,t){let r,i,n;if(!(e!=null&&typeof e==="object"))return;if(!(t!=null&&typeof t==="object"))return;let s=e[I1]?e[I1]:e;for(let a in t){if(!Object.hasOwn(t,a))continue;let o=t[a];if(r=Object.prototype.hasOwnProperty.call(s,a)?s[a]:void 0,D1(r))continue;if(Array.isArray(r)&&r.some(function(l){return D1(l)}))continue;if(i=r!=null&&typeof r==="object"&&!Array.isArray(r),n=o!=null&&typeof o==="object"&&!Array.isArray(o),i&&n)Ye(e[a],o);else e[a]=Tt(o)}return}var uc=function(e,t){let r,i=t[lo];if(!i)return;r=function(n,s,a){let o;for(let l in s){if(!Object.hasOwn(s,l))continue;if(o=s[l],D1(o))continue;if(!(a!=null&&Object.prototype.hasOwnProperty.call(a,l))){delete n[l];continue}if(o!=null&&typeof o==="object"&&!Array.isArray(o))r(n[l],o,a[l])}return},r(e,t,i),Ye(e,i);return},dc={inc:!0,dec:!0,flip:!0,join:!0,keys:!0,has:!0,del:!0,peek:!0,reset:!0,source:!0},mc=function(e,t,r){if(r==="inc")return function(i,n=1){let s=($e(e,i)??0)+n;return kt(e,i,s),s};if(r==="dec")return function(i,n=1){let s=($e(e,i)??0)-n;return kt(e,i,s),s};if(r==="flip")return function(i){let n=!($e(e,i)??!1);return kt(e,i,n),n};if(r==="join")return function(i,n){if(!(n!=null&&typeof n==="object"&&!Array.isArray(n)))throw TypeError("Rip App: join expects a plain object");L1(function(){let s=$e(e,i);if(!(s!=null&&typeof s==="object"&&!Array.isArray(s)))kt(e,i,{}),s=$e(e,i);return(()=>{let a=[];for(let o in n){if(!Object.hasOwn(n,o))continue;let l=n[o];a.push(s[o]=l)}return a})()});return};if(r==="keys")return function(i){let n=i!=null?$e(e,i):e;if(!(n!=null&&typeof n==="object"))return[];let s=n[I1]?n[I1]:n;return wt(s).value,Object.keys(s)};if(r==="has")return function(i){let n,s,a=Ge(i);if(!(a.length>0))return!1;let o=e;for(let l=0;l0))return;let a=e;for(let o=0;o0))throw TypeError("Rip App: component path must be a non-empty string");let t=e.split("/"),r=t.some(function(s){return!s||s==="."||s===".."}),i=t.at(-1),n=t.slice(0,-1).some(function(s){return s.endsWith(".rip")});if(e.includes("\\")||r||n||i===".rip"||!i.endsWith(".rip"))throw TypeError(`Rip App: invalid component path '${e}'`);return e};Xn=function(e){if(typeof e!=="string")throw TypeError("Rip App: component source must be a string");return e};Jn=function(e){if(e===""||e==null)return"";if(typeof e!=="string")throw TypeError("Rip App: component directory must be a string");let t=e.split("/");if(e.includes("\\")||t.some(function(r){return!r||r==="."||r===".."}))throw TypeError(`Rip App: invalid component directory '${e}'`);return e};function vr(){let e=new Map,t=new Map,r=new Set,i=function(s,a){let o=[];for(let l of Array.from(r))o.push((()=>{try{return l(s,a)}catch(c){return console.error("[Rip] component watcher error:",c)}})());return o};return{read(s){return e.get(we(s))},write(s,a){s=we(s),a=Xn(a);let o=e.has(s)?"change":"create";e.set(s,a),t.delete(s),i(o,s);return},del(s){s=we(s),e.delete(s),t.delete(s),i("delete",s);return},exists(s){return e.has(we(s))},size(){return e.size},list(s=""){let a;s=Jn(s);let o=s?s+"/":"",l=[];for(let[c]of e)if(c.startsWith(o)){if(a=c.slice(o.length),!a.includes("/"))l.push(c)}return l},listAll(s=""){s=Jn(s);let a=s?s+"/":"",o=[];for(let[l]of e)if(l.startsWith(a))o.push(l);return o},load(s){let a,o;if(!(s!=null&&typeof s==="object"&&!Array.isArray(s)))throw TypeError("Rip App: component load expects a source object");for(let l in s){if(!Object.hasOwn(s,l))continue;let c=s[l];l=we(l),c=Xn(c),e.set(l,c),t.delete(l)}return},watch(s){if(typeof s!=="function")throw TypeError("Rip App: component watch expects a function");r.add(s);let a=!1;return function(){if(a)return;a=!0,r.delete(s);return}},getCompiled(s){return t.get(we(s))},setCompiled(s,a){if(s=we(s),!(a!=null&&typeof a==="object"&&!Array.isArray(a)))throw TypeError("Rip App: compiled component module must be an object");t.set(s,a);return}}}var yo,So,C1,Qn,Ro,Eo,ko,Zn=/^\w+$/,To={static:0,dynamic:1,optional:2,catchall:3},bo=8;C1=function(e){throw Error(`Rip App: ${e}`)};var vt=function(e){try{return decodeURIComponent(e)}catch(t){return null}};ko=function(e){if(e==="")return"";if(typeof e!=="string")throw TypeError("Rip App: route root must be a string");let t=e.split("/");if(e.includes("\\")||t.some(function(r){return!r||r==="."||r===".."}))throw TypeError(`Rip App: invalid route root '${e}'`);return e};var wo=function(e,t){let r;if(r=/^\[\[(.+)\]\]$/.exec(e)){if(!Zn.test(r[1]))C1(`invalid optional segment '${e}' in '${t}'`);return{kind:"optional",name:r[1]}}else if(r=/^\[\.\.\.(.+)\]$/.exec(e)){if(!Zn.test(r[1]))C1(`invalid catch-all segment '${e}' in '${t}'`);return{kind:"catchall",name:r[1]}}else if(e.startsWith("[..."))return C1(`invalid catch-all segment '${e}' in '${t}'`);else if(r=/^\[(.+)\]$/.exec(e)){if(!Zn.test(r[1]))C1(`invalid dynamic segment '${e}' in '${t}'`);return{kind:"dynamic",name:r[1]}}else if(/^\(.+\)$/.test(e))return{kind:"group"};else if(e.includes("[")||e.includes("]"))return C1(`invalid segment '${e}' in '${t}': markers claim a whole segment`);else return{kind:"static",text:e}};yo=function(e){let t,r=(()=>{let h=[];for(let u of e.slice(0,-4).split("/"))h.push(wo(u,e));return h})();if(r[r.length-1].kind==="group")C1(`route file name cannot be a group segment: '${e}'`);let i=r.filter(function(h){return h.kind!=="group"});for(let h=0;hbo)C1(`more than ${bo} optional segments in '${e}'`);let o="",l=[],c=[{shape:"",display:""}];for(let h of i)switch(l.push(To[h.kind]),h.kind){case"static":t="/"+h.text,o+=t,c=c.map(function(u){return{shape:u.shape+t,display:u.display+t}});break;case"dynamic":o+=`/:${h.name}`,c=c.map(function(u){return{shape:u.shape+"/:",display:`${u.display}/:${h.name}`}});break;case"optional":o+=`/:${h.name}?`,c=c.flatMap(function(u){return[u,{shape:u.shape+"/:",display:`${u.display}/:${h.name}`}]});break;case"catchall":o+=`/*${h.name}`,c=c.map(function(u){return{shape:u.shape+"/*",display:`${u.display}/*${h.name}`}});break}if(o==="")o="/";if(new Set(c.map(function(h){return h.shape||"/"})).size{let l=[];for(let c of e)l.push(wo(c,t));return l})().filter(function(l){return l.kind!=="group"});for(let l of i)if(l.kind==="optional"||l.kind==="catchall")C1(`not-found page under an optional or catch-all segment: '${t}'`);let n=[];for(let l of i)if(l.name!=null){if(n.includes(l.name))C1(`duplicate parameter name '${l.name}' in '${t}'`);n.push(l.name)}let s="",a="",o=[];for(let l of i)if(o.push(To[l.kind]),l.kind==="static")s+="/"+l.text,a+="/"+l.text;else s+=`/:${l.name}`,a+="/:";return{pattern:s+"/*",shape:a+"/*",parts:i,ranks:o}};Ro=function(e,t){let r;return r=function(i,n){let s,a,o,l;if(i===e.length)return n===t.length?[]:null;let c=e[i];return(()=>{switch(c.kind){case"static":if(!(nf.length))continue;if(a=m.slice(f.length),l=a.split("/"),s=l.some(function(k){return!k||k==="."||k===".."}),a.includes("\\")||s||l.at(-1)===".rip")throw TypeError(`Rip App: invalid route file path '${m}'`);if(l.at(-1)==="_layout.rip"){h.set(l.slice(0,-1).join("/"),m);continue}if(l.at(-1)==="_404.rip"){if(l.slice(0,-1).some(function(k){return k.startsWith("_")}))continue;u.push({...So(l.slice(0,-1),a),rel:a,file:m});continue}if(l.some(function(k){return k.startsWith("_")}))continue;if(!a.endsWith(".rip"))throw TypeError(`Rip App: route files must be .rip sources: '${m}'`);d.push({...yo(a),rel:a,file:m})}let S=new Map;for(let m of[...d].sort(function(k,O){return k.relk.pattern)return 1;return 0});let g=new Map;for(let m of[...u].sort(function(k,O){return k.relk.pattern)return 1;return 0});let p=d.map(function(m){return{route:Object.freeze({pattern:m.pattern,file:m.file,layouts:Object.freeze(Qn(m.rel,h))}),parts:m.parts}}),R=u.map(function(m){return{route:Object.freeze({pattern:m.pattern,file:m.file,layouts:Object.freeze(Qn(m.rel,h))}),parts:m.parts}}),b=function(m){if(typeof m!=="string")throw TypeError("Rip App: route match expects a path string");if(!m.startsWith("/"))return null;while(m.length>1&&m.endsWith("/"))m=m.slice(0,-1);return m==="/"?[]:m.slice(1).split("/")},_=function(m){let k;if(l=b(m),!l)return null;for(let O of p){if(k=Ro(O.parts,l),!k)continue;return{route:O.route,params:Object.fromEntries(k)}}return null},y=function(m){let k;if(l=b(m),!l)return null;for(let O of R){if(k=Eo(O.parts,l),!k)continue;return{route:O.route,params:Object.fromEntries(k)}}return null};return Object.freeze({routes:Object.freeze(p.map(function(m){return m.route})),match:_,notFound:y})}function ze(e){if(typeof e!=="string")throw TypeError("Rip App: parseQuery expects a query string");return Object.fromEntries(new URLSearchParams(e))}var G1,ei,_o,Or;G1=function(e){let t=e.indexOf("#"),r=t>=0?e.slice(t+1):"",i=t>=0?e.slice(0,t):e,n=i.indexOf("?"),s=n>=0?i.slice(n+1):"";return{path:n>=0?i.slice(0,n):i,query:s,hash:r}};ei=function(e,t){let r=Object.keys(t);return r.length===Object.keys(e).length&&r.every(function(n){return e[n]===t[n]})?e:t};Or=function(e){if(!(e!=null&&typeof e.match==="function"&&Array.isArray(e.routes)))throw TypeError("Rip App: createRouter requires a route manifest");return e};_o=function(e){if(e===""||e==null)return"";if(!(typeof e==="string"&&e.startsWith("/")&&!e.endsWith("/")))throw TypeError(`Rip App: invalid router base '${e}'`);return e};function Ir(e){let t,{routes:r,adapter:i,onError:n}=e??{};if(!(r!=null&&(typeof r==="function"||typeof r.match==="function"&&Array.isArray(r.routes))))throw TypeError("Rip App: createRouter requires a route manifest or manifest thunk");for(let j of["read","push","replace","go","listen"])if(typeof i?.[j]!=="function")throw TypeError(`Rip App: router adapter requires a ${j} function`);let s=_o(e?.base),a=e?.hash===!0;if(s&&a)throw TypeError("Rip App: a base path does not apply in hash mode");let o=typeof r==="function"?Or(r()):Or(r),l=new Set,c=null,f=_1(null),h=_1(null),u=_1({}),d=_1({}),S=_1(""),g=Ar(100,_1(!1)),p=H1(function(){let j=h.value;if(!j)return null;return{route:j,layouts:j.layouts,params:u.value,query:d.value}}),R=function(j){if(!s)return j;if(j===s)return"/";if(j.startsWith(s+"/"))return j.slice(s.length);return null},b=function(j){if(!s)return j;return j==="/"?s:s+j},_=function(j){return a?i.read().split("#")[0]+"#"+j:b(j)},y=function(j){return n?.({status:404,path:j}),!1},m=0,k=function(j){return typeof j==="string"&&!j.startsWith("//")&&!j.includes("\\")},O=function(j){if(!k(j))return null;return o.match(j)},N=function(j){if(!k(j))return null;return o.match(j)??o.notFound?.(j)??null},x=function(j,q,t1,M){let A=ei(u.value,j.params),C=ei(d.value,ze(t1));L1(function(){return f.value=q,h.value=j.route,u.value=A,d.value=C,S.value=M});let w={path:q,route:j.route,params:A,query:C,hash:M};m+=1;try{for(let D of Array.from(l))try{D(w)}catch(B){console.error("[Rip] router onNavigate error:",B)}}finally{m-=1}return!0},I=function(){if(m>=10)throw Error("Rip App: navigation loop — ten nested navigations from onNavigate")},H=function(){let j,q,t1,M,A,C=i.read();if(a){if(j=C.indexOf("#"),t1=j>=0?C.slice(j+1):"/",t1==="")t1="/";({path:M,query:A,hash:q}=G1(t1))}else if({path:M,query:A,hash:q}=G1(C),M=R(M),M==null)return y(G1(C).path);let w=N(M);if(!w)return y(M);return x(w,M,A,q)},G=null,K=null,Z=function(){G=null;let j=i.readState?.()??{};return i.replace(i.read(),{...j,__ripScroll:i.scroll?.save?.()??null})},V=function(){return!G?G=setTimeout(Z,100):void 0};return t={init(){if(c)return t;return H(),c=i.listen(function(){if(!H())return;let j=i.readState?.();return i.scroll?.restore?.(j?.__ripScroll??null)}),K=i.scroll?.watch?.(V)??null,t},push(j,q={}){I();let{path:t1,query:M,hash:A}=G1(j),C=N(t1);if(!C)return y(t1);let w=i.scroll?.save?.()??null,D=i.readState?.()??{};if(i.replace(i.read(),{...D,__ripScroll:w}),i.push(_(j),null),x(C,t1,M,A),!q.noScroll)i.scroll?.top?.();return!0},replace(j,q={}){I();let{path:t1,query:M,hash:A}=G1(j),C=N(t1);if(!C)return y(t1);let w=i.readState?.()??{};if(i.replace(_(j),{...w,__ripScroll:null}),x(C,t1,M,A),!q.noScroll)i.scroll?.top?.();return!0},back(){return i.go(-1)},forward(){return i.go(1)},match(j){let{path:q,query:t1,hash:M}=G1(j),A=O(q);if(!A)return null;return{route:A.route,params:A.params,query:ze(t1),hash:M}},claims(j){let q,t1,M,A,C;if(!(typeof j==="string"&&j.length>0))return null;if(a){if(q=j.indexOf("#"),q<0)return null;if(M=j.slice(q+1),M==="")M="/";({path:A,query:C,hash:t1}=G1(M))}else{if(!j.startsWith("/"))return null;if({path:A,query:C,hash:t1}=G1(j),A=R(A),A==null)return null}let w=O(A);if(!w)return null;let D=A+(C?"?"+C:"")+(t1?"#"+t1:"");return{path:A,url:D,route:w.route,params:w.params,query:ze(C),hash:t1}},onNavigate(j){if(typeof j!=="function")throw TypeError("Rip App: onNavigate expects a function");return l.add(j),function(){return l.delete(j)}},rebuild(){let j,q,t1,M,A;if(o=typeof r==="function"?Or(r()):o,!c)return;let C=i.read();if(a){if(j=C.indexOf("#"),t1=j>=0?C.slice(j+1):"/",t1==="")t1="/";({path:M,query:A,hash:q}=G1(t1))}else if({path:M,query:A,hash:q}=G1(C),M=R(M),M==null)return y(G1(C).path);let w=N(M);if(!w)return y(M);let D=h.value,B=D?.layouts??[],a1=w.route.layouts??[],h1=B.length===a1.length&&B.every(function(f1,z){return f1===a1[z]});if(D?.file===w.route.file&&h1&&f.value===M)return;x(w,M,A,q);return},destroy(){if(c?.(),c=null,K?.(),K=null,G)clearTimeout(G);G=null;return}},Object.defineProperty(t,"current",{get(){return p.value}}),Object.defineProperty(t,"path",{get(){return f.value}}),Object.defineProperty(t,"hash",{get(){return S.value}}),Object.defineProperty(t,"params",{get(){return u.value}}),Object.defineProperty(t,"query",{get(){return d.value}}),Object.defineProperty(t,"navigating",{get(){return g.value},set(j){return g.value=j}}),t}function $r(){if(typeof window>"u"||window.history==null||window.location==null)throw Error("Rip App: browserAdapter requires a browser environment");window.history.scrollRestoration="manual";let e=function(r){return window.requestAnimationFrame?window.requestAnimationFrame(r):setTimeout(r,16)},t=0;return{read(){return window.location.pathname+window.location.search+window.location.hash},readState(){return window.history.state},push(r,i){return window.history.pushState(i,"",r)},replace(r,i){return window.history.replaceState(i,"",r)},go(r){return window.history.go(r)},listen(r){return window.addEventListener("popstate",r),function(){return window.removeEventListener("popstate",r)}},scroll:{save(){return{x:window.scrollX,y:window.scrollY}},restore(r){let i;if(r==null)return;let n=++t,s=r.x||0,a=r.y||0,o=0;i=function(){if(n!==t)return;let l=Math.max(0,(window.document?.documentElement?.scrollHeight||0)-window.innerHeight);return window.scrollTo(s,Math.min(a,l)),o+=1,a>l&&o<20?e(i):void 0},e(i);return},top(){return t+=1,window.scrollTo(0,0)},watch(r){return window.addEventListener("scroll",r,{passive:!0}),function(){return window.removeEventListener("scroll",r)}}}}}var ti,No,De;No=Un();De=function(e,t,r,i=null){let n=i??r?.message??String(r),s=Error(n);return s.name="GateFailure",s.status=r?.status??r?.response?.status??500,s.path=e,s.file=t,s.error=r,s};ti=function(e,t){let r=e.getCompiled(t);if(!(r!=null&&typeof r==="object"))throw Error(`Rip App: no precompiled component module for '${t}'`);let i=function(s){return typeof s==="function"&&typeof s.prototype?.mount==="function"};if(i(r.default))return r.default;let n=[];for(let s in r){let a=r[s];if(s==="default")continue;if(i(a))n.push(a)}if(n.length!==1)throw Error(`Rip App: precompiled module '${t}' must export exactly one component class`);return n[0]};function Dr(e){let t;if(!(e!=null&&typeof e==="object"))throw TypeError("Rip App: createRenderer expects an options object");let{router:r,stash:i,components:n,target:s,onError:a}=e;if(!(r!=null&&typeof r==="object"))throw TypeError("Rip App: createRenderer requires a router object");if(!(i!=null&&Te(i)!==i))throw TypeError("Rip App: createRenderer requires a stash built by createStash");if(!(n!=null&&typeof n.getCompiled==="function"))throw TypeError("Rip App: createRenderer requires a component registry");if(!(s!=null&&typeof s.appendChild==="function"))throw TypeError("Rip App: createRenderer requires a target with appendChild()");if(a!=null&&typeof a!=="function")throw TypeError("Rip App: createRenderer onError must be a function");let o=[],l=null,c=0,f=null,h=[],u=null,d=null,S=null,g=!1,p=function(z,i1){let X=Object.keys(z);return X.length===Object.keys(i1).length&&X.every(function(r1){return z[r1]===i1[r1]})},R=function(z,i1){return z.length===i1.length&&z.every(function(X,r1){return i1[r1]===X})},b=function(z){let i1=Te(i),X=z.split(".");for(let r1=0;r1",P.file,`Rip App: ${P.file} static __gates must be an array`);for(let W=0;W0))throw _(String(J),P.file,`Rip App: ${P.file} has a malformed render gate path`);if(F!=null&&typeof F!=="function")throw _(J,P.file,`Rip App: gate '${J}' has a non-function key`);if(o1=b(J),!o1)throw _(J,P.file,`Rip App: gate '${J}' does not resolve to a source`);if(r1=o1.cell,de(r1)){if(!F)throw _(J,P.file,`Rip App: gate '${J}' is keyed and requires a key function`);try{c1=F(i1,X),r1=r1.cellFor(c1)}catch(L){throw Q=L,De(J,P.file,Q,`Rip App: gate '${J}' key failed: ${Q.message}`)}}else if(F)throw _(J,P.file,`Rip App: gate '${J}' is a singleton and does not accept a key function`);if(P.bindings[W]={cell:r1,tail:o1.tail,path:J,file:P.file},!n1.has(r1))n1.set(r1,{cell:r1,path:J,file:P.file,entryIndex:v})}}return Array.from(n1.values())},k=async function(z,i1,X,r1){let Q,l1,c1=m(z,i1,X),F=await Promise.allSettled((()=>{let n1=[];for(let v of c1)n1.push(v.cell.ensure());return n1})());if(r1!==c)return!1;let J=null,o1=function(n1,v){if(n1.entryIndex=v,J==null||v=J.entryIndex)break;for(let P of v.bindings){l1=P.cell.peek();for(let W of P.tail){if(l1==null)break;l1=l1[W]}if(l1==null){o1(_(P.path,P.file,`Rip App: gate '${P.path}' resolved to ${l1}; every gated subpath must exist and be non-null`),n1);break}P.value=l1}}if(J!=null)throw J;return!0},O=function(z,i1){return No(z.cls,{gates:z.bindings,parent:i1,stash:i,router:r})},N=function(z){let i1=[];for(let X=z.length-1;X>=0;X--){let r1=z[X];try{r1.unmount?.()}catch(Q){i1.push(Q);try{r1._teardown?.({state:"unmounted",hooks:!1,removeDOM:!0})}catch(l1){i1.push(l1)}}}return i1},x=function(){let z=o;o=[],l=null,h=[],u=null,d=null;let i1=N(z);if(i1.length)throw i1[0];return},I=null,H=function(){I?.remove?.(),I=null;return},G=function(z){let i1,X;H();let r1=z.error?.stack??z.stack??z.message??String(z);I=(()=>{if(typeof document<"u"&&typeof document.createElement==="function")return i1=document.createElement("pre"),i1.style.cssText="margin:2rem;padding:1rem 1.25rem;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;font:13px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;overflow-wrap:anywhere",i1.textContent=r1,i1;else return X={nodeName:"PRE",textContent:r1,parentNode:null,remove(){let Q=X.parentNode?.children,l1=Q?.indexOf(X)??-1;if(l1>=0)Q.splice(l1,1);X.parentNode=null;return}},X})(),s.appendChild(I);return},K=function(){if(typeof document<"u"&&typeof document.createDocumentFragment==="function")return document.createDocumentFragment();let z=[];return{children:z,appendChild(i1){return z.push(i1),i1}}},Z=function(z,i1=s){if(H(),z.nodeType===11)i1.appendChild(z);else for(let X of z.children)i1.appendChild(X);return},V=function(z,i1){let X,r1=z._nodes??[z._root];for(let Q of r1){if(!Q)continue;if(Q.matches?.("#content"))return Q;if(X=Q.querySelector?.("#content"),X)return X}return r1.find(function(Q){return Q!=null})??i1},j=function(z){return z?.childNodes??z?.children??[]},q=function(z,i1){z.slot=i1,z.slotOwned=j(i1).length;return},t1=function(){let z,i1,X=s;for(let r1=0;r10&&Q.slot!=null&&Q.slot!==X){i1=Array.from(j(Q.slot)).slice(Q.slotOwned??0),q(Q,X);for(let l1 of i1)X.appendChild(l1);z._target=X}if(r1===h.length-1)break;X=V(z,X)}if(h.length>1)u=X;return},M=function(z,i1,X){let r1,Q,l1;if(!z.some(function(n1){return typeof n1.cls.prototype?.onError==="function"}))return!1;let c1=K(),F=c1,J=[];try{for(let n1=0;n10)q(v,F);if(Q.mount?.(F),Q._state==="failed")return N(J),!1;F=V(Q,F)}if(X!==c)return N(J),!1;r1=null;for(let n1=J.length-1;n1>=0;n1--){let v=J[n1];if(typeof v.onError==="function"){r1=v;break}}Z(c1)}catch(n1){return console.error("[Rip] boundary chain failed to mount:",n1),N(J),!1}let o1=o;o=J,l=J[J.length-1]??null,h=z,u=F,d=null;try{r1.onError(i1)}catch(n1){console.error("[Rip] boundary onError error:",n1)}for(let n1 of N(o1))console.error("[Rip] boundary teardown error:",n1);return!0},A=function(z,i1){let X=null;for(let Q=z.length-1;Q>=0;Q--){let l1=z[Q];if(typeof l1.instance?.onError==="function"){X=l1.instance;break}}if(!X)return!1;let r1=o.slice(z.length);o=z.map(function(Q){return Q.instance}),l=o[o.length-1]??null,h=z,d=null;try{X.onError(i1)}catch(Q){console.error("[Rip] boundary onError error:",Q)}for(let Q of N(r1))console.error("[Rip] boundary teardown error:",Q);return!0},C=async function(z,i1,X=n){let r1,Q,l1,c1,F,J,o1=z?.route;if(!o1?.file)throw Error("Rip App: renderer route state requires route.file");let n1=z.params??{},v=z.query??{},P=z.layouts??[];if(!Array.isArray(P))throw Error("Rip App: renderer route state layouts must be an array");let W=h.map(function(S1){return S1.file}),s1=S;if(S=null,s1==null&&l!=null&&d!=null&&o1.file===d.file){if(R([...P,o1.file],W)&&p(n1,d.params)){if(!(p(v,d.query)||y(h,n1,v))){if(typeof l.load==="function")await l.load(n1,v);if(i1!==c)return null;return d={file:o1.file,params:n1,query:v},l}}}let L=[...P,o1.file],U=d!=null&&P.length>0&&h.length===P.length+1&&R(P,W.slice(0,-1))&&!y(h.slice(0,-1),n1,v),e1=s1!=null?Math.max(0,Math.min(s1,L.length-1)):U?P.length:0;if(s1!=null&&e1>0){if(!(h.length===L.length&&R(L.slice(0,e1),W.slice(0,e1))))e1=0}let m1=[];for(let S1=0;S10){if(l1=U?A(m1.slice(0,r1),Q):M(m1.slice(0,r1),Q,i1),l1)return null}}throw Q}let d1=K(),R1=d1,E1=[],A1=e1>0?m1[e1-1].instance:null,k1=e1>0,w1=k1?V(A1,s):s;try{for(let S1=m1.slice(e1),q1=0;q10)q(xt,R1);if(c1.mount?.(R1),c1._state==="failed")throw Error(`Rip App: component '${xt.file}' failed during mount`);if(e1+q11?R1:w1,h=m1,d={file:o1.file,params:n1,query:v};let y1=N(p1);if(g=y1.length>0,y1.length)for(let S1 of y1)if(Q=De("","",S1),a!=null)try{a(Q)}catch(q1){console.error("[Rip] renderer teardown reporter failed:",q1)}else console.error("[Rip] renderer teardown error:",Q);return l},w=function(z){let i1,X,r1=z?.route;if(!r1?.file)return;let Q=z.params??{},l1=z.query??{},c1=z.layouts??r1.layouts??[],F=h.map(function(n1){return n1.file}),J=d!=null&&R(c1,F.slice(0,-1));if(J&&r1.file===d.file&&p(Q,d.params))return;let o1=J?[r1.file]:[...c1,r1.file];try{i1=(()=>{let n1=[];for(let v of o1)n1.push({file:v,cls:ti(n,v)});return n1})(),X=m(i1,Q,l1)}catch(n1){return}for(let n1 of X)n1.cell.preload().catch(function(){return null});return},D=function(z,i1){if(!(z!=null&&typeof z==="object"&&typeof i1==="string"))return null;let X=function(r1){return typeof r1==="function"&&r1.__hmrId===i1};if(X(z.default))return z.default;for(let r1 in z){let Q=z[r1];if(X(Q))return Q}return null},B=function(z){let i1=z+"#",X=[];for(let Q of h)if(Q.file===z&&Q.instance!=null)X.push(Q.instance);for(let[Q,l1]of jn())if(typeof Q==="string"&&Q.startsWith(i1)){for(let c1 of l1.instances)if(!X.includes(c1))X.push(c1)}let r1=[];for(let Q of X)r1.push({instance:Q,entry:h.find(function(l1){return l1.instance===Q})??null});return r1},a1=function(z,i1){let X,r1,Q,l1,c1=(()=>{let n1=[];for(let v of z)if(typeof v==="string"&&v.endsWith(".rip"))n1.push(v);return n1})();if(!(c1.length>0))return"unknown";let F=0,J=!1,o1=new Set;for(let n1 of c1){if(l1=i1.getCompiled(n1),Q=B(n1),l1==null){if(typeof i1.exists==="function"&&!i1.exists(n1)){if(Q.some(function(v){return v.instance._state!=="unmounted"}))return"fallback"}else J=!0;continue}for(let{instance:v,entry:P}of Q){if(o1.has(v))continue;if(v._state==="unmounted")continue;if(v._state!=="mounted")return"fallback";if(r1=v.constructor?.__hmrId,X=typeof r1==="string"?D(l1,r1):null,X==null)return"fallback";if(St(X),Rt(v.constructor,X)!=="patch")return"fallback";if(Bn(v,X),o1.add(v),F+=1,P!=null){if(P.cls=X,P!==h[h.length-1])t1()}}}if(F>0)return"done";return J?"unknown":"idle"},h1=async function(z,i1=n){let X,r1,Q,l1,c1;if(!(Array.isArray(z)&&z.length>0))return"noop";for(let U of z)if(U==="stash.rip"||U.startsWith("stash/")||U==="seed.rip")return"escape";let F=r.current;if(!(F?.route?.file&&h.length>0))return"noop";let o1=[...F.layouts??F.route.layouts??[],F.route.file],n1=R(o1,h.map(function(U){return U.file})),v=Fn();try{if(c1=a1(z,i1),c1==="done")return Tr(v),"narrow";if(c1==="idle"&&n1)return ke("noop",{paths:[...z]}),"noop"}catch(U){console.error("[Rip] HMR patch failed; falling back to remount:",U),ke("reject",{reason:"patch-failed",paths:[...z],message:U?.message?String(U.message):String(U)})}let P=new Set(z),W=-1;for(let U=0;U{if(X?.name==="GateFailure")return X;else return Q=z?.route?.file??"",De(X?.path??Q,Q,X)})(),a?.(r1),l==null)G(r1);throw r1}finally{if(l1===c&&(Array.isArray(r)||typeof r==="string"?r.includes("navigating"):("navigating"in r)))r.navigating=!1}};let f1=null;return f1={current:null,mount:t,preload:w,remountDirty:h1,start(){if(f)return f1;return r.init?.(),f=$1(function(){let z=r.current;if(z?.route)t(z).catch(function(){return null});return}),f1},stop(){let z,i1;if(c++,f?.(),f=null,Array.isArray(r)||typeof r==="string"?r.includes("navigating"):("navigating"in r))r.navigating=!1;try{x()}catch(X){throw z=X,i1=De("","",z),a?.(i1),i1}return}},Object.defineProperty(f1,"current",{get(){return l}}),f1}var vo,Oo,ri=Symbol.for("rip.app.stash.persisted"),Ao=Symbol.for("rip.app.stash.purge");Oo=function(e,t){return D1(t)?void 0:t};vo=function(e){if(e.storage!=null)return e.storage;if(!(typeof window<"u"&&window.localStorage!=null))throw Error("Rip App: persistStash requires a browser or an injected storage");return e.local?window.localStorage:window.sessionStorage};function xr(e,t={}){let r,i=Te(e)||e;if(i[ri])return function(){return null};i[ri]=!0;let n=vo(t),s=t.key||"__rip_app",a=t.debounce??2000;try{if(r=n.getItem(s),r)Ye(e,JSON.parse(r))}catch(u){}let o=null,l=function(){o=null;try{n.setItem(s,JSON.stringify(Te(e),Oo))}catch(u){}return},c=!1,f=$1(function(){if(qn.value,!c){c=!0;return}if(o!=null)clearTimeout(o);return o=setTimeout(l,a),function(){return o!=null?clearTimeout(o):void 0}});if(typeof window<"u")window.addEventListener("beforeunload",l);Object.defineProperty(i,Ao,{value(){if(o!=null)clearTimeout(o),o=null;try{n.removeItem(s)}catch(u){}return},configurable:!0,writable:!0});let h=!1;return function(){if(h)return;if(h=!0,f?.(),typeof window<"u")window.removeEventListener("beforeunload",l);l(),i[Ao]=null,i[ri]=!1;return}}var Io,ni;ni=function(e){if(e.hasAttribute?.("data-router-ignore"))return!0;if(e.hasAttribute?.("download"))return!0;let t=e.getAttribute?.("target");if(t&&t.toLowerCase()!=="_self")return!0;return!1};function It(e){let t,r=e.getAttribute?.("href")??e.href;if(!(typeof r==="string"&&r.length>0))return null;if(/^[a-z][a-z0-9+.-]*:/i.test(r)){if(t=typeof location<"u"?location.origin:null,!(t!=null&&r.startsWith(t)))return null;r=r.slice(t.length)}if(r.startsWith("//")||r.includes("\\"))return null;return r}function $t(e,t){if(t==null)return!1;if(ni(t))return!1;let r=It(t);if(r==null)return!1;return e.claims(r)!=null}Io=function(){if(!(typeof document<"u"&&typeof document.querySelectorAll==="function"))throw Error("Rip App: ariaCurrent requires a browser or an injected host");return{anchors(){return Array.from(document.querySelectorAll("a[href]"))},observe(e){if(typeof MutationObserver>"u")return null;let t=!1,r=new MutationObserver(function(){if(t)return;return t=!0,requestAnimationFrame(function(){return t=!1,e()})});return r.observe(document.documentElement??document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["href","target","download","data-router-ignore"]}),function(){return r.disconnect()}}}};function Cr(e,t=null){if(!(e!=null&&typeof e.claims==="function"))throw TypeError("Rip App: ariaCurrent requires a router");t=t??Io();let r=new WeakMap,i=function(){let l,c,f,h,u=e.path;for(let d of t.anchors()){if(l=ni(d)?null:e.claims(It(d)??""),f=l==null||u==null?null:l.path===u?"page":l.path!=="/"&&u.startsWith(l.path+"/")?"true":null,c=d.getAttribute?.("aria-current")??null,h=r.get(d),h!==void 0&&c!==h){if(r.delete(d),c!=null)continue;h=void 0}if(f!=null){if(h===void 0&&c!=null)continue;if(c!==f)d.setAttribute("aria-current",f);r.set(d,f)}else if(h!==void 0)d.removeAttribute("aria-current"),r.delete(d)}return},n=function(){try{i()}catch(l){console.error("[Rip] aria-current walk failed:",l)}return},s=$1(function(){return e.path,n()}),a=t.observe?.(n)??null,o=!1;return function(){if(o)return;o=!0,s(),a?.();try{for(let l of t.anchors())if(r.has(l)){if((l.getAttribute?.("aria-current")??null)===r.get(l))l.removeAttribute("aria-current");r.delete(l)}}catch(l){}return}}var $o,Do,ii,si;Do=50;$o=3000;si=function(){if(!(typeof document<"u"&&typeof document.addEventListener==="function"))throw Error("Rip App: link listeners require a browser or an injected host");return{listen(e,t,r=null){return document.addEventListener(e,t,r??!1),function(){return document.removeEventListener(e,t,r??!1)}}}};ii=function(e){while(e!=null&&e.tagName!=="A")e=e.parentElement;return e??null};function Pr(e,t=null){if(!(e!=null&&typeof e.claims==="function"&&typeof e.push==="function"))throw TypeError("Rip App: interceptClicks requires a router");t=t??si();let r=function(s){if(s.defaultPrevented)return;if(s.button!==0||s.metaKey||s.ctrlKey||s.shiftKey||s.altKey)return;let a=ii(s.target);if(!(a!=null&&$t(e,a)))return;let o=e.claims(It(a));if(o==null)return;s.preventDefault(),e.push(o.url,{noScroll:a.hasAttribute?.("data-router-noscroll")===!0});return},i=t.listen("click",r),n=!1;return function(){if(n)return;n=!0,i();return}}function Lr(e,t,r=null){if(!(e!=null&&typeof e.claims==="function"))throw TypeError("Rip App: preloadLinks requires a router");if(!(t!=null&&typeof t.preload==="function"))throw TypeError("Rip App: preloadLinks requires a renderer with preload()");r=r??si();let i=null,n=null,s={href:null,at:0},a=function(){if(i!=null)clearTimeout(i);i=null,n=null;return},o=function(h){let u=ii(h.target);if(!(u!=null&&$t(e,u)))return;if(u===n)return;a(),n=u;let d=It(u);i=setTimeout(function(){i=null,n=null;let S=Date.now();if(d===s.href&&S-s.at<$o)return;s.href=d,s.at=S;let g=e.claims(d);return g!=null?t.preload(g):void 0},Do);return},l=function(h){if(n==null)return;let u=h.relatedTarget;if(!(u!=null&&n.contains?.(u)))a();return},c=[r.listen("pointerover",o,{passive:!0}),r.listen("focusin",o,{passive:!0}),r.listen("pointerout",l,{passive:!0}),r.listen("focusout",l,{passive:!0})],f=!1;return function(){if(f)return;f=!0,a();for(let h of c)h();return}}var qe,xo,z1,Co;qe="routes";z1=function(e){throw Error(`Rip App: ${e}`)};var pc=function(e){let t;if(!(e!=null&&typeof e==="object"&&!Array.isArray(e)))z1("launch requires a bundle object");for(let r of["modules","compiled"]){if(t=e[r],t==null)continue;if(!(typeof t==="object"&&!Array.isArray(t)))z1(`launch bundle ${r} must be an object of store paths`)}if(e.seed!=null&&(typeof e.seed!=="object"||Array.isArray(e.seed)))z1("launch bundle seed must be an object");return e},gc=["read","write","del","exists","size","list","listAll","load","watch","getCompiled","setCompiled"];Co=function(e){if(!(typeof e==="object"&&!Array.isArray(e)))z1("launch components must be an object");for(let t of gc)if(typeof e[t]!=="function")z1(`launch components store is missing '${t}'`);return e};var ai=function(e,t=null){let r=pc(e),n=[...new Set([...Object.keys(r.modules??{}),...Object.keys(r.compiled??{})])].filter(function(o){return o.startsWith(qe+"/")});Ot(n,qe);let s=r.compiled?.["stash.rip"],a=t??s?.stash;if(a==null&&s!=null)z1("the bundle's 'stash.rip' module must export 'stash'");if(a!=null&&(typeof a!=="object"||Array.isArray(a)))z1("the application stash must be a plain object");return{bundle:r,declaration:a}};xo=function(){if(!(typeof document<"u"&&typeof document.querySelector==="function"))z1("launch requires a target outside the browser");let e=document.querySelector("#app");if(!e)e=document.createElement("div"),e.id="app",document.body.appendChild(e);return e};function Mr(e){let t,r;if(!(e!=null&&typeof e==="object"))z1("launch requires an options object");if(globalThis.__ripStash!=null)z1("an application is already launched; destroy it first");let i=ai(e.bundle,e.declaration),n=i.bundle,s=e.target??xo(),a=e.adapter??$r(),o=i.declaration,l=Nr(_r(o??{}));Ye(l,n.seed??{}),ho(l);let c=e.components!=null?Co(e.components):vr();if(n.modules!=null)c.load(n.modules);if(n.compiled!=null){let b=n.compiled;for(let _ in b){if(!Object.hasOwn(b,_))continue;let y=b[_];if(!c.exists(_))c.write(_,"");c.setCompiled(_,y)}}let f=Ir({routes(){return Ot(c.listAll(qe),qe)},adapter:a,base:e.base,hash:e.hash,onError:e.onError}),h=Dr({router:f,stash:l,components:c,target:s,onError:e.onError}),u=c.watch(function(b,_){return _.startsWith(qe+"/")?f.rebuild():void 0}),d=null;if(e.links!=null||typeof document<"u"&&typeof document.addEventListener==="function")t=Pr(f,e.links),r=Lr(f,h,e.links),d=function(){t(),r();return};let S=null;if(typeof document<"u"&&typeof document.querySelectorAll==="function")S=Cr(f);let g=null;if(e.persist)g=xr(l,{local:e.persist==="local",key:"__rip_app",storage:e.storage});let p=!1,R=function(){if(p)return;p=!0;let b=[],_=function(y){try{y()}catch(m){b.push(m)}return};if(_(function(){return S?.()}),_(function(){return d?.()}),_(function(){return h.stop()}),_(function(){return f.destroy()}),_(function(){return u()}),_(function(){return g?.()}),globalThis.__ripStash===l)delete globalThis.__ripStash;if(globalThis.__ripRouter===f)delete globalThis.__ripRouter;if(b.length===1)throw b[0];if(b.length>1)throw AggregateError(b,"Rip App: launch.destroy failed");return};globalThis.__ripStash=l,globalThis.__ripRouter=f;try{if(typeof s.replaceChildren==="function")s.replaceChildren();else if(Array.isArray(s.children))s.children.length=0;h.start()}catch(b){throw R(),b}return{stash:l,components:c,router:f,renderer:h,destroy:R}}var oi,jr,li,ci,fi,B1;B1=function(e){if(!(typeof e==="string"&&e.length>0))throw TypeError("Rip Workspace: component path must be a non-empty string");let t=e.split("/"),r=t.some(function(s){return!s||s==="."||s===".."||s.startsWith(".")}),i=t.at(-1),n=t.slice(0,-1).some(function(s){return s.endsWith(".rip")});if(e.includes("\\")||e.startsWith("/")||r||n||i===".rip"||!i.endsWith(".rip"))throw TypeError(`Rip Workspace: invalid component path '${e}'`);return e};jr=function(e){if(typeof e!=="string")throw TypeError("Rip Workspace: component source must be a string");return e};li=function(e){if(e===""||e==null)return"";if(typeof e!=="string")throw TypeError("Rip Workspace: component directory must be a string");let t=e.split("/");if(e.includes("\\")||e.startsWith("/")||t.some(function(r){return!r||r==="."||r===".."||r.startsWith(".")}))throw TypeError(`Rip Workspace: invalid component directory '${e}'`);return e};ci=function(e){if(!(typeof e==="string"&&/^[A-Za-z0-9_]{6}$/.test(e)))throw TypeError("Rip Workspace: publication hash must be six Base64URL-folded characters");return e};fi=function(e){if(!(e!=null&&typeof e==="object"&&!Array.isArray(e)))throw TypeError("Rip Workspace: compiled component module must be an object");return e};oi=function(e){let t;if(!(e!=null&&typeof e==="object"&&!Array.isArray(e)))throw TypeError("Rip Workspace: prepared state must be an object");let r=ci(e.hash);if(!(e.sources!=null&&typeof e.sources==="object"&&!Array.isArray(e.sources)))throw TypeError("Rip Workspace: prepared sources must be an object");if(!(e.compiled!=null&&typeof e.compiled==="object"&&!Array.isArray(e.compiled)))throw TypeError("Rip Workspace: prepared compiled modules must be an object");let i=new Map,n=new Map,s=e.sources;for(let o in s){if(!Object.hasOwn(s,o))continue;let l=s[o];i.set(B1(o),jr(l))}let a=e.compiled;for(let o in a){if(!Object.hasOwn(a,o))continue;let l=a[o];if(o=B1(o),!i.has(o))throw Error(`Rip Workspace: compiled module '${o}' has no source`);n.set(o,fi(l))}return{hash:r,sources:i,compiled:n}};function Fr(){let e,t=new Map,r=new Map,i=new Set,n=null,s=!1,a=function(l,c){for(let f of Array.from(i))try{f(l,c)}catch(h){console.error("[Rip] workspace watcher error:",h)}return},o=function(l){t=l.sources,r=l.compiled,n=l.hash;return};return e={read(l){return t.get(B1(l))},write(l,c){if(s)throw Error("Rip Workspace: cannot write during a publication transition");l=B1(l),c=jr(c);let f=t.has(l)?"change":"create";t.set(l,c),r.delete(l),a(f,l);return},del(l){if(s)throw Error("Rip Workspace: cannot delete during a publication transition");l=B1(l),t.delete(l),r.delete(l),a("delete",l);return},exists(l){return t.has(B1(l))},size(){return t.size},list(l=""){let c;l=li(l);let f=l?l+"/":"",h=[];for(let[u]of t)if(u.startsWith(f)){if(c=u.slice(f.length),!c.includes("/"))h.push(u)}return h},listAll(l=""){l=li(l);let c=l?l+"/":"",f=[];for(let[h]of t)if(h.startsWith(c))f.push(h);return f},load(l){if(s)throw Error("Rip Workspace: cannot load during a publication transition");if(!(l!=null&&typeof l==="object"&&!Array.isArray(l)))throw TypeError("Rip Workspace: component load expects a source object");let c=[];for(let f in l){if(!Object.hasOwn(l,f))continue;let h=l[f];c.push([B1(f),jr(h)])}for(let[f,h]of c)t.set(f,h),r.delete(f);return},watch(l){if(typeof l!=="function")throw TypeError("Rip Workspace: component watch expects a function");i.add(l);let c=!1;return function(){if(c)return;c=!0,i.delete(l);return}},getCompiled(l){return r.get(B1(l))},setCompiled(l,c){if(s)throw Error("Rip Workspace: cannot compile during a publication transition");if(l=B1(l),!t.has(l))throw Error(`Rip Workspace: setCompiled for unknown component path '${l}'`);r.set(l,fi(c));return},hash(){return n},activate(l){if(n!=null)throw Error("Rip Workspace: a publication is already active");if(s)throw Error("Rip Workspace: a publication transition is already staged");o(oi(l));return},stage(l,c,f){if(s)throw Error("Rip Workspace: a publication transition is already staged");if(l=ci(l),n!==l)throw Error(`Rip Workspace: change starts at ${l}, not ${n}`);if(!Array.isArray(f))throw TypeError("Rip Workspace: changed paths must be an array");let h=f.map(function(p){return B1(p)});if(new Set(h).size!==h.length)throw Error("Rip Workspace: changed paths must be unique");let u=oi(c),d={sources:t,compiled:r,hash:n};s=!0;let S=!1,g=function(p){let R;if(S)throw Error("Rip Workspace: publication transition is already finished");if(S=!0,s=!1,!p)return;o(u);for(let b of h)R=!u.sources.has(b)?"delete":d.sources.has(b)?"change":"create",a(R,b);return};return{components:{getCompiled(p){return u.compiled.get(B1(p))},exists(p){return u.sources.has(B1(p))}},commit(){return g(!0)},rollback(){return g(!1)}}},commit(l,c,f){e.stage(l,c,f).commit();return}},e}var Po,Lo,Mo,jo,Fo,Bo,Uo,Br;Mo=250;Lo=8000;Po=5000;Uo=0;Br=function(e){return typeof e==="string"&&/^[A-Za-z0-9_]{6}$/.test(e)};Fo=function(){if(typeof location>"u")throw Error("Rip App: connectFeed needs a hub URL (no location to derive one from)");return`${location.protocol==="https:"?"wss":"ws"}://${location.host}/hub`};Bo=function(){if(typeof WebSocket>"u")throw Error("Rip App: connectFeed needs a socket factory (no global WebSocket)");return function(e){return new WebSocket(e)}};jo=function(){if(typeof fetch>"u")throw Error("Rip App: connectFeed needs a fetch (no global fetch)");return function(e,t){return fetch(e,t)}};function Ur(e,t={}){let r;if(!(e!=null&&typeof e.hash==="function"&&typeof e.apply==="function"&&typeof e.reload==="function"))throw TypeError("Rip App: connectFeed expects hash, apply, and reload callbacks");if(!Br(e.hash()))throw TypeError("Rip App: connectFeed client hash must be six Base64URL-folded characters");let i=t.hub??Fo(),n=t.latestUrl??"/latest.json",s=t.makeSocket??Bo(),a=t.fetch??jo(),o=t.report??function(...M){return console.error(...M)},l=t.backoff?.min??Mo,c=t.backoff?.max??Lo,f=t.ackTimeout??Po,h=!1,u=!1,d=!1,S=!1,g=null,p=0,R=null,b=null,_=0,y=null,m=[],k=Promise.resolve(),O=new Map,N=null,x=function(M){if(u||h)return;u=!0,e.reload(M);return},I=async function(M){let A;if(u||h)return!1;try{if(A=await e.apply(M),A==="rejected"){if(Br(M?.hash))N=M?.hash;return!1}if(A==="reload"||!A)return x("change could not be applied"),!1;return N=null,!0}catch(C){return o("[Rip] publication change failed:",C),x("change failed"),!1}},H=function(M,A){k=k.then(async function(){if(A!==_)return!0;return await I(M)}),k=k.catch(function(C){return o("[Rip] publication queue failed:",C),x("change queue failed"),!1});return},G=async function(M){let A,C;if(h||u||M!==_)return;let w=e.hash(),D=await a(n,{cache:"no-store"});if(!D?.ok)throw Error(`latest.json fetch failed (${D?.status})`);let B=await D.json();if(!(B!=null&&typeof B==="object"&&!Array.isArray(B)&&Object.keys(B).length===1&&Object.hasOwn(B,"hash")&&Br(B.hash)))throw Error("latest.json is malformed");if(h||u||M!==_)return;if(N!=null){if(B.hash!==N){x(`a newer App generation followed rejected ${N}`);return}m=[],S=!0,p=0;return}let a1=new Set([w]),h1=0;while(h10))return"ignore";let s=(()=>{let f=[];for(let h of i)if(typeof h==="string"&&h.endsWith(".css"))f.push(h);return f})(),a=(()=>{let f=[];for(let h of i)if(typeof h==="string"&&h.endsWith(".rip"))f.push(h);return f})(),o=(()=>{let f=[];for(let h of i)if(typeof h==="string"&&!h.endsWith(".rip")&&!h.endsWith(".css"))f.push(h);return f})();if(a.length===0){if(o.length>0)return"reload";if(s.length>0)return"css";return"ignore"}let l=await e.renderer.remountDirty(a,n);if(l==="narrow")return t(`[Rip] applied ${a.join(", ")} — update`),"update";if(l==="reload")return t(`[Rip] applied ${a.join(", ")} — reload`),"reload";if(l==="noop")return"ignore";if(await e.escape(a,n)==="reload")return"reload";return t(`[Rip] applied ${a.join(", ")} — update`),"update"}}}var bc=function(e){if(e instanceof Uint8Array)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw TypeError("Rip App: rash expects bytes")},yc=function(e){let t,r,i,n,s,a,o,l,c,f,h,u,d,S,g,p,R=bc(e);if(typeof Bun<"u"&&Bun.CryptoHasher!=null)return new Uint8Array(new Bun.CryptoHasher("sha256").update(R).digest());let b=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],_=R.length*8,y=new Uint8Array(R.length+9+63&-64);y.set(R),y[R.length]=128;let m=new DataView(y.buffer);m.setUint32(y.length-4,_>>>0,!1),m.setUint32(y.length-8,Math.floor(_/4294967296)>>>0,!1);let k=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],O=function(G,K){return G>>>K|G<<32-K},N=new Uint32Array(64),x=0;while(x>>3,S=O(N[G-2],17)^O(N[G-2],19)^N[G-2]>>>10,N[G]=N[G-16]+d+N[G-7]+S>>>0;[i,n,s,o,l,c,f,h]=k;for(let G=0;G<64;G++)r=O(l,6)^O(l,11)^O(l,25),a=l&c^~l&f,g=h+r+a+b[G]+N[G]>>>0,t=O(i,2)^O(i,13)^O(i,22),u=i&n^i&s^n&s,p=t+u>>>0,h=f,f=c,c=l,l=o+g>>>0,o=s,s=n,n=i,i=g+p>>>0;k[0]=k[0]+i>>>0,k[1]=k[1]+n>>>0,k[2]=k[2]+s>>>0,k[3]=k[3]+o>>>0,k[4]=k[4]+l>>>0,k[5]=k[5]+c>>>0,k[6]=k[6]+f>>>0,k[7]=k[7]+h>>>0,x+=64}let I=new Uint8Array(32),H=new DataView(I.buffer);for(let G=0;G<8;G++)H.setUint32(G*4,k[G],!1);return I},Dt=function(e){let t=yc(e),r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";return(r[t[0]>>2]+r[(t[0]&3)<<4|t[1]>>4]+r[(t[1]&15)<<2|t[2]>>6]+r[t[2]&63]+r[t[3]>>2]+r[(t[3]&3)<<4|t[4]>>4]).replaceAll("-","_")},Wr=function(e){let t=JSON.stringify(e.map(function(r){return[r.id,r.hash]}));return Dt(new TextEncoder().encode(t))};var Sc=function(){return globalThis.__ripStash},Rc=function(){return globalThis.__ripRouter};(()=>{if(typeof document>"u"||typeof WebSocket>"u")return;let e=document.currentScript;if(!(e?/\bwatch\.js\b/.test(e.src||""):!!document.querySelector("script[watch]"))||globalThis.__ripWatch)return;globalThis.__ripWatch=!0;let r=location.pathname,i=(f)=>Array.isArray(f)&&(f.includes(r)||r.endsWith("/")&&f.includes(r+"index.html")),n=(f)=>f.headers.get("etag")||f.headers.get("last-modified")||"",s=null;fetch(location.href,{method:"HEAD",cache:"no-store"}).then((f)=>{s=n(f)}).catch(()=>{});let a=()=>{if(s===null)return;fetch(location.href,{method:"HEAD",cache:"no-store"}).then((f)=>{if(n(f)!==s)location.reload()}).catch(()=>{})},o=!1,l=0,c=()=>{let f=location.protocol==="https:"?"wss://":"ws://",h=new WebSocket(f+location.host+"/hub");h.onopen=()=>h.send('{"+":["/assets"],"?":"observe"}'),h.onmessage=(u)=>{let d;try{d=JSON.parse(u.data)}catch{return}for(let S of Array.isArray(d)?d:[d]){if(!S||typeof S!=="object"||"<"in S)continue;if("!"in S){if(o)a();o=!0,l=0}if(i(S.touched))location.reload()}},h.onclose=()=>{if(l+=1,!o&&l>=6)return;setTimeout(c,Math.min(8000,500*2**(l-1)))},h.onerror=()=>{}};c()})();var{__hmrEmit:Ec}=Et;function ui(e,t={}){if(t.face==="ts")throw Error("rip: TypeScript face is unavailable in the browser");return fa(e,{...t,face:"js"})}var Yo={intrinsics:ir,stdlib:sr,schema:fr,reactive:gr,components:Et},zo=Object.freeze({...ir,...sr,...fr,...gr,...Et}),kc=Object.freeze({rash:Dt,check:Wr}),qo=Object.freeze({"rip/app":Hr,"rip/app/rash":kc});var Tc=new Map(Object.keys(Yo).map((e)=>[new URL(`./runtime/${e}.js`,import.meta.url).pathname,e])),wc=/(?:^|\/)src\/runtime\/(intrinsics|stdlib|schema|reactive|components)\.js$/,Gr="__ripModuleBridge",_c=(e)=>e.slice(1,-1),Vo=(e,t)=>{let r=e.split("/").slice(0,-1);for(let i of t.split("/")){if(i===""||i===".")continue;if(i===".."){if(!r.length)return null;r.pop()}else r.push(i)}return r.join("/")},Wo=(e)=>{if(typeof URL<"u"&&typeof URL.createObjectURL==="function"&&typeof Blob<"u")return URL.createObjectURL(new Blob([e],{type:"text/javascript"}));return`data:text/javascript;base64,${btoa(unescape(encodeURIComponent(e)))}`};function Xo({components:e,embeddedPackages:t={},debug:r=!1,hmr:i=!1}={}){if(!e||typeof e.read!=="function")throw TypeError("rip: createModuleLoader requires a component registry");let n=new Map,s=new Map,a=new Map,o=new Map,l=new Map,c=new Set,f=(g)=>{if(typeof g==="string"&&g.startsWith("blob:")&&typeof URL?.revokeObjectURL==="function")URL.revokeObjectURL(g)},h=async()=>{let g=[...c];c.clear(),await Promise.allSettled(g.map(async(p)=>f(await p)))},u=(g,p)=>{if(a.has(g))return a.get(g);globalThis[Gr]??={};let R=globalThis[Gr][g];if(R&&R!==p)throw Error(`rip: two copies of embedded module '${g}' are active on one page`);globalThis[Gr][g]=p;let b=[`const ns = globalThis['${Gr}'][${JSON.stringify(g)}];`];for(let y of Object.keys(p))if(y==="default")b.push("export default ns['default'];");else if(/^[A-Za-z_$][\w$]*$/.test(y))b.push(`export const ${y} = ns[${JSON.stringify(y)}];`);else throw Error(`rip: embedded module '${g}' exports '${y}', which cannot cross the module bridge`);let _=Wo(b.join(` `));return a.set(g,_),_},d=(g,p)=>{let R=_c(g),b=Tc.get(R)??R.match(wc)?.[1];if(b)return{bridge:`runtime:${b}`,namespace:Yo[b]};let _=(k)=>{try{return e.exists(k)}catch{return!1}},y=R.endsWith(".rip")?"":` — did you mean '${R}.rip'?`;if(R.startsWith("./")||R.startsWith("../")){let k=Vo(p,R);if(k&&_(k))return{path:k};if(!p.startsWith("rip/")){let O=Vo(`app/${p}`,R),N=O?.startsWith("app/")?O.slice(4):O;if(N&&_(N))return{path:N}}throw Error(`rip: '${p}' imports '${R}', which is not in the bundle${y}`)}let m=R.match(/^rip\/([\w-]+)(?:\/(.+))?$/);if(m){if(_(R))return{path:R};let k=`rip/${m[1]}`,O=t[R];if(O)return{bridge:`package:${R}`,namespace:O};if(t[k])throw Error(`rip: '${p}' imports '${R}', which '${k}' does not export in the browser`);let N=m[2]?m[2].endsWith(".rip")?m[2]:`${m[2]}.rip`:"index.rip",x=`${k}/${N}`;if(!_(x))throw Error(`rip: '${p}' imports '${R}', but '${x}' is not in the bundle — `+"only packages declaring browser safety travel to the browser");return{path:x}}throw Error(`rip: '${p}' imports '${R}', which is not loadable in a browser — `+"server-only and unknown modules never travel to the browser")},S=(g,p)=>{if(p.includes(g))throw Error(`rip: import cycle through '${g}' (${p.join(" -> ")} -> ${g})`);if(n.has(g))return n.get(g);let R=(async()=>{let b=e.read(g);if(b===void 0)throw Error(`rip: '${g}' is not in the bundle`);let _=ui(b,{path:g,runtimeDelivery:"import",browserModule:!0,...i?{hmr:!0}:null}),y=_.code;for(let m of[..._.imports].reverse()){let k=d(m.specifier,g);if(k.path){let N=o.get(k.path);if(!N)o.set(k.path,N=new Set);N.add(g);let x=l.get(g);if(!x)l.set(g,x=new Set);x.add(k.path)}let O=k.bridge?u(k.bridge,k.namespace):await S(k.path,[...p,g]);y=`${y.slice(0,m.start)}${JSON.stringify(O)}${y.slice(m.end)}`}if(r){let m=btoa(unescape(encodeURIComponent(JSON.stringify(_.map))));y+=` //# sourceMappingURL=data:application/json;charset=utf-8;base64,${m}`}return Wo(y)})();return n.set(g,R),R.catch(()=>n.delete(g)),R};return{async import(g){if(s.has(g))return s.get(g);let R=await import(await S(g,[]));return s.set(g,R),e.setCompiled(g,{...R}),R},invalidate(g){let p=[g],R=new Set;while(p.length){let b=p.pop();if(R.has(b))continue;if(R.add(b),n.has(b))c.add(n.get(b));n.delete(b),s.delete(b);for(let _ of o.get(b)??[])p.push(_);o.delete(b);for(let _ of l.get(b)??[]){let y=o.get(_);if(y?.delete(b),y?.size===0)o.delete(_)}l.delete(b)}return R},collect:h,dispose(){for(let g of n.values())c.add(g);n.clear(),s.clear(),o.clear(),l.clear();for(let g of a.values())f(g);a.clear(),h()}}}var Jo=Object.keys(zo),Nc=Jo.map((e)=>zo[e]),Ac=()=>{if(typeof document>"u"||typeof document.querySelectorAll!=="function")throw Error("rip: processRipScripts requires a browser or an injected host");return{scripts(){return Array.from(document.querySelectorAll('script[type="text/rip"]')).map((e)=>({src:e.getAttribute("src"),text:e.textContent??""}))},async fetchText(e){let t=await fetch(e);if(!t.ok)throw Error(`${t.status} ${t.statusText}`);return t.text()},prepare(e,t){return Function(...t,e)},async ready(){if(document.readyState==="loading")await new Promise((e)=>document.addEventListener("DOMContentLoaded",e,{once:!0}))},report(e){console.error("[Rip]",String(e))}}},vc=(e)=>{let t=e.split(` `),r=null;for(let i of t){if(!i.trim())continue;let n=i.match(/^[ \t]*/)[0];if(r===null){r=n;continue}let s=0;while(si.trim()?i.slice(r.length):i).join(` diff --git a/dist/@rip/rip.min.js.br b/dist/@rip/rip.min.js.br index 0904f5a02dd7a0811d729b67b69f8d2a67c0e292..0708202b7d973bf32081d41566fde666fea90afb 100644 GIT binary patch literal 177467 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̈́t9xY*#c3U&I;7R#!9u7 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⪚zbVew?P(SLOUiE{H#>{~;=Ffu!We|F= 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

8gDr2$h6@m_;Ih&da)P#&D_8Uiv%7&J}j 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�UIJ$XJ%GT1ztc(yn(_?G10k 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�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 KJcorl?!;H%i}F+e diff --git a/src/emitter.js b/src/emitter.js index 9a370c9a..12429b33 100644 --- a/src/emitter.js +++ b/src/emitter.js @@ -7343,6 +7343,14 @@ class Emitter { const ind = this.ind; this.rejectYieldInIIFE(node); this.b.emit(Emitter.containsAwait(node) ? 'await (async () => { ' : '(() => { '); + this.tryBranches(node, ind); + this.b.emit(' })()'); + } + + // The try with every branch returning its value: the body of the + // value form's IIFE, and the whole of a tail-position try, which + // returns from the enclosing function in place. + tryBranches(node, ind) { this.mark(node, '$self', () => { this.b.emit('try '); // An inline body (`x = try f()`) is its own one-statement @@ -7392,7 +7400,6 @@ class Emitter { } } }); - this.b.emit(' })()'); } valueSwitch(node) { @@ -16202,9 +16209,7 @@ class Emitter { return; } if (h === 'try') { - this.b.emit('return '); - this.withTailReturn(() => this.valueTry(stmt)); - this.b.emit(';'); + this.withTailReturn(() => this.tryBranches(stmt, ind)); return; } if (h === 'switch' && stmt.length === 4) { diff --git a/test/corpus/expected/lowerings.js b/test/corpus/expected/lowerings.js index 3d5649d5..baf74e82 100644 --- a/test/corpus/expected/lowerings.js +++ b/test/corpus/expected/lowerings.js @@ -78,11 +78,11 @@ let tailMulti = function(v) { } }; let tailTry = function() { - return (() => { try { + try { return risky(); } catch (e) { return 42; - } })(); + } }; let tailSwitch = function(v) { return (() => { switch (v) { diff --git a/test/corpus/expected/lowerings.map.json b/test/corpus/expected/lowerings.map.json index 971006b3..86a8c0fa 100644 --- a/test/corpus/expected/lowerings.map.json +++ b/test/corpus/expected/lowerings.map.json @@ -1 +1 @@ -{"version":3,"file":"lowerings.rip.js","sources":["lowerings.rip"],"sourcesContent":["# composition matrix rows for value-usage lowerings: statement\n# constructs in expression and tail positions — if→ternary (simple) and\n# IIFE (multi-statement), try/switch→IIFE with returns, loops→\n# accumulator IIFEs, postfix-if-ELSE ternaries with the assignment\n# hoist, statement-position comprehensions — instantiated so every row\n# evals.\nflag = true\nn = 7\n\nt1 = if flag then 1 else 2\nt2 = if flag then 1\nt3 = unless flag then 1 else 2\nt4 = if n > 5 then \"big\" else if n > 2 then \"mid\" else \"small\"\nt5 = (if flag then 1 else 2) + 3\nt6 = [if flag then 10 else 20, 30]\n\nseen = \"\"\nm1 = if flag\n seen += \"a\"\n n + 1\nelse\n 0\n\np1 = 5 if flag else 6\np2 = (n + 1) if n > 100 else (n - 1)\ndouble = (x) -> x * 2\np3 = double n if flag else 0\n\nrisky = -> throw \"bad\"\ntv = try\n risky()\ncatch e\n \"caught\"\n\nsw = switch n\n when 7 then \"seven\"\n else \"other\"\n\ni = 0\nacc = while i < 3\n i += 1\n i * 10\n\nevens = for v in [1, 2, 3, 4]\n v * 2\n\nlp = loop\n break\n\nsum = 0\ntally = (v) -> sum += v\ntally v for v in [1, 2, 3]\n\ntailIf = (v) ->\n if v > 0\n \"pos\"\n else\n \"neg\"\n\ntailMulti = (v) ->\n if v > 0\n w = v * 2\n w + 1\n else\n 0\n\ntailTry = ->\n try\n risky()\n catch e\n 42\n\ntailSwitch = (v) ->\n switch v\n when 7 then \"lucky\"\n else \"plain\"\n\ntailFor = (xs) ->\n for x in xs\n x + 100\n\nresults = [t1, t2, t3, t4, t5, m1, p1, p2, p3, tv, sw, acc, evens, sum, tailIf(n), tailMulti(2), tailTry(), tailSwitch(7), tailFor([1])]\n"],"names":["p1","p2","p3","flag","true","n","t1","t2","t3","t4","t5","t6","seen","m1","double","x","risky","tv","e","sw","i","acc","evens","v","lp","sum","tally","tailIf","tailMulti","w","tailTry","tailSwitch","tailFor","xs","results"],"mappings":"AAMA,IAiBAA,IACAC,IAEAC;;IApBAC,OAAOC;IACPC,IAAI;IAEJC,KAAQH,OAAU;IAClBI,KAAQJ,OAAU;IAClBK,KAAY,CAAAL,OAAU,IAAO;IAC7BM,KAAK,CAAGJ,EAAE,EAAE,KAAO,UAAcA,EAAE,EAAE,KAAO;IAC5CK,KAAK,CAAIP,OAAU,SAAY;IAC/BQ,KAAK,EAAIR,OAAU;IAEnBS,OAAO;IACPC,cAAK,IAAGV;EACNS,KAAK,GAAG;UACRP,IAAI;;;;AAIN,MAAUF,WAAU;AACpB,MAAgBE,EAAE,EAAE,OAAdA,IAAI,MAAoBA,IAAI;IAClCS,SAAS,SAACC,GAAM;UAAAA,EAAE,EAAE;;AACpB,MAAiBZ,OAAZW,YAAsB;IAE3BE,QAAQ,WAAG;EAAA,MAAM;;IACjBC,cAAK;SACHD,KAAK;SACDE;;;IAGNC,cAAK,QAAOd;;;;;;IAIZe,IAAI;IACJC;;EAAM,OAAMD,EAAE,EAAE;IACdA,EAAE,GAAG;iBACLA,EAAE,EAAE;;;;IAENE;;EAAQ,SAAIC,KAAK,CAAC;iBAChBA,EAAE,EAAE;;;;IAENC;;EAAK;;;;;IAGLC,MAAM;IACNC,QAAQ,SAACH,GAAM;UAAAE,IAAI,GAAGF;;AACtB,cAAiB,CAAC;EAAlBG;;IAEAC,SAAS,SAACJ,GACR;UAAA,CAAGA,EAAE,EAAE,KACL;;IAIJK,YAAY,SAACL,GACX;MACEM;EADF,KAAGN,EAAE,EAAE;IACLM,IAAIN,EAAE,EAAE;YACRM,IAAI;;;;;IAIRC,UAAU,WACR;kBAAA;WACEd,KAAK;WACDE;;;;IAGRa,aAAa,SAACR,GACZ;kBAAA,QAAOA;;;;;;;IAITS,UAAU,SAACC,IACT;;EAAA,SAAIlB,KAAKkB;kBACPlB,IAAI;;;;IAERmB,UAAU,CAAC,6DAA6DP,MAAM,KAAKC,SAAS,KAAKE,OAAO,IAAIC,UAAU,KAAKC,OAAO,CAAC,CAAC"} +{"version":3,"file":"lowerings.rip.js","sources":["lowerings.rip"],"sourcesContent":["# composition matrix rows for value-usage lowerings: statement\n# constructs in expression and tail positions — if→ternary (simple) and\n# IIFE (multi-statement), try/switch→IIFE with returns, loops→\n# accumulator IIFEs, postfix-if-ELSE ternaries with the assignment\n# hoist, statement-position comprehensions — instantiated so every row\n# evals.\nflag = true\nn = 7\n\nt1 = if flag then 1 else 2\nt2 = if flag then 1\nt3 = unless flag then 1 else 2\nt4 = if n > 5 then \"big\" else if n > 2 then \"mid\" else \"small\"\nt5 = (if flag then 1 else 2) + 3\nt6 = [if flag then 10 else 20, 30]\n\nseen = \"\"\nm1 = if flag\n seen += \"a\"\n n + 1\nelse\n 0\n\np1 = 5 if flag else 6\np2 = (n + 1) if n > 100 else (n - 1)\ndouble = (x) -> x * 2\np3 = double n if flag else 0\n\nrisky = -> throw \"bad\"\ntv = try\n risky()\ncatch e\n \"caught\"\n\nsw = switch n\n when 7 then \"seven\"\n else \"other\"\n\ni = 0\nacc = while i < 3\n i += 1\n i * 10\n\nevens = for v in [1, 2, 3, 4]\n v * 2\n\nlp = loop\n break\n\nsum = 0\ntally = (v) -> sum += v\ntally v for v in [1, 2, 3]\n\ntailIf = (v) ->\n if v > 0\n \"pos\"\n else\n \"neg\"\n\ntailMulti = (v) ->\n if v > 0\n w = v * 2\n w + 1\n else\n 0\n\ntailTry = ->\n try\n risky()\n catch e\n 42\n\ntailSwitch = (v) ->\n switch v\n when 7 then \"lucky\"\n else \"plain\"\n\ntailFor = (xs) ->\n for x in xs\n x + 100\n\nresults = [t1, t2, t3, t4, t5, m1, p1, p2, p3, tv, sw, acc, evens, sum, tailIf(n), tailMulti(2), tailTry(), tailSwitch(7), tailFor([1])]\n"],"names":["p1","p2","p3","flag","true","n","t1","t2","t3","t4","t5","t6","seen","m1","double","x","risky","tv","e","sw","i","acc","evens","v","lp","sum","tally","tailIf","tailMulti","w","tailTry","tailSwitch","tailFor","xs","results"],"mappings":"AAMA,IAiBAA,IACAC,IAEAC;;IApBAC,OAAOC;IACPC,IAAI;IAEJC,KAAQH,OAAU;IAClBI,KAAQJ,OAAU;IAClBK,KAAY,CAAAL,OAAU,IAAO;IAC7BM,KAAK,CAAGJ,EAAE,EAAE,KAAO,UAAcA,EAAE,EAAE,KAAO;IAC5CK,KAAK,CAAIP,OAAU,SAAY;IAC/BQ,KAAK,EAAIR,OAAU;IAEnBS,OAAO;IACPC,cAAK,IAAGV;EACNS,KAAK,GAAG;UACRP,IAAI;;;;AAIN,MAAUF,WAAU;AACpB,MAAgBE,EAAE,EAAE,OAAdA,IAAI,MAAoBA,IAAI;IAClCS,SAAS,SAACC,GAAM;UAAAA,EAAE,EAAE;;AACpB,MAAiBZ,OAAZW,YAAsB;IAE3BE,QAAQ,WAAG;EAAA,MAAM;;IACjBC,cAAK;SACHD,KAAK;SACDE;;;IAGNC,cAAK,QAAOd;;;;;;IAIZe,IAAI;IACJC;;EAAM,OAAMD,EAAE,EAAE;IACdA,EAAE,GAAG;iBACLA,EAAE,EAAE;;;;IAENE;;EAAQ,SAAIC,KAAK,CAAC;iBAChBA,EAAE,EAAE;;;;IAENC;;EAAK;;;;;IAGLC,MAAM;IACNC,QAAQ,SAACH,GAAM;UAAAE,IAAI,GAAGF;;AACtB,cAAiB,CAAC;EAAlBG;;IAEAC,SAAS,SAACJ,GACR;UAAA,CAAGA,EAAE,EAAE,KACL;;IAIJK,YAAY,SAACL,GACX;MACEM;EADF,KAAGN,EAAE,EAAE;IACLM,IAAIN,EAAE,EAAE;YACRM,IAAI;;;;;IAIRC,UAAU,WACR;EAAA;WACEd,KAAK;WACDE;;;;IAGRa,aAAa,SAACR,GACZ;kBAAA,QAAOA;;;;;;;IAITS,UAAU,SAACC,IACT;;EAAA,SAAIlB,KAAKkB;kBACPlB,IAAI;;;;IAERmB,UAAU,CAAC,6DAA6DP,MAAM,KAAKC,SAAS,KAAKE,OAAO,IAAIC,UAAU,KAAKC,OAAO,CAAC,CAAC"} diff --git a/test/rip/errors.rip b/test/rip/errors.rip index e77ea6d7..d9e397d9 100644 --- a/test/rip/errors.rip +++ b/test/rip/errors.rip @@ -309,3 +309,134 @@ test 'value-position throw preserves await', ''' msg = e.message msg ''', 'boom' + +# ============================================================================== +# Tail-position try: a statement whose branches return, never a wrapper +# ============================================================================== + +test "tail try returns the body value", ''' + f = (x) -> + try + x * 2 + catch e + null + f(21) + ''', 42 + +test "tail try returns the handler value on throw", ''' + f = -> + try + throw 'boom' + catch e + "caught #{e}" + f() + ''', "caught boom" + +test "tail try without a handler returns undefined on throw", ''' + f = -> + try + throw 'boom' + f() is undefined + ''', true + +test "tail try runs finally after returning", ''' + log = [] + f = -> + try + log.push 'body' + 1 + finally + log.push 'finally' + [f(), log] + ''', [1, ['body', 'finally']] + +test "tail try with an explicit return inside", ''' + f = (x) -> + try + return x + 1 if x > 0 + 0 + catch e + -1 + [f(5), f(-5)] + ''', [6, 0] + +test "tail try with a catch pattern", ''' + f = -> + try + throw { message: 'bad', code: 7 } + catch { message, code } + "#{message}:#{code}" + f() + ''', "bad:7" + +test "tail try after other statements", ''' + f = (xs) -> + total = 0 + total += x for x in xs + try + total / xs.length + catch e + 0 + f([2, 4]) + ''', 3 + +test "tail try inside a generator may yield", ''' + g = -> + try + yield 1 + yield 2 + catch e + yield -1 + [...g()] + ''', [1, 2] + +test "tail try with await", ''' + f = (p) -> + try + await p + catch e + 'failed' + [await f(Promise.resolve(1)), await f(Promise.reject('x'))] + ''', [1, 'failed'] + +code "tail try compiles to a returning statement", ''' + f = (x) -> + try + parse x + catch e + null + ''', ''' + let f = function(x) { + try { + return parse(x); + } catch (e) { + return null; + } + }; + ''' + +code "tail try with await stays inside the function", ''' + f = (x) -> + try + await parse x + catch e + null + ''', ''' + let f = async function(x) { + try { + return await parse(x); + } catch (e) { + return null; + } + }; + ''' + +code "value-position try keeps its wrapper", ''' + x = try parse(s) catch e then null + ''', ''' + let x = (() => { try { + return parse(s); + } catch (e) { + return null; + } })(); + ''' diff --git a/test/rip/sweep.rip b/test/rip/sweep.rip index 01433244..85108ebd 100644 --- a/test/rip/sweep.rip +++ b/test/rip/sweep.rip @@ -1098,9 +1098,9 @@ code "inline try on a statement", ''' f = -> try return 1 ''', ''' let f = function() { - return (() => { try { + try { return 1; - } catch {} })(); + } catch {} }; ''' @@ -1113,13 +1113,13 @@ code "inline try statement with catch and finally", ''' cleanup() ''', ''' let f = function() { - return (() => { try { + try { return 1; } catch { return 2; } finally { cleanup(); - } })(); + } }; '''