diff --git a/AGENTS.md b/AGENTS.md index fe740569..ef281a47 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -312,6 +312,7 @@ alters surface syntax updates ALL THREE in the same change. why a trade-off was taken. Never narrate what code obviously does, never reference project history or future plans. A comment that states a stale fact is a bug (rule 8 applies to comments). +- **A component body packs its declarations and paragraphs its logic.** A one-line prop, state, offer, accept, or computed runs straight into the member below it and into `render`. A method, an effect, or any member with an indented body is followed by a blank line, so `render` takes a blank after logic and none after declarations. - **Names come from the established vocabulary**: SourceFile, TokenTape, NodeStore, RoleStore, MappingStore, CodeBuilder, semanticKind, role, `_` (structural constant), grammarRef (null for literal-sourced diff --git a/dist/@rip/rip.js b/dist/@rip/rip.js index af2131ef..3898a077 100644 --- a/dist/@rip/rip.js +++ b/dist/@rip/rip.js @@ -3335,6 +3335,35 @@ function rewriteRender(tokens, mintId, fail) { tokens[i] = out[i]; return tokens; } +var PATTERN_OPS = new Set(["=", "state", "readonly"]); +function restReadKeys(stmts) { + const reads = new Set; + const isNode = Array.isArray; + const isRestView = (n) => isNode(n) && n[0] === "." && n[1] === "this" && n[2] === "rest"; + const unquote = (k) => k.replace(/^"|"$/g, ""); + const scan = (n) => { + if (!isNode(n)) + return; + if (n[0] === "." && isRestView(n[1]) && typeof n[2] === "string") + reads.add(n[2]); + else if (n[0] === "[]" && isRestView(n[1]) && typeof n[2] === "string" && /^".*"$/.test(n[2])) + reads.add(unquote(n[2])); + else if (PATTERN_OPS.has(n[0]) && n.length === 3 && isNode(n[1]) && n[1][0] === "object" && isRestView(n[2])) { + for (const pair of n[1].slice(1)) + if (isNode(pair) && typeof pair[1] === "string") + reads.add(unquote(pair[1])); + } + for (const c of n) + scan(c); + }; + for (const st of stmts) + scan(st); + if (reads.has("class") || reads.has("className")) { + reads.add("class"); + reads.add("className"); + } + return reads; +} // src/implicit.js function applyInsertions(tokens, collect, mintId) { @@ -9068,7 +9097,8 @@ var COMPONENT_RUNTIME_FIELDS = new Set([ "_initFailed", "_hmrOrphans", "_hmrReleasing", - "_hmrPropKeys" + "_hmrPropKeys", + "_asChild" ]); var BINOPS = new Set(["+", "-", "*", "/", "%", "**", "<", ">", "<=", ">=", "==", "!=", "&&", "||", "??", "<<", ">>", ">>>", "&", "^", "|"]); var ASSIGNS = new Set(["=", "void-assign", "+=", "-=", "*=", "/=", "%=", "**=", "&&=", "||=", "??=", "<<=", ">>=", ">>>=", "&=", "^=", "|="]); @@ -16158,6 +16188,9 @@ ${pad ?? ""}`); } members.set("rest", "rest"); memberReactive.add("rest"); + if (declaredProps.includes("asChild")) { + throw this.positionedError(seen.get("asChild"), "emitter: a component that extends a host cannot declare a prop named 'asChild' — `asChild` at a " + "call site renders the projected element as the host, and the key is reserved beside key, ref, and children", node); + } } if (this.scopes.length === 1 && typeof this._componentName === "string") { const prior = this.moduleComponentNames.get(this._componentName); @@ -16185,7 +16218,8 @@ ${pad ?? ""}`); } if (extendsHost !== null) memberKinds.set("rest", { label: "rest", optional: false }); - const frame = { members, memberReactive, memberKinds, name: this._componentName, extendsTag, extendsComponent, plainWrites: new Map, renderPlainReads: new Set }; + const restReads = extendsHost !== null ? restReadKeys(stmts) : new Set; + const frame = { members, memberReactive, memberKinds, name: this._componentName, extendsTag, extendsComponent, restReads, plainWrites: new Map, renderPlainReads: new Set }; const ind = this.ind; const pad = " ".repeat(ind + 1); const ipad = pad + " "; @@ -17142,11 +17176,46 @@ ${pad ?? ""}`); } return t; } + isInheritedTarget(tag) { + const R = this.rstate; + return R.frame.extendsTag === tag && R.sink.kind === "class" && R.frame.inheritedBound !== true; + } + mergesRestKey(el, key) { + const R = this.rstate; + return R.frame.extendsTag !== null && R.frame.inheritedEl === el && !R.frame.restReads.has(key); + } + emitRestRead(key) { + this.b.emit(`${this.renderSelf ?? "this"}.rest.value.${key}`); + } + hostMergeKey(cleanKey) { + const R = this.rstate; + if (R.frame.extendsComponent === null) + return null; + if (cleanKey === "class" || cleanKey === "className") + return R.frame.restReads.has("class") ? null : "class"; + if (cleanKey === "style") + return R.frame.restReads.has("style") ? null : "style"; + return null; + } + emitHostMerge(merge, value) { + if (merge === "class") { + this.b.emit("["); + this.renderExpr(value); + this.b.emit(", "); + this.emitRestRead("class"); + this.b.emit("]"); + } else { + this.b.emit(`${this.renderSelf ?? "this"}._mergeRestStyle(`); + this.renderExpr(value); + this.b.emit(")"); + } + } bindInheritedTarget(node, tag, el, own) { const R = this.rstate; - if (R.frame.extendsTag !== tag || R.sink.kind !== "class" || R.frame.inheritedBound === true) + if (!this.isInheritedTarget(tag)) return; R.frame.inheritedBound = true; + R.frame.inheritedEl = el; this.renderLine(node, () => this.b.emit(`this._inheritedEl = ${el}`)); if (own.length > 0) { this.renderLine(node, () => this.b.emit(`this._inheritedOwn = new Set([${own.map((k) => JSON.stringify(k)).join(", ")}])`)); @@ -17197,11 +17266,16 @@ ${pad ?? ""}`); const isSvg = R.svgDepth > 0 || SVG_ONLY_TAGS.has(tag); if (isSvg) R.svgEls.add(el); + const adopts = this.isInheritedTarget(tag); this.renderLine(node, () => { + const self = this.renderSelf ?? "this"; + this.b.emit(`${el} = `); + if (adopts) + this.b.emit(`${self}._asChild ? ${self}._adoptChild() : `); if (isSvg) - this.b.emit(`${el} = document.createElementNS('${Emitter.SVG_NS}', `); + this.b.emit(`document.createElementNS('${Emitter.SVG_NS}', `); else - this.b.emit(`${el} = document.createElement(`); + this.b.emit(`document.createElement(`); const span = this.emitQuotedPrimitive(tag); if (span !== null && surfaceableTag(tag, isSvg)) { this.intrinsics.push({ start: span[0], end: span[1], kind: "tag", tag, svg: isSvg }); @@ -17238,6 +17312,8 @@ ${pad ?? ""}`); if (isSvg) R.svgDepth--; if (classes.length > 0) { + if (this.mergesRestKey(el, "class")) + R.pendingClassArgs.push(() => this.emitRestRead("class")); if (R.pendingClassArgs.length === 1) { this.renderLine(node, () => this.b.emit(isSvg ? `${el}.setAttribute('class', '${classes.join(" ")}')` : `${el}.className = '${classes.join(" ")}'`)); } else { @@ -17295,6 +17371,8 @@ ${pad ?? ""}`); this.renderChildren(el, children, node); if (isSvg) R.svgDepth--; + if (this.mergesRestKey(el, "class")) + R.pendingClassArgs.push(() => this.emitRestRead("class")); const parts = R.pendingClassArgs; const keys = R.pendingClassKeys ?? []; if (parts.length > 0) { @@ -17348,6 +17426,12 @@ ${pad ?? ""}`); this._textOwner = prevOwner; } } + renderAppend(el, v) { + this.renderLine(null, () => { + const guard = v === this.rstate.frame?.asChildSlot ? `if (!${this.renderSelf ?? "this"}._asChild) ` : ""; + this.b.emit(`${guard}${el}.appendChild(${v})`); + }); + } renderChildrenOf(el, args, owner) { for (let k = 0;k < args.length; k++) { const arg = args[k]; @@ -17365,14 +17449,14 @@ ${pad ?? ""}`); const v = this.renderNode(child); if (v == null) continue; - this.renderLine(null, () => this.b.emit(`${el}.appendChild(${v})`)); + this.renderAppend(el, v); } } } else if (block) { if (!this.renderOwnLineWord(el, block, [block], 0, owner)) { const v = this.renderNode(block); if (v != null) - this.renderLine(null, () => this.b.emit(`${el}.appendChild(${v})`)); + this.renderAppend(el, v); } } continue; @@ -17405,12 +17489,12 @@ ${pad ?? ""}`); } if (isHtmlTag2(base || "div")) { const v = this.renderNode(arg); - this.renderLine(null, () => this.b.emit(`${el}.appendChild(${v})`)); + this.renderAppend(el, v); continue; } if (isComponentName(base) && base === arg) { const v = this.renderChildComponent(arg, arg, []); - this.renderLine(null, () => this.b.emit(`${el}.appendChild(${v})`)); + this.renderAppend(el, v); continue; } if (/^[A-Za-z_$][\w$]*$/.test(arg) && this.resolveBareRead(arg) === null && !this.inScope(arg)) { @@ -17448,7 +17532,7 @@ ${pad ?? ""}`); } if (arg != null) { const v = this.renderNode(arg); - this.renderLine(null, () => this.b.emit(`${el}.appendChild(${v})`)); + this.renderAppend(el, v); } } } @@ -17527,6 +17611,8 @@ ${pad ?? ""}`); } this.claimSlot(markNode); const v = this.newRenderVar("slot"); + if (this.rstate.frame.extendsTag !== null && this.rstate.sink.kind === "class") + this.rstate.frame.asChildSlot = v; const slotSpan = this.ts ? this.wordSpanIn("slot", markNode ?? this.rstate.node) : null; this.renderLine(markNode, () => { const c = this.childrenReadText(); @@ -17667,6 +17753,13 @@ ${pad ?? ""}`); props.push({ pair, key, fn: () => this.renderExpr(value) }); return; } + const merge = isHost ? this.hostMergeKey(cleanKey) : null; + if (merge !== null) { + this.checkCrossScopeLocals(value, pair); + props.push({ pair, key, fn: () => this.emitHostMerge(merge, value) }); + updaters.push({ pair, key, value, merge }); + return; + } this.addChildProp(props, updaters, pair, key, cleanKey, value); }; const rejectTagWord = (owner, word) => { @@ -17985,7 +18078,12 @@ ${this.replayPad}}` : " }"); }); line(() => this.b.emit(` ${elVar} = ${instVar}._root;`)); if (isHost) { - const own = [...seenKeys.keys()].filter((k) => k !== "children").map((k) => JSON.stringify(k)).join(", "); + const ownKeys = new Set([...seenKeys.keys()].filter((k) => k !== "children")); + if (ownKeys.has("class") || ownKeys.has("className")) { + ownKeys.add("class"); + ownKeys.add("className"); + } + const own = [...ownKeys].map((k) => JSON.stringify(k)).join(", "); line(() => this.b.emit(` ${self()}._inheritedInst = ${instVar};`)); line(() => this.b.emit(` ${self()}._inheritedOwn = new Set([${own}]);`)); } @@ -18071,11 +18169,14 @@ ${this.replayPad}}` : " }"); `); } }); - for (const { pair, key, value } of updaters) { + for (const { pair, key, value, merge = null } of updaters) { const cleanKey = key.startsWith('"') && key.endsWith('"') ? key.slice(1, -1) : key; this.renderEffect(pair, () => { this.b.emit(`if (${instVar}) ${instVar}._updateProp('${cleanKey}', `); - this.renderExpr(value); + if (merge !== null) + this.emitHostMerge(merge, value); + else + this.renderExpr(value); this.b.emit(");"); }, value); } @@ -18325,9 +18426,10 @@ ${this.replayPad}}` : " }"); (R.pendingClassKeys ??= []).push([extent[0], extent[0] + key.length]); } R.pendingClassArgs.push(() => site(this.renderExpr(value))); - } else if (this.renderReactive(value)) { + } else if (this.renderReactive(value) || this.mergesRestKey(el, "class")) { const isSvg = R.svgDepth > 0; const recv = this.tsElReceiver(el); + const merges = this.mergesRestKey(el, "class"); this.renderEffect(pair, () => { const clsx = this.runtimeName("__clsx"); recv.emit(); @@ -18342,6 +18444,10 @@ ${this.replayPad}}` : " }"); this.b.emit(` = ${clsx}(`); } site(this.renderExpr(value)); + if (merges) { + this.b.emit(", "); + this.emitRestRead("class"); + } this.b.emit(isSvg ? "));" : ");"); }, value); } else { @@ -18457,6 +18563,7 @@ ${this.replayPad}}` : " }"); } if (key === "style") { const recv = this.tsElReceiver(el); + const merges = this.mergesRestKey(el, "style"); const write = () => { this.b.emit("{ const __v"); site([this.b.offset - 3, this.b.offset]); @@ -18475,9 +18582,9 @@ ${this.replayPad}}` : " }"); this.renderExpr(value); this.b.emit(`; ${this.runtimeName("__style")}(`); recv.emit(); - this.b.emit(", __v); }"); + this.b.emit(merges ? `, ${this.renderSelf ?? "this"}._mergeRestStyle(__v)); }` : ", __v); }"); }; - if (this.renderReactive(value)) + if (merges || this.renderReactive(value)) this.renderEffect(pair, write, value); else this.renderLine(pair, write, false); @@ -26746,9 +26853,10 @@ var __BOOLEAN_ATTRS = new Set([ "shadowrootclonable", "shadowrootserializable" ]); +var __restKey = (key) => key === "className" ? "class" : key; var __restView = (rest) => new Proxy(rest, { get(map, key) { - const held = map[key]; + const held = map[typeof key === "string" ? __restKey(key) : key]; return held != null && typeof held === "object" && typeof held.read === "function" ? held.value : held; } }); @@ -26768,13 +26876,36 @@ function __splitProps(ctor, props) { if (declared.includes(key)) continue; if (extendsTag !== null) { - (rest ??= {})[key] = props[key]; + (rest ??= {})[__restKey(key)] = props[key]; continue; } throw new Error(`${ctor.name || "component"}: unknown prop '${key}' — declared props are ` + `[${declared.join(", ")}]`); } return rest; } +function __asChildOf(ctor, rest) { + const value = rest?.asChild; + if (value == null || value === false) + return false; + if (value === true) + return true; + const shape = typeof value === "object" && typeof value.read === "function" ? "a reactive value" : `${typeof value} ${String(value)}`; + throw new Error(`${ctor.name || "component"}: asChild takes true or nothing, fixed at construction — got ${shape}`); +} +function __projected(children) { + return children != null && typeof children === "object" && typeof children.read === "function" ? children.value : children; +} +function __describeProjection(node) { + if (node == null) + return "nothing"; + if (node.nodeType === 3) + return "text"; + if (node.nodeType === 8) + return "a comment"; + if (node.nodeType === 11) + return `a fragment of ${node.childNodes.length} nodes`; + return typeof node === "object" ? "an object that is not a node" : `${typeof node} ${String(node)}`; +} class __Component { constructor(props = {}) { @@ -26822,6 +26953,7 @@ class __Component { if (this.constructor.__extends != null) { this._rest = rest ?? {}; this.rest = __state(__restView(this._rest)); + this._asChild = __asChildOf(this.constructor, this._rest); } this._frame = __ownerFrame({ nested: false }); const prevC = __pushComponent(this); @@ -26855,9 +26987,33 @@ class __Component { const current = this.children; if (current != null && typeof current === "object" && typeof current.read === "function" && "value" in current) { current.value = value; - return; + } else { + this.children = value; } - this.children = value; + if (this._asChild && this._state === "mounted") + this._rehost(); + } + _adoptChild() { + const child = __projected(this.children); + if (child != null && child.nodeType === 1) + return child; + throw new Error(`${this.constructor.name || "component"}: asChild renders the projected element as the host, so the body must ` + `be exactly one element — got ${__describeProjection(child)}`); + } + _rehost() { + const prev = this._inheritedEl; + this._hmrRelease(false); + if (!this._hmrRebind()) + return; + if (!this._mountCreate()) + return; + this._mountSetup(); + this._rehostAbove(prev); + } + _rehostAbove(prev) { + const above = this._parent; + if (prev == null || this._root === prev || !above?._asChild || above._state !== "mounted" || above._inheritedEl !== prev) + return; + above._setChildren(this._root); } _updateProp(name, value) { if (this._state === "failed" || this._state === "unmounted") @@ -26882,6 +27038,10 @@ class __Component { return; if (this._state === "failed" || this._state === "unmounted") return; + if (key === "asChild") { + throw new Error(`${this.constructor.name || "component"}: asChild is fixed at construction and takes no update`); + } + key = __restKey(key); this._rest || (this._rest = {}); if (value == null) delete this._rest[key]; @@ -26903,10 +27063,27 @@ class __Component { for (const key in this._rest) this._applyInheritedProp(this._inheritedEl, key, this._rest[key]); } + _mergeRestStyle(own) { + const rest = this.rest.value.style; + if (rest == null) + return own; + if (own == null) + return rest; + const name = this.constructor.name || "component"; + if (typeof own !== "object" || typeof rest !== "object") { + throw new Error(`${name}: style merges by key, and a string style has none — the host line's style and the caller's must both be objects`); + } + for (const key of Object.keys(rest)) { + if (Object.hasOwn(own, key)) { + throw new Error(`${name}: style key '${key}' is set by the host line and by the caller — a shared key is refused, never resolved by precedence`); + } + } + return { ...own, ...rest }; + } _applyInheritedProp(host, key, value) { if (this._state === "failed" || this._state === "unmounted") return; - if (!host || key === "key" || key === "ref" || key === "children" || key.startsWith("__bind_")) + if (!host || key === "key" || key === "ref" || key === "children" || key === "asChild" || key.startsWith("__bind_")) return; if (this._inheritedOwn?.has(key)) return; @@ -27179,7 +27356,7 @@ class __Component { this._detachDOM(report, removeDOM); this._target = null; } - _hmrRelease() { + _hmrRelease(removeDOM = true) { const report = (label, error) => console.error(`[Rip] ${label} error:`, error); try { if (this.beforeUnmount) @@ -27194,7 +27371,7 @@ class __Component { } finally { this._hmrReleasing = false; } - this._detachDOM(report, true); + this._detachDOM(report, removeDOM); this._frame = __ownerFrame({ nested: false }); this._state = "new"; } @@ -27239,6 +27416,7 @@ class __Component { if (this.constructor.__extends != null) { this._rest = rest ?? {}; this.rest.value = __restView(this._rest); + this._asChild = __asChildOf(this.constructor, this._rest); } } _hmrDrainOrphans(report) { @@ -27264,7 +27442,8 @@ class __Component { const first = nodes?.[0] ?? this._root; const insertParent = first?.parentNode ?? null; const insertBefore = nodes?.length ? nodes[nodes.length - 1].nextSibling : this._root ? this._root.nextSibling : null; - this._hmrRelease(); + const keepsHost = this._asChild === true; + this._hmrRelease(!keepsHost); if (!this._hmrRebind()) return this; if (typeof this._create !== "function") { @@ -27274,32 +27453,34 @@ class __Component { } if (!this._mountCreate()) return this; - try { - let parent = insertParent && insertParent.nodeType !== 11 ? insertParent : null; - if (parent && parent.isConnected === false) - parent = null; - if (!parent && typeof target === "string" && typeof document !== "undefined") { - parent = document.querySelector(target); - } else if (!parent && target && target.nodeType !== 11 && target.isConnected !== false) { - parent = target; - } else if (!parent && typeof document !== "undefined") { - parent = document.querySelector("#content") || document.querySelector("#app"); - } - if (parent) { - const before = insertBefore && (typeof parent.contains !== "function" || parent.contains(insertBefore)) ? insertBefore : null; - if (this._nodes) { - for (const n of this._nodes) - parent.insertBefore(n, before); - } else if (this._root) { - parent.insertBefore(this._root, before); - } - this._target = parent.nodeType === 11 ? null : parent; + if (!keepsHost) + try { + let parent = insertParent && insertParent.nodeType !== 11 ? insertParent : null; + if (parent && parent.isConnected === false) + parent = null; + if (!parent && typeof target === "string" && typeof document !== "undefined") { + parent = document.querySelector(target); + } else if (!parent && target && target.nodeType !== 11 && target.isConnected !== false) { + parent = target; + } else if (!parent && typeof document !== "undefined") { + parent = document.querySelector("#content") || document.querySelector("#app"); + } + if (parent) { + const before = insertBefore && (typeof parent.contains !== "function" || parent.contains(insertBefore)) ? insertBefore : null; + if (this._nodes) { + for (const n of this._nodes) + parent.insertBefore(n, before); + } else if (this._root) { + parent.insertBefore(this._root, before); + } + this._target = parent.nodeType === 11 ? null : parent; + } + } catch (error) { + this._failMount(error); + return this; } - } catch (error) { - this._failMount(error); - return this; - } this._mountSetup(); + this._rehostAbove(first); return this; } mount(target) { diff --git a/dist/@rip/rip.min.js b/dist/@rip/rip.min.js index 9341d6da..1fb99bda 100644 --- a/dist/@rip/rip.min.js +++ b/dist/@rip/rip.min.js @@ -1,70 +1,70 @@ -var S2=Object.defineProperty;var R2=(e)=>e;function E2(e,t){this[e]=R2.bind(null,t)}var Fe=(e,t)=>{for(var r in t)S2(e,r,{get:t[r],enumerable:!0,configurable:!0,set:E2.bind(t,r)})};class ye{constructor(e,t=""){this.path=t,this.text=e;let r=[0];for(let s=0;sthis.text.length)e=this.text.length;let t=this.lineStarts,r=0,s=t.length-1;while(r<=s){let i=r+s>>1;if(t[i]<=e)r=i+1;else s=i-1}return{line:s,col:e-t[s]}}offsetAt(e,t){if(e<0)return 0;if(e>=this.lineStarts.length)return this.text.length;let r=this.lineStarts[e],s=e+1r&&this.text.charCodeAt(s-1)===13)s--;let i=r+Math.max(0,t);return i>s?s:i}slice(e,t){return this.text.slice(e,t)}}var J={on:!1,n:0},An=()=>{if(J.on=typeof process<"u"&&!!process.env.RIP_COUNT_OPS,J.on)J.n=0;return J.on};class ii extends Error{constructor(e){super(e);this.name="TypeTextError"}}var jt=(e)=>String(e??"").trim(),Be=(e)=>String(e??""),vn=()=>{throw Error("rip: type-text rendering is unavailable in the browser")},On=()=>{throw Error("rip: type-text rendering is unavailable in the browser")},In=()=>()=>!1,$n=()=>new Set;function se(e){return String(e).replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase()}function ni(e){return String(e).replace(/_([a-z])/g,(t,r)=>r.toUpperCase())}function si(e){return se(e)+"_id"}function tt(e){if(typeof e!=="string"||!/^[a-z][a-zA-Z0-9]*$/.test(e))return!1;if(/[A-Z]{2,}/.test(e))return!1;return!0}function ai(e){if(typeof e!=="string"||!/^[A-Z][a-zA-Z0-9]*$/.test(e))return!1;if(/[A-Z]{2,}/.test(e))return!1;return!0}function k2(e){return typeof e==="string"&&/^[a-z_][a-z0-9_]*$/.test(e)}function T2(e){return typeof e==="string"&&e.length>0&&!/[\u0000-\u001f\u007f".]/.test(e)}var oi={__proto__:null,mixin:"target",times:"none",softDelete:"none",belongsTo:"target",hasOne:"target",hasMany:"target",index:"columns",unique:"columns",idStart:"int",table:"name",tableWas:"name",primary:"field"},Dn=["idStart","table","tableWas","primary","times","softDelete"],xn=["belongsTo","hasOne","hasMany"],li={__proto__:null,column:"literal",was:"column"},Pn={__proto__:null,as:"property",foreignKey:"column",through:"model",targetKey:"column"};function ci(e,t,r){if(typeof r!=="string"||!r.length)return"'"+t+"' requires a non-empty string";if(e==="property"&&!tt(r))return"'"+t+"' is a property name — canonical camelCase, e.g. {"+t+": author}";if(e==="model"&&!ai(r))return"'"+t+"' is a model name — canonical PascalCase, e.g. {"+t+": Membership}";if(e==="column"&&!k2(r))return"'"+t+"' is a column name Rip generates — lowercase, digits and underscores "+"only, e.g. {"+t+': "author_id"}';if(e==="literal"&&!T2(r))return"'"+t+"' is a database column name — any spelling the database uses, but with "+"no dots, double quotes, or control characters";return null}var w2=new Set(["input","shape","mixin","enum","union","model"]);var _2=new Set(["beforeValidation","afterValidation","beforeSave","afterSave","beforeCreate","afterCreate","beforeUpdate","afterUpdate","beforeDestroy","afterDestroy","afterCommit","afterRollback"]),Cn=new Set(["integer","number","boolean","date","datetime"]),N2={__proto__:null,id:"integer",int:"integer",whole:"integer",float:"number",money:"integer",money_even:"integer",cents:"integer",decimal:"string",bool:"boolean",truthy:"boolean",falsy:"boolean",json:"json",hash:"json",array:"json",ids:{type:"integer",array:!0},string:"string",text:"string",name:"string",address:"string",date:"string",time:"string",time12:"string",email:"email",state:"string",zip:"zip",zipplus4:"string",ssn:"string",sex:"string",phone:"string",username:"string",ip:"string",mac:"string",url:"url",color:"string",uuid:"uuid",semver:"string",slug:"string"},A2=new Set(["string","email","url","phone","zip"]),v2=new Set(["TERMINATOR","INDENT","OUTDENT","=","COMPOUND_ASSIGN","RETURN","THROW","YIELD","AWAIT","EXPORT",",","(","[","{","CALL_START","PARAM_START","INDEX_START","->","=>",":","WHEN","LEADING_WHEN","THEN","IF","UNLESS","UNARY","UNARY_MATH"]),Ln=new Set(["defaultMaxString"]),L1=(e)=>e&&(e.kind==="IDENTIFIER"||e.kind==="PROPERTY"),rt=(e)=>e&&typeof e.value==="string"&&/^[a-z]+$/.test(e.value)&&(e.kind===e.value.toUpperCase()||e.kind==="LEADING_WHEN"||e.kind==="RELATION"||e.kind==="STATEMENT"),O2=(e)=>`__${e}__behavior`,H1=(e,t,r=!1)=>{if(e[t]?.kind!==":")return null;let s=e[t+1];if(!s||s.spaced)return null;if(L1(s)||r&&/^[a-z]+$/.test(s.value)&&s.kind===s.value.toUpperCase())return s;return null};function I2(e,t){if(typeof e?.start!=="number")throw e;t(e)}function Un(e,t,r,s,i=null){if(r.indexOf("schema")===-1)return;let n=[],a={defaultMaxString:null,tolerate:i},o=0,l=0;while(l0){l+=f;continue}if(x2(e,l,s)){l=P2(e,l,n,a,t,s,r);continue}n.push(c),l++}e.length=0;for(let c of n)e.push(c)}function $2(e,t,r,s,i){let n=e[t];if(!n||n.kind!=="IDENTIFIER"||n.value!=="schema")return 0;if(e[t+1]?.kind!==".")return 0;let a=e[t+2];if(!a||a.kind!=="PROPERTY")return 0;if(e[t+3]?.kind!=="=")return 0;let o=e[t-1];if(o&&o.kind!=="TERMINATOR"&&o.kind!=="INDENT"&&o.kind!=="OUTDENT")return 0;let l=a.value;if(!Ln.has(l))i(`unknown schema pragma 'schema.${l}' — known pragmas: ${[...Ln].join(", ")}`,a.start);if(s>0)i(`schema pragma 'schema.${l}' must be declared at file top level — inside a nested block it would leak into later top-level schemas`,a.start);let c=e[t+4];if(!c||c.kind!=="NUMBER")i(`pragma 'schema.${l}' requires a number literal — example: schema.${l} = 100`,(c??a).start);let f=Number(c.value);if(!Number.isFinite(f)||f<0||!Number.isInteger(f))i(`pragma 'schema.${l}' expects a non-negative integer (got ${c.value}); use 0 to disable`,c.start);r[l]=f===0?null:f;let h=t+5;if(e[h]?.kind==="TERMINATOR")h++;return h-t}var Vn=(e,t)=>{if(e[t]?.kind==="SYMBOL")return e[t];return e[t]?.kind===":"&&e[t].spaced?H1(e,t,!0):null},Wn=(e,t)=>e[t]?.kind==="SYMBOL"?1:2,D2=(e,t)=>{if(e[t]?.kind!==","||!L1(e[t+1])||e[t+1].value!=="on")return t;let r=t+2;if(e[r]?.kind===":")r++;while(r")n("inline schema bodies do not support '->' (methods/hooks/scopes/transforms) — use the indented form",R.start);else if(w===0&&(T==="EFFECT"||T==="!>"))n(`inline schema bodies do not support '${R.value}' (${T==="EFFECT"?"computed getters":"eager-derived fields"}) — use the indented form`,R.start);S++}while(S>b&&e[S-1].kind==="TERMINATOR")S--;if(d=e.slice(b,S),p=S,!d.length)n("inline schema body is empty — add '; field; …' entries or switch to the indented form",o.start);m=d[d.length-1].end}else{if(e[f]?.kind==="TERMINATOR")f++;if(e[f]?.kind!=="INDENT")n(`expected an indented schema body after 'schema${c?" :"+l:""}'`,o.start);let b=f,S=0,w=-1;for(let R=b;Rb.kind==="SYMBOL"?[{...b,kind:":",value:":",end:b.start+1},{...b,kind:"IDENTIFIER",start:b.start+1,spaced:!1}]:[b]);let g=C2(l,c,d,{schemaStart:o.start,defaultMaxString:s.defaultMaxString,tolerate:s.tolerate??null},n);if(u)g.adapterTokens=u;return g.start=(c??d[0]).start,g.end=m,g.primitiveSpans=[c,...d].filter((b)=>b&&typeof b.value==="string"&&/^[A-Za-z_$][\w$]*$/.test(b.value)).map((b)=>({value:b.value,sourceStart:b===c&&b.end-b.start===b.value.length+1?b.start+1:b.start,sourceEnd:b.end})),r.push({id:i(),kind:"SCHEMA",value:"schema",start:o.start,end:o.end,spaced:o.spaced}),r.push({id:i(),kind:"SCHEMA_BODY",value:g,start:g.start,end:g.end,spaced:!0}),p}function C2(e,t,r,s,i){let n=[],a=L2(r);if(e==="input"&&!t&&a.length>0&&H1(a[0],0))e="enum";if(e==="enum")for(let o of a)q2(o,n,i);else if(e==="union"){for(let c of a)z2(c,n,i);let o=n.filter((c)=>c.tag==="directive"&&c.name==="on").length,l=n.filter((c)=>c.tag==="union-member");if(o!==1)i(o===0?":union requires an '@on :field' discriminator — untagged unions are not supported":`:union takes exactly one '@on :field' discriminator (got ${o})`,s.schemaStart);if(l.length<2)i(`:union needs at least two constituent schemas (got ${l.length})`,s.schemaStart)}else{for(let o of a)M2(e,o,n,s,i);if(e==="model")U2(n,i);else for(let o of n){if(o.tag==="scope"||o.tag==="defaultScope")i(`:${e} schemas don't accept query scopes — '@${o.tag==="scope"?"scope":"defaultScope"}' is :model-only`,o.start);if(e==="mixin"&&(o.tag==="method"||o.tag==="computed"||o.tag==="derived"))i(`:mixin schemas are fields-only — '${o.name}' is a ${o.tag}; move it to a :shape or :model`,o.start);if(e==="mixin"&&o.tag==="ensure")i(":mixin schemas don't accept @ensure refinements — move the invariant to a :shape or :model that composes this mixin",o.start);if(e==="input"&&(o.tag==="method"||o.tag==="computed"))i(`:input schemas are fields-only — '${o.name}' is a ${o.tag}; use :shape or :model if you need behavior`,o.start);if(o.tag==="directive"&&o.name!=="mixin")i(`:${e} schemas only accept '@mixin Name'${e==="input"?" and '@ensure'":""} — '@${o.name}' is ${["times","softDelete","belongsTo","hasMany","hasOne","unique","index","idStart","table","tableWas","primary"].includes(o.name)?":model-only":"not a schema directive"}`,o.start)}}return{kind:e,entries:n,toJSON(){return this.kind}}}function L2(e){let t=[],r=[],s=0;for(let i of e){if(i.kind==="INDENT")s++;if(i.kind==="OUTDENT")s--;if(i.kind==="TERMINATOR"&&s===0){if(r.length)t.push(r),r=[];continue}r.push(i)}if(r.length)t.push(r);return t}function M2(e,t,r,s,i){let n=t[0];if(!n)return;if(n.kind==="@"){let U=t[1];if(!L1(U))i("expected a directive name after '@'",n.start);let r1=U.value;if(r1==="ensure"){let I=2,s1=!1;if(t[2]?.kind==="DAMMIT"&&!t[2].spaced)s1=!0,I=3;let e1=W2(t.slice(I),n,i);for(let K of e1)r.push({tag:"ensure",name:"ensure",message:K.message,field:K.field,fieldStart:K.fieldStart,async:s1,paramTokens:K.paramTokens,bodyTokens:K.bodyTokens,start:n.start});return}if(r1==="scope"){let I=B2(t.slice(2),n,i);r.push({tag:"scope",name:I.name,paramTokens:I.paramTokens,bodyTokens:I.bodyTokens,start:n.start});return}if(r1==="defaultScope"){let I=Hn(t.slice(2),n,"@defaultScope",i);if(I.paramTokens.length)i("@defaultScope takes no parameters — write '@defaultScope -> @where(...)'",n.start);r.push({tag:"defaultScope",name:"defaultScope",paramTokens:[],bodyTokens:I.bodyTokens,start:n.start});return}let Q=null,l1=t.slice(2);if(r1==="mixin"){let I=l1[0];if(!L1(I))i("@mixin requires a target name — '@mixin Timestamps'",n.start);if(l1.length>1)i("@mixin takes exactly one schema name",l1[1].start);Q=[{target:I.value}]}r.push({tag:"directive",name:r1,args:Q,argTokens:l1,start:n.start,nameStart:U.start});return}if(n.kind==="PROPERTY"){if(s.tolerate){try{Mn(e,n,t,r,i)}catch(U){I2(U,s.tolerate)}return}Mn(e,n,t,r,i);return}if(n.kind!=="IDENTIFIER"&&!rt(n))i(`unexpected ${n.kind} at schema top level — allowed: fields ('name! type'), directives ('@name'), methods ('name: -> body'), computed getters ('name: ~> body')`,n.start);let a=n.value;if(t[1]?.kind===":")i(`schema fields use 'name type' (space, no colon) — got '${a}:'`,t[1].start);let o=[],l=1;while(l{if(t[U]?.kind==="STRING"&&t[U].value.startsWith('"'))return{value:JSON.parse(t[U].value),bracketed:!1,start:t[U].start,end:t[U].end,next:U+1};if((t[U]?.kind==="["||t[U]?.kind==="INDEX_START")&&t[U+1]?.kind==="STRING"&&t[U+1].value.startsWith('"')&&(t[U+2]?.kind==="]"||t[U+2]?.kind==="INDEX_END"))return{value:JSON.parse(t[U+1].value),bracketed:!0,start:t[U].start,end:t[U+2].end,next:U+3};return null},S=void 0,w=null,R=b(l);if(m?.kind==="UNARY_MATH"&&m.value==="~"){let U=H1(t,l+1),r1=t[l+1];if(U){h=!0,u=U.value;let Q=N2[u];if(Q&&typeof Q==="object")c=Q.type,d=!0;else c=Q||"any";l+=3}else if(r1?.kind==="IDENTIFIER"&&!r1.spaced){if(!Cn.has(r1.value))i(`'~${r1.value}' is not coercible — built-in coercion exists for: ${[...Cn].join(", ")}; named coercers use a symbol ('~:${r1.value}'); otherwise write a transform ('${a}, -> …')`,r1.start);h=!0,c=r1.value,l+=2}else i("'~' in the type slot marks coercion and needs a type name ('~integer', '~date', …) or a registered coercer symbol ('~:ssn', …)",m.start);p=!0}else if(m?.kind==="IDENTIFIER")c=m.value,p=!0,l++;else if(R&&(!R.bracketed||t[R.next]?.kind==="|")){f=[];let U=(r1)=>{if(f.push(r1.value),r1.bracketed){if(w)i(`field '${a}' brackets more than one union member as its default — a field has one default`,r1.start);S=r1.value,w={start:r1.start,end:r1.end}}};U(R),l=R.next,p=!0;while(t[l]?.kind==="|"){let r1=b(l+1);if(!r1)i(`literal unions contain string literals only — '${t[l+1]?.kind??""}' is not allowed as a union member; use the '?' modifier for nullability`,t[l].start);U(r1),l=r1.next}c="literal-union"}let T=!1,F=(U)=>(t[U]?.kind==="["||t[U]?.kind==="INDEX_START")&&(t[U+1]?.kind==="]"||t[U+1]?.kind==="INDEX_END");if(F(l)){if(T=!0,l+=2,F(l))i(`field '${a}' — nested array types ('${c}[][]') are not supported: one '[]' validates element-wise; use 'json' or a '-> transform' for deeper nesting`,t[l].start)}if(h&&T)i(`coercion ('~${c}') does not apply to array types — coerce per-element with a transform instead`,m.start);if(d)T=!0;if(T&&f)i("array-of-literal-union is not supported — use 'string[]' for an array of strings",m.start);let L=m?.kind==="UNARY_MATH"&&m.value==="~"?t[g+1]:m,P=p?[L.start,t[l-1].end]:null,N=t.slice(l);if(p&&N[0]?.kind==="->")i(`field '${a}' has a transform after the type; a comma is required before '->' — write '${a} ${c}, -> …'`,N[0].start);let D=null,O=void 0,W=!1;if(w)O=S,W=!0;let H={};if(w)H.start=w.start,H.end=w.end;let G=null,k=null,v=null,j=!1,X=!1;if(N.length>0){if(N[0]?.kind===",")N=N.slice(1);if(N.length>=2&&N[0].kind==="INDENT"){let r1=0,Q=-1;for(let l1=0;l1"){let I=el(Q),s1=Q[0].kind==="@"&&I===2;if(I>0&&!s1)i(`field '${a}' has a transform after other content; a comma is required before '->'`,Q[I].start);if(!s1){while(Q.length&&(Q[Q.length-1].kind==="OUTDENT"||Q[Q.length-1].kind==="TERMINATOR"))Q=Q.slice(0,-1);if(!Q.length)continue}}let l1=Q[0];if(l1.kind==="["||l1.kind==="INDEX_START"){if(W)i(`field '${a}' has more than one '[…]' default bracket`,l1.start);O=Z2(Q,a,i,H),W=!0}else if(l1.kind==="{"){if(e!=="model"&&e!=="mixin")i(`field attrs ('{…}') are persistence metadata — :model/:mixin-only ('{was: "old_column"}' annotates a column rename)`,l1.start);if(v)i(`field '${a}' has more than one '{…}' attrs bracket`,l1.start);v=j2(Q,a,i)}else if(X2(Q)){if(D)i(`field '${a}' has more than one range constraint — one 'min..max' per field`,l1.start);D=J2(Q,a,i)}else if(l1.kind==="REGEX"&&Q.length===1){if(G)i(`field '${a}' has more than one regex constraint`,l1.start);G=Q2(l1,i)}else if(l1.kind==="->"){if(r1!==U.length-1)i(`transform '-> …' must be the last element on the field line for '${a}'`,l1.start);k=Q.slice(1)}else if(l1.kind==="@"){let I=L1(Q[1])?Q[1].value:null;if(e!=="model"&&e!=="mixin")i(`inline '@${I??""}' on field '${a}' is persistence metadata — :model/:mixin-only ('@unique' marks single-column uniqueness)`,l1.start);if(Q.length>2&&Q[2].kind==="->"){if(r1!==U.length-1)i(`transform '-> …' must be the last element on the field line for '${a}'`,Q[2].start);k=Q.slice(3),Q=Q.slice(0,2)}if(Q.length===2&&I==="unique"){if(j)i(`field '${a}' has more than one '@unique'`,l1.start);j=!0}else if(Q.length===2&&I==="primary"){if(e!=="model")i(`inline '@primary' on field '${a}' is :model-only — a mixin cannot declare the primary key`,l1.start);if(X)i(`field '${a}' has more than one '@primary'`,l1.start);X=!0}else i(`unknown inline attribute '@${I??""}' on field '${a}' — the inline attributes are '@unique' and '@primary'`,l1.start)}else i(`unexpected trailer for field '${a}' — expected '[…]' default, '/regex/', 'min..max' range, or '-> transform'`,l1.start)}}if(h&&k)i(`field '${a}' has both '~${c}' coercion and a '->' transform — a transform replaces coercion; coerce inside it instead`,n.start);let x={};if(D){if(D.min!==void 0)x.min=D.min;if(D.max!==void 0)x.max=D.max;if(D.min===void 0&&x.min===void 0&&o.includes("!"))x.min=1}if(G)x.regex=G;if(W)x.default=O;if(f&&x.default!==void 0&&!f.includes(x.default))i(`field '${a}' defaults to ${JSON.stringify(x.default)}, which is not a member of its literal union (${f.map((U)=>JSON.stringify(U)).join(" | ")})`,n.start);if(s.defaultMaxString!=null&&!G&&!f&&A2.has(c)&&x.max===void 0)x.max=s.defaultMaxString;if(x.min!==void 0&&x.max!==void 0&&x.min>x.max)i(`field '${a}' would have impossible constraints min=${x.min} > max=${x.max} after sugar is applied — write an explicit range or drop the conflicting pragma`,n.start);let Z=x.min!==void 0||x.max!==void 0||x.default!==void 0||x.regex!==void 0?x:null;r.push({tag:"field",name:a,modifiers:o,typeName:c,array:T,literals:f,coerce:h,coercer:u,constraints:Z,transformTokens:k,unique:j,primary:X,attrs:v,start:n.start,typeSpan:P,defaultSpan:H.start===void 0?null:[H.start,H.end]})}function fi(e,t,r,s){if(e[e.length-1]?.kind!=="}")s(`${r} — the '{…}' options bracket never closes`,e[0].start);let i=e.slice(1,-1).filter((a)=>a.kind!=="TERMINATOR"&&a.kind!=="INDENT"&&a.kind!=="OUTDENT"),n={};for(let a of Ie(i)){if(!a.length)continue;let o=a[0];if(!L1(o))s(`${r} options must be '{key: value}' pairs — got ${o.kind}`,o.start);let l=o.value,c=t[l];if(c===void 0)s(`unknown ${r} option '${l}' — known options: ${Object.keys(t).join(", ")}`,o.start);if(l in n)s(`${r} repeats option '${l}'`,o.start);let f=1;if(a[f]?.kind===":")f++;let h=a.slice(f);if(h.length!==1)s(`${r} option '${l}' takes a single value`,(h[0]??o).start);let u=h[0],d=c==="property"||c==="model",p;if(d){if(!L1(u)&&!rt(u)){let g=u.kind==="STRING"&&u.value.startsWith('"')?JSON.parse(u.value):null,b=g&&!ci(c,l,g)?g:c==="model"?"Membership":"author";s(`${r} option '${l}' names ${c==="model"?"a model":"a property"}, `+`so it is written BARE — '{${l}: ${b}}', not ${u.kind==="STRING"?u.value:`a ${u.kind}`}. Quoting would name a database identifier, which is a different thing`,u.start)}p=u.value}else{if(u.kind!=="STRING"||!u.value.startsWith('"'))s(`${r} option '${l}' names a database column, so it is QUOTED — `+`'{${l}: "${L1(u)?se(u.value):"author_id"}"}'. A bare name would be a Rip name, which is a different thing`,u.start);p=JSON.parse(u.value)}let m=ci(c,l,p);if(m)s(`${r} option ${m}; got '${p}'`,o.start);n[l]=p}if(!Object.keys(n).length)s(`${r} has an empty '{…}' options bracket`,e[0].start);return n}function j2(e,t,r){return fi(e,li,`field '${t}'`,r)}function F2(e,t,r){let s=fi(e,Pn,`@${t}`,r);if(s.through&&t==="belongsTo")r("@belongsTo option 'through' is for @hasMany/@hasOne — a @belongsTo holds its key in its own row, so it has nothing to read through",e[0].start);if(s.targetKey&&!s.through)r(`@${t} option 'targetKey' names a column on the join model, so it requires 'through' — '{through: Membership, targetKey: "team_id"}'`,e[0].start);return s}function B2(e,t,r){if(!e.length)r("@scope requires ':name, -> body' (or ':name, (args) -> body')",t.start);let s=H1(e,0);if(!s)r("@scope name must be a :symbol — '@scope :active, -> @where(active: true)'",e[0].start);let i=s.value,n=e[2],a=n&&!n.spaced&&n.start===s.end&&(n.value==="!"||n.value==="?");if(a||!/^[a-z][a-zA-Z0-9]*$/.test(i))r(`@scope name ':${i}${a?n.value:""}' must be a lowercase-first alphanumeric identifier — scopes chain as query-builder methods`,s.start);let o=e.slice(2);if(o[0]?.kind===",")o=o.slice(1);if(!o.length)r(`@scope :${i} is missing its body — '@scope :${i}, -> @where(...)'`,s.start);let l=Hn(o,s,`@scope :${i}`,r);return{name:i,paramTokens:l.paramTokens,bodyTokens:l.bodyTokens}}function Hn(e,t,r,s){if(!e.length)s(`${r}: expected '-> body' or '(args) -> body'`,t.start);let i=[],n=0,a=e[0];if(a.kind==="("||a.kind==="PARAM_START"||a.kind==="CALL_START"){let c=1;n=1;while(n0){let f=e[n].kind;if(f==="("||f==="PARAM_START"||f==="CALL_START")c++;if(f===")"||f==="PARAM_END"||f==="CALL_END"){if(c--,c===0){n++;break}}i.push(e[n]),n++}if(c!==0)s(`${r}: unclosed '(' in parameters`,a.start)}let o=e[n];if(o?.kind!=="->")s(`${r}: expected '->' ${i.length?"after parameters":"to start the body"}`,(o??t).start);let l=e.slice(n+1);if(!l.length)s(`${r}: function body is empty`,o.start);return{paramTokens:i,bodyTokens:l}}function U2(e,t){let r=new Set;for(let m of e){if(m.tag!=="directive")continue;let g=oi[m.name];if(g===void 0)t(`unknown directive '@${m.name}' on :model — legal: ${Object.keys(oi).map((b)=>"@"+b).join(", ")}, @ensure, @scope, @defaultScope`,m.nameStart??m.start);if(Dn.includes(m.name)){if(r.has(m.name))t(g==="none"?`duplicate '@${m.name}' — declared twice; a :model declares it once`:`duplicate '@${m.name}' — a :model declares it at most once (the second would silently override the first)`,m.nameStart??m.start);r.add(m.name)}if(m.name!=="mixin")m.args=V2(m,g,t)}if(e.some((m)=>m.tag==="directive"&&m.name==="mixin"))return;let i=new Set,n=new Map,a=new Map,o=new Map,l=(m,g,b,S)=>{if(i.has(g))t(`${n.get(g)} and ${b} both own column '${g}' — every table column has exactly one owner`,S);if(a.has(m))t(`${o.get(m)} and ${b} both own property '${m}' (columns '${a.get(m)}' and '${g}') — every property reads exactly one column`,S);i.add(g),n.set(g,b),a.set(m,g),o.set(m,b)},c=e.find((m)=>m.tag==="directive"&&m.name==="primary"),f=e.filter((m)=>m.tag==="field"&&m.primary);if(f.length>1)t(`both '${f[0].name}' and '${f[1].name}' declare '@primary' — a row has one identity`,f[1].start);if(f.length===1){if(c)t(`'@primary ${c.args[0].name}' and inline '@primary' on field '${f[0].name}' are two answers to one question — state it once`,c.start);c={tag:"directive",name:"primary",args:[{name:f[0].name}],start:f[0].start}}let h=c?c.args[0].column??se(c.args[0].name):"id",u=c?c.args[0].name:"id",d=e.find((m)=>m.tag==="field"&&m.name===u)??null,p=!!(c&&d);if(!c&&d)t(`field '${u}' collides with the runtime-managed primary key — a :model's ${u} is sequence-assigned. Drop the declaration, or write '@primary ${u}' to make it a caller-supplied natural key instead`,d.start);if(p){if(!d.modifiers?.includes("!"))t(`the primary key '${u}' is declared optional — a row's identity is never absent; declare it required ('${u}! string')`,d.start);if(d.array)t(`the primary key '${u}' is declared as an array — a primary key is one value`,d.start);let m=e.find((g)=>g.tag==="directive"&&g.name==="idStart");if(m)t(`@idStart seeds the sequence behind a runtime-managed primary key, but '${u}' is declared as a field, which makes it caller-supplied — there is no sequence to seed. Drop @idStart, or drop the field declaration`,m.start);if(c.args[0].column!==void 0&&c.args[0].column!==(d.attrs?.column??se(u)))t(`@primary names column '${c.args[0].column}' but field '${u}' reads a different one — state the column once, on the field`,c.start)}else l(u,h,"the primary key",c?.start??e[0]?.start??0);for(let m of e){if(m.tag!=="field")continue;l(m.name,m.attrs?.column??se(m.name),`field '${m.name}'`,m.start)}for(let m of e){if(m.tag!=="directive")continue;if(m.name==="times")l("createdAt","created_at","@times",m.start),l("updatedAt","updated_at","@times",m.start);else if(m.name==="softDelete")l("deletedAt","deleted_at","@softDelete",m.start);else if(m.name==="belongsTo"){let g=m.args[0],b=g.foreignKey??si(g.as??g.target);l(ni(b),b,`the @belongsTo ${g.target}${g.as?` (as ${g.as})`:""} relation`,m.start)}}for(let m of e){if(m.tag!=="directive"||m.name!=="index"&&m.name!=="unique")continue;let g=m.args[0].fields.map((b)=>a.get(b)??(i.has(b)?b:se(b)));g.forEach((b,S)=>{if(g.indexOf(b)!==S)t(`@${m.name} columns must be distinct after canonicalization: ${g.join(", ")}`,m.colTokens?.[S]?.start??m.start)}),g.forEach((b,S)=>{if(!i.has(b))t(`@${m.name}: unknown column '${m.args[0].fields[S]}' — the table has: ${[...i].sort().join(", ")}`,m.colTokens?.[S]?.start??m.start)})}}function V2(e,t,r){let s=e.argTokens??[],i=(n,a)=>r(`@${e.name}: ${a}`,n.start);switch(t){case"none":{if(s.length)i(s[0],"takes no arguments");return null}case"target":{let n=s[0];if(!L1(n))r(`@${e.name} requires a target name — '@${e.name} User'`,(n??{start:e.start}).start);let a=!1,o=1;if(s[o]?.kind==="?"&&!s[o].spaced)a=!0,o++;let l=null;if(s[o]?.kind===","&&s[o+1]?.kind==="{")l=F2(s.slice(o+1),e.name,r),o=s.length;if(oL1(c)||rt(c),l=0;if(H1(s,0)){let c=H1(s,0);n.push(c.value),a.push(c),l=2}else if(o(s[0]))n.push(s[0].value),a.push(s[0]),l=1;else if(s[0]?.kind==="["||s[0]?.kind==="INDEX_START"){let c=1;l=1;let f=[];while(l0){let h=s[l];if(h.kind==="["||h.kind==="INDEX_START")c++;if(h.kind==="]"||h.kind==="INDEX_END"){if(c--,c===0){l++;break}}if(c>=1)f.push(h);l++}if(c!==0)i(s[0],"unclosed '[' in the column list");for(let h of Ie(f)){let u=H1(h,0),d=u??(o(h[0])?h[0]:null);if(!d||h.length>(u?2:1))i(h[u?2:1]??h[0]??s[0],`column names are bare identifiers or :symbols — '@${e.name} [:a, :b]'`);n.push(d.value),a.push(d)}}if(!n.length)r(`@${e.name} requires a field name or list — '@${e.name} :email' or '@${e.name} [:a, :b]'`,(s[0]??{start:e.start}).start);if(l1)i(s[1],`takes one table name — unexpected ${s[1].kind}`);if(o);else{if(/[A-Z]{2,}/.test(a))r(`@${e.name} ${a}: a bare name is a LOGICAL name that Rip snake_cases, and consecutive capitals convert surprisingly ('${a}' → '${se(a)}'). Spell it 'MdmUser'-style, or name the table exactly by quoting it: '@${e.name} "${a}"'`,n.start);a=se(a)}return[{name:a}]}case"field":{let n=s[0];if(!L1(n)&&!rt(n))r(`@${e.name} requires a property name — '@${e.name} patientId'`,(n??{start:e.start}).start);let a=1,o=null;if(s[a]?.kind===","&&s[a+1]?.kind==="{")o=fi(s.slice(a+1),li,`@${e.name}`,r),a=s.length;if(a0){let d=r[a].kind;if(d==="("||d==="PARAM_START"||d==="CALL_START")u++;if(d===")"||d==="PARAM_END"||d==="CALL_END"){if(u--,u===0){a++;break}}o.push(r[a]),a++}if(u!==0)i(`'${n}': unclosed '(' in parameters`,r[2].start)}let l=r[a],c=null,f=-1;if(l?.kind==="->"||l?.kind==="EFFECT"||l?.kind==="!>")c=l.kind==="EFFECT"?"~>":l.kind,f=a+1;else if(L1(l)||l?.kind==="STRING"||l?.kind==="NUMBER")i(`schema fields use 'name type' (space, no colon) — got '${n}:'; for methods/computed use 'name: -> body' or 'name: ~> body'`,r[1].start);else i(`schema top-level '${n}:' must be followed by '->' (method), '~>' (computed getter), or '!>' (eager derived)`,r[1].start);let h=c==="~>"?"computed":c==="!>"?"derived":e==="model"&&_2.has(n)?"hook":"method";if(o.length&&h!=="method")i(`'${n}': ${h==="computed"?"computed getters (~>)":h==="derived"?"eager-derived fields (!>)":"lifecycle hooks"} take no parameters — only methods do`,r[1].start);s.push({tag:h,name:n,paramTokens:o,bodyTokens:r.slice(f),start:t.start})}function W2(e,t,r){let s=e;if(!s.length)r("@ensure requires 'message, (x) -> body' or a '[…]' array of pairs",t.start);let i=s[0];if(i.kind==="["||i.kind==="INDEX_START"){let a=H2(s,i,r),o=G2(a);if(o.length===0)r("@ensure […] must contain at least one 'message, fn' pair",i.start);return jn(o,i,r)}let n=Ie(s);if(n.length<2)r("@ensure inline form must be 'message, (x) -> body' — did you forget the comma?",i.start);if(n.length>3||n.length===3&&!Gn(n[1]))r(`@ensure inline form takes 'message[, :field], fn' (got ${n.length} comma-separated parts) — use '@ensure […]' for multiple refinements`,i.start);return jn(n,i,r)}var Gn=(e)=>e&&e.length===2&&H1(e,0)!==null;function jn(e,t,r){let s=[],i=0;while(i=e.length)r(`@ensure: missing function after message${a?" and :field":""}`,(n[0]??t).start);s.push(K2(n,a,e[i++],t,r))}return s}function H2(e,t,r){let s=0,i=[];for(let n=0;n=2&&i[0].kind==="INDENT"&&i[i.length-1].kind==="OUTDENT"){let o=0,l=!1;for(let c=0;c=1)i.push(a)}r("@ensure: unclosed '['",t.start)}function G2(e){let t=[],r=[],s=0;for(let i of e){let n=i.kind;if(n==="("||n==="["||n==="{"||n==="CALL_START"||n==="INDEX_START"||n==="PARAM_START"||n==="INDENT")s++;if(n===")"||n==="]"||n==="}"||n==="CALL_END"||n==="INDEX_END"||n==="PARAM_END"||n==="OUTDENT")s--;if(s===0&&(n===","||n==="TERMINATOR")){if(r.length)t.push(r),r=[];continue}r.push(i)}if(r.length)t.push(r);return t}function K2(e,t,r,s,i){if(!e?.length)i("@ensure: missing message (expected a string literal)",s.start);if(e.length!==1||e[0].kind!=="STRING"||!e[0].value.startsWith('"'))i("@ensure: each refinement's first element must be a string literal message",(e[0]??s).start);let n=e[0],a=JSON.parse(n.value),o=t?H1(t,0):null,l=t?o.value:null,c=o?.start??null;if(!r?.length)i("@ensure: missing function after message",n.start);let f=r[0];if(f.kind!=="("&&f.kind!=="PARAM_START")i("@ensure: expected '(args) -> body' after the message — predicates declare their parameter explicitly ('(u) -> …')",f.start);let h=1,u=1,d=[];while(u0){let g=r[u].kind;if(g==="("||g==="PARAM_START")h++;if(g===")"||g==="PARAM_END"){if(h--,h===0){u++;break}}d.push(r[u]),u++}if(h!==0)i("@ensure: unclosed '(' in predicate parameters",f.start);let p=r[u];if(p?.kind!=="->")i("@ensure: expected '->' after predicate parameters",(p??n).start);let m=r.slice(u+1);if(!m.length)i("@ensure: predicate function body is empty",p.start);return{message:a,field:l,fieldStart:c,paramTokens:d,bodyTokens:m}}function Kn(e,t,r,s=null){if(!e.length)return[];let i=Y2(e,t,r,s);for(let n=i.length-1;n>=0&&i[n].type===null;n--)i[n].optional=!0;return i}function Y2(e,t,r,s){let i=(n)=>n.kind!=="TERMINATOR"&&n.kind!=="INDENT"&&n.kind!=="OUTDENT";return Ie(e).map((n)=>{let a=n.filter((f)=>i(f)&&f.kind!=="TYPE"),o=a.length>=3&&(a[0].kind==="IDENTIFIER"||a[0].kind==="PROPERTY")&&a[1].kind===":";if(!o&&(a.length!==1||a[0].kind!=="IDENTIFIER"))r(`${t}: parameters must be plain identifiers, optionally typed ('name' or 'name: Type')`,(a[0]??n[0]).start);let l=o?[...n].filter(i).pop():null,c=o&&s!==null?jt(s.slice(a[1].end,l.end)).trim():null;return{name:a[0].value,type:c,optional:!1}})}function z2(e,t,r){let s=e[0];if(!s)return;if(s.kind==="@"){let i=e[1];if(!i||i.value!=="on")r(`:union bodies accept only '@on :field' and constituent schema names — '@${i?.value??""}' is not allowed`,(i??s).start);let n=H1(e,2);if(!n)r("@on requires the discriminator field as a symbol — '@on :kind'",(e[2]??i).start);if(e.length>4)r("@on takes exactly one :field symbol",e[4].start);t.push({tag:"directive",name:"on",args:[{field:n.value}],start:s.start});return}if(s.kind==="IDENTIFIER"&&e.length===1){t.push({tag:"union-member",name:s.value,start:s.start});return}r(`:union bodies accept only '@on :field' and bare constituent schema names (one per line) — got ${s.kind}${e.length>1?" followed by "+e[1].kind:""}`,s.start)}function q2(e,t,r){let s=e[0];if(!s)return;if(s.kind==="@")r(`:enum schemas don't accept '@${e[1]?.value??"directive"}' — enums hold only :symbol members`,s.start);let i=H1(e,0);if(!i)r(`enum member must be a :symbol — use ':${s.value??"name"}' for a bare member or ':${s.value??"name"} value' for a valued one`,s.start);let n=i.value,a=e[2];if(!a){t.push({tag:"enum-member",name:n,value:void 0,start:s.start});return}if(a.kind===":")r(`enum member ':${n}' — drop the ':' before the value; use ':${n} value'`,a.start);if(e.length>3&&!(e.length===4&&a.kind==="-"&&e[3].kind==="NUMBER"))r(`extra tokens after enum member ':${n}' value`,e[3].start);let o=a.kind==="-"&&e[3]?.kind==="NUMBER"?-Number(e[3].value):Yn(a,`enum member ':${n}' value`,r);t.push({tag:"enum-member",name:n,value:o,start:s.start})}function X2(e){return e.some((t)=>t.kind==="..")&&e.every((t)=>t.kind===".."||t.kind==="NUMBER"||t.kind==="-")}function J2(e,t,r){let s=0,i=()=>{let l=1;if(e[s]?.kind==="-")l=-1,s++;let c=e[s++];if(c?.kind!=="NUMBER")r("range endpoints must be numeric literals",(c??e[0]).start);return l*Number(c.value)},n;if(e[s]?.kind!=="..")n=i();s++;let a;if(sa)r(`range '${n}..${a}' is reversed — write the smaller endpoint first`,e[0].start);let o={};if(n!==void 0)o.min=n;if(a!==void 0)o.max=a;return o}function Z2(e,t,r,s={}){let i=e.slice(1,-1);if(i.length)s.start=i[0].start,s.end=i[i.length-1].end;let n=Ie(i);if(n.length!==1)r(n.length===2?"size/value ranges use 'min..max' syntax, not brackets — replace the bracket pair with a range":`the constraint bracket takes a single default value (got ${n.length} elements)`,e[0].start);let a=n[0];if(a.length===1&&a[0].kind==="REGEX")r(`regex constraints are written bare, not in brackets — replace '[${a[0].value}]' with '${a[0].value}'`,e[0].start);if(a.length===2&&a[0].kind==="-"&&a[1].kind==="NUMBER")return-Number(a[1].value);let o=H1(a,0);if(o&&a.length===2)return o.value;if(a.length!==1)r(`default values must be literals (number, string, boolean, null, :symbol) — field '${t}'`,a[0].start);return Yn(a[0],`field '${t}' default`,r)}function Q2(e,t){let r=/^\/((?:\\.|[^\\/])+)\/([a-z]*)$/.exec(e.value);if(!r)t(`invalid regex literal ${JSON.stringify(e.value)}`,e.start);try{return new RegExp(r[1],r[2])}catch(s){t(`invalid regex '${e.value}': ${s.message}`,e.start)}}function Yn(e,t,r){switch(e.kind){case"NUMBER":return Number(e.value);case"STRING":if(!e.value.startsWith('"'))r(`${t} must be a plain string literal (heredocs have no literal key form)`,e.start);return JSON.parse(e.value);case"BOOL":return e.value==="true";case"NULL":return null;case"UNDEFINED":return;default:r(`${t} must be a literal (number, string, boolean, null) — got ${e.kind}`,e.start)}}function Ie(e){let t=[],r=[],s=0;for(let i of e){let n=i.kind;if(n==="("||n==="["||n==="{"||n==="CALL_START"||n==="INDEX_START"||n==="PARAM_START"||n==="INDENT")s++;if(n===")"||n==="]"||n==="}"||n==="CALL_END"||n==="INDEX_END"||n==="PARAM_END"||n==="OUTDENT")s--;if(n===","&&s===0){if(r.length)t.push(r);r=[];continue}r.push(i)}if(r.length)t.push(r);return t}function el(e){let t=0;for(let r=0;r")return r}return-1}function zn(e,t,r,s=null,i=null,n=!1,a=null,o=null){let l=[],c=(u)=>{if(l.length&&typeof l[l.length-1]==="string")l[l.length-1]+=u;else l.push(u)},f=(u,d=null)=>l.push({ts:u,span:d}),h=(u)=>l.push({body:u});if(c(`{kind: ${JSON.stringify(e.kind)}`),t)c(`, name: ${JSON.stringify(t)}`);if(c(", entries: ["),e.entries.forEach((u,d)=>{if(d>0)c(", ");rl(u,r.get(d),i?.get(d)??null,c,f,n,a?.get(d)??null,o?.get(d)??null,h)}),c("]"),s)c(", adapter: "),h(s);return c("}"),l}var Ue=(e)=>typeof e==="string"?e:e.code;function qn(e,t,r,s){let i=[];return e.entries.forEach((n,a)=>{if(n.tag!=="derived"&&n.tag!=="computed"&&n.tag!=="method")return;let o=r.get(a);if(o===void 0)return;let l=s?.get(a)??null,c=Ue(o);for(let[f,h]of Xn(o,l).reverse())c=c.slice(0,f)+h+c.slice(f);i.push(`${n.name}: ${c}`)}),i.length?`const ${O2(t)} = {${i.join(", ")}};`:null}function Xn(e,t,r=!0){if(typeof e==="string")return[];let s=r?(e.annots??[]).map(([i,n])=>[i,n]):[];if(t!==null){let{code:i,thisAt:n}=e;s.push([n,`this: ${t}${i[n]===")"?"":", "}`])}return s.sort((i,n)=>i[0]-n[0])}function tl(e,t,r,s,i=!1){let n=Xn(e,t,i);if(n.length===0){r(Ue(e));return}let{code:a}=e,o=0;for(let[l,c]of n)r(a.slice(o,l)),s(c),o=l;r(a.slice(o))}function rl(e,t,r,s,i,n=!1,a=null,o=null,l=s){switch(e.tag){case"computed":case"method":case"derived":case"hook":case"scope":case"defaultScope":s(`{tag: ${JSON.stringify(e.tag)}, name: ${JSON.stringify(e.name)}, fn: `),tl(t,r,l,i,n),s("}");return;default:let c={},f=il(e,t,c),h=[];if(n&&a!==null&&c.defaultEnd!==void 0)h.push({at:c.defaultEnd,ts:` satisfies ${a}`,span:e.defaultSpan??null});if(n&&e.tag==="field"&&t!==void 0&&typeof t!=="string"&&Ue(t).startsWith("it",t.thisAt)){let d=Ue(t);h.push({at:f.length-1-d.length+t.thisAt+2,ts:": any"})}if(n&&e.tag==="ensure"&&o!==null&&c.fnAt!==void 0&&typeof t!=="string"&&t!==void 0){let d=/^[A-Za-z_$][\w$]*/.exec(Ue(t).slice(t.thisAt))?.[0];if(d)h.push({at:c.fnAt+t.thisAt+d.length,ts:`: ${o}`})}let u=0;for(let d of h)s(f.slice(u,d.at)),i(d.ts,d.span??null),u=d.at;s(f.slice(u))}}function il(e,t,r={}){if(t!==void 0)t=Ue(t);switch(e.tag){case"field":{let s=['tag: "field"',`name: ${JSON.stringify(e.name)}`,`modifiers: ${JSON.stringify(e.modifiers)}`,`typeName: ${JSON.stringify(e.typeName)}`,`array: ${e.array?"true":"false"}`];if(e.unique)s.push("unique: true");if(e.primary)s.push("primary: true");if(e.literals)s.push(`literals: ${JSON.stringify(e.literals)}`);if(e.coerce){if(s.push("coerce: true"),e.coercer)s.push(`coercer: ${JSON.stringify(e.coercer)}`)}if(e.constraints){let i=[];if(e.constraints.min!==void 0)i.push(`min: ${Ft(e.constraints.min)}`);if(e.constraints.max!==void 0)i.push(`max: ${Ft(e.constraints.max)}`);let n=-1;if(e.constraints.default!==void 0)n=i.length,i.push(`default: ${Ft(e.constraints.default)}`);if(e.constraints.regex!==void 0)i.push(`regex: ${e.constraints.regex.toString()}`);if(i.length){if(n>=0){let a=`{${s.join(", ")}, constraints: {`;r.defaultEnd=a.length+i.slice(0,n+1).join(", ").length}s.push(`constraints: {${i.join(", ")}}`)}}if(e.attrs)s.push(`attrs: {${Object.keys(e.attrs).sort().map((i)=>`${i}: ${Ft(e.attrs[i])}`).join(", ")}}`);if(t)s.push(`transform: ${t}`);return`{${s.join(", ")}}`}case"directive":{let s=['tag: "directive"',`name: ${JSON.stringify(e.name)}`];if(e.args){if(e.name==="mixin"||xn.includes(e.name)){let i=e.args[0];s.push(`args: [{target: ${JSON.stringify(i.target)}${i.optional?", optional: true":""}${i.as?`, as: ${JSON.stringify(i.as)}`:""}${i.foreignKey?`, foreignKey: ${JSON.stringify(i.foreignKey)}`:""}${i.through?`, through: ${JSON.stringify(i.through)}`:""}${i.targetKey?`, targetKey: ${JSON.stringify(i.targetKey)}`:""}}]`)}else if(e.name==="primary")s.push(`args: [{name: ${JSON.stringify(e.args[0].name)}${e.args[0].column?`, column: ${JSON.stringify(e.args[0].column)}`:""}}]`);else if(e.name==="on")s.push(`args: [{field: ${JSON.stringify(e.args[0].field)}}]`);else if(e.name==="unique"||e.name==="index")s.push(`args: [{fields: ${JSON.stringify(e.args[0].fields)}}]`);else if(e.name==="idStart")s.push(`args: [{value: ${e.args[0].value}}]`);else if(e.name==="table"||e.name==="tableWas")s.push(`args: [{name: ${JSON.stringify(e.args[0].name)}}]`)}return`{${s.join(", ")}}`}case"ensure":{let s=['tag: "ensure"',`message: ${JSON.stringify(e.message)}`];r.fnAt=`{${s.join(", ")}, fn: `.length;let i=[...s,`fn: ${t}`];if(e.field)i.push(`field: ${JSON.stringify(e.field)}`);if(e.async)i.push("async: true");return`{${i.join(", ")}}`}case"enum-member":{let s=['tag: "enum-member"',`name: ${JSON.stringify(e.name)}`];if(e.value!==void 0)s.push(`value: ${JSON.stringify(e.value)}`);return`{${s.join(", ")}}`}case"union-member":return`{tag: "union-member", name: ${JSON.stringify(e.name)}}`;default:throw Error(`schema: unknown entry tag '${e.tag}'`)}}function Ft(e){if(e===null)return"null";if(e===void 0)return"undefined";if(typeof e==="string")return JSON.stringify(e);return String(e)}var nl=new Set(["pick","omit","partial","required","extend"]);function W1(e){return e&&e.valueOf?e.valueOf():e}function Jn(e){return e.entries.some((t)=>t.tag==="directive"&&t.name==="mixin")}function sl(e){return ni(e.foreignKey??si(e.as??e.target))}function al(e){if(Jn(e))return null;let t=new Map;for(let a of e.entries)if(a.tag==="field")t.set(a.name,a);if(e.kind!=="model")return t;let r=(a,o,l)=>{if(!t.has(a))t.set(a,{tag:"field",name:a,modifiers:l?["!"]:["?"],typeName:o,array:!1})},s=!1,i=!1,n=[];for(let a of e.entries){if(a.tag!=="directive")continue;if(a.name==="times")s=!0;else if(a.name==="softDelete")i=!0;else if(a.name==="belongsTo"){let o=a.args&&a.args[0];if(o&&o.target)n.push({fk:sl(o),required:o.optional!==!0})}}if(r("id","integer",!0),s)r("createdAt","datetime",!0),r("updatedAt","datetime",!0);if(i)r("deletedAt","datetime",!1);for(let{fk:a,required:o}of n)r(a,"integer",o);return t}function ol(e){if(Jn(e))return null;let t=new Map;for(let r of e.entries)if(r.tag==="field")t.set(r.name,r);return t}function Fn(e,t){let r=e.modifiers.filter((i)=>i!==(t==="partial"?"!":"?")),s=t==="partial"?"?":"!";if(!r.includes(s))r=[...r,s];return{...e,modifiers:r}}function ll(e,t,r){switch(t.method){case"pick":{let s=new Map;for(let i of t.keys){if(!e.has(i))return null;s.set(i,e.get(i))}return s}case"omit":{let s=new Set(t.keys),i=new Map;for(let[n,a]of e)if(!s.has(n))i.set(n,a);return i}case"partial":{let s=new Map;for(let[i,n]of e)s.set(i,Fn(n,"partial"));return s}case"required":{let s=new Set(t.keys),i=new Map;for(let[n,a]of e)i.set(n,s.has(n)?Fn(a,"required"):a);return i}case"extend":{let s=t.otherDescriptor||r.get(t.otherName);if(!s)return null;let i=ol(s);if(!i)return null;let n=new Map(e);for(let[a,o]of i){if(n.has(a))return null;n.set(a,o)}return n}default:return null}}function cl(e,t,r){let s=al(e);if(!s)return null;for(let i of t)if(s=ll(s,i,r),!s)return null;return{kind:"shape",entries:[...s.values()]}}function fl(e){let t=[],r=e;while(!0){if(!Array.isArray(r))return null;let s=r[0];if(!Array.isArray(s))return null;if(W1(s[0])!==".")return null;let i=W1(s[2]);if(!nl.has(i))return null;let n=r.slice(1),a;if(i==="partial"){if(n.length)return null;a={method:i}}else if(i==="extend"){if(n.length!==1)return null;let c=n[0];if(Array.isArray(c)){let f=W1(c[0])==="schema"&&c.length===2&&c[1]&&typeof c[1]==="object"&&Array.isArray(c[1].entries)?c[1]:null;if(!f||f.kind!=="shape"&&f.kind!=="input")return null;a={method:i,otherDescriptor:f}}else{let f=W1(c);if(typeof f!=="string"||!/^[A-Za-z_$][\w$]*$/.test(f))return null;a={method:i,otherName:f}}}else{let c=hl(n);if(!c||!c.length)return null;a={method:i,keys:c}}t.unshift(a);let o=s[1];if(Array.isArray(o)){r=o;continue}let l=W1(o);if(typeof l!=="string")return null;return{base:l,ops:t}}}function hl(e){let t=[];for(let r of e)if(Array.isArray(r)){if(W1(r[0])!=="array")return null;for(let s=1;s{r[2]=["schema",t]})}var Bt=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","menu","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","script","search","section","select","slot","small","source","span","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"]),Ve=new Set(["a","animate","animateMotion","animateTransform","circle","clipPath","defs","desc","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","foreignObject","g","image","line","linearGradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","svg","switch","symbol","text","textPath","title","tspan","use","view"]),$e=new Set([...Bt,...Ve]),hi=new Set([...Ve].filter((e)=>!Bt.has(e))),Ut=new Set(["abort","animationcancel","animationend","animationiteration","animationstart","auxclick","beforeinput","beforematch","beforetoggle","blur","cancel","canplay","canplaythrough","change","click","close","command","compositionend","compositionstart","compositionupdate","contextlost","contextmenu","contextrestored","copy","cuechange","cut","dblclick","drag","dragend","dragenter","dragleave","dragover","dragstart","drop","durationchange","emptied","ended","error","focus","focusin","focusout","formdata","fullscreenchange","fullscreenerror","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadeddata","loadedmetadata","loadstart","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","paste","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointermove","pointerout","pointerover","pointerrawupdate","pointerup","progress","ratechange","reset","resize","scroll","scrollend","securitypolicyviolation","seeked","seeking","select","selectionchange","selectstart","slotchange","stalled","submit","suspend","timeupdate","toggle","touchcancel","touchend","touchmove","touchstart","transitioncancel","transitionend","transitionrun","transitionstart","volumechange","waiting","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend","wheel"]),Qn=new Set(["disabled","hidden","readonly","required","checked","selected","autofocus","autoplay","controls","loop","muted","multiple","novalidate","open","reversed","defer","async","formnovalidate","allowfullscreen","inert","ismap","nomodule","playsinline","default","itemscope","alpha","shadowrootdelegatesfocus","shadowrootclonable","shadowrootserializable"]),De=new Set(["accesskey","autocapitalize","autocorrect","autofocus","class","contenteditable","dir","draggable","enterkeyhint","hidden","id","inert","inputmode","is","itemid","itemprop","itemref","itemscope","itemtype","lang","nonce","popover","role","slot","spellcheck","style","tabindex","title","translate","writingsuggestions"]),it={__proto__:null,a:["href","target","download","ping","rel","hreflang","type","referrerpolicy"],area:["alt","coords","shape","href","target","download","ping","rel","referrerpolicy"],audio:["src","crossorigin","preload","autoplay","loop","muted","controls"],base:["href","target"],blockquote:["cite"],button:["command","commandfor","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","name","popovertarget","popovertargetaction","type","value"],canvas:["width","height"],col:["span"],colgroup:["span"],data:["value"],del:["cite","datetime"],details:["name","open"],dialog:["open","closedby"],embed:["src","type","width","height"],fieldset:["disabled","form","name"],form:["accept-charset","action","autocomplete","enctype","method","name","novalidate","rel","target"],iframe:["src","srcdoc","name","sandbox","allow","allowfullscreen","width","height","referrerpolicy","loading"],img:["alt","src","srcset","sizes","crossorigin","usemap","ismap","width","height","referrerpolicy","decoding","loading","fetchpriority"],input:["accept","alpha","alt","autocomplete","checked","colorspace","dirname","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","height","list","max","maxlength","min","minlength","multiple","name","pattern","placeholder","popovertarget","popovertargetaction","readonly","required","size","src","step","type","value","width"],ins:["cite","datetime"],label:["for"],li:["value"],link:["href","crossorigin","rel","media","integrity","hreflang","type","referrerpolicy","sizes","imagesrcset","imagesizes","as","blocking","disabled","fetchpriority"],map:["name"],meta:["name","http-equiv","content","charset","media"],meter:["value","min","max","low","high","optimum"],object:["data","type","name","form","width","height"],ol:["reversed","start","type"],optgroup:["disabled","label"],option:["disabled","label","selected","value"],output:["for","form","name"],progress:["value","max"],q:["cite"],script:["src","type","nomodule","async","defer","crossorigin","integrity","referrerpolicy","blocking","fetchpriority"],select:["autocomplete","disabled","form","multiple","name","required","size"],slot:["name"],source:["type","media","src","srcset","sizes","width","height"],style:["media","blocking"],table:["align","bgcolor","border","cellpadding","cellspacing","width"],tbody:["align","valign"],td:["colspan","rowspan","headers","align","bgcolor","height","nowrap","valign","width"],template:["shadowrootmode","shadowrootdelegatesfocus","shadowrootclonable","shadowrootserializable"],tfoot:["align","valign"],textarea:["autocomplete","cols","dirname","disabled","form","maxlength","minlength","name","placeholder","readonly","required","rows","wrap"],th:["colspan","rowspan","headers","scope","abbr","align","bgcolor","height","nowrap","valign","width"],thead:["align","valign"],time:["datetime"],tr:["align","bgcolor","valign"],track:["default","kind","label","src","srclang"],video:["src","crossorigin","poster","preload","autoplay","playsinline","loop","muted","controls","width","height"]};for(let e in it)it[e]=new Set(it[e]);var nt=new Set(["id","class","style","lang","tabindex","href","pathLength","crossorigin","transform","viewBox","preserveAspectRatio","xmlns","x","y","x1","y1","x2","y2","cx","cy","r","rx","ry","width","height","d","points","dx","dy","rotate","fill","fill-opacity","fill-rule","stroke","stroke-width","stroke-linecap","stroke-linejoin","stroke-dasharray","stroke-dashoffset","stroke-opacity","stroke-miterlimit","opacity","clip-path","clip-rule","mask","filter","color","display","visibility","pointer-events","vector-effect","dominant-baseline","text-anchor","font-family","font-size","font-weight","font-style","letter-spacing","offset","stop-color","stop-opacity","gradientUnits","gradientTransform","spreadMethod","patternUnits","patternContentUnits","patternTransform","markerWidth","markerHeight","refX","refY","orient","markerUnits","maskUnits","maskContentUnits","clipPathUnits","filterUnits","primitiveUnits","in","in2","result","stdDeviation","values","type","mode","operator","radius","scale","baseFrequency","numOctaves","seed","dur","repeatCount","begin","end","from","to","attributeName","keyTimes","keySplines","calcMode","restart","min","max"]);function ui(e){let t=String(e).toLowerCase(),r=new Set(De),s=it[t];if(s)for(let i of s)r.add(i);if(Ve.has(String(e)))for(let i of nt)r.add(i);return[...r]}function dl(e,t){if(Math.abs(e.length-t.length)>2)return 3;let r=Array.from({length:t.length+1},(s,i)=>i);for(let s=1;s<=e.length;s++){let i=[s];for(let n=1;n<=t.length;n++)i[n]=Math.min(r[n]+1,i[n-1]+1,r[n-1]+(e[s-1]===t[n-1]?0:1));r=i}return r[t.length]}function es(e,t){let r=ui(e),s=String(t).toLowerCase(),i=r.find((l)=>l.toLowerCase()===s);if(i!==void 0&&i!==t)return i;if(String(t).length<3)return null;let n=null,a=3,o=!1;for(let l of r){if(l===String(t))continue;let c=dl(String(t),l);if(c=e.length)return null;if(!j1.test(e[t]))return null;let r=t+1;while(r$e.has(String(e).split("#")[0]),K1=(e)=>typeof e==="string"&&ml.test(e),mi=(e)=>Sl(e)||K1(e);function Vt(e){if(!Array.isArray(e)||e[0]!=="."||e.length!==3||typeof e[2]!=="string")return null;let t=[e[2]],r=e[1];while(Array.isArray(r)){if(r[0]!=="."||r.length!==3||typeof r[2]!=="string")return null;t.push(r[2]),r=r[1]}if(typeof r!=="string"||r==="this"||!Z1(r))return null;return t.push(r),t.reverse().join(".")}var pi=(e)=>Array.isArray(e)&&K1(e[2])?Vt(e):null,Wt=(e)=>e.split(".")[0];function ss(e,t,r){let s=!1;for(let G of e)if(G.kind==="RENDER"){s=!0;break}if(!s)return e;let i=[],n=(G,k,v,j={})=>{let{at:X,...x}=j,Z=X??v.end;return{id:t(),kind:G,value:k,start:Z,end:Z,spaced:!1,newLine:!1,generated:!0,origin:v.id,...x}},a=!1,o=0,l=0,c=[],f=[],h=[],u=(G,k,v)=>k{let x=1,Z=k;while(Z>=0&&x>0){if(J.on)J.n++;let U=u(G,Z,X)?.kind;if(U===v)x++;else if(U===j)x--;if(x>0)Z--}return Z},p=(G)=>{let k=i.length;while(k>0&&u(i,k,G)?.kind==="OUTDENT")k=d(i,k-1,"OUTDENT","INDENT",G);while(k>0){if(J.on)J.n++;let j=i[k-1].kind;if(j==="TERMINATOR"||j==="RENDER")break;if(j==="OUTDENT"){k=d(i,k-2,"OUTDENT","INDENT",G);continue}if(j==="INDENT"){let X=u(i,k,G)?.kind;if(X==="CALL_END"||X===")"){k=d(i,k-1,X,X==="CALL_END"?"CALL_START":"(",G);continue}break}if(j==="CALL_END"||j===")"){k=d(i,k-2,j,j==="CALL_END"?"CALL_START":"(",G);continue}if(j==="INTERPOLATION_END"){k=d(i,k-2,"INTERPOLATION_END","INTERPOLATION_START",G);continue}if(j==="STRING_END"){k=d(i,k-2,"STRING_END","STRING_START",G);continue}k--}let v=u(i,k,G);return v?.kind==="IDENTIFIER"&&(mi(v.value)||(k===0||["INDENT","TERMINATOR","RENDER"].includes(i[k-1]?.kind)))},m=()=>{let G=0;for(let k=i.length-1;k>=0;k--){if(J.on)J.n++;let v=i[k].kind;if(is.has(v))G++;else if(rs.has(v)){if(G===0)return 1;G--}else if(v==="TERMINATOR"||v==="RENDER"||v==="INDENT"||v==="OUTDENT")break}return 0},g=(G)=>{let k=i[i.length-1];if(!k)return!1;if(m()!==0)return!1;let v=k.kind;if((v===","||v==="IDENTIFIER"||v==="PROPERTY")&&p(G))return!0;if((v==="INDENT"||v==="TERMINATOR")&&f.includes(l))return!0;return!1},b=(G)=>{let k=1;for(let v=G+1;v0;v++){if(J.on)J.n++;let j=e[v].kind;if(j==="("||j==="CALL_START")k++;else if(j===")"){if(k--,k===0)e[v].kind="CALL_END"}else if(j==="CALL_END")k--}},S=(G)=>{let k=1;for(let v=i.length-1;v>=0&&k>0;v--){if(J.on)J.n++;if(i[v].kind==="CALL_END")k++;else if(i[v].kind==="CALL_START"){if(k--,k===0&&v>0&&i[v-1].kind==="PROPERTY"&&i[v-1].value==="__clsx")return!0}}return!1},w=(G)=>{while(h.length>0){let k=h[h.length-1];if(G.kind==="INDENT"||rs.has(G.kind)){k.depth++;return}if(G.kind==="OUTDENT"||is.has(G.kind)){if(k.depth===0){i.push(n("CALL_END",")",i[i.length-1]??G)),h.pop();continue}k.depth--;return}if(G.kind==="TERMINATOR"&&k.depth===0){i.push(n("CALL_END",")",i[i.length-1]??G)),h.pop();continue}return}},R=(G)=>G===0||st.has(e[G-1].kind),T=(G,k)=>{let v=e[G+1]?.kind==="TYPE"?e[G+2]:e[G+1];return v!==void 0&&k.has(v.kind)},F=new Set;for(let G=0,k=0;G{let k=new Set,v=G+1;while(vN.some((k)=>k.names.has(G))||P.length>0&&P[P.length-1].names.has(G)||F.has(G);for(let G=0;G0)w(k);if(!st.has(k.kind)&&R(G))O=k.kind;if(k.kind==="COMPONENT")P.push({level:l+1,names:L(G)});if(k.kind==="RENDER"){a=!0,o=l+1,N.push({level:o,names:new Set}),i.push(k);continue}if(k.kind==="INDENT"){if(l++,a){let j=e[G-1]?.kind;if(j==="->"||j==="=>")D.push(l);else if(D.length===0&&bl.has(O))N.push({level:l,names:new Set(O==="FOR"?W??[]:[])})}W=null,i.push(k);continue}if(k.kind==="OUTDENT"){l--;for(let j of[P,N])while(j.length>0&&j[j.length-1].level>l)j.pop();while(D.length>0&&D[D.length-1]>l)D.pop();while(f.length>0&&f[f.length-1]>l)f.pop();i.push(k);while(c.length>0&&c[c.length-1]>l)i.push(n("CALL_END",")",k)),c.pop();if(a&&l0){let j=i[i.length-1].kind;if(j==="TERMINATOR"||j==="INDENT"||j==="RENDER"){i.push(n("IDENTIFIER","__text__",k,{at:k.start,spaced:k.spaced,newLine:k.newLine})),i.push(n("CALL_START","(",k,{at:k.start})),h.push({depth:0});continue}}if(k.kind==="UNARY_MATH"&&k.value==="~"&&v?.kind==="IDENTIFIER"){i.push(n("PROPERTY","__transition__",k,{spaced:k.spaced,newLine:k.newLine})),i.push(n(":",":",k)),v.kind="STRING",v.value=`"${v.value}"`,v.transitionValue=!0;continue}if(k.transitionValue&&v!==null&&ns.has(v.kind)){i.push(k),i.push(n(",",",",k,{at:v.start}));continue}if(k.kind==="BIND"){let j=i[i.length-1];if(j!==void 0&&(j.kind==="IDENTIFIER"||j.kind==="PROPERTY")&&v!==null&&(v.kind==="IDENTIFIER"||v.kind==="@")){j.value=`__bind_${j.value}__`,i.push(n(":",":",k));continue}}if(k.kind==="IDENTIFIER"&&v?.kind==="-"&&!v.spaced){let j=[k.value],X=G+1,x=k.end;while(X+11&&e[X-1].kind==="PROPERTY"){let Z=j.join("-");i.push({...k,kind:"STRING",value:`"${Z}"`,end:x}),G=X-1;continue}}if(k.kind==="."){let j=i[i.length-1]?.kind;if(j==="INDENT"||j==="TERMINATOR"||j==="RENDER"){if(v?.kind==="PROPERTY"){let X=e[G+2];if(!X||X.kind!==":"){i.push(n("IDENTIFIER","div",k,{spaced:k.spaced,newLine:k.newLine})),i.push(k);continue}k={...k,kind:"IDENTIFIER",value:"div"}}else if(!v||v.kind!=="(")k={...k,kind:"IDENTIFIER",value:"div"}}}if(k.kind==="."&&v?.kind==="("){let j=i[i.length-1]?.kind,X=j==="INDENT"||j==="TERMINATOR"||j==="RENDER";if(v.kind="CALL_START",b(G+1),X)i.push(n("IDENTIFIER","div",k,{spaced:k.spaced,newLine:k.newLine})),i.push(k),i.push(n("PROPERTY","__clsx",k));else if(j===":")i.push(n("IDENTIFIER","__clsx",k,{spaced:k.spaced,newLine:k.newLine}));else i.push(k),i.push(n("PROPERTY","__clsx",k));continue}if(k.kind==="@"&&v?.kind==="PROPERTY"&&!v.spaced){let j=e[G+2],X=j?.kind===".",x=j?.kind===":";if(!X&&!x&&g(k)){let Z=String(v.value),U=`on${Z[0].toUpperCase()}${Z.slice(1)}`;if(j?.kind==="=")r(`a \`=\` cannot follow a bare event directive on one line — \`@${Z} = expr\` would assign to the minted handler and invoke the assignment as the listener; bind explicitly (\`@${Z}: handler\`), or keep the bare \`@${Z}\` and put the text on its own \`= expr\` line`,j.start);if(i.push(k),i.push(v),i.push(n(":",":",v)),i.push(n("@","@",v)),i.push(n("PROPERTY",U,v)),G++,e[G+1]?.kind==="INDENT")i.push(n(",",",",v,{at:e[G+1].start})),i.push(n("->","->",v,{at:e[G+1].start,newLine:!0})),f.push(l+1);else if(e[G+1]!==void 0&&ns.has(e[G+1].kind))i.push(n(",",",",v,{at:e[G+1].start}));continue}}if(v?.kind==="INDENT"&&k.kind!=="->"&&k.kind!=="=>"&&k.kind!=="CALL_START"&&k.kind!=="("){let j=i[i.length-1]?.kind,X=["IF","UNLESS","WHILE","UNTIL","WHEN","FORIN","FOROF","FORAS","FORASAWAIT","BY"].includes(j),x=k.kind==="IDENTIFIER"&&(j==="INDENT"||j==="TERMINATOR"||j==="RENDER"),Z=k.kind==="IDENTIFIER"&&mi(k.value)&&(x||!H(k.value)),U=!1,r1=!1;if(k.kind==="CALL_END")r1=S(k);if(r1)U=!0;else if(Z&&!X)U=!0;else if(k.kind==="IDENTIFIER"&&!X)U=x||p(k);else if(["PROPERTY","STRING","STRING_END","NUMBER","BOOL","CALL_END",")","]","INDEX_END","}","MAYBE_DAMMIT"].includes(k.kind))U=p(k);if(U){let Q=!1;if(k.kind==="PROPERTY"&&i[i.length-1]?.kind==="."){let I=i.length;while(I>=2&&i[I-1].kind==="."&&i[I-2].kind==="PROPERTY")I-=2;if(I>=2&&i[I-1].kind==="."&&i[I-2].kind==="IDENTIFIER"&&(mi(i[I-2].value)||K1(k.value))){let s1=i[I-3]?.kind??null;if(s1===null||["INDENT","OUTDENT","TERMINATOR","RENDER"].includes(s1))Q=!0}}let l1=r1||Z||x||Q;if(i.push(k),l1)i.push(n("CALL_START","(",k,{at:v.start})),i.push(n("->","->",k,{at:v.start,newLine:!0})),c.push(l+1);else i.push(n(",",",",k,{at:v.start})),i.push(n("->","->",k,{at:v.start,newLine:!0}));f.push(l+1);continue}}if(k.kind==="IDENTIFIER"&&K1(k.value)&&(v?.kind==="OUTDENT"||v?.kind==="TERMINATOR")){i.push(k),i.push(n("CALL_START","(",k)),i.push(n("CALL_END",")",k));continue}i.push(k)}e.length=i.length;for(let G=0;G=0;a--){if(J.on)J.n++;if(n>=0&&(i<0||s[n].at>i))e[a]=s[n--].token;else e[a]=e[i--]}return e}var Rl=new Set(["IF","UNLESS","WHILE","UNTIL","WHEN","LEADING_WHEN","CATCH","FOR","LOOP","CLASS"]),El=new Set(["(","[","{","PICK_START","OPTPICK_START","CALL_START","INDEX_START","PARAM_START","STRING_START","INTERPOLATION_START","HEREGEX_START"]),kl=new Set([")","]","}","PICK_END","CALL_END","INDEX_END","PARAM_END","STRING_END","INTERPOLATION_END","HEREGEX_END"]);function Tl(e,t){let r=0;for(let s=t-1;s>=0;s--){if(J.on)J.n++;let i=e[s].kind;if(kl.has(i)||i==="OUTDENT"){r++;continue}if(El.has(i)||i==="INDENT"){if(r===0)return!1;r--;continue}if(r>0)continue;if(Rl.has(i))return!0;if(i==="TERMINATOR")return!1}return!1}function wl(e,t){let r=new Set(["(","[","{","PICK_START","OPTPICK_START","CALL_START","INDEX_START","PARAM_START","STRING_START","INTERPOLATION_START","HEREGEX_START"]),s=new Set([")","]","}","PICK_END","CALL_END","INDEX_END","PARAM_END","STRING_END","INTERPOLATION_END","HEREGEX_END"]),i=[],n=[],a=(p,m)=>{let g=0;for(let b=m-1;b>=p;b--){if(J.on)J.n++;let S=e[b].kind;if(s.has(S)||S==="OUTDENT"){g++;continue}if(r.has(S)||S==="INDENT"){if(S==="INDENT")return!1;if(g--,g<0)return!1;continue}if(g>0)continue;if(Gt(e,b))return!0}return!1},o=(p,m)=>{let g=0;for(let b=m-1;b>=p;b--){if(J.on)J.n++;let S=e[b].kind;if(s.has(S)||S==="OUTDENT"){g++;continue}if(r.has(S)||S==="INDENT"){if(g--,g<0)return!1;continue}if(g>0)continue;if(S===":"&&e[b-1]?.kind==="PROPERTY")return fs(e,m+1);if(S==="TERMINATOR")return!1}return!1},l=new Set(["IF","UNLESS","TRY","CATCH","FINALLY","SWITCH","FOR","CLASS"]),c=(p)=>{let m=0,g=0,b=0;for(let S=p;S({id:t(),kind:p,value:p,start:m,end:m,spaced:!1,newLine:!1,generated:!0,origin:g}),h=(p)=>{let m=c(p),g=null;for(let R=p;R=p;R--){if(J.on)J.n++;if(!e[R].generated){b=e[R];break}}let S=null;for(let R=m;R{while(n.length&&n[n.length-1].end===p){let m=n.pop();i.push({at:p,token:f("OUTDENT",m.closeAt,m.afterId)}),u=p}};for(let p=0;p"||m.kind==="=>")&&e[p+1]&&e[p+1].kind!=="INDENT"){let g=h(p+1);i.push({at:p+1,token:f("INDENT",g.openAt,g.firstReal?g.firstReal.id:null)}),n.push(g)}else if(m.kind==="THEN"&&Tl(e,p)){let g=h(p+1);m.kind="INDENT",m.value="INDENT",m.generated=!0,m.start=m.end=g.firstReal?g.firstReal.start:m.end,m.origin=g.firstReal?g.firstReal.id:null,n.push(g)}else if(m.kind==="ELSE"&&e[p+1]&&e[p+1].kind!=="INDENT"&&e[p+1].kind!=="IF"&&(u===p||e[p-1]?.kind==="OUTDENT")){let g=h(p+1);i.push({at:p+1,token:f("INDENT",g.openAt,g.firstReal?g.firstReal.id:null)}),n.push(g)}}return d(e.length),i}var Ht=new Set(["IDENTIFIER","PROPERTY","SUPER",")","CALL_END","]","INDEX_END","@","THIS","DAMMIT","?","MAYBE_DAMMIT"]),as=new Set(["IDENTIFIER","PROPERTY","NUMBER","STRING","STRING_START","REGEX","HEREGEX_START","SYMBOL","MAP_START","PARAM_START","IF","TRY","SWITCH","CLASS","THIS","SUPER","UNDEFINED","NULL","BOOL","UNARY","NEW","DO","DO_IIFE","UNARY_MATH","AWAIT","YIELD","THROW","@","->","=>","[","(","{","--","++"]),os=new Set(["POST_IF","POST_UNLESS","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR","||","&&","??","THEN","ELSE"]),ls=new Set(["IF","TRY","FINALLY","CATCH","SWITCH","FOR","CLASS"]),cs=new Set(["IDENTIFIER","PROPERTY","NUMBER","STRING","STRING_END","REGEX","HEREGEX_END",")","CALL_END","]","INDEX_END","}","PICK_END","BOOL","NULL","UNDEFINED","THIS","@"]),oe=new Set(["(","[","{","PICK_START","OPTPICK_START","CALL_START","INDEX_START","PARAM_START","STRING_START","INTERPOLATION_START","HEREGEX_START","INDENT"]),ae=new Set([")","]","}","PICK_END","CALL_END","INDEX_END","PARAM_END","STRING_END","INTERPOLATION_END","HEREGEX_END","OUTDENT"]),Gt=(e,t)=>{let r=e[t],s=e[t+1];if(!r||!s||!s.spaced||!Ht.has(r.kind))return!1;if((r.kind==="]"||r.kind==="}")&&(s.kind==="->"||s.kind==="=>"))return!1;if(r.kind==="IDENTIFIER"&&(r.value==="Infinity"||r.value==="NaN")&&(s.kind==="->"||s.kind==="=>"))return!1;if(as.has(s.kind))return!0;return s.kind==="..."&&e[t+2]!=null&&as.has(e[t+2].kind)},fs=(e,t)=>{if(!e[t])return!1;let r=(s)=>(e[s]?.kind==="DAMMIT"||e[s]?.kind==="VOID_MARKER")&&e[s+1]?.kind===":";if(e[t].kind==="@"&&(e[t+2]?.kind===":"||r(t+2)))return!0;if(e[t+1]?.kind===":"||r(t+1))return!0;if(oe.has(e[t].kind)){let s=1,i=t;while(++i0){if(J.on)J.n++;if(oe.has(e[i].kind))s++;else if(ae.has(e[i].kind))s--}if(s===0&&e[i]?.kind===":")return!0}return!1},hs=new Set(["->","=>","[","(",",","{","ELSE","="]),gi=new Set(["INDENT","OUTDENT","TERMINATOR"]),_l=new Set(["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL","DEF"]),us=(e,t)=>{let r=0;for(;t>=0;t--){if(J.on)J.n++;let s=e[t].kind;if(r===0&&_l.has(s))return!0;if(ae.has(s)){r++;continue}if(oe.has(s)){if(r>0){r--;continue}if(!e[t].generated||gi.has(s))return!1;continue}if(r===0&&gi.has(s))return!1}return!1};function Nl(e,t){let r=[],s=[],i=[0],n=null,a=-1,o=()=>r[r.length-1],l=(g,b,S,w={})=>({id:t(),kind:g,value:g,start:b,end:b,spaced:w.spaced??!1,newLine:w.newLine??!1,generated:!0,origin:S}),c=(g)=>{r.pop(),s.push({at:g,token:l("}",n?n.end:0,n?n.id:null)})},f=(g)=>fs(e,g),h=()=>{for(let g=r.length-1;g>=0;g--){if(J.on)J.n++;let b=r[g];if(b.kind==="object")return b;if(!(b.kind==="INDENT"&&b.listContinuation))return null}return null},u=(g,b)=>{if(e[b]?.kind!=="...")return!1;let S=r[r.indexOf(g)-1];if(!S||!(S.kind==="["||S.kind==="CALL_START"))return!0;return p(S.at,g.at)},d=(g)=>{let b=e[g-1];return Boolean(b&&Ht.has(b.kind)&&f(g+1)&&!us(e,g-1))},p=(g,b)=>{let S=0;for(let w=b-1;w>g;w--){if(J.on)J.n++;let R=e[w].kind;if(ae.has(R)){S++;continue}if(oe.has(R)){if(R==="INDENT"&&S===0)return d(w);if(S--,S<0)return!1;continue}if(S>0)continue;if(R==="TERMINATOR")return!1;if(Gt(e,w))return!0}return!1},m=(g)=>{for(let b=0;g1)i.pop();if(S==="OUTDENT")for(let R=r.length-1;R>=0;R--){let T=r[R];if(T.kind!=="object"&&T.kind!=="CONTROL")break;if(T.kind==="object")T.sameLine=!1}continue}if(S==="TERNARY")i[i.length-1]++;if(S===":"){let R=i.length-1;if(i[R]>0){i[R]--;continue}if(w?.kind==="DAMMIT")w.kind="VOID_MARKER";let T=w?.kind==="VOID_MARKER"?1:0,F=ae.has(w?.kind)?o()?.at??g-1:g-1-T;if(e[g-2-T]?.kind==="@")F=g-2-T;let L=e[F-1],N=!Gt(e,F-1)&&(F<=0||gi.has(L?.kind)||Boolean(L?.newLine)),D=o(),O=r[r.length-2],W=(j)=>j&&(j.kind==="{"||j.kind==="PICK_START"||j.kind==="OPTPICK_START"||j.kind==="object"),H=(j)=>j==="{"||j==="PICK_START"||j==="OPTPICK_START",G=D?.kind==="INDENT"&&D.listContinuation?h():null,k=Boolean(G),v=G?G.at:D?.kind==="INDENT"&&O?O.at:D?.at;if(D&&(W(D)||D.kind==="INDENT"&&(H(O?.kind)||k))&&!(v!=null&&p(v,F))&&(N||L?.kind===","||H(L?.kind)||e[F]?.kind==="{"))continue;r.push({kind:"object",at:F,sameLine:!0,startsLine:N}),s.push({at:F,token:l("{",e[F].start,e[F].id,{spaced:e[F].spaced,newLine:e[F].newLine})});continue}if(os.has(S)||(S==="."||S==="?.")&&b.newLine){if(S==="||"||S==="&&"||S==="??"||S==="ELSE")continue;if(S==="TERMINATOR"){i[i.length-1]=0;for(let R=r.length-1;R>=0;R--){let T=r[R];if(T.kind!=="object"&&T.kind!=="CONTROL")break;if(T.kind==="object")T.sameLine=!1}}while(o()?.kind==="object"||S==="TERMINATOR"&&o()?.kind==="CONTROL"&&o()?.trigger==="CLASS"){let R=o();if(R.kind==="CONTROL"){r.pop();continue}if(S==="TERMINATOR")if(w?.kind!==","&&!(R.startsLine&&(f(g+1)||u(R,g+1))))c(g);else break;else if(R.sameLine&&w?.kind!==":"&&!((S==="POST_IF"||S==="POST_UNLESS")&&R.startsLine&&m(g+1)))c(g);else break}continue}if(S===","){let R=h(),T=(F)=>f(F)||u(R,F);if(R&&!p(R.at,g)&&!T(g+1)&&(e[g+1]?.kind!=="TERMINATOR"||!T(g+2))){if(e[g+1]?.kind==="INDENT"&&T(g+2))a=g;else if(o()?.kind==="object"){let F=e[g+1]?.kind==="OUTDENT"?1:0;while(o()?.kind==="object")c(g+F)}}}}if(e.length&&!e[e.length-1].generated)n=e[e.length-1];while(o()?.kind==="object"||o()?.kind==="CONTROL")if(o().kind==="object")c(e.length);else r.pop();return s}function Al(e,t){let r=[],s=[],i=-1,n=(l,c,f)=>({id:t(),kind:l,value:l==="CALL_START"?"(":")",start:c,end:c,spaced:!1,newLine:!1,generated:!0,origin:f}),a=null,o=(l)=>{r.pop(),s.push({at:l,token:n("CALL_END",a?a.end:0,a?a.id:null)})};for(let l=0;l0&&!e[l-1].generated)a=e[l-1];if(r[r.length-1]==="call"&&ls.has(h)&&!(h==="FOR"&&!c.newLine&&e[l-1]&&cs.has(e[l-1].kind))){r.push(h==="CLASS"?"CONTROL_CLASS":"CONTROL");continue}if(h==="INDENT"){if(l===i){r.push("INDENT");continue}let u=e[l-1];if(!u||!hs.has(u.kind))while(r[r.length-1]==="call")o(l);if(r[r.length-1]==="CONTROL"||r[r.length-1]==="CONTROL_CLASS")r.pop();r.push("INDENT");continue}if(oe.has(h))r.push(h);else if(ae.has(h)){while(r[r.length-1]==="call"||r[r.length-1]==="CONTROL"||r[r.length-1]==="CONTROL_CLASS")if(r[r.length-1]==="call")o(l);else r.pop();r.pop()}if(os.has(h)||(h==="."||h==="?.")&&c.newLine){if(h==="||"||h==="&&"||h==="??")continue;if(h==="ELSE"&&e[l-1]?.kind==="OUTDENT")continue;if(e[l-1]?.kind!==",")while(r[r.length-1]==="call"||h==="TERMINATOR"&&r[r.length-1]==="CONTROL_CLASS")if(r[r.length-1]==="call")o(l);else r.pop();continue}if(Gt(e,l)||Ht.has(h)&&f&&f.spaced&&(f.kind==="+"||f.kind==="-")&&e[l+2]&&!e[l+2].spaced&&!e[l+2].newLine)s.push({at:l+1,token:n("CALL_START",f.start,f.generated?f.origin:f.id)}),r.push("call");else if(Ht.has(h)&&f?.kind==="INDENT"&&e[l+2]?.kind==="{"&&e[l+2].generated&&!us(e,l))s.push({at:l+1,token:n("CALL_START",e[l+2].start,e[l+2].origin)}),r.push("call"),i=l+1}if(e.length&&!e[e.length-1].generated)a=e[e.length-1];while(r[r.length-1]==="call"||r[r.length-1]==="CONTROL"||r[r.length-1]==="CONTROL_CLASS")if(r[r.length-1]==="call")o(e.length);else r.pop();return s}var Kt=(e,t)=>bi(e,wl,t),Yt=(e,t)=>bi(e,Nl,t),zt=(e,t)=>bi(e,Al,t);var bs=new Map([["as","CAST"],["satisfies","SATISFIES"]]),Zt=(e)=>e?.kind==="IDENTIFIER"&&bs.has(e.value),ys=new Set(["IDENTIFIER","PROPERTY","NUMBER","STRING","STRING_END","REGEX","HEREGEX_END","BOOL","NULL","UNDEFINED",")","CALL_END","PARAM_END","]","INDEX_END","}","PICK_END","THIS","@","SUPER","?","MAYBE_DAMMIT","DAMMIT","CAST","SATISFIES","IMPORT_META"]),vl=new Set(["IDENTIFIER","PROPERTY","(","CALL_START","PARAM_START","{","[","INDEX_START","STRING","NUMBER","BOOL","NULL","UNDEFINED","-","UNARY","NEW","RESERVED"]),le=new Set(["(","CALL_START","PARAM_START","[","INDEX_START","{","PICK_START","OPTPICK_START"]),ce=new Set([")","CALL_END","PARAM_END","]","INDEX_END","}","PICK_END"]),Ol=new Set(["TERMINATOR","INDENT","OUTDENT",",","=","COMPOUND_ASSIGN","REACTIVE_ASSIGN","COMPUTED_ASSIGN","READONLY_ASSIGN","GATE","EFFECT","->"]),Il=new Set(["+","-","MATH","**","SHIFT","COMPARE","MATCH","&&","||","??","^","RELATION","TERNARY","?","MAYBE_DAMMIT",":","?.","DAMMIT","EXTENDS","..","...","IF","UNLESS","ELSE","THEN","WHILE","UNTIL","LOOP","FOR","WHEN","BY","SWITCH","RETURN","THROW","CATCH","FINALLY"]),$l=new Set(["IF","UNLESS","ELSE","THEN","WHILE","UNTIL","LOOP","FOR","WHEN","BY","SWITCH","RETURN","THROW"]),Dl=new Set(["IDENTIFIER","PROPERTY","RESERVED","NUMBER","STRING","TYPE_TEMPLATE","BOOL","NULL","UNDEFINED","THIS",".",",",":","?","TERNARY","...","|","&","=>","EXTENDS","(",")","PARAM_START","PARAM_END","[","]","INDEX_START","INDEX_END","{","}","INDENT","OUTDENT","TERMINATOR"]),xl=new Set(["IDENTIFIER","PROPERTY","RESERVED","NUMBER","STRING","TYPE_TEMPLATE","BOOL","NULL","UNDEFINED","THIS",")","PARAM_END","]","INDEX_END","}"]),Pl=new Set(["TERMINATOR","INDENT","OUTDENT","{",","]),Jt=(e,t,r)=>{if(t-1{let n=0,a=[],o=(u=0)=>a[a.length-1-u],l=null,c=!1,f=[],h=(u,d)=>{n-=d;for(let p=0;p"){h(d,1),c=!0;continue}if(p==="SHIFT"&&d.value===">>"){h(d,2),c=!0;continue}if(p==="SHIFT"&&d.value===">>>"){h(d,3),c=!0;continue}if(p==="UNARY"&&d.value==="typeof"){c=!1;continue}if(d.word==="is"&&c&&u-2>=t&&(e[u-1].kind==="IDENTIFIER"||e[u-1].kind==="PROPERTY"||e[u-1].kind==="THIS")&&(e[u-2].kind==="=>"||e[u-2].value==="asserts"||e[u-2].kind===":"&&e[u-3]?.kind==="CALL_END")){c=!1;continue}if(p==="RELATION"&&d.value==="in"&&o()==="["&&o(1)==="{"&&u-2>=t&&(e[u-2].kind==="["||e[u-2].kind==="INDEX_START")&&(e[u-1].kind==="IDENTIFIER"||e[u-1].kind==="PROPERTY")&&Jt(e,u-2,t)){c=!1;continue}if(d.value==="?"&&c&&e[u+1]?.kind===":"){c=!1;continue}if(p==="-"&&e[u+1]?.kind==="NUMBER"&&!c){u++,c=!0;continue}if((p==="-"||p==="+")&&e[u+1]?.value==="readonly"&&(e[u+2]?.kind==="["||e[u+2]?.kind==="INDEX_START")&&o()==="{"&&Jt(e,u,t)){c=!1;continue}if((p==="-"||p==="+")&&e[u+1]?.value==="?"&&e[u+2]?.kind===":"&&o()==="{"&&(e[u-1]?.kind==="]"||e[u-1]?.kind==="INDEX_END")){c=!0;continue}if(p==="="&&n>0){c=!1;continue}if((o()==="{"||i.methods&&o()===void 0)&&p==="CALL_START"){let m=e[u-1],g=Jt(e,u-1,t);if(m&&(m.kind==="IDENTIFIER"||m.kind==="PROPERTY")&&g){let b=1,S=u+1;while(S0){if(e[S].kind==="CALL_START")b++;else if(e[S].kind==="CALL_END")b--;S++}if(b===0&&e[S]?.kind===":"){f.push(S-1),a.push("("),c=!1;continue}if(b===0)s(`an interface method shorthand needs a return type — \`${m.value}(…): T\``,m.start)}}if(p==="CALL_END"&&u===f[f.length-1]){f.pop(),a.pop(),c=!0;continue}if(Dl.has(p)){if(ds.has(p))a.push(ds.get(p));else if(Cl.has(p))a.pop();c=xl.has(p);continue}s(`code expression ('${d.word??d.value}') in a type body — types erase and cannot execute`,d.start)}if(n>0)s("unclosed '<' in a type body — the generic never closes",l.start)},Ll=new Set(["=",":","COMPOUND_ASSIGN","REACTIVE_ASSIGN","COMPUTED_ASSIGN","READONLY_ASSIGN",",","[","(","{","CALL_START","INDEX_START","PARAM_START","PICK_START","OPTPICK_START","RETURN","THROW","AWAIT","YIELD"]),ee=(e,t)=>{let r=e[t];if(!r)return!0;if(r.kind==="TERMINATOR"||r.kind==="EXPORT"||r.kind==="OFFER")return!0;if(r.kind!=="INDENT"&&r.kind!=="OUTDENT")return!1;let s=0;for(let i=t;i>=0;i--){if(J.on)J.n++;let n=e[i].kind;if(n==="OUTDENT")s++;else if(n==="INDENT"){if(s===0){let a=e[i-1];return!(a&&Ll.has(a.kind))}s--}}return!0},Si=(e,t,r)=>{if(r<=t)return!1;let s=new Set(["|","&",",",":","?","TERNARY",".","..."]),i=0,n=0,a=0,o=0,l=!1,c=[],f=null;for(let h=t;h"){let p=h>t?e[h-1].kind:null;if((p===")"||p==="PARAM_END")&&f&&(f.colon||f.empty)){l=!1;continue}return!1}if(u==="("||u==="PARAM_START"){c.push({colon:!1,open:h}),i++,l=!1;continue}if(u===")"||u==="PARAM_END"){if(--i<0)return!1;let p=c.pop();f=p?{colon:p.colon,empty:h===p.open+1}:null,l=!0;continue}if(u==="["||u==="INDEX_START"){n++,l=!1;continue}if(u==="]"||u==="INDEX_END"){if(--n<0)return!1;l=!0;continue}if(u==="{"){a++,l=!1;continue}if(u==="}"){if(--a<0)return!1;l=!0;continue}if(u==="COMPARE"){if(d==="<"){o++,l=!1;continue}if(d===">"){if(o<=0)return!1;o--,l=!0;continue}return!1}if(u==="SHIFT"){if(d===">>"){if(o<2)return!1;o-=2,l=!0;continue}if(d===">>>"){if(o<3)return!1;o-=3,l=!0;continue}return!1}if(u==="="){if(o>0){l=!1;continue}return!1}if(s.has(u)){if(u===":"&&c.length)c[c.length-1].colon=!0;l=!1;continue}if(u==="IDENTIFIER"||u==="PROPERTY"||u==="NUMBER"||u==="RESERVED"||u==="STRING"||u==="NULL"||u==="UNDEFINED"||u==="BOOL"){if(l)return!1;l=!0;continue}return!1}return i===0&&n===0&&a===0&&o===0&&l},ms=(e,t,r,s)=>{let i=[],n=[],a=[],o=0,l=t,c=e[t-1]?.end??0,f=(u)=>s("unclosed '<' in a type — the generic argument list never closes"+(r.cast?"; if the '<' was meant as a comparison, parenthesize the cast: '(x as T) < y'":""),u.start),h=(u,d)=>{for(let p=0;pl&&u.newLine)break;if(d==="SHIFT"&&(u.value===">>"||u.value===">>>")&&a.length>0){h(u,u.value===">>"?2:3),i.push(u.value),c=u.end,t++;continue}if(d==="COMPARE"&&u.value===">"){if(o===0)break;h(u,1),i.push(u.value),c=u.end,t++;continue}if(le.has(d)||d==="COMPARE"&&u.value==="<"){o++;let m=d==="{"?"{":d==="["||d==="INDEX_START"?"[":d==="COMPARE"?"<":"(";if(n.push(m),m==="<")a.push(u);i.push(u.value),c=u.end,t++;continue}if(ce.has(d)){if(o===0)break;if(n[n.length-1]==="<")f(a[a.length-1]);o--,n.pop(),i.push(u.value),c=u.end,t++;continue}if(d==="INTERPOLATION_END"||d==="STRING_END"||d==="HEREGEX_END")break;if(o===0){if(Ol.has(d))break;if(r.stopAtFatArrow&&d==="=>")break;if(r.stopAtThen&&d==="THEN")break;if(r.cast&&Il.has(d))if(t===l&&(d==="-"||d==="+")&&e[t+1]?.kind==="NUMBER"){if(d==="+")s("a numeric literal type spells its sign with '-' (TypeScript has no '+1' type)",u.start,e[t+1].end)}else break;if(r.alias&&$l.has(d))break}else{if(d==="INDENT"||d==="OUTDENT"){t++;continue}if(d==="TERMINATOR"){i.push(";"),c=u.end,t++;continue}if(d==="PROPERTY"&&n[n.length-1]==="{"){let m=i[i.length-1];if(m&&m!=="{"&&m!==","&&m!==";")i.push(";")}}if(d==="?"&&!u.spaced&&e[t+1]?.kind===":"&&i.length){i[i.length-1]+="?",c=u.end,t++;continue}i.push(u.word==="is"?u.word:u.value),c=u.end,t++}if(a.length)f(a[0]);return{parts:i,consumed:t-l,end:c}},Ml=(e)=>e.join(" ").replace(/\s+/g," ").trim().replace(/\s*<\s*/g,"<").replace(/\s*>\s*/g,">").replace(/\s*\[\s*/g,"[").replace(/\s*\]\s*/g,"]").replace(/\s*\(\s*/g,"(").replace(/\s*\)\s*/g,")").replace(/\s*,\s*/g,", ").replace(/\s*=>\s*/g," => ").replace(/ : /g,": "),jl=(e,t,r)=>{let s=(l)=>l==="("||l==="PARAM_START"||l==="CALL_START",i=(l)=>l===")"||l==="PARAM_END"||l==="CALL_END";if(r-t<2||!s(e[t].kind))return!1;let n=0;for(let l=t;l{if(!(e[t]?.kind==="COMPARE"&&e[t].value==="<"&&!e[t].spaced))return t;let r=0;while(t")r--;else if(s.kind==="SHIFT"&&s.value===">>")r-=2;else if(s.kind==="SHIFT"&&s.value===">>>")r-=3;else if(s.kind==="TERMINATOR"||s.kind==="INDENT"||s.kind==="OUTDENT")return-1;if(t++,r===0)break}return r===0?t:-1},Qt=(e,t)=>{if(t<0||!e[t]||Ri(e[t])>=0)return t;let r=0;while(t>=0){if(J.on)J.n++;let s=e[t];if(s.kind==="TERMINATOR"||s.kind==="INDENT"||s.kind==="OUTDENT")return-1;if(r+=Ri(s),t--,r===0)break}return r===0?t:-1},er=(e,t)=>{let r=Qt(e,t-1);if(r<0||e[r]?.kind!=="IDENTIFIER")return!1;let s=e[r-1];if(!(s?.kind==="IDENTIFIER"&&s.value==="type"))return!1;return ee(e,r-2)},Ri=(e)=>e.kind==="COMPARE"&&e.value==="<"?1:e.kind==="COMPARE"&&e.value===">"?-1:e.kind==="SHIFT"&&e.value===">>"?-2:e.kind==="SHIFT"&&e.value===">>>"?-3:0,Q1=(e,t)=>{let r=e[t];if(!r||r.kind!=="IDENTIFIER"&&r.kind!=="PROPERTY")return!1;if(e[t-1]?.kind==="DEF")return!0;return r.kind==="PROPERTY"&&e[t-1]?.kind==="@"&&e[t-2]?.kind==="DEF"},Fl=(e,t)=>{let r=e[t-1];if(!r)return!1;if(r.kind===")"||r.kind==="CALL_END"||r.kind==="PARAM_END")return!0;if(r.kind==="IDENTIFIER"||r.kind==="PROPERTY"){if(Q1(e,t-1))return!0;let s=e[t-2]?.kind==="@"?t-3:t-2;if(ee(e,s))return!0}if(r.kind==="VOID_MARKER"&&Q1(e,t-2))return!0;return null},ps=(e)=>e.kind==="TERMINATOR"||e.kind==="INDENT"||e.kind==="OUTDENT",Bl=(e,t)=>{if(t.upTo>e.length||t.upTo>0&&e[t.upTo-1]!==t.ref){t.answers.clear(),t.level=0;let r=e.length-1;while(r>=0&&!ps(e[r])){if(J.on)J.n++;r--}t.upTo=r+1}for(let r=t.upTo;r{let s=e[e.length-1];if(!s)return!1;if(!(s.kind==="COMPARE"&&s.value===">"||s.kind==="SHIFT"&&(s.value===">>"||s.value===">>>")))return!1;if(t)return!0;return Bl(e,r),r.answers.get(r.level)??!1},Xt=(e,t)=>{let r=0,s=!1;for(let i=t+1;i")return-1;if(n==="=>")s=!0;else if(n==="="||n==="REACTIVE_ASSIGN"||n==="COMPUTED_ASSIGN"||n==="READONLY_ASSIGN"||n==="GATE"||n==="EFFECT"){if(!s||Si(e,t+1,i))return i}}}return-1},Ul=(e)=>{let t=[new Map],r=Array(e.length),s=[{id:0,up:null}],i=0;for(let n=0;n"||l==="=>";s.push({id:o,up:c?null:s[s.length-1]})}else if(a==="OUTDENT"){if(s.length>1)s.pop()}else if(le.has(a))i++;else if(ce.has(a))i--;else if(i===0&&(a==="IDENTIFIER"||a==="PROPERTY")&&e[n+1]?.kind==="=")for(let o=s[s.length-1];o;o=o.up){if(J.on)J.n++;t[o.id].set(e[n].value,n)}}return{blockMaps:t,blockIdAt:r}},Vl=(e,t)=>{let r=0;for(;t"||s==="=>")return!0;if(s==="TERMINATOR"||s==="INDENT"||s==="OUTDENT")return!1}}return!1},Wl=(e,t)=>{let r=0;for(let s=t+1;s{let s=0;for(let i=t;i{let r=0;for(let s=t;s","=>","DO","DO_IIFE","TRY","LOOP"]),Yl=new Set(["IF","UNLESS","SWITCH","WHILE","UNTIL","FOR","CLASS"]),zl=new Set(["->","=>","THEN","ELSE"]),ql=new Set(["TERMINATOR","INDENT","OUTDENT","THEN","ELSE","IF","UNLESS","POST_IF","POST_UNLESS","WHILE","UNTIL","LOOP","FOR","WHEN","BY","SWITCH","RETURN","THROW",",","=","COMPOUND_ASSIGN","&&","||","??","TERNARY","?",":","RELATION","+","-","MATH","**","SHIFT","&","|","^","STRING_START","STRING_END","INTERPOLATION_START","INTERPOLATION_END"]),Xl=new Map([["yes","true"],["no","false"],["on","true"],["off","false"],["true","true"],["false","false"],["null","null"],["undefined","undefined"],["this","this"]]);function tr(e,t,r,s){let i=[],n=[],a=new WeakSet,o=()=>n[n.length-1]??null,l=!1,c=[],f=()=>c.length>0&&!!c[c.length-1],h=()=>c[c.length-1]??!1,u=(N)=>{let D=Xl.get(N.value);if(D===void 0)return;s(`'${N.value}' cannot name a binding — every read of '${N.value}' lowers to \`${D}\`, so the binding would be unreachable`,N.start,N.end)},d=-1,p=0,m=!1,g=!1,b=null,S=(N,D)=>(b??=Ul(e),(b.blockMaps[b.blockIdAt[N]].get(D)??-1)>=N),w=null,R=(N)=>{let D=[],O=N,W=!0,H=-1;for(;;){if(J.on)J.n++;let j=Wl(e,O);if(j<0){if(Xt(e,O)>=0)break;D.push({colon:O,shaped:!1,assigned:!1}),W=!1,H=-1;break}if(Gl(e,O+1,j)){D.push({colon:O,shaped:!1,assigned:!1}),W=!1,H=-1;break}D.push({colon:O,shaped:j>O+1&&Si(e,O+1,j),assigned:S(j+1,e[O-1].value)}),H=j;let X=e[j+1];if(X&&(X.kind==="IDENTIFIER"||X.kind==="PROPERTY")&&e[j+2]?.kind===":"){O=j+2;continue}break}let G=H>=0?e[H+1]:null,k=W&&G!=null&&G.kind!=="OUTDENT",v=k&&D.every((j)=>j.shaped&&j.assigned);if(!v&&k&&D.some((j)=>j.shaped)&&D.some((j)=>j.assigned)){let j=D.find((Z)=>!(Z.shaped&&Z.assigned)),X=e[j.colon-1],x=j.shaped?`'${X.value}' is never assigned in this block`:`the value after '${X.value}:' is not a type`;s("these adjacent 'name:' lines are ambiguous — with every line a type and every "+`name assigned later they would all claim as typed forward declarations, but ${x}; for typed forwards, assign every name in this block or add an initializer ('${X.value}: T = value'); for an implicit object, parenthesize the literal or assign it to a target`,X.start)}w??=new Map;for(let j of D)w.set(j.colon,v);return v},T=(N,D,O,W,H)=>({id:t(),kind:N,value:D,start:O,end:W,spaced:H.spaced,newLine:H.newLine,generated:!1,origin:null}),F=(N,D,O,W)=>{if(e[O]?.kind===":")s("type annotations use a single ':' (e.g. `x: number`), not '::'",D.start,e[O].end);let H=ms(e,O,W,s);if(H.parts.length===0)return-1;for(let G=O;G R) => body`, not `(x): (a: T) => R => body`",e[O].start);return i.push(T(N,Ml(H.parts),D.start,H.end,D)),O+H.consumed-1},L=(N)=>{let D=N+1;if(e[D]?.kind!=="IDENTIFIER")return-1;if(D++,D=qt(e,D),D<0)return-1;if(e[D]?.kind!=="=")return-1;if(D++,e[D]?.kind==="INDENT"){let H=gs(e,D);return yi(e,D+1,H,s,{methods:!0}),H}let O=ms(e,D,{alias:!0},s);if(O.parts.length===0)s("a type alias needs a type after '='",e[D-1].end);yi(e,D,D+O.consumed,s);let W=e[D+O.consumed];if(W&&W.kind!=="TERMINATOR"&&W.kind!=="OUTDENT")s(`a type alias must fill its line — unexpected '${W.value}' after the type`,W.start);return D+O.consumed-1},P=(N)=>{let D=N+1;if(e[D]?.kind!=="IDENTIFIER")return-1;if(D++,D=qt(e,D),D===-1)return-1;if(e[D]?.kind==="EXTENDS"){if(e[D+1]?.kind!=="IDENTIFIER")return-1;if(D+=2,D=qt(e,D),D===-1)return-1}if(e[D]?.kind!=="INDENT")return-1;let O=gs(e,D);return yi(e,D+1,O,s,{methods:!0}),O};for(let N=0;N=0){let G=W?.kind==="EXPORT"?i.pop():D,k=e[H].end;i.push(T("TYPE_DECL",r.slice(G.start,k).replace(/\r\n/g,` -`),G.start,k,D)),N=H;continue}}if(Zt(D)&&W&&W.kind!=="."&&W.kind!=="?."&&ys.has(W.kind)&&e[N+1]&&(vl.has(e[N+1].kind)||e[N+1].kind==="+"&&e[N+2]?.kind==="NUMBER")){let H=F(bs.get(D.value),D,N+1,{cast:!0});if(H<0)s(`'${D.value}' takes a type — \`x ${D.value} T\``,D.start,D.end);if(H>=0){N=H;let G=e[N+1],k=i[i.length-1];if(G&&G.newLine&&G.kind!=="TERMINATOR"&&G.kind!=="INDENT"&&G.kind!=="OUTDENT"&&!Zt(G)){let v=r.slice(k.end,G.start),j=v.indexOf(` -`);if(j>=0){let X=v[j-1]==="\r",x=k.end+j-(X?1:0),Z=X?2:1;i.push({id:t(),kind:"TERMINATOR",value:r.slice(x,x+Z),start:x,end:x+Z,spaced:!1,newLine:!1,generated:!0,origin:null})}}continue}}if(O==="COMPARE"&&D.value==="<"&&!D.spaced&&W&&(W.kind==="IDENTIFIER"||Q1(i,i.length-1))){let H=i[i.length-2]??null,G=qt(e,N);if(G>N){let k=G-1,v=e[k+1]?.kind,j=H?.kind==="DEF"||Q1(i,i.length-1),X=v==="="&&e[k+2]?.kind==="COMPONENT";if(j||X){if(j&&v==="("){let x=0;for(let Z=k+1;Z=0){N=U;continue}}if(W.kind==="CALL_END"&&a.has(W)){let U=F("TYPE",D,N+1,{});if(U>=0){N=U;continue}}if(Q1(i,i.length-1)){let U=F("TYPE",D,N+1,{});if(U>=0){if(W.kind==="PROPERTY"&&G?.kind==="DEF")u(W),W.kind="IDENTIFIER";N=U;continue}}if(W.kind==="TYPE_PARAMS"&&Q1(i,i.length-2)){let U=F("TYPE",D,N+1,{});if(U>=0){N=U;continue}}if(W.kind==="VOID_MARKER"&&Q1(i,i.length-2)){let U=F("TYPE",D,N+1,{});if(U>=0){N=U;continue}}if(n.length===0&&(W.kind==="PROPERTY"||W.kind==="IDENTIFIER")&&G?.kind==="CATCH"){let U=F("TYPE",D,N+1,{stopAtThen:!0});if(U>=0){if(W.kind==="PROPERTY")u(W),W.kind="IDENTIFIER";N=U;continue}}if(H&&(H.kind==="param"||H.kind==="defparam")&&!H.sawEq&&!H.sawType&&H.bodyDepth===0&&!H.inlineBody){let U=W.kind==="PROPERTY"||W.kind==="IDENTIFIER",r1=W.kind==="}"||W.kind==="]",Q=W.kind==="?"&&(G?.kind==="PROPERTY"||G?.kind==="IDENTIFIER");if(U||r1||Q){let l1=F("TYPE",D,N+1,{});if(l1>=0){if(Q){if(W.kind="OPT_MARKER",G.kind==="PROPERTY")G.kind="IDENTIFIER"}else if(W.kind==="PROPERTY"&&e[N-2]?.kind!=="@")u(W),W.kind="IDENTIFIER";H.sawType=!0,N=l1;continue}}}let k=W.kind==="OPT_MARKER"?1:0,v=k?i[i.length-2]??null:W,j=(i[i.length-2-k]??null)?.kind==="@",X=i.length-(j?3:2)-k,x=v!==null&&(v.kind==="PROPERTY"||v.kind==="IDENTIFIER")&&ee(i,X),Z=v!==null&&v.kind==="STRING"&&ee(i,X);if(n.length===0&&x&&!j)g=!0;if(n.length===0&&W.kind==="PROPERTY"&&i[i.length-2]?.kind==="."&&i[i.length-3]?.kind==="PROPERTY"&&i[i.length-3].value==="prototype"&&i[i.length-4]?.kind==="?."&&i[i.length-5]?.kind==="IDENTIFIER"&&ee(i,i.length-6)&&Xt(e,N)>=0)s("an annotated prototype member requires the unconditional chain (`X::m: T = v`) — "+"the soak form cannot carry the annotation",D.start,D.end);if(n.length===0&&W.kind==="PROPERTY"&&i[i.length-2]?.kind==="."&&i[i.length-3]?.kind==="PROPERTY"&&i[i.length-3].value==="prototype"&&i[i.length-4]?.kind==="."&&i[i.length-5]?.kind==="IDENTIFIER"&&ee(i,i.length-6)&&Xt(e,N)>=0){let U=F("TYPE",D,N+1,{});if(U>=0){N=U;continue}}if(n.length===0&&(x||Z)&&Xt(e,N)>=0){let U=F("TYPE",D,N+1,{});if(U>=0){if(v.kind==="PROPERTY"&&!j){if(h()!=="class")u(v);v.kind="IDENTIFIER"}g=!1,N=U;continue}}if(n.length===0&&f()&&x&&!Vl(e,N+1)){let U=-1,r1=0;for(let Q=N+1;QN+1&&Si(e,N+1,U)){let Q=F("TYPE",D,N+1,{});if(Q>=0){if(v.kind==="PROPERTY"&&!j){if(h()==="component")u(v);v.kind="IDENTIFIER"}N=Q;continue}}}if(n.length===0&&!f()&&x&&!j&&!k){let U=w?.get(N);if(U!==void 0?U:!m&&R(N)){let Q=F("TYPE",D,N+1,{});if(Q>=0){if(W.kind==="PROPERTY")u(W),W.kind="IDENTIFIER";g=!1,N=Q;continue}}}}if(le.has(O))p++;else if(ce.has(O)){if(p--,d>=0&&p=0&&p===d){if(O==="COMPARE"&&D.value==="<")s("class generics are not supported — the class head's '<' parses as a comparison "+"and the statement miscompiles silently (`class Box` compiles to "+"`(class Box {} < T) && …`); remove the generic list",D.start);if(ql.has(O))d=-1}if(O==="CLASS"||O==="COMPONENT")l=O==="CLASS"?"class":"component";else if(O==="THEN")l=!1;else if(O==="INDENT")c.push(l),l=!1;else if(O==="OUTDENT")c.pop();else if(O==="TERMINATOR")l=!1;if(n.length===0){if(O==="TERMINATOR")m=g,g=!1;else if(O==="INDENT"||O==="OUTDENT")m=!1,g=!1}if(le.has(O)){let H="other";if(O==="PARAM_START")H="param";else if(O==="CALL_START"&&Q1(i,i.length-1))H="defparam";else if(O==="CALL_START"&&W?.kind==="TYPE_PARAMS"&&Q1(i,i.length-2))H="defparam";else if(O==="CALL_START"&&W?.kind==="VOID_MARKER"&&Q1(i,i.length-2))H="defparam";n.push({kind:H,sawEq:!1,sawType:!1,bodyDepth:0,pendingImmediate:!1,pendingCond:!1,inlineBody:!1})}else if(ce.has(O)){if(n.pop()?.kind==="defparam"&&O==="CALL_END")a.add(D)}else{let H=o();if(H&&(H.kind==="param"||H.kind==="defparam")){let G=()=>{H.sawEq=!1,H.sawType=!1,H.pendingImmediate=!1,H.pendingCond=!1,H.inlineBody=!1};if(H.bodyDepth>0){if(O==="INDENT")H.bodyDepth++;else if(O==="OUTDENT")H.bodyDepth--}else if(O==="INDENT")if(H.pendingImmediate||H.pendingCond)H.bodyDepth=1,H.pendingImmediate=!1,H.pendingCond=!1,H.inlineBody=!1;else G();else if(O===","||O==="OUTDENT")G();else if(O==="TERMINATOR")if(H.inlineBody&&D.value===";")H.pendingImmediate=!1,H.pendingCond=!1;else G();else{if(H.pendingImmediate=Kl.has(O),Yl.has(O)&&W?.kind==="=")H.pendingCond=!0;else if(O==="THEN")H.pendingCond=!1;if(zl.has(O))H.inlineBody=!0;if(O==="=")H.sawEq=!0}}}i.push(D)}e.length=i.length;for(let N=0;N"&&r!=="=>")continue;let s=t-1,i=e[s];if(!i)continue;if(i.kind==="DO"){i.kind="DO_IIFE";continue}if(i.kind!==")"){let a=0,o=-1;for(let l=t-1;l>=0;l--){if(J.on)J.n++;let c=e[l],f=c.kind;if(f===")"||f==="]"||f==="}"||f==="PICK_END"||f==="CALL_END"||f==="PARAM_END"||f==="INDEX_END"||f==="COMPARE"&&c.value===">")a++;else if(f==="("||f==="["||f==="{"||f==="PICK_START"||f==="OPTPICK_START"||f==="CALL_START"||f==="PARAM_START"||f==="INDEX_START"||f==="COMPARE"&&c.value==="<")a--;else if(f==="SHIFT"&&c.value===">>")a+=2;else if(f==="SHIFT"&&c.value===">>>")a+=3;else if(a===0){if(f===":"){if(e[l-1]?.kind===")")o=l-1;break}if(f==="TERMINATOR"||f==="INDENT"||f==="OUTDENT"||f==="="||f==="->"||f==="=>")break}}if(o<0)continue;s=o,i=e[s]}else{let a=0,o=-1;for(let l=t-1;l>=0;l--){if(J.on)J.n++;let c=e[l].kind;if(c===")"||c==="CALL_END"||c==="PARAM_END")a++;else if(c==="("||c==="CALL_START"||c==="PARAM_START"){if(--a===0){o=l;break}}}if(o>1&&e[o-1].kind===":"&&e[o-2]?.kind===")")s=o-2,i=e[s]}let n=0;for(let a=s-1;a>=0;a--){if(J.on)J.n++;let o=e[a];if(o.kind===")"||o.kind==="CALL_END"||o.kind==="INDEX_END"||o.kind==="]")n++;else if(o.kind==="("||o.kind==="CALL_START"||o.kind==="INDEX_START"||o.kind==="["){if(n>0){n--;continue}if(o.kind==="("){if(o.kind="PARAM_START",i.kind="PARAM_END",e[a-1]?.kind==="DO")e[a-1].kind="DO_IIFE"}break}}}return e}function Zl(e){let t=new Set(["(","[","{","PICK_START","OPTPICK_START","CALL_START","INDEX_START","PARAM_START","STRING_START","INTERPOLATION_START","HEREGEX_START","INDENT"]),r=new Set([")","]","}","PICK_END","CALL_END","INDEX_END","PARAM_END","STRING_END","INTERPOLATION_END","HEREGEX_END","OUTDENT"]),s=[0];for(let i=0;i0)s[a]--}else if(n==="INDEX_START"&&s[s.length-1]===0){let a=1,o=i;while(++o0){if(J.on)J.n++;if(t.has(e[o].kind))a++;else if(r.has(e[o].kind))a--}if(a===0&&e[o]?.kind===":")e[i].kind="[",e[o-1].kind="]"}if(t.has(e[i].kind))s.push(0);else if(r.has(e[i].kind))s.pop()}return e}var Ql=new Set(["STRING","STRING_END","REGEX","HEREGEX_END","NUMBER","BOOL","NULL","UNDEFINED","]","}","SYMBOL"]);function e3(e){let t=0;for(let r=0;r0&&(s==="->"||s==="=>")&&r>0&&(Ql.has(e[r-1].kind)||e[r-1].kind==="IDENTIFIER"&&(e[r-1].value==="Infinity"||e[r-1].value==="NaN")))e.splice(r,0,{kind:",",value:",",start:e[r].start,end:e[r].start}),r++}return e}function t3(e){let t=new Set(["(","[","{","PICK_START","OPTPICK_START","CALL_START","INDEX_START","PARAM_START","STRING_START","INTERPOLATION_START","HEREGEX_START","INDENT"]),r=new Set([")","]","}","PICK_END","CALL_END","INDEX_END","PARAM_END","STRING_END","INTERPOLATION_END","HEREGEX_END","OUTDENT"]),s=(n)=>n!==void 0&&(n.kind==="IDENTIFIER"||n.kind==="PROPERTY"),i=[0];for(let n=0;n0)i[o]--}else if(s(e[n])&&i[i.length-1]===0&&e[n-1]?.kind!=="."&&e[n-1]?.kind!=="?."&&e[n-1]?.kind!=="@"){let o=n;for(;;){if(J.on)J.n++;let l=e[o+1],c=e[o+2];if(l===void 0||!s(c))break;if(l.kind==="."){o+=2;continue}if(l.kind==="-"&&l.start===e[o].end&&c.start===l.end){o+=2;continue}break}if(o>n&&e[o+1]?.kind===":"){let l="";for(let f=n;f<=o;f++)l+=e[f].value;let c={...e[n],kind:"STRING",value:JSON.stringify(l),end:e[o].end};e.splice(n,o-n+1,c)}}if(t.has(e[n].kind))i.push(0);else if(r.has(e[n].kind))i.pop()}return e}function r3(e){for(let t=0;t>>=":"COMPOUND_ASSIGN"},ws={"**=":"COMPOUND_ASSIGN","&&=":"COMPOUND_ASSIGN","||=":"COMPOUND_ASSIGN","??=":"COMPOUND_ASSIGN","<<=":"COMPOUND_ASSIGN",">>=":"COMPOUND_ASSIGN","//=":"COMPOUND_ASSIGN","%%=":"COMPOUND_ASSIGN",">>>":"SHIFT","...":"...","<=>":"BIND"},_s={"==":"COMPARE","!=":"COMPARE","<=":"COMPARE",">=":"COMPARE","**":"**","&&":"&&","||":"||","??":"??","..":"..","+=":"COMPOUND_ASSIGN","-=":"COMPOUND_ASSIGN","*=":"COMPOUND_ASSIGN","/=":"COMPOUND_ASSIGN","%=":"COMPOUND_ASSIGN","&=":"COMPOUND_ASSIGN","^=":"COMPOUND_ASSIGN","|=":"COMPOUND_ASSIGN",":=":"REACTIVE_ASSIGN","~=":"COMPUTED_ASSIGN","<~":"GATE","=!":"READONLY_ASSIGN","<<":"SHIFT",">>":"SHIFT","//":"MATH","%%":"MATH","~>":"EFFECT","!>":"!>","=~":"MATCH","->":"->","=>":"=>","++":"++","--":"--","?.":"?.",".=":"METHOD_ASSIGN","*{":"MAP_START"},i3=new Set([".","?.","UNARY","NEW","DO","DO_IIFE","MATH","UNARY_MATH","+","-","**","SHIFT","RELATION","COMPARE","&","^","|","&&","||","??","TERNARY","EXTENDS"]),ir=new Set(["IDENTIFIER","PROPERTY",")","CALL_END","NUMBER","STRING","]","INDEX_END","SUPER","DAMMIT","MAYBE_DAMMIT","DYNAMIC_IMPORT"]),at=new Set([...ir,"BOOL","NULL","UNDEFINED","}","PICK_END","STRING_END","REGEX","HEREGEX_END","THIS","@"]);function n3(e,t){let r=t;while(r=e.length||s3.test(e[r+1])))r++;return r}var s3=/[\s,)\]};:]/,ki=/[0-9]/,a3=/^0b[01](?:_?[01])*n?|^0o[0-7](?:_?[0-7])*n?|^0x[\da-f](?:_?[\da-f])*n?|^\d+(?:_\d+)*n|^(?:\d+(?:_\d+)*)?\.?\d+(?:_\d+)*(?:e[+-]?\d+(?:_\d+)*)?/i,o3=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/,l3=/^\w*/,Ns=/^(?!.*(.).*\1)[gimsuy]*$/,c3=new Set([...at,"++","--"]);function f3(e,t="",{tolerant:r=!1}={}){An();let s=new ye(e,t),i=[],n=[],a=[],o=[""],l=[],c=0,f=0,h=!0,u=-1,d=!1,p=!1,m=null,g=(_)=>_?.kind==="{"||_?.kind===","||(_?.kind==="INDENT"||_?.kind==="TERMINATOR")&&l.length>0,b=(_)=>Boolean(rr[_]&&_!=="own")||Es.has(_)||Rs.has(_)||Boolean(Ei[_])||_==="in"||_==="of"||_==="when"||_==="import"||_==="export",S=(_,z)=>w&&g(_)&&/^[^\S\n]+as[^\S\n]/.test(z)||R&&_?.kind==="AS",w=!1,R=!1,T=!1,F=0,L=0,P=[],N=(_,z,q=z)=>{let{line:t1,col:C}=s.lineColAt(z),Y=Error(`${t}:${t1+1}:${C+1}: ${_}`);throw Y.reason=_,Y.start=z,Y.end=q,Y},D=(_,z,q=z)=>{try{N(_,z,q)}catch(t1){throw t1.openAtEnd=!0,t1}},O=(_,z,q,t1,C={})=>{if((_==="STRING"||_==="STRING_START")&&(w||R)){let o1=i[i.length-1];if(o1?.kind==="IDENTIFIER"&&o1.value==="from")o1.kind="FROM"}if(_==="IDENTIFIER"&&z==="from"&&i[i.length-1]?.kind==="YIELD")_="FROM";if(_==="IDENTIFIER"&&z==="from"&&i[i.length-1]?.kind==="IDENTIFIER"&&i[i.length-2]?.kind==="ACCEPT")_="FROM";if(_==="RELATION"){let o1=i[i.length-1];if(o1?.kind==="UNARY"&&o1.value==="!")i.pop(),z="!"+z,q=o1.start}let Y={id:L++,kind:_,value:z,start:q,end:t1,spaced:d,newLine:p,generated:!1,origin:null,...C};if(i.push(Y),!Y.generated&&P.length>0){for(let o1 of P)o1.origin=Y.id;P.length=0}d=!1,p=!1},W=(_,z)=>{let q={id:L++,kind:_,value:_,start:z,end:z,spaced:!1,newLine:!1,generated:!0,origin:null};P.push(q),i.push(q)},H=()=>i[i.length-1]??null,G=()=>{let _=i.length-1;while(_>=2&&i[_].kind==="."&&i[_-1].kind==="PROPERTY"&&i[_-2].kind===".")_-=2;let z=i[_-1];if(!z||z.kind==="INDENT"||z.kind==="TERMINATOR"||z.kind==="OUTDENT"||z.kind==="RENDER")return!0;return z.kind==="IDENTIFIER"&&$e.has(String(z.value).split("#")[0])},k=()=>{let _=0,z=0;for(let q=i.length-1;q>=0;q--){let t1=i[q].kind;if(t1==="OUTDENT")_++;else if(t1==="INDENT"){if(_--,_=0;C--){let Y=i[C].kind;if(Y==="TERMINATOR"||Y==="INDENT"||Y==="OUTDENT")break;if(Y==="COMPONENT")return!0}}}}return!1},v=()=>{if(!l[l.length-1]?.pickKeys)return!1;let z=H()?.kind;return z==="PICK_START"||z==="OPTPICK_START"||z===","||z===":"||z==="TERMINATOR"||z==="INDENT"||z==="OUTDENT"},j=(_,z)=>{let q=c;while(c=e.length)D("unterminated string",z);let t1=e.slice(q,c);return c+=_.length,t1},X=(_)=>_.replace(/\\[\s\S]|`|\$\{/g,(z)=>z[0]==="\\"?z:`\\${z}`),x=(_)=>{let z=null,q=/\n+([^\S\n]*)(?=\S)/g,t1;while(t1=q.exec(_))if(z===null||t1[1].length>0&&t1[1].length{if(z===null)return _??"";if(_===null)return z;return z.length<=_.length?z:_},U=(_,z)=>{if(z.length===1)return _;if(_=_.replace(/\r\n?/g,` +var k2=Object.defineProperty;var T2=(e)=>e;function w2(e,t){this[e]=T2.bind(null,t)}var Fe=(e,t)=>{for(var r in t)k2(e,r,{get:t[r],enumerable:!0,configurable:!0,set:w2.bind(t,r)})};class ye{constructor(e,t=""){this.path=t,this.text=e;let r=[0];for(let s=0;sthis.text.length)e=this.text.length;let t=this.lineStarts,r=0,s=t.length-1;while(r<=s){let i=r+s>>1;if(t[i]<=e)r=i+1;else s=i-1}return{line:s,col:e-t[s]}}offsetAt(e,t){if(e<0)return 0;if(e>=this.lineStarts.length)return this.text.length;let r=this.lineStarts[e],s=e+1r&&this.text.charCodeAt(s-1)===13)s--;let i=r+Math.max(0,t);return i>s?s:i}slice(e,t){return this.text.slice(e,t)}}var J={on:!1,n:0},As=()=>{if(J.on=typeof process<"u"&&!!process.env.RIP_COUNT_OPS,J.on)J.n=0;return J.on};class ii extends Error{constructor(e){super(e);this.name="TypeTextError"}}var jt=(e)=>String(e??"").trim(),Be=(e)=>String(e??""),vs=()=>{throw Error("rip: type-text rendering is unavailable in the browser")},Os=()=>{throw Error("rip: type-text rendering is unavailable in the browser")},Is=()=>()=>!1,$s=()=>new Set;function ne(e){return String(e).replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase()}function si(e){return String(e).replace(/_([a-z])/g,(t,r)=>r.toUpperCase())}function ni(e){return ne(e)+"_id"}function tt(e){if(typeof e!=="string"||!/^[a-z][a-zA-Z0-9]*$/.test(e))return!1;if(/[A-Z]{2,}/.test(e))return!1;return!0}function ai(e){if(typeof e!=="string"||!/^[A-Z][a-zA-Z0-9]*$/.test(e))return!1;if(/[A-Z]{2,}/.test(e))return!1;return!0}function _2(e){return typeof e==="string"&&/^[a-z_][a-z0-9_]*$/.test(e)}function N2(e){return typeof e==="string"&&e.length>0&&!/[\u0000-\u001f\u007f".]/.test(e)}var oi={__proto__:null,mixin:"target",times:"none",softDelete:"none",belongsTo:"target",hasOne:"target",hasMany:"target",index:"columns",unique:"columns",idStart:"int",table:"name",tableWas:"name",primary:"field"},Ds=["idStart","table","tableWas","primary","times","softDelete"],xs=["belongsTo","hasOne","hasMany"],li={__proto__:null,column:"literal",was:"column"},Cs={__proto__:null,as:"property",foreignKey:"column",through:"model",targetKey:"column"};function ci(e,t,r){if(typeof r!=="string"||!r.length)return"'"+t+"' requires a non-empty string";if(e==="property"&&!tt(r))return"'"+t+"' is a property name — canonical camelCase, e.g. {"+t+": author}";if(e==="model"&&!ai(r))return"'"+t+"' is a model name — canonical PascalCase, e.g. {"+t+": Membership}";if(e==="column"&&!_2(r))return"'"+t+"' is a column name Rip generates — lowercase, digits and underscores "+"only, e.g. {"+t+': "author_id"}';if(e==="literal"&&!N2(r))return"'"+t+"' is a database column name — any spelling the database uses, but with "+"no dots, double quotes, or control characters";return null}var A2=new Set(["input","shape","mixin","enum","union","model"]);var v2=new Set(["beforeValidation","afterValidation","beforeSave","afterSave","beforeCreate","afterCreate","beforeUpdate","afterUpdate","beforeDestroy","afterDestroy","afterCommit","afterRollback"]),Ps=new Set(["integer","number","boolean","date","datetime"]),O2={__proto__:null,id:"integer",int:"integer",whole:"integer",float:"number",money:"integer",money_even:"integer",cents:"integer",decimal:"string",bool:"boolean",truthy:"boolean",falsy:"boolean",json:"json",hash:"json",array:"json",ids:{type:"integer",array:!0},string:"string",text:"string",name:"string",address:"string",date:"string",time:"string",time12:"string",email:"email",state:"string",zip:"zip",zipplus4:"string",ssn:"string",sex:"string",phone:"string",username:"string",ip:"string",mac:"string",url:"url",color:"string",uuid:"uuid",semver:"string",slug:"string"},I2=new Set(["string","email","url","phone","zip"]),$2=new Set(["TERMINATOR","INDENT","OUTDENT","=","COMPOUND_ASSIGN","RETURN","THROW","YIELD","AWAIT","EXPORT",",","(","[","{","CALL_START","PARAM_START","INDEX_START","->","=>",":","WHEN","LEADING_WHEN","THEN","IF","UNLESS","UNARY","UNARY_MATH"]),Ls=new Set(["defaultMaxString"]),L1=(e)=>e&&(e.kind==="IDENTIFIER"||e.kind==="PROPERTY"),rt=(e)=>e&&typeof e.value==="string"&&/^[a-z]+$/.test(e.value)&&(e.kind===e.value.toUpperCase()||e.kind==="LEADING_WHEN"||e.kind==="RELATION"||e.kind==="STATEMENT"),D2=(e)=>`__${e}__behavior`,H1=(e,t,r=!1)=>{if(e[t]?.kind!==":")return null;let s=e[t+1];if(!s||s.spaced)return null;if(L1(s)||r&&/^[a-z]+$/.test(s.value)&&s.kind===s.value.toUpperCase())return s;return null};function x2(e,t){if(typeof e?.start!=="number")throw e;t(e)}function Us(e,t,r,s,i=null){if(r.indexOf("schema")===-1)return;let n=[],a={defaultMaxString:null,tolerate:i},o=0,l=0;while(l0){l+=h;continue}if(L2(e,l,s)){l=M2(e,l,n,a,t,s,r);continue}n.push(c),l++}e.length=0;for(let c of n)e.push(c)}function C2(e,t,r,s,i){let n=e[t];if(!n||n.kind!=="IDENTIFIER"||n.value!=="schema")return 0;if(e[t+1]?.kind!==".")return 0;let a=e[t+2];if(!a||a.kind!=="PROPERTY")return 0;if(e[t+3]?.kind!=="=")return 0;let o=e[t-1];if(o&&o.kind!=="TERMINATOR"&&o.kind!=="INDENT"&&o.kind!=="OUTDENT")return 0;let l=a.value;if(!Ls.has(l))i(`unknown schema pragma 'schema.${l}' — known pragmas: ${[...Ls].join(", ")}`,a.start);if(s>0)i(`schema pragma 'schema.${l}' must be declared at file top level — inside a nested block it would leak into later top-level schemas`,a.start);let c=e[t+4];if(!c||c.kind!=="NUMBER")i(`pragma 'schema.${l}' requires a number literal — example: schema.${l} = 100`,(c??a).start);let h=Number(c.value);if(!Number.isFinite(h)||h<0||!Number.isInteger(h))i(`pragma 'schema.${l}' expects a non-negative integer (got ${c.value}); use 0 to disable`,c.start);r[l]=h===0?null:h;let f=t+5;if(e[f]?.kind==="TERMINATOR")f++;return f-t}var Vs=(e,t)=>{if(e[t]?.kind==="SYMBOL")return e[t];return e[t]?.kind===":"&&e[t].spaced?H1(e,t,!0):null},Ws=(e,t)=>e[t]?.kind==="SYMBOL"?1:2,P2=(e,t)=>{if(e[t]?.kind!==","||!L1(e[t+1])||e[t+1].value!=="on")return t;let r=t+2;if(e[r]?.kind===":")r++;while(r")n("inline schema bodies do not support '->' (methods/hooks/scopes/transforms) — use the indented form",R.start);else if(w===0&&(T==="EFFECT"||T==="!>"))n(`inline schema bodies do not support '${R.value}' (${T==="EFFECT"?"computed getters":"eager-derived fields"}) — use the indented form`,R.start);S++}while(S>b&&e[S-1].kind==="TERMINATOR")S--;if(d=e.slice(b,S),p=S,!d.length)n("inline schema body is empty — add '; field; …' entries or switch to the indented form",o.start);m=d[d.length-1].end}else{if(e[h]?.kind==="TERMINATOR")h++;if(e[h]?.kind!=="INDENT")n(`expected an indented schema body after 'schema${c?" :"+l:""}'`,o.start);let b=h,S=0,w=-1;for(let R=b;Rb.kind==="SYMBOL"?[{...b,kind:":",value:":",end:b.start+1},{...b,kind:"IDENTIFIER",start:b.start+1,spaced:!1}]:[b]);let g=j2(l,c,d,{schemaStart:o.start,defaultMaxString:s.defaultMaxString,tolerate:s.tolerate??null},n);if(u)g.adapterTokens=u;return g.start=(c??d[0]).start,g.end=m,g.primitiveSpans=[c,...d].filter((b)=>b&&typeof b.value==="string"&&/^[A-Za-z_$][\w$]*$/.test(b.value)).map((b)=>({value:b.value,sourceStart:b===c&&b.end-b.start===b.value.length+1?b.start+1:b.start,sourceEnd:b.end})),r.push({id:i(),kind:"SCHEMA",value:"schema",start:o.start,end:o.end,spaced:o.spaced}),r.push({id:i(),kind:"SCHEMA_BODY",value:g,start:g.start,end:g.end,spaced:!0}),p}function j2(e,t,r,s,i){let n=[],a=F2(r);if(e==="input"&&!t&&a.length>0&&H1(a[0],0))e="enum";if(e==="enum")for(let o of a)Z2(o,n,i);else if(e==="union"){for(let c of a)J2(c,n,i);let o=n.filter((c)=>c.tag==="directive"&&c.name==="on").length,l=n.filter((c)=>c.tag==="union-member");if(o!==1)i(o===0?":union requires an '@on :field' discriminator — untagged unions are not supported":`:union takes exactly one '@on :field' discriminator (got ${o})`,s.schemaStart);if(l.length<2)i(`:union needs at least two constituent schemas (got ${l.length})`,s.schemaStart)}else{for(let o of a)B2(e,o,n,s,i);if(e==="model")H2(n,i);else for(let o of n){if(o.tag==="scope"||o.tag==="defaultScope")i(`:${e} schemas don't accept query scopes — '@${o.tag==="scope"?"scope":"defaultScope"}' is :model-only`,o.start);if(e==="mixin"&&(o.tag==="method"||o.tag==="computed"||o.tag==="derived"))i(`:mixin schemas are fields-only — '${o.name}' is a ${o.tag}; move it to a :shape or :model`,o.start);if(e==="mixin"&&o.tag==="ensure")i(":mixin schemas don't accept @ensure refinements — move the invariant to a :shape or :model that composes this mixin",o.start);if(e==="input"&&(o.tag==="method"||o.tag==="computed"))i(`:input schemas are fields-only — '${o.name}' is a ${o.tag}; use :shape or :model if you need behavior`,o.start);if(o.tag==="directive"&&o.name!=="mixin")i(`:${e} schemas only accept '@mixin Name'${e==="input"?" and '@ensure'":""} — '@${o.name}' is ${["times","softDelete","belongsTo","hasMany","hasOne","unique","index","idStart","table","tableWas","primary"].includes(o.name)?":model-only":"not a schema directive"}`,o.start)}}return{kind:e,entries:n,toJSON(){return this.kind}}}function F2(e){let t=[],r=[],s=0;for(let i of e){if(i.kind==="INDENT")s++;if(i.kind==="OUTDENT")s--;if(i.kind==="TERMINATOR"&&s===0){if(r.length)t.push(r),r=[];continue}r.push(i)}if(r.length)t.push(r);return t}function B2(e,t,r,s,i){let n=t[0];if(!n)return;if(n.kind==="@"){let F=t[1];if(!L1(F))i("expected a directive name after '@'",n.start);let e1=F.value;if(e1==="ensure"){let d1=2,I=!1;if(t[2]?.kind==="DAMMIT"&&!t[2].spaced)I=!0,d1=3;let l1=G2(t.slice(d1),n,i);for(let L of l1)r.push({tag:"ensure",name:"ensure",message:L.message,field:L.field,fieldStart:L.fieldStart,async:I,paramTokens:L.paramTokens,bodyTokens:L.bodyTokens,start:n.start});return}if(e1==="scope"){let d1=W2(t.slice(2),n,i);r.push({tag:"scope",name:d1.name,paramTokens:d1.paramTokens,bodyTokens:d1.bodyTokens,start:n.start});return}if(e1==="defaultScope"){let d1=Hs(t.slice(2),n,"@defaultScope",i);if(d1.paramTokens.length)i("@defaultScope takes no parameters — write '@defaultScope -> @where(...)'",n.start);r.push({tag:"defaultScope",name:"defaultScope",paramTokens:[],bodyTokens:d1.bodyTokens,start:n.start});return}let Q=null,a1=t.slice(2);if(e1==="mixin"){let d1=a1[0];if(!L1(d1))i("@mixin requires a target name — '@mixin Timestamps'",n.start);if(a1.length>1)i("@mixin takes exactly one schema name",a1[1].start);Q=[{target:d1.value}]}r.push({tag:"directive",name:e1,args:Q,argTokens:a1,start:n.start,nameStart:F.start});return}if(n.kind==="PROPERTY"){if(s.tolerate){try{Ms(e,n,t,r,i)}catch(F){x2(F,s.tolerate)}return}Ms(e,n,t,r,i);return}if(n.kind!=="IDENTIFIER"&&!rt(n))i(`unexpected ${n.kind} at schema top level — allowed: fields ('name! type'), directives ('@name'), methods ('name: -> body'), computed getters ('name: ~> body')`,n.start);let a=n.value;if(t[1]?.kind===":")i(`schema fields use 'name type' (space, no colon) — got '${a}:'`,t[1].start);let o=[],l=1;while(l{if(t[F]?.kind==="STRING"&&t[F].value.startsWith('"'))return{value:JSON.parse(t[F].value),bracketed:!1,start:t[F].start,end:t[F].end,next:F+1};if((t[F]?.kind==="["||t[F]?.kind==="INDEX_START")&&t[F+1]?.kind==="STRING"&&t[F+1].value.startsWith('"')&&(t[F+2]?.kind==="]"||t[F+2]?.kind==="INDEX_END"))return{value:JSON.parse(t[F+1].value),bracketed:!0,start:t[F].start,end:t[F+2].end,next:F+3};return null},S=void 0,w=null,R=b(l);if(m?.kind==="UNARY_MATH"&&m.value==="~"){let F=H1(t,l+1),e1=t[l+1];if(F){f=!0,u=F.value;let Q=O2[u];if(Q&&typeof Q==="object")c=Q.type,d=!0;else c=Q||"any";l+=3}else if(e1?.kind==="IDENTIFIER"&&!e1.spaced){if(!Ps.has(e1.value))i(`'~${e1.value}' is not coercible — built-in coercion exists for: ${[...Ps].join(", ")}; named coercers use a symbol ('~:${e1.value}'); otherwise write a transform ('${a}, -> …')`,e1.start);f=!0,c=e1.value,l+=2}else i("'~' in the type slot marks coercion and needs a type name ('~integer', '~date', …) or a registered coercer symbol ('~:ssn', …)",m.start);p=!0}else if(m?.kind==="IDENTIFIER")c=m.value,p=!0,l++;else if(R&&(!R.bracketed||t[R.next]?.kind==="|")){h=[];let F=(e1)=>{if(h.push(e1.value),e1.bracketed){if(w)i(`field '${a}' brackets more than one union member as its default — a field has one default`,e1.start);S=e1.value,w={start:e1.start,end:e1.end}}};F(R),l=R.next,p=!0;while(t[l]?.kind==="|"){let e1=b(l+1);if(!e1)i(`literal unions contain string literals only — '${t[l+1]?.kind??""}' is not allowed as a union member; use the '?' modifier for nullability`,t[l].start);F(e1),l=e1.next}c="literal-union"}let T=!1,j=(F)=>(t[F]?.kind==="["||t[F]?.kind==="INDEX_START")&&(t[F+1]?.kind==="]"||t[F+1]?.kind==="INDEX_END");if(j(l)){if(T=!0,l+=2,j(l))i(`field '${a}' — nested array types ('${c}[][]') are not supported: one '[]' validates element-wise; use 'json' or a '-> transform' for deeper nesting`,t[l].start)}if(f&&T)i(`coercion ('~${c}') does not apply to array types — coerce per-element with a transform instead`,m.start);if(d)T=!0;if(T&&h)i("array-of-literal-union is not supported — use 'string[]' for an array of strings",m.start);let M=m?.kind==="UNARY_MATH"&&m.value==="~"?t[g+1]:m,x=p?[M.start,t[l-1].end]:null,A=t.slice(l);if(p&&A[0]?.kind==="->")i(`field '${a}' has a transform after the type; a comma is required before '->' — write '${a} ${c}, -> …'`,A[0].start);let C=null,O=void 0,W=!1;if(w)O=S,W=!0;let G={};if(w)G.start=w.start,G.end=w.end;let Y=null,k=null,v=null,U=!1,Z=!1;if(A.length>0){if(A[0]?.kind===",")A=A.slice(1);if(A.length>=2&&A[0].kind==="INDENT"){let e1=0,Q=-1;for(let a1=0;a1"){let d1=il(Q),I=Q[0].kind==="@"&&d1===2;if(d1>0&&!I)i(`field '${a}' has a transform after other content; a comma is required before '->'`,Q[d1].start);if(!I){while(Q.length&&(Q[Q.length-1].kind==="OUTDENT"||Q[Q.length-1].kind==="TERMINATOR"))Q=Q.slice(0,-1);if(!Q.length)continue}}let a1=Q[0];if(a1.kind==="["||a1.kind==="INDEX_START"){if(W)i(`field '${a}' has more than one '[…]' default bracket`,a1.start);O=tl(Q,a,i,G),W=!0}else if(a1.kind==="{"){if(e!=="model"&&e!=="mixin")i(`field attrs ('{…}') are persistence metadata — :model/:mixin-only ('{was: "old_column"}' annotates a column rename)`,a1.start);if(v)i(`field '${a}' has more than one '{…}' attrs bracket`,a1.start);v=U2(Q,a,i)}else if(Q2(Q)){if(C)i(`field '${a}' has more than one range constraint — one 'min..max' per field`,a1.start);C=el(Q,a,i)}else if(a1.kind==="REGEX"&&Q.length===1){if(Y)i(`field '${a}' has more than one regex constraint`,a1.start);Y=rl(a1,i)}else if(a1.kind==="->"){if(e1!==F.length-1)i(`transform '-> …' must be the last element on the field line for '${a}'`,a1.start);k=Q.slice(1)}else if(a1.kind==="@"){let d1=L1(Q[1])?Q[1].value:null;if(e!=="model"&&e!=="mixin")i(`inline '@${d1??""}' on field '${a}' is persistence metadata — :model/:mixin-only ('@unique' marks single-column uniqueness)`,a1.start);if(Q.length>2&&Q[2].kind==="->"){if(e1!==F.length-1)i(`transform '-> …' must be the last element on the field line for '${a}'`,Q[2].start);k=Q.slice(3),Q=Q.slice(0,2)}if(Q.length===2&&d1==="unique"){if(U)i(`field '${a}' has more than one '@unique'`,a1.start);U=!0}else if(Q.length===2&&d1==="primary"){if(e!=="model")i(`inline '@primary' on field '${a}' is :model-only — a mixin cannot declare the primary key`,a1.start);if(Z)i(`field '${a}' has more than one '@primary'`,a1.start);Z=!0}else i(`unknown inline attribute '@${d1??""}' on field '${a}' — the inline attributes are '@unique' and '@primary'`,a1.start)}else i(`unexpected trailer for field '${a}' — expected '[…]' default, '/regex/', 'min..max' range, or '-> transform'`,a1.start)}}if(f&&k)i(`field '${a}' has both '~${c}' coercion and a '->' transform — a transform replaces coercion; coerce inside it instead`,n.start);let P={};if(C){if(C.min!==void 0)P.min=C.min;if(C.max!==void 0)P.max=C.max;if(C.min===void 0&&P.min===void 0&&o.includes("!"))P.min=1}if(Y)P.regex=Y;if(W)P.default=O;if(h&&P.default!==void 0&&!h.includes(P.default))i(`field '${a}' defaults to ${JSON.stringify(P.default)}, which is not a member of its literal union (${h.map((F)=>JSON.stringify(F)).join(" | ")})`,n.start);if(s.defaultMaxString!=null&&!Y&&!h&&I2.has(c)&&P.max===void 0)P.max=s.defaultMaxString;if(P.min!==void 0&&P.max!==void 0&&P.min>P.max)i(`field '${a}' would have impossible constraints min=${P.min} > max=${P.max} after sugar is applied — write an explicit range or drop the conflicting pragma`,n.start);let X=P.min!==void 0||P.max!==void 0||P.default!==void 0||P.regex!==void 0?P:null;r.push({tag:"field",name:a,modifiers:o,typeName:c,array:T,literals:h,coerce:f,coercer:u,constraints:X,transformTokens:k,unique:U,primary:Z,attrs:v,start:n.start,typeSpan:x,defaultSpan:G.start===void 0?null:[G.start,G.end]})}function hi(e,t,r,s){if(e[e.length-1]?.kind!=="}")s(`${r} — the '{…}' options bracket never closes`,e[0].start);let i=e.slice(1,-1).filter((a)=>a.kind!=="TERMINATOR"&&a.kind!=="INDENT"&&a.kind!=="OUTDENT"),n={};for(let a of Ie(i)){if(!a.length)continue;let o=a[0];if(!L1(o))s(`${r} options must be '{key: value}' pairs — got ${o.kind}`,o.start);let l=o.value,c=t[l];if(c===void 0)s(`unknown ${r} option '${l}' — known options: ${Object.keys(t).join(", ")}`,o.start);if(l in n)s(`${r} repeats option '${l}'`,o.start);let h=1;if(a[h]?.kind===":")h++;let f=a.slice(h);if(f.length!==1)s(`${r} option '${l}' takes a single value`,(f[0]??o).start);let u=f[0],d=c==="property"||c==="model",p;if(d){if(!L1(u)&&!rt(u)){let g=u.kind==="STRING"&&u.value.startsWith('"')?JSON.parse(u.value):null,b=g&&!ci(c,l,g)?g:c==="model"?"Membership":"author";s(`${r} option '${l}' names ${c==="model"?"a model":"a property"}, `+`so it is written BARE — '{${l}: ${b}}', not ${u.kind==="STRING"?u.value:`a ${u.kind}`}. Quoting would name a database identifier, which is a different thing`,u.start)}p=u.value}else{if(u.kind!=="STRING"||!u.value.startsWith('"'))s(`${r} option '${l}' names a database column, so it is QUOTED — `+`'{${l}: "${L1(u)?ne(u.value):"author_id"}"}'. A bare name would be a Rip name, which is a different thing`,u.start);p=JSON.parse(u.value)}let m=ci(c,l,p);if(m)s(`${r} option ${m}; got '${p}'`,o.start);n[l]=p}if(!Object.keys(n).length)s(`${r} has an empty '{…}' options bracket`,e[0].start);return n}function U2(e,t,r){return hi(e,li,`field '${t}'`,r)}function V2(e,t,r){let s=hi(e,Cs,`@${t}`,r);if(s.through&&t==="belongsTo")r("@belongsTo option 'through' is for @hasMany/@hasOne — a @belongsTo holds its key in its own row, so it has nothing to read through",e[0].start);if(s.targetKey&&!s.through)r(`@${t} option 'targetKey' names a column on the join model, so it requires 'through' — '{through: Membership, targetKey: "team_id"}'`,e[0].start);return s}function W2(e,t,r){if(!e.length)r("@scope requires ':name, -> body' (or ':name, (args) -> body')",t.start);let s=H1(e,0);if(!s)r("@scope name must be a :symbol — '@scope :active, -> @where(active: true)'",e[0].start);let i=s.value,n=e[2],a=n&&!n.spaced&&n.start===s.end&&(n.value==="!"||n.value==="?");if(a||!/^[a-z][a-zA-Z0-9]*$/.test(i))r(`@scope name ':${i}${a?n.value:""}' must be a lowercase-first alphanumeric identifier — scopes chain as query-builder methods`,s.start);let o=e.slice(2);if(o[0]?.kind===",")o=o.slice(1);if(!o.length)r(`@scope :${i} is missing its body — '@scope :${i}, -> @where(...)'`,s.start);let l=Hs(o,s,`@scope :${i}`,r);return{name:i,paramTokens:l.paramTokens,bodyTokens:l.bodyTokens}}function Hs(e,t,r,s){if(!e.length)s(`${r}: expected '-> body' or '(args) -> body'`,t.start);let i=[],n=0,a=e[0];if(a.kind==="("||a.kind==="PARAM_START"||a.kind==="CALL_START"){let c=1;n=1;while(n0){let h=e[n].kind;if(h==="("||h==="PARAM_START"||h==="CALL_START")c++;if(h===")"||h==="PARAM_END"||h==="CALL_END"){if(c--,c===0){n++;break}}i.push(e[n]),n++}if(c!==0)s(`${r}: unclosed '(' in parameters`,a.start)}let o=e[n];if(o?.kind!=="->")s(`${r}: expected '->' ${i.length?"after parameters":"to start the body"}`,(o??t).start);let l=e.slice(n+1);if(!l.length)s(`${r}: function body is empty`,o.start);return{paramTokens:i,bodyTokens:l}}function H2(e,t){let r=new Set;for(let m of e){if(m.tag!=="directive")continue;let g=oi[m.name];if(g===void 0)t(`unknown directive '@${m.name}' on :model — legal: ${Object.keys(oi).map((b)=>"@"+b).join(", ")}, @ensure, @scope, @defaultScope`,m.nameStart??m.start);if(Ds.includes(m.name)){if(r.has(m.name))t(g==="none"?`duplicate '@${m.name}' — declared twice; a :model declares it once`:`duplicate '@${m.name}' — a :model declares it at most once (the second would silently override the first)`,m.nameStart??m.start);r.add(m.name)}if(m.name!=="mixin")m.args=K2(m,g,t)}if(e.some((m)=>m.tag==="directive"&&m.name==="mixin"))return;let i=new Set,n=new Map,a=new Map,o=new Map,l=(m,g,b,S)=>{if(i.has(g))t(`${n.get(g)} and ${b} both own column '${g}' — every table column has exactly one owner`,S);if(a.has(m))t(`${o.get(m)} and ${b} both own property '${m}' (columns '${a.get(m)}' and '${g}') — every property reads exactly one column`,S);i.add(g),n.set(g,b),a.set(m,g),o.set(m,b)},c=e.find((m)=>m.tag==="directive"&&m.name==="primary"),h=e.filter((m)=>m.tag==="field"&&m.primary);if(h.length>1)t(`both '${h[0].name}' and '${h[1].name}' declare '@primary' — a row has one identity`,h[1].start);if(h.length===1){if(c)t(`'@primary ${c.args[0].name}' and inline '@primary' on field '${h[0].name}' are two answers to one question — state it once`,c.start);c={tag:"directive",name:"primary",args:[{name:h[0].name}],start:h[0].start}}let f=c?c.args[0].column??ne(c.args[0].name):"id",u=c?c.args[0].name:"id",d=e.find((m)=>m.tag==="field"&&m.name===u)??null,p=!!(c&&d);if(!c&&d)t(`field '${u}' collides with the runtime-managed primary key — a :model's ${u} is sequence-assigned. Drop the declaration, or write '@primary ${u}' to make it a caller-supplied natural key instead`,d.start);if(p){if(!d.modifiers?.includes("!"))t(`the primary key '${u}' is declared optional — a row's identity is never absent; declare it required ('${u}! string')`,d.start);if(d.array)t(`the primary key '${u}' is declared as an array — a primary key is one value`,d.start);let m=e.find((g)=>g.tag==="directive"&&g.name==="idStart");if(m)t(`@idStart seeds the sequence behind a runtime-managed primary key, but '${u}' is declared as a field, which makes it caller-supplied — there is no sequence to seed. Drop @idStart, or drop the field declaration`,m.start);if(c.args[0].column!==void 0&&c.args[0].column!==(d.attrs?.column??ne(u)))t(`@primary names column '${c.args[0].column}' but field '${u}' reads a different one — state the column once, on the field`,c.start)}else l(u,f,"the primary key",c?.start??e[0]?.start??0);for(let m of e){if(m.tag!=="field")continue;l(m.name,m.attrs?.column??ne(m.name),`field '${m.name}'`,m.start)}for(let m of e){if(m.tag!=="directive")continue;if(m.name==="times")l("createdAt","created_at","@times",m.start),l("updatedAt","updated_at","@times",m.start);else if(m.name==="softDelete")l("deletedAt","deleted_at","@softDelete",m.start);else if(m.name==="belongsTo"){let g=m.args[0],b=g.foreignKey??ni(g.as??g.target);l(si(b),b,`the @belongsTo ${g.target}${g.as?` (as ${g.as})`:""} relation`,m.start)}}for(let m of e){if(m.tag!=="directive"||m.name!=="index"&&m.name!=="unique")continue;let g=m.args[0].fields.map((b)=>a.get(b)??(i.has(b)?b:ne(b)));g.forEach((b,S)=>{if(g.indexOf(b)!==S)t(`@${m.name} columns must be distinct after canonicalization: ${g.join(", ")}`,m.colTokens?.[S]?.start??m.start)}),g.forEach((b,S)=>{if(!i.has(b))t(`@${m.name}: unknown column '${m.args[0].fields[S]}' — the table has: ${[...i].sort().join(", ")}`,m.colTokens?.[S]?.start??m.start)})}}function K2(e,t,r){let s=e.argTokens??[],i=(n,a)=>r(`@${e.name}: ${a}`,n.start);switch(t){case"none":{if(s.length)i(s[0],"takes no arguments");return null}case"target":{let n=s[0];if(!L1(n))r(`@${e.name} requires a target name — '@${e.name} User'`,(n??{start:e.start}).start);let a=!1,o=1;if(s[o]?.kind==="?"&&!s[o].spaced)a=!0,o++;let l=null;if(s[o]?.kind===","&&s[o+1]?.kind==="{")l=V2(s.slice(o+1),e.name,r),o=s.length;if(oL1(c)||rt(c),l=0;if(H1(s,0)){let c=H1(s,0);n.push(c.value),a.push(c),l=2}else if(o(s[0]))n.push(s[0].value),a.push(s[0]),l=1;else if(s[0]?.kind==="["||s[0]?.kind==="INDEX_START"){let c=1;l=1;let h=[];while(l0){let f=s[l];if(f.kind==="["||f.kind==="INDEX_START")c++;if(f.kind==="]"||f.kind==="INDEX_END"){if(c--,c===0){l++;break}}if(c>=1)h.push(f);l++}if(c!==0)i(s[0],"unclosed '[' in the column list");for(let f of Ie(h)){let u=H1(f,0),d=u??(o(f[0])?f[0]:null);if(!d||f.length>(u?2:1))i(f[u?2:1]??f[0]??s[0],`column names are bare identifiers or :symbols — '@${e.name} [:a, :b]'`);n.push(d.value),a.push(d)}}if(!n.length)r(`@${e.name} requires a field name or list — '@${e.name} :email' or '@${e.name} [:a, :b]'`,(s[0]??{start:e.start}).start);if(l1)i(s[1],`takes one table name — unexpected ${s[1].kind}`);if(o);else{if(/[A-Z]{2,}/.test(a))r(`@${e.name} ${a}: a bare name is a LOGICAL name that Rip snake_cases, and consecutive capitals convert surprisingly ('${a}' → '${ne(a)}'). Spell it 'MdmUser'-style, or name the table exactly by quoting it: '@${e.name} "${a}"'`,n.start);a=ne(a)}return[{name:a}]}case"field":{let n=s[0];if(!L1(n)&&!rt(n))r(`@${e.name} requires a property name — '@${e.name} patientId'`,(n??{start:e.start}).start);let a=1,o=null;if(s[a]?.kind===","&&s[a+1]?.kind==="{")o=hi(s.slice(a+1),li,`@${e.name}`,r),a=s.length;if(a0){let d=r[a].kind;if(d==="("||d==="PARAM_START"||d==="CALL_START")u++;if(d===")"||d==="PARAM_END"||d==="CALL_END"){if(u--,u===0){a++;break}}o.push(r[a]),a++}if(u!==0)i(`'${n}': unclosed '(' in parameters`,r[2].start)}let l=r[a],c=null,h=-1;if(l?.kind==="->"||l?.kind==="EFFECT"||l?.kind==="!>")c=l.kind==="EFFECT"?"~>":l.kind,h=a+1;else if(L1(l)||l?.kind==="STRING"||l?.kind==="NUMBER")i(`schema fields use 'name type' (space, no colon) — got '${n}:'; for methods/computed use 'name: -> body' or 'name: ~> body'`,r[1].start);else i(`schema top-level '${n}:' must be followed by '->' (method), '~>' (computed getter), or '!>' (eager derived)`,r[1].start);let f=c==="~>"?"computed":c==="!>"?"derived":e==="model"&&v2.has(n)?"hook":"method";if(o.length&&f!=="method")i(`'${n}': ${f==="computed"?"computed getters (~>)":f==="derived"?"eager-derived fields (!>)":"lifecycle hooks"} take no parameters — only methods do`,r[1].start);s.push({tag:f,name:n,paramTokens:o,bodyTokens:r.slice(h),start:t.start})}function G2(e,t,r){let s=e;if(!s.length)r("@ensure requires 'message, (x) -> body' or a '[…]' array of pairs",t.start);let i=s[0];if(i.kind==="["||i.kind==="INDEX_START"){let a=Y2(s,i,r),o=z2(a);if(o.length===0)r("@ensure […] must contain at least one 'message, fn' pair",i.start);return js(o,i,r)}let n=Ie(s);if(n.length<2)r("@ensure inline form must be 'message, (x) -> body' — did you forget the comma?",i.start);if(n.length>3||n.length===3&&!Ks(n[1]))r(`@ensure inline form takes 'message[, :field], fn' (got ${n.length} comma-separated parts) — use '@ensure […]' for multiple refinements`,i.start);return js(n,i,r)}var Ks=(e)=>e&&e.length===2&&H1(e,0)!==null;function js(e,t,r){let s=[],i=0;while(i=e.length)r(`@ensure: missing function after message${a?" and :field":""}`,(n[0]??t).start);s.push(q2(n,a,e[i++],t,r))}return s}function Y2(e,t,r){let s=0,i=[];for(let n=0;n=2&&i[0].kind==="INDENT"&&i[i.length-1].kind==="OUTDENT"){let o=0,l=!1;for(let c=0;c=1)i.push(a)}r("@ensure: unclosed '['",t.start)}function z2(e){let t=[],r=[],s=0;for(let i of e){let n=i.kind;if(n==="("||n==="["||n==="{"||n==="CALL_START"||n==="INDEX_START"||n==="PARAM_START"||n==="INDENT")s++;if(n===")"||n==="]"||n==="}"||n==="CALL_END"||n==="INDEX_END"||n==="PARAM_END"||n==="OUTDENT")s--;if(s===0&&(n===","||n==="TERMINATOR")){if(r.length)t.push(r),r=[];continue}r.push(i)}if(r.length)t.push(r);return t}function q2(e,t,r,s,i){if(!e?.length)i("@ensure: missing message (expected a string literal)",s.start);if(e.length!==1||e[0].kind!=="STRING"||!e[0].value.startsWith('"'))i("@ensure: each refinement's first element must be a string literal message",(e[0]??s).start);let n=e[0],a=JSON.parse(n.value),o=t?H1(t,0):null,l=t?o.value:null,c=o?.start??null;if(!r?.length)i("@ensure: missing function after message",n.start);let h=r[0];if(h.kind!=="("&&h.kind!=="PARAM_START")i("@ensure: expected '(args) -> body' after the message — predicates declare their parameter explicitly ('(u) -> …')",h.start);let f=1,u=1,d=[];while(u0){let g=r[u].kind;if(g==="("||g==="PARAM_START")f++;if(g===")"||g==="PARAM_END"){if(f--,f===0){u++;break}}d.push(r[u]),u++}if(f!==0)i("@ensure: unclosed '(' in predicate parameters",h.start);let p=r[u];if(p?.kind!=="->")i("@ensure: expected '->' after predicate parameters",(p??n).start);let m=r.slice(u+1);if(!m.length)i("@ensure: predicate function body is empty",p.start);return{message:a,field:l,fieldStart:c,paramTokens:d,bodyTokens:m}}function Gs(e,t,r,s=null){if(!e.length)return[];let i=X2(e,t,r,s);for(let n=i.length-1;n>=0&&i[n].type===null;n--)i[n].optional=!0;return i}function X2(e,t,r,s){let i=(n)=>n.kind!=="TERMINATOR"&&n.kind!=="INDENT"&&n.kind!=="OUTDENT";return Ie(e).map((n)=>{let a=n.filter((h)=>i(h)&&h.kind!=="TYPE"),o=a.length>=3&&(a[0].kind==="IDENTIFIER"||a[0].kind==="PROPERTY")&&a[1].kind===":";if(!o&&(a.length!==1||a[0].kind!=="IDENTIFIER"))r(`${t}: parameters must be plain identifiers, optionally typed ('name' or 'name: Type')`,(a[0]??n[0]).start);let l=o?[...n].filter(i).pop():null,c=o&&s!==null?jt(s.slice(a[1].end,l.end)).trim():null;return{name:a[0].value,type:c,optional:!1}})}function J2(e,t,r){let s=e[0];if(!s)return;if(s.kind==="@"){let i=e[1];if(!i||i.value!=="on")r(`:union bodies accept only '@on :field' and constituent schema names — '@${i?.value??""}' is not allowed`,(i??s).start);let n=H1(e,2);if(!n)r("@on requires the discriminator field as a symbol — '@on :kind'",(e[2]??i).start);if(e.length>4)r("@on takes exactly one :field symbol",e[4].start);t.push({tag:"directive",name:"on",args:[{field:n.value}],start:s.start});return}if(s.kind==="IDENTIFIER"&&e.length===1){t.push({tag:"union-member",name:s.value,start:s.start});return}r(`:union bodies accept only '@on :field' and bare constituent schema names (one per line) — got ${s.kind}${e.length>1?" followed by "+e[1].kind:""}`,s.start)}function Z2(e,t,r){let s=e[0];if(!s)return;if(s.kind==="@")r(`:enum schemas don't accept '@${e[1]?.value??"directive"}' — enums hold only :symbol members`,s.start);let i=H1(e,0);if(!i)r(`enum member must be a :symbol — use ':${s.value??"name"}' for a bare member or ':${s.value??"name"} value' for a valued one`,s.start);let n=i.value,a=e[2];if(!a){t.push({tag:"enum-member",name:n,value:void 0,start:s.start});return}if(a.kind===":")r(`enum member ':${n}' — drop the ':' before the value; use ':${n} value'`,a.start);if(e.length>3&&!(e.length===4&&a.kind==="-"&&e[3].kind==="NUMBER"))r(`extra tokens after enum member ':${n}' value`,e[3].start);let o=a.kind==="-"&&e[3]?.kind==="NUMBER"?-Number(e[3].value):Ys(a,`enum member ':${n}' value`,r);t.push({tag:"enum-member",name:n,value:o,start:s.start})}function Q2(e){return e.some((t)=>t.kind==="..")&&e.every((t)=>t.kind===".."||t.kind==="NUMBER"||t.kind==="-")}function el(e,t,r){let s=0,i=()=>{let l=1;if(e[s]?.kind==="-")l=-1,s++;let c=e[s++];if(c?.kind!=="NUMBER")r("range endpoints must be numeric literals",(c??e[0]).start);return l*Number(c.value)},n;if(e[s]?.kind!=="..")n=i();s++;let a;if(sa)r(`range '${n}..${a}' is reversed — write the smaller endpoint first`,e[0].start);let o={};if(n!==void 0)o.min=n;if(a!==void 0)o.max=a;return o}function tl(e,t,r,s={}){let i=e.slice(1,-1);if(i.length)s.start=i[0].start,s.end=i[i.length-1].end;let n=Ie(i);if(n.length!==1)r(n.length===2?"size/value ranges use 'min..max' syntax, not brackets — replace the bracket pair with a range":`the constraint bracket takes a single default value (got ${n.length} elements)`,e[0].start);let a=n[0];if(a.length===1&&a[0].kind==="REGEX")r(`regex constraints are written bare, not in brackets — replace '[${a[0].value}]' with '${a[0].value}'`,e[0].start);if(a.length===2&&a[0].kind==="-"&&a[1].kind==="NUMBER")return-Number(a[1].value);let o=H1(a,0);if(o&&a.length===2)return o.value;if(a.length!==1)r(`default values must be literals (number, string, boolean, null, :symbol) — field '${t}'`,a[0].start);return Ys(a[0],`field '${t}' default`,r)}function rl(e,t){let r=/^\/((?:\\.|[^\\/])+)\/([a-z]*)$/.exec(e.value);if(!r)t(`invalid regex literal ${JSON.stringify(e.value)}`,e.start);try{return new RegExp(r[1],r[2])}catch(s){t(`invalid regex '${e.value}': ${s.message}`,e.start)}}function Ys(e,t,r){switch(e.kind){case"NUMBER":return Number(e.value);case"STRING":if(!e.value.startsWith('"'))r(`${t} must be a plain string literal (heredocs have no literal key form)`,e.start);return JSON.parse(e.value);case"BOOL":return e.value==="true";case"NULL":return null;case"UNDEFINED":return;default:r(`${t} must be a literal (number, string, boolean, null) — got ${e.kind}`,e.start)}}function Ie(e){let t=[],r=[],s=0;for(let i of e){let n=i.kind;if(n==="("||n==="["||n==="{"||n==="CALL_START"||n==="INDEX_START"||n==="PARAM_START"||n==="INDENT")s++;if(n===")"||n==="]"||n==="}"||n==="CALL_END"||n==="INDEX_END"||n==="PARAM_END"||n==="OUTDENT")s--;if(n===","&&s===0){if(r.length)t.push(r);r=[];continue}r.push(i)}if(r.length)t.push(r);return t}function il(e){let t=0;for(let r=0;r")return r}return-1}function zs(e,t,r,s=null,i=null,n=!1,a=null,o=null){let l=[],c=(u)=>{if(l.length&&typeof l[l.length-1]==="string")l[l.length-1]+=u;else l.push(u)},h=(u,d=null)=>l.push({ts:u,span:d}),f=(u)=>l.push({body:u});if(c(`{kind: ${JSON.stringify(e.kind)}`),t)c(`, name: ${JSON.stringify(t)}`);if(c(", entries: ["),e.entries.forEach((u,d)=>{if(d>0)c(", ");nl(u,r.get(d),i?.get(d)??null,c,h,n,a?.get(d)??null,o?.get(d)??null,f)}),c("]"),s)c(", adapter: "),f(s);return c("}"),l}var Ue=(e)=>typeof e==="string"?e:e.code;function qs(e,t,r,s){let i=[];return e.entries.forEach((n,a)=>{if(n.tag!=="derived"&&n.tag!=="computed"&&n.tag!=="method")return;let o=r.get(a);if(o===void 0)return;let l=s?.get(a)??null,c=Ue(o);for(let[h,f]of Xs(o,l).reverse())c=c.slice(0,h)+f+c.slice(h);i.push(`${n.name}: ${c}`)}),i.length?`const ${D2(t)} = {${i.join(", ")}};`:null}function Xs(e,t,r=!0){if(typeof e==="string")return[];let s=r?(e.annots??[]).map(([i,n])=>[i,n]):[];if(t!==null){let{code:i,thisAt:n}=e;s.push([n,`this: ${t}${i[n]===")"?"":", "}`])}return s.sort((i,n)=>i[0]-n[0])}function sl(e,t,r,s,i=!1){let n=Xs(e,t,i);if(n.length===0){r(Ue(e));return}let{code:a}=e,o=0;for(let[l,c]of n)r(a.slice(o,l)),s(c),o=l;r(a.slice(o))}function nl(e,t,r,s,i,n=!1,a=null,o=null,l=s){switch(e.tag){case"computed":case"method":case"derived":case"hook":case"scope":case"defaultScope":s(`{tag: ${JSON.stringify(e.tag)}, name: ${JSON.stringify(e.name)}, fn: `),sl(t,r,l,i,n),s("}");return;default:let c={},h=al(e,t,c),f=[];if(n&&a!==null&&c.defaultEnd!==void 0)f.push({at:c.defaultEnd,ts:` satisfies ${a}`,span:e.defaultSpan??null});if(n&&e.tag==="field"&&t!==void 0&&typeof t!=="string"&&Ue(t).startsWith("it",t.thisAt)){let d=Ue(t);f.push({at:h.length-1-d.length+t.thisAt+2,ts:": any"})}if(n&&e.tag==="ensure"&&o!==null&&c.fnAt!==void 0&&typeof t!=="string"&&t!==void 0){let d=/^[A-Za-z_$][\w$]*/.exec(Ue(t).slice(t.thisAt))?.[0];if(d)f.push({at:c.fnAt+t.thisAt+d.length,ts:`: ${o}`})}let u=0;for(let d of f)s(h.slice(u,d.at)),i(d.ts,d.span??null),u=d.at;s(h.slice(u))}}function al(e,t,r={}){if(t!==void 0)t=Ue(t);switch(e.tag){case"field":{let s=['tag: "field"',`name: ${JSON.stringify(e.name)}`,`modifiers: ${JSON.stringify(e.modifiers)}`,`typeName: ${JSON.stringify(e.typeName)}`,`array: ${e.array?"true":"false"}`];if(e.unique)s.push("unique: true");if(e.primary)s.push("primary: true");if(e.literals)s.push(`literals: ${JSON.stringify(e.literals)}`);if(e.coerce){if(s.push("coerce: true"),e.coercer)s.push(`coercer: ${JSON.stringify(e.coercer)}`)}if(e.constraints){let i=[];if(e.constraints.min!==void 0)i.push(`min: ${Ft(e.constraints.min)}`);if(e.constraints.max!==void 0)i.push(`max: ${Ft(e.constraints.max)}`);let n=-1;if(e.constraints.default!==void 0)n=i.length,i.push(`default: ${Ft(e.constraints.default)}`);if(e.constraints.regex!==void 0)i.push(`regex: ${e.constraints.regex.toString()}`);if(i.length){if(n>=0){let a=`{${s.join(", ")}, constraints: {`;r.defaultEnd=a.length+i.slice(0,n+1).join(", ").length}s.push(`constraints: {${i.join(", ")}}`)}}if(e.attrs)s.push(`attrs: {${Object.keys(e.attrs).sort().map((i)=>`${i}: ${Ft(e.attrs[i])}`).join(", ")}}`);if(t)s.push(`transform: ${t}`);return`{${s.join(", ")}}`}case"directive":{let s=['tag: "directive"',`name: ${JSON.stringify(e.name)}`];if(e.args){if(e.name==="mixin"||xs.includes(e.name)){let i=e.args[0];s.push(`args: [{target: ${JSON.stringify(i.target)}${i.optional?", optional: true":""}${i.as?`, as: ${JSON.stringify(i.as)}`:""}${i.foreignKey?`, foreignKey: ${JSON.stringify(i.foreignKey)}`:""}${i.through?`, through: ${JSON.stringify(i.through)}`:""}${i.targetKey?`, targetKey: ${JSON.stringify(i.targetKey)}`:""}}]`)}else if(e.name==="primary")s.push(`args: [{name: ${JSON.stringify(e.args[0].name)}${e.args[0].column?`, column: ${JSON.stringify(e.args[0].column)}`:""}}]`);else if(e.name==="on")s.push(`args: [{field: ${JSON.stringify(e.args[0].field)}}]`);else if(e.name==="unique"||e.name==="index")s.push(`args: [{fields: ${JSON.stringify(e.args[0].fields)}}]`);else if(e.name==="idStart")s.push(`args: [{value: ${e.args[0].value}}]`);else if(e.name==="table"||e.name==="tableWas")s.push(`args: [{name: ${JSON.stringify(e.args[0].name)}}]`)}return`{${s.join(", ")}}`}case"ensure":{let s=['tag: "ensure"',`message: ${JSON.stringify(e.message)}`];r.fnAt=`{${s.join(", ")}, fn: `.length;let i=[...s,`fn: ${t}`];if(e.field)i.push(`field: ${JSON.stringify(e.field)}`);if(e.async)i.push("async: true");return`{${i.join(", ")}}`}case"enum-member":{let s=['tag: "enum-member"',`name: ${JSON.stringify(e.name)}`];if(e.value!==void 0)s.push(`value: ${JSON.stringify(e.value)}`);return`{${s.join(", ")}}`}case"union-member":return`{tag: "union-member", name: ${JSON.stringify(e.name)}}`;default:throw Error(`schema: unknown entry tag '${e.tag}'`)}}function Ft(e){if(e===null)return"null";if(e===void 0)return"undefined";if(typeof e==="string")return JSON.stringify(e);return String(e)}var ol=new Set(["pick","omit","partial","required","extend"]);function W1(e){return e&&e.valueOf?e.valueOf():e}function Js(e){return e.entries.some((t)=>t.tag==="directive"&&t.name==="mixin")}function ll(e){return si(e.foreignKey??ni(e.as??e.target))}function cl(e){if(Js(e))return null;let t=new Map;for(let a of e.entries)if(a.tag==="field")t.set(a.name,a);if(e.kind!=="model")return t;let r=(a,o,l)=>{if(!t.has(a))t.set(a,{tag:"field",name:a,modifiers:l?["!"]:["?"],typeName:o,array:!1})},s=!1,i=!1,n=[];for(let a of e.entries){if(a.tag!=="directive")continue;if(a.name==="times")s=!0;else if(a.name==="softDelete")i=!0;else if(a.name==="belongsTo"){let o=a.args&&a.args[0];if(o&&o.target)n.push({fk:ll(o),required:o.optional!==!0})}}if(r("id","integer",!0),s)r("createdAt","datetime",!0),r("updatedAt","datetime",!0);if(i)r("deletedAt","datetime",!1);for(let{fk:a,required:o}of n)r(a,"integer",o);return t}function hl(e){if(Js(e))return null;let t=new Map;for(let r of e.entries)if(r.tag==="field")t.set(r.name,r);return t}function Fs(e,t){let r=e.modifiers.filter((i)=>i!==(t==="partial"?"!":"?")),s=t==="partial"?"?":"!";if(!r.includes(s))r=[...r,s];return{...e,modifiers:r}}function fl(e,t,r){switch(t.method){case"pick":{let s=new Map;for(let i of t.keys){if(!e.has(i))return null;s.set(i,e.get(i))}return s}case"omit":{let s=new Set(t.keys),i=new Map;for(let[n,a]of e)if(!s.has(n))i.set(n,a);return i}case"partial":{let s=new Map;for(let[i,n]of e)s.set(i,Fs(n,"partial"));return s}case"required":{let s=new Set(t.keys),i=new Map;for(let[n,a]of e)i.set(n,s.has(n)?Fs(a,"required"):a);return i}case"extend":{let s=t.otherDescriptor||r.get(t.otherName);if(!s)return null;let i=hl(s);if(!i)return null;let n=new Map(e);for(let[a,o]of i){if(n.has(a))return null;n.set(a,o)}return n}default:return null}}function ul(e,t,r){let s=cl(e);if(!s)return null;for(let i of t)if(s=fl(s,i,r),!s)return null;return{kind:"shape",entries:[...s.values()]}}function dl(e){let t=[],r=e;while(!0){if(!Array.isArray(r))return null;let s=r[0];if(!Array.isArray(s))return null;if(W1(s[0])!==".")return null;let i=W1(s[2]);if(!ol.has(i))return null;let n=r.slice(1),a;if(i==="partial"){if(n.length)return null;a={method:i}}else if(i==="extend"){if(n.length!==1)return null;let c=n[0];if(Array.isArray(c)){let h=W1(c[0])==="schema"&&c.length===2&&c[1]&&typeof c[1]==="object"&&Array.isArray(c[1].entries)?c[1]:null;if(!h||h.kind!=="shape"&&h.kind!=="input")return null;a={method:i,otherDescriptor:h}}else{let h=W1(c);if(typeof h!=="string"||!/^[A-Za-z_$][\w$]*$/.test(h))return null;a={method:i,otherName:h}}}else{let c=ml(n);if(!c||!c.length)return null;a={method:i,keys:c}}t.unshift(a);let o=s[1];if(Array.isArray(o)){r=o;continue}let l=W1(o);if(typeof l!=="string")return null;return{base:l,ops:t}}}function ml(e){let t=[];for(let r of e)if(Array.isArray(r)){if(W1(r[0])!=="array")return null;for(let s=1;s{r[2]=["schema",t]})}var Bt=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","menu","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","script","search","section","select","slot","small","source","span","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"]),Ve=new Set(["a","animate","animateMotion","animateTransform","circle","clipPath","defs","desc","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","foreignObject","g","image","line","linearGradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","svg","switch","symbol","text","textPath","title","tspan","use","view"]),$e=new Set([...Bt,...Ve]),fi=new Set([...Ve].filter((e)=>!Bt.has(e))),Ut=new Set(["abort","animationcancel","animationend","animationiteration","animationstart","auxclick","beforeinput","beforematch","beforetoggle","blur","cancel","canplay","canplaythrough","change","click","close","command","compositionend","compositionstart","compositionupdate","contextlost","contextmenu","contextrestored","copy","cuechange","cut","dblclick","drag","dragend","dragenter","dragleave","dragover","dragstart","drop","durationchange","emptied","ended","error","focus","focusin","focusout","formdata","fullscreenchange","fullscreenerror","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadeddata","loadedmetadata","loadstart","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","paste","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointermove","pointerout","pointerover","pointerrawupdate","pointerup","progress","ratechange","reset","resize","scroll","scrollend","securitypolicyviolation","seeked","seeking","select","selectionchange","selectstart","slotchange","stalled","submit","suspend","timeupdate","toggle","touchcancel","touchend","touchmove","touchstart","transitioncancel","transitionend","transitionrun","transitionstart","volumechange","waiting","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend","wheel"]),Qs=new Set(["disabled","hidden","readonly","required","checked","selected","autofocus","autoplay","controls","loop","muted","multiple","novalidate","open","reversed","defer","async","formnovalidate","allowfullscreen","inert","ismap","nomodule","playsinline","default","itemscope","alpha","shadowrootdelegatesfocus","shadowrootclonable","shadowrootserializable"]),De=new Set(["accesskey","autocapitalize","autocorrect","autofocus","class","contenteditable","dir","draggable","enterkeyhint","hidden","id","inert","inputmode","is","itemid","itemprop","itemref","itemscope","itemtype","lang","nonce","popover","role","slot","spellcheck","style","tabindex","title","translate","writingsuggestions"]),it={__proto__:null,a:["href","target","download","ping","rel","hreflang","type","referrerpolicy"],area:["alt","coords","shape","href","target","download","ping","rel","referrerpolicy"],audio:["src","crossorigin","preload","autoplay","loop","muted","controls"],base:["href","target"],blockquote:["cite"],button:["command","commandfor","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","name","popovertarget","popovertargetaction","type","value"],canvas:["width","height"],col:["span"],colgroup:["span"],data:["value"],del:["cite","datetime"],details:["name","open"],dialog:["open","closedby"],embed:["src","type","width","height"],fieldset:["disabled","form","name"],form:["accept-charset","action","autocomplete","enctype","method","name","novalidate","rel","target"],iframe:["src","srcdoc","name","sandbox","allow","allowfullscreen","width","height","referrerpolicy","loading"],img:["alt","src","srcset","sizes","crossorigin","usemap","ismap","width","height","referrerpolicy","decoding","loading","fetchpriority"],input:["accept","alpha","alt","autocomplete","checked","colorspace","dirname","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","height","list","max","maxlength","min","minlength","multiple","name","pattern","placeholder","popovertarget","popovertargetaction","readonly","required","size","src","step","type","value","width"],ins:["cite","datetime"],label:["for"],li:["value"],link:["href","crossorigin","rel","media","integrity","hreflang","type","referrerpolicy","sizes","imagesrcset","imagesizes","as","blocking","disabled","fetchpriority"],map:["name"],meta:["name","http-equiv","content","charset","media"],meter:["value","min","max","low","high","optimum"],object:["data","type","name","form","width","height"],ol:["reversed","start","type"],optgroup:["disabled","label"],option:["disabled","label","selected","value"],output:["for","form","name"],progress:["value","max"],q:["cite"],script:["src","type","nomodule","async","defer","crossorigin","integrity","referrerpolicy","blocking","fetchpriority"],select:["autocomplete","disabled","form","multiple","name","required","size"],slot:["name"],source:["type","media","src","srcset","sizes","width","height"],style:["media","blocking"],table:["align","bgcolor","border","cellpadding","cellspacing","width"],tbody:["align","valign"],td:["colspan","rowspan","headers","align","bgcolor","height","nowrap","valign","width"],template:["shadowrootmode","shadowrootdelegatesfocus","shadowrootclonable","shadowrootserializable"],tfoot:["align","valign"],textarea:["autocomplete","cols","dirname","disabled","form","maxlength","minlength","name","placeholder","readonly","required","rows","wrap"],th:["colspan","rowspan","headers","scope","abbr","align","bgcolor","height","nowrap","valign","width"],thead:["align","valign"],time:["datetime"],tr:["align","bgcolor","valign"],track:["default","kind","label","src","srclang"],video:["src","crossorigin","poster","preload","autoplay","playsinline","loop","muted","controls","width","height"]};for(let e in it)it[e]=new Set(it[e]);var st=new Set(["id","class","style","lang","tabindex","href","pathLength","crossorigin","transform","viewBox","preserveAspectRatio","xmlns","x","y","x1","y1","x2","y2","cx","cy","r","rx","ry","width","height","d","points","dx","dy","rotate","fill","fill-opacity","fill-rule","stroke","stroke-width","stroke-linecap","stroke-linejoin","stroke-dasharray","stroke-dashoffset","stroke-opacity","stroke-miterlimit","opacity","clip-path","clip-rule","mask","filter","color","display","visibility","pointer-events","vector-effect","dominant-baseline","text-anchor","font-family","font-size","font-weight","font-style","letter-spacing","offset","stop-color","stop-opacity","gradientUnits","gradientTransform","spreadMethod","patternUnits","patternContentUnits","patternTransform","markerWidth","markerHeight","refX","refY","orient","markerUnits","maskUnits","maskContentUnits","clipPathUnits","filterUnits","primitiveUnits","in","in2","result","stdDeviation","values","type","mode","operator","radius","scale","baseFrequency","numOctaves","seed","dur","repeatCount","begin","end","from","to","attributeName","keyTimes","keySplines","calcMode","restart","min","max"]);function ui(e){let t=String(e).toLowerCase(),r=new Set(De),s=it[t];if(s)for(let i of s)r.add(i);if(Ve.has(String(e)))for(let i of st)r.add(i);return[...r]}function gl(e,t){if(Math.abs(e.length-t.length)>2)return 3;let r=Array.from({length:t.length+1},(s,i)=>i);for(let s=1;s<=e.length;s++){let i=[s];for(let n=1;n<=t.length;n++)i[n]=Math.min(r[n]+1,i[n-1]+1,r[n-1]+(e[s-1]===t[n-1]?0:1));r=i}return r[t.length]}function en(e,t){let r=ui(e),s=String(t).toLowerCase(),i=r.find((l)=>l.toLowerCase()===s);if(i!==void 0&&i!==t)return i;if(String(t).length<3)return null;let n=null,a=3,o=!1;for(let l of r){if(l===String(t))continue;let c=gl(String(t),l);if(c=e.length)return null;if(!j1.test(e[t]))return null;let r=t+1;while(r$e.has(String(e).split("#")[0]),G1=(e)=>typeof e==="string"&&bl.test(e),mi=(e)=>kl(e)||G1(e);function Vt(e){if(!Array.isArray(e)||e[0]!=="."||e.length!==3||typeof e[2]!=="string")return null;let t=[e[2]],r=e[1];while(Array.isArray(r)){if(r[0]!=="."||r.length!==3||typeof r[2]!=="string")return null;t.push(r[2]),r=r[1]}if(typeof r!=="string"||r==="this"||!Z1(r))return null;return t.push(r),t.reverse().join(".")}var pi=(e)=>Array.isArray(e)&&G1(e[2])?Vt(e):null,Wt=(e)=>e.split(".")[0];function an(e,t,r){let s=!1;for(let Y of e)if(Y.kind==="RENDER"){s=!0;break}if(!s)return e;let i=[],n=(Y,k,v,U={})=>{let{at:Z,...P}=U,X=Z??v.end;return{id:t(),kind:Y,value:k,start:X,end:X,spaced:!1,newLine:!1,generated:!0,origin:v.id,...P}},a=!1,o=0,l=0,c=[],h=[],f=[],u=(Y,k,v)=>k{let P=1,X=k;while(X>=0&&P>0){if(J.on)J.n++;let F=u(Y,X,Z)?.kind;if(F===v)P++;else if(F===U)P--;if(P>0)X--}return X},p=(Y)=>{let k=i.length;while(k>0&&u(i,k,Y)?.kind==="OUTDENT")k=d(i,k-1,"OUTDENT","INDENT",Y);while(k>0){if(J.on)J.n++;let U=i[k-1].kind;if(U==="TERMINATOR"||U==="RENDER")break;if(U==="OUTDENT"){k=d(i,k-2,"OUTDENT","INDENT",Y);continue}if(U==="INDENT"){let Z=u(i,k,Y)?.kind;if(Z==="CALL_END"||Z===")"){k=d(i,k-1,Z,Z==="CALL_END"?"CALL_START":"(",Y);continue}break}if(U==="CALL_END"||U===")"){k=d(i,k-2,U,U==="CALL_END"?"CALL_START":"(",Y);continue}if(U==="INTERPOLATION_END"){k=d(i,k-2,"INTERPOLATION_END","INTERPOLATION_START",Y);continue}if(U==="STRING_END"){k=d(i,k-2,"STRING_END","STRING_START",Y);continue}k--}let v=u(i,k,Y);return v?.kind==="IDENTIFIER"&&(mi(v.value)||(k===0||["INDENT","TERMINATOR","RENDER"].includes(i[k-1]?.kind)))},m=()=>{let Y=0;for(let k=i.length-1;k>=0;k--){if(J.on)J.n++;let v=i[k].kind;if(sn.has(v))Y++;else if(rn.has(v)){if(Y===0)return 1;Y--}else if(v==="TERMINATOR"||v==="RENDER"||v==="INDENT"||v==="OUTDENT")break}return 0},g=(Y)=>{let k=i[i.length-1];if(!k)return!1;if(m()!==0)return!1;let v=k.kind;if((v===","||v==="IDENTIFIER"||v==="PROPERTY")&&p(Y))return!0;if((v==="INDENT"||v==="TERMINATOR")&&h.includes(l))return!0;return!1},b=(Y)=>{let k=1;for(let v=Y+1;v0;v++){if(J.on)J.n++;let U=e[v].kind;if(U==="("||U==="CALL_START")k++;else if(U===")"){if(k--,k===0)e[v].kind="CALL_END"}else if(U==="CALL_END")k--}},S=(Y)=>{let k=1;for(let v=i.length-1;v>=0&&k>0;v--){if(J.on)J.n++;if(i[v].kind==="CALL_END")k++;else if(i[v].kind==="CALL_START"){if(k--,k===0&&v>0&&i[v-1].kind==="PROPERTY"&&i[v-1].value==="__clsx")return!0}}return!1},w=(Y)=>{while(f.length>0){let k=f[f.length-1];if(Y.kind==="INDENT"||rn.has(Y.kind)){k.depth++;return}if(Y.kind==="OUTDENT"||sn.has(Y.kind)){if(k.depth===0){i.push(n("CALL_END",")",i[i.length-1]??Y)),f.pop();continue}k.depth--;return}if(Y.kind==="TERMINATOR"&&k.depth===0){i.push(n("CALL_END",")",i[i.length-1]??Y)),f.pop();continue}return}},R=(Y)=>Y===0||nt.has(e[Y-1].kind),T=(Y,k)=>{let v=e[Y+1]?.kind==="TYPE"?e[Y+2]:e[Y+1];return v!==void 0&&k.has(v.kind)},j=new Set;for(let Y=0,k=0;Y{let k=new Set,v=Y+1;while(vA.some((k)=>k.names.has(Y))||x.length>0&&x[x.length-1].names.has(Y)||j.has(Y);for(let Y=0;Y0)w(k);if(!nt.has(k.kind)&&R(Y))O=k.kind;if(k.kind==="COMPONENT")x.push({level:l+1,names:M(Y)});if(k.kind==="RENDER"){a=!0,o=l+1,A.push({level:o,names:new Set}),i.push(k);continue}if(k.kind==="INDENT"){if(l++,a){let U=e[Y-1]?.kind;if(U==="->"||U==="=>")C.push(l);else if(C.length===0&&Rl.has(O))A.push({level:l,names:new Set(O==="FOR"?W??[]:[])})}W=null,i.push(k);continue}if(k.kind==="OUTDENT"){l--;for(let U of[x,A])while(U.length>0&&U[U.length-1].level>l)U.pop();while(C.length>0&&C[C.length-1]>l)C.pop();while(h.length>0&&h[h.length-1]>l)h.pop();i.push(k);while(c.length>0&&c[c.length-1]>l)i.push(n("CALL_END",")",k)),c.pop();if(a&&l0){let U=i[i.length-1].kind;if(U==="TERMINATOR"||U==="INDENT"||U==="RENDER"){i.push(n("IDENTIFIER","__text__",k,{at:k.start,spaced:k.spaced,newLine:k.newLine})),i.push(n("CALL_START","(",k,{at:k.start})),f.push({depth:0});continue}}if(k.kind==="UNARY_MATH"&&k.value==="~"&&v?.kind==="IDENTIFIER"){i.push(n("PROPERTY","__transition__",k,{spaced:k.spaced,newLine:k.newLine})),i.push(n(":",":",k)),v.kind="STRING",v.value=`"${v.value}"`,v.transitionValue=!0;continue}if(k.transitionValue&&v!==null&&nn.has(v.kind)){i.push(k),i.push(n(",",",",k,{at:v.start}));continue}if(k.kind==="BIND"){let U=i[i.length-1];if(U!==void 0&&(U.kind==="IDENTIFIER"||U.kind==="PROPERTY")&&v!==null&&(v.kind==="IDENTIFIER"||v.kind==="@")){U.value=`__bind_${U.value}__`,i.push(n(":",":",k));continue}}if(k.kind==="IDENTIFIER"&&v?.kind==="-"&&!v.spaced){let U=[k.value],Z=Y+1,P=k.end;while(Z+11&&e[Z-1].kind==="PROPERTY"){let X=U.join("-");i.push({...k,kind:"STRING",value:`"${X}"`,end:P}),Y=Z-1;continue}}if(k.kind==="."){let U=i[i.length-1]?.kind;if(U==="INDENT"||U==="TERMINATOR"||U==="RENDER"){if(v?.kind==="PROPERTY"){let Z=e[Y+2];if(!Z||Z.kind!==":"){i.push(n("IDENTIFIER","div",k,{spaced:k.spaced,newLine:k.newLine})),i.push(k);continue}k={...k,kind:"IDENTIFIER",value:"div"}}else if(!v||v.kind!=="(")k={...k,kind:"IDENTIFIER",value:"div"}}}if(k.kind==="."&&v?.kind==="("){let U=i[i.length-1]?.kind,Z=U==="INDENT"||U==="TERMINATOR"||U==="RENDER";if(v.kind="CALL_START",b(Y+1),Z)i.push(n("IDENTIFIER","div",k,{spaced:k.spaced,newLine:k.newLine})),i.push(k),i.push(n("PROPERTY","__clsx",k));else if(U===":")i.push(n("IDENTIFIER","__clsx",k,{spaced:k.spaced,newLine:k.newLine}));else i.push(k),i.push(n("PROPERTY","__clsx",k));continue}if(k.kind==="@"&&v?.kind==="PROPERTY"&&!v.spaced){let U=e[Y+2],Z=U?.kind===".",P=U?.kind===":";if(!Z&&!P&&g(k)){let X=String(v.value),F=`on${X[0].toUpperCase()}${X.slice(1)}`;if(U?.kind==="=")r(`a \`=\` cannot follow a bare event directive on one line — \`@${X} = expr\` would assign to the minted handler and invoke the assignment as the listener; bind explicitly (\`@${X}: handler\`), or keep the bare \`@${X}\` and put the text on its own \`= expr\` line`,U.start);if(i.push(k),i.push(v),i.push(n(":",":",v)),i.push(n("@","@",v)),i.push(n("PROPERTY",F,v)),Y++,e[Y+1]?.kind==="INDENT")i.push(n(",",",",v,{at:e[Y+1].start})),i.push(n("->","->",v,{at:e[Y+1].start,newLine:!0})),h.push(l+1);else if(e[Y+1]!==void 0&&nn.has(e[Y+1].kind))i.push(n(",",",",v,{at:e[Y+1].start}));continue}}if(v?.kind==="INDENT"&&k.kind!=="->"&&k.kind!=="=>"&&k.kind!=="CALL_START"&&k.kind!=="("){let U=i[i.length-1]?.kind,Z=["IF","UNLESS","WHILE","UNTIL","WHEN","FORIN","FOROF","FORAS","FORASAWAIT","BY"].includes(U),P=k.kind==="IDENTIFIER"&&(U==="INDENT"||U==="TERMINATOR"||U==="RENDER"),X=k.kind==="IDENTIFIER"&&mi(k.value)&&(P||!G(k.value)),F=!1,e1=!1;if(k.kind==="CALL_END")e1=S(k);if(e1)F=!0;else if(X&&!Z)F=!0;else if(k.kind==="IDENTIFIER"&&!Z)F=P||p(k);else if(["PROPERTY","STRING","STRING_END","NUMBER","BOOL","CALL_END",")","]","INDEX_END","}","MAYBE_DAMMIT"].includes(k.kind))F=p(k);if(F){let Q=!1;if(k.kind==="PROPERTY"&&i[i.length-1]?.kind==="."){let d1=i.length;while(d1>=2&&i[d1-1].kind==="."&&i[d1-2].kind==="PROPERTY")d1-=2;if(d1>=2&&i[d1-1].kind==="."&&i[d1-2].kind==="IDENTIFIER"&&(mi(i[d1-2].value)||G1(k.value))){let I=i[d1-3]?.kind??null;if(I===null||["INDENT","OUTDENT","TERMINATOR","RENDER"].includes(I))Q=!0}}let a1=e1||X||P||Q;if(i.push(k),a1)i.push(n("CALL_START","(",k,{at:v.start})),i.push(n("->","->",k,{at:v.start,newLine:!0})),c.push(l+1);else i.push(n(",",",",k,{at:v.start})),i.push(n("->","->",k,{at:v.start,newLine:!0}));h.push(l+1);continue}}if(k.kind==="IDENTIFIER"&&G1(k.value)&&(v?.kind==="OUTDENT"||v?.kind==="TERMINATOR")){i.push(k),i.push(n("CALL_START","(",k)),i.push(n("CALL_END",")",k));continue}i.push(k)}e.length=i.length;for(let Y=0;Yr(a)&&a[0]==="."&&a[1]==="this"&&a[2]==="rest",i=(a)=>a.replace(/^"|"$/g,""),n=(a)=>{if(!r(a))return;if(a[0]==="."&&s(a[1])&&typeof a[2]==="string")t.add(a[2]);else if(a[0]==="[]"&&s(a[1])&&typeof a[2]==="string"&&/^".*"$/.test(a[2]))t.add(i(a[2]));else if(Tl.has(a[0])&&a.length===3&&r(a[1])&&a[1][0]==="object"&&s(a[2])){for(let o of a[1].slice(1))if(r(o)&&typeof o[1]==="string")t.add(i(o[1]))}for(let o of a)n(o)};for(let a of e)n(a);if(t.has("class")||t.has("className"))t.add("class"),t.add("className");return t}function bi(e,t,r){let s=t(e,r);if(s.length===0)return e;let i=e.length-1,n=s.length-1;e.length+=s.length;for(let a=e.length-1;a>=0;a--){if(J.on)J.n++;if(n>=0&&(i<0||s[n].at>i))e[a]=s[n--].token;else e[a]=e[i--]}return e}var wl=new Set(["IF","UNLESS","WHILE","UNTIL","WHEN","LEADING_WHEN","CATCH","FOR","LOOP","CLASS"]),_l=new Set(["(","[","{","PICK_START","OPTPICK_START","CALL_START","INDEX_START","PARAM_START","STRING_START","INTERPOLATION_START","HEREGEX_START"]),Nl=new Set([")","]","}","PICK_END","CALL_END","INDEX_END","PARAM_END","STRING_END","INTERPOLATION_END","HEREGEX_END"]);function Al(e,t){let r=0;for(let s=t-1;s>=0;s--){if(J.on)J.n++;let i=e[s].kind;if(Nl.has(i)||i==="OUTDENT"){r++;continue}if(_l.has(i)||i==="INDENT"){if(r===0)return!1;r--;continue}if(r>0)continue;if(wl.has(i))return!0;if(i==="TERMINATOR")return!1}return!1}function vl(e,t){let r=new Set(["(","[","{","PICK_START","OPTPICK_START","CALL_START","INDEX_START","PARAM_START","STRING_START","INTERPOLATION_START","HEREGEX_START"]),s=new Set([")","]","}","PICK_END","CALL_END","INDEX_END","PARAM_END","STRING_END","INTERPOLATION_END","HEREGEX_END"]),i=[],n=[],a=(p,m)=>{let g=0;for(let b=m-1;b>=p;b--){if(J.on)J.n++;let S=e[b].kind;if(s.has(S)||S==="OUTDENT"){g++;continue}if(r.has(S)||S==="INDENT"){if(S==="INDENT")return!1;if(g--,g<0)return!1;continue}if(g>0)continue;if(Kt(e,b))return!0}return!1},o=(p,m)=>{let g=0;for(let b=m-1;b>=p;b--){if(J.on)J.n++;let S=e[b].kind;if(s.has(S)||S==="OUTDENT"){g++;continue}if(r.has(S)||S==="INDENT"){if(g--,g<0)return!1;continue}if(g>0)continue;if(S===":"&&e[b-1]?.kind==="PROPERTY")return un(e,m+1);if(S==="TERMINATOR")return!1}return!1},l=new Set(["IF","UNLESS","TRY","CATCH","FINALLY","SWITCH","FOR","CLASS"]),c=(p)=>{let m=0,g=0,b=0;for(let S=p;S({id:t(),kind:p,value:p,start:m,end:m,spaced:!1,newLine:!1,generated:!0,origin:g}),f=(p)=>{let m=c(p),g=null;for(let R=p;R=p;R--){if(J.on)J.n++;if(!e[R].generated){b=e[R];break}}let S=null;for(let R=m;R{while(n.length&&n[n.length-1].end===p){let m=n.pop();i.push({at:p,token:h("OUTDENT",m.closeAt,m.afterId)}),u=p}};for(let p=0;p"||m.kind==="=>")&&e[p+1]&&e[p+1].kind!=="INDENT"){let g=f(p+1);i.push({at:p+1,token:h("INDENT",g.openAt,g.firstReal?g.firstReal.id:null)}),n.push(g)}else if(m.kind==="THEN"&&Al(e,p)){let g=f(p+1);m.kind="INDENT",m.value="INDENT",m.generated=!0,m.start=m.end=g.firstReal?g.firstReal.start:m.end,m.origin=g.firstReal?g.firstReal.id:null,n.push(g)}else if(m.kind==="ELSE"&&e[p+1]&&e[p+1].kind!=="INDENT"&&e[p+1].kind!=="IF"&&(u===p||e[p-1]?.kind==="OUTDENT")){let g=f(p+1);i.push({at:p+1,token:h("INDENT",g.openAt,g.firstReal?g.firstReal.id:null)}),n.push(g)}}return d(e.length),i}var Ht=new Set(["IDENTIFIER","PROPERTY","SUPER",")","CALL_END","]","INDEX_END","@","THIS","DAMMIT","?","MAYBE_DAMMIT"]),ln=new Set(["IDENTIFIER","PROPERTY","NUMBER","STRING","STRING_START","REGEX","HEREGEX_START","SYMBOL","MAP_START","PARAM_START","IF","TRY","SWITCH","CLASS","THIS","SUPER","UNDEFINED","NULL","BOOL","UNARY","NEW","DO","DO_IIFE","UNARY_MATH","AWAIT","YIELD","THROW","@","->","=>","[","(","{","--","++"]),cn=new Set(["POST_IF","POST_UNLESS","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR","||","&&","??","THEN","ELSE"]),hn=new Set(["IF","TRY","FINALLY","CATCH","SWITCH","FOR","CLASS"]),fn=new Set(["IDENTIFIER","PROPERTY","NUMBER","STRING","STRING_END","REGEX","HEREGEX_END",")","CALL_END","]","INDEX_END","}","PICK_END","BOOL","NULL","UNDEFINED","THIS","@"]),oe=new Set(["(","[","{","PICK_START","OPTPICK_START","CALL_START","INDEX_START","PARAM_START","STRING_START","INTERPOLATION_START","HEREGEX_START","INDENT"]),ae=new Set([")","]","}","PICK_END","CALL_END","INDEX_END","PARAM_END","STRING_END","INTERPOLATION_END","HEREGEX_END","OUTDENT"]),Kt=(e,t)=>{let r=e[t],s=e[t+1];if(!r||!s||!s.spaced||!Ht.has(r.kind))return!1;if((r.kind==="]"||r.kind==="}")&&(s.kind==="->"||s.kind==="=>"))return!1;if(r.kind==="IDENTIFIER"&&(r.value==="Infinity"||r.value==="NaN")&&(s.kind==="->"||s.kind==="=>"))return!1;if(ln.has(s.kind))return!0;return s.kind==="..."&&e[t+2]!=null&&ln.has(e[t+2].kind)},un=(e,t)=>{if(!e[t])return!1;let r=(s)=>(e[s]?.kind==="DAMMIT"||e[s]?.kind==="VOID_MARKER")&&e[s+1]?.kind===":";if(e[t].kind==="@"&&(e[t+2]?.kind===":"||r(t+2)))return!0;if(e[t+1]?.kind===":"||r(t+1))return!0;if(oe.has(e[t].kind)){let s=1,i=t;while(++i0){if(J.on)J.n++;if(oe.has(e[i].kind))s++;else if(ae.has(e[i].kind))s--}if(s===0&&e[i]?.kind===":")return!0}return!1},dn=new Set(["->","=>","[","(",",","{","ELSE","="]),gi=new Set(["INDENT","OUTDENT","TERMINATOR"]),Ol=new Set(["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL","DEF"]),mn=(e,t)=>{let r=0;for(;t>=0;t--){if(J.on)J.n++;let s=e[t].kind;if(r===0&&Ol.has(s))return!0;if(ae.has(s)){r++;continue}if(oe.has(s)){if(r>0){r--;continue}if(!e[t].generated||gi.has(s))return!1;continue}if(r===0&&gi.has(s))return!1}return!1};function Il(e,t){let r=[],s=[],i=[0],n=null,a=-1,o=()=>r[r.length-1],l=(g,b,S,w={})=>({id:t(),kind:g,value:g,start:b,end:b,spaced:w.spaced??!1,newLine:w.newLine??!1,generated:!0,origin:S}),c=(g)=>{r.pop(),s.push({at:g,token:l("}",n?n.end:0,n?n.id:null)})},h=(g)=>un(e,g),f=()=>{for(let g=r.length-1;g>=0;g--){if(J.on)J.n++;let b=r[g];if(b.kind==="object")return b;if(!(b.kind==="INDENT"&&b.listContinuation))return null}return null},u=(g,b)=>{if(e[b]?.kind!=="...")return!1;let S=r[r.indexOf(g)-1];if(!S||!(S.kind==="["||S.kind==="CALL_START"))return!0;return p(S.at,g.at)},d=(g)=>{let b=e[g-1];return Boolean(b&&Ht.has(b.kind)&&h(g+1)&&!mn(e,g-1))},p=(g,b)=>{let S=0;for(let w=b-1;w>g;w--){if(J.on)J.n++;let R=e[w].kind;if(ae.has(R)){S++;continue}if(oe.has(R)){if(R==="INDENT"&&S===0)return d(w);if(S--,S<0)return!1;continue}if(S>0)continue;if(R==="TERMINATOR")return!1;if(Kt(e,w))return!0}return!1},m=(g)=>{for(let b=0;g1)i.pop();if(S==="OUTDENT")for(let R=r.length-1;R>=0;R--){let T=r[R];if(T.kind!=="object"&&T.kind!=="CONTROL")break;if(T.kind==="object")T.sameLine=!1}continue}if(S==="TERNARY")i[i.length-1]++;if(S===":"){let R=i.length-1;if(i[R]>0){i[R]--;continue}if(w?.kind==="DAMMIT")w.kind="VOID_MARKER";let T=w?.kind==="VOID_MARKER"?1:0,j=ae.has(w?.kind)?o()?.at??g-1:g-1-T;if(e[g-2-T]?.kind==="@")j=g-2-T;let M=e[j-1],A=!Kt(e,j-1)&&(j<=0||gi.has(M?.kind)||Boolean(M?.newLine)),C=o(),O=r[r.length-2],W=(U)=>U&&(U.kind==="{"||U.kind==="PICK_START"||U.kind==="OPTPICK_START"||U.kind==="object"),G=(U)=>U==="{"||U==="PICK_START"||U==="OPTPICK_START",Y=C?.kind==="INDENT"&&C.listContinuation?f():null,k=Boolean(Y),v=Y?Y.at:C?.kind==="INDENT"&&O?O.at:C?.at;if(C&&(W(C)||C.kind==="INDENT"&&(G(O?.kind)||k))&&!(v!=null&&p(v,j))&&(A||M?.kind===","||G(M?.kind)||e[j]?.kind==="{"))continue;r.push({kind:"object",at:j,sameLine:!0,startsLine:A}),s.push({at:j,token:l("{",e[j].start,e[j].id,{spaced:e[j].spaced,newLine:e[j].newLine})});continue}if(cn.has(S)||(S==="."||S==="?.")&&b.newLine){if(S==="||"||S==="&&"||S==="??"||S==="ELSE")continue;if(S==="TERMINATOR"){i[i.length-1]=0;for(let R=r.length-1;R>=0;R--){let T=r[R];if(T.kind!=="object"&&T.kind!=="CONTROL")break;if(T.kind==="object")T.sameLine=!1}}while(o()?.kind==="object"||S==="TERMINATOR"&&o()?.kind==="CONTROL"&&o()?.trigger==="CLASS"){let R=o();if(R.kind==="CONTROL"){r.pop();continue}if(S==="TERMINATOR")if(w?.kind!==","&&!(R.startsLine&&(h(g+1)||u(R,g+1))))c(g);else break;else if(R.sameLine&&w?.kind!==":"&&!((S==="POST_IF"||S==="POST_UNLESS")&&R.startsLine&&m(g+1)))c(g);else break}continue}if(S===","){let R=f(),T=(j)=>h(j)||u(R,j);if(R&&!p(R.at,g)&&!T(g+1)&&(e[g+1]?.kind!=="TERMINATOR"||!T(g+2))){if(e[g+1]?.kind==="INDENT"&&T(g+2))a=g;else if(o()?.kind==="object"){let j=e[g+1]?.kind==="OUTDENT"?1:0;while(o()?.kind==="object")c(g+j)}}}}if(e.length&&!e[e.length-1].generated)n=e[e.length-1];while(o()?.kind==="object"||o()?.kind==="CONTROL")if(o().kind==="object")c(e.length);else r.pop();return s}function $l(e,t){let r=[],s=[],i=-1,n=(l,c,h)=>({id:t(),kind:l,value:l==="CALL_START"?"(":")",start:c,end:c,spaced:!1,newLine:!1,generated:!0,origin:h}),a=null,o=(l)=>{r.pop(),s.push({at:l,token:n("CALL_END",a?a.end:0,a?a.id:null)})};for(let l=0;l0&&!e[l-1].generated)a=e[l-1];if(r[r.length-1]==="call"&&hn.has(f)&&!(f==="FOR"&&!c.newLine&&e[l-1]&&fn.has(e[l-1].kind))){r.push(f==="CLASS"?"CONTROL_CLASS":"CONTROL");continue}if(f==="INDENT"){if(l===i){r.push("INDENT");continue}let u=e[l-1];if(!u||!dn.has(u.kind))while(r[r.length-1]==="call")o(l);if(r[r.length-1]==="CONTROL"||r[r.length-1]==="CONTROL_CLASS")r.pop();r.push("INDENT");continue}if(oe.has(f))r.push(f);else if(ae.has(f)){while(r[r.length-1]==="call"||r[r.length-1]==="CONTROL"||r[r.length-1]==="CONTROL_CLASS")if(r[r.length-1]==="call")o(l);else r.pop();r.pop()}if(cn.has(f)||(f==="."||f==="?.")&&c.newLine){if(f==="||"||f==="&&"||f==="??")continue;if(f==="ELSE"&&e[l-1]?.kind==="OUTDENT")continue;if(e[l-1]?.kind!==",")while(r[r.length-1]==="call"||f==="TERMINATOR"&&r[r.length-1]==="CONTROL_CLASS")if(r[r.length-1]==="call")o(l);else r.pop();continue}if(Kt(e,l)||Ht.has(f)&&h&&h.spaced&&(h.kind==="+"||h.kind==="-")&&e[l+2]&&!e[l+2].spaced&&!e[l+2].newLine)s.push({at:l+1,token:n("CALL_START",h.start,h.generated?h.origin:h.id)}),r.push("call");else if(Ht.has(f)&&h?.kind==="INDENT"&&e[l+2]?.kind==="{"&&e[l+2].generated&&!mn(e,l))s.push({at:l+1,token:n("CALL_START",e[l+2].start,e[l+2].origin)}),r.push("call"),i=l+1}if(e.length&&!e[e.length-1].generated)a=e[e.length-1];while(r[r.length-1]==="call"||r[r.length-1]==="CONTROL"||r[r.length-1]==="CONTROL_CLASS")if(r[r.length-1]==="call")o(e.length);else r.pop();return s}var Gt=(e,t)=>bi(e,vl,t),Yt=(e,t)=>bi(e,Il,t),zt=(e,t)=>bi(e,$l,t);var Sn=new Map([["as","CAST"],["satisfies","SATISFIES"]]),Zt=(e)=>e?.kind==="IDENTIFIER"&&Sn.has(e.value),Rn=new Set(["IDENTIFIER","PROPERTY","NUMBER","STRING","STRING_END","REGEX","HEREGEX_END","BOOL","NULL","UNDEFINED",")","CALL_END","PARAM_END","]","INDEX_END","}","PICK_END","THIS","@","SUPER","?","MAYBE_DAMMIT","DAMMIT","CAST","SATISFIES","IMPORT_META"]),Dl=new Set(["IDENTIFIER","PROPERTY","(","CALL_START","PARAM_START","{","[","INDEX_START","STRING","NUMBER","BOOL","NULL","UNDEFINED","-","UNARY","NEW","RESERVED"]),le=new Set(["(","CALL_START","PARAM_START","[","INDEX_START","{","PICK_START","OPTPICK_START"]),ce=new Set([")","CALL_END","PARAM_END","]","INDEX_END","}","PICK_END"]),xl=new Set(["TERMINATOR","INDENT","OUTDENT",",","=","COMPOUND_ASSIGN","REACTIVE_ASSIGN","COMPUTED_ASSIGN","READONLY_ASSIGN","GATE","EFFECT","->"]),Cl=new Set(["+","-","MATH","**","SHIFT","COMPARE","MATCH","&&","||","??","^","RELATION","TERNARY","?","MAYBE_DAMMIT",":","?.","DAMMIT","EXTENDS","..","...","IF","UNLESS","ELSE","THEN","WHILE","UNTIL","LOOP","FOR","WHEN","BY","SWITCH","RETURN","THROW","CATCH","FINALLY"]),Pl=new Set(["IF","UNLESS","ELSE","THEN","WHILE","UNTIL","LOOP","FOR","WHEN","BY","SWITCH","RETURN","THROW"]),Ll=new Set(["IDENTIFIER","PROPERTY","RESERVED","NUMBER","STRING","TYPE_TEMPLATE","BOOL","NULL","UNDEFINED","THIS",".",",",":","?","TERNARY","...","|","&","=>","EXTENDS","(",")","PARAM_START","PARAM_END","[","]","INDEX_START","INDEX_END","{","}","INDENT","OUTDENT","TERMINATOR"]),Ml=new Set(["IDENTIFIER","PROPERTY","RESERVED","NUMBER","STRING","TYPE_TEMPLATE","BOOL","NULL","UNDEFINED","THIS",")","PARAM_END","]","INDEX_END","}"]),jl=new Set(["TERMINATOR","INDENT","OUTDENT","{",","]),Jt=(e,t,r)=>{if(t-1{let n=0,a=[],o=(u=0)=>a[a.length-1-u],l=null,c=!1,h=[],f=(u,d)=>{n-=d;for(let p=0;p"){f(d,1),c=!0;continue}if(p==="SHIFT"&&d.value===">>"){f(d,2),c=!0;continue}if(p==="SHIFT"&&d.value===">>>"){f(d,3),c=!0;continue}if(p==="UNARY"&&d.value==="typeof"){c=!1;continue}if(d.word==="is"&&c&&u-2>=t&&(e[u-1].kind==="IDENTIFIER"||e[u-1].kind==="PROPERTY"||e[u-1].kind==="THIS")&&(e[u-2].kind==="=>"||e[u-2].value==="asserts"||e[u-2].kind===":"&&e[u-3]?.kind==="CALL_END")){c=!1;continue}if(p==="RELATION"&&d.value==="in"&&o()==="["&&o(1)==="{"&&u-2>=t&&(e[u-2].kind==="["||e[u-2].kind==="INDEX_START")&&(e[u-1].kind==="IDENTIFIER"||e[u-1].kind==="PROPERTY")&&Jt(e,u-2,t)){c=!1;continue}if(d.value==="?"&&c&&e[u+1]?.kind===":"){c=!1;continue}if(p==="-"&&e[u+1]?.kind==="NUMBER"&&!c){u++,c=!0;continue}if((p==="-"||p==="+")&&e[u+1]?.value==="readonly"&&(e[u+2]?.kind==="["||e[u+2]?.kind==="INDEX_START")&&o()==="{"&&Jt(e,u,t)){c=!1;continue}if((p==="-"||p==="+")&&e[u+1]?.value==="?"&&e[u+2]?.kind===":"&&o()==="{"&&(e[u-1]?.kind==="]"||e[u-1]?.kind==="INDEX_END")){c=!0;continue}if(p==="="&&n>0){c=!1;continue}if((o()==="{"||i.methods&&o()===void 0)&&p==="CALL_START"){let m=e[u-1],g=Jt(e,u-1,t);if(m&&(m.kind==="IDENTIFIER"||m.kind==="PROPERTY")&&g){let b=1,S=u+1;while(S0){if(e[S].kind==="CALL_START")b++;else if(e[S].kind==="CALL_END")b--;S++}if(b===0&&e[S]?.kind===":"){h.push(S-1),a.push("("),c=!1;continue}if(b===0)s(`an interface method shorthand needs a return type — \`${m.value}(…): T\``,m.start)}}if(p==="CALL_END"&&u===h[h.length-1]){h.pop(),a.pop(),c=!0;continue}if(Ll.has(p)){if(pn.has(p))a.push(pn.get(p));else if(Fl.has(p))a.pop();c=Ml.has(p);continue}s(`code expression ('${d.word??d.value}') in a type body — types erase and cannot execute`,d.start)}if(n>0)s("unclosed '<' in a type body — the generic never closes",l.start)},Bl=new Set(["=",":","COMPOUND_ASSIGN","REACTIVE_ASSIGN","COMPUTED_ASSIGN","READONLY_ASSIGN",",","[","(","{","CALL_START","INDEX_START","PARAM_START","PICK_START","OPTPICK_START","RETURN","THROW","AWAIT","YIELD"]),ee=(e,t)=>{let r=e[t];if(!r)return!0;if(r.kind==="TERMINATOR"||r.kind==="EXPORT"||r.kind==="OFFER")return!0;if(r.kind!=="INDENT"&&r.kind!=="OUTDENT")return!1;let s=0;for(let i=t;i>=0;i--){if(J.on)J.n++;let n=e[i].kind;if(n==="OUTDENT")s++;else if(n==="INDENT"){if(s===0){let a=e[i-1];return!(a&&Bl.has(a.kind))}s--}}return!0},Si=(e,t,r)=>{if(r<=t)return!1;let s=new Set(["|","&",",",":","?","TERNARY",".","..."]),i=0,n=0,a=0,o=0,l=!1,c=[],h=null;for(let f=t;f"){let p=f>t?e[f-1].kind:null;if((p===")"||p==="PARAM_END")&&h&&(h.colon||h.empty)){l=!1;continue}return!1}if(u==="("||u==="PARAM_START"){c.push({colon:!1,open:f}),i++,l=!1;continue}if(u===")"||u==="PARAM_END"){if(--i<0)return!1;let p=c.pop();h=p?{colon:p.colon,empty:f===p.open+1}:null,l=!0;continue}if(u==="["||u==="INDEX_START"){n++,l=!1;continue}if(u==="]"||u==="INDEX_END"){if(--n<0)return!1;l=!0;continue}if(u==="{"){a++,l=!1;continue}if(u==="}"){if(--a<0)return!1;l=!0;continue}if(u==="COMPARE"){if(d==="<"){o++,l=!1;continue}if(d===">"){if(o<=0)return!1;o--,l=!0;continue}return!1}if(u==="SHIFT"){if(d===">>"){if(o<2)return!1;o-=2,l=!0;continue}if(d===">>>"){if(o<3)return!1;o-=3,l=!0;continue}return!1}if(u==="="){if(o>0){l=!1;continue}return!1}if(s.has(u)){if(u===":"&&c.length)c[c.length-1].colon=!0;l=!1;continue}if(u==="IDENTIFIER"||u==="PROPERTY"||u==="NUMBER"||u==="RESERVED"||u==="STRING"||u==="NULL"||u==="UNDEFINED"||u==="BOOL"){if(l)return!1;l=!0;continue}return!1}return i===0&&n===0&&a===0&&o===0&&l},gn=(e,t,r,s)=>{let i=[],n=[],a=[],o=0,l=t,c=e[t-1]?.end??0,h=(u)=>s("unclosed '<' in a type — the generic argument list never closes"+(r.cast?"; if the '<' was meant as a comparison, parenthesize the cast: '(x as T) < y'":""),u.start),f=(u,d)=>{for(let p=0;pl&&u.newLine)break;if(d==="SHIFT"&&(u.value===">>"||u.value===">>>")&&a.length>0){f(u,u.value===">>"?2:3),i.push(u.value),c=u.end,t++;continue}if(d==="COMPARE"&&u.value===">"){if(o===0)break;f(u,1),i.push(u.value),c=u.end,t++;continue}if(le.has(d)||d==="COMPARE"&&u.value==="<"){o++;let m=d==="{"?"{":d==="["||d==="INDEX_START"?"[":d==="COMPARE"?"<":"(";if(n.push(m),m==="<")a.push(u);i.push(u.value),c=u.end,t++;continue}if(ce.has(d)){if(o===0)break;if(n[n.length-1]==="<")h(a[a.length-1]);o--,n.pop(),i.push(u.value),c=u.end,t++;continue}if(d==="INTERPOLATION_END"||d==="STRING_END"||d==="HEREGEX_END")break;if(o===0){if(xl.has(d))break;if(r.stopAtFatArrow&&d==="=>")break;if(r.stopAtThen&&d==="THEN")break;if(r.cast&&Cl.has(d))if(t===l&&(d==="-"||d==="+")&&e[t+1]?.kind==="NUMBER"){if(d==="+")s("a numeric literal type spells its sign with '-' (TypeScript has no '+1' type)",u.start,e[t+1].end)}else break;if(r.alias&&Pl.has(d))break}else{if(d==="INDENT"||d==="OUTDENT"){t++;continue}if(d==="TERMINATOR"){i.push(";"),c=u.end,t++;continue}if(d==="PROPERTY"&&n[n.length-1]==="{"){let m=i[i.length-1];if(m&&m!=="{"&&m!==","&&m!==";")i.push(";")}}if(d==="?"&&!u.spaced&&e[t+1]?.kind===":"&&i.length){i[i.length-1]+="?",c=u.end,t++;continue}i.push(u.word==="is"?u.word:u.value),c=u.end,t++}if(a.length)h(a[0]);return{parts:i,consumed:t-l,end:c}},Ul=(e)=>e.join(" ").replace(/\s+/g," ").trim().replace(/\s*<\s*/g,"<").replace(/\s*>\s*/g,">").replace(/\s*\[\s*/g,"[").replace(/\s*\]\s*/g,"]").replace(/\s*\(\s*/g,"(").replace(/\s*\)\s*/g,")").replace(/\s*,\s*/g,", ").replace(/\s*=>\s*/g," => ").replace(/ : /g,": "),Vl=(e,t,r)=>{let s=(l)=>l==="("||l==="PARAM_START"||l==="CALL_START",i=(l)=>l===")"||l==="PARAM_END"||l==="CALL_END";if(r-t<2||!s(e[t].kind))return!1;let n=0;for(let l=t;l{if(!(e[t]?.kind==="COMPARE"&&e[t].value==="<"&&!e[t].spaced))return t;let r=0;while(t")r--;else if(s.kind==="SHIFT"&&s.value===">>")r-=2;else if(s.kind==="SHIFT"&&s.value===">>>")r-=3;else if(s.kind==="TERMINATOR"||s.kind==="INDENT"||s.kind==="OUTDENT")return-1;if(t++,r===0)break}return r===0?t:-1},Qt=(e,t)=>{if(t<0||!e[t]||Ri(e[t])>=0)return t;let r=0;while(t>=0){if(J.on)J.n++;let s=e[t];if(s.kind==="TERMINATOR"||s.kind==="INDENT"||s.kind==="OUTDENT")return-1;if(r+=Ri(s),t--,r===0)break}return r===0?t:-1},er=(e,t)=>{let r=Qt(e,t-1);if(r<0||e[r]?.kind!=="IDENTIFIER")return!1;let s=e[r-1];if(!(s?.kind==="IDENTIFIER"&&s.value==="type"))return!1;return ee(e,r-2)},Ri=(e)=>e.kind==="COMPARE"&&e.value==="<"?1:e.kind==="COMPARE"&&e.value===">"?-1:e.kind==="SHIFT"&&e.value===">>"?-2:e.kind==="SHIFT"&&e.value===">>>"?-3:0,Q1=(e,t)=>{let r=e[t];if(!r||r.kind!=="IDENTIFIER"&&r.kind!=="PROPERTY")return!1;if(e[t-1]?.kind==="DEF")return!0;return r.kind==="PROPERTY"&&e[t-1]?.kind==="@"&&e[t-2]?.kind==="DEF"},Wl=(e,t)=>{let r=e[t-1];if(!r)return!1;if(r.kind===")"||r.kind==="CALL_END"||r.kind==="PARAM_END")return!0;if(r.kind==="IDENTIFIER"||r.kind==="PROPERTY"){if(Q1(e,t-1))return!0;let s=e[t-2]?.kind==="@"?t-3:t-2;if(ee(e,s))return!0}if(r.kind==="VOID_MARKER"&&Q1(e,t-2))return!0;return null},bn=(e)=>e.kind==="TERMINATOR"||e.kind==="INDENT"||e.kind==="OUTDENT",Hl=(e,t)=>{if(t.upTo>e.length||t.upTo>0&&e[t.upTo-1]!==t.ref){t.answers.clear(),t.level=0;let r=e.length-1;while(r>=0&&!bn(e[r])){if(J.on)J.n++;r--}t.upTo=r+1}for(let r=t.upTo;r{let s=e[e.length-1];if(!s)return!1;if(!(s.kind==="COMPARE"&&s.value===">"||s.kind==="SHIFT"&&(s.value===">>"||s.value===">>>")))return!1;if(t)return!0;return Hl(e,r),r.answers.get(r.level)??!1},Xt=(e,t)=>{let r=0,s=!1;for(let i=t+1;i")return-1;if(n==="=>")s=!0;else if(n==="="||n==="REACTIVE_ASSIGN"||n==="COMPUTED_ASSIGN"||n==="READONLY_ASSIGN"||n==="GATE"||n==="EFFECT"){if(!s||Si(e,t+1,i))return i}}}return-1},Kl=(e)=>{let t=[new Map],r=Array(e.length),s=[{id:0,up:null}],i=0;for(let n=0;n"||l==="=>";s.push({id:o,up:c?null:s[s.length-1]})}else if(a==="OUTDENT"){if(s.length>1)s.pop()}else if(le.has(a))i++;else if(ce.has(a))i--;else if(i===0&&(a==="IDENTIFIER"||a==="PROPERTY")&&e[n+1]?.kind==="=")for(let o=s[s.length-1];o;o=o.up){if(J.on)J.n++;t[o.id].set(e[n].value,n)}}return{blockMaps:t,blockIdAt:r}},Gl=(e,t)=>{let r=0;for(;t"||s==="=>")return!0;if(s==="TERMINATOR"||s==="INDENT"||s==="OUTDENT")return!1}}return!1},Yl=(e,t)=>{let r=0;for(let s=t+1;s{let s=0;for(let i=t;i{let r=0;for(let s=t;s","=>","DO","DO_IIFE","TRY","LOOP"]),Jl=new Set(["IF","UNLESS","SWITCH","WHILE","UNTIL","FOR","CLASS"]),Zl=new Set(["->","=>","THEN","ELSE"]),Ql=new Set(["TERMINATOR","INDENT","OUTDENT","THEN","ELSE","IF","UNLESS","POST_IF","POST_UNLESS","WHILE","UNTIL","LOOP","FOR","WHEN","BY","SWITCH","RETURN","THROW",",","=","COMPOUND_ASSIGN","&&","||","??","TERNARY","?",":","RELATION","+","-","MATH","**","SHIFT","&","|","^","STRING_START","STRING_END","INTERPOLATION_START","INTERPOLATION_END"]),e3=new Map([["yes","true"],["no","false"],["on","true"],["off","false"],["true","true"],["false","false"],["null","null"],["undefined","undefined"],["this","this"]]);function tr(e,t,r,s){let i=[],n=[],a=new WeakSet,o=()=>n[n.length-1]??null,l=!1,c=[],h=()=>c.length>0&&!!c[c.length-1],f=()=>c[c.length-1]??!1,u=(A)=>{let C=e3.get(A.value);if(C===void 0)return;s(`'${A.value}' cannot name a binding — every read of '${A.value}' lowers to \`${C}\`, so the binding would be unreachable`,A.start,A.end)},d=-1,p=0,m=!1,g=!1,b=null,S=(A,C)=>(b??=Kl(e),(b.blockMaps[b.blockIdAt[A]].get(C)??-1)>=A),w=null,R=(A)=>{let C=[],O=A,W=!0,G=-1;for(;;){if(J.on)J.n++;let U=Yl(e,O);if(U<0){if(Xt(e,O)>=0)break;C.push({colon:O,shaped:!1,assigned:!1}),W=!1,G=-1;break}if(ql(e,O+1,U)){C.push({colon:O,shaped:!1,assigned:!1}),W=!1,G=-1;break}C.push({colon:O,shaped:U>O+1&&Si(e,O+1,U),assigned:S(U+1,e[O-1].value)}),G=U;let Z=e[U+1];if(Z&&(Z.kind==="IDENTIFIER"||Z.kind==="PROPERTY")&&e[U+2]?.kind===":"){O=U+2;continue}break}let Y=G>=0?e[G+1]:null,k=W&&Y!=null&&Y.kind!=="OUTDENT",v=k&&C.every((U)=>U.shaped&&U.assigned);if(!v&&k&&C.some((U)=>U.shaped)&&C.some((U)=>U.assigned)){let U=C.find((X)=>!(X.shaped&&X.assigned)),Z=e[U.colon-1],P=U.shaped?`'${Z.value}' is never assigned in this block`:`the value after '${Z.value}:' is not a type`;s("these adjacent 'name:' lines are ambiguous — with every line a type and every "+`name assigned later they would all claim as typed forward declarations, but ${P}; for typed forwards, assign every name in this block or add an initializer ('${Z.value}: T = value'); for an implicit object, parenthesize the literal or assign it to a target`,Z.start)}w??=new Map;for(let U of C)w.set(U.colon,v);return v},T=(A,C,O,W,G)=>({id:t(),kind:A,value:C,start:O,end:W,spaced:G.spaced,newLine:G.newLine,generated:!1,origin:null}),j=(A,C,O,W)=>{if(e[O]?.kind===":")s("type annotations use a single ':' (e.g. `x: number`), not '::'",C.start,e[O].end);let G=gn(e,O,W,s);if(G.parts.length===0)return-1;for(let Y=O;Y R) => body`, not `(x): (a: T) => R => body`",e[O].start);return i.push(T(A,Ul(G.parts),C.start,G.end,C)),O+G.consumed-1},M=(A)=>{let C=A+1;if(e[C]?.kind!=="IDENTIFIER")return-1;if(C++,C=qt(e,C),C<0)return-1;if(e[C]?.kind!=="=")return-1;if(C++,e[C]?.kind==="INDENT"){let G=yn(e,C);return yi(e,C+1,G,s,{methods:!0}),G}let O=gn(e,C,{alias:!0},s);if(O.parts.length===0)s("a type alias needs a type after '='",e[C-1].end);yi(e,C,C+O.consumed,s);let W=e[C+O.consumed];if(W&&W.kind!=="TERMINATOR"&&W.kind!=="OUTDENT")s(`a type alias must fill its line — unexpected '${W.value}' after the type`,W.start);return C+O.consumed-1},x=(A)=>{let C=A+1;if(e[C]?.kind!=="IDENTIFIER")return-1;if(C++,C=qt(e,C),C===-1)return-1;if(e[C]?.kind==="EXTENDS"){if(e[C+1]?.kind!=="IDENTIFIER")return-1;if(C+=2,C=qt(e,C),C===-1)return-1}if(e[C]?.kind!=="INDENT")return-1;let O=yn(e,C);return yi(e,C+1,O,s,{methods:!0}),O};for(let A=0;A=0){let Y=W?.kind==="EXPORT"?i.pop():C,k=e[G].end;i.push(T("TYPE_DECL",r.slice(Y.start,k).replace(/\r\n/g,` +`),Y.start,k,C)),A=G;continue}}if(Zt(C)&&W&&W.kind!=="."&&W.kind!=="?."&&Rn.has(W.kind)&&e[A+1]&&(Dl.has(e[A+1].kind)||e[A+1].kind==="+"&&e[A+2]?.kind==="NUMBER")){let G=j(Sn.get(C.value),C,A+1,{cast:!0});if(G<0)s(`'${C.value}' takes a type — \`x ${C.value} T\``,C.start,C.end);if(G>=0){A=G;let Y=e[A+1],k=i[i.length-1];if(Y&&Y.newLine&&Y.kind!=="TERMINATOR"&&Y.kind!=="INDENT"&&Y.kind!=="OUTDENT"&&!Zt(Y)){let v=r.slice(k.end,Y.start),U=v.indexOf(` +`);if(U>=0){let Z=v[U-1]==="\r",P=k.end+U-(Z?1:0),X=Z?2:1;i.push({id:t(),kind:"TERMINATOR",value:r.slice(P,P+X),start:P,end:P+X,spaced:!1,newLine:!1,generated:!0,origin:null})}}continue}}if(O==="COMPARE"&&C.value==="<"&&!C.spaced&&W&&(W.kind==="IDENTIFIER"||Q1(i,i.length-1))){let G=i[i.length-2]??null,Y=qt(e,A);if(Y>A){let k=Y-1,v=e[k+1]?.kind,U=G?.kind==="DEF"||Q1(i,i.length-1),Z=v==="="&&e[k+2]?.kind==="COMPONENT";if(U||Z){if(U&&v==="("){let P=0;for(let X=k+1;X=0){A=F;continue}}if(W.kind==="CALL_END"&&a.has(W)){let F=j("TYPE",C,A+1,{});if(F>=0){A=F;continue}}if(Q1(i,i.length-1)){let F=j("TYPE",C,A+1,{});if(F>=0){if(W.kind==="PROPERTY"&&Y?.kind==="DEF")u(W),W.kind="IDENTIFIER";A=F;continue}}if(W.kind==="TYPE_PARAMS"&&Q1(i,i.length-2)){let F=j("TYPE",C,A+1,{});if(F>=0){A=F;continue}}if(W.kind==="VOID_MARKER"&&Q1(i,i.length-2)){let F=j("TYPE",C,A+1,{});if(F>=0){A=F;continue}}if(n.length===0&&(W.kind==="PROPERTY"||W.kind==="IDENTIFIER")&&Y?.kind==="CATCH"){let F=j("TYPE",C,A+1,{stopAtThen:!0});if(F>=0){if(W.kind==="PROPERTY")u(W),W.kind="IDENTIFIER";A=F;continue}}if(G&&(G.kind==="param"||G.kind==="defparam")&&!G.sawEq&&!G.sawType&&G.bodyDepth===0&&!G.inlineBody){let F=W.kind==="PROPERTY"||W.kind==="IDENTIFIER",e1=W.kind==="}"||W.kind==="]",Q=W.kind==="?"&&(Y?.kind==="PROPERTY"||Y?.kind==="IDENTIFIER");if(F||e1||Q){let a1=j("TYPE",C,A+1,{});if(a1>=0){if(Q){if(W.kind="OPT_MARKER",Y.kind==="PROPERTY")Y.kind="IDENTIFIER"}else if(W.kind==="PROPERTY"&&e[A-2]?.kind!=="@")u(W),W.kind="IDENTIFIER";G.sawType=!0,A=a1;continue}}}let k=W.kind==="OPT_MARKER"?1:0,v=k?i[i.length-2]??null:W,U=(i[i.length-2-k]??null)?.kind==="@",Z=i.length-(U?3:2)-k,P=v!==null&&(v.kind==="PROPERTY"||v.kind==="IDENTIFIER")&&ee(i,Z),X=v!==null&&v.kind==="STRING"&&ee(i,Z);if(n.length===0&&P&&!U)g=!0;if(n.length===0&&W.kind==="PROPERTY"&&i[i.length-2]?.kind==="."&&i[i.length-3]?.kind==="PROPERTY"&&i[i.length-3].value==="prototype"&&i[i.length-4]?.kind==="?."&&i[i.length-5]?.kind==="IDENTIFIER"&&ee(i,i.length-6)&&Xt(e,A)>=0)s("an annotated prototype member requires the unconditional chain (`X::m: T = v`) — "+"the soak form cannot carry the annotation",C.start,C.end);if(n.length===0&&W.kind==="PROPERTY"&&i[i.length-2]?.kind==="."&&i[i.length-3]?.kind==="PROPERTY"&&i[i.length-3].value==="prototype"&&i[i.length-4]?.kind==="."&&i[i.length-5]?.kind==="IDENTIFIER"&&ee(i,i.length-6)&&Xt(e,A)>=0){let F=j("TYPE",C,A+1,{});if(F>=0){A=F;continue}}if(n.length===0&&(P||X)&&Xt(e,A)>=0){let F=j("TYPE",C,A+1,{});if(F>=0){if(v.kind==="PROPERTY"&&!U){if(f()!=="class")u(v);v.kind="IDENTIFIER"}g=!1,A=F;continue}}if(n.length===0&&h()&&P&&!Gl(e,A+1)){let F=-1,e1=0;for(let Q=A+1;QA+1&&Si(e,A+1,F)){let Q=j("TYPE",C,A+1,{});if(Q>=0){if(v.kind==="PROPERTY"&&!U){if(f()==="component")u(v);v.kind="IDENTIFIER"}A=Q;continue}}}if(n.length===0&&!h()&&P&&!U&&!k){let F=w?.get(A);if(F!==void 0?F:!m&&R(A)){let Q=j("TYPE",C,A+1,{});if(Q>=0){if(W.kind==="PROPERTY")u(W),W.kind="IDENTIFIER";g=!1,A=Q;continue}}}}if(le.has(O))p++;else if(ce.has(O)){if(p--,d>=0&&p=0&&p===d){if(O==="COMPARE"&&C.value==="<")s("class generics are not supported — the class head's '<' parses as a comparison "+"and the statement miscompiles silently (`class Box` compiles to "+"`(class Box {} < T) && …`); remove the generic list",C.start);if(Ql.has(O))d=-1}if(O==="CLASS"||O==="COMPONENT")l=O==="CLASS"?"class":"component";else if(O==="THEN")l=!1;else if(O==="INDENT")c.push(l),l=!1;else if(O==="OUTDENT")c.pop();else if(O==="TERMINATOR")l=!1;if(n.length===0){if(O==="TERMINATOR")m=g,g=!1;else if(O==="INDENT"||O==="OUTDENT")m=!1,g=!1}if(le.has(O)){let G="other";if(O==="PARAM_START")G="param";else if(O==="CALL_START"&&Q1(i,i.length-1))G="defparam";else if(O==="CALL_START"&&W?.kind==="TYPE_PARAMS"&&Q1(i,i.length-2))G="defparam";else if(O==="CALL_START"&&W?.kind==="VOID_MARKER"&&Q1(i,i.length-2))G="defparam";n.push({kind:G,sawEq:!1,sawType:!1,bodyDepth:0,pendingImmediate:!1,pendingCond:!1,inlineBody:!1})}else if(ce.has(O)){if(n.pop()?.kind==="defparam"&&O==="CALL_END")a.add(C)}else{let G=o();if(G&&(G.kind==="param"||G.kind==="defparam")){let Y=()=>{G.sawEq=!1,G.sawType=!1,G.pendingImmediate=!1,G.pendingCond=!1,G.inlineBody=!1};if(G.bodyDepth>0){if(O==="INDENT")G.bodyDepth++;else if(O==="OUTDENT")G.bodyDepth--}else if(O==="INDENT")if(G.pendingImmediate||G.pendingCond)G.bodyDepth=1,G.pendingImmediate=!1,G.pendingCond=!1,G.inlineBody=!1;else Y();else if(O===","||O==="OUTDENT")Y();else if(O==="TERMINATOR")if(G.inlineBody&&C.value===";")G.pendingImmediate=!1,G.pendingCond=!1;else Y();else{if(G.pendingImmediate=Xl.has(O),Jl.has(O)&&W?.kind==="=")G.pendingCond=!0;else if(O==="THEN")G.pendingCond=!1;if(Zl.has(O))G.inlineBody=!0;if(O==="=")G.sawEq=!0}}}i.push(C)}e.length=i.length;for(let A=0;A"&&r!=="=>")continue;let s=t-1,i=e[s];if(!i)continue;if(i.kind==="DO"){i.kind="DO_IIFE";continue}if(i.kind!==")"){let a=0,o=-1;for(let l=t-1;l>=0;l--){if(J.on)J.n++;let c=e[l],h=c.kind;if(h===")"||h==="]"||h==="}"||h==="PICK_END"||h==="CALL_END"||h==="PARAM_END"||h==="INDEX_END"||h==="COMPARE"&&c.value===">")a++;else if(h==="("||h==="["||h==="{"||h==="PICK_START"||h==="OPTPICK_START"||h==="CALL_START"||h==="PARAM_START"||h==="INDEX_START"||h==="COMPARE"&&c.value==="<")a--;else if(h==="SHIFT"&&c.value===">>")a+=2;else if(h==="SHIFT"&&c.value===">>>")a+=3;else if(a===0){if(h===":"){if(e[l-1]?.kind===")")o=l-1;break}if(h==="TERMINATOR"||h==="INDENT"||h==="OUTDENT"||h==="="||h==="->"||h==="=>")break}}if(o<0)continue;s=o,i=e[s]}else{let a=0,o=-1;for(let l=t-1;l>=0;l--){if(J.on)J.n++;let c=e[l].kind;if(c===")"||c==="CALL_END"||c==="PARAM_END")a++;else if(c==="("||c==="CALL_START"||c==="PARAM_START"){if(--a===0){o=l;break}}}if(o>1&&e[o-1].kind===":"&&e[o-2]?.kind===")")s=o-2,i=e[s]}let n=0;for(let a=s-1;a>=0;a--){if(J.on)J.n++;let o=e[a];if(o.kind===")"||o.kind==="CALL_END"||o.kind==="INDEX_END"||o.kind==="]")n++;else if(o.kind==="("||o.kind==="CALL_START"||o.kind==="INDEX_START"||o.kind==="["){if(n>0){n--;continue}if(o.kind==="("){if(o.kind="PARAM_START",i.kind="PARAM_END",e[a-1]?.kind==="DO")e[a-1].kind="DO_IIFE"}break}}}return e}function r3(e){let t=new Set(["(","[","{","PICK_START","OPTPICK_START","CALL_START","INDEX_START","PARAM_START","STRING_START","INTERPOLATION_START","HEREGEX_START","INDENT"]),r=new Set([")","]","}","PICK_END","CALL_END","INDEX_END","PARAM_END","STRING_END","INTERPOLATION_END","HEREGEX_END","OUTDENT"]),s=[0];for(let i=0;i0)s[a]--}else if(n==="INDEX_START"&&s[s.length-1]===0){let a=1,o=i;while(++o0){if(J.on)J.n++;if(t.has(e[o].kind))a++;else if(r.has(e[o].kind))a--}if(a===0&&e[o]?.kind===":")e[i].kind="[",e[o-1].kind="]"}if(t.has(e[i].kind))s.push(0);else if(r.has(e[i].kind))s.pop()}return e}var i3=new Set(["STRING","STRING_END","REGEX","HEREGEX_END","NUMBER","BOOL","NULL","UNDEFINED","]","}","SYMBOL"]);function s3(e){let t=0;for(let r=0;r0&&(s==="->"||s==="=>")&&r>0&&(i3.has(e[r-1].kind)||e[r-1].kind==="IDENTIFIER"&&(e[r-1].value==="Infinity"||e[r-1].value==="NaN")))e.splice(r,0,{kind:",",value:",",start:e[r].start,end:e[r].start}),r++}return e}function n3(e){let t=new Set(["(","[","{","PICK_START","OPTPICK_START","CALL_START","INDEX_START","PARAM_START","STRING_START","INTERPOLATION_START","HEREGEX_START","INDENT"]),r=new Set([")","]","}","PICK_END","CALL_END","INDEX_END","PARAM_END","STRING_END","INTERPOLATION_END","HEREGEX_END","OUTDENT"]),s=(n)=>n!==void 0&&(n.kind==="IDENTIFIER"||n.kind==="PROPERTY"),i=[0];for(let n=0;n0)i[o]--}else if(s(e[n])&&i[i.length-1]===0&&e[n-1]?.kind!=="."&&e[n-1]?.kind!=="?."&&e[n-1]?.kind!=="@"){let o=n;for(;;){if(J.on)J.n++;let l=e[o+1],c=e[o+2];if(l===void 0||!s(c))break;if(l.kind==="."){o+=2;continue}if(l.kind==="-"&&l.start===e[o].end&&c.start===l.end){o+=2;continue}break}if(o>n&&e[o+1]?.kind===":"){let l="";for(let h=n;h<=o;h++)l+=e[h].value;let c={...e[n],kind:"STRING",value:JSON.stringify(l),end:e[o].end};e.splice(n,o-n+1,c)}}if(t.has(e[n].kind))i.push(0);else if(r.has(e[n].kind))i.pop()}return e}function a3(e){for(let t=0;t>>=":"COMPOUND_ASSIGN"},Nn={"**=":"COMPOUND_ASSIGN","&&=":"COMPOUND_ASSIGN","||=":"COMPOUND_ASSIGN","??=":"COMPOUND_ASSIGN","<<=":"COMPOUND_ASSIGN",">>=":"COMPOUND_ASSIGN","//=":"COMPOUND_ASSIGN","%%=":"COMPOUND_ASSIGN",">>>":"SHIFT","...":"...","<=>":"BIND"},An={"==":"COMPARE","!=":"COMPARE","<=":"COMPARE",">=":"COMPARE","**":"**","&&":"&&","||":"||","??":"??","..":"..","+=":"COMPOUND_ASSIGN","-=":"COMPOUND_ASSIGN","*=":"COMPOUND_ASSIGN","/=":"COMPOUND_ASSIGN","%=":"COMPOUND_ASSIGN","&=":"COMPOUND_ASSIGN","^=":"COMPOUND_ASSIGN","|=":"COMPOUND_ASSIGN",":=":"REACTIVE_ASSIGN","~=":"COMPUTED_ASSIGN","<~":"GATE","=!":"READONLY_ASSIGN","<<":"SHIFT",">>":"SHIFT","//":"MATH","%%":"MATH","~>":"EFFECT","!>":"!>","=~":"MATCH","->":"->","=>":"=>","++":"++","--":"--","?.":"?.",".=":"METHOD_ASSIGN","*{":"MAP_START"},o3=new Set([".","?.","UNARY","NEW","DO","DO_IIFE","MATH","UNARY_MATH","+","-","**","SHIFT","RELATION","COMPARE","&","^","|","&&","||","??","TERNARY","EXTENDS"]),ir=new Set(["IDENTIFIER","PROPERTY",")","CALL_END","NUMBER","STRING","]","INDEX_END","SUPER","DAMMIT","MAYBE_DAMMIT","DYNAMIC_IMPORT"]),at=new Set([...ir,"BOOL","NULL","UNDEFINED","}","PICK_END","STRING_END","REGEX","HEREGEX_END","THIS","@"]);function l3(e,t){let r=t;while(r=e.length||c3.test(e[r+1])))r++;return r}var c3=/[\s,)\]};:]/,ki=/[0-9]/,h3=/^0b[01](?:_?[01])*n?|^0o[0-7](?:_?[0-7])*n?|^0x[\da-f](?:_?[\da-f])*n?|^\d+(?:_\d+)*n|^(?:\d+(?:_\d+)*)?\.?\d+(?:_\d+)*(?:e[+-]?\d+(?:_\d+)*)?/i,f3=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/,u3=/^\w*/,vn=/^(?!.*(.).*\1)[gimsuy]*$/,d3=new Set([...at,"++","--"]);function m3(e,t="",{tolerant:r=!1}={}){As();let s=new ye(e,t),i=[],n=[],a=[],o=[""],l=[],c=0,h=0,f=!0,u=-1,d=!1,p=!1,m=null,g=(_)=>_?.kind==="{"||_?.kind===","||(_?.kind==="INDENT"||_?.kind==="TERMINATOR")&&l.length>0,b=(_)=>Boolean(rr[_]&&_!=="own")||Tn.has(_)||kn.has(_)||Boolean(Ei[_])||_==="in"||_==="of"||_==="when"||_==="import"||_==="export",S=(_,H)=>w&&g(_)&&/^[^\S\n]+as[^\S\n]/.test(H)||R&&_?.kind==="AS",w=!1,R=!1,T=!1,j=0,M=0,x=[],A=(_,H,q=H)=>{let{line:i1,col:D}=s.lineColAt(H),z=Error(`${t}:${i1+1}:${D+1}: ${_}`);throw z.reason=_,z.start=H,z.end=q,z},C=(_,H,q=H)=>{try{A(_,H,q)}catch(i1){throw i1.openAtEnd=!0,i1}},O=(_,H,q,i1,D={})=>{if((_==="STRING"||_==="STRING_START")&&(w||R)){let s1=i[i.length-1];if(s1?.kind==="IDENTIFIER"&&s1.value==="from")s1.kind="FROM"}if(_==="IDENTIFIER"&&H==="from"&&i[i.length-1]?.kind==="YIELD")_="FROM";if(_==="IDENTIFIER"&&H==="from"&&i[i.length-1]?.kind==="IDENTIFIER"&&i[i.length-2]?.kind==="ACCEPT")_="FROM";if(_==="RELATION"){let s1=i[i.length-1];if(s1?.kind==="UNARY"&&s1.value==="!")i.pop(),H="!"+H,q=s1.start}let z={id:M++,kind:_,value:H,start:q,end:i1,spaced:d,newLine:p,generated:!1,origin:null,...D};if(i.push(z),!z.generated&&x.length>0){for(let s1 of x)s1.origin=z.id;x.length=0}d=!1,p=!1},W=(_,H)=>{let q={id:M++,kind:_,value:_,start:H,end:H,spaced:!1,newLine:!1,generated:!0,origin:null};x.push(q),i.push(q)},G=()=>i[i.length-1]??null,Y=()=>{let _=i.length-1;while(_>=2&&i[_].kind==="."&&i[_-1].kind==="PROPERTY"&&i[_-2].kind===".")_-=2;let H=i[_-1];if(!H||H.kind==="INDENT"||H.kind==="TERMINATOR"||H.kind==="OUTDENT"||H.kind==="RENDER")return!0;return H.kind==="IDENTIFIER"&&$e.has(String(H.value).split("#")[0])},k=()=>{let _=0,H=0;for(let q=i.length-1;q>=0;q--){let i1=i[q].kind;if(i1==="OUTDENT")_++;else if(i1==="INDENT"){if(_--,_=0;D--){let z=i[D].kind;if(z==="TERMINATOR"||z==="INDENT"||z==="OUTDENT")break;if(z==="COMPONENT")return!0}}}}return!1},v=()=>{if(!l[l.length-1]?.pickKeys)return!1;let H=G()?.kind;return H==="PICK_START"||H==="OPTPICK_START"||H===","||H===":"||H==="TERMINATOR"||H==="INDENT"||H==="OUTDENT"},U=(_,H)=>{let q=c;while(c=e.length)C("unterminated string",H);let i1=e.slice(q,c);return c+=_.length,i1},Z=(_)=>_.replace(/\\[\s\S]|`|\$\{/g,(H)=>H[0]==="\\"?H:`\\${H}`),P=(_)=>{let H=null,q=/\n+([^\S\n]*)(?=\S)/g,i1;while(i1=q.exec(_))if(H===null||i1[1].length>0&&i1[1].length{if(H===null)return _??"";if(_===null)return H;return H.length<=_.length?H:_},F=(_,H)=>{if(H.length===1)return _;if(_=_.replace(/\r\n?/g,` `),!_.includes(` `))return _;let q=_.slice(_.lastIndexOf(` -`)+1),t1=/^[^\S\n]*$/.test(q)?q:null,C=Z(x(_),t1),Y=C?_.split(` -${C}`).join(` -`):_;return Y=Y.replace(/^\n/,""),Y.replace(/\n[^\S\n]*$/,"")},r1=(_)=>{let z=c,q=-1;while(c=e.length)D("unterminated string",_.opener);let t1=e.slice(z,q===-1?c:q);if(q===-1&&!_.started){let C=c+_.delim.length,Y=U(t1,_.delim),o1=_.delim.length===3?`\`${X(Y)}\``:`"${Y}"`;O("STRING",o1,_.opener,C),c=C;return}if(!_.started)_.started=!0,O("STRING_START","(",_.opener,_.opener+_.delim.length);if(q===-1){_.chunkIdx.push(i.length),O("STRING",`"${t1}"`,z,c);let C=c+_.delim.length;if(O("STRING_END",")",c,C),c=C,_.delim.length===3)Q(_);return}_.chunkIdx.push(i.length),O("STRING",`"${t1}"`,z,q),O("INTERPOLATION_START","(",q,q+2),e1("interp",q,{ctx:_}),c=q+2},Q=(_)=>{let z=i[i.length-1],q=z.start-1,t1=q<0?-1:Math.max(e.lastIndexOf(` -`,q),e.lastIndexOf("\r",q)),C=e.slice(t1+1,z.start),Y=/^[^\S\n]*$/.test(C)?C:null,o1=_.chunkIdx.map((y1)=>i[y1].value.slice(1,-1).replace(/\r\n?/g,` -`)),E1=Z(x(o1.join("")),Y);_.chunkIdx.forEach((y1,S1)=>{let _1=o1[S1];if(E1)_1=_1.split(` -${E1}`).join(` -`);if(S1===0)_1=_1.replace(/^\n/,"");if(S1===_.chunkIdx.length-1)_1=_1.replace(/\n[^\S\n]*$/,"");i[y1].value=`"${_1}"`})},l1=(_)=>{let z=c,q="",t1=-1;while(c=e.length)break;q+=e.slice(c,c+2),c+=2;continue}if(C==="#"&&e[c+1]==="{"){t1=c;break}if(_.inClass){if(C===` -`||C==="\r")N("newline inside a heregex character class (a regex literal cannot contain one)",c);if(C==="]")_.inClass=!1;q+=C,c++;continue}if(C==="["){_.inClass=!0,q+=C,c++;continue}if(/\s/.test(C)){while(c{let{out:z,chunkStart:q,interpAt:t1}=l1(_);if(t1>=0){if(!_.started)_.started=!0,O("HEREGEX_START","///",_.opener,_.opener+3);O("STRING",`"${z}"`,q,t1),O("INTERPOLATION_START","(",t1,t1+2),e1("interp",t1,{ctx:_,heregex:!0}),c=t1+2;return}if(!e.startsWith("///",c))D("missing /// (unclosed heregex)",_.opener);let C=c;c+=3;let Y=/^\w*/.exec(e.slice(c))[0];if(!Ns.test(Y))N(`invalid regular expression flags ${Y}`,c);let o1=c+Y.length;if(!_.started)O("REGEX",`/${z===""?"(?:)":z}/${Y}`,_.opener,o1);else O("STRING",`"${z}"`,q,C),O("HEREGEX_END",Y,C,o1);c=o1},s1=()=>{for(let _=i.length-1;_>=0;_--)if(!i[_].generated)return i[_].end;return 0},e1=(_,z,q={})=>{l.push({kind:_,at:z,depth:o.length,...q})},K=null,a1={upTo:0,ref:null,level:0,answers:new Map},A=()=>K!==null&&o.length>=K,V=()=>{for(let _=i.length-1;_>=0;_--){let z=i[_].kind;if(z==="TERMINATOR"||z==="INDENT"||z==="OUTDENT")return!1;if(z==="=")return er(i,_)}return!1},B=()=>{if(K!==null&&o.length{let _=i.length;if(i[_-1]?.kind==="=")return er(i,_-1);let z=(t1)=>i[t1]?.kind==="RESERVED"&&i[t1].value==="interface",q=Qt(i,_-1);if(q<0||i[q]?.kind!=="IDENTIFIER")return!1;if(z(q-1))return ee(i,q-2);if(i[q-1]?.kind==="EXTENDS"){let t1=Qt(i,q-2);if(t1>=0&&i[t1]?.kind==="IDENTIFIER"&&z(t1-1))return ee(i,t1-2)}return!1},f1=(_)=>e[_]===` -`||e[_]==="\r",h1=(_)=>{let z=_+1;while(z{let z=_,q=1;while(z{let z=e[_],q=_+1;while(q{let _=l.pop();if(!_)return null;while(i.length&&i[i.length-1].kind==="TERMINATOR")i.pop();let z=s1();while(o.length>_.depth)o.pop(),W("OUTDENT",z);return B(),_},d1=(_,z,q="")=>{let t1=s1(),C=l.length>0?l[l.length-1].depth:1;while(o.length>1&&o[o.length-1].length>_.length){if(o.length<=C)N(`dedent to ${JSON.stringify(_)} crosses the enclosing bracket's indentation floor ${JSON.stringify(o[o.length-1])}`,z);o.pop(),W("OUTDENT",t1)}if(B(),o[o.length-1]!==_)N(`inconsistent indentation: ${JSON.stringify(_)} neither extends the enclosing block's ${JSON.stringify(o[o.length-1])} nor matches any open block${q}`,z)};while(c=e.length)break;let o1=e[c]===` +`)+1),i1=/^[^\S\n]*$/.test(q)?q:null,D=X(P(_),i1),z=D?_.split(` +${D}`).join(` +`):_;return z=z.replace(/^\n/,""),z.replace(/\n[^\S\n]*$/,"")},e1=(_)=>{let H=c,q=-1;while(c=e.length)C("unterminated string",_.opener);let i1=e.slice(H,q===-1?c:q);if(q===-1&&!_.started){let D=c+_.delim.length,z=F(i1,_.delim),s1=_.delim.length===3?`\`${Z(z)}\``:`"${z}"`;O("STRING",s1,_.opener,D),c=D;return}if(!_.started)_.started=!0,O("STRING_START","(",_.opener,_.opener+_.delim.length);if(q===-1){_.chunkIdx.push(i.length),O("STRING",`"${i1}"`,H,c);let D=c+_.delim.length;if(O("STRING_END",")",c,D),c=D,_.delim.length===3)Q(_);return}_.chunkIdx.push(i.length),O("STRING",`"${i1}"`,H,q),O("INTERPOLATION_START","(",q,q+2),l1("interp",q,{ctx:_}),c=q+2},Q=(_)=>{let H=i[i.length-1],q=H.start-1,i1=q<0?-1:Math.max(e.lastIndexOf(` +`,q),e.lastIndexOf("\r",q)),D=e.slice(i1+1,H.start),z=/^[^\S\n]*$/.test(D)?D:null,s1=_.chunkIdx.map((y1)=>i[y1].value.slice(1,-1).replace(/\r\n?/g,` +`)),R1=X(P(s1.join("")),z);_.chunkIdx.forEach((y1,S1)=>{let _1=s1[S1];if(R1)_1=_1.split(` +${R1}`).join(` +`);if(S1===0)_1=_1.replace(/^\n/,"");if(S1===_.chunkIdx.length-1)_1=_1.replace(/\n[^\S\n]*$/,"");i[y1].value=`"${_1}"`})},a1=(_)=>{let H=c,q="",i1=-1;while(c=e.length)break;q+=e.slice(c,c+2),c+=2;continue}if(D==="#"&&e[c+1]==="{"){i1=c;break}if(_.inClass){if(D===` +`||D==="\r")A("newline inside a heregex character class (a regex literal cannot contain one)",c);if(D==="]")_.inClass=!1;q+=D,c++;continue}if(D==="["){_.inClass=!0,q+=D,c++;continue}if(/\s/.test(D)){while(c{let{out:H,chunkStart:q,interpAt:i1}=a1(_);if(i1>=0){if(!_.started)_.started=!0,O("HEREGEX_START","///",_.opener,_.opener+3);O("STRING",`"${H}"`,q,i1),O("INTERPOLATION_START","(",i1,i1+2),l1("interp",i1,{ctx:_,heregex:!0}),c=i1+2;return}if(!e.startsWith("///",c))C("missing /// (unclosed heregex)",_.opener);let D=c;c+=3;let z=/^\w*/.exec(e.slice(c))[0];if(!vn.test(z))A(`invalid regular expression flags ${z}`,c);let s1=c+z.length;if(!_.started)O("REGEX",`/${H===""?"(?:)":H}/${z}`,_.opener,s1);else O("STRING",`"${H}"`,q,D),O("HEREGEX_END",z,D,s1);c=s1},I=()=>{for(let _=i.length-1;_>=0;_--)if(!i[_].generated)return i[_].end;return 0},l1=(_,H,q={})=>{l.push({kind:_,at:H,depth:o.length,...q})},L=null,t1={upTo:0,ref:null,level:0,answers:new Map},N=()=>L!==null&&o.length>=L,V=()=>{for(let _=i.length-1;_>=0;_--){let H=i[_].kind;if(H==="TERMINATOR"||H==="INDENT"||H==="OUTDENT")return!1;if(H==="=")return er(i,_)}return!1},B=()=>{if(L!==null&&o.length{let _=i.length;if(i[_-1]?.kind==="=")return er(i,_-1);let H=(i1)=>i[i1]?.kind==="RESERVED"&&i[i1].value==="interface",q=Qt(i,_-1);if(q<0||i[q]?.kind!=="IDENTIFIER")return!1;if(H(q-1))return ee(i,q-2);if(i[q-1]?.kind==="EXTENDS"){let i1=Qt(i,q-2);if(i1>=0&&i[i1]?.kind==="IDENTIFIER"&&H(i1-1))return ee(i,i1-2)}return!1},o1=(_)=>e[_]===` +`||e[_]==="\r",f1=(_)=>{let H=_+1;while(H{let H=_,q=1;while(H{let H=e[_],q=_+1;while(q{let _=l.pop();if(!_)return null;while(i.length&&i[i.length-1].kind==="TERMINATOR")i.pop();let H=I();while(o.length>_.depth)o.pop(),W("OUTDENT",H);return B(),_},u1=(_,H,q="")=>{let i1=I(),D=l.length>0?l[l.length-1].depth:1;while(o.length>1&&o[o.length-1].length>_.length){if(o.length<=D)A(`dedent to ${JSON.stringify(_)} crosses the enclosing bracket's indentation floor ${JSON.stringify(o[o.length-1])}`,H);o.pop(),W("OUTDENT",i1)}if(B(),o[o.length-1]!==_)A(`inconsistent indentation: ${JSON.stringify(_)} neither extends the enclosing block's ${JSON.stringify(o[o.length-1])} nor matches any open block${q}`,H)};while(c=e.length)break;let s1=e[c]===` `?1:e[c]==="\r"&&e[c+1]===` -`?2:0;if(o1){n.push({kind:"blank",start:C,end:c+o1,text:e.slice(C,c+o1)}),c+=o1;continue}let E1=T&&/^#[A-Za-z_]/.test(e.slice(c,c+2))&&Y.length>(o[F-1]??"").length;if(e[c]==="#"&&!E1){let m1=c;if(e.startsWith("###",c)&&e[c+3]!=="#"){let be=e.indexOf("###",c+3);if(be<0)D("unclosed `###` block comment — close it with `###`",c,c+3);m1=be+3;let Oe=m1;while(e[Oe]===" "||e[Oe]==="\t")Oe++;if(Oe(o[j-1]??"").length;if(e[c]==="#"&&!R1){let m1=c;if(e.startsWith("###",c)&&e[c+3]!=="#"){let be=e.indexOf("###",c+3);if(be<0)C("unclosed `###` block comment — close it with `###`",c,c+3);m1=be+3;let Oe=m1;while(e[Oe]===" "||e[Oe]==="\t")Oe++;if(Oe{if(S1==null||S1.kind!=="."&&S1.kind!=="?.")return!1;if(l.length>0)return!1;if(T)return!1;if(Y.length>y1.length)return!1;if(!j1.test(e[c]??""))return!1;let m1=c;while(m1=0&&e[w1+1]!=="."&&!ki.test(e[w1+1]??"")&&!T;if(R1&&!v1&&Y.lengthe.startsWith(D1,c)&&!G1.test(e[c+D1.length]??""));if(i.length>0&&u>=0&&!m1&&H()?.kind!=="TERMINATOR"){let D1=e[u]==="\r"?2:1;O("TERMINATOR",e.slice(u,u+D1),u,u+D1,{generated:!0})}}if(T&&o.length<=F)T=!1;if(h=!1,p=!0,m!==null&&l.length<=m)m=null;if(l.length===0)w=!1,R=!1;continue}let _=e[c];if(_===" "||_==="\t"){d=!0,c++;continue}if(_==="\r"&&e[c+1]!==` -`)N("bare carriage return (not followed by a newline) is not supported",c);if(_===` -`||_==="\r"){u=c,h=!0,c+=_==="\r"?2:1;continue}if(_==="#"){if(T&&/[A-Za-z_]/.test(e[c+1]??"")){let Y=/^#([A-Za-z_][\w-]*)/.exec(e.slice(c)),o1=H();if(o1&&(o1.kind==="IDENTIFIER"||o1.kind==="PROPERTY")&&!d&&!o1.generated){o1.value+=Y[0],o1.end=c+Y[0].length,c+=Y[0].length;continue}if(o1&&(o1.kind==="TERMINATOR"||o1.kind==="INDENT"||o1.kind==="OUTDENT"||o1.kind==="RENDER")){O("IDENTIFIER",`div${Y[0]}`,c,c+Y[0].length),c+=Y[0].length;continue}}let C=c;while(C{let R1=c;while(e[R1]===" "||e[R1]==="\t")R1++;let w1=e[R1]??"";if(w1==="{"||w1==="*")return!0;if(!j1.test(w1))return!1;let g1=R1+1;while(g1{let R1=c;while(e[R1]===" "||e[R1]==="\t")R1++;return e[R1]==="{"})())O("EXPORT_TYPE",Y,C,c);else if(Y==="type"&&l[l.length-1]?.specifiers===!0&&(()=>{let R1=c;while(e[R1]===" "||e[R1]==="\t")R1++;if(!j1.test(e[R1]??""))return!1;let w1=R1+1;while(w1"}[C]??C,E1=o1!==C,y1=1,S1=c+3;while(S10){let g1=e[S1];if(g1==="\\"){S1+=2;continue}if(E1&&g1===C)y1++;if(g1===o1)y1--;if(y1>0)S1++}if(y1!==0)D(`unclosed %w${C} — never closed by '${o1}'`,c,c+3);O("[","[",c,c+3);let _1=/(?:\\\s|\S)+/g;_1.lastIndex=c+3;let v1,R1=!0,w1=c+3;while((v1=_1.exec(e))!==null&&v1.index=S1)break;_1.lastIndex=g1}O("]","]",S1,S1+1),c=S1+1;continue}}let z=e.slice(c,c+4);if(Ts[z]){O(Ts[z],z,c,c+4),c+=4;continue}let q=e.slice(c,c+3);if(q==="==="||q==="!=="){O("COMPARE",q.slice(0,2),c,c+3),c+=3;continue}if(ws[q]){O(ws[q],q,c,c+3),c+=3;continue}let t1=e.slice(c,c+2);if(t1==="?="&&e[c+2]!=="="){O("COMPOUND_ASSIGN","??=",c,c+2),c+=2;continue}if(t1==="*{"){O("MAP_START","*",c,c+1),c+=1;continue}if(_s[t1]){if(t1==="!="&&!d&&(H()?.kind==="IDENTIFIER"||H()?.kind==="PROPERTY"))N(`cannot use the '!' sigil in an assignment to '${H().value}' (write 'a != b' with a space for comparison)`,c);O(_s[t1],t1,c,c+2),c+=2;continue}if(_==="<"||_===">"){O("COMPARE",_,c,c+1),c++;continue}if(_==="*"||_==="/"||_==="%"){if(_==="*"&&w&&(H()?.kind==="IMPORT"||H()?.kind==="IMPORT_TYPE"||H()?.kind===","))O("IMPORT_ALL",_,c,c+1);else if(_==="*"&&H()?.kind==="EXPORT")O("EXPORT_ALL",_,c,c+1);else if(_==="*"&&H()?.kind==="YIELD"&&!p)O("FROM",_,c,c+1);else O("MATH",_,c,c+1);c++;continue}if(_==="!"||_==="~"){if(_==="!"&&!d&&(H()?.kind==="IDENTIFIER"||H()?.kind==="PROPERTY"||H()?.kind==="DYNAMIC_IMPORT")){O("DAMMIT","!",c,c+1),c++;continue}O("UNARY_MATH",_,c,c+1),c++;continue}if(_==="&"||_==="|"||_==="^"){O(_,_,c,c+1),c++;continue}if(_==="?"){if(!d){if(e[c+1]==="("||e[c+1]==="["){O("?.","?",c,c+1),c++;continue}let C=H();if(e[c+1]==="!"&&C&&!C.generated&&at.has(C.kind)){if(C.kind!=="IDENTIFIER"&&C.kind!=="PROPERTY")N("maybe dammit '?!' follows a name, as dammit does (`f?!`, `obj.method?!`) — bind the value to a name first",c,c+2);O("MAYBE_DAMMIT","?!",c,c+2),c+=2;continue}if(C&&!C.generated&&at.has(C.kind)){let o1=i[i.length-2]??null,E1=o1===null||o1.kind==="@"||o1.kind==="TERMINATOR"||o1.kind==="INDENT"||o1.kind==="OUTDENT";if((C.kind==="PROPERTY"||C.kind==="IDENTIFIER")&&E1&&/^[^\S\n]*(:=|~=|=!|=(?![=>!])|:(?![:=]))/.test(e.slice(c+1))){O("OPT_MARKER","?",c,c+1),c++;continue}O("?","?",c,c+1),c++;continue}let Y=i[i.length-2]??null;if(C&&(C.kind==="-"||C.kind==="+")&&!C.spaced&&(Y?.kind==="]"||Y?.kind==="INDEX_END")&&e[c+1]===":"){O("?","?",c,c+1),c++;continue}N("unspaced '?' needs a value before it (postfix existence) — write ' ? ' for a ternary",c)}f++,O("TERNARY","?",c,c+1),c++;continue}if(_==="@"){O("@","@",c,c+1),c++;continue}if(_==="("){let C=H();if(C&&!d&&C.kind==="?."){C.kind="ES6_OPTIONAL_CALL",e1("call",c),O("CALL_START","(",c,c+1),c++;continue}let Y=C&&!d&&!C.generated&&ir.has(C.kind);e1(Y?"call":"group",c),O(Y?"CALL_START":"(","(",c,c+1),c++;continue}if(_===")"){let C=c1();if(C?.kind!=="call"&&C?.kind!=="group")N("unmatched ')'",c);O(C.kind==="call"?"CALL_END":")",")",c,c+1),c++;continue}if(_==="["){let C=H();if(C&&!d&&C.kind==="?."){C.kind="ES6_OPTIONAL_INDEX",e1("index",c),O("INDEX_START","[",c,c+1),c++;continue}let Y=C&&!d&&!C.generated&&at.has(C.kind);e1(Y?"index":"array",c),O(Y?"INDEX_START":"[","[",c,c+1),c++;continue}if(_==="]"){let C=c1();if(C?.kind!=="index"&&C?.kind!=="array")N("unmatched ']'",c);O(C.kind==="index"?"INDEX_END":"]","]",c,c+1),c++;continue}if(_==="{"){let C=H();if(C!=null&&(C.kind==="."||C.kind==="?.")&&!d&&!C.newLine&&i.length>=2&&at.has(i[i.length-2].kind)&&i[i.length-2].kind!=="PICK_END")i.pop(),e1("object",c,{pick:!0,pickKeys:e[c+1]!==" "&&e[c+1]!=="\t"}),O(C.kind==="?."?"OPTPICK_START":"PICK_START","{",c,c+1);else{let o1=C!=null&&(C.kind==="IMPORT"||C.kind==="IMPORT_TYPE"||C.kind==="EXPORT"||C.kind==="EXPORT_TYPE"||w&&C.kind===",");e1("object",c,o1?{specifiers:!0}:{}),O("{","{",c,c+1)}c++;continue}if(_==="}"){let C=c1();if(C?.kind==="interp"){if(O("INTERPOLATION_END",")",c,c+1),c++,C.heregex)I(C.ctx);else r1(C.ctx);continue}if(C?.kind!=="object")N("unmatched '}'",c);O(C.pick?"PICK_END":"}","}",c,c+1),c++;continue}if(_===":"&&e[c+1]===":"){if(!A()&&!V()&&j1.test(e[c+2]??"")){let C=i[i.length-1];if(C?.kind==="?"&&C.end===c)C.kind="?.",C.value="?.",C.end=c+2,O("PROPERTY","prototype",c,c+2),O(".",".",c,c+2);else O(".",".",c,c+2),O("PROPERTY","prototype",c,c+2),O(".",".",c,c+2);c+=2;continue}N("type annotations use a single ':' (e.g. `x: number`), not '::'",c,c+2)}if(_===":"&&j1.test(e[c+1]??"")&&!A()&&!V()){let C=i[i.length-1];if(!(C!==void 0&&(C.kind==="PROPERTY"||C.kind===")"||C.kind==="]"||C.kind==="}"||C.kind==="CALL_END"||C.kind==="INDEX_END"||C.kind==="PARAM_END"||C.kind==="PICK_END"||C.kind==="STRING"||C.kind==="STRING_END"||C.kind==="NUMBER"||C.kind==="REGEX"||C.kind==="HEREGEX_END"||C.kind==="BOOL"||C.kind==="NULL"||C.kind==="UNDEFINED"||C.kind==="DAMMIT"||C.kind==="?"||C.kind==="MAYBE_DAMMIT"||C.kind==="OPT_MARKER"||C.kind==="THIS"||C.kind==="@"||C.kind==="SYMBOL"||f>0&&C.kind==="IDENTIFIER"))){let o1=n3(e,c+1);O("SYMBOL",e.slice(c+1,o1),c,o1),c=o1;continue}}if(_==="="||_==="+"||_==="-"||_==="."||_===","||_===";"||_===":"){if(_===":"&&f>0)f--;O(_===";"?"TERMINATOR":_,_,c,c+1),c++;continue}if(_==="`"&&(A()||V())){let C=h1(c);O("TYPE_TEMPLATE",e.slice(c,C),c,C),c=C;continue}N(`cannot tokenize '${_}'`,c)}if(l.length>0){if(!(r&&l.every((q)=>q.kind!=="interp"))){let q=l[0],t1={call:"(",group:"(",index:"[",array:"[",object:"{",interp:"#{"}[q.kind]??q.kind;D(`unclosed '${t1}' — never closed by end of input`,q.at,q.at+t1.length)}let z=e.length;while(z>0&&(e[z-1]===` -`||e[z-1]==="\r"))z--;while(l.length>0){let q=l[l.length-1],t1={call:"(",group:"(",index:"[",array:"[",object:"{"}[q.kind]??q.kind;a.push({message:`unclosed '${t1}' — never closed by end of input`,start:q.at,end:q.at+t1.length,expected:[],got:"end of input"});let C=q.kind==="call"?"CALL_END":q.kind==="group"?")":q.kind==="index"?"INDEX_END":q.kind==="array"?"]":q.pick?"PICK_END":"}";c1();let Y=i.length;while(Y>0&&(i[Y-1].kind==="OUTDENT"||i[Y-1].kind==="INDENT"||i[Y-1].kind==="TERMINATOR"))Y--;let o1=i[Y-1]?.kind,E1=q.kind==="call"&&o1==="CALL_START"||q.kind==="index"&&o1==="INDEX_START";if(o1===","||E1){let y1={id:L++,kind:"IDENTIFIER",value:"",start:z,end:z,spaced:!1,newLine:!1,generated:!0,origin:null};P.push(y1),i.splice(Y,0,y1)}W(C,z)}}let M=s1();while(o.length>1)o.pop(),W("OUTDENT",M);let n1=()=>L++;Jl(i),Zl(i),r3(i),Un(i,n1,e,N,r?(_)=>a.push({message:_.reason??String(_.message),start:_.start??0,end:_.end??_.start??0,expected:[],got:""}):null),tr(i,n1,e,N);for(let _ of i)if(_.kind==="RESERVED")N(`'${_.value}' is reserved and not supported yet`,_.start);return ss(i,n1,N),t3(i),Kt(i,n1),Ti(i),Yt(i,n1),zt(i,n1),e3(i),{tokens:i,trivia:n,source:s,lexDiagnostics:a}}function Ti(e){for(let t=0;t"&&o!=="=>"&&o!=="ELSE"&&o!=="TRY"&&o!=="FINALLY"){s=!1;break}}}if(oe.has(a))i++;else if(ae.has(a)){if(i--,i<0)break}}if(s)e[t].kind=r==="IF"?"POST_IF":"POST_UNLESS"}return e}function As(e="",{tolerant:t=!1}={}){return{setInput(r){let s=f3(r,e,{tolerant:t});this.tokens=s.tokens,this.trivia=s.trivia,this.source=s.source,this.lexDiagnostics=s.lexDiagnostics??[],this.index=0,this.text="",this.loc=null,this.token=null},lex(){let r=this.tokens[this.index];if(!r)return null;return this.index++,this.text=r.value,this.loc={start:r.start,end:r.end},this.token=r,r.kind}}}var h3={symbolIds:{$accept:0,$end:1,error:2,Root:3,Body:4,Line:5,TERMINATOR:6,Expression:7,Statement:8,Return:9,STATEMENT:10,Import:11,Export:12,TypeDecl:13,Enum:14,TYPE_DECL:15,Assignable:16,TYPE:17,OPT_MARKER:18,DEF:19,Identifier:20,OptParams:21,IMPORT:22,String:23,ImportDefaultSpecifier:24,FROM:25,ImportNamespaceSpecifier:26,"{":27,"}":28,ImportSpecifierList:29,OptComma:30,",":31,WITH:32,Object:33,IMPORT_TYPE:34,ImportSpecifier:35,INDENT:36,OUTDENT:37,AS:38,DEFAULT:39,IMPORT_ALL:40,EXPORT:41,ExportSpecifierList:42,Class:43,Def:44,ExportAssign:45,ReactiveAssign:46,ComputedAssign:47,Readonly:48,Effect:49,EXPORT_ALL:50,EXPORT_TYPE:51,"=":52,TYPE_PARAMS:53,VOID_MARKER:54,READONLY_ASSIGN:55,REACTIVE_ASSIGN:56,COMPUTED_ASSIGN:57,Block:58,EFFECT:59,ExportSpecifier:60,Value:61,Code:62,Operation:63,Assign:64,Gate:65,If:66,Try:67,For:68,Switch:69,While:70,Throw:71,Schema:72,Component:73,Render:74,Literal:75,Parenthetical:76,Range:77,Invocation:78,DoIife:79,This:80,Super:81,DAMMIT:82,NewValue:83,TEMPLATE_TAG:84,Atom:85,Regex:86,UNDEFINED:87,NULL:88,BOOL:89,NUMBER:90,SYMBOL:91,STRING:92,STRING_START:93,Interpolations:94,STRING_END:95,InterpolationChunk:96,INTERPOLATION_START:97,INTERPOLATION_END:98,REGEX:99,HEREGEX_START:100,HEREGEX_END:101,IDENTIFIER:102,Property:103,PROPERTY:104,SimpleAssignable:105,COMPOUND_ASSIGN:106,METHOD_ASSIGN:107,Array:108,Rhs:109,BlockRhs:110,GATE:111,CALL_START:112,CALL_END:113,ArgList:114,ThisProperty:115,Subjectable:116,".":117,"?.":118,INDEX_START:119,INDEX_END:120,Slice:121,ES6_OPTIONAL_INDEX:122,PICK_START:123,PickList:124,PICK_END:125,OPTPICK_START:126,IMPORT_META:127,NEW_TARGET:128,NEW:129,NewSpine:130,NewCall:131,Arguments:132,PARAM_START:133,ParamList:134,PARAM_END:135,ArrowKind:136,"->":137,"=>":138,DO_IIFE:139,THIS:140,"@":141,"[":142,"]":143,Elisions:144,ArgElisionList:145,OptElisions:146,ArgElision:147,Arg:148,Elision:149,AssignList:150,MAP_START:151,AssignObj:152,ObjAssignable:153,ObjRestValue:154,":":155,SimpleObjAssignable:156,"...":157,ObjSpreadExpr:158,SUPER:159,DYNAMIC_IMPORT:160,MAYBE_DAMMIT:161,PickItem:162,PickKey:163,RangeDots:164,"..":165,Param:166,TypedParamVar:167,ParamVar:168,Splat:169,ClassName:170,CLASS:171,EXTENDS:172,ENUM:173,SCHEMA:174,SCHEMA_BODY:175,COMPONENT:176,ComponentBlock:177,ComponentBody:178,ComponentLine:179,OFFER:180,ACCEPT:181,ProviderPath:182,RENDER:183,ES6_OPTIONAL_CALL:184,"?":185,"(":186,")":187,RETURN:188,WHILE:189,UNTIL:190,WHEN:191,Loop:192,IfBlock:193,IF:194,IfElseTail:195,ELSE:196,UnlessBlock:197,UNLESS:198,POST_IF:199,POST_UNLESS:200,TRY:201,Catch:202,Finalizer:203,FINALLY:204,CATCH:205,CatchVar:206,THROW:207,SWITCH:208,Cases:209,When:210,LEADING_WHEN:211,SimpleArgs:212,FOR:213,ForVariables:214,FORIN:215,BY:216,FOROF:217,OWN:218,FORAS:219,AWAIT:220,FORASAWAIT:221,ForValue:222,LOOP:223,"--":224,"++":225,CAST:226,SATISFIES:227,TERNARY:228,UNARY:229,DO:230,UNARY_MATH:231,YIELD:232,"-":233,"+":234,"**":235,MATH:236,SHIFT:237,"&":238,"^":239,"|":240,COMPARE:241,MATCH:242,RELATION:243,"&&":244,"||":245,"??":246,THEN:247},tokenNames:{2:"error",6:"newline",10:"break/continue/debugger",15:"type/interface",17:"a type annotation",18:"?",19:"def",22:"import",25:"from",27:"{",28:"}",31:",",32:"with",34:"type",36:"indent",37:"dedent",38:"as",39:"default",40:"*",41:"export",50:"*",51:"type",52:"=",53:"<…>",54:"!",55:"=!",56:":=",57:"~=",59:"~>",82:"!",84:"$",87:"undefined",88:"null",89:"true/false",90:"a number",91:"a :symbol",92:"a string",93:"a string",95:"the closing quote",97:"#{",98:"}",99:"a regex",100:"///",101:"///",102:"a name",104:"a property name",106:"a compound assignment",107:".=",111:"<~",112:"(",113:")",117:".",118:"?.",119:"[",120:"]",122:"?.[",123:".{",125:"}",126:"?.{",127:"import.meta",128:"new.target",129:"new",133:"(",135:")",137:"->",138:"=>",139:"do",140:"this",141:"@",142:"[",143:"]",151:"*{",155:":",157:"...",159:"super",160:"import(",161:"?!",165:"..",171:"class",172:"extends",173:"enum",174:"schema",175:"a schema body",176:"component",180:"offer",181:"accept",183:"render",184:"?.(",185:"?",186:"(",187:")",188:"return",189:"while",190:"until",191:"when",194:"if",196:"else",198:"unless",199:"if",200:"unless",201:"try",204:"finally",205:"catch",207:"throw",208:"switch",211:"when",213:"for",215:"in",216:"by",217:"of",218:"own",219:"as",220:"await",221:"as!",223:"loop",224:"--",225:"++",226:"as",227:"satisfies",228:"?",229:"not/typeof/delete",230:"do",231:"!/~",232:"yield",233:"-",234:"+",235:"**",236:"a math operator",237:"a shift operator",238:"&",239:"^",240:"|",241:"a comparison",242:"=~",243:"in/of/instanceof",244:"&&",245:"||",246:"??",247:"then"},semantics:{"1":{kind:"program",roles:[]},"2":{kind:"program",roles:[{name:"body",grammarRef:1,childSlot:1,spread:!0}]},"14":{kind:"typedecl",roles:[{name:"declaration",grammarRef:1,childSlot:1,spread:!1}]},"15":{kind:"typedvar",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:2,childSlot:2,spread:!1}]},"16":{kind:"typedvar",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:3,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1}]},"17":{kind:"defsig",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:3,childSlot:2,spread:!1},{name:"returnType",grammarRef:4,childSlot:3,spread:!1}]},"18":{kind:"import",roles:[{name:"source",grammarRef:2,childSlot:1,spread:!1}]},"19":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"source",grammarRef:4,childSlot:2,spread:!1}]},"20":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"source",grammarRef:4,childSlot:2,spread:!1}]},"21":{kind:"import",roles:[{name:"spec",grammarRef:null,childSlot:1,literal:"{}"},{name:"source",grammarRef:5,childSlot:2,spread:!1}]},"22":{kind:"import",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1},{name:"source",grammarRef:7,childSlot:2,spread:!1}]},"23":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"extra",grammarRef:4,childSlot:2,spread:!1},{name:"source",grammarRef:6,childSlot:3,spread:!1}]},"24":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"extra",grammarRef:5,childSlot:2,spread:!1},{name:"source",grammarRef:9,childSlot:3,spread:!1}]},"25":{kind:"import",roles:[{name:"source",grammarRef:2,childSlot:2,spread:!1}],nested:[{role:"attributes",path:[1],kind:"withattrs",roles:[{name:"keyword",grammarRef:3,childSlot:0,spread:!1},{name:"value",grammarRef:4,childSlot:1,spread:!1}],nested:[]}]},"26":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"source",grammarRef:4,childSlot:3,spread:!1}],nested:[{role:"attributes",path:[2],kind:"withattrs",roles:[{name:"keyword",grammarRef:5,childSlot:0,spread:!1},{name:"value",grammarRef:6,childSlot:1,spread:!1}],nested:[]}]},"27":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"source",grammarRef:4,childSlot:3,spread:!1}],nested:[{role:"attributes",path:[2],kind:"withattrs",roles:[{name:"keyword",grammarRef:5,childSlot:0,spread:!1},{name:"value",grammarRef:6,childSlot:1,spread:!1}],nested:[]}]},"28":{kind:"import",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1},{name:"source",grammarRef:7,childSlot:3,spread:!1}],nested:[{role:"attributes",path:[2],kind:"withattrs",roles:[{name:"keyword",grammarRef:8,childSlot:0,spread:!1},{name:"value",grammarRef:9,childSlot:1,spread:!1}],nested:[]}]},"29":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"extra",grammarRef:4,childSlot:2,spread:!1},{name:"source",grammarRef:6,childSlot:4,spread:!1}],nested:[{role:"attributes",path:[3],kind:"withattrs",roles:[{name:"keyword",grammarRef:7,childSlot:0,spread:!1},{name:"value",grammarRef:8,childSlot:1,spread:!1}],nested:[]}]},"30":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"extra",grammarRef:5,childSlot:2,spread:!1},{name:"source",grammarRef:9,childSlot:4,spread:!1}],nested:[{role:"attributes",path:[3],kind:"withattrs",roles:[{name:"keyword",grammarRef:10,childSlot:0,spread:!1},{name:"value",grammarRef:11,childSlot:1,spread:!1}],nested:[]}]},"31":{kind:"import",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1},{name:"source",grammarRef:5,childSlot:2,spread:!1},{name:"typeOnly",grammarRef:2,childSlot:null,spread:!1}]},"32":{kind:"import",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1},{name:"source",grammarRef:5,childSlot:2,spread:!1},{name:"typeOnly",grammarRef:2,childSlot:null,spread:!1}]},"33":{kind:"import",roles:[{name:"spec",grammarRef:null,childSlot:1,literal:"{}"},{name:"source",grammarRef:6,childSlot:2,spread:!1},{name:"typeOnly",grammarRef:2,childSlot:null,spread:!1}]},"34":{kind:"import",roles:[{name:"spec",grammarRef:4,childSlot:1,spread:!1},{name:"source",grammarRef:8,childSlot:2,spread:!1},{name:"typeOnly",grammarRef:2,childSlot:null,spread:!1}]},"41":{kind:"as",roles:[{name:"name",grammarRef:1,childSlot:0,spread:!1},{name:"alias",grammarRef:3,childSlot:1,spread:!1}]},"43":{kind:"as",roles:[{name:"name",grammarRef:1,childSlot:0,spread:!1},{name:"alias",grammarRef:3,childSlot:1,spread:!1}]},"45":{kind:"as",roles:[{name:"name",grammarRef:null,childSlot:0,literal:"*"},{name:"alias",grammarRef:3,childSlot:1,spread:!1}]},"46":{kind:"export",roles:[{name:"spec",grammarRef:null,childSlot:1,literal:"{}"}]},"47":{kind:"export",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1}]},"48":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"49":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"50":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"51":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"52":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"53":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"54":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"55":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"56":{kind:"export",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1}]},"57":{kind:"export",roles:[{name:"spec",grammarRef:4,childSlot:1,spread:!1}]},"58":{kind:"export",roles:[{name:"source",grammarRef:4,childSlot:1,spread:!1}]},"59":{kind:"export",roles:[{name:"source",grammarRef:6,childSlot:1,spread:!1},{name:"alias",grammarRef:4,childSlot:2,spread:!1}]},"60":{kind:"export",roles:[{name:"source",grammarRef:6,childSlot:1,spread:!1},{name:"alias",grammarRef:4,childSlot:2,spread:!1}]},"61":{kind:"export",roles:[{name:"spec",grammarRef:null,childSlot:1,literal:"{}"},{name:"source",grammarRef:5,childSlot:2,spread:!1}]},"62":{kind:"export",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1},{name:"source",grammarRef:7,childSlot:2,spread:!1}]},"63":{kind:"export",roles:[{name:"spec",grammarRef:4,childSlot:1,spread:!1},{name:"source",grammarRef:8,childSlot:2,spread:!1},{name:"typeOnly",grammarRef:2,childSlot:null,spread:!1}]},"64":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"65":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"66":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"67":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"68":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"69":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"70":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"typeParams",grammarRef:2,childSlot:null,spread:!1}]},"71":{kind:"assign",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"72":{kind:"assign",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"73":{kind:"assign",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"74":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"75":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"76":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"77":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"78":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"79":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"80":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"81":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"82":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"83":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"84":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"85":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"86":{kind:"effect",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"87":{kind:"effect",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"88":{kind:"effect",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"95":{kind:"as",roles:[{name:"name",grammarRef:1,childSlot:0,spread:!1},{name:"alias",grammarRef:3,childSlot:1,spread:!1}]},"96":{kind:"as",roles:[{name:"name",grammarRef:1,childSlot:0,spread:!1},{name:"alias",grammarRef:3,childSlot:1,spread:!1}]},"98":{kind:"as",roles:[{name:"name",grammarRef:1,childSlot:0,spread:!1},{name:"alias",grammarRef:3,childSlot:1,spread:!1}]},"127":{kind:"dammit",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"129":{kind:"tagged",roles:[{name:"tag",grammarRef:1,childSlot:1,spread:!1},{name:"str",grammarRef:3,childSlot:2,spread:!1}]},"137":{kind:"symbol",roles:[{name:"name",grammarRef:1,childSlot:1,spread:!1}]},"139":{kind:"str",roles:[{name:"parts",grammarRef:2,childSlot:1,spread:!0}]},"147":{kind:"heregex",roles:[{name:"flags",grammarRef:3,childSlot:1,spread:!1},{name:"parts",grammarRef:2,childSlot:2,spread:!0}]},"150":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"151":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"152":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"153":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"154":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"155":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"156":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1}]},"157":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1}]},"158":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1}]},"159":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"annotation",grammarRef:3,childSlot:null,spread:!1}]},"160":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:6,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"annotation",grammarRef:3,childSlot:null,spread:!1}]},"161":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:6,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"annotation",grammarRef:3,childSlot:null,spread:!1}]},"162":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"163":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"164":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"typeParams",grammarRef:2,childSlot:null,spread:!1}]},"165":{kind:"assign",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"166":{kind:"assign",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"167":{kind:"assign",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"168":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:".="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"169":{kind:"assign",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"170":{kind:"assign",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"171":{kind:"assign",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"172":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"173":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"174":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"184":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"185":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"186":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"187":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"annotation",grammarRef:3,childSlot:null,spread:!1},{name:"operator",grammarRef:4,childSlot:null,spread:!1}]},"188":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"189":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"190":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"191":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"annotation",grammarRef:3,childSlot:null,spread:!1},{name:"operator",grammarRef:4,childSlot:null,spread:!1}]},"192":{kind:"gate",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"rhs",grammarRef:3,childSlot:2,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"193":{kind:"gate",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"rhs",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"194":{kind:"gate",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"rhs",grammarRef:3,childSlot:2,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"195":{kind:"gate",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"rhs",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"196":{kind:"gate",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"rhs",grammarRef:3,childSlot:2,spread:!1},{name:"key",grammarRef:5,childSlot:3,spread:!0},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"197":{kind:"gate",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"rhs",grammarRef:4,childSlot:2,spread:!1},{name:"key",grammarRef:6,childSlot:3,spread:!0},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"198":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"199":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"200":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"201":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"annotation",grammarRef:3,childSlot:null,spread:!1},{name:"operator",grammarRef:4,childSlot:null,spread:!1}]},"202":{kind:"effect",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"203":{kind:"effect",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"204":{kind:"effect",roles:[{name:"target",grammarRef:null,childSlot:1,literal:null},{name:"value",grammarRef:2,childSlot:2,spread:!1},{name:"operator",grammarRef:1,childSlot:null,spread:!1}]},"207":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"208":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"209":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:3,childSlot:2,spread:!1}]},"210":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:4,childSlot:2,spread:!1}]},"211":{kind:"regexindex",roles:[{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:3,childSlot:2,spread:!1},{name:"capture",grammarRef:5,childSlot:3,spread:!1}]},"212":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:3,childSlot:2,spread:!1}]},"213":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:4,childSlot:2,spread:!1}]},"214":{kind:"optindex",roles:[{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:4,childSlot:2,spread:!1}]},"215":{kind:"optindex",roles:[{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:5,childSlot:2,spread:!1}]},"216":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:3,childSlot:2,spread:!0}]},"217":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:3,childSlot:2,spread:!0}]},"218":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:4,childSlot:2,spread:!0}]},"219":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:4,childSlot:2,spread:!0}]},"220":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"221":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"222":{kind:"unary",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"223":{kind:"unary",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"224":{kind:"unary",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"225":{kind:"await",roles:[{name:"operator",grammarRef:3,childSlot:null,spread:!1}],nested:[{role:"value",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"new"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}],nested:[]}]},"226":{kind:"await",roles:[{name:"operator",grammarRef:3,childSlot:null,spread:!1}],nested:[{role:"value",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"new"}],nested:[{role:"operand",path:[1],kind:"call",roles:[{name:"callee",grammarRef:2,childSlot:0,spread:!1},{name:"args",grammarRef:4,childSlot:1,spread:!0}],nested:[]}]}]},"227":{kind:"call",roles:[{name:"callee",grammarRef:1,childSlot:0,spread:!1},{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"233":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"234":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"235":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:3,childSlot:2,spread:!1}]},"236":{kind:"tagged",roles:[{name:"tag",grammarRef:1,childSlot:1,spread:!1},{name:"str",grammarRef:3,childSlot:2,spread:!1}]},"239":{kind:"func",roles:[{name:"kind",grammarRef:4,childSlot:0,spread:!1},{name:"params",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:5,childSlot:2,spread:!1}]},"240":{kind:"func",roles:[{name:"kind",grammarRef:5,childSlot:0,spread:!1},{name:"params",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:6,childSlot:2,spread:!1},{name:"returnType",grammarRef:4,childSlot:null,spread:!1}]},"241":{kind:"func",roles:[{name:"kind",grammarRef:1,childSlot:0,spread:!1},{name:"body",grammarRef:2,childSlot:2,spread:!1}]},"244":{kind:"doiife",roles:[{name:"func",grammarRef:2,childSlot:1,spread:!1}]},"247":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"property",grammarRef:2,childSlot:2,spread:!1}]},"248":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"property",grammarRef:2,childSlot:2,spread:!1}]},"249":{kind:"array",roles:[]},"250":{kind:"array",roles:[{name:"elisions",grammarRef:2,childSlot:1,spread:!0}]},"251":{kind:"array",roles:[{name:"items",grammarRef:2,childSlot:1,spread:!0},{name:"elisions",grammarRef:3,childSlot:null,spread:!0}]},"265":{kind:"object",roles:[{name:"pairs",grammarRef:2,childSlot:1,spread:!0}]},"266":{kind:"map",roles:[{name:"pairs",grammarRef:3,childSlot:1,spread:!0}]},"272":{kind:"pair",roles:[{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:1,childSlot:2,spread:!1}]},"274":{kind:"pair",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:":"},{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"275":{kind:"pair",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:":"},{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"276":{kind:"pair",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:":"},{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"277":{kind:"pair",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"278":{kind:"pair",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"279":{kind:"pair",roles:[{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"280":{kind:"pair",roles:[{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"281":{kind:"splat",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"282":{kind:"splat",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"288":{kind:"super",roles:[{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"289":{kind:"dynimport",roles:[{name:"keyword",grammarRef:1,childSlot:0,spread:!1},{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"290":{kind:"call",roles:[{name:"callee",grammarRef:1,childSlot:0,spread:!1},{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"291":{kind:"call",roles:[{name:"callee",grammarRef:1,childSlot:0,spread:!1},{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"292":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"293":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"294":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:3,childSlot:2,spread:!1}]},"295":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:4,childSlot:2,spread:!1}]},"296":{kind:"dammit",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"297":{kind:"maybe-dammit",roles:[{name:"callee",grammarRef:1,childSlot:1,spread:!1},{name:"args",grammarRef:3,childSlot:2,spread:!0},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"298":{kind:"maybe-dammit",roles:[{name:"callee",grammarRef:1,childSlot:1,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"299":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:3,childSlot:2,spread:!0}]},"300":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:3,childSlot:2,spread:!0}]},"301":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:4,childSlot:2,spread:!0}]},"302":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:4,childSlot:2,spread:!0}]},"307":{kind:"pickitem",roles:[{name:"key",grammarRef:1,childSlot:0,spread:!1},{name:"target",grammarRef:1,childSlot:1,spread:!1}]},"308":{kind:"pickitem",roles:[{name:"key",grammarRef:1,childSlot:0,spread:!1},{name:"target",grammarRef:3,childSlot:1,spread:!1}]},"309":{kind:"pickitem",roles:[{name:"key",grammarRef:1,childSlot:0,spread:!1},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"default",grammarRef:3,childSlot:2,spread:!1}]},"310":{kind:"pickitem",roles:[{name:"key",grammarRef:1,childSlot:0,spread:!1},{name:"target",grammarRef:3,childSlot:1,spread:!1},{name:"default",grammarRef:5,childSlot:2,spread:!1}]},"318":{kind:"dynamicKey",roles:[{name:"key",grammarRef:2,childSlot:1,spread:!1}]},"319":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:null,childSlot:1,literal:"this"},{name:"key",grammarRef:3,childSlot:2,spread:!1}]},"322":{kind:"range",roles:[{name:"operator",grammarRef:3,childSlot:0,spread:!1},{name:"from",grammarRef:2,childSlot:1,spread:!1},{name:"to",grammarRef:4,childSlot:2,spread:!1}]},"323":{kind:"range",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"from",grammarRef:1,childSlot:1,spread:!1},{name:"to",grammarRef:3,childSlot:2,spread:!1}]},"324":{kind:"range",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"from",grammarRef:1,childSlot:1,spread:!1},{name:"to",grammarRef:null,childSlot:2,literal:null}]},"325":{kind:"range",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"from",grammarRef:null,childSlot:1,literal:null},{name:"to",grammarRef:2,childSlot:2,spread:!1}]},"326":{kind:"range",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"from",grammarRef:null,childSlot:1,literal:null},{name:"to",grammarRef:null,childSlot:2,literal:null}]},"327":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:3,childSlot:2,spread:!1},{name:"body",grammarRef:4,childSlot:3,spread:!1}]},"328":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:3,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1},{name:"returnType",grammarRef:4,childSlot:null,spread:!1}]},"329":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1},{name:"typeParams",grammarRef:3,childSlot:null,spread:!1}]},"330":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:6,childSlot:3,spread:!1},{name:"typeParams",grammarRef:3,childSlot:null,spread:!1},{name:"returnType",grammarRef:5,childSlot:null,spread:!1}]},"331":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1},{name:"voidMarker",grammarRef:3,childSlot:null,spread:!1}]},"332":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:6,childSlot:3,spread:!1},{name:"voidMarker",grammarRef:3,childSlot:null,spread:!1},{name:"returnType",grammarRef:5,childSlot:null,spread:!1}]},"333":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:3,childSlot:2,spread:!1},{name:"body",grammarRef:4,childSlot:3,spread:!1}]},"334":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:3,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1},{name:"returnType",grammarRef:4,childSlot:null,spread:!1}]},"335":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1},{name:"typeParams",grammarRef:3,childSlot:null,spread:!1}]},"336":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:6,childSlot:3,spread:!1},{name:"typeParams",grammarRef:3,childSlot:null,spread:!1},{name:"returnType",grammarRef:5,childSlot:null,spread:!1}]},"337":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1},{name:"voidMarker",grammarRef:3,childSlot:null,spread:!1}]},"338":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:6,childSlot:3,spread:!1},{name:"voidMarker",grammarRef:3,childSlot:null,spread:!1},{name:"returnType",grammarRef:5,childSlot:null,spread:!1}]},"347":{kind:"default",roles:[{name:"name",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"348":{kind:"rest",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1}]},"349":{kind:"expansion",roles:[]},"351":{kind:"typedvar",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:2,childSlot:2,spread:!1}]},"352":{kind:"typedvar",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:3,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1}]},"353":{kind:"typedvar",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:null,childSlot:2,literal:""},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1}]},"358":{kind:"splat",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"360":{kind:"class",roles:[{name:"name",grammarRef:null,childSlot:1,literal:null},{name:"parent",grammarRef:null,childSlot:2,literal:null}]},"361":{kind:"class",roles:[{name:"name",grammarRef:null,childSlot:1,literal:null},{name:"parent",grammarRef:null,childSlot:2,literal:null},{name:"body",grammarRef:2,childSlot:3,spread:!1}]},"362":{kind:"class",roles:[{name:"name",grammarRef:null,childSlot:1,literal:null},{name:"parent",grammarRef:3,childSlot:2,spread:!1}]},"363":{kind:"class",roles:[{name:"name",grammarRef:null,childSlot:1,literal:null},{name:"parent",grammarRef:3,childSlot:2,spread:!1},{name:"body",grammarRef:4,childSlot:3,spread:!1}]},"364":{kind:"class",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"parent",grammarRef:null,childSlot:2,literal:null}]},"365":{kind:"class",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"parent",grammarRef:null,childSlot:2,literal:null},{name:"body",grammarRef:3,childSlot:3,spread:!1}]},"366":{kind:"class",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"parent",grammarRef:4,childSlot:2,spread:!1}]},"367":{kind:"class",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"parent",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1}]},"368":{kind:"class",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"parent",grammarRef:null,childSlot:2,literal:null},{name:"body",grammarRef:3,childSlot:3,spread:!1}]},"369":{kind:"class",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"parent",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1}]},"370":{kind:"enum",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:3,childSlot:2,spread:!1}]},"371":{kind:"schema",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"372":{kind:"component",roles:[{name:"parent",grammarRef:null,childSlot:1,literal:null},{name:"body",grammarRef:2,childSlot:2,spread:!1}]},"373":{kind:"component",roles:[{name:"parent",grammarRef:3,childSlot:1,spread:!1},{name:"body",grammarRef:4,childSlot:2,spread:!1}]},"374":{kind:"block",roles:[{name:"statements",grammarRef:2,childSlot:1,spread:!0}]},"380":{kind:"offer",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"381":{kind:"accept",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1}]},"382":{kind:"accept",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"provider",grammarRef:4,childSlot:2,spread:!1}]},"384":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"385":{kind:"render",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"386":{kind:"render",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"387":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"object",grammarRef:null,childSlot:1,literal:"super"},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"388":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:null,childSlot:1,literal:"super"},{name:"key",grammarRef:3,childSlot:2,spread:!1}]},"389":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:null,childSlot:1,literal:"super"},{name:"key",grammarRef:4,childSlot:2,spread:!1}]},"390":{kind:"call",roles:[{name:"callee",grammarRef:1,childSlot:0,spread:!1},{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"391":{kind:"super",roles:[{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"392":{kind:"optcall",roles:[{name:"callee",grammarRef:1,childSlot:1,spread:!1},{name:"args",grammarRef:3,childSlot:2,spread:!0}]},"393":{kind:"optcall",roles:[{name:"callee",grammarRef:1,childSlot:1,spread:!1},{name:"args",grammarRef:3,childSlot:2,spread:!0}]},"394":{kind:"maybe-dammit",roles:[{name:"callee",grammarRef:1,childSlot:1,spread:!1},{name:"args",grammarRef:3,childSlot:2,spread:!0},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"395":{kind:"maybe-dammit",roles:[{name:"callee",grammarRef:1,childSlot:1,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"396":{kind:"dynimport",roles:[{name:"keyword",grammarRef:1,childSlot:0,spread:!1},{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"397":{kind:"await",roles:[{name:"operator",grammarRef:2,childSlot:null,spread:!1}],nested:[{role:"value",path:[1],kind:"dynimport",roles:[{name:"keyword",grammarRef:null,childSlot:0,literal:"import"},{name:"args",grammarRef:3,childSlot:1,spread:!0}],nested:[]}]},"409":{kind:"block",roles:[]},"410":{kind:"block",roles:[{name:"statements",grammarRef:2,childSlot:1,spread:!0}]},"413":{kind:"return",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"414":{kind:"return",roles:[{name:"value",grammarRef:3,childSlot:1,spread:!1}]},"415":{kind:"return",roles:[]},"416":{kind:"while",roles:[{name:"condition",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:3,childSlot:2,spread:!1}]},"417":{kind:"while",roles:[{name:"body",grammarRef:3,childSlot:2,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}],nested:[]}]},"418":{kind:"while",roles:[{name:"condition",grammarRef:2,childSlot:1,spread:!1},{name:"guard",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1}]},"419":{kind:"while",roles:[{name:"guard",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}],nested:[]}]},"420":{kind:"while",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"body",grammarRef:1,childSlot:null,spread:!1}]},"421":{kind:"while",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"body",grammarRef:1,childSlot:null,spread:!1}]},"422":{kind:"while",roles:[{name:"body",grammarRef:1,childSlot:null,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:3,childSlot:1,spread:!1}],nested:[]}]},"423":{kind:"while",roles:[{name:"body",grammarRef:1,childSlot:null,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:3,childSlot:1,spread:!1}],nested:[]}]},"424":{kind:"while",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"guard",grammarRef:5,childSlot:2,spread:!1},{name:"body",grammarRef:1,childSlot:null,spread:!1}]},"425":{kind:"while",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"guard",grammarRef:5,childSlot:2,spread:!1},{name:"body",grammarRef:1,childSlot:null,spread:!1}]},"426":{kind:"while",roles:[{name:"guard",grammarRef:5,childSlot:2,spread:!1},{name:"body",grammarRef:1,childSlot:null,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:3,childSlot:1,spread:!1}],nested:[]}]},"427":{kind:"while",roles:[{name:"guard",grammarRef:5,childSlot:2,spread:!1},{name:"body",grammarRef:1,childSlot:null,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:3,childSlot:1,spread:!1}],nested:[]}]},"429":{kind:"if",roles:[{name:"condition",grammarRef:2,childSlot:1,spread:!1},{name:"then",grammarRef:3,childSlot:2,spread:!1}]},"430":{kind:"if",roles:[{name:"condition",grammarRef:2,childSlot:1,spread:!1},{name:"then",grammarRef:3,childSlot:2,spread:!1},{name:"else",grammarRef:4,childSlot:3,spread:!1}]},"431":{kind:"if",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:4,childSlot:2,spread:!1}]},"432":{kind:"if",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:4,childSlot:2,spread:!1},{name:"else",grammarRef:5,childSlot:3,spread:!1}]},"434":{kind:"if",roles:[{name:"then",grammarRef:3,childSlot:2,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}],nested:[]}]},"435":{kind:"if",roles:[{name:"then",grammarRef:3,childSlot:2,spread:!1},{name:"else",grammarRef:5,childSlot:3,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}],nested:[]}]},"438":{kind:"if",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:1,childSlot:null,spread:!1}]},"439":{kind:"if",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:1,childSlot:null,spread:!1}]},"440":{kind:"if",roles:[{name:"then",grammarRef:1,childSlot:null,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:3,childSlot:1,spread:!1}],nested:[]}]},"441":{kind:"if",roles:[{name:"then",grammarRef:1,childSlot:null,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:3,childSlot:1,spread:!1}],nested:[]}]},"442":{kind:"ternary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?:"},{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:1,childSlot:2,spread:!1},{name:"else",grammarRef:6,childSlot:3,spread:!1}]},"443":{kind:"ternary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?:"},{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:1,childSlot:2,spread:!1},{name:"else",grammarRef:5,childSlot:3,spread:!1}]},"444":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"445":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"446":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"handler",grammarRef:3,childSlot:2,spread:!1}]},"447":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"448":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"handler",grammarRef:3,childSlot:2,spread:!1}]},"449":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"handler",grammarRef:3,childSlot:2,spread:!1}]},"450":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"finalizer",grammarRef:3,childSlot:2,spread:!1}]},"451":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"handler",grammarRef:3,childSlot:2,spread:!1},{name:"finalizer",grammarRef:4,childSlot:3,spread:!1}]},"452":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"finalizer",grammarRef:3,childSlot:2,spread:!1}]},"453":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"handler",grammarRef:3,childSlot:2,spread:!1},{name:"finalizer",grammarRef:4,childSlot:3,spread:!1}]},"454":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"finalizer",grammarRef:3,childSlot:2,spread:!1}]},"455":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"handler",grammarRef:3,childSlot:2,spread:!1},{name:"finalizer",grammarRef:4,childSlot:3,spread:!1}]},"457":{kind:"block",roles:[{name:"statements",grammarRef:2,childSlot:1,spread:!1}]},"458":{kind:"catch",roles:[{name:"binding",grammarRef:2,childSlot:0,spread:!1},{name:"body",grammarRef:3,childSlot:1,spread:!1}]},"459":{kind:"catch",roles:[{name:"binding",grammarRef:2,childSlot:0,spread:!1},{name:"body",grammarRef:3,childSlot:1,spread:!1}]},"460":{kind:"catch",roles:[{name:"binding",grammarRef:2,childSlot:0,spread:!1},{name:"body",grammarRef:3,childSlot:1,spread:!1}]},"461":{kind:"catch",roles:[{name:"binding",grammarRef:null,childSlot:0,literal:null},{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"463":{kind:"typedvar",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:2,childSlot:2,spread:!1}]},"464":{kind:"throw",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"465":{kind:"throw",roles:[{name:"value",grammarRef:3,childSlot:1,spread:!1}]},"466":{kind:"switch",roles:[{name:"subject",grammarRef:2,childSlot:1,spread:!1},{name:"cases",grammarRef:4,childSlot:2,spread:!1},{name:"default",grammarRef:null,childSlot:3,literal:null}]},"467":{kind:"switch",roles:[{name:"subject",grammarRef:2,childSlot:1,spread:!1},{name:"cases",grammarRef:4,childSlot:2,spread:!1},{name:"default",grammarRef:6,childSlot:3,spread:!1}]},"468":{kind:"switch",roles:[{name:"subject",grammarRef:null,childSlot:1,literal:null},{name:"cases",grammarRef:3,childSlot:2,spread:!1},{name:"default",grammarRef:null,childSlot:3,literal:null}]},"469":{kind:"switch",roles:[{name:"subject",grammarRef:null,childSlot:1,literal:null},{name:"cases",grammarRef:3,childSlot:2,spread:!1},{name:"default",grammarRef:5,childSlot:3,spread:!1}]},"472":{kind:"when",roles:[{name:"conditions",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:3,childSlot:2,spread:!1}]},"473":{kind:"when",roles:[{name:"conditions",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:3,childSlot:2,spread:!1}]},"476":{kind:"forin",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"step",grammarRef:null,childSlot:3,literal:null},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:5,childSlot:5,spread:!1}]},"477":{kind:"forin",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"step",grammarRef:6,childSlot:3,spread:!1},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:7,childSlot:5,spread:!1}]},"478":{kind:"forin",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"step",grammarRef:null,childSlot:3,literal:null},{name:"guard",grammarRef:6,childSlot:4,spread:!1},{name:"body",grammarRef:7,childSlot:5,spread:!1}]},"479":{kind:"forin",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"step",grammarRef:8,childSlot:3,spread:!1},{name:"guard",grammarRef:6,childSlot:4,spread:!1},{name:"body",grammarRef:9,childSlot:5,spread:!1}]},"480":{kind:"forin",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"step",grammarRef:6,childSlot:3,spread:!1},{name:"guard",grammarRef:8,childSlot:4,spread:!1},{name:"body",grammarRef:9,childSlot:5,spread:!1}]},"481":{kind:"forof",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"object",grammarRef:4,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!1},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:5,childSlot:5,spread:!1}]},"482":{kind:"forof",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"object",grammarRef:4,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!1},{name:"guard",grammarRef:6,childSlot:4,spread:!1},{name:"body",grammarRef:7,childSlot:5,spread:!1}]},"483":{kind:"forof",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"object",grammarRef:5,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!0},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:6,childSlot:5,spread:!1}]},"484":{kind:"forof",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"object",grammarRef:5,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!0},{name:"guard",grammarRef:7,childSlot:4,spread:!1},{name:"body",grammarRef:8,childSlot:5,spread:!1}]},"485":{kind:"foras",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!1},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:5,childSlot:5,spread:!1}]},"486":{kind:"foras",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!1},{name:"guard",grammarRef:6,childSlot:4,spread:!1},{name:"body",grammarRef:7,childSlot:5,spread:!1}]},"487":{kind:"foras",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:6,childSlot:5,spread:!1}]},"488":{kind:"foras",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0},{name:"guard",grammarRef:7,childSlot:4,spread:!1},{name:"body",grammarRef:8,childSlot:5,spread:!1}]},"489":{kind:"foras",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:5,childSlot:5,spread:!1}]},"490":{kind:"foras",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0},{name:"guard",grammarRef:6,childSlot:4,spread:!1},{name:"body",grammarRef:7,childSlot:5,spread:!1}]},"491":{kind:"forin",roles:[{name:"iterable",grammarRef:2,childSlot:2,spread:!1},{name:"step",grammarRef:null,childSlot:3,literal:null},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:3,childSlot:5,spread:!1}]},"492":{kind:"forin",roles:[{name:"iterable",grammarRef:2,childSlot:2,spread:!1},{name:"step",grammarRef:4,childSlot:3,spread:!1},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:5,childSlot:5,spread:!1}]},"493":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forin",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"step",grammarRef:null,childSlot:3,literal:null}],nested:[]}]},"494":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:7,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forin",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"step",grammarRef:null,childSlot:3,literal:null}],nested:[]}]},"495":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forin",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"step",grammarRef:7,childSlot:3,spread:!1}],nested:[]}]},"496":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:7,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forin",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"step",grammarRef:9,childSlot:3,spread:!1}],nested:[]}]},"497":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:9,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forin",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"step",grammarRef:7,childSlot:3,spread:!1}],nested:[]}]},"498":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forof",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"object",grammarRef:5,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!1}],nested:[]}]},"499":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:7,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forof",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"object",grammarRef:5,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!1}],nested:[]}]},"500":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forof",roles:[{name:"vars",grammarRef:4,childSlot:1,spread:!1},{name:"object",grammarRef:6,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!0}],nested:[]}]},"501":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:8,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forof",roles:[{name:"vars",grammarRef:4,childSlot:1,spread:!1},{name:"object",grammarRef:6,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!0}],nested:[]}]},"502":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"foras",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!1}],nested:[]}]},"503":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:7,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"foras",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!1}],nested:[]}]},"504":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"foras",roles:[{name:"vars",grammarRef:4,childSlot:1,spread:!1},{name:"iterable",grammarRef:6,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0}],nested:[]}]},"505":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:8,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"foras",roles:[{name:"vars",grammarRef:4,childSlot:1,spread:!1},{name:"iterable",grammarRef:6,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0}],nested:[]}]},"506":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"foras",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0}],nested:[]}]},"507":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:7,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"foras",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0}],nested:[]}]},"511":{kind:"loop",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"512":{kind:"loop",roles:[{name:"count",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:3,childSlot:2,spread:!1}]},"513":{kind:"update",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"--"},{name:"target",grammarRef:2,childSlot:1,spread:!1},{name:"prefix",grammarRef:null,childSlot:2,literal:!1}]},"514":{kind:"update",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"++"},{name:"target",grammarRef:2,childSlot:1,spread:!1},{name:"prefix",grammarRef:null,childSlot:2,literal:!1}]},"515":{kind:"update",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"--"},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"prefix",grammarRef:null,childSlot:2,literal:!0}]},"516":{kind:"update",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"++"},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"prefix",grammarRef:null,childSlot:2,literal:!0}]},"517":{kind:"existence",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?"},{name:"value",grammarRef:1,childSlot:1,spread:!1}]},"518":{kind:"cast",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:2,childSlot:2,spread:!1}]},"519":{kind:"satisfies",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:2,childSlot:2,spread:!1}]},"520":{kind:"ternary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?:"},{name:"condition",grammarRef:1,childSlot:1,spread:!1},{name:"then",grammarRef:3,childSlot:2,spread:!1},{name:"else",grammarRef:5,childSlot:3,spread:!1}]},"521":{kind:"unary",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"522":{kind:"doiife",roles:[{name:"func",grammarRef:2,childSlot:1,spread:!1}]},"523":{kind:"unary",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"524":{kind:"await",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1},{name:"operator",grammarRef:1,childSlot:null,spread:!1}]},"525":{kind:"await",roles:[{name:"value",grammarRef:3,childSlot:1,spread:!1},{name:"operator",grammarRef:1,childSlot:null,spread:!1}]},"526":{kind:"yield",roles:[]},"527":{kind:"yield",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"528":{kind:"yield",roles:[{name:"value",grammarRef:3,childSlot:1,spread:!1}]},"529":{kind:"yieldfrom",roles:[{name:"value",grammarRef:3,childSlot:1,spread:!1}]},"530":{kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"-"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"531":{kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"+"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"532":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"**"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"533":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"+"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"534":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"-"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"535":{kind:"binary",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"536":{kind:"binary",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"537":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"538":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"^"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"539":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"|"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"540":{kind:"binary",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"541":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"=~"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"542":{kind:"relation",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"543":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"544":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"||"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"545":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"??"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"546":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"547":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"||"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"548":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"??"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"549":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"550":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"||"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"551":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"??"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"552":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"553":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"||"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"554":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"555":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"||"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"556":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"557":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"||"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]}},primitiveRefs:{"1":[],"2":[1],"3":[1],"4":[1,3],"5":[1],"6":[1],"7":[1],"8":[1],"9":[1],"10":[1],"11":[1],"12":[1],"13":[1],"14":[1],"15":[1,2],"16":[1,3],"17":[2,3,4],"18":[2],"19":[2,4],"20":[2,4],"21":[5],"22":[3,7],"23":[2,4,6],"24":[2,5,9],"25":[3,4,2],"26":[2,5,6,4],"27":[2,5,6,4],"28":[3,8,9,7],"29":[2,4,7,8,6],"30":[2,5,10,11,9],"31":[3,5],"32":[3,5],"33":[6],"34":[4,8],"35":[1],"36":[1,3],"37":[1,4],"38":[2],"39":[1,4],"40":[1],"41":[1,3],"42":[1],"43":[1,3],"44":[1],"45":[3],"46":[],"47":[3],"48":[2],"49":[2],"50":[2],"51":[2],"52":[2],"53":[2],"54":[2],"55":[2],"56":[3],"57":[4],"58":[4],"59":[6,4],"60":[6,4],"61":[5],"62":[3,7],"63":[4,8],"64":[1,3],"65":[1,4],"66":[1,4],"67":[1,4],"68":[1,5],"69":[1,5],"70":[1,4],"71":[1,4],"72":[1,5],"73":[1,5],"74":[1,4],"75":[1,5],"76":[1,5],"77":[1,4],"78":[1,5],"79":[1,5],"80":[1,4],"81":[1,5],"82":[1,4],"83":[1,4],"84":[1,5],"85":[1,5],"86":[1,4],"87":[1,5],"88":[1,4],"89":[1],"90":[1,3],"91":[1,4],"92":[2],"93":[1,4],"94":[1],"95":[1,3],"96":[1,3],"97":[1],"98":[1,3],"99":[1],"100":[1],"101":[1],"102":[1],"103":[1],"104":[1],"105":[1],"106":[1],"107":[1],"108":[1],"109":[1],"110":[1],"111":[1],"112":[1],"113":[1],"114":[1],"115":[1],"116":[1],"117":[1],"118":[1],"119":[1],"120":[1],"121":[1],"122":[1],"123":[1],"124":[1],"125":[1],"126":[1],"127":[1],"128":[1],"129":[1,3],"130":[1],"131":[1],"132":[],"133":[],"134":[1],"135":[1],"136":[1],"137":[1],"138":[1],"139":[2],"140":[1],"141":[1,2],"142":[2],"143":[3],"144":[],"145":[1],"146":[1],"147":[3,2],"148":[1],"149":[1],"150":[1,3],"151":[1,4],"152":[1,4],"153":[1,4],"154":[1,5],"155":[1,5],"156":[1,4],"157":[1,5],"158":[1,5],"159":[1,5],"160":[1,6],"161":[1,6],"162":[1,3],"163":[1,4],"164":[1,4],"165":[2,1,3],"166":[2,1,4],"167":[2,1,4],"168":[1,3],"169":[1,4],"170":[1,5],"171":[1,5],"172":[1,4],"173":[1,5],"174":[1,5],"175":[1],"176":[1],"177":[1],"178":[1],"179":[2],"180":[2],"181":[1],"182":[2],"183":[1],"184":[1,3],"185":[1,4],"186":[1,4],"187":[1,5],"188":[1,3],"189":[1,4],"190":[1,4],"191":[1,5],"192":[1,3],"193":[1,4],"194":[1,3],"195":[1,4],"196":[1,3,5],"197":[1,4,6],"198":[1,3],"199":[1,4],"200":[1,4],"201":[1,5],"202":[1,3],"203":[1,4],"204":[2],"205":[1],"206":[1],"207":[1,3],"208":[1,3],"209":[1,3],"210":[1,4],"211":[1,3,5],"212":[1,3],"213":[1,4],"214":[1,4],"215":[1,5],"216":[1,3],"217":[1,3],"218":[1,4],"219":[1,4],"220":[1,3],"221":[1,3],"222":[1,2],"223":[1,2],"224":[1,2],"225":[2],"226":[2,4],"227":[1,2],"228":[1],"229":[1],"230":[1],"231":[1],"232":[1],"233":[1,3],"234":[1,3],"235":[1,3],"236":[1,3],"237":[1],"238":[1],"239":[4,2,5],"240":[5,2,6],"241":[1,2],"242":[1],"243":[1],"244":[2],"245":[],"246":[],"247":[2],"248":[2],"249":[],"250":[2],"251":[2,3],"252":[1],"253":[1,3],"254":[1,4],"255":[2,3],"256":[1,2,4,5],"257":[1],"258":[1,2],"259":[],"260":[2],"261":[1],"262":[1,2],"263":[],"264":[1],"265":[2],"266":[3],"267":[],"268":[1],"269":[1,3],"270":[1,4],"271":[1,4],"272":[1,1],"273":[1],"274":[1,3],"275":[1,4],"276":[1,3],"277":[1,3],"278":[1,4],"279":[1,4],"280":[1,5],"281":[2],"282":[2],"283":[1],"284":[1],"285":[1],"286":[1],"287":[1],"288":[2],"289":[1,2],"290":[1,2],"291":[1,2],"292":[1,3],"293":[1,3],"294":[1,3],"295":[1,4],"296":[1],"297":[1,3],"298":[1],"299":[1,3],"300":[1,3],"301":[1,4],"302":[1,4],"303":[1],"304":[1,3],"305":[1,4],"306":[1,4],"307":[1,1],"308":[1,3],"309":[1,1,3],"310":[1,3,5],"311":[1],"312":[1],"313":[1],"314":[1],"315":[1],"316":[1],"317":[1],"318":[2],"319":[3],"320":[],"321":[],"322":[3,2,4],"323":[2,1,3],"324":[2,1],"325":[1,2],"326":[1],"327":[2,3,4],"328":[2,3,5],"329":[2,4,5],"330":[2,4,6],"331":[2,4,5],"332":[2,4,6],"333":[2,3,4],"334":[2,3,5],"335":[2,4,5],"336":[2,4,6],"337":[2,4,5],"338":[2,4,6],"339":[],"340":[2],"341":[],"342":[1],"343":[1,3],"344":[1,4],"345":[1,4],"346":[1],"347":[1,3],"348":[2],"349":[],"350":[1],"351":[1,2],"352":[1,3],"353":[1],"354":[1],"355":[1],"356":[1],"357":[1],"358":[2],"359":[1],"360":[],"361":[2],"362":[3],"363":[3,4],"364":[2],"365":[2,3],"366":[2,4],"367":[2,4,5],"368":[2,3],"369":[2,4,5],"370":[2,3],"371":[2],"372":[2],"373":[3,4],"374":[2],"375":[1],"376":[1,3],"377":[1],"378":[1],"379":[1],"380":[2],"381":[2],"382":[2,4],"383":[1],"384":[1,3],"385":[2],"386":[2],"387":[3],"388":[3],"389":[4],"390":[1,2],"391":[2],"392":[1,3],"393":[1,3],"394":[1,3],"395":[1],"396":[1,2],"397":[3],"398":[],"399":[2],"400":[1],"401":[1,3],"402":[1,4],"403":[2],"404":[1,4],"405":[1],"406":[1],"407":[1],"408":[1],"409":[],"410":[2],"411":[2],"412":[3],"413":[2],"414":[3],"415":[],"416":[2,3],"417":[2,3],"418":[2,4,5],"419":[2,4,5],"420":[3,1],"421":[3,1],"422":[3,1],"423":[3,1],"424":[3,5,1],"425":[3,5,1],"426":[3,5,1],"427":[3,5,1],"428":[1],"429":[2,3],"430":[2,3,4],"431":[3,4],"432":[3,4,5],"433":[2],"434":[2,3],"435":[2,3,5],"436":[1],"437":[1],"438":[3,1],"439":[3,1],"440":[3,1],"441":[3,1],"442":[3,1,6],"443":[3,1,5],"444":[2],"445":[2],"446":[2,3],"447":[2],"448":[2,3],"449":[2,3],"450":[2,3],"451":[2,3,4],"452":[2,3],"453":[2,3,4],"454":[2,3],"455":[2,3,4],"456":[2],"457":[2],"458":[2,3],"459":[2,3],"460":[2,3],"461":[2],"462":[1],"463":[1,2],"464":[2],"465":[3],"466":[2,4],"467":[2,4,6],"468":[3],"469":[3,5],"470":[1],"471":[1,2],"472":[2,3],"473":[2,3],"474":[1],"475":[1,3],"476":[2,4,5],"477":[2,4,6,7],"478":[2,4,6,7],"479":[2,4,8,6,9],"480":[2,4,6,8,9],"481":[2,4,5],"482":[2,4,6,7],"483":[3,5,6],"484":[3,5,7,8],"485":[2,4,5],"486":[2,4,6,7],"487":[3,5,6],"488":[3,5,7,8],"489":[2,4,5],"490":[2,4,6,7],"491":[2,3],"492":[2,4,5],"493":[1,3,5],"494":[1,3,5,7],"495":[1,3,5,7],"496":[1,3,5,9,7],"497":[1,3,5,7,9],"498":[1,3,5],"499":[1,3,5,7],"500":[1,4,6],"501":[1,4,6,8],"502":[1,3,5],"503":[1,3,5,7],"504":[1,4,6],"505":[1,4,6,8],"506":[1,3,5],"507":[1,3,5,7],"508":[1],"509":[1],"510":[1,3],"511":[2],"512":[2,3],"513":[2],"514":[2],"515":[1],"516":[1],"517":[1],"518":[1,2],"519":[1,2],"520":[1,3,5],"521":[1,2],"522":[2],"523":[1,2],"524":[2],"525":[3],"526":[],"527":[2],"528":[3],"529":[3],"530":[2],"531":[2],"532":[1,3],"533":[1,3],"534":[1,3],"535":[2,1,3],"536":[2,1,3],"537":[1,3],"538":[1,3],"539":[1,3],"540":[2,1,3],"541":[1,3],"542":[2,1,3],"543":[1,3],"544":[1,3],"545":[1,3],"546":[1,3],"547":[1,3],"548":[1,3],"549":[1,3],"550":[1,3],"551":[1,3],"552":[1,3],"553":[1,3],"554":[1,3],"555":[1,3],"556":[1,3],"557":[1,3]},accumulators:{"4":!0,"36":!0,"37":!0,"39":!0,"90":!0,"91":!0,"93":!0,"141":!0,"253":!0,"254":!0,"256":!0,"262":!0,"269":!0,"270":!0,"271":!0,"304":!0,"305":!0,"306":!0,"343":!0,"344":!0,"345":!0,"376":!0,"401":!0,"402":!0,"404":!0,"471":!0},parseTable:(()=>{let e=[108,1,2,1,1,2,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,-1,1,2,3,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,1,0,2,1,5,-2,108,5,1,5,31,61,89,-3,-3,-3,-3,-3,29,1,5,31,61,89,2,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-6,-6,-6,-6,-6,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,9,1,5,31,61,89,2,1,9,1,-7,-7,-7,-7,-7,135,136,133,134,57,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,6,3,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-99,-99,-99,-99,-99,-99,137,138,-99,143,-99,-237,-237,-237,-99,-237,-237,-99,-237,140,-99,-99,-99,-99,142,-99,141,139,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,50,1,5,22,3,5,1,61,15,4,1,1,1,2,1,2,1,9,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-100,-100,-100,-100,-100,-100,-100,-100,-238,-238,-238,-100,-238,-238,-100,-238,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,65,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-119,-119,145,146,-119,-119,-119,-119,144,147,151,148,149,152,-119,-119,-119,150,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,18,6,14,7,4,2,3,66,6,7,19,1,6,1,9,6,9,1,1,-341,158,100,-341,160,-341,96,159,161,153,-341,163,162,101,156,154,155,157,2,36,22,165,164,46,16,4,3,4,6,28,1,13,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,26,170,167,103,100,76,168,169,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,171,107,105,106,96,166,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,82,46,16,4,3,4,6,28,1,13,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,26,170,167,103,100,76,168,169,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,171,107,105,106,96,172,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,82,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,175,176,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,173,174,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,177,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,179,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,180,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,181,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,182,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,144,1,5,1,1,1,1,1,1,1,1,1,1,3,1,2,1,2,2,1,3,2,3,1,4,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,5,1,1,2,3,3,5,2,1,4,5,2,1,1,4,2,1,1,1,1,1,1,1,1,8,4,2,2,1,5,6,2,1,2,7,3,1,1,1,1,1,1,1,1,2,1,1,1,1,1,3,1,2,1,5,3,4,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-526,-526,183,178,26,27,28,29,30,31,73,32,65,54,71,103,185,100,-526,-526,76,184,-526,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,-526,105,106,96,45,75,-526,92,93,-526,-526,94,95,89,41,-526,42,90,91,86,87,88,83,-526,101,-526,-526,84,85,-526,66,74,67,68,69,82,-526,70,-526,-526,-526,63,56,97,-526,57,98,-526,-526,58,-526,-526,64,60,-526,-526,49,99,43,44,-526,-526,-526,46,47,48,50,51,52,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,186,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,187,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,58,1,5,11,11,3,5,1,15,30,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-138,-138,189,-138,-138,-138,-138,188,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,70,1,5,11,1,10,3,5,1,15,1,1,1,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,190,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,193,192,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,194,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,191,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,106,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,196,197,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,195,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,15,20,7,6,44,25,6,7,26,1,9,17,46,4,2,2,158,100,160,201,96,159,161,163,83,101,203,198,199,200,202,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,204,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,205,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,206,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,207,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,208,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,209,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,4,20,82,13,26,210,96,211,163,51,1,5,14,8,3,5,1,21,40,4,11,2,5,5,10,6,2,12,2,8,5,2,15,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-360,-360,216,-360,-360,165,-360,212,-360,96,-360,215,-360,-360,-360,163,-360,-360,-360,-360,214,213,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,1,175,217,3,36,136,5,220,219,218,106,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,222,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,221,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,143,1,5,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,1,3,2,3,1,4,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,5,1,1,2,3,3,5,2,1,4,5,2,1,1,4,2,1,1,1,1,1,1,1,1,8,4,2,2,1,5,6,2,1,2,7,3,1,1,1,1,1,1,1,1,2,1,1,1,1,1,3,1,2,1,5,3,4,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-415,-415,223,178,26,27,28,29,30,31,73,32,65,54,71,103,100,-415,-415,76,224,-415,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,-415,105,106,96,45,75,-415,92,93,-415,-415,94,95,89,41,-415,42,90,91,86,87,88,83,-415,101,-415,-415,84,85,-415,66,74,67,68,69,82,-415,70,-415,-415,-415,63,56,97,-415,57,98,-415,-415,58,-415,-415,64,60,-415,-415,49,99,43,44,-415,-415,-415,46,47,48,50,51,52,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,10,20,3,1,2,1,7,6,52,1,9,230,225,226,227,228,229,231,171,107,96,61,14,2,3,1,3,4,6,6,4,1,1,1,1,1,1,1,1,8,2,1,13,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,13,235,246,244,245,103,232,76,241,233,234,236,237,238,239,240,242,243,55,168,169,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,171,107,105,106,96,247,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,82,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,2,20,82,248,96,65,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,65,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,107,4,1,2,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,249,3,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,250,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,114,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,1,1,1,2,1,1,2,6,2,1,9,2,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,251,178,26,27,28,29,30,31,73,32,65,54,71,103,100,258,76,257,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,252,253,254,256,259,255,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,4,112,5,2,13,143,263,264,262,3,82,30,20,266,143,265,5,62,71,3,1,1,267,41,42,90,91,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,59,1,5,22,3,5,1,45,2,8,6,5,1,8,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-246,-246,-246,-246,-246,-246,-246,-246,269,-246,268,270,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,14,20,56,4,1,2,19,13,14,1,1,9,1,18,27,274,277,276,278,272,96,275,89,271,273,87,88,279,82,1,36,-242,1,36,-243,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,6,117,1,1,3,1,3,280,281,282,283,284,285,1,117,286,1,117,287,77,1,5,11,1,7,3,3,5,1,1,14,1,1,1,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,7,12,1,2,2,1,1,5,3,1,4,1,8,2,1,1,2,2,3,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,288,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,289,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,291,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,290,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,26,6,14,3,5,3,5,49,1,4,1,1,1,6,1,2,1,1,11,26,1,8,2,1,1,2,1,-267,302,103,-267,-267,-267,298,296,102,104,171,107,105,106,96,303,270,304,300,299,292,293,294,295,297,301,1,27,305,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,6,23,69,1,1,2,1,309,171,107,306,307,308,6,23,69,1,1,2,1,309,171,107,310,307,308,110,1,4,1,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,4,4,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,5,1,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,1,1,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,-5,311,-5,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,-5,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,-5,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,-5,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,312,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,313,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,314,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,315,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,316,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,317,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,318,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,319,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,320,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,321,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,322,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,323,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,324,178,325,326,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,327,178,328,329,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,330,178,331,332,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,333,178,334,335,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,336,178,337,338,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,339,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,340,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,14,20,7,6,69,6,7,26,1,9,17,46,4,2,2,158,100,160,96,159,161,163,162,101,203,341,342,343,202,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,344,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,345,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,346,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,347,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,348,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,349,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,3,23,69,1,350,171,107,46,1,5,22,3,5,1,61,14,1,7,5,7,3,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-517,-517,-517,-517,-517,-517,-517,143,-517,-517,-517,351,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,2,112,20,143,352,57,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,6,3,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-395,-395,-395,-395,-395,-395,-395,-395,-395,143,-395,-395,-395,-395,-395,-395,-395,-395,-395,353,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,110,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,5,1,1,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,9,2,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,357,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,354,355,92,93,94,95,89,41,42,90,91,86,87,88,83,356,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,360,359,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,361,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,50,1,5,22,3,5,1,15,3,1,1,2,39,13,2,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-15,-15,-15,-15,-15,-15,362,366,363,364,367,-15,365,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,5,17,35,3,1,1,369,368,372,370,371,1,52,373,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,376,375,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,377,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,374,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,193,192,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,194,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,378,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,46,16,4,3,4,6,28,1,13,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,26,170,167,103,100,76,379,169,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,171,107,105,106,96,247,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,82,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,376,375,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,377,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,380,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,193,192,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,194,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,381,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,6,24,1,5,99,-407,384,383,-407,382,6,6,25,5,1,76,22,-342,-342,-342,-342,-342,-342,7,6,25,5,1,15,61,22,-346,-346,-346,-346,385,-346,-346,17,6,14,7,4,2,3,1,65,6,5,2,20,6,1,9,16,1,-349,158,100,-349,160,-349,-349,96,159,-349,161,-349,163,162,101,386,157,9,6,11,1,13,5,1,15,61,22,-350,387,388,-350,-350,-350,-350,-350,-350,13,6,11,1,13,5,1,15,61,22,80,2,2,2,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,13,6,11,1,13,5,1,15,61,22,80,2,2,2,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,13,6,11,1,13,5,1,15,61,22,80,2,2,2,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,13,6,11,1,13,5,1,15,61,22,80,2,2,2,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,114,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,1,1,1,2,1,1,2,6,2,1,9,2,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,258,76,257,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,252,253,254,256,259,255,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,92,11,1,269,268,270,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,107,4,1,2,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,4,4,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,390,3,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,389,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-513,-513,-513,-513,-513,-513,-175,-175,-513,-175,-513,-175,-175,-175,-513,-175,-175,-513,-175,-513,-513,-513,-513,-175,-513,-175,-175,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,13,82,2,28,5,1,1,3,1,3,6,29,23,1,137,138,143,-237,-237,-237,-237,-237,-237,140,142,141,391,6,117,1,1,3,1,3,-238,-238,-238,-238,-238,-238,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,62,1,5,22,3,1,4,1,45,2,8,1,2,2,1,3,11,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-514,-514,-514,-514,-514,-514,-175,-175,-514,-175,-514,-175,-175,-175,-514,-175,-175,-514,-175,-514,-514,-514,-514,-175,-514,-175,-175,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,394,392,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,393,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,395,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,4,189,1,9,1,135,136,133,134,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,112,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,3,27,6,118,100,396,101,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-527,3,27,6,118,100,397,101,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,398,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,112,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,112,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,399,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,52,400,2,52,3,401,402,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,131,132,-181,127,128,129,-181,-181,130,-181,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,403,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,46,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,2,1,1,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,404,405,407,406,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,46,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,2,1,1,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,131,132,-445,127,128,129,408,409,407,406,130,-445,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,2,1,1,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,135,136,-447,-447,133,134,410,411,407,406,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,4,215,2,2,2,412,413,414,415,12,20,7,6,69,6,7,26,1,9,17,46,8,158,100,160,96,159,161,163,162,101,203,416,202,12,20,7,6,69,6,7,26,1,9,17,46,8,158,100,160,96,159,161,163,162,101,203,417,202,3,36,22,158,165,418,419,5,31,184,2,2,2,420,-509,-509,-509,-509,5,31,184,2,2,2,-508,-508,-508,-508,-508,25,36,153,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,421,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,3,209,1,1,422,423,424,27,36,22,131,1,1,5,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,425,131,132,426,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,27,36,22,131,1,1,5,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,427,131,132,428,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-464,3,27,6,118,100,429,101,6,17,4,15,17,1,58,-339,430,-339,431,432,433,6,17,4,15,17,1,58,-339,434,-339,435,436,433,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,437,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,46,1,5,22,3,5,1,21,40,15,7,5,10,8,12,2,8,7,15,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-364,-364,-364,-364,165,-364,438,-364,-364,-364,-364,-364,-364,-364,-364,-364,439,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,3,36,22,114,165,440,441,45,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,7,15,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,442,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,2,1,1,1,2,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,445,446,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,443,444,447,448,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,131,132,-386,127,-386,-386,-386,-386,130,-386,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-386,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-413,3,27,6,118,100,449,101,45,1,5,22,3,1,4,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-18,-18,-18,-18,450,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,2,25,6,451,452,1,25,453,7,20,8,1,6,1,3,63,458,454,455,456,457,459,96,6,20,4,2,1,13,62,230,460,461,462,231,96,2,25,6,-44,-44,1,38,463,29,6,14,3,5,3,5,3,3,18,25,1,4,1,1,1,6,1,2,1,1,11,26,1,8,2,1,1,2,1,-267,468,103,464,-267,467,469,465,466,298,296,102,104,171,107,105,106,96,303,270,304,300,299,292,293,294,295,297,301,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,470,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,471,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,2,25,13,472,473,1,27,474,4,20,82,13,26,475,96,211,163,21,17,1,34,1,1,1,1,1,2,23,2,28,5,1,1,3,1,3,35,23,1,477,-205,476,478,479,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,18,17,1,37,1,1,2,23,2,28,5,1,1,3,1,3,35,23,1,480,481,151,148,149,152,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,62,1,5,11,1,10,3,5,1,18,1,1,2,23,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,2,36,22,165,482,2,6,181,108,483,106,4,1,2,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,484,3,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,31,6,25,5,107,14,7,1,24,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-405,-405,-405,-405,487,485,486,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,2,1,1,2,2,5,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,110,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,1,5,1,2,6,2,1,9,2,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,258,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,488,490,489,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,6,6,24,1,5,107,3,-407,493,492,-407,-407,491,61,6,4,5,4,3,5,4,5,1,4,18,28,1,1,1,1,1,1,6,1,2,25,1,1,4,4,1,1,1,1,1,1,8,6,2,1,11,2,1,2,7,3,2,1,1,4,4,3,6,1,5,7,3,1,1,4,1,1,1,1,1,494,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,5,6,25,5,1,106,-252,-252,-252,-252,-252,113,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,2,1,2,1,1,2,6,2,1,9,2,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,258,76,257,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,496,495,256,259,255,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,61,6,4,5,4,3,5,4,5,1,4,18,28,1,1,1,1,1,1,6,1,2,25,1,1,4,4,1,1,1,1,1,1,8,6,2,1,11,2,1,2,7,3,2,1,1,4,4,3,6,1,5,7,3,1,1,4,1,1,1,1,1,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,5,6,25,5,1,106,-257,-257,-257,-257,-257,6,6,25,5,1,76,30,-406,-406,-406,-406,-406,-406,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,497,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,2,103,1,498,270,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,499,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,500,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,2,112,20,143,501,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,75,1,5,11,1,10,3,5,1,15,1,1,1,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,7,12,1,2,2,1,1,5,3,1,4,1,8,2,1,1,2,2,3,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,75,1,5,11,1,10,3,5,1,15,1,1,1,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,7,12,1,2,2,1,1,5,3,1,4,1,8,2,1,1,2,2,3,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,75,1,5,11,1,10,3,5,1,15,1,1,1,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,7,12,1,2,2,1,1,5,3,1,4,1,8,2,1,1,2,2,3,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,57,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,6,3,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-222,-222,-222,-222,-222,-222,502,506,-222,143,-222,503,504,505,-222,-222,-222,-222,-222,507,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,2,117,2,263,264,2,103,1,508,270,2,103,1,509,270,109,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,5,6,1,1,4,3,1,1,1,1,1,1,9,6,2,1,4,1,6,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,510,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,511,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,512,94,95,89,41,42,90,91,86,87,88,83,101,487,84,85,513,486,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,119,514,8,20,16,66,1,1,20,38,1,519,516,96,520,270,515,517,518,8,20,16,66,1,1,20,38,1,519,522,96,520,270,521,517,518,2,103,1,523,270,2,103,1,524,270,26,36,22,131,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,525,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,26,36,22,131,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,526,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,26,36,22,131,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,527,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,5,6,22,2,1,5,-407,-407,528,529,-407,5,6,22,3,5,1,-268,-268,-268,-268,-268,6,6,22,3,5,1,118,-272,-272,-272,-272,-272,530,5,6,22,3,5,1,-273,-273,-273,-273,-273,1,155,531,8,6,22,3,5,1,15,2,101,-316,-316,-316,-316,-316,532,533,-316,6,6,22,3,5,1,118,-317,-317,-317,-317,-317,-317,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,534,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,4,92,11,1,38,269,268,270,535,18,20,7,6,43,4,1,21,1,1,11,25,1,10,5,2,1,1,26,302,100,538,539,541,540,96,303,270,304,87,88,101,536,537,542,543,82,16,6,22,3,5,1,15,2,28,30,5,1,1,4,3,29,6,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,16,6,22,3,5,1,15,2,28,30,5,1,1,4,3,29,6,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,16,6,22,3,5,1,15,2,28,30,5,1,1,4,3,29,6,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,26,6,14,3,5,3,5,49,1,4,1,1,1,6,1,2,1,1,11,26,1,8,2,1,1,2,1,-267,302,103,-267,-267,-267,298,296,102,104,171,107,105,106,96,303,270,304,300,299,544,293,294,295,297,301,6,23,69,1,3,1,4,309,171,107,546,308,545,5,92,1,2,2,4,-140,-140,-140,-140,-140,108,4,1,2,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,5,1,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,547,3,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,548,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,549,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,92,1,2,2,4,-145,-145,-145,-145,-145,6,23,69,1,2,1,1,309,171,107,550,546,308,5,1,5,31,61,89,-4,-4,-4,-4,-4,25,155,34,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,551,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,112,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,112,115,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,112,115,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,112,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,114,113,112,115,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,109,110,-537,114,113,112,115,116,-537,-537,-537,120,121,122,-537,-537,-537,-537,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,109,110,-538,114,113,112,115,116,117,-538,-538,120,121,122,-538,-538,-538,-538,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,109,110,-539,114,113,112,115,116,117,118,-539,120,121,122,-539,-539,-539,-539,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,109,110,-540,114,113,112,115,116,-540,-540,-540,-540,-540,122,-540,-540,-540,-540,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,109,110,-541,114,113,112,115,116,-541,-541,-541,-541,-541,122,-541,-541,-541,-541,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,109,110,-542,114,113,112,115,116,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,109,110,-543,114,113,112,115,116,117,118,119,120,121,122,-543,-543,-543,-543,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,109,110,-544,114,113,112,115,116,117,118,119,120,121,122,123,-544,-544,-544,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,109,110,-545,114,113,112,115,116,117,118,119,120,121,122,123,-545,-545,-545,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,131,132,-552,127,-552,-552,-552,-552,130,-552,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-552,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,131,132,-553,127,-553,-553,-553,-553,130,-553,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-553,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,131,132,-439,552,-439,-439,-439,-439,130,-439,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,131,132,-441,127,-441,-441,-441,-441,130,-441,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,4,215,2,2,2,553,554,555,556,12,20,7,6,69,6,7,26,1,9,17,46,8,158,100,160,96,159,161,163,162,101,203,557,202,12,20,7,6,69,6,7,26,1,9,17,46,8,158,100,160,96,159,161,163,162,101,203,558,202,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,131,132,559,127,-420,-420,-420,-420,130,-420,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-420,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,131,132,560,127,-422,-422,-422,-422,130,-422,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-422,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,131,132,-438,127,-438,-438,-438,-438,130,-438,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,131,132,-440,127,-440,-440,-440,-440,130,-440,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,131,132,561,127,-421,-421,-421,-421,130,-421,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-421,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,131,132,562,127,-423,-423,-423,-423,130,-423,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-423,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,5,6,24,1,5,77,-407,563,564,-407,-407,5,6,25,5,1,76,-400,-400,-400,-400,-400,109,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,6,1,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,9,2,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,357,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,565,92,93,94,95,89,41,42,90,91,86,87,88,83,356,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,30,6,25,5,1,76,30,46,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-405,-405,-405,-405,-405,-405,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-150,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,566,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,567,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,569,568,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,570,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,376,375,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,377,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,571,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,193,192,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,194,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,572,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,46,16,4,3,4,6,28,1,13,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,26,170,167,103,100,76,573,169,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,171,107,105,106,96,247,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,82,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,376,375,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,377,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,574,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,193,192,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,194,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,575,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,577,576,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,578,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,48,1,5,22,3,5,1,15,3,1,1,41,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-16,-16,-16,-16,-16,-16,579,582,580,581,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,376,375,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,377,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,583,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,193,192,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,194,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,584,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,376,375,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,377,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,585,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,586,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,131,132,-178,127,128,129,-178,-178,130,-178,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,587,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,588,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,57,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,6,3,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-192,-192,-192,-192,-192,-192,137,138,-192,589,-192,-237,-237,-237,-192,-237,-237,-192,-237,140,-192,-192,-192,-192,142,-192,141,391,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,4,17,119,1,1,591,590,90,91,16,6,14,7,6,3,1,65,6,7,26,1,9,6,9,1,1,-408,158,100,160,-408,-408,96,159,161,163,162,101,156,592,155,157,2,6,30,593,594,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,595,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,6,6,25,5,1,76,22,-348,-348,-348,-348,-348,-348,7,6,25,5,1,15,61,22,-351,-351,-351,-351,-351,-351,-351,8,6,11,14,5,1,15,61,22,-353,596,-353,-353,-353,-353,-353,-353,57,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,6,2,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,2,6,31,108,597,2,112,20,143,351,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-165,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,598,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,599,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-168,1,37,600,1,37,601,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-529,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-162,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,602,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,604,603,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,605,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,607,606,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,608,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,131,132,-182,127,128,129,-182,-182,130,-182,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,3,1,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,609,407,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,10,20,7,6,3,22,44,6,34,9,55,614,100,611,165,613,96,612,162,101,610,106,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,616,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,615,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,45,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,3,1,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,617,407,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,45,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,3,1,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,618,407,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,619,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,620,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,621,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,622,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,217,623,1,219,624,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,625,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,11,20,7,6,69,6,7,26,1,9,17,54,158,100,160,96,159,161,163,162,101,203,626,3,209,1,1,627,423,424,4,37,159,14,1,628,629,630,424,3,37,159,15,-470,-470,-470,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,4,1,7,3,1,1,4,1,1,1,1,1,632,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,631,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,633,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,634,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,37,635,3,17,19,22,637,165,636,4,17,4,15,76,-339,638,-339,433,4,17,4,15,76,-339,639,-339,433,18,6,14,7,4,2,3,66,6,5,2,19,7,1,9,6,9,1,1,-341,158,100,-341,160,-341,96,159,-341,161,640,163,162,101,156,154,155,157,3,17,19,22,642,165,641,4,17,4,15,76,-339,643,-339,433,4,17,4,15,76,-339,644,-339,433,45,1,5,22,3,5,1,21,40,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-362,-362,-362,-362,165,-362,645,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-362,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,646,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,647,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,26,36,141,12,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,220,648,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,2,6,31,650,649,2,6,31,-375,-375,26,6,31,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-378,-378,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,6,6,31,152,1,9,1,-379,-379,135,136,133,134,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,651,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,102,652,1,37,653,3,27,6,118,100,654,101,3,23,69,1,655,171,107,3,26,1,13,656,657,231,3,23,69,1,658,171,107,1,25,659,5,6,22,2,1,5,-407,-407,660,661,-407,5,6,22,3,5,1,-35,-35,-35,-35,-35,6,20,9,6,1,3,63,458,662,456,457,459,96,6,6,22,3,5,1,1,-40,-40,-40,-40,-40,663,6,6,22,3,5,1,1,-42,-42,-42,-42,-42,664,1,25,665,1,25,666,7,20,8,1,6,1,3,63,458,667,668,456,457,459,96,2,20,82,669,96,45,1,5,19,3,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-46,-46,670,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,5,6,22,2,1,5,-407,-407,671,672,-407,5,6,22,3,5,1,-89,-89,-89,-89,-89,6,20,16,3,3,18,42,674,467,469,673,466,96,8,6,22,3,5,2,14,2,101,-94,-94,-94,-94,675,-313,-313,-313,6,6,22,3,5,1,1,-97,-97,-97,-97,-97,676,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,131,132,-56,127,128,129,-56,-56,130,-56,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,3,27,6,118,100,677,101,3,23,69,1,678,171,107,3,20,19,63,679,680,96,6,20,16,3,3,18,42,674,467,469,681,466,96,6,17,4,15,17,1,58,-339,682,-339,431,432,433,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,684,683,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,685,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,52,3,1,1,2,686,689,687,688,690,1,52,691,2,52,3,692,693,4,55,1,1,2,366,363,364,367,4,17,38,1,1,694,372,370,371,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,2,6,31,108,695,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,696,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,57,10,5,4,3,5,10,4,18,28,1,1,1,1,1,1,6,1,2,18,7,1,1,4,4,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,4,4,3,6,1,5,7,3,1,1,4,1,1,1,1,1,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,57,10,5,4,3,5,10,4,18,28,1,1,1,1,1,1,6,1,2,18,7,1,1,4,4,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,4,4,3,6,1,5,7,3,1,1,4,1,1,1,1,1,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,2,1,1,2,2,5,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,61,6,4,5,4,3,5,4,5,1,4,18,28,1,1,1,1,1,1,6,1,2,25,1,1,4,4,1,1,1,1,1,1,8,6,2,1,11,2,1,2,7,3,2,1,1,4,4,3,6,1,5,7,3,1,1,4,1,1,1,1,1,494,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,5,6,25,5,1,106,-258,-258,-258,-258,-258,2,36,107,698,697,115,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,3,1,4,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,1,1,3,1,1,2,6,2,1,9,2,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,-408,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,258,76,-408,-408,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,-408,700,699,259,255,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,4,6,30,1,106,701,-259,-259,-259,61,6,4,5,4,3,5,4,5,1,4,18,28,1,1,1,1,1,1,6,1,2,25,1,1,4,4,1,1,1,1,1,1,8,6,2,1,11,2,1,2,7,3,2,1,1,4,4,3,6,1,5,7,3,1,1,4,1,1,1,1,1,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,6,6,24,1,5,1,109,-407,493,492,-407,-407,702,109,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,6,1,2,6,2,1,9,2,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,258,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,490,489,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,30,6,25,5,1,76,30,46,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-358,-358,-358,-358,-358,-358,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,25,120,69,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,703,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,704,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,57,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,6,3,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-225,-225,-225,-225,-225,-225,-225,-225,-225,143,-225,-225,-225,-225,-225,-225,-225,-225,-225,705,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,2,103,1,706,270,2,103,1,707,270,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,708,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,23,69,1,709,171,107,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,29,31,89,37,7,1,24,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,711,710,487,712,486,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,108,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,5,6,1,1,4,3,1,1,1,1,1,1,9,6,2,1,4,1,6,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,713,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,714,94,95,89,41,42,90,91,86,87,88,83,101,487,84,85,513,486,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,120,715,106,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,4,4,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,4,7,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,716,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,-326,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,-326,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,717,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,718,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,6,24,1,5,89,-407,719,720,-407,-407,7,20,82,1,1,20,38,1,519,96,520,270,721,517,518,5,6,25,5,1,88,-303,-303,-303,-303,-303,7,6,25,5,1,15,73,30,-307,-307,-307,-307,723,-307,722,7,6,25,5,1,15,73,30,-311,-311,-311,-311,-311,-311,-311,7,6,25,5,1,15,73,30,-312,-312,-312,-312,-312,-312,-312,5,6,24,1,5,89,-407,724,720,-407,-407,7,20,82,1,1,20,38,1,519,96,520,270,725,517,518,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,45,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,4,1,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,726,727,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,728,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,3,6,22,8,730,729,731,25,6,14,3,5,8,1,48,1,4,1,1,1,6,1,2,1,1,11,26,1,10,1,1,2,1,-408,302,103,-408,-408,-408,298,296,102,104,171,107,105,106,96,303,270,304,300,299,732,294,295,297,301,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,733,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,734,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,735,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,736,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,737,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,155,738,25,143,46,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,739,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,740,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,14,6,22,3,5,1,45,30,5,1,1,4,3,6,29,-281,-281,-281,-281,-281,-283,143,-283,-283,-283,-283,-283,741,-283,14,6,22,3,5,1,45,30,5,1,1,4,3,6,29,-282,-282,-282,-282,-282,746,143,743,744,745,748,749,742,747,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,4,112,5,2,13,143,263,264,750,2,112,20,143,751,5,6,22,2,1,5,-407,-407,752,529,-407,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,5,92,1,2,2,4,-141,-141,-141,-141,-141,2,6,92,108,753,106,4,1,2,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,754,3,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,92,1,2,2,4,-144,-144,-144,-144,-144,62,1,5,22,3,1,4,1,45,2,8,1,2,2,1,3,11,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,755,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,757,178,337,338,28,29,30,31,73,32,65,54,71,103,100,76,756,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,758,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,759,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,760,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,761,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,217,762,1,219,763,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,764,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,765,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,766,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,767,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,6,30,77,769,770,768,111,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,1,4,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,5,2,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,9,2,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,-408,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,-408,-408,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,-408,92,93,94,95,89,41,42,90,91,86,87,88,83,771,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,6,24,1,5,1,-407,772,564,-407,-407,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-151,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,773,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-153,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,774,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,775,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,57,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,6,3,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-193,-193,-193,-193,-193,-193,137,138,-193,776,-193,-237,-237,-237,-193,-237,-237,-193,-237,140,-193,-193,-193,-193,142,-193,141,391,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-156,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,777,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,778,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,780,779,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,781,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,376,375,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,377,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,782,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,193,192,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,194,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,783,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,376,375,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,377,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,784,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-164,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,131,132,-179,127,128,129,-179,-179,130,-179,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,785,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,110,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,5,1,1,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,9,2,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,357,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,786,787,92,93,94,95,89,41,42,90,91,86,87,88,83,356,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,2,36,22,165,788,3,136,1,1,789,90,91,6,6,25,5,1,76,22,-343,-343,-343,-343,-343,-343,13,20,7,6,69,6,7,26,1,9,6,9,1,1,158,100,160,96,159,161,163,162,101,156,790,155,157,18,6,14,7,4,2,3,1,65,6,7,19,7,1,9,6,9,1,1,-341,158,100,-341,160,-341,-341,96,159,161,791,163,162,101,156,154,155,157,30,6,25,5,1,76,22,54,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-347,-347,-347,-347,-347,-347,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,7,6,25,5,1,15,61,22,-352,-352,-352,-352,-352,-352,-352,57,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,6,2,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,792,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-167,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-163,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-169,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,793,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,794,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,131,132,-172,127,128,129,-172,-172,130,-172,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,795,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,796,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,2,36,22,165,797,2,36,22,165,798,2,36,22,165,799,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,2,17,19,800,-462,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,131,132,-457,127,128,129,-457,-457,130,-457,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,28,36,22,131,1,1,5,3,1,13,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,801,131,132,803,127,128,129,130,802,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,27,36,22,131,1,1,5,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,804,131,132,805,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,27,36,22,131,1,1,5,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,806,131,132,807,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,27,36,22,131,1,1,5,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,808,131,132,809,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,810,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,811,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,26,36,22,131,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,812,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,4,215,2,2,2,-510,-510,-510,-510,4,37,159,14,1,813,814,630,424,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,2,36,22,165,815,3,37,159,15,-471,-471,-471,3,31,5,22,817,165,816,26,31,5,153,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-474,-474,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,26,36,22,131,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,818,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,26,36,22,131,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,819,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,45,1,5,22,3,5,1,21,40,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-17,-17,-17,-17,165,-17,820,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,3,17,19,22,822,165,821,3,17,19,22,824,165,823,5,6,24,1,5,77,-407,384,383,-407,825,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,2,36,22,165,826,3,17,19,22,828,165,827,3,17,19,22,830,165,829,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,45,1,5,22,3,5,1,21,40,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-366,-366,-366,-366,165,-366,831,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-366,26,36,22,131,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,832,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,109,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,4,4,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,3,1,1,2,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,-377,445,446,26,27,28,29,30,31,73,32,65,54,71,103,100,76,-377,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,833,447,448,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,26,6,31,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-380,-380,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,3,6,19,12,-381,834,-381,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,45,1,5,22,3,1,4,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-19,-19,-19,-19,835,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,1,25,836,6,20,9,6,1,3,63,458,837,456,457,459,96,45,1,5,22,3,1,4,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-20,-20,-20,-20,838,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,3,23,69,1,839,171,107,3,6,22,8,841,840,842,8,6,14,8,7,1,1,2,63,-408,458,-408,843,-408,-408,459,96,5,6,24,1,5,1,-407,844,661,-407,-407,2,20,82,845,96,2,20,82,846,96,3,23,69,1,847,171,107,3,23,69,1,848,171,107,1,25,849,5,6,22,2,1,5,-407,-407,850,661,-407,1,25,-45,3,23,69,1,851,171,107,3,6,22,8,853,852,854,8,6,14,8,8,1,2,21,42,-408,674,-408,-408,-408,469,855,96,5,6,24,1,5,1,-407,856,672,-407,-407,6,6,22,3,5,1,1,-94,-94,-94,-94,-94,675,3,20,19,63,857,858,96,2,20,82,859,96,1,37,860,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,1,25,861,1,25,862,5,6,22,2,1,5,-407,-407,863,672,-407,3,17,19,22,864,165,636,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,131,132,-64,127,128,129,-64,-64,130,-64,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,865,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,866,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,868,867,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,869,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,871,870,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,872,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,874,873,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,875,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,877,876,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,878,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,880,879,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,881,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,882,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,884,883,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,885,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,887,886,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,888,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,55,1,1,582,580,581,1,187,889,25,143,46,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,890,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,2,1,1,2,2,5,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,113,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,2,1,2,1,1,2,6,2,1,9,2,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,258,76,257,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,496,891,256,259,255,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,6,25,5,1,106,-253,-253,-253,-253,-253,112,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,3,1,4,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,1,5,1,2,6,2,1,9,2,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,258,76,-260,-260,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,-260,490,489,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,111,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,2,3,1,1,2,6,2,1,9,2,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,258,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,496,892,259,255,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,2,36,1,698,893,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,894,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,25,120,69,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,895,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,896,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,4,4,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,4,7,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,897,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,-324,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,-324,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,28,37,120,7,1,24,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,898,487,712,486,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,1,37,899,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,26,37,83,69,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-325,-325,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,25,120,69,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,900,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,901,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,6,30,89,903,904,902,10,6,14,16,1,65,1,1,21,37,1,-408,519,-408,-408,96,520,270,-408,905,518,5,6,24,1,5,1,-407,906,720,-407,-407,5,20,82,1,1,59,519,96,520,270,907,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,908,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,6,30,89,903,904,909,5,6,24,1,5,1,-407,910,720,-407,-407,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,3,36,22,136,165,912,911,2,36,22,165,913,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,2,1,1,2,2,5,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,21,20,3,62,1,4,1,1,1,6,1,2,1,1,11,26,1,10,1,1,2,1,302,103,298,296,102,104,171,107,105,106,96,303,270,304,300,299,914,294,295,297,301,26,6,14,3,8,5,1,48,1,4,1,1,1,6,1,2,1,1,11,26,1,8,2,1,1,2,1,-267,302,103,-267,-267,-267,298,296,102,104,171,107,105,106,96,303,270,304,300,299,915,293,294,295,297,301,5,6,22,3,5,1,-269,-269,-269,-269,-269,29,6,22,3,5,1,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-274,-274,-274,-274,-274,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,916,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,29,6,22,3,5,1,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-276,-276,-276,-276,-276,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,29,6,22,3,5,1,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-277,-277,-277,-277,-277,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,917,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,918,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,919,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,6,6,22,3,5,1,118,-318,-318,-318,-318,-318,-318,25,143,46,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,920,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,2,103,1,921,270,2,103,1,922,270,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,923,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,924,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,14,6,22,3,5,1,45,30,5,1,1,4,3,6,29,-298,-298,-298,-298,-298,-298,143,-298,-298,-298,-298,-298,925,-298,8,20,16,66,1,1,20,38,1,519,927,96,520,270,926,517,518,8,20,16,66,1,1,20,38,1,519,929,96,520,270,928,517,518,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,3,6,22,8,730,930,731,5,92,1,2,2,4,-142,-142,-142,-142,-142,2,6,31,108,931,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-520,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,932,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,131,132,-443,127,-443,-443,-443,-443,130,-443,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-443,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-493,-493,-493,-493,-493,-493,-493,-493,-493,-493,-493,-493,-493,-493,-493,-493,-493,-493,933,-493,-493,-493,-493,-493,-493,934,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-493,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,935,-498,-498,-498,-498,-498,-498,-498,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-498,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,936,-502,-502,-502,-502,-502,-502,-502,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-502,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,937,-506,-506,-506,-506,-506,-506,-506,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-506,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,938,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,939,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-424,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-426,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-425,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-427,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,107,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,9,2,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,940,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,109,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,6,1,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,9,2,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,357,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,941,92,93,94,95,89,41,42,90,91,86,87,88,83,356,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,6,25,5,1,76,-401,-401,-401,-401,-401,3,6,30,1,769,770,942,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-154,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,943,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,110,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,5,1,1,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,9,2,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,357,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,944,945,92,93,94,95,89,41,42,90,91,86,87,88,83,356,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-157,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,946,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-159,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,947,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,948,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-194,-194,-194,-194,-194,-194,-398,-398,-194,-398,-194,-398,-398,-398,-194,-398,-398,-194,-398,-194,-194,-194,-194,-398,-194,-398,-398,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,5,6,24,1,5,77,-407,949,564,-407,-407,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,2,36,22,165,950,6,6,25,5,1,76,22,-344,-344,-344,-344,-344,-344,5,6,24,1,5,1,-407,951,383,-407,-407,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-170,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,952,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,131,132,-173,127,128,129,-173,-173,130,-173,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,953,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,1,36,-463,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,954,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,955,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,956,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,957,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,958,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,27,36,22,131,1,1,5,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,959,131,132,960,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,27,36,22,131,1,1,5,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,961,131,132,962,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,2,36,22,165,963,1,37,964,4,6,31,159,15,965,-472,-472,-472,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,966,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,2,36,22,165,967,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,2,36,22,165,968,2,17,19,-340,-340,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,2,36,22,165,969,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,2,36,22,165,970,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,2,6,31,-376,-376,2,102,80,972,971,3,27,6,118,100,973,101,3,23,69,1,974,171,107,5,6,22,2,1,5,-407,-407,975,661,-407,3,27,6,118,100,976,101,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,1,25,977,4,20,15,4,63,458,978,459,96,6,20,9,6,1,3,63,458,979,456,457,459,96,5,6,22,3,5,1,-36,-36,-36,-36,-36,3,6,30,1,841,842,980,5,6,22,3,5,1,-41,-41,-41,-41,-41,5,6,22,3,5,1,-43,-43,-43,-43,-43,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,3,23,69,1,981,171,107,3,6,22,8,841,982,842,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,45,1,5,19,3,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-47,-47,983,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,4,20,19,21,42,674,469,984,96,6,20,16,3,3,18,42,674,467,469,985,466,96,5,6,22,3,5,1,-90,-90,-90,-90,-90,3,6,30,1,853,854,986,5,6,22,3,5,1,-95,-95,-95,-95,-95,5,6,22,3,5,1,-96,-96,-96,-96,-96,5,6,22,3,5,1,-98,-98,-98,-98,-98,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,3,23,69,1,987,171,107,3,23,69,1,988,171,107,3,6,22,8,853,989,854,2,36,22,165,820,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,131,132,-65,127,128,129,-65,-65,130,-65,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,990,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,131,132,-67,127,128,129,-67,-67,130,-67,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,991,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,992,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,131,132,-77,127,128,129,-77,-77,130,-77,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,993,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,994,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,131,132,-80,127,128,129,-80,-80,130,-80,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,995,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,131,132,-83,127,128,129,-83,-83,130,-83,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,996,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,997,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,131,132,-86,127,128,129,-86,-86,130,-86,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,998,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,131,132,-70,127,128,129,-70,-70,130,-70,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,131,132,-71,127,128,129,-71,-71,130,-71,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,999,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1000,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,131,132,-74,127,128,129,-74,-74,130,-74,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1001,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1002,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,6,6,24,1,5,1,109,-407,493,492,-407,-407,1003,5,6,25,5,1,106,-254,-254,-254,-254,-254,5,6,25,5,1,106,-255,-255,-255,-255,-255,1,120,1004,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,25,120,69,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1005,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,26,37,83,69,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-323,-323,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,1,120,1006,1,120,1007,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1008,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,6,20,82,1,1,58,1,519,96,520,270,1009,518,7,20,82,1,1,20,38,1,519,96,520,270,1010,517,518,5,6,25,5,1,88,-304,-304,-304,-304,-304,3,6,30,1,903,904,1011,6,6,25,5,1,15,73,-308,-308,-308,-308,1012,-308,29,6,25,5,1,88,64,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-309,-309,-309,-309,-309,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,3,6,30,1,903,904,1013,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1014,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,5,6,22,3,5,1,-270,-270,-270,-270,-270,5,6,24,1,5,1,-407,1015,529,-407,-407,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1016,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1017,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,29,6,22,3,5,1,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-279,-279,-279,-279,-279,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1018,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,6,6,22,3,5,1,118,-319,-319,-319,-319,-319,-319,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,25,120,69,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1019,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1020,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,5,6,24,1,5,89,-407,1021,720,-407,-407,7,20,82,1,1,20,38,1,519,96,520,270,1022,517,518,5,6,24,1,5,89,-407,1023,720,-407,-407,7,20,82,1,1,20,38,1,519,96,520,270,1024,517,518,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,2,1,1,2,2,5,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,1,98,1025,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1026,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1027,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1028,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1029,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1030,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1031,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,1032,-500,-500,-500,-500,-500,-500,-500,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-500,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,1033,-504,-504,-504,-504,-504,-504,-504,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-504,5,6,25,5,1,76,-402,-402,-402,-402,-402,5,6,24,1,5,1,-407,1034,564,-407,-407,5,6,25,5,1,76,-403,-403,-403,-403,-403,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-195,-195,-195,-195,-195,-195,-398,-398,-195,-398,-195,-398,-398,-398,-195,-398,-398,-195,-398,-195,-195,-195,-195,-398,-195,-398,-398,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,5,6,24,1,5,77,-407,1035,564,-407,-407,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-160,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1036,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,3,6,30,77,769,770,1037,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,3,6,30,1,593,594,1038,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,27,36,22,131,1,1,5,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1039,131,132,1040,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,27,36,22,131,1,6,3,1,13,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1041,131,132,127,128,129,130,1042,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,26,36,22,131,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1043,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,26,36,22,131,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1044,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,26,36,22,131,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1045,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1046,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1047,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,37,1048,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,3,37,159,15,-473,-473,-473,26,31,5,153,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-475,-475,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,3,6,31,80,-382,-382,1049,3,6,31,80,-383,-383,-383,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,45,1,5,22,3,1,4,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-23,-23,-23,-23,1050,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,3,6,22,8,841,1051,842,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,3,23,69,1,1052,171,107,5,6,22,3,5,1,-37,-37,-37,-37,-37,5,6,24,1,5,1,-407,1053,661,-407,-407,5,6,22,3,5,1,-38,-38,-38,-38,-38,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,1,25,1054,3,23,69,1,1055,171,107,5,6,22,3,5,1,-91,-91,-91,-91,-91,5,6,24,1,5,1,-407,1056,672,-407,-407,5,6,22,3,5,1,-92,-92,-92,-92,-92,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,1,25,1057,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,131,132,-68,127,128,129,-68,-68,130,-68,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1058,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,131,132,-78,127,128,129,-78,-78,130,-78,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1059,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,131,132,-81,127,128,129,-81,-81,130,-81,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,131,132,-84,127,128,129,-84,-84,130,-84,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1060,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,131,132,-87,127,128,129,-87,-87,130,-87,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,131,132,-72,127,128,129,-72,-72,130,-72,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1061,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,131,132,-75,127,128,129,-75,-75,130,-75,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1062,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,2,36,1,698,1063,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,1,120,1064,5,6,25,5,1,88,-305,-305,-305,-305,-305,5,6,24,1,5,1,-407,1065,720,-407,-407,1,125,1066,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1067,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,125,1068,26,36,22,131,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1069,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,3,6,30,1,730,731,1070,5,6,22,3,5,1,-275,-275,-275,-275,-275,5,6,22,3,5,1,-278,-278,-278,-278,-278,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1071,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1072,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,3,6,30,89,903,904,1073,5,6,24,1,5,1,-407,1074,720,-407,-407,3,6,30,89,903,904,1075,5,6,24,1,5,1,-407,1076,720,-407,-407,5,92,1,2,2,4,-143,-143,-143,-143,-143,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,1077,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-494,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,1078,-495,-495,-495,-495,-495,-495,-495,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-495,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-499,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-503,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-507,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1079,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1080,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,6,30,1,769,770,1081,3,6,30,77,769,770,1082,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-196,-196,-196,-196,-196,-196,-399,-399,-196,-399,-196,-399,-399,-399,-196,-399,-399,-196,-399,-196,-196,-196,-196,-399,-196,-399,-399,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,6,6,25,5,1,76,22,-345,-345,-345,-345,-345,-345,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1083,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1084,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,26,36,22,131,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1085,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,26,36,22,131,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1086,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,2,103,1,1087,270,3,27,6,118,100,1088,101,1,25,1089,45,1,5,22,3,1,4,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-22,-22,-22,-22,1090,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,3,6,30,1,841,842,1091,3,23,69,1,1092,171,107,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,3,6,30,1,853,854,1093,3,23,69,1,1094,171,107,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,5,6,25,5,1,106,-256,-256,-256,-256,-256,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,3,6,30,1,903,904,1095,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,29,6,25,5,1,88,64,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-310,-310,-310,-310,-310,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,45,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,4,1,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,1096,727,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,5,6,22,3,5,1,-271,-271,-271,-271,-271,5,6,22,3,5,1,-280,-280,-280,-280,-280,1,120,1097,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,3,6,30,1,903,904,1098,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,3,6,30,1,903,904,1099,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1100,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1101,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-501,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-505,5,6,25,5,1,76,-404,-404,-404,-404,-404,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-197,-197,-197,-197,-197,-197,-399,-399,-197,-399,-197,-399,-399,-399,-197,-399,-399,-197,-399,-197,-197,-197,-197,-399,-197,-399,-399,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,26,36,22,131,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1102,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,26,36,22,131,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1103,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,3,6,31,80,-384,-384,-384,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,3,23,69,1,1104,171,107,3,27,6,118,100,1105,101,5,6,22,3,5,1,-39,-39,-39,-39,-39,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,5,6,22,3,5,1,-93,-93,-93,-93,-93,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,5,6,25,5,1,88,-306,-306,-306,-306,-306,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,1,125,1106,1,125,1107,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-496,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-497,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,45,1,5,22,3,1,4,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-24,-24,-24,-24,1108,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,3,27,6,118,100,1109,101,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30],t=[],r=0,s,i,n,a;while(r","ArrowKind → =>","DoIife → DO_IIFE Code","This → THIS","This → @","ThisProperty → @ Property","ThisProperty → @ STRING","Array → [ ]","Array → [ Elisions ]","Array → [ ArgElisionList OptElisions ]","ArgElisionList → ArgElision","ArgElisionList → ArgElisionList , ArgElision","ArgElisionList → ArgElisionList OptComma TERMINATOR ArgElision","ArgElisionList → INDENT ArgElisionList OptElisions OUTDENT","ArgElisionList → ArgElisionList OptElisions INDENT ArgElisionList OptElisions OUTDENT","ArgElision → Arg","ArgElision → Elisions Arg","OptElisions → OptComma","OptElisions → , Elisions","Elisions → Elision","Elisions → Elisions Elision","Elision → ,","Elision → Elision TERMINATOR","Object → { AssignList OptComma }","Object → MAP_START { AssignList OptComma }","AssignList → ε","AssignList → AssignObj","AssignList → AssignList , AssignObj","AssignList → AssignList OptComma TERMINATOR AssignObj","AssignList → AssignList OptComma INDENT AssignList OptComma OUTDENT","AssignObj → ObjAssignable","AssignObj → ObjRestValue","AssignObj → ObjAssignable : Expression","AssignObj → ObjAssignable : INDENT Expression OUTDENT","AssignObj → Regex : Expression","AssignObj → SimpleObjAssignable = Expression","AssignObj → SimpleObjAssignable = INDENT Expression OUTDENT","AssignObj → SimpleObjAssignable VOID_MARKER : Expression","AssignObj → SimpleObjAssignable VOID_MARKER : INDENT Expression OUTDENT","ObjRestValue → ... SimpleObjAssignable","ObjRestValue → ... ObjSpreadExpr","ObjSpreadExpr → SimpleObjAssignable","ObjSpreadExpr → Object","ObjSpreadExpr → Parenthetical","ObjSpreadExpr → Super","ObjSpreadExpr → This","ObjSpreadExpr → SUPER Arguments","ObjSpreadExpr → DYNAMIC_IMPORT Arguments","ObjSpreadExpr → SimpleObjAssignable Arguments","ObjSpreadExpr → ObjSpreadExpr Arguments","ObjSpreadExpr → ObjSpreadExpr . Property","ObjSpreadExpr → ObjSpreadExpr ?. Property","ObjSpreadExpr → ObjSpreadExpr INDEX_START Expression INDEX_END","ObjSpreadExpr → ObjSpreadExpr INDEX_START INDENT Expression OUTDENT INDEX_END","ObjSpreadExpr → ObjSpreadExpr DAMMIT","ObjSpreadExpr → ObjSpreadExpr MAYBE_DAMMIT Arguments","ObjSpreadExpr → ObjSpreadExpr MAYBE_DAMMIT","ObjSpreadExpr → ObjSpreadExpr PICK_START PickList OptComma PICK_END","ObjSpreadExpr → ObjSpreadExpr OPTPICK_START PickList OptComma PICK_END","ObjSpreadExpr → ObjSpreadExpr PICK_START INDENT PickList OptComma OUTDENT PICK_END","ObjSpreadExpr → ObjSpreadExpr OPTPICK_START INDENT PickList OptComma OUTDENT PICK_END","PickList → PickItem","PickList → PickList , PickItem","PickList → PickList OptComma TERMINATOR PickItem","PickList → PickList OptComma INDENT PickList OptComma OUTDENT","PickItem → PickKey","PickItem → PickKey : PickKey","PickItem → PickKey = Expression","PickItem → PickKey : PickKey = Expression","PickKey → Identifier","PickKey → Property","SimpleObjAssignable → Identifier","SimpleObjAssignable → Property","SimpleObjAssignable → ThisProperty","ObjAssignable → SimpleObjAssignable","ObjAssignable → Atom","ObjAssignable → [ Expression ]","ObjAssignable → @ [ Expression ]","RangeDots → ..","RangeDots → ...","Range → [ Expression RangeDots Expression ]","Slice → Expression RangeDots Expression","Slice → Expression RangeDots","Slice → RangeDots Expression","Slice → RangeDots","Def → DEF Identifier OptParams Block","Def → DEF Identifier OptParams TYPE Block","Def → DEF Identifier TYPE_PARAMS OptParams Block","Def → DEF Identifier TYPE_PARAMS OptParams TYPE Block","Def → DEF Identifier VOID_MARKER OptParams Block","Def → DEF Identifier VOID_MARKER OptParams TYPE Block","Def → DEF ThisProperty OptParams Block","Def → DEF ThisProperty OptParams TYPE Block","Def → DEF ThisProperty TYPE_PARAMS OptParams Block","Def → DEF ThisProperty TYPE_PARAMS OptParams TYPE Block","Def → DEF ThisProperty VOID_MARKER OptParams Block","Def → DEF ThisProperty VOID_MARKER OptParams TYPE Block","OptParams → ε","OptParams → CALL_START ParamList CALL_END","ParamList → ε","ParamList → Param","ParamList → ParamList , Param","ParamList → ParamList OptComma TERMINATOR Param","ParamList → ParamList OptComma INDENT ParamList OptComma OUTDENT","Param → TypedParamVar","Param → TypedParamVar = Expression","Param → ... TypedParamVar","Param → ...","TypedParamVar → ParamVar","TypedParamVar → ParamVar TYPE","TypedParamVar → ParamVar OPT_MARKER TYPE","TypedParamVar → ParamVar OPT_MARKER","ParamVar → Identifier","ParamVar → Array","ParamVar → Object","ParamVar → ThisProperty","Splat → ... Expression","ClassName → Identifier","Class → CLASS","Class → CLASS Block","Class → CLASS EXTENDS Expression","Class → CLASS EXTENDS Expression Block","Class → CLASS ClassName","Class → CLASS ClassName Block","Class → CLASS ClassName EXTENDS Expression","Class → CLASS ClassName EXTENDS Expression Block","Class → CLASS ThisProperty Block","Class → CLASS ThisProperty EXTENDS Expression Block","Enum → ENUM Identifier Block","Schema → SCHEMA SCHEMA_BODY","Component → COMPONENT ComponentBlock","Component → COMPONENT EXTENDS Expression ComponentBlock","ComponentBlock → INDENT ComponentBody OUTDENT","ComponentBody → ComponentLine","ComponentBody → ComponentBody TERMINATOR ComponentLine","ComponentBody → ComponentBody TERMINATOR","ComponentLine → Expression","ComponentLine → Statement","ComponentLine → OFFER Expression","ComponentLine → ACCEPT IDENTIFIER","ComponentLine → ACCEPT IDENTIFIER FROM ProviderPath","ProviderPath → IDENTIFIER","ProviderPath → ProviderPath . Property","Render → RENDER Block","Render → RENDER Expression","Super → SUPER . Property","Super → SUPER INDEX_START Expression INDEX_END","Super → SUPER INDEX_START INDENT Expression OUTDENT INDEX_END","Invocation → Value Arguments","Invocation → SUPER Arguments","Invocation → Value ES6_OPTIONAL_CALL Arguments","Invocation → Value ? Arguments","Invocation → Value MAYBE_DAMMIT Arguments","Invocation → Value MAYBE_DAMMIT","Invocation → DYNAMIC_IMPORT Arguments","Invocation → DYNAMIC_IMPORT DAMMIT Arguments","Arguments → CALL_START CALL_END","Arguments → CALL_START ArgList OptComma CALL_END","ArgList → Arg","ArgList → ArgList , Arg","ArgList → ArgList OptComma TERMINATOR Arg","ArgList → INDENT ArgList OptComma OUTDENT","ArgList → ArgList OptComma INDENT ArgList OptComma OUTDENT","Arg → Expression","Arg → Splat","OptComma → ε","OptComma → ,","Block → INDENT OUTDENT","Block → INDENT Body OUTDENT","Parenthetical → ( Body )","Parenthetical → ( INDENT Body OUTDENT )","Return → RETURN Expression","Return → RETURN INDENT Object OUTDENT","Return → RETURN","While → WHILE Expression Block","While → UNTIL Expression Block","While → WHILE Expression WHEN Expression Block","While → UNTIL Expression WHEN Expression Block","While → Expression WHILE Expression","While → Statement WHILE Expression","While → Expression UNTIL Expression","While → Statement UNTIL Expression","While → Expression WHILE Expression WHEN Expression","While → Statement WHILE Expression WHEN Expression","While → Expression UNTIL Expression WHEN Expression","While → Statement UNTIL Expression WHEN Expression","While → Loop","IfBlock → IF Expression Block","IfBlock → IF Expression Block IfElseTail","IfElseTail → ELSE IF Expression Block","IfElseTail → ELSE IF Expression Block IfElseTail","IfElseTail → ELSE Block","UnlessBlock → UNLESS Expression Block","UnlessBlock → UNLESS Expression Block ELSE Block","If → IfBlock","If → UnlessBlock","If → Statement POST_IF Expression","If → Expression POST_IF Expression","If → Statement POST_UNLESS Expression","If → Expression POST_UNLESS Expression","If → Expression POST_IF Expression ELSE INDENT Expression OUTDENT","If → Expression POST_IF Expression ELSE Expression","Try → TRY Block","Try → TRY Expression","Try → TRY Expression Catch","Try → TRY Statement","Try → TRY Statement Catch","Try → TRY Block Catch","Try → TRY Block Finalizer","Try → TRY Block Catch Finalizer","Try → TRY Expression Finalizer","Try → TRY Expression Catch Finalizer","Try → TRY Statement Finalizer","Try → TRY Statement Catch Finalizer","Finalizer → FINALLY Block","Finalizer → FINALLY Expression","Catch → CATCH CatchVar Block","Catch → CATCH Object Block","Catch → CATCH Array Block","Catch → CATCH Block","CatchVar → Identifier","CatchVar → Identifier TYPE","Throw → THROW Expression","Throw → THROW INDENT Object OUTDENT","Switch → SWITCH Expression INDENT Cases OUTDENT","Switch → SWITCH Expression INDENT Cases ELSE Block OUTDENT","Switch → SWITCH INDENT Cases OUTDENT","Switch → SWITCH INDENT Cases ELSE Block OUTDENT","Cases → When","Cases → Cases When","When → LEADING_WHEN SimpleArgs Block","When → LEADING_WHEN SimpleArgs Block TERMINATOR","SimpleArgs → Expression","SimpleArgs → SimpleArgs , Expression","For → FOR ForVariables FORIN Expression Block","For → FOR ForVariables FORIN Expression BY Expression Block","For → FOR ForVariables FORIN Expression WHEN Expression Block","For → FOR ForVariables FORIN Expression WHEN Expression BY Expression Block","For → FOR ForVariables FORIN Expression BY Expression WHEN Expression Block","For → FOR ForVariables FOROF Expression Block","For → FOR ForVariables FOROF Expression WHEN Expression Block","For → FOR OWN ForVariables FOROF Expression Block","For → FOR OWN ForVariables FOROF Expression WHEN Expression Block","For → FOR ForVariables FORAS Expression Block","For → FOR ForVariables FORAS Expression WHEN Expression Block","For → FOR AWAIT ForVariables FORAS Expression Block","For → FOR AWAIT ForVariables FORAS Expression WHEN Expression Block","For → FOR ForVariables FORASAWAIT Expression Block","For → FOR ForVariables FORASAWAIT Expression WHEN Expression Block","For → FOR Range Block","For → FOR Range BY Expression Block","For → Expression FOR ForVariables FORIN Expression","For → Expression FOR ForVariables FORIN Expression WHEN Expression","For → Expression FOR ForVariables FORIN Expression BY Expression","For → Expression FOR ForVariables FORIN Expression WHEN Expression BY Expression","For → Expression FOR ForVariables FORIN Expression BY Expression WHEN Expression","For → Expression FOR ForVariables FOROF Expression","For → Expression FOR ForVariables FOROF Expression WHEN Expression","For → Expression FOR OWN ForVariables FOROF Expression","For → Expression FOR OWN ForVariables FOROF Expression WHEN Expression","For → Expression FOR ForVariables FORAS Expression","For → Expression FOR ForVariables FORAS Expression WHEN Expression","For → Expression FOR AWAIT ForVariables FORAS Expression","For → Expression FOR AWAIT ForVariables FORAS Expression WHEN Expression","For → Expression FOR ForVariables FORASAWAIT Expression","For → Expression FOR ForVariables FORASAWAIT Expression WHEN Expression","ForValue → ParamVar","ForVariables → ForValue","ForVariables → ForValue , ForValue","Loop → LOOP Block","Loop → LOOP Expression Block","Operation → -- SimpleAssignable","Operation → ++ SimpleAssignable","Operation → SimpleAssignable --","Operation → SimpleAssignable ++","Operation → Value ?","Operation → Expression CAST","Operation → Expression SATISFIES","Operation → Expression TERNARY Expression : Expression","Operation → UNARY Expression","Operation → DO Expression","Operation → UNARY_MATH Expression","Operation → AWAIT Expression","Operation → AWAIT INDENT Object OUTDENT","Operation → YIELD","Operation → YIELD Expression","Operation → YIELD INDENT Object OUTDENT","Operation → YIELD FROM Expression","Operation → - Expression","Operation → + Expression","Operation → Expression ** Expression","Operation → Expression + Expression","Operation → Expression - Expression","Operation → Expression MATH Expression","Operation → Expression SHIFT Expression","Operation → Expression & Expression","Operation → Expression ^ Expression","Operation → Expression | Expression","Operation → Expression COMPARE Expression","Operation → Expression MATCH Expression","Operation → Expression RELATION Expression","Operation → Expression && Expression","Operation → Expression || Expression","Operation → Expression ?? Expression","Operation → Expression && Return","Operation → Expression || Return","Operation → Expression ?? Return","Operation → Expression && STATEMENT","Operation → Expression || STATEMENT","Operation → Expression ?? STATEMENT","Operation → Expression THEN Expression","Operation → Expression ELSE Expression","Operation → Expression THEN Return","Operation → Expression ELSE Return","Operation → Expression THEN STATEMENT","Operation → Expression ELSE STATEMENT"],ruleActions:(e,t,r,s)=>{let i=t,n=t.length-1;switch(e){case 1:return["program"];case 2:return["program",...i[n]];case 3:case 35:case 89:case 140:case 257:case 261:case 268:case 303:case 342:case 375:case 400:case 470:case 474:case 509:return[i[n]];case 4:case 36:case 90:case 269:case 304:case 343:case 376:case 401:{let a=i[n-2];return a.push(i[n]),a}break;case 5:case 142:case 180:case 264:case 340:case 377:return i[n-1];case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 40:case 42:case 44:case 94:case 97:case 99:case 100:case 101:case 102:case 103:case 104:case 105:case 106:case 107:case 108:case 109:case 110:case 111:case 112:case 113:case 114:case 115:case 116:case 117:case 118:case 119:case 120:case 121:case 122:case 123:case 124:case 125:case 126:case 128:case 130:case 131:case 134:case 135:case 136:case 138:case 145:case 146:case 148:case 149:case 175:case 176:case 177:case 178:case 179:case 181:case 182:case 183:case 205:case 206:case 228:case 229:case 230:case 231:case 232:case 237:case 238:case 242:case 243:case 252:case 273:case 283:case 284:case 285:case 286:case 287:case 311:case 312:case 313:case 314:case 315:case 316:case 317:case 346:case 350:case 354:case 355:case 356:case 357:case 359:case 378:case 379:case 383:case 405:case 406:case 407:case 408:case 428:case 433:case 436:case 437:case 456:case 462:case 508:return i[n];case 14:return["type-decl",i[n]];case 15:case 351:case 463:return["typed-var",i[n-1],i[n]];case 16:case 352:return["typed-var",i[n-2],i[n]];case 17:return["def-sig",i[n-2],i[n-1],i[n]];case 18:return["import",i[n]];case 19:case 20:case 31:case 32:return["import",i[n-2],i[n]];case 21:case 33:return["import","{}",i[n]];case 22:case 34:return["import",i[n-4],i[n]];case 23:return["import",i[n-4],i[n-2],i[n]];case 24:return["import",i[n-7],i[n-4],i[n]];case 25:return["import",[i[n-1],i[n]],i[n-2]];case 26:case 27:return["import",i[n-4],[i[n-1],i[n]],i[n-2]];case 28:return["import",i[n-6],[i[n-1],i[n]],i[n-2]];case 29:return["import",i[n-6],i[n-4],[i[n-1],i[n]],i[n-2]];case 30:return["import",i[n-9],i[n-6],[i[n-1],i[n]],i[n-2]];case 37:case 91:case 270:case 305:case 344:case 402:{let a=i[n-3];return a.push(i[n]),a}break;case 38:case 92:case 143:case 399:case 403:return i[n-2];case 39:case 93:case 271:case 306:case 345:case 404:{let a=i[n-5];return a.push(...i[n-2]),a}break;case 41:case 43:case 95:case 96:case 98:case 510:return[i[n-2],i[n]];case 45:return["*",i[n]];case 46:return["export","{}"];case 47:return["export",i[n-2]];case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:return["export",i[n]];case 56:return["export-default",i[n]];case 57:return["export-default",i[n-1]];case 58:return["export-all",i[n]];case 59:case 60:return["export-all",i[n],i[n-2]];case 61:return["export-from","{}",i[n]];case 62:case 63:return["export-from",i[n-4],i[n]];case 64:case 150:case 162:case 277:return["=",i[n-2],i[n]];case 65:case 67:case 70:case 151:case 153:case 156:case 163:case 164:return["=",i[n-3],i[n]];case 66:case 152:case 278:return["=",i[n-4],i[n-1]];case 68:case 154:case 157:case 159:return["=",i[n-4],i[n]];case 69:case 155:case 158:return["=",i[n-5],i[n-1]];case 71:case 169:return["void-assign",i[n-3],i[n]];case 72:case 170:return["void-assign",i[n-4],i[n]];case 73:case 171:return["void-assign",i[n-5],i[n-1]];case 74:case 172:return["void-readonly",i[n-3],i[n]];case 75:case 173:return["void-readonly",i[n-4],i[n]];case 76:case 174:return["void-readonly",i[n-5],i[n-1]];case 77:case 185:case 186:return["state",i[n-3],i[n]];case 78:case 187:return["state",i[n-4],i[n]];case 79:return["state",i[n-5],i[n-1]];case 80:case 82:case 189:case 190:return["computed",i[n-3],i[n]];case 81:case 191:return["computed",i[n-4],i[n]];case 83:case 199:case 200:return["readonly",i[n-3],i[n]];case 84:case 201:return["readonly",i[n-4],i[n]];case 85:return["readonly",i[n-5],i[n-1]];case 86:case 88:case 203:return["effect",i[n-3],i[n]];case 87:return["effect",i[n-4],i[n]];case 127:case 296:return["dammit!",i[n-1]];case 129:case 236:return["tagged-template",i[n-2],i[n]];case 132:return"undefined";case 133:return"null";case 137:return["symbol",i[n]];case 139:return["str",...i[n-1]];case 141:case 262:case 471:{let a=i[n-1];return a.push(i[n]),a}break;case 144:return"";case 147:return["here-regex",i[n],...i[n-1]];case 160:return["=",i[n-5],i[n]];case 161:return["=",i[n-6],i[n-1]];case 165:case 323:case 535:case 536:case 540:case 542:return[i[n-1],i[n-2],i[n]];case 166:return[i[n-3],i[n-4],i[n-1]];case 167:return[i[n-2],i[n-3],i[n]];case 168:return[".=",i[n-2],i[n]];case 184:return["state",i[n-2],i[n]];case 188:return["computed",i[n-2],i[n]];case 192:return["gate",i[n-2],i[n]];case 193:return["gate",i[n-3],i[n]];case 194:return["gate",i[n-4],i[n-2]];case 195:return["gate",i[n-5],i[n-2]];case 196:return["gate",i[n-6],i[n-4],...i[n-2]];case 197:return["gate",i[n-7],i[n-4],...i[n-2]];case 198:return["readonly",i[n-2],i[n]];case 202:return["effect",i[n-2],i[n]];case 204:return["effect",null,i[n]];case 207:case 220:case 221:case 233:case 292:case 384:return[".",i[n-2],i[n]];case 208:case 234:case 293:return["?.",i[n-2],i[n]];case 209:case 212:case 235:case 294:return["[]",i[n-3],i[n-1]];case 210:case 213:case 295:return["[]",i[n-5],i[n-2]];case 211:return["regex-index",i[n-5],i[n-3],i[n-1]];case 214:return["optindex",i[n-4],i[n-1]];case 215:return["optindex",i[n-6],i[n-2]];case 216:case 299:return[".{}",i[n-4],...i[n-2]];case 217:case 300:return["?.{}",i[n-4],...i[n-2]];case 218:case 301:return[".{}",i[n-6],...i[n-3]];case 219:case 302:return["?.{}",i[n-6],...i[n-3]];case 222:case 223:case 224:case 458:case 459:case 460:case 521:case 523:return[i[n-1],i[n]];case 225:return["await",["new",i[n-1]]];case 226:return["await",["new",[i[n-2],...i[n]]]];case 227:case 289:case 290:case 291:case 390:case 396:return[i[n-1],...i[n]];case 239:return[i[n-1],i[n-3],i[n]];case 240:return[i[n-1],i[n-4],i[n]];case 241:return[i[n-1],[],i[n]];case 244:case 522:return["do-iife",i[n]];case 245:case 246:return"this";case 247:case 248:return[".","this",i[n]];case 249:return["array"];case 250:return["array",...i[n-1]];case 251:return["array",...i[n-2],...i[n-1]];case 253:{let a=i[n-2];return a.push(...i[n]),a}break;case 254:{let a=i[n-3];return a.push(...i[n]),a}break;case 255:return[...i[n-2],...i[n-1]];case 256:{let a=i[n-5];return a.push(...i[n-4],...i[n-2],...i[n-1]),a}break;case 258:return[...i[n-1],i[n]];case 259:case 267:case 339:case 341:case 398:return[];case 260:return[...i[n]];case 263:return null;case 265:return["object",...i[n-2]];case 266:return["map",...i[n-2]];case 272:return[null,i[n],i[n]];case 274:case 276:return[":",i[n-2],i[n]];case 275:return[":",i[n-4],i[n-1]];case 279:return["void-pair",i[n-3],i[n]];case 280:return["void-pair",i[n-5],i[n-1]];case 281:case 282:case 358:return["...",i[n]];case 288:case 391:return["super",...i[n]];case 297:case 394:return["dammit?",i[n-2],...i[n]];case 298:case 395:return["dammit?",i[n-1]];case 307:return[i[n],i[n],null];case 308:return[i[n-2],i[n],null];case 309:return[i[n-2],i[n-2],i[n]];case 310:return[i[n-4],i[n-2],i[n]];case 318:return["dynamicKey",i[n-1]];case 319:return["[]","this",i[n-1]];case 320:return"..";case 321:return"...";case 322:return[i[n-2],i[n-3],i[n-1]];case 324:return[i[n],i[n-1],null];case 325:return[i[n-1],null,i[n]];case 326:return[i[n],null,null];case 327:case 333:return["def",i[n-2],i[n-1],i[n]];case 328:case 334:return["def",i[n-3],i[n-2],i[n]];case 329:case 335:return["def",i[n-3],i[n-1],i[n]];case 330:case 336:return["def",i[n-4],i[n-2],i[n]];case 331:case 337:return["void-def",i[n-3],i[n-1],i[n]];case 332:case 338:return["void-def",i[n-4],i[n-2],i[n]];case 347:return["default",i[n-2],i[n]];case 348:return["rest",i[n]];case 349:return["expansion"];case 353:return["typed-var",i[n-1],""];case 360:return["class",null,null];case 361:return["class",null,null,i[n]];case 362:return["class",null,i[n]];case 363:return["class",null,i[n-1],i[n]];case 364:return["class",i[n],null];case 365:case 368:return["class",i[n-1],null,i[n]];case 366:return["class",i[n-2],i[n]];case 367:case 369:return["class",i[n-3],i[n-1],i[n]];case 370:return["enum",i[n-1],i[n]];case 371:return["schema",i[n]];case 372:return["component",null,i[n]];case 373:return["component",i[n-1],i[n]];case 374:case 410:return["block",...i[n-1]];case 380:return["offer",i[n]];case 381:return["accept",i[n]];case 382:return["accept",i[n-2],i[n]];case 385:case 386:return["render",i[n]];case 387:return[".","super",i[n]];case 388:return["[]","super",i[n-1]];case 389:return["[]","super",i[n-2]];case 392:case 393:return["optcall",i[n-2],...i[n]];case 397:return["await",["import",...i[n]]];case 409:return["block"];case 411:return i[n-1].length===1?(Array.isArray(i[n-1][0])&&(i[n-1][0].parenthesized=!0),i[n-1][0]):["block",...i[n-1]];case 412:return i[n-2].length===1?(Array.isArray(i[n-2][0])&&(i[n-2][0].parenthesized=!0),i[n-2][0]):["block",...i[n-2]];case 413:return["return",i[n]];case 414:return["return",i[n-1]];case 415:return["return"];case 416:return["while",i[n-1],i[n]];case 417:return["while",["!",i[n-1]],i[n]];case 418:return["while",i[n-3],i[n-1],i[n]];case 419:return["while",["!",i[n-3]],i[n-1],i[n]];case 420:case 421:return["while",i[n],[i[n-2]]];case 422:case 423:return["while",["!",i[n]],[i[n-2]]];case 424:case 425:return["while",i[n-2],i[n],[i[n-4]]];case 426:case 427:return["while",["!",i[n-2]],i[n],[i[n-4]]];case 429:case 431:return["if",i[n-1],i[n]];case 430:case 432:return["if",i[n-2],i[n-1],i[n]];case 434:return["if",["!",i[n-1]],i[n]];case 435:return["if",["!",i[n-3]],i[n-2],i[n]];case 438:case 439:return["if",i[n],[i[n-2]]];case 440:case 441:return["if",["!",i[n]],[i[n-2]]];case 442:return["?:",i[n-4],i[n-6],i[n-1]];case 443:return["?:",i[n-2],i[n-4],i[n]];case 444:case 445:case 447:return["try",i[n]];case 446:case 448:case 449:case 450:case 452:case 454:return["try",i[n-1],i[n]];case 451:case 453:case 455:return["try",i[n-2],i[n-1],i[n]];case 457:return["block",i[n]];case 461:return[null,i[n]];case 464:return["throw",i[n]];case 465:return["throw",i[n-1]];case 466:return["switch",i[n-3],i[n-1],null];case 467:return["switch",i[n-5],i[n-3],i[n-1]];case 468:return["switch",null,i[n-1],null];case 469:return["switch",null,i[n-3],i[n-1]];case 472:return["when",i[n-1],i[n]];case 473:return["when",i[n-2],i[n-1]];case 475:return[...i[n-2],i[n]];case 476:return["for-in",i[n-3],i[n-1],null,null,i[n]];case 477:return["for-in",i[n-5],i[n-3],i[n-1],null,i[n]];case 478:return["for-in",i[n-5],i[n-3],null,i[n-1],i[n]];case 479:return["for-in",i[n-7],i[n-5],i[n-1],i[n-3],i[n]];case 480:return["for-in",i[n-7],i[n-5],i[n-3],i[n-1],i[n]];case 481:return["for-of",i[n-3],i[n-1],!1,null,i[n]];case 482:return["for-of",i[n-5],i[n-3],!1,i[n-1],i[n]];case 483:return["for-of",i[n-3],i[n-1],!0,null,i[n]];case 484:return["for-of",i[n-5],i[n-3],!0,i[n-1],i[n]];case 485:return["for-as",i[n-3],i[n-1],!1,null,i[n]];case 486:return["for-as",i[n-5],i[n-3],!1,i[n-1],i[n]];case 487:case 489:return["for-as",i[n-3],i[n-1],!0,null,i[n]];case 488:case 490:return["for-as",i[n-5],i[n-3],!0,i[n-1],i[n]];case 491:return["for-in",[],i[n-1],null,null,i[n]];case 492:return["for-in",[],i[n-3],i[n-1],null,i[n]];case 493:return["comprehension",i[n-4],[["for-in",i[n-2],i[n],null]],[]];case 494:return["comprehension",i[n-6],[["for-in",i[n-4],i[n-2],null]],[i[n]]];case 495:return["comprehension",i[n-6],[["for-in",i[n-4],i[n-2],i[n]]],[]];case 496:return["comprehension",i[n-8],[["for-in",i[n-6],i[n-4],i[n]]],[i[n-2]]];case 497:return["comprehension",i[n-8],[["for-in",i[n-6],i[n-4],i[n-2]]],[i[n]]];case 498:return["comprehension",i[n-4],[["for-of",i[n-2],i[n],!1]],[]];case 499:return["comprehension",i[n-6],[["for-of",i[n-4],i[n-2],!1]],[i[n]]];case 500:return["comprehension",i[n-5],[["for-of",i[n-2],i[n],!0]],[]];case 501:return["comprehension",i[n-7],[["for-of",i[n-4],i[n-2],!0]],[i[n]]];case 502:return["comprehension",i[n-4],[["for-as",i[n-2],i[n],!1,null]],[]];case 503:return["comprehension",i[n-6],[["for-as",i[n-4],i[n-2],!1,null]],[i[n]]];case 504:return["comprehension",i[n-5],[["for-as",i[n-2],i[n],!0,null]],[]];case 505:return["comprehension",i[n-7],[["for-as",i[n-4],i[n-2],!0,null]],[i[n]]];case 506:return["comprehension",i[n-4],[["for-as",i[n-2],i[n],!0,null]],[]];case 507:return["comprehension",i[n-6],[["for-as",i[n-4],i[n-2],!0,null]],[i[n]]];case 511:return["loop",i[n]];case 512:return["loop-n",i[n-1],i[n]];case 513:return["--",i[n],!1];case 514:return["++",i[n],!1];case 515:return["--",i[n-1],!0];case 516:return["++",i[n-1],!0];case 517:return["?",i[n-1]];case 518:return["cast",i[n-1],i[n]];case 519:return["satisfies",i[n-1],i[n]];case 520:return["?:",i[n-4],i[n-2],i[n]];case 524:return["await",i[n]];case 525:return["await",i[n-1]];case 526:return["yield"];case 527:return["yield",i[n]];case 528:return["yield",i[n-1]];case 529:return["yield-from",i[n]];case 530:return["-",i[n]];case 531:return["+",i[n]];case 532:return["**",i[n-2],i[n]];case 533:return["+",i[n-2],i[n]];case 534:return["-",i[n-2],i[n]];case 537:return["&",i[n-2],i[n]];case 538:return["^",i[n-2],i[n]];case 539:return["|",i[n-2],i[n]];case 541:return["=~",i[n-2],i[n]];case 543:case 546:case 549:case 552:case 554:case 556:return["&&",i[n-2],i[n]];case 544:case 547:case 550:case 553:case 555:case 557:return["||",i[n-2],i[n]];case 545:case 548:case 551:return["??",i[n-2],i[n]]}},parse(e,{primitives:t=!1,tolerant:r=!1}={}){let s,i,n,a,o,l,c,f,h,u,d,p,m,g,b,S,w,R,T,F,L,P,N,D,O,W,[H,G,k,v]=[[0],[null],[null],[[]]],j=this.parseTable,X=1,x=[],Z=[],U=24,r1=e.length;if(r)while(r1>0&&(e[r1-1]===` -`||e[r1-1]==="\r"))r1--;let Q=new Set,l1=!1,I=[],s1=[],e1=[],K=new WeakMap,a1=1,A=Object.create(this.lexer),V={ctx:{}},B=this.ctx;for(let M in B){if(!Object.hasOwn(B,M))continue;let n1=B[M];V.ctx[M]=n1}if(A.setInput(e,V.ctx),r&&Array.isArray(A.lexDiagnostics))x.push(...A.lexDiagnostics);[V.ctx.lexer,V.ctx.parser]=[A,this];let i1=()=>{let M=A.lex()||X;if(typeof M!=="number")M=this.symbolIds[M]||M;return M},f1=null,h1=null,u1={},p1=()=>{f=[];let M=j[W];for(let n1 in M){if(!Object.hasOwn(M,n1))continue;if(this.tokenNames[n1]&&+n1>2){if(!f.includes(this.tokenNames[n1]))f.push(this.tokenNames[n1])}}return f},c1=[this.symbolIds.INDENT,this.symbolIds.OUTDENT,this.symbolIds.TERMINATOR],d1=()=>{if(f1===X)return"end of input";let M=this.tokenNames[f1]||f1,n1=A.text,_=typeof n1==="string"&&n1.trim().length>0&&n1.length<=24&&!c1.includes(f1)&&!/^["'`]/.test(n1);if(_&&A.token?.generated)return`implicit '${n1}'`;return _?`'${n1}'`:`'${M}'`};while(!0){if(W=H[H.length-1],f1==null)if(Z.length>0)R=Z.shift(),f1=R.symbol,h1=R.loc,A.text=R.text,A.loc=R.loc,A.token=R.token;else f1=i1(),h1=f1===X?{start:e.length,end:e.length}:A.loc??null;if(s=j[W]?.[f1],s==null&&r&&U>0){a=f1===X?r1:h1?.start??r1,F=(M=null)=>{if(l1)return;if(l1=!0,u=d1(),f=M!=null?[this.tokenNames[M]||M]:p1(),b=`Unexpected ${u}`,f.length)b+=` — expected ${f.join(", ")}`;return x.push({message:b,start:a,end:h1?.end??a,expected:f,got:u})},i=f1===X||A.token?.generated,d=function(M){return`${H.length}:${W}:${M}`},p=null;for(let M of this.repairTable[W]??[]){if(Q.has(d(M)))continue;if(i||M===this.symbolIds.TERMINATOR){p=M;break}}if(p!=null)F(p),U--,Q.add(d(p)),Z.unshift({symbol:f1,loc:h1,text:A.text,token:A.token}),f1=p,h1={start:a,end:a},A.text="",A.loc=h1,A.token={generated:!0,hole:!0},s=j[W]?.[f1];else if(f1!==X){if(F(),U--,!A.token?.hole)Q.clear();f1=null;continue}}if(s==null){if(f=p1(),u=d1(),O=h1?.start??0,c=h1?.end??O,b=`Unexpected ${u}`,f.length)b+=` — expected ${f.join(", ")}`;return x.push({message:b,start:O,end:c,expected:f,got:u}),{sexpr:null,stores:null,diagnostics:x,trivia:A.trivia??null,tokens:A.tokens??null}}if(s>0){if(r&&!A.token?.hole)Q.clear();if(H.push(f1,s),G.push(A.text),k.push(A.loc??null),t)v.push(Array.isArray(A.text?.primitiveSpans)?A.text.primitiveSpans:A.loc!=null?[{value:A.text,sourceStart:A.loc.start,sourceEnd:A.loc.end}]:[]);f1=null}else if(s<0){if(this.ctx?.onReduce)this.ctx.onReduce(-s);if(g=this.ruleTable[-s*2+1],D=(()=>{if(g)return h=k[k.length-g],m=k[k.length-1],{start:h?.start??0,end:m?.end??(h?.end??0)};else return n=h1?.start??(k[k.length-1]?.end??0),{start:n,end:n}})(),u1.$=G[G.length-(g||1)],u1._$=D,T=this.ruleActions.call(u1,-s,G,k,V.ctx),T!=null)u1.$=T;if(o=G.length-g,l=[],t)for(let M of this.primitiveRefs[-s])l.push(...v[o+M-1]??[]);if(S=u1.$,Array.isArray(S)&&K.has(S)&&this.accumulators[-s])P=I[K.get(S)-1],P.sourceStart=D.start,P.sourceEnd=D.end;if(Array.isArray(S)&&!K.has(S))N=this.semantics[-s],o=G.length-g,L=(M,n1,_,z,q)=>{let t1,C,Y,o1,E1,y1,S1=[],_1=1/0,v1=-1/0;for(let g1 of z){t1=M;for(let m1 of g1.path)t1=t1[m1];if(!(Array.isArray(t1)&&!K.has(t1)))throw Error(`parse: nested annotation '${g1.role}' of rule ${-s} does not address a fresh array`);C=L(t1,g1.kind,g1.roles,g1.nested,null),S1.push(C),_1=Math.min(_1,I[C-1].sourceStart),v1=Math.max(v1,I[C-1].sourceEnd)}for(let g1 of _)if(g1.grammarRef!=null){if(E1=k[o+g1.grammarRef-1],E1==null)throw Error(`parse: missing loc for grammarRef ${g1.grammarRef} of rule ${-s} — lexer protocol violation`);_1=Math.min(_1,E1.start),v1=Math.max(v1,E1.end)}let R1=q??(_1===1/0?D:{start:_1,end:v1}),w1=a1++;K.set(M,w1),I.push({nodeId:w1,fileId:0,semanticKind:n1,ruleId:-s,sourceStart:R1.start,sourceEnd:R1.end});for(let g1 of _)if(g1.grammarRef!=null){if(o1=o+g1.grammarRef-1,E1=k[o1],y1={nodeId:w1,role:g1.name,grammarRef:g1.grammarRef,childSlot:g1.childSlot,sourceStart:E1.start,sourceEnd:E1.end,childNodeId:null,fileId:0},g1.spread)y1.spread=!0;else y1.childNodeId=K.get(G[o1])??null;s1.push(y1)}else s1.push({nodeId:w1,role:g1.name,grammarRef:null,childSlot:g1.childSlot,literal:g1.literal,fileId:0});for(let g1=0;g1{let t=Object.create(h3);return Object.defineProperty(t,"ctx",{value:{...e},enumerable:!1,writable:!0,configurable:!0}),t},vs=Os();var nr=Os,L4=vs.parse.bind(vs);var Is=()=>{throw Error("rip: filesystem access is unavailable in the browser")};class ar{constructor({nodes:e,roles:t,primitives:r=[],nodeIds:s=null}){this.nodes=e,this.roles=t,this.primitives=r,this.nodeIds=s,this.byId=new Map(e.map((i)=>[i.nodeId,i])),this.rolesByNode=new Map,this.primitivesByValue=new Map;for(let i of t){let n=this.rolesByNode.get(i.nodeId);if(!n)n={list:[],byName:new Map},this.rolesByNode.set(i.nodeId,n);n.list.push(i),n.byName.set(i.role,i)}for(let i of r){let n=this.primitivesByValue.get(i.value);if(!n)this.primitivesByValue.set(i.value,n=[]);n.push(i)}for(let i of this.primitivesByValue.values())i.sort((n,a)=>n.sourceStart-a.sourceStart)}idOf(e){return this.nodeIds?.get(e)??null}alias(e,t){let r=this.nodeIds?.get(t);if(r!=null)this.nodeIds.set(e,r);return e}node(e){return this.byId.get(e)??null}nodesByKind(e){return this.nodes.filter((t)=>t.semanticKind===e)}rolesOf(e){return this.rolesByNode.get(e)?.list??[]}role(e,t){return this.rolesByNode.get(e)?.byName.get(t)??null}primitiveSpans(e,t,r){return(this.primitivesByValue.get(e)??[]).filter((s)=>t<=s.sourceStart&&s.sourceEnd<=r)}selfSpan(e){let t=this.byId.get(e);return t?[t.sourceStart,t.sourceEnd]:null}}var sr=(e)=>{if(e.length===0)return null;let t=e[e.length>>1].start,r=[],s=[],i=[];for(let n of e){if(J.on)J.n++;if(n.end<=t)s.push(n);else if(n.start>t)i.push(n);else r.push(n)}return{center:t,byStart:r,byEnd:[...r].sort((n,a)=>a.end-n.end),left:sr(s),right:sr(i)}},u3=(e,t,r)=>{let s=e;while(s!==null){if(J.on)J.n++;if(tt)break;r.push(i)}s=s.left}else if(t>s.center){for(let i of s.byEnd){if(J.on)J.n++;if(i.end<=t)break;r.push(i)}s=s.right}else{for(let i of s.byStart){if(J.on)J.n++;r.push(i)}break}}return r},wi=new Set(["tsDirective","shorthandProp","identifier","literal"]);class Se{constructor(e){this.rows=e,this._genTree=null,this._srcTree=null,this._genCount=-1,this._srcCount=-1}_tree(e){let t=e==="generated";if((t?this._genCount:this._srcCount)!==this.rows.length){let r=[];if(this.rows.forEach((s,i)=>{if(J.on)J.n++;let n=t?s.generatedStart:s.sourceStart,a=t?s.generatedEnd:s.sourceEnd;if(n!=null&&ns.start-i.start||s.i-i.i),t)this._genTree=sr(r),this._genCount=this.rows.length;else this._srcTree=sr(r),this._srcCount=this.rows.length}return t?this._genTree:this._srcTree}_stab(e,t){let r=u3(this._tree(e),t,[]);return r.sort((s,i)=>s.width-i.width||s.i-i.i),r.map((s)=>this.rows[s.i])}of(e,t){return this.rows.filter((r)=>r.nodeId===e&&r.role===t).sort((r,s)=>r.generatedStart-s.generatedStart)}atGenerated(e){return this._stab("generated",e)}atSource(e){return this._stab("source",e)}static isDirect(e){return e.mappingKind==="exact"||e.mappingKind==="synthetic"}directAtGenerated(e){return this.atGenerated(e).find(Se.isDirect)??null}directAtSource(e){let t=this.atSource(e).filter(Se.isDirect);if(t.length===0)return null;let r=(i)=>i.sourceEnd-i.sourceStart;return t.filter((i)=>r(i)===r(t[0])).find((i)=>!wi.has(i.role))??t[0]}zeroWidthExactAtSource(e){if(this._zeroSrcCount!==this.rows.length){this._zeroSrc=new Map;for(let t of this.rows){if(t.mappingKind!=="exact"||t.sourceStart!==t.sourceEnd)continue;let r=this._zeroSrc.get(t.sourceStart);if(r===void 0||t.generatedStartn.mappingKind==="exact"||n.mappingKind==="cover"&&n.role==="$self"&&n.generatedStart!==n.generatedEnd,t=(n)=>n.mappingKind==="exact"?0:1,r=(n)=>n.generatedEnd-n.generatedStart,s=(n)=>n.sourceEnd-n.sourceStart,i=new Map;for(let n of this.rows){if(!e(n))continue;let a=i.get(n.generatedStart);if(!a||t(n)n.generatedStart-a.generatedStart)}}class Re{constructor(e,{source:t=null,primitives:r=!1}={}){this.stores=e,this.source=t,this.trackPrimitives=r,this.suppressClaims=!1,this.claimWithin=null,this.chunks=[],this.length=0,this.openMarks=0,this.rows=[],this.exactSourceSpans=new Set,this.markStack=[],this.exactRanges=new Map,this.tsRegions=[],this.tsDepth=0,this.echoSpans=[]}tsOnly(e){let t=this.length;if(this.tsDepth++,e(),this.tsDepth--,this.tsDepth===0&&this.length>t)this.tsRegions.push([t,this.length])}echo(e){let t=this.length;if(e(),this.length>t)this.echoSpans.push([t,this.length])}get currentMark(){return this.markStack[this.markStack.length-1]??null}get offset(){return this.length}get code(){if(this.openMarks>0)return this.chunks.join("");if(this.chunks.length!==1)this.chunks=[this.chunks.join("")],this.exactRanges.clear();return this.chunks[0]}emit(e){return this.chunks.push(e),this.length+=e.length,this}beginMark(e,t){let r,s,i=null;if(t==="$self"){let n=this.stores.node(e);r=n.sourceStart,s=n.sourceEnd}else{let n=this.stores.role(e,t);if("literal"in n)i="synthetic",r=s=this.stores.node(e).sourceStart;else r=n.sourceStart,s=n.sourceEnd}this.openMarks++,this.markStack.push({nodeId:e,role:t,sourceStart:r,sourceEnd:s,mappingKind:i,generatedStart:this.length,chunkStart:this.chunks.length})}endMark(){let e=this.markStack.pop();this.openMarks--;let{mappingKind:t}=e;if(t===null){if(t=this.matchesSource(e)?"exact":"cover",t==="cover"&&Re.NORMALIZED_ROLES.has(e.role))this.layoutTwinSegments(e)}if(this.rows.push({nodeId:e.nodeId,role:e.role,mappingKind:t,sourceStart:e.sourceStart,sourceEnd:e.sourceEnd,generatedStart:e.generatedStart,generatedEnd:this.length,fileId:0}),this.trackPrimitives&&t==="exact")this.exactSourceSpans.add(`${e.sourceStart}:${e.sourceEnd}`)}static NORMALIZED_ROLES=new Set(["annotation","returnType"]);layoutTwinSegments(e){if(this.source===null)return;let t=e.sourceEnd-e.sourceStart,r=this.length-e.generatedStart;if(t===0||r===0||t>256||r>256)return;let s=this.source.slice(e.sourceStart,e.sourceEnd),i=this.chunks.slice(e.chunkStart).join("");if(s.replace(/\s+/g," ")!==i.replace(/\s+/g," "))return;let n=0,a=0;while(n0)a=a.filter((p)=>!t.some(([m,g])=>p.sourceStart>=m&&p.sourceEnd<=g));if(a.length===0)return null;let o=r.primitiveClaims??(r.primitiveClaims=new Map),l=o.get(e);if(l===void 0)o.set(e,l=new Set);let c=a.filter((p)=>!l.has(p.sourceStart)),f=c.filter((p)=>!this.exactSourceSpans.has(`${p.sourceStart}:${p.sourceEnd}`)),h=f.length>0?f:c,u=h.filter((p)=>p.nodeId===r.nodeId),d=(u.length>0?u:h)[0];if(d===void 0){let p=[...l].pop();if(d=p===void 0?void 0:a.find((m)=>m.sourceStart===p),d===void 0){let m=a.filter((g)=>this.exactSourceSpans.has(`${g.sourceStart}:${g.sourceEnd}`));d=m[m.length-1]}if(d===void 0)return null}if(l.add(d.sourceStart),this.source!==null){let p=this.source.slice(d.sourceStart,d.sourceEnd);if(p!==e&&p.endsWith(e)&&!/[\w$]/.test(p[p.length-e.length-1]??""))return[d.sourceEnd-e.length,d.sourceEnd]}return[d.sourceStart,d.sourceEnd]}matchesSource(e){if(this.source===null)return!1;if(e.sourceStart<0||e.sourceEnd>this.source.length)throw Error(`builder: mark (nodeId ${e.nodeId}, role '${e.role}') has source span [${e.sourceStart}, ${e.sourceEnd}) outside the source text [0, ${this.source.length}) — store-protocol violation`);let t=this.length;if(t-e.generatedStart!==e.sourceEnd-e.sourceStart)return!1;let r=e.sourceStart-e.generatedStart,s=this.exactRanges.get(r),i=s!==void 0&&s.genEnd<=t,n=this.chunks.length,{generatedStart:a,chunkStart:o}=e;while(o=s.genStart&&a{throw Error("rip: schema type story is unavailable in the browser")},Ds=()=>!1;var d3={__proto__:null,maxlength:"maxLength",minlength:"minLength",readonly:"readOnly",tabindex:"tabIndex",colspan:"colSpan",rowspan:"rowSpan",contenteditable:"contentEditable",formaction:"formAction",formenctype:"formEnctype",formmethod:"formMethod",formnovalidate:"formNoValidate",formtarget:"formTarget",novalidate:"noValidate",crossorigin:"crossOrigin",usemap:"useMap",srclang:"srcLang",inputmode:"inputMode",cellpadding:"cellPadding",cellspacing:"cellSpacing",bgcolor:"bgColor",valign:"vAlign",nowrap:"noWrap",for:"htmlFor",datetime:"dateTime",ismap:"isMap",nomodule:"noModule",playsinline:"playsInline",dirname:"dirName",accesskey:"accessKey",enterkeyhint:"enterKeyHint",referrerpolicy:"referrerPolicy",fetchpriority:"fetchPriority",imagesrcset:"imageSrcset",imagesizes:"imageSizes",popovertargetaction:"popoverTargetAction",allowfullscreen:"allowFullscreen"},m3="type __RipClassValue = string | boolean | null | undefined | Record | __RipClassValue[];",p3="/** What a component projects through `slot`: the DOM its parent built for it — an element, a fragment, or a text node — or a value rendered as text. */\n"+"type __RipChildren = Node | string | number | boolean | null;",xs="(...args: (__RipClassValue | __RipClassValue[])[]) => string",g3=`type __RipAV = E extends Record ? V | string : F; -type __RipProp = E extends Record ? V : any;`,b3=["animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","columnCount","columns","flex","flexGrow","flexShrink","fontWeight","gridArea","gridColumn","gridColumnEnd","gridColumnStart","gridRow","gridRowEnd","gridRowStart","lineHeight","opacity","order","orphans","scale","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","webkitLineClamp"],Ps=b3.map((e)=>`'${e}'`).join(" | "),Cs=(e)=>`{ [K in Exclude]?: K extends ${e} ? string | number : string | 0 } & { [k: \`--\${string}\`]: string | number }`,y3=`type __RipUnitless = ${Ps}; -`+"/** An inline style as an object: CSS property names, camelCased, plus `--custom` properties. Values are written as given — no unit is appended — so a number is admitted only where CSS reads one bare: the unitless properties, and 0 anywhere. */\n"+`type __RipCSSProperties = ${Cs("__RipUnitless")};`,K4=`(${Cs(Ps)})`,Ni="__RipCSSProperties | string",Ls="(el: object, value: __RipCSSProperties | string | null | undefined) => void",or="__RipClassValue | __RipClassValue[]",Ms=" [k: `data-${string}`]: string | number | boolean;\n [k: `aria-${string}`]: string | number | boolean;",Ai=(e)=>/^[A-Za-z_$][\w$]*$/.test(e)?e:`'${e}'`,lr=(e,t)=>`__RipAttrVals_${t?"svg_":""}${e}`,vi=(e,t)=>`__RipEl_${t?"svg_":""}${e}`,xe=(e,t)=>`${t?"SVGElementTagNameMap":"HTMLElementTagNameMap"}['${e}']`,ot=(e,t)=>typeof e==="string"&&(t?Ve.has(e):Bt.has(e));function js(e,t){let r=d3[e]??e,s=e==="class"?or:e==="style"?Ni:`__RipAV<${t}, '${r}'>`;return[` ${Ai(e)}: ${s};`]}function S3(){let e=[];for(let t of De)e.push(...js(t,"HTMLElement"));return`interface __RipGlobalAttrVals { +`))m1++;let D1=m1{if(S1==null||S1.kind!=="."&&S1.kind!=="?.")return!1;if(l.length>0)return!1;if(T)return!1;if(z.length>y1.length)return!1;if(!j1.test(e[c]??""))return!1;let m1=c;while(m1=0&&e[w1+1]!=="."&&!ki.test(e[w1+1]??"")&&!T;if(E1&&!v1&&z.lengthe.startsWith(D1,c)&&!K1.test(e[c+D1.length]??""));if(i.length>0&&u>=0&&!m1&&G()?.kind!=="TERMINATOR"){let D1=e[u]==="\r"?2:1;O("TERMINATOR",e.slice(u,u+D1),u,u+D1,{generated:!0})}}if(T&&o.length<=j)T=!1;if(f=!1,p=!0,m!==null&&l.length<=m)m=null;if(l.length===0)w=!1,R=!1;continue}let _=e[c];if(_===" "||_==="\t"){d=!0,c++;continue}if(_==="\r"&&e[c+1]!==` +`)A("bare carriage return (not followed by a newline) is not supported",c);if(_===` +`||_==="\r"){u=c,f=!0,c+=_==="\r"?2:1;continue}if(_==="#"){if(T&&/[A-Za-z_]/.test(e[c+1]??"")){let z=/^#([A-Za-z_][\w-]*)/.exec(e.slice(c)),s1=G();if(s1&&(s1.kind==="IDENTIFIER"||s1.kind==="PROPERTY")&&!d&&!s1.generated){s1.value+=z[0],s1.end=c+z[0].length,c+=z[0].length;continue}if(s1&&(s1.kind==="TERMINATOR"||s1.kind==="INDENT"||s1.kind==="OUTDENT"||s1.kind==="RENDER")){O("IDENTIFIER",`div${z[0]}`,c,c+z[0].length),c+=z[0].length;continue}}let D=c;while(D{let E1=c;while(e[E1]===" "||e[E1]==="\t")E1++;let w1=e[E1]??"";if(w1==="{"||w1==="*")return!0;if(!j1.test(w1))return!1;let g1=E1+1;while(g1{let E1=c;while(e[E1]===" "||e[E1]==="\t")E1++;return e[E1]==="{"})())O("EXPORT_TYPE",z,D,c);else if(z==="type"&&l[l.length-1]?.specifiers===!0&&(()=>{let E1=c;while(e[E1]===" "||e[E1]==="\t")E1++;if(!j1.test(e[E1]??""))return!1;let w1=E1+1;while(w1"}[D]??D,R1=s1!==D,y1=1,S1=c+3;while(S10){let g1=e[S1];if(g1==="\\"){S1+=2;continue}if(R1&&g1===D)y1++;if(g1===s1)y1--;if(y1>0)S1++}if(y1!==0)C(`unclosed %w${D} — never closed by '${s1}'`,c,c+3);O("[","[",c,c+3);let _1=/(?:\\\s|\S)+/g;_1.lastIndex=c+3;let v1,E1=!0,w1=c+3;while((v1=_1.exec(e))!==null&&v1.index=S1)break;_1.lastIndex=g1}O("]","]",S1,S1+1),c=S1+1;continue}}let H=e.slice(c,c+4);if(_n[H]){O(_n[H],H,c,c+4),c+=4;continue}let q=e.slice(c,c+3);if(q==="==="||q==="!=="){O("COMPARE",q.slice(0,2),c,c+3),c+=3;continue}if(Nn[q]){O(Nn[q],q,c,c+3),c+=3;continue}let i1=e.slice(c,c+2);if(i1==="?="&&e[c+2]!=="="){O("COMPOUND_ASSIGN","??=",c,c+2),c+=2;continue}if(i1==="*{"){O("MAP_START","*",c,c+1),c+=1;continue}if(An[i1]){if(i1==="!="&&!d&&(G()?.kind==="IDENTIFIER"||G()?.kind==="PROPERTY"))A(`cannot use the '!' sigil in an assignment to '${G().value}' (write 'a != b' with a space for comparison)`,c);O(An[i1],i1,c,c+2),c+=2;continue}if(_==="<"||_===">"){O("COMPARE",_,c,c+1),c++;continue}if(_==="*"||_==="/"||_==="%"){if(_==="*"&&w&&(G()?.kind==="IMPORT"||G()?.kind==="IMPORT_TYPE"||G()?.kind===","))O("IMPORT_ALL",_,c,c+1);else if(_==="*"&&G()?.kind==="EXPORT")O("EXPORT_ALL",_,c,c+1);else if(_==="*"&&G()?.kind==="YIELD"&&!p)O("FROM",_,c,c+1);else O("MATH",_,c,c+1);c++;continue}if(_==="!"||_==="~"){if(_==="!"&&!d&&(G()?.kind==="IDENTIFIER"||G()?.kind==="PROPERTY"||G()?.kind==="DYNAMIC_IMPORT")){O("DAMMIT","!",c,c+1),c++;continue}O("UNARY_MATH",_,c,c+1),c++;continue}if(_==="&"||_==="|"||_==="^"){O(_,_,c,c+1),c++;continue}if(_==="?"){if(!d){if(e[c+1]==="("||e[c+1]==="["){O("?.","?",c,c+1),c++;continue}let D=G();if(e[c+1]==="!"&&D&&!D.generated&&at.has(D.kind)){if(D.kind!=="IDENTIFIER"&&D.kind!=="PROPERTY")A("maybe dammit '?!' follows a name, as dammit does (`f?!`, `obj.method?!`) — bind the value to a name first",c,c+2);O("MAYBE_DAMMIT","?!",c,c+2),c+=2;continue}if(D&&!D.generated&&at.has(D.kind)){let s1=i[i.length-2]??null,R1=s1===null||s1.kind==="@"||s1.kind==="TERMINATOR"||s1.kind==="INDENT"||s1.kind==="OUTDENT";if((D.kind==="PROPERTY"||D.kind==="IDENTIFIER")&&R1&&/^[^\S\n]*(:=|~=|=!|=(?![=>!])|:(?![:=]))/.test(e.slice(c+1))){O("OPT_MARKER","?",c,c+1),c++;continue}O("?","?",c,c+1),c++;continue}let z=i[i.length-2]??null;if(D&&(D.kind==="-"||D.kind==="+")&&!D.spaced&&(z?.kind==="]"||z?.kind==="INDEX_END")&&e[c+1]===":"){O("?","?",c,c+1),c++;continue}A("unspaced '?' needs a value before it (postfix existence) — write ' ? ' for a ternary",c)}h++,O("TERNARY","?",c,c+1),c++;continue}if(_==="@"){O("@","@",c,c+1),c++;continue}if(_==="("){let D=G();if(D&&!d&&D.kind==="?."){D.kind="ES6_OPTIONAL_CALL",l1("call",c),O("CALL_START","(",c,c+1),c++;continue}let z=D&&!d&&!D.generated&&ir.has(D.kind);l1(z?"call":"group",c),O(z?"CALL_START":"(","(",c,c+1),c++;continue}if(_===")"){let D=n1();if(D?.kind!=="call"&&D?.kind!=="group")A("unmatched ')'",c);O(D.kind==="call"?"CALL_END":")",")",c,c+1),c++;continue}if(_==="["){let D=G();if(D&&!d&&D.kind==="?."){D.kind="ES6_OPTIONAL_INDEX",l1("index",c),O("INDEX_START","[",c,c+1),c++;continue}let z=D&&!d&&!D.generated&&at.has(D.kind);l1(z?"index":"array",c),O(z?"INDEX_START":"[","[",c,c+1),c++;continue}if(_==="]"){let D=n1();if(D?.kind!=="index"&&D?.kind!=="array")A("unmatched ']'",c);O(D.kind==="index"?"INDEX_END":"]","]",c,c+1),c++;continue}if(_==="{"){let D=G();if(D!=null&&(D.kind==="."||D.kind==="?.")&&!d&&!D.newLine&&i.length>=2&&at.has(i[i.length-2].kind)&&i[i.length-2].kind!=="PICK_END")i.pop(),l1("object",c,{pick:!0,pickKeys:e[c+1]!==" "&&e[c+1]!=="\t"}),O(D.kind==="?."?"OPTPICK_START":"PICK_START","{",c,c+1);else{let s1=D!=null&&(D.kind==="IMPORT"||D.kind==="IMPORT_TYPE"||D.kind==="EXPORT"||D.kind==="EXPORT_TYPE"||w&&D.kind===",");l1("object",c,s1?{specifiers:!0}:{}),O("{","{",c,c+1)}c++;continue}if(_==="}"){let D=n1();if(D?.kind==="interp"){if(O("INTERPOLATION_END",")",c,c+1),c++,D.heregex)d1(D.ctx);else e1(D.ctx);continue}if(D?.kind!=="object")A("unmatched '}'",c);O(D.pick?"PICK_END":"}","}",c,c+1),c++;continue}if(_===":"&&e[c+1]===":"){if(!N()&&!V()&&j1.test(e[c+2]??"")){let D=i[i.length-1];if(D?.kind==="?"&&D.end===c)D.kind="?.",D.value="?.",D.end=c+2,O("PROPERTY","prototype",c,c+2),O(".",".",c,c+2);else O(".",".",c,c+2),O("PROPERTY","prototype",c,c+2),O(".",".",c,c+2);c+=2;continue}A("type annotations use a single ':' (e.g. `x: number`), not '::'",c,c+2)}if(_===":"&&j1.test(e[c+1]??"")&&!N()&&!V()){let D=i[i.length-1];if(!(D!==void 0&&(D.kind==="PROPERTY"||D.kind===")"||D.kind==="]"||D.kind==="}"||D.kind==="CALL_END"||D.kind==="INDEX_END"||D.kind==="PARAM_END"||D.kind==="PICK_END"||D.kind==="STRING"||D.kind==="STRING_END"||D.kind==="NUMBER"||D.kind==="REGEX"||D.kind==="HEREGEX_END"||D.kind==="BOOL"||D.kind==="NULL"||D.kind==="UNDEFINED"||D.kind==="DAMMIT"||D.kind==="?"||D.kind==="MAYBE_DAMMIT"||D.kind==="OPT_MARKER"||D.kind==="THIS"||D.kind==="@"||D.kind==="SYMBOL"||h>0&&D.kind==="IDENTIFIER"))){let s1=l3(e,c+1);O("SYMBOL",e.slice(c+1,s1),c,s1),c=s1;continue}}if(_==="="||_==="+"||_==="-"||_==="."||_===","||_===";"||_===":"){if(_===":"&&h>0)h--;O(_===";"?"TERMINATOR":_,_,c,c+1),c++;continue}if(_==="`"&&(N()||V())){let D=f1(c);O("TYPE_TEMPLATE",e.slice(c,D),c,D),c=D;continue}A(`cannot tokenize '${_}'`,c)}if(l.length>0){if(!(r&&l.every((q)=>q.kind!=="interp"))){let q=l[0],i1={call:"(",group:"(",index:"[",array:"[",object:"{",interp:"#{"}[q.kind]??q.kind;C(`unclosed '${i1}' — never closed by end of input`,q.at,q.at+i1.length)}let H=e.length;while(H>0&&(e[H-1]===` +`||e[H-1]==="\r"))H--;while(l.length>0){let q=l[l.length-1],i1={call:"(",group:"(",index:"[",array:"[",object:"{"}[q.kind]??q.kind;a.push({message:`unclosed '${i1}' — never closed by end of input`,start:q.at,end:q.at+i1.length,expected:[],got:"end of input"});let D=q.kind==="call"?"CALL_END":q.kind==="group"?")":q.kind==="index"?"INDEX_END":q.kind==="array"?"]":q.pick?"PICK_END":"}";n1();let z=i.length;while(z>0&&(i[z-1].kind==="OUTDENT"||i[z-1].kind==="INDENT"||i[z-1].kind==="TERMINATOR"))z--;let s1=i[z-1]?.kind,R1=q.kind==="call"&&s1==="CALL_START"||q.kind==="index"&&s1==="INDEX_START";if(s1===","||R1){let y1={id:M++,kind:"IDENTIFIER",value:"",start:H,end:H,spaced:!1,newLine:!1,generated:!0,origin:null};x.push(y1),i.splice(z,0,y1)}W(D,H)}}let c1=I();while(o.length>1)o.pop(),W("OUTDENT",c1);let K=()=>M++;t3(i),r3(i),a3(i),Us(i,K,e,A,r?(_)=>a.push({message:_.reason??String(_.message),start:_.start??0,end:_.end??_.start??0,expected:[],got:""}):null),tr(i,K,e,A);for(let _ of i)if(_.kind==="RESERVED")A(`'${_.value}' is reserved and not supported yet`,_.start);return an(i,K,A),n3(i),Gt(i,K),Ti(i),Yt(i,K),zt(i,K),s3(i),{tokens:i,trivia:n,source:s,lexDiagnostics:a}}function Ti(e){for(let t=0;t"&&o!=="=>"&&o!=="ELSE"&&o!=="TRY"&&o!=="FINALLY"){s=!1;break}}}if(oe.has(a))i++;else if(ae.has(a)){if(i--,i<0)break}}if(s)e[t].kind=r==="IF"?"POST_IF":"POST_UNLESS"}return e}function On(e="",{tolerant:t=!1}={}){return{setInput(r){let s=m3(r,e,{tolerant:t});this.tokens=s.tokens,this.trivia=s.trivia,this.source=s.source,this.lexDiagnostics=s.lexDiagnostics??[],this.index=0,this.text="",this.loc=null,this.token=null},lex(){let r=this.tokens[this.index];if(!r)return null;return this.index++,this.text=r.value,this.loc={start:r.start,end:r.end},this.token=r,r.kind}}}var p3={symbolIds:{$accept:0,$end:1,error:2,Root:3,Body:4,Line:5,TERMINATOR:6,Expression:7,Statement:8,Return:9,STATEMENT:10,Import:11,Export:12,TypeDecl:13,Enum:14,TYPE_DECL:15,Assignable:16,TYPE:17,OPT_MARKER:18,DEF:19,Identifier:20,OptParams:21,IMPORT:22,String:23,ImportDefaultSpecifier:24,FROM:25,ImportNamespaceSpecifier:26,"{":27,"}":28,ImportSpecifierList:29,OptComma:30,",":31,WITH:32,Object:33,IMPORT_TYPE:34,ImportSpecifier:35,INDENT:36,OUTDENT:37,AS:38,DEFAULT:39,IMPORT_ALL:40,EXPORT:41,ExportSpecifierList:42,Class:43,Def:44,ExportAssign:45,ReactiveAssign:46,ComputedAssign:47,Readonly:48,Effect:49,EXPORT_ALL:50,EXPORT_TYPE:51,"=":52,TYPE_PARAMS:53,VOID_MARKER:54,READONLY_ASSIGN:55,REACTIVE_ASSIGN:56,COMPUTED_ASSIGN:57,Block:58,EFFECT:59,ExportSpecifier:60,Value:61,Code:62,Operation:63,Assign:64,Gate:65,If:66,Try:67,For:68,Switch:69,While:70,Throw:71,Schema:72,Component:73,Render:74,Literal:75,Parenthetical:76,Range:77,Invocation:78,DoIife:79,This:80,Super:81,DAMMIT:82,NewValue:83,TEMPLATE_TAG:84,Atom:85,Regex:86,UNDEFINED:87,NULL:88,BOOL:89,NUMBER:90,SYMBOL:91,STRING:92,STRING_START:93,Interpolations:94,STRING_END:95,InterpolationChunk:96,INTERPOLATION_START:97,INTERPOLATION_END:98,REGEX:99,HEREGEX_START:100,HEREGEX_END:101,IDENTIFIER:102,Property:103,PROPERTY:104,SimpleAssignable:105,COMPOUND_ASSIGN:106,METHOD_ASSIGN:107,Array:108,Rhs:109,BlockRhs:110,GATE:111,CALL_START:112,CALL_END:113,ArgList:114,ThisProperty:115,Subjectable:116,".":117,"?.":118,INDEX_START:119,INDEX_END:120,Slice:121,ES6_OPTIONAL_INDEX:122,PICK_START:123,PickList:124,PICK_END:125,OPTPICK_START:126,IMPORT_META:127,NEW_TARGET:128,NEW:129,NewSpine:130,NewCall:131,Arguments:132,PARAM_START:133,ParamList:134,PARAM_END:135,ArrowKind:136,"->":137,"=>":138,DO_IIFE:139,THIS:140,"@":141,"[":142,"]":143,Elisions:144,ArgElisionList:145,OptElisions:146,ArgElision:147,Arg:148,Elision:149,AssignList:150,MAP_START:151,AssignObj:152,ObjAssignable:153,ObjRestValue:154,":":155,SimpleObjAssignable:156,"...":157,ObjSpreadExpr:158,SUPER:159,DYNAMIC_IMPORT:160,MAYBE_DAMMIT:161,PickItem:162,PickKey:163,RangeDots:164,"..":165,Param:166,TypedParamVar:167,ParamVar:168,Splat:169,ClassName:170,CLASS:171,EXTENDS:172,ENUM:173,SCHEMA:174,SCHEMA_BODY:175,COMPONENT:176,ComponentBlock:177,ComponentBody:178,ComponentLine:179,OFFER:180,ACCEPT:181,ProviderPath:182,RENDER:183,ES6_OPTIONAL_CALL:184,"?":185,"(":186,")":187,RETURN:188,WHILE:189,UNTIL:190,WHEN:191,Loop:192,IfBlock:193,IF:194,IfElseTail:195,ELSE:196,UnlessBlock:197,UNLESS:198,POST_IF:199,POST_UNLESS:200,TRY:201,Catch:202,Finalizer:203,FINALLY:204,CATCH:205,CatchVar:206,THROW:207,SWITCH:208,Cases:209,When:210,LEADING_WHEN:211,SimpleArgs:212,FOR:213,ForVariables:214,FORIN:215,BY:216,FOROF:217,OWN:218,FORAS:219,AWAIT:220,FORASAWAIT:221,ForValue:222,LOOP:223,"--":224,"++":225,CAST:226,SATISFIES:227,TERNARY:228,UNARY:229,DO:230,UNARY_MATH:231,YIELD:232,"-":233,"+":234,"**":235,MATH:236,SHIFT:237,"&":238,"^":239,"|":240,COMPARE:241,MATCH:242,RELATION:243,"&&":244,"||":245,"??":246,THEN:247},tokenNames:{2:"error",6:"newline",10:"break/continue/debugger",15:"type/interface",17:"a type annotation",18:"?",19:"def",22:"import",25:"from",27:"{",28:"}",31:",",32:"with",34:"type",36:"indent",37:"dedent",38:"as",39:"default",40:"*",41:"export",50:"*",51:"type",52:"=",53:"<…>",54:"!",55:"=!",56:":=",57:"~=",59:"~>",82:"!",84:"$",87:"undefined",88:"null",89:"true/false",90:"a number",91:"a :symbol",92:"a string",93:"a string",95:"the closing quote",97:"#{",98:"}",99:"a regex",100:"///",101:"///",102:"a name",104:"a property name",106:"a compound assignment",107:".=",111:"<~",112:"(",113:")",117:".",118:"?.",119:"[",120:"]",122:"?.[",123:".{",125:"}",126:"?.{",127:"import.meta",128:"new.target",129:"new",133:"(",135:")",137:"->",138:"=>",139:"do",140:"this",141:"@",142:"[",143:"]",151:"*{",155:":",157:"...",159:"super",160:"import(",161:"?!",165:"..",171:"class",172:"extends",173:"enum",174:"schema",175:"a schema body",176:"component",180:"offer",181:"accept",183:"render",184:"?.(",185:"?",186:"(",187:")",188:"return",189:"while",190:"until",191:"when",194:"if",196:"else",198:"unless",199:"if",200:"unless",201:"try",204:"finally",205:"catch",207:"throw",208:"switch",211:"when",213:"for",215:"in",216:"by",217:"of",218:"own",219:"as",220:"await",221:"as!",223:"loop",224:"--",225:"++",226:"as",227:"satisfies",228:"?",229:"not/typeof/delete",230:"do",231:"!/~",232:"yield",233:"-",234:"+",235:"**",236:"a math operator",237:"a shift operator",238:"&",239:"^",240:"|",241:"a comparison",242:"=~",243:"in/of/instanceof",244:"&&",245:"||",246:"??",247:"then"},semantics:{"1":{kind:"program",roles:[]},"2":{kind:"program",roles:[{name:"body",grammarRef:1,childSlot:1,spread:!0}]},"14":{kind:"typedecl",roles:[{name:"declaration",grammarRef:1,childSlot:1,spread:!1}]},"15":{kind:"typedvar",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:2,childSlot:2,spread:!1}]},"16":{kind:"typedvar",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:3,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1}]},"17":{kind:"defsig",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:3,childSlot:2,spread:!1},{name:"returnType",grammarRef:4,childSlot:3,spread:!1}]},"18":{kind:"import",roles:[{name:"source",grammarRef:2,childSlot:1,spread:!1}]},"19":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"source",grammarRef:4,childSlot:2,spread:!1}]},"20":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"source",grammarRef:4,childSlot:2,spread:!1}]},"21":{kind:"import",roles:[{name:"spec",grammarRef:null,childSlot:1,literal:"{}"},{name:"source",grammarRef:5,childSlot:2,spread:!1}]},"22":{kind:"import",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1},{name:"source",grammarRef:7,childSlot:2,spread:!1}]},"23":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"extra",grammarRef:4,childSlot:2,spread:!1},{name:"source",grammarRef:6,childSlot:3,spread:!1}]},"24":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"extra",grammarRef:5,childSlot:2,spread:!1},{name:"source",grammarRef:9,childSlot:3,spread:!1}]},"25":{kind:"import",roles:[{name:"source",grammarRef:2,childSlot:2,spread:!1}],nested:[{role:"attributes",path:[1],kind:"withattrs",roles:[{name:"keyword",grammarRef:3,childSlot:0,spread:!1},{name:"value",grammarRef:4,childSlot:1,spread:!1}],nested:[]}]},"26":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"source",grammarRef:4,childSlot:3,spread:!1}],nested:[{role:"attributes",path:[2],kind:"withattrs",roles:[{name:"keyword",grammarRef:5,childSlot:0,spread:!1},{name:"value",grammarRef:6,childSlot:1,spread:!1}],nested:[]}]},"27":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"source",grammarRef:4,childSlot:3,spread:!1}],nested:[{role:"attributes",path:[2],kind:"withattrs",roles:[{name:"keyword",grammarRef:5,childSlot:0,spread:!1},{name:"value",grammarRef:6,childSlot:1,spread:!1}],nested:[]}]},"28":{kind:"import",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1},{name:"source",grammarRef:7,childSlot:3,spread:!1}],nested:[{role:"attributes",path:[2],kind:"withattrs",roles:[{name:"keyword",grammarRef:8,childSlot:0,spread:!1},{name:"value",grammarRef:9,childSlot:1,spread:!1}],nested:[]}]},"29":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"extra",grammarRef:4,childSlot:2,spread:!1},{name:"source",grammarRef:6,childSlot:4,spread:!1}],nested:[{role:"attributes",path:[3],kind:"withattrs",roles:[{name:"keyword",grammarRef:7,childSlot:0,spread:!1},{name:"value",grammarRef:8,childSlot:1,spread:!1}],nested:[]}]},"30":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"extra",grammarRef:5,childSlot:2,spread:!1},{name:"source",grammarRef:9,childSlot:4,spread:!1}],nested:[{role:"attributes",path:[3],kind:"withattrs",roles:[{name:"keyword",grammarRef:10,childSlot:0,spread:!1},{name:"value",grammarRef:11,childSlot:1,spread:!1}],nested:[]}]},"31":{kind:"import",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1},{name:"source",grammarRef:5,childSlot:2,spread:!1},{name:"typeOnly",grammarRef:2,childSlot:null,spread:!1}]},"32":{kind:"import",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1},{name:"source",grammarRef:5,childSlot:2,spread:!1},{name:"typeOnly",grammarRef:2,childSlot:null,spread:!1}]},"33":{kind:"import",roles:[{name:"spec",grammarRef:null,childSlot:1,literal:"{}"},{name:"source",grammarRef:6,childSlot:2,spread:!1},{name:"typeOnly",grammarRef:2,childSlot:null,spread:!1}]},"34":{kind:"import",roles:[{name:"spec",grammarRef:4,childSlot:1,spread:!1},{name:"source",grammarRef:8,childSlot:2,spread:!1},{name:"typeOnly",grammarRef:2,childSlot:null,spread:!1}]},"41":{kind:"as",roles:[{name:"name",grammarRef:1,childSlot:0,spread:!1},{name:"alias",grammarRef:3,childSlot:1,spread:!1}]},"43":{kind:"as",roles:[{name:"name",grammarRef:1,childSlot:0,spread:!1},{name:"alias",grammarRef:3,childSlot:1,spread:!1}]},"45":{kind:"as",roles:[{name:"name",grammarRef:null,childSlot:0,literal:"*"},{name:"alias",grammarRef:3,childSlot:1,spread:!1}]},"46":{kind:"export",roles:[{name:"spec",grammarRef:null,childSlot:1,literal:"{}"}]},"47":{kind:"export",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1}]},"48":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"49":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"50":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"51":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"52":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"53":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"54":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"55":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"56":{kind:"export",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1}]},"57":{kind:"export",roles:[{name:"spec",grammarRef:4,childSlot:1,spread:!1}]},"58":{kind:"export",roles:[{name:"source",grammarRef:4,childSlot:1,spread:!1}]},"59":{kind:"export",roles:[{name:"source",grammarRef:6,childSlot:1,spread:!1},{name:"alias",grammarRef:4,childSlot:2,spread:!1}]},"60":{kind:"export",roles:[{name:"source",grammarRef:6,childSlot:1,spread:!1},{name:"alias",grammarRef:4,childSlot:2,spread:!1}]},"61":{kind:"export",roles:[{name:"spec",grammarRef:null,childSlot:1,literal:"{}"},{name:"source",grammarRef:5,childSlot:2,spread:!1}]},"62":{kind:"export",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1},{name:"source",grammarRef:7,childSlot:2,spread:!1}]},"63":{kind:"export",roles:[{name:"spec",grammarRef:4,childSlot:1,spread:!1},{name:"source",grammarRef:8,childSlot:2,spread:!1},{name:"typeOnly",grammarRef:2,childSlot:null,spread:!1}]},"64":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"65":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"66":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"67":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"68":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"69":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"70":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"typeParams",grammarRef:2,childSlot:null,spread:!1}]},"71":{kind:"assign",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"72":{kind:"assign",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"73":{kind:"assign",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"74":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"75":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"76":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"77":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"78":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"79":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"80":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"81":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"82":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"83":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"84":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"85":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"86":{kind:"effect",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"87":{kind:"effect",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"88":{kind:"effect",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"95":{kind:"as",roles:[{name:"name",grammarRef:1,childSlot:0,spread:!1},{name:"alias",grammarRef:3,childSlot:1,spread:!1}]},"96":{kind:"as",roles:[{name:"name",grammarRef:1,childSlot:0,spread:!1},{name:"alias",grammarRef:3,childSlot:1,spread:!1}]},"98":{kind:"as",roles:[{name:"name",grammarRef:1,childSlot:0,spread:!1},{name:"alias",grammarRef:3,childSlot:1,spread:!1}]},"127":{kind:"dammit",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"129":{kind:"tagged",roles:[{name:"tag",grammarRef:1,childSlot:1,spread:!1},{name:"str",grammarRef:3,childSlot:2,spread:!1}]},"137":{kind:"symbol",roles:[{name:"name",grammarRef:1,childSlot:1,spread:!1}]},"139":{kind:"str",roles:[{name:"parts",grammarRef:2,childSlot:1,spread:!0}]},"147":{kind:"heregex",roles:[{name:"flags",grammarRef:3,childSlot:1,spread:!1},{name:"parts",grammarRef:2,childSlot:2,spread:!0}]},"150":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"151":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"152":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"153":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"154":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"155":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"156":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1}]},"157":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1}]},"158":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1}]},"159":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"annotation",grammarRef:3,childSlot:null,spread:!1}]},"160":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:6,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"annotation",grammarRef:3,childSlot:null,spread:!1}]},"161":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:6,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"annotation",grammarRef:3,childSlot:null,spread:!1}]},"162":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"163":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"164":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"typeParams",grammarRef:2,childSlot:null,spread:!1}]},"165":{kind:"assign",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"166":{kind:"assign",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"167":{kind:"assign",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"168":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:".="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"169":{kind:"assign",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"170":{kind:"assign",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"171":{kind:"assign",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"172":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"173":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"174":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"184":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"185":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"186":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"187":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"annotation",grammarRef:3,childSlot:null,spread:!1},{name:"operator",grammarRef:4,childSlot:null,spread:!1}]},"188":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"189":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"190":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"191":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"annotation",grammarRef:3,childSlot:null,spread:!1},{name:"operator",grammarRef:4,childSlot:null,spread:!1}]},"192":{kind:"gate",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"rhs",grammarRef:3,childSlot:2,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"193":{kind:"gate",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"rhs",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"194":{kind:"gate",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"rhs",grammarRef:3,childSlot:2,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"195":{kind:"gate",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"rhs",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"196":{kind:"gate",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"rhs",grammarRef:3,childSlot:2,spread:!1},{name:"key",grammarRef:5,childSlot:3,spread:!0},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"197":{kind:"gate",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"rhs",grammarRef:4,childSlot:2,spread:!1},{name:"key",grammarRef:6,childSlot:3,spread:!0},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"198":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"199":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"200":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"201":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"annotation",grammarRef:3,childSlot:null,spread:!1},{name:"operator",grammarRef:4,childSlot:null,spread:!1}]},"202":{kind:"effect",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"203":{kind:"effect",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"204":{kind:"effect",roles:[{name:"target",grammarRef:null,childSlot:1,literal:null},{name:"value",grammarRef:2,childSlot:2,spread:!1},{name:"operator",grammarRef:1,childSlot:null,spread:!1}]},"207":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"208":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"209":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:3,childSlot:2,spread:!1}]},"210":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:4,childSlot:2,spread:!1}]},"211":{kind:"regexindex",roles:[{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:3,childSlot:2,spread:!1},{name:"capture",grammarRef:5,childSlot:3,spread:!1}]},"212":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:3,childSlot:2,spread:!1}]},"213":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:4,childSlot:2,spread:!1}]},"214":{kind:"optindex",roles:[{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:4,childSlot:2,spread:!1}]},"215":{kind:"optindex",roles:[{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:5,childSlot:2,spread:!1}]},"216":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:3,childSlot:2,spread:!0}]},"217":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:3,childSlot:2,spread:!0}]},"218":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:4,childSlot:2,spread:!0}]},"219":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:4,childSlot:2,spread:!0}]},"220":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"221":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"222":{kind:"unary",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"223":{kind:"unary",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"224":{kind:"unary",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"225":{kind:"await",roles:[{name:"operator",grammarRef:3,childSlot:null,spread:!1}],nested:[{role:"value",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"new"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}],nested:[]}]},"226":{kind:"await",roles:[{name:"operator",grammarRef:3,childSlot:null,spread:!1}],nested:[{role:"value",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"new"}],nested:[{role:"operand",path:[1],kind:"call",roles:[{name:"callee",grammarRef:2,childSlot:0,spread:!1},{name:"args",grammarRef:4,childSlot:1,spread:!0}],nested:[]}]}]},"227":{kind:"call",roles:[{name:"callee",grammarRef:1,childSlot:0,spread:!1},{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"233":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"234":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"235":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:3,childSlot:2,spread:!1}]},"236":{kind:"tagged",roles:[{name:"tag",grammarRef:1,childSlot:1,spread:!1},{name:"str",grammarRef:3,childSlot:2,spread:!1}]},"239":{kind:"func",roles:[{name:"kind",grammarRef:4,childSlot:0,spread:!1},{name:"params",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:5,childSlot:2,spread:!1}]},"240":{kind:"func",roles:[{name:"kind",grammarRef:5,childSlot:0,spread:!1},{name:"params",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:6,childSlot:2,spread:!1},{name:"returnType",grammarRef:4,childSlot:null,spread:!1}]},"241":{kind:"func",roles:[{name:"kind",grammarRef:1,childSlot:0,spread:!1},{name:"body",grammarRef:2,childSlot:2,spread:!1}]},"244":{kind:"doiife",roles:[{name:"func",grammarRef:2,childSlot:1,spread:!1}]},"247":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"property",grammarRef:2,childSlot:2,spread:!1}]},"248":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"property",grammarRef:2,childSlot:2,spread:!1}]},"249":{kind:"array",roles:[]},"250":{kind:"array",roles:[{name:"elisions",grammarRef:2,childSlot:1,spread:!0}]},"251":{kind:"array",roles:[{name:"items",grammarRef:2,childSlot:1,spread:!0},{name:"elisions",grammarRef:3,childSlot:null,spread:!0}]},"265":{kind:"object",roles:[{name:"pairs",grammarRef:2,childSlot:1,spread:!0}]},"266":{kind:"map",roles:[{name:"pairs",grammarRef:3,childSlot:1,spread:!0}]},"272":{kind:"pair",roles:[{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:1,childSlot:2,spread:!1}]},"274":{kind:"pair",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:":"},{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"275":{kind:"pair",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:":"},{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"276":{kind:"pair",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:":"},{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"277":{kind:"pair",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"278":{kind:"pair",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"279":{kind:"pair",roles:[{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"280":{kind:"pair",roles:[{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"281":{kind:"splat",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"282":{kind:"splat",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"288":{kind:"super",roles:[{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"289":{kind:"dynimport",roles:[{name:"keyword",grammarRef:1,childSlot:0,spread:!1},{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"290":{kind:"call",roles:[{name:"callee",grammarRef:1,childSlot:0,spread:!1},{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"291":{kind:"call",roles:[{name:"callee",grammarRef:1,childSlot:0,spread:!1},{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"292":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"293":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"294":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:3,childSlot:2,spread:!1}]},"295":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:4,childSlot:2,spread:!1}]},"296":{kind:"dammit",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"297":{kind:"maybe-dammit",roles:[{name:"callee",grammarRef:1,childSlot:1,spread:!1},{name:"args",grammarRef:3,childSlot:2,spread:!0},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"298":{kind:"maybe-dammit",roles:[{name:"callee",grammarRef:1,childSlot:1,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"299":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:3,childSlot:2,spread:!0}]},"300":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:3,childSlot:2,spread:!0}]},"301":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:4,childSlot:2,spread:!0}]},"302":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:4,childSlot:2,spread:!0}]},"307":{kind:"pickitem",roles:[{name:"key",grammarRef:1,childSlot:0,spread:!1},{name:"target",grammarRef:1,childSlot:1,spread:!1}]},"308":{kind:"pickitem",roles:[{name:"key",grammarRef:1,childSlot:0,spread:!1},{name:"target",grammarRef:3,childSlot:1,spread:!1}]},"309":{kind:"pickitem",roles:[{name:"key",grammarRef:1,childSlot:0,spread:!1},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"default",grammarRef:3,childSlot:2,spread:!1}]},"310":{kind:"pickitem",roles:[{name:"key",grammarRef:1,childSlot:0,spread:!1},{name:"target",grammarRef:3,childSlot:1,spread:!1},{name:"default",grammarRef:5,childSlot:2,spread:!1}]},"318":{kind:"dynamicKey",roles:[{name:"key",grammarRef:2,childSlot:1,spread:!1}]},"319":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:null,childSlot:1,literal:"this"},{name:"key",grammarRef:3,childSlot:2,spread:!1}]},"322":{kind:"range",roles:[{name:"operator",grammarRef:3,childSlot:0,spread:!1},{name:"from",grammarRef:2,childSlot:1,spread:!1},{name:"to",grammarRef:4,childSlot:2,spread:!1}]},"323":{kind:"range",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"from",grammarRef:1,childSlot:1,spread:!1},{name:"to",grammarRef:3,childSlot:2,spread:!1}]},"324":{kind:"range",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"from",grammarRef:1,childSlot:1,spread:!1},{name:"to",grammarRef:null,childSlot:2,literal:null}]},"325":{kind:"range",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"from",grammarRef:null,childSlot:1,literal:null},{name:"to",grammarRef:2,childSlot:2,spread:!1}]},"326":{kind:"range",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"from",grammarRef:null,childSlot:1,literal:null},{name:"to",grammarRef:null,childSlot:2,literal:null}]},"327":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:3,childSlot:2,spread:!1},{name:"body",grammarRef:4,childSlot:3,spread:!1}]},"328":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:3,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1},{name:"returnType",grammarRef:4,childSlot:null,spread:!1}]},"329":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1},{name:"typeParams",grammarRef:3,childSlot:null,spread:!1}]},"330":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:6,childSlot:3,spread:!1},{name:"typeParams",grammarRef:3,childSlot:null,spread:!1},{name:"returnType",grammarRef:5,childSlot:null,spread:!1}]},"331":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1},{name:"voidMarker",grammarRef:3,childSlot:null,spread:!1}]},"332":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:6,childSlot:3,spread:!1},{name:"voidMarker",grammarRef:3,childSlot:null,spread:!1},{name:"returnType",grammarRef:5,childSlot:null,spread:!1}]},"333":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:3,childSlot:2,spread:!1},{name:"body",grammarRef:4,childSlot:3,spread:!1}]},"334":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:3,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1},{name:"returnType",grammarRef:4,childSlot:null,spread:!1}]},"335":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1},{name:"typeParams",grammarRef:3,childSlot:null,spread:!1}]},"336":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:6,childSlot:3,spread:!1},{name:"typeParams",grammarRef:3,childSlot:null,spread:!1},{name:"returnType",grammarRef:5,childSlot:null,spread:!1}]},"337":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1},{name:"voidMarker",grammarRef:3,childSlot:null,spread:!1}]},"338":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:6,childSlot:3,spread:!1},{name:"voidMarker",grammarRef:3,childSlot:null,spread:!1},{name:"returnType",grammarRef:5,childSlot:null,spread:!1}]},"347":{kind:"default",roles:[{name:"name",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"348":{kind:"rest",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1}]},"349":{kind:"expansion",roles:[]},"351":{kind:"typedvar",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:2,childSlot:2,spread:!1}]},"352":{kind:"typedvar",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:3,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1}]},"353":{kind:"typedvar",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:null,childSlot:2,literal:""},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1}]},"358":{kind:"splat",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"360":{kind:"class",roles:[{name:"name",grammarRef:null,childSlot:1,literal:null},{name:"parent",grammarRef:null,childSlot:2,literal:null}]},"361":{kind:"class",roles:[{name:"name",grammarRef:null,childSlot:1,literal:null},{name:"parent",grammarRef:null,childSlot:2,literal:null},{name:"body",grammarRef:2,childSlot:3,spread:!1}]},"362":{kind:"class",roles:[{name:"name",grammarRef:null,childSlot:1,literal:null},{name:"parent",grammarRef:3,childSlot:2,spread:!1}]},"363":{kind:"class",roles:[{name:"name",grammarRef:null,childSlot:1,literal:null},{name:"parent",grammarRef:3,childSlot:2,spread:!1},{name:"body",grammarRef:4,childSlot:3,spread:!1}]},"364":{kind:"class",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"parent",grammarRef:null,childSlot:2,literal:null}]},"365":{kind:"class",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"parent",grammarRef:null,childSlot:2,literal:null},{name:"body",grammarRef:3,childSlot:3,spread:!1}]},"366":{kind:"class",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"parent",grammarRef:4,childSlot:2,spread:!1}]},"367":{kind:"class",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"parent",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1}]},"368":{kind:"class",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"parent",grammarRef:null,childSlot:2,literal:null},{name:"body",grammarRef:3,childSlot:3,spread:!1}]},"369":{kind:"class",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"parent",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1}]},"370":{kind:"enum",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:3,childSlot:2,spread:!1}]},"371":{kind:"schema",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"372":{kind:"component",roles:[{name:"parent",grammarRef:null,childSlot:1,literal:null},{name:"body",grammarRef:2,childSlot:2,spread:!1}]},"373":{kind:"component",roles:[{name:"parent",grammarRef:3,childSlot:1,spread:!1},{name:"body",grammarRef:4,childSlot:2,spread:!1}]},"374":{kind:"block",roles:[{name:"statements",grammarRef:2,childSlot:1,spread:!0}]},"380":{kind:"offer",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"381":{kind:"accept",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1}]},"382":{kind:"accept",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"provider",grammarRef:4,childSlot:2,spread:!1}]},"384":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"385":{kind:"render",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"386":{kind:"render",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"387":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"object",grammarRef:null,childSlot:1,literal:"super"},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"388":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:null,childSlot:1,literal:"super"},{name:"key",grammarRef:3,childSlot:2,spread:!1}]},"389":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:null,childSlot:1,literal:"super"},{name:"key",grammarRef:4,childSlot:2,spread:!1}]},"390":{kind:"call",roles:[{name:"callee",grammarRef:1,childSlot:0,spread:!1},{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"391":{kind:"super",roles:[{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"392":{kind:"optcall",roles:[{name:"callee",grammarRef:1,childSlot:1,spread:!1},{name:"args",grammarRef:3,childSlot:2,spread:!0}]},"393":{kind:"optcall",roles:[{name:"callee",grammarRef:1,childSlot:1,spread:!1},{name:"args",grammarRef:3,childSlot:2,spread:!0}]},"394":{kind:"maybe-dammit",roles:[{name:"callee",grammarRef:1,childSlot:1,spread:!1},{name:"args",grammarRef:3,childSlot:2,spread:!0},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"395":{kind:"maybe-dammit",roles:[{name:"callee",grammarRef:1,childSlot:1,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"396":{kind:"dynimport",roles:[{name:"keyword",grammarRef:1,childSlot:0,spread:!1},{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"397":{kind:"await",roles:[{name:"operator",grammarRef:2,childSlot:null,spread:!1}],nested:[{role:"value",path:[1],kind:"dynimport",roles:[{name:"keyword",grammarRef:null,childSlot:0,literal:"import"},{name:"args",grammarRef:3,childSlot:1,spread:!0}],nested:[]}]},"409":{kind:"block",roles:[]},"410":{kind:"block",roles:[{name:"statements",grammarRef:2,childSlot:1,spread:!0}]},"413":{kind:"return",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"414":{kind:"return",roles:[{name:"value",grammarRef:3,childSlot:1,spread:!1}]},"415":{kind:"return",roles:[]},"416":{kind:"while",roles:[{name:"condition",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:3,childSlot:2,spread:!1}]},"417":{kind:"while",roles:[{name:"body",grammarRef:3,childSlot:2,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}],nested:[]}]},"418":{kind:"while",roles:[{name:"condition",grammarRef:2,childSlot:1,spread:!1},{name:"guard",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1}]},"419":{kind:"while",roles:[{name:"guard",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}],nested:[]}]},"420":{kind:"while",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"body",grammarRef:1,childSlot:null,spread:!1}]},"421":{kind:"while",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"body",grammarRef:1,childSlot:null,spread:!1}]},"422":{kind:"while",roles:[{name:"body",grammarRef:1,childSlot:null,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:3,childSlot:1,spread:!1}],nested:[]}]},"423":{kind:"while",roles:[{name:"body",grammarRef:1,childSlot:null,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:3,childSlot:1,spread:!1}],nested:[]}]},"424":{kind:"while",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"guard",grammarRef:5,childSlot:2,spread:!1},{name:"body",grammarRef:1,childSlot:null,spread:!1}]},"425":{kind:"while",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"guard",grammarRef:5,childSlot:2,spread:!1},{name:"body",grammarRef:1,childSlot:null,spread:!1}]},"426":{kind:"while",roles:[{name:"guard",grammarRef:5,childSlot:2,spread:!1},{name:"body",grammarRef:1,childSlot:null,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:3,childSlot:1,spread:!1}],nested:[]}]},"427":{kind:"while",roles:[{name:"guard",grammarRef:5,childSlot:2,spread:!1},{name:"body",grammarRef:1,childSlot:null,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:3,childSlot:1,spread:!1}],nested:[]}]},"429":{kind:"if",roles:[{name:"condition",grammarRef:2,childSlot:1,spread:!1},{name:"then",grammarRef:3,childSlot:2,spread:!1}]},"430":{kind:"if",roles:[{name:"condition",grammarRef:2,childSlot:1,spread:!1},{name:"then",grammarRef:3,childSlot:2,spread:!1},{name:"else",grammarRef:4,childSlot:3,spread:!1}]},"431":{kind:"if",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:4,childSlot:2,spread:!1}]},"432":{kind:"if",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:4,childSlot:2,spread:!1},{name:"else",grammarRef:5,childSlot:3,spread:!1}]},"434":{kind:"if",roles:[{name:"then",grammarRef:3,childSlot:2,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}],nested:[]}]},"435":{kind:"if",roles:[{name:"then",grammarRef:3,childSlot:2,spread:!1},{name:"else",grammarRef:5,childSlot:3,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}],nested:[]}]},"438":{kind:"if",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:1,childSlot:null,spread:!1}]},"439":{kind:"if",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:1,childSlot:null,spread:!1}]},"440":{kind:"if",roles:[{name:"then",grammarRef:1,childSlot:null,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:3,childSlot:1,spread:!1}],nested:[]}]},"441":{kind:"if",roles:[{name:"then",grammarRef:1,childSlot:null,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:3,childSlot:1,spread:!1}],nested:[]}]},"442":{kind:"ternary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?:"},{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:1,childSlot:2,spread:!1},{name:"else",grammarRef:6,childSlot:3,spread:!1}]},"443":{kind:"ternary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?:"},{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:1,childSlot:2,spread:!1},{name:"else",grammarRef:5,childSlot:3,spread:!1}]},"444":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"445":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"446":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"handler",grammarRef:3,childSlot:2,spread:!1}]},"447":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"448":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"handler",grammarRef:3,childSlot:2,spread:!1}]},"449":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"handler",grammarRef:3,childSlot:2,spread:!1}]},"450":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"finalizer",grammarRef:3,childSlot:2,spread:!1}]},"451":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"handler",grammarRef:3,childSlot:2,spread:!1},{name:"finalizer",grammarRef:4,childSlot:3,spread:!1}]},"452":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"finalizer",grammarRef:3,childSlot:2,spread:!1}]},"453":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"handler",grammarRef:3,childSlot:2,spread:!1},{name:"finalizer",grammarRef:4,childSlot:3,spread:!1}]},"454":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"finalizer",grammarRef:3,childSlot:2,spread:!1}]},"455":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"handler",grammarRef:3,childSlot:2,spread:!1},{name:"finalizer",grammarRef:4,childSlot:3,spread:!1}]},"457":{kind:"block",roles:[{name:"statements",grammarRef:2,childSlot:1,spread:!1}]},"458":{kind:"catch",roles:[{name:"binding",grammarRef:2,childSlot:0,spread:!1},{name:"body",grammarRef:3,childSlot:1,spread:!1}]},"459":{kind:"catch",roles:[{name:"binding",grammarRef:2,childSlot:0,spread:!1},{name:"body",grammarRef:3,childSlot:1,spread:!1}]},"460":{kind:"catch",roles:[{name:"binding",grammarRef:2,childSlot:0,spread:!1},{name:"body",grammarRef:3,childSlot:1,spread:!1}]},"461":{kind:"catch",roles:[{name:"binding",grammarRef:null,childSlot:0,literal:null},{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"463":{kind:"typedvar",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:2,childSlot:2,spread:!1}]},"464":{kind:"throw",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"465":{kind:"throw",roles:[{name:"value",grammarRef:3,childSlot:1,spread:!1}]},"466":{kind:"switch",roles:[{name:"subject",grammarRef:2,childSlot:1,spread:!1},{name:"cases",grammarRef:4,childSlot:2,spread:!1},{name:"default",grammarRef:null,childSlot:3,literal:null}]},"467":{kind:"switch",roles:[{name:"subject",grammarRef:2,childSlot:1,spread:!1},{name:"cases",grammarRef:4,childSlot:2,spread:!1},{name:"default",grammarRef:6,childSlot:3,spread:!1}]},"468":{kind:"switch",roles:[{name:"subject",grammarRef:null,childSlot:1,literal:null},{name:"cases",grammarRef:3,childSlot:2,spread:!1},{name:"default",grammarRef:null,childSlot:3,literal:null}]},"469":{kind:"switch",roles:[{name:"subject",grammarRef:null,childSlot:1,literal:null},{name:"cases",grammarRef:3,childSlot:2,spread:!1},{name:"default",grammarRef:5,childSlot:3,spread:!1}]},"472":{kind:"when",roles:[{name:"conditions",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:3,childSlot:2,spread:!1}]},"473":{kind:"when",roles:[{name:"conditions",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:3,childSlot:2,spread:!1}]},"476":{kind:"forin",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"step",grammarRef:null,childSlot:3,literal:null},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:5,childSlot:5,spread:!1}]},"477":{kind:"forin",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"step",grammarRef:6,childSlot:3,spread:!1},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:7,childSlot:5,spread:!1}]},"478":{kind:"forin",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"step",grammarRef:null,childSlot:3,literal:null},{name:"guard",grammarRef:6,childSlot:4,spread:!1},{name:"body",grammarRef:7,childSlot:5,spread:!1}]},"479":{kind:"forin",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"step",grammarRef:8,childSlot:3,spread:!1},{name:"guard",grammarRef:6,childSlot:4,spread:!1},{name:"body",grammarRef:9,childSlot:5,spread:!1}]},"480":{kind:"forin",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"step",grammarRef:6,childSlot:3,spread:!1},{name:"guard",grammarRef:8,childSlot:4,spread:!1},{name:"body",grammarRef:9,childSlot:5,spread:!1}]},"481":{kind:"forof",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"object",grammarRef:4,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!1},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:5,childSlot:5,spread:!1}]},"482":{kind:"forof",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"object",grammarRef:4,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!1},{name:"guard",grammarRef:6,childSlot:4,spread:!1},{name:"body",grammarRef:7,childSlot:5,spread:!1}]},"483":{kind:"forof",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"object",grammarRef:5,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!0},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:6,childSlot:5,spread:!1}]},"484":{kind:"forof",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"object",grammarRef:5,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!0},{name:"guard",grammarRef:7,childSlot:4,spread:!1},{name:"body",grammarRef:8,childSlot:5,spread:!1}]},"485":{kind:"foras",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!1},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:5,childSlot:5,spread:!1}]},"486":{kind:"foras",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!1},{name:"guard",grammarRef:6,childSlot:4,spread:!1},{name:"body",grammarRef:7,childSlot:5,spread:!1}]},"487":{kind:"foras",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:6,childSlot:5,spread:!1}]},"488":{kind:"foras",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0},{name:"guard",grammarRef:7,childSlot:4,spread:!1},{name:"body",grammarRef:8,childSlot:5,spread:!1}]},"489":{kind:"foras",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:5,childSlot:5,spread:!1}]},"490":{kind:"foras",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0},{name:"guard",grammarRef:6,childSlot:4,spread:!1},{name:"body",grammarRef:7,childSlot:5,spread:!1}]},"491":{kind:"forin",roles:[{name:"iterable",grammarRef:2,childSlot:2,spread:!1},{name:"step",grammarRef:null,childSlot:3,literal:null},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:3,childSlot:5,spread:!1}]},"492":{kind:"forin",roles:[{name:"iterable",grammarRef:2,childSlot:2,spread:!1},{name:"step",grammarRef:4,childSlot:3,spread:!1},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:5,childSlot:5,spread:!1}]},"493":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forin",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"step",grammarRef:null,childSlot:3,literal:null}],nested:[]}]},"494":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:7,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forin",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"step",grammarRef:null,childSlot:3,literal:null}],nested:[]}]},"495":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forin",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"step",grammarRef:7,childSlot:3,spread:!1}],nested:[]}]},"496":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:7,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forin",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"step",grammarRef:9,childSlot:3,spread:!1}],nested:[]}]},"497":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:9,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forin",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"step",grammarRef:7,childSlot:3,spread:!1}],nested:[]}]},"498":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forof",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"object",grammarRef:5,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!1}],nested:[]}]},"499":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:7,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forof",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"object",grammarRef:5,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!1}],nested:[]}]},"500":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forof",roles:[{name:"vars",grammarRef:4,childSlot:1,spread:!1},{name:"object",grammarRef:6,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!0}],nested:[]}]},"501":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:8,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forof",roles:[{name:"vars",grammarRef:4,childSlot:1,spread:!1},{name:"object",grammarRef:6,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!0}],nested:[]}]},"502":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"foras",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!1}],nested:[]}]},"503":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:7,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"foras",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!1}],nested:[]}]},"504":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"foras",roles:[{name:"vars",grammarRef:4,childSlot:1,spread:!1},{name:"iterable",grammarRef:6,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0}],nested:[]}]},"505":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:8,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"foras",roles:[{name:"vars",grammarRef:4,childSlot:1,spread:!1},{name:"iterable",grammarRef:6,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0}],nested:[]}]},"506":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"foras",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0}],nested:[]}]},"507":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:7,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"foras",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0}],nested:[]}]},"511":{kind:"loop",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"512":{kind:"loop",roles:[{name:"count",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:3,childSlot:2,spread:!1}]},"513":{kind:"update",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"--"},{name:"target",grammarRef:2,childSlot:1,spread:!1},{name:"prefix",grammarRef:null,childSlot:2,literal:!1}]},"514":{kind:"update",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"++"},{name:"target",grammarRef:2,childSlot:1,spread:!1},{name:"prefix",grammarRef:null,childSlot:2,literal:!1}]},"515":{kind:"update",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"--"},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"prefix",grammarRef:null,childSlot:2,literal:!0}]},"516":{kind:"update",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"++"},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"prefix",grammarRef:null,childSlot:2,literal:!0}]},"517":{kind:"existence",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?"},{name:"value",grammarRef:1,childSlot:1,spread:!1}]},"518":{kind:"cast",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:2,childSlot:2,spread:!1}]},"519":{kind:"satisfies",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:2,childSlot:2,spread:!1}]},"520":{kind:"ternary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?:"},{name:"condition",grammarRef:1,childSlot:1,spread:!1},{name:"then",grammarRef:3,childSlot:2,spread:!1},{name:"else",grammarRef:5,childSlot:3,spread:!1}]},"521":{kind:"unary",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"522":{kind:"doiife",roles:[{name:"func",grammarRef:2,childSlot:1,spread:!1}]},"523":{kind:"unary",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"524":{kind:"await",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1},{name:"operator",grammarRef:1,childSlot:null,spread:!1}]},"525":{kind:"await",roles:[{name:"value",grammarRef:3,childSlot:1,spread:!1},{name:"operator",grammarRef:1,childSlot:null,spread:!1}]},"526":{kind:"yield",roles:[]},"527":{kind:"yield",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"528":{kind:"yield",roles:[{name:"value",grammarRef:3,childSlot:1,spread:!1}]},"529":{kind:"yieldfrom",roles:[{name:"value",grammarRef:3,childSlot:1,spread:!1}]},"530":{kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"-"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"531":{kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"+"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"532":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"**"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"533":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"+"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"534":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"-"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"535":{kind:"binary",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"536":{kind:"binary",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"537":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"538":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"^"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"539":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"|"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"540":{kind:"binary",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"541":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"=~"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"542":{kind:"relation",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"543":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"544":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"||"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"545":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"??"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"546":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"547":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"||"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"548":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"??"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"549":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"550":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"||"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"551":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"??"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"552":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"553":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"||"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"554":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"555":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"||"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"556":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"557":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"||"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]}},primitiveRefs:{"1":[],"2":[1],"3":[1],"4":[1,3],"5":[1],"6":[1],"7":[1],"8":[1],"9":[1],"10":[1],"11":[1],"12":[1],"13":[1],"14":[1],"15":[1,2],"16":[1,3],"17":[2,3,4],"18":[2],"19":[2,4],"20":[2,4],"21":[5],"22":[3,7],"23":[2,4,6],"24":[2,5,9],"25":[3,4,2],"26":[2,5,6,4],"27":[2,5,6,4],"28":[3,8,9,7],"29":[2,4,7,8,6],"30":[2,5,10,11,9],"31":[3,5],"32":[3,5],"33":[6],"34":[4,8],"35":[1],"36":[1,3],"37":[1,4],"38":[2],"39":[1,4],"40":[1],"41":[1,3],"42":[1],"43":[1,3],"44":[1],"45":[3],"46":[],"47":[3],"48":[2],"49":[2],"50":[2],"51":[2],"52":[2],"53":[2],"54":[2],"55":[2],"56":[3],"57":[4],"58":[4],"59":[6,4],"60":[6,4],"61":[5],"62":[3,7],"63":[4,8],"64":[1,3],"65":[1,4],"66":[1,4],"67":[1,4],"68":[1,5],"69":[1,5],"70":[1,4],"71":[1,4],"72":[1,5],"73":[1,5],"74":[1,4],"75":[1,5],"76":[1,5],"77":[1,4],"78":[1,5],"79":[1,5],"80":[1,4],"81":[1,5],"82":[1,4],"83":[1,4],"84":[1,5],"85":[1,5],"86":[1,4],"87":[1,5],"88":[1,4],"89":[1],"90":[1,3],"91":[1,4],"92":[2],"93":[1,4],"94":[1],"95":[1,3],"96":[1,3],"97":[1],"98":[1,3],"99":[1],"100":[1],"101":[1],"102":[1],"103":[1],"104":[1],"105":[1],"106":[1],"107":[1],"108":[1],"109":[1],"110":[1],"111":[1],"112":[1],"113":[1],"114":[1],"115":[1],"116":[1],"117":[1],"118":[1],"119":[1],"120":[1],"121":[1],"122":[1],"123":[1],"124":[1],"125":[1],"126":[1],"127":[1],"128":[1],"129":[1,3],"130":[1],"131":[1],"132":[],"133":[],"134":[1],"135":[1],"136":[1],"137":[1],"138":[1],"139":[2],"140":[1],"141":[1,2],"142":[2],"143":[3],"144":[],"145":[1],"146":[1],"147":[3,2],"148":[1],"149":[1],"150":[1,3],"151":[1,4],"152":[1,4],"153":[1,4],"154":[1,5],"155":[1,5],"156":[1,4],"157":[1,5],"158":[1,5],"159":[1,5],"160":[1,6],"161":[1,6],"162":[1,3],"163":[1,4],"164":[1,4],"165":[2,1,3],"166":[2,1,4],"167":[2,1,4],"168":[1,3],"169":[1,4],"170":[1,5],"171":[1,5],"172":[1,4],"173":[1,5],"174":[1,5],"175":[1],"176":[1],"177":[1],"178":[1],"179":[2],"180":[2],"181":[1],"182":[2],"183":[1],"184":[1,3],"185":[1,4],"186":[1,4],"187":[1,5],"188":[1,3],"189":[1,4],"190":[1,4],"191":[1,5],"192":[1,3],"193":[1,4],"194":[1,3],"195":[1,4],"196":[1,3,5],"197":[1,4,6],"198":[1,3],"199":[1,4],"200":[1,4],"201":[1,5],"202":[1,3],"203":[1,4],"204":[2],"205":[1],"206":[1],"207":[1,3],"208":[1,3],"209":[1,3],"210":[1,4],"211":[1,3,5],"212":[1,3],"213":[1,4],"214":[1,4],"215":[1,5],"216":[1,3],"217":[1,3],"218":[1,4],"219":[1,4],"220":[1,3],"221":[1,3],"222":[1,2],"223":[1,2],"224":[1,2],"225":[2],"226":[2,4],"227":[1,2],"228":[1],"229":[1],"230":[1],"231":[1],"232":[1],"233":[1,3],"234":[1,3],"235":[1,3],"236":[1,3],"237":[1],"238":[1],"239":[4,2,5],"240":[5,2,6],"241":[1,2],"242":[1],"243":[1],"244":[2],"245":[],"246":[],"247":[2],"248":[2],"249":[],"250":[2],"251":[2,3],"252":[1],"253":[1,3],"254":[1,4],"255":[2,3],"256":[1,2,4,5],"257":[1],"258":[1,2],"259":[],"260":[2],"261":[1],"262":[1,2],"263":[],"264":[1],"265":[2],"266":[3],"267":[],"268":[1],"269":[1,3],"270":[1,4],"271":[1,4],"272":[1,1],"273":[1],"274":[1,3],"275":[1,4],"276":[1,3],"277":[1,3],"278":[1,4],"279":[1,4],"280":[1,5],"281":[2],"282":[2],"283":[1],"284":[1],"285":[1],"286":[1],"287":[1],"288":[2],"289":[1,2],"290":[1,2],"291":[1,2],"292":[1,3],"293":[1,3],"294":[1,3],"295":[1,4],"296":[1],"297":[1,3],"298":[1],"299":[1,3],"300":[1,3],"301":[1,4],"302":[1,4],"303":[1],"304":[1,3],"305":[1,4],"306":[1,4],"307":[1,1],"308":[1,3],"309":[1,1,3],"310":[1,3,5],"311":[1],"312":[1],"313":[1],"314":[1],"315":[1],"316":[1],"317":[1],"318":[2],"319":[3],"320":[],"321":[],"322":[3,2,4],"323":[2,1,3],"324":[2,1],"325":[1,2],"326":[1],"327":[2,3,4],"328":[2,3,5],"329":[2,4,5],"330":[2,4,6],"331":[2,4,5],"332":[2,4,6],"333":[2,3,4],"334":[2,3,5],"335":[2,4,5],"336":[2,4,6],"337":[2,4,5],"338":[2,4,6],"339":[],"340":[2],"341":[],"342":[1],"343":[1,3],"344":[1,4],"345":[1,4],"346":[1],"347":[1,3],"348":[2],"349":[],"350":[1],"351":[1,2],"352":[1,3],"353":[1],"354":[1],"355":[1],"356":[1],"357":[1],"358":[2],"359":[1],"360":[],"361":[2],"362":[3],"363":[3,4],"364":[2],"365":[2,3],"366":[2,4],"367":[2,4,5],"368":[2,3],"369":[2,4,5],"370":[2,3],"371":[2],"372":[2],"373":[3,4],"374":[2],"375":[1],"376":[1,3],"377":[1],"378":[1],"379":[1],"380":[2],"381":[2],"382":[2,4],"383":[1],"384":[1,3],"385":[2],"386":[2],"387":[3],"388":[3],"389":[4],"390":[1,2],"391":[2],"392":[1,3],"393":[1,3],"394":[1,3],"395":[1],"396":[1,2],"397":[3],"398":[],"399":[2],"400":[1],"401":[1,3],"402":[1,4],"403":[2],"404":[1,4],"405":[1],"406":[1],"407":[1],"408":[1],"409":[],"410":[2],"411":[2],"412":[3],"413":[2],"414":[3],"415":[],"416":[2,3],"417":[2,3],"418":[2,4,5],"419":[2,4,5],"420":[3,1],"421":[3,1],"422":[3,1],"423":[3,1],"424":[3,5,1],"425":[3,5,1],"426":[3,5,1],"427":[3,5,1],"428":[1],"429":[2,3],"430":[2,3,4],"431":[3,4],"432":[3,4,5],"433":[2],"434":[2,3],"435":[2,3,5],"436":[1],"437":[1],"438":[3,1],"439":[3,1],"440":[3,1],"441":[3,1],"442":[3,1,6],"443":[3,1,5],"444":[2],"445":[2],"446":[2,3],"447":[2],"448":[2,3],"449":[2,3],"450":[2,3],"451":[2,3,4],"452":[2,3],"453":[2,3,4],"454":[2,3],"455":[2,3,4],"456":[2],"457":[2],"458":[2,3],"459":[2,3],"460":[2,3],"461":[2],"462":[1],"463":[1,2],"464":[2],"465":[3],"466":[2,4],"467":[2,4,6],"468":[3],"469":[3,5],"470":[1],"471":[1,2],"472":[2,3],"473":[2,3],"474":[1],"475":[1,3],"476":[2,4,5],"477":[2,4,6,7],"478":[2,4,6,7],"479":[2,4,8,6,9],"480":[2,4,6,8,9],"481":[2,4,5],"482":[2,4,6,7],"483":[3,5,6],"484":[3,5,7,8],"485":[2,4,5],"486":[2,4,6,7],"487":[3,5,6],"488":[3,5,7,8],"489":[2,4,5],"490":[2,4,6,7],"491":[2,3],"492":[2,4,5],"493":[1,3,5],"494":[1,3,5,7],"495":[1,3,5,7],"496":[1,3,5,9,7],"497":[1,3,5,7,9],"498":[1,3,5],"499":[1,3,5,7],"500":[1,4,6],"501":[1,4,6,8],"502":[1,3,5],"503":[1,3,5,7],"504":[1,4,6],"505":[1,4,6,8],"506":[1,3,5],"507":[1,3,5,7],"508":[1],"509":[1],"510":[1,3],"511":[2],"512":[2,3],"513":[2],"514":[2],"515":[1],"516":[1],"517":[1],"518":[1,2],"519":[1,2],"520":[1,3,5],"521":[1,2],"522":[2],"523":[1,2],"524":[2],"525":[3],"526":[],"527":[2],"528":[3],"529":[3],"530":[2],"531":[2],"532":[1,3],"533":[1,3],"534":[1,3],"535":[2,1,3],"536":[2,1,3],"537":[1,3],"538":[1,3],"539":[1,3],"540":[2,1,3],"541":[1,3],"542":[2,1,3],"543":[1,3],"544":[1,3],"545":[1,3],"546":[1,3],"547":[1,3],"548":[1,3],"549":[1,3],"550":[1,3],"551":[1,3],"552":[1,3],"553":[1,3],"554":[1,3],"555":[1,3],"556":[1,3],"557":[1,3]},accumulators:{"4":!0,"36":!0,"37":!0,"39":!0,"90":!0,"91":!0,"93":!0,"141":!0,"253":!0,"254":!0,"256":!0,"262":!0,"269":!0,"270":!0,"271":!0,"304":!0,"305":!0,"306":!0,"343":!0,"344":!0,"345":!0,"376":!0,"401":!0,"402":!0,"404":!0,"471":!0},parseTable:(()=>{let e=[108,1,2,1,1,2,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,-1,1,2,3,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,1,0,2,1,5,-2,108,5,1,5,31,61,89,-3,-3,-3,-3,-3,29,1,5,31,61,89,2,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-6,-6,-6,-6,-6,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,9,1,5,31,61,89,2,1,9,1,-7,-7,-7,-7,-7,135,136,133,134,57,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,6,3,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-99,-99,-99,-99,-99,-99,137,138,-99,143,-99,-237,-237,-237,-99,-237,-237,-99,-237,140,-99,-99,-99,-99,142,-99,141,139,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,50,1,5,22,3,5,1,61,15,4,1,1,1,2,1,2,1,9,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-100,-100,-100,-100,-100,-100,-100,-100,-238,-238,-238,-100,-238,-238,-100,-238,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,65,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-119,-119,145,146,-119,-119,-119,-119,144,147,151,148,149,152,-119,-119,-119,150,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,18,6,14,7,4,2,3,66,6,7,19,1,6,1,9,6,9,1,1,-341,158,100,-341,160,-341,96,159,161,153,-341,163,162,101,156,154,155,157,2,36,22,165,164,46,16,4,3,4,6,28,1,13,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,26,170,167,103,100,76,168,169,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,171,107,105,106,96,166,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,82,46,16,4,3,4,6,28,1,13,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,26,170,167,103,100,76,168,169,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,171,107,105,106,96,172,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,82,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,175,176,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,173,174,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,177,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,179,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,180,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,181,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,182,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,144,1,5,1,1,1,1,1,1,1,1,1,1,3,1,2,1,2,2,1,3,2,3,1,4,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,5,1,1,2,3,3,5,2,1,4,5,2,1,1,4,2,1,1,1,1,1,1,1,1,8,4,2,2,1,5,6,2,1,2,7,3,1,1,1,1,1,1,1,1,2,1,1,1,1,1,3,1,2,1,5,3,4,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-526,-526,183,178,26,27,28,29,30,31,73,32,65,54,71,103,185,100,-526,-526,76,184,-526,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,-526,105,106,96,45,75,-526,92,93,-526,-526,94,95,89,41,-526,42,90,91,86,87,88,83,-526,101,-526,-526,84,85,-526,66,74,67,68,69,82,-526,70,-526,-526,-526,63,56,97,-526,57,98,-526,-526,58,-526,-526,64,60,-526,-526,49,99,43,44,-526,-526,-526,46,47,48,50,51,52,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,186,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,187,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,58,1,5,11,11,3,5,1,15,30,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-138,-138,189,-138,-138,-138,-138,188,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,70,1,5,11,1,10,3,5,1,15,1,1,1,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,190,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,193,192,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,194,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,191,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,106,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,196,197,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,195,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,15,20,7,6,44,25,6,7,26,1,9,17,46,4,2,2,158,100,160,201,96,159,161,163,83,101,203,198,199,200,202,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,204,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,205,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,206,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,207,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,208,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,209,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,4,20,82,13,26,210,96,211,163,51,1,5,14,8,3,5,1,21,40,4,11,2,5,5,10,6,2,12,2,8,5,2,15,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-360,-360,216,-360,-360,165,-360,212,-360,96,-360,215,-360,-360,-360,163,-360,-360,-360,-360,214,213,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,1,175,217,3,36,136,5,220,219,218,106,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,222,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,221,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,143,1,5,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,1,3,2,3,1,4,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,5,1,1,2,3,3,5,2,1,4,5,2,1,1,4,2,1,1,1,1,1,1,1,1,8,4,2,2,1,5,6,2,1,2,7,3,1,1,1,1,1,1,1,1,2,1,1,1,1,1,3,1,2,1,5,3,4,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-415,-415,223,178,26,27,28,29,30,31,73,32,65,54,71,103,100,-415,-415,76,224,-415,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,-415,105,106,96,45,75,-415,92,93,-415,-415,94,95,89,41,-415,42,90,91,86,87,88,83,-415,101,-415,-415,84,85,-415,66,74,67,68,69,82,-415,70,-415,-415,-415,63,56,97,-415,57,98,-415,-415,58,-415,-415,64,60,-415,-415,49,99,43,44,-415,-415,-415,46,47,48,50,51,52,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,10,20,3,1,2,1,7,6,52,1,9,230,225,226,227,228,229,231,171,107,96,61,14,2,3,1,3,4,6,6,4,1,1,1,1,1,1,1,1,8,2,1,13,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,13,235,246,244,245,103,232,76,241,233,234,236,237,238,239,240,242,243,55,168,169,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,171,107,105,106,96,247,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,82,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,2,20,82,248,96,65,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,65,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,107,4,1,2,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,249,3,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,250,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,114,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,1,1,1,2,1,1,2,6,2,1,9,2,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,251,178,26,27,28,29,30,31,73,32,65,54,71,103,100,258,76,257,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,252,253,254,256,259,255,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,4,112,5,2,13,143,263,264,262,3,82,30,20,266,143,265,5,62,71,3,1,1,267,41,42,90,91,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,59,1,5,22,3,5,1,45,2,8,6,5,1,8,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-246,-246,-246,-246,-246,-246,-246,-246,269,-246,268,270,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,14,20,56,4,1,2,19,13,14,1,1,9,1,18,27,274,277,276,278,272,96,275,89,271,273,87,88,279,82,1,36,-242,1,36,-243,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,6,117,1,1,3,1,3,280,281,282,283,284,285,1,117,286,1,117,287,77,1,5,11,1,7,3,3,5,1,1,14,1,1,1,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,7,12,1,2,2,1,1,5,3,1,4,1,8,2,1,1,2,2,3,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,288,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,289,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,291,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,290,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,26,6,14,3,5,3,5,49,1,4,1,1,1,6,1,2,1,1,11,26,1,8,2,1,1,2,1,-267,302,103,-267,-267,-267,298,296,102,104,171,107,105,106,96,303,270,304,300,299,292,293,294,295,297,301,1,27,305,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,6,23,69,1,1,2,1,309,171,107,306,307,308,6,23,69,1,1,2,1,309,171,107,310,307,308,110,1,4,1,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,4,4,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,5,1,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,1,1,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,-5,311,-5,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,-5,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,-5,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,-5,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,312,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,313,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,314,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,315,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,316,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,317,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,318,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,319,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,320,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,321,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,322,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,323,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,324,178,325,326,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,327,178,328,329,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,330,178,331,332,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,333,178,334,335,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,336,178,337,338,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,339,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,340,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,14,20,7,6,69,6,7,26,1,9,17,46,4,2,2,158,100,160,96,159,161,163,162,101,203,341,342,343,202,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,344,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,345,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,346,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,347,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,348,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,349,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,3,23,69,1,350,171,107,46,1,5,22,3,5,1,61,14,1,7,5,7,3,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-517,-517,-517,-517,-517,-517,-517,143,-517,-517,-517,351,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,2,112,20,143,352,57,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,6,3,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-395,-395,-395,-395,-395,-395,-395,-395,-395,143,-395,-395,-395,-395,-395,-395,-395,-395,-395,353,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,110,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,5,1,1,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,9,2,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,357,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,354,355,92,93,94,95,89,41,42,90,91,86,87,88,83,356,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,360,359,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,361,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,50,1,5,22,3,5,1,15,3,1,1,2,39,13,2,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-15,-15,-15,-15,-15,-15,362,366,363,364,367,-15,365,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,5,17,35,3,1,1,369,368,372,370,371,1,52,373,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,376,375,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,377,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,374,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,193,192,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,194,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,378,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,46,16,4,3,4,6,28,1,13,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,26,170,167,103,100,76,379,169,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,171,107,105,106,96,247,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,82,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,376,375,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,377,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,380,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,193,192,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,194,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,381,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,6,24,1,5,99,-407,384,383,-407,382,6,6,25,5,1,76,22,-342,-342,-342,-342,-342,-342,7,6,25,5,1,15,61,22,-346,-346,-346,-346,385,-346,-346,17,6,14,7,4,2,3,1,65,6,5,2,20,6,1,9,16,1,-349,158,100,-349,160,-349,-349,96,159,-349,161,-349,163,162,101,386,157,9,6,11,1,13,5,1,15,61,22,-350,387,388,-350,-350,-350,-350,-350,-350,13,6,11,1,13,5,1,15,61,22,80,2,2,2,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,13,6,11,1,13,5,1,15,61,22,80,2,2,2,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,13,6,11,1,13,5,1,15,61,22,80,2,2,2,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,13,6,11,1,13,5,1,15,61,22,80,2,2,2,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,114,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,1,1,1,2,1,1,2,6,2,1,9,2,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,258,76,257,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,252,253,254,256,259,255,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,92,11,1,269,268,270,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,107,4,1,2,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,4,4,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,390,3,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,389,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-513,-513,-513,-513,-513,-513,-175,-175,-513,-175,-513,-175,-175,-175,-513,-175,-175,-513,-175,-513,-513,-513,-513,-175,-513,-175,-175,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,13,82,2,28,5,1,1,3,1,3,6,29,23,1,137,138,143,-237,-237,-237,-237,-237,-237,140,142,141,391,6,117,1,1,3,1,3,-238,-238,-238,-238,-238,-238,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,62,1,5,22,3,1,4,1,45,2,8,1,2,2,1,3,11,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-514,-514,-514,-514,-514,-514,-175,-175,-514,-175,-514,-175,-175,-175,-514,-175,-175,-514,-175,-514,-514,-514,-514,-175,-514,-175,-175,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,394,392,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,393,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,395,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,4,189,1,9,1,135,136,133,134,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,112,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,3,27,6,118,100,396,101,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-527,3,27,6,118,100,397,101,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,398,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,112,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,112,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,399,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,52,400,2,52,3,401,402,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,131,132,-181,127,128,129,-181,-181,130,-181,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,403,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,46,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,2,1,1,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,404,405,407,406,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,46,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,2,1,1,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,131,132,-445,127,128,129,408,409,407,406,130,-445,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,2,1,1,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,135,136,-447,-447,133,134,410,411,407,406,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,4,215,2,2,2,412,413,414,415,12,20,7,6,69,6,7,26,1,9,17,46,8,158,100,160,96,159,161,163,162,101,203,416,202,12,20,7,6,69,6,7,26,1,9,17,46,8,158,100,160,96,159,161,163,162,101,203,417,202,3,36,22,158,165,418,419,5,31,184,2,2,2,420,-509,-509,-509,-509,5,31,184,2,2,2,-508,-508,-508,-508,-508,25,36,153,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,421,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,3,209,1,1,422,423,424,27,36,22,131,1,1,5,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,425,131,132,426,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,27,36,22,131,1,1,5,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,427,131,132,428,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-464,3,27,6,118,100,429,101,6,17,4,15,17,1,58,-339,430,-339,431,432,433,6,17,4,15,17,1,58,-339,434,-339,435,436,433,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,437,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,46,1,5,22,3,5,1,21,40,15,7,5,10,8,12,2,8,7,15,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-364,-364,-364,-364,165,-364,438,-364,-364,-364,-364,-364,-364,-364,-364,-364,439,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,3,36,22,114,165,440,441,45,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,7,15,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,442,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,2,1,1,1,2,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,445,446,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,443,444,447,448,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,131,132,-386,127,-386,-386,-386,-386,130,-386,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-386,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-413,3,27,6,118,100,449,101,45,1,5,22,3,1,4,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-18,-18,-18,-18,450,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,2,25,6,451,452,1,25,453,7,20,8,1,6,1,3,63,458,454,455,456,457,459,96,6,20,4,2,1,13,62,230,460,461,462,231,96,2,25,6,-44,-44,1,38,463,29,6,14,3,5,3,5,3,3,18,25,1,4,1,1,1,6,1,2,1,1,11,26,1,8,2,1,1,2,1,-267,468,103,464,-267,467,469,465,466,298,296,102,104,171,107,105,106,96,303,270,304,300,299,292,293,294,295,297,301,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,470,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,471,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,2,25,13,472,473,1,27,474,4,20,82,13,26,475,96,211,163,21,17,1,34,1,1,1,1,1,2,23,2,28,5,1,1,3,1,3,35,23,1,477,-205,476,478,479,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,18,17,1,37,1,1,2,23,2,28,5,1,1,3,1,3,35,23,1,480,481,151,148,149,152,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,62,1,5,11,1,10,3,5,1,18,1,1,2,23,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,2,36,22,165,482,2,6,181,108,483,106,4,1,2,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,484,3,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,31,6,25,5,107,14,7,1,24,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-405,-405,-405,-405,487,485,486,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,2,1,1,2,2,5,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,110,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,1,5,1,2,6,2,1,9,2,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,258,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,488,490,489,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,6,6,24,1,5,107,3,-407,493,492,-407,-407,491,61,6,4,5,4,3,5,4,5,1,4,18,28,1,1,1,1,1,1,6,1,2,25,1,1,4,4,1,1,1,1,1,1,8,6,2,1,11,2,1,2,7,3,2,1,1,4,4,3,6,1,5,7,3,1,1,4,1,1,1,1,1,494,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,5,6,25,5,1,106,-252,-252,-252,-252,-252,113,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,2,1,2,1,1,2,6,2,1,9,2,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,258,76,257,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,496,495,256,259,255,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,61,6,4,5,4,3,5,4,5,1,4,18,28,1,1,1,1,1,1,6,1,2,25,1,1,4,4,1,1,1,1,1,1,8,6,2,1,11,2,1,2,7,3,2,1,1,4,4,3,6,1,5,7,3,1,1,4,1,1,1,1,1,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,5,6,25,5,1,106,-257,-257,-257,-257,-257,6,6,25,5,1,76,30,-406,-406,-406,-406,-406,-406,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,497,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,2,103,1,498,270,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,499,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,500,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,2,112,20,143,501,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,75,1,5,11,1,10,3,5,1,15,1,1,1,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,7,12,1,2,2,1,1,5,3,1,4,1,8,2,1,1,2,2,3,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,75,1,5,11,1,10,3,5,1,15,1,1,1,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,7,12,1,2,2,1,1,5,3,1,4,1,8,2,1,1,2,2,3,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,75,1,5,11,1,10,3,5,1,15,1,1,1,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,7,12,1,2,2,1,1,5,3,1,4,1,8,2,1,1,2,2,3,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,57,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,6,3,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-222,-222,-222,-222,-222,-222,502,506,-222,143,-222,503,504,505,-222,-222,-222,-222,-222,507,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,2,117,2,263,264,2,103,1,508,270,2,103,1,509,270,109,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,5,6,1,1,4,3,1,1,1,1,1,1,9,6,2,1,4,1,6,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,510,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,511,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,512,94,95,89,41,42,90,91,86,87,88,83,101,487,84,85,513,486,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,119,514,8,20,16,66,1,1,20,38,1,519,516,96,520,270,515,517,518,8,20,16,66,1,1,20,38,1,519,522,96,520,270,521,517,518,2,103,1,523,270,2,103,1,524,270,26,36,22,131,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,525,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,26,36,22,131,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,526,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,26,36,22,131,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,527,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,5,6,22,2,1,5,-407,-407,528,529,-407,5,6,22,3,5,1,-268,-268,-268,-268,-268,6,6,22,3,5,1,118,-272,-272,-272,-272,-272,530,5,6,22,3,5,1,-273,-273,-273,-273,-273,1,155,531,8,6,22,3,5,1,15,2,101,-316,-316,-316,-316,-316,532,533,-316,6,6,22,3,5,1,118,-317,-317,-317,-317,-317,-317,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,534,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,4,92,11,1,38,269,268,270,535,18,20,7,6,43,4,1,21,1,1,11,25,1,10,5,2,1,1,26,302,100,538,539,541,540,96,303,270,304,87,88,101,536,537,542,543,82,16,6,22,3,5,1,15,2,28,30,5,1,1,4,3,29,6,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,16,6,22,3,5,1,15,2,28,30,5,1,1,4,3,29,6,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,16,6,22,3,5,1,15,2,28,30,5,1,1,4,3,29,6,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,26,6,14,3,5,3,5,49,1,4,1,1,1,6,1,2,1,1,11,26,1,8,2,1,1,2,1,-267,302,103,-267,-267,-267,298,296,102,104,171,107,105,106,96,303,270,304,300,299,544,293,294,295,297,301,6,23,69,1,3,1,4,309,171,107,546,308,545,5,92,1,2,2,4,-140,-140,-140,-140,-140,108,4,1,2,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,5,1,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,547,3,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,548,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,549,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,92,1,2,2,4,-145,-145,-145,-145,-145,6,23,69,1,2,1,1,309,171,107,550,546,308,5,1,5,31,61,89,-4,-4,-4,-4,-4,25,155,34,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,551,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,112,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,112,115,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,112,115,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,112,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,114,113,112,115,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,109,110,-537,114,113,112,115,116,-537,-537,-537,120,121,122,-537,-537,-537,-537,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,109,110,-538,114,113,112,115,116,117,-538,-538,120,121,122,-538,-538,-538,-538,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,109,110,-539,114,113,112,115,116,117,118,-539,120,121,122,-539,-539,-539,-539,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,109,110,-540,114,113,112,115,116,-540,-540,-540,-540,-540,122,-540,-540,-540,-540,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,109,110,-541,114,113,112,115,116,-541,-541,-541,-541,-541,122,-541,-541,-541,-541,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,109,110,-542,114,113,112,115,116,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,109,110,-543,114,113,112,115,116,117,118,119,120,121,122,-543,-543,-543,-543,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,109,110,-544,114,113,112,115,116,117,118,119,120,121,122,123,-544,-544,-544,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,109,110,-545,114,113,112,115,116,117,118,119,120,121,122,123,-545,-545,-545,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,131,132,-552,127,-552,-552,-552,-552,130,-552,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-552,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,-556,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,131,132,-553,127,-553,-553,-553,-553,130,-553,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-553,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,-557,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,131,132,-439,552,-439,-439,-439,-439,130,-439,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,131,132,-441,127,-441,-441,-441,-441,130,-441,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,4,215,2,2,2,553,554,555,556,12,20,7,6,69,6,7,26,1,9,17,46,8,158,100,160,96,159,161,163,162,101,203,557,202,12,20,7,6,69,6,7,26,1,9,17,46,8,158,100,160,96,159,161,163,162,101,203,558,202,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,131,132,559,127,-420,-420,-420,-420,130,-420,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-420,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,131,132,560,127,-422,-422,-422,-422,130,-422,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-422,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,131,132,-438,127,-438,-438,-438,-438,130,-438,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,131,132,-440,127,-440,-440,-440,-440,130,-440,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,131,132,561,127,-421,-421,-421,-421,130,-421,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-421,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,131,132,562,127,-423,-423,-423,-423,130,-423,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-423,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,5,6,24,1,5,77,-407,563,564,-407,-407,5,6,25,5,1,76,-400,-400,-400,-400,-400,109,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,6,1,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,9,2,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,357,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,565,92,93,94,95,89,41,42,90,91,86,87,88,83,356,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,30,6,25,5,1,76,30,46,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-405,-405,-405,-405,-405,-405,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-150,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,566,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,567,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,569,568,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,570,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,376,375,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,377,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,571,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,193,192,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,194,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,572,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,46,16,4,3,4,6,28,1,13,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,26,170,167,103,100,76,573,169,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,171,107,105,106,96,247,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,82,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,376,375,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,377,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,574,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,193,192,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,194,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,575,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,577,576,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,578,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,48,1,5,22,3,5,1,15,3,1,1,41,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-16,-16,-16,-16,-16,-16,579,582,580,581,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,376,375,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,377,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,583,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,193,192,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,194,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,584,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,376,375,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,377,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,585,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,586,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,131,132,-178,127,128,129,-178,-178,130,-178,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,587,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,588,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,57,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,6,3,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-192,-192,-192,-192,-192,-192,137,138,-192,589,-192,-237,-237,-237,-192,-237,-237,-192,-237,140,-192,-192,-192,-192,142,-192,141,391,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,4,17,119,1,1,591,590,90,91,16,6,14,7,6,3,1,65,6,7,26,1,9,6,9,1,1,-408,158,100,160,-408,-408,96,159,161,163,162,101,156,592,155,157,2,6,30,593,594,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,595,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,6,6,25,5,1,76,22,-348,-348,-348,-348,-348,-348,7,6,25,5,1,15,61,22,-351,-351,-351,-351,-351,-351,-351,8,6,11,14,5,1,15,61,22,-353,596,-353,-353,-353,-353,-353,-353,57,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,6,2,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,2,6,31,108,597,2,112,20,143,351,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-165,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,598,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,599,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-168,1,37,600,1,37,601,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-529,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-162,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,602,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,604,603,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,605,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,607,606,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,608,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,131,132,-182,127,128,129,-182,-182,130,-182,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,3,1,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,609,407,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,10,20,7,6,3,22,44,6,34,9,55,614,100,611,165,613,96,612,162,101,610,106,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,616,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,615,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,45,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,3,1,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,617,407,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,45,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,3,1,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,618,407,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,619,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,620,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,621,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,622,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,217,623,1,219,624,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,625,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,11,20,7,6,69,6,7,26,1,9,17,54,158,100,160,96,159,161,163,162,101,203,626,3,209,1,1,627,423,424,4,37,159,14,1,628,629,630,424,3,37,159,15,-470,-470,-470,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,4,1,7,3,1,1,4,1,1,1,1,1,632,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,631,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,633,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,634,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,37,635,3,17,19,22,637,165,636,4,17,4,15,76,-339,638,-339,433,4,17,4,15,76,-339,639,-339,433,18,6,14,7,4,2,3,66,6,5,2,19,7,1,9,6,9,1,1,-341,158,100,-341,160,-341,96,159,-341,161,640,163,162,101,156,154,155,157,3,17,19,22,642,165,641,4,17,4,15,76,-339,643,-339,433,4,17,4,15,76,-339,644,-339,433,45,1,5,22,3,5,1,21,40,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-362,-362,-362,-362,165,-362,645,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-362,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,646,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,647,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,26,36,141,12,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,220,648,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,2,6,31,650,649,2,6,31,-375,-375,26,6,31,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-378,-378,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,6,6,31,152,1,9,1,-379,-379,135,136,133,134,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,651,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,102,652,1,37,653,3,27,6,118,100,654,101,3,23,69,1,655,171,107,3,26,1,13,656,657,231,3,23,69,1,658,171,107,1,25,659,5,6,22,2,1,5,-407,-407,660,661,-407,5,6,22,3,5,1,-35,-35,-35,-35,-35,6,20,9,6,1,3,63,458,662,456,457,459,96,6,6,22,3,5,1,1,-40,-40,-40,-40,-40,663,6,6,22,3,5,1,1,-42,-42,-42,-42,-42,664,1,25,665,1,25,666,7,20,8,1,6,1,3,63,458,667,668,456,457,459,96,2,20,82,669,96,45,1,5,19,3,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-46,-46,670,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,5,6,22,2,1,5,-407,-407,671,672,-407,5,6,22,3,5,1,-89,-89,-89,-89,-89,6,20,16,3,3,18,42,674,467,469,673,466,96,8,6,22,3,5,2,14,2,101,-94,-94,-94,-94,675,-313,-313,-313,6,6,22,3,5,1,1,-97,-97,-97,-97,-97,676,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,131,132,-56,127,128,129,-56,-56,130,-56,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,3,27,6,118,100,677,101,3,23,69,1,678,171,107,3,20,19,63,679,680,96,6,20,16,3,3,18,42,674,467,469,681,466,96,6,17,4,15,17,1,58,-339,682,-339,431,432,433,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,684,683,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,685,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,52,3,1,1,2,686,689,687,688,690,1,52,691,2,52,3,692,693,4,55,1,1,2,366,363,364,367,4,17,38,1,1,694,372,370,371,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,2,6,31,108,695,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,696,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,57,10,5,4,3,5,10,4,18,28,1,1,1,1,1,1,6,1,2,18,7,1,1,4,4,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,4,4,3,6,1,5,7,3,1,1,4,1,1,1,1,1,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,57,10,5,4,3,5,10,4,18,28,1,1,1,1,1,1,6,1,2,18,7,1,1,4,4,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,4,4,3,6,1,5,7,3,1,1,4,1,1,1,1,1,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,2,1,1,2,2,5,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,61,6,4,5,4,3,5,4,5,1,4,18,28,1,1,1,1,1,1,6,1,2,25,1,1,4,4,1,1,1,1,1,1,8,6,2,1,11,2,1,2,7,3,2,1,1,4,4,3,6,1,5,7,3,1,1,4,1,1,1,1,1,494,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,5,6,25,5,1,106,-258,-258,-258,-258,-258,2,36,107,698,697,115,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,3,1,4,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,1,1,3,1,1,2,6,2,1,9,2,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,-408,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,258,76,-408,-408,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,-408,700,699,259,255,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,4,6,30,1,106,701,-259,-259,-259,61,6,4,5,4,3,5,4,5,1,4,18,28,1,1,1,1,1,1,6,1,2,25,1,1,4,4,1,1,1,1,1,1,8,6,2,1,11,2,1,2,7,3,2,1,1,4,4,3,6,1,5,7,3,1,1,4,1,1,1,1,1,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,6,6,24,1,5,1,109,-407,493,492,-407,-407,702,109,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,6,1,2,6,2,1,9,2,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,258,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,490,489,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,30,6,25,5,1,76,30,46,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-358,-358,-358,-358,-358,-358,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,25,120,69,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,703,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,704,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,57,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,6,3,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-225,-225,-225,-225,-225,-225,-225,-225,-225,143,-225,-225,-225,-225,-225,-225,-225,-225,-225,705,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,2,103,1,706,270,2,103,1,707,270,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,708,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,23,69,1,709,171,107,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,29,31,89,37,7,1,24,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,711,710,487,712,486,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,108,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,5,6,1,1,4,3,1,1,1,1,1,1,9,6,2,1,4,1,6,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,713,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,714,94,95,89,41,42,90,91,86,87,88,83,101,487,84,85,513,486,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,120,715,106,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,4,4,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,4,7,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,716,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,-326,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,-326,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,717,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,718,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,6,24,1,5,89,-407,719,720,-407,-407,7,20,82,1,1,20,38,1,519,96,520,270,721,517,518,5,6,25,5,1,88,-303,-303,-303,-303,-303,7,6,25,5,1,15,73,30,-307,-307,-307,-307,723,-307,722,7,6,25,5,1,15,73,30,-311,-311,-311,-311,-311,-311,-311,7,6,25,5,1,15,73,30,-312,-312,-312,-312,-312,-312,-312,5,6,24,1,5,89,-407,724,720,-407,-407,7,20,82,1,1,20,38,1,519,96,520,270,725,517,518,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,45,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,4,1,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,726,727,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,728,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,3,6,22,8,730,729,731,25,6,14,3,5,8,1,48,1,4,1,1,1,6,1,2,1,1,11,26,1,10,1,1,2,1,-408,302,103,-408,-408,-408,298,296,102,104,171,107,105,106,96,303,270,304,300,299,732,294,295,297,301,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,733,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,734,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,735,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,736,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,737,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,155,738,25,143,46,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,739,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,740,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,14,6,22,3,5,1,45,30,5,1,1,4,3,6,29,-281,-281,-281,-281,-281,-283,143,-283,-283,-283,-283,-283,741,-283,14,6,22,3,5,1,45,30,5,1,1,4,3,6,29,-282,-282,-282,-282,-282,746,143,743,744,745,748,749,742,747,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,4,112,5,2,13,143,263,264,750,2,112,20,143,751,5,6,22,2,1,5,-407,-407,752,529,-407,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,5,92,1,2,2,4,-141,-141,-141,-141,-141,2,6,92,108,753,106,4,1,2,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,754,3,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,92,1,2,2,4,-144,-144,-144,-144,-144,62,1,5,22,3,1,4,1,45,2,8,1,2,2,1,3,11,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,755,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,757,178,337,338,28,29,30,31,73,32,65,54,71,103,100,76,756,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,758,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,759,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,760,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,761,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,217,762,1,219,763,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,764,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,765,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,766,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,767,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,6,30,77,769,770,768,111,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,1,4,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,5,2,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,9,2,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,-408,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,-408,-408,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,-408,92,93,94,95,89,41,42,90,91,86,87,88,83,771,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,6,24,1,5,1,-407,772,564,-407,-407,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-151,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,773,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-153,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,774,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,775,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,57,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,6,3,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-193,-193,-193,-193,-193,-193,137,138,-193,776,-193,-237,-237,-237,-193,-237,-237,-193,-237,140,-193,-193,-193,-193,142,-193,141,391,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-156,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,777,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,778,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,780,779,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,781,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,376,375,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,377,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,782,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,193,192,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,194,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,783,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,376,375,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,377,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,784,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-164,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,131,132,-179,127,128,129,-179,-179,130,-179,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,785,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,110,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,5,1,1,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,9,2,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,357,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,786,787,92,93,94,95,89,41,42,90,91,86,87,88,83,356,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,2,36,22,165,788,3,136,1,1,789,90,91,6,6,25,5,1,76,22,-343,-343,-343,-343,-343,-343,13,20,7,6,69,6,7,26,1,9,6,9,1,1,158,100,160,96,159,161,163,162,101,156,790,155,157,18,6,14,7,4,2,3,1,65,6,7,19,7,1,9,6,9,1,1,-341,158,100,-341,160,-341,-341,96,159,161,791,163,162,101,156,154,155,157,30,6,25,5,1,76,22,54,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-347,-347,-347,-347,-347,-347,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,7,6,25,5,1,15,61,22,-352,-352,-352,-352,-352,-352,-352,57,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,6,2,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,792,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-167,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-163,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-169,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,793,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,794,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,131,132,-172,127,128,129,-172,-172,130,-172,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,795,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,796,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,2,36,22,165,797,2,36,22,165,798,2,36,22,165,799,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,2,17,19,800,-462,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,131,132,-457,127,128,129,-457,-457,130,-457,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,28,36,22,131,1,1,5,3,1,13,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,801,131,132,803,127,128,129,130,802,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,27,36,22,131,1,1,5,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,804,131,132,805,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,27,36,22,131,1,1,5,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,806,131,132,807,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,27,36,22,131,1,1,5,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,808,131,132,809,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,810,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,811,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,26,36,22,131,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,812,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,4,215,2,2,2,-510,-510,-510,-510,4,37,159,14,1,813,814,630,424,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,2,36,22,165,815,3,37,159,15,-471,-471,-471,3,31,5,22,817,165,816,26,31,5,153,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-474,-474,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,26,36,22,131,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,818,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,26,36,22,131,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,819,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,45,1,5,22,3,5,1,21,40,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-17,-17,-17,-17,165,-17,820,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,3,17,19,22,822,165,821,3,17,19,22,824,165,823,5,6,24,1,5,77,-407,384,383,-407,825,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,2,36,22,165,826,3,17,19,22,828,165,827,3,17,19,22,830,165,829,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,45,1,5,22,3,5,1,21,40,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-366,-366,-366,-366,165,-366,831,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-366,26,36,22,131,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,832,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,109,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,4,4,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,3,1,1,2,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,-377,445,446,26,27,28,29,30,31,73,32,65,54,71,103,100,76,-377,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,833,447,448,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,26,6,31,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-380,-380,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,3,6,19,12,-381,834,-381,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,45,1,5,22,3,1,4,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-19,-19,-19,-19,835,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,1,25,836,6,20,9,6,1,3,63,458,837,456,457,459,96,45,1,5,22,3,1,4,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-20,-20,-20,-20,838,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,3,23,69,1,839,171,107,3,6,22,8,841,840,842,8,6,14,8,7,1,1,2,63,-408,458,-408,843,-408,-408,459,96,5,6,24,1,5,1,-407,844,661,-407,-407,2,20,82,845,96,2,20,82,846,96,3,23,69,1,847,171,107,3,23,69,1,848,171,107,1,25,849,5,6,22,2,1,5,-407,-407,850,661,-407,1,25,-45,3,23,69,1,851,171,107,3,6,22,8,853,852,854,8,6,14,8,8,1,2,21,42,-408,674,-408,-408,-408,469,855,96,5,6,24,1,5,1,-407,856,672,-407,-407,6,6,22,3,5,1,1,-94,-94,-94,-94,-94,675,3,20,19,63,857,858,96,2,20,82,859,96,1,37,860,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,1,25,861,1,25,862,5,6,22,2,1,5,-407,-407,863,672,-407,3,17,19,22,864,165,636,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,131,132,-64,127,128,129,-64,-64,130,-64,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,865,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,866,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,868,867,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,869,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,871,870,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,872,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,874,873,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,875,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,877,876,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,878,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,880,879,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,881,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,882,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,884,883,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,885,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,887,886,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,888,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,55,1,1,582,580,581,1,187,889,25,143,46,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,890,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,2,1,1,2,2,5,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,113,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,2,1,2,1,1,2,6,2,1,9,2,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,258,76,257,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,496,891,256,259,255,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,6,25,5,1,106,-253,-253,-253,-253,-253,112,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,3,1,4,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,1,5,1,2,6,2,1,9,2,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,258,76,-260,-260,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,-260,490,489,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,111,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,2,3,1,1,2,6,2,1,9,2,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,258,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,496,892,259,255,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,2,36,1,698,893,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,894,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,25,120,69,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,895,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,896,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,4,4,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,4,7,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,897,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,-324,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,-324,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,28,37,120,7,1,24,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,898,487,712,486,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,1,37,899,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,26,37,83,69,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-325,-325,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,25,120,69,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,900,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,901,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,6,30,89,903,904,902,10,6,14,16,1,65,1,1,21,37,1,-408,519,-408,-408,96,520,270,-408,905,518,5,6,24,1,5,1,-407,906,720,-407,-407,5,20,82,1,1,59,519,96,520,270,907,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,908,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,6,30,89,903,904,909,5,6,24,1,5,1,-407,910,720,-407,-407,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,3,36,22,136,165,912,911,2,36,22,165,913,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,2,1,1,2,2,5,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,21,20,3,62,1,4,1,1,1,6,1,2,1,1,11,26,1,10,1,1,2,1,302,103,298,296,102,104,171,107,105,106,96,303,270,304,300,299,914,294,295,297,301,26,6,14,3,8,5,1,48,1,4,1,1,1,6,1,2,1,1,11,26,1,8,2,1,1,2,1,-267,302,103,-267,-267,-267,298,296,102,104,171,107,105,106,96,303,270,304,300,299,915,293,294,295,297,301,5,6,22,3,5,1,-269,-269,-269,-269,-269,29,6,22,3,5,1,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-274,-274,-274,-274,-274,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,916,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,29,6,22,3,5,1,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-276,-276,-276,-276,-276,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,29,6,22,3,5,1,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-277,-277,-277,-277,-277,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,917,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,918,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,919,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,6,6,22,3,5,1,118,-318,-318,-318,-318,-318,-318,25,143,46,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,920,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,2,103,1,921,270,2,103,1,922,270,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,923,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,924,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,14,6,22,3,5,1,45,30,5,1,1,4,3,6,29,-298,-298,-298,-298,-298,-298,143,-298,-298,-298,-298,-298,925,-298,8,20,16,66,1,1,20,38,1,519,927,96,520,270,926,517,518,8,20,16,66,1,1,20,38,1,519,929,96,520,270,928,517,518,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,3,6,22,8,730,930,731,5,92,1,2,2,4,-142,-142,-142,-142,-142,2,6,31,108,931,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-520,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,932,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,131,132,-443,127,-443,-443,-443,-443,130,-443,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-443,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-493,-493,-493,-493,-493,-493,-493,-493,-493,-493,-493,-493,-493,-493,-493,-493,-493,-493,933,-493,-493,-493,-493,-493,-493,934,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-493,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,935,-498,-498,-498,-498,-498,-498,-498,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-498,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,936,-502,-502,-502,-502,-502,-502,-502,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-502,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,937,-506,-506,-506,-506,-506,-506,-506,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-506,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,938,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,939,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-424,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-426,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-425,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-427,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,107,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,9,2,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,940,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,109,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,6,1,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,9,2,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,357,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,941,92,93,94,95,89,41,42,90,91,86,87,88,83,356,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,6,25,5,1,76,-401,-401,-401,-401,-401,3,6,30,1,769,770,942,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-154,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,943,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,110,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,5,1,1,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,9,2,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,357,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,944,945,92,93,94,95,89,41,42,90,91,86,87,88,83,356,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-157,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,946,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-159,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,947,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,948,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-194,-194,-194,-194,-194,-194,-398,-398,-194,-398,-194,-398,-398,-398,-194,-398,-398,-194,-398,-194,-194,-194,-194,-398,-194,-398,-398,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,5,6,24,1,5,77,-407,949,564,-407,-407,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,2,36,22,165,950,6,6,25,5,1,76,22,-344,-344,-344,-344,-344,-344,5,6,24,1,5,1,-407,951,383,-407,-407,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-170,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,952,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,131,132,-173,127,128,129,-173,-173,130,-173,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,953,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,1,36,-463,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,954,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,955,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,956,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,957,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,958,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,27,36,22,131,1,1,5,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,959,131,132,960,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,27,36,22,131,1,1,5,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,961,131,132,962,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,2,36,22,165,963,1,37,964,4,6,31,159,15,965,-472,-472,-472,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,966,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,2,36,22,165,967,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,2,36,22,165,968,2,17,19,-340,-340,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,2,36,22,165,969,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,2,36,22,165,970,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,2,6,31,-376,-376,2,102,80,972,971,3,27,6,118,100,973,101,3,23,69,1,974,171,107,5,6,22,2,1,5,-407,-407,975,661,-407,3,27,6,118,100,976,101,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,1,25,977,4,20,15,4,63,458,978,459,96,6,20,9,6,1,3,63,458,979,456,457,459,96,5,6,22,3,5,1,-36,-36,-36,-36,-36,3,6,30,1,841,842,980,5,6,22,3,5,1,-41,-41,-41,-41,-41,5,6,22,3,5,1,-43,-43,-43,-43,-43,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,3,23,69,1,981,171,107,3,6,22,8,841,982,842,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,45,1,5,19,3,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-47,-47,983,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,4,20,19,21,42,674,469,984,96,6,20,16,3,3,18,42,674,467,469,985,466,96,5,6,22,3,5,1,-90,-90,-90,-90,-90,3,6,30,1,853,854,986,5,6,22,3,5,1,-95,-95,-95,-95,-95,5,6,22,3,5,1,-96,-96,-96,-96,-96,5,6,22,3,5,1,-98,-98,-98,-98,-98,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,3,23,69,1,987,171,107,3,23,69,1,988,171,107,3,6,22,8,853,989,854,2,36,22,165,820,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,131,132,-65,127,128,129,-65,-65,130,-65,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,990,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,131,132,-67,127,128,129,-67,-67,130,-67,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,991,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,992,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,131,132,-77,127,128,129,-77,-77,130,-77,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,993,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,994,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,131,132,-80,127,128,129,-80,-80,130,-80,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,995,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,131,132,-83,127,128,129,-83,-83,130,-83,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,996,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,997,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,131,132,-86,127,128,129,-86,-86,130,-86,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,998,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,131,132,-70,127,128,129,-70,-70,130,-70,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,131,132,-71,127,128,129,-71,-71,130,-71,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,999,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1000,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,131,132,-74,127,128,129,-74,-74,130,-74,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1001,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1002,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,6,6,24,1,5,1,109,-407,493,492,-407,-407,1003,5,6,25,5,1,106,-254,-254,-254,-254,-254,5,6,25,5,1,106,-255,-255,-255,-255,-255,1,120,1004,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,25,120,69,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1005,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,26,37,83,69,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-323,-323,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,1,120,1006,1,120,1007,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1008,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,6,20,82,1,1,58,1,519,96,520,270,1009,518,7,20,82,1,1,20,38,1,519,96,520,270,1010,517,518,5,6,25,5,1,88,-304,-304,-304,-304,-304,3,6,30,1,903,904,1011,6,6,25,5,1,15,73,-308,-308,-308,-308,1012,-308,29,6,25,5,1,88,64,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-309,-309,-309,-309,-309,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,3,6,30,1,903,904,1013,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1014,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,5,6,22,3,5,1,-270,-270,-270,-270,-270,5,6,24,1,5,1,-407,1015,529,-407,-407,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1016,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1017,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,29,6,22,3,5,1,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-279,-279,-279,-279,-279,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1018,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,6,6,22,3,5,1,118,-319,-319,-319,-319,-319,-319,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,25,120,69,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1019,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1020,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,5,6,24,1,5,89,-407,1021,720,-407,-407,7,20,82,1,1,20,38,1,519,96,520,270,1022,517,518,5,6,24,1,5,89,-407,1023,720,-407,-407,7,20,82,1,1,20,38,1,519,96,520,270,1024,517,518,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,2,1,1,2,2,5,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,1,98,1025,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1026,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1027,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1028,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1029,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1030,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1031,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,1032,-500,-500,-500,-500,-500,-500,-500,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-500,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,1033,-504,-504,-504,-504,-504,-504,-504,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-504,5,6,25,5,1,76,-402,-402,-402,-402,-402,5,6,24,1,5,1,-407,1034,564,-407,-407,5,6,25,5,1,76,-403,-403,-403,-403,-403,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-195,-195,-195,-195,-195,-195,-398,-398,-195,-398,-195,-398,-398,-398,-195,-398,-398,-195,-398,-195,-195,-195,-195,-398,-195,-398,-398,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,5,6,24,1,5,77,-407,1035,564,-407,-407,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-160,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1036,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,3,6,30,77,769,770,1037,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,3,6,30,1,593,594,1038,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,27,36,22,131,1,1,5,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1039,131,132,1040,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,27,36,22,131,1,6,3,1,13,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1041,131,132,127,128,129,130,1042,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,26,36,22,131,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1043,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,26,36,22,131,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1044,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,26,36,22,131,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1045,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1046,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1047,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,37,1048,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,3,37,159,15,-473,-473,-473,26,31,5,153,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-475,-475,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,3,6,31,80,-382,-382,1049,3,6,31,80,-383,-383,-383,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,45,1,5,22,3,1,4,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-23,-23,-23,-23,1050,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,3,6,22,8,841,1051,842,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,3,23,69,1,1052,171,107,5,6,22,3,5,1,-37,-37,-37,-37,-37,5,6,24,1,5,1,-407,1053,661,-407,-407,5,6,22,3,5,1,-38,-38,-38,-38,-38,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,1,25,1054,3,23,69,1,1055,171,107,5,6,22,3,5,1,-91,-91,-91,-91,-91,5,6,24,1,5,1,-407,1056,672,-407,-407,5,6,22,3,5,1,-92,-92,-92,-92,-92,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,1,25,1057,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,131,132,-68,127,128,129,-68,-68,130,-68,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1058,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,131,132,-78,127,128,129,-78,-78,130,-78,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1059,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,131,132,-81,127,128,129,-81,-81,130,-81,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,131,132,-84,127,128,129,-84,-84,130,-84,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1060,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,131,132,-87,127,128,129,-87,-87,130,-87,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,131,132,-72,127,128,129,-72,-72,130,-72,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1061,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,131,132,-75,127,128,129,-75,-75,130,-75,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1062,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,2,36,1,698,1063,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,1,120,1064,5,6,25,5,1,88,-305,-305,-305,-305,-305,5,6,24,1,5,1,-407,1065,720,-407,-407,1,125,1066,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1067,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,125,1068,26,36,22,131,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1069,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,3,6,30,1,730,731,1070,5,6,22,3,5,1,-275,-275,-275,-275,-275,5,6,22,3,5,1,-278,-278,-278,-278,-278,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1071,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,25,37,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1072,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,3,6,30,89,903,904,1073,5,6,24,1,5,1,-407,1074,720,-407,-407,3,6,30,89,903,904,1075,5,6,24,1,5,1,-407,1076,720,-407,-407,5,92,1,2,2,4,-143,-143,-143,-143,-143,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,1077,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-494,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,1078,-495,-495,-495,-495,-495,-495,-495,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-495,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-499,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-503,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-507,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1079,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1080,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,6,30,1,769,770,1081,3,6,30,77,769,770,1082,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-196,-196,-196,-196,-196,-196,-399,-399,-196,-399,-196,-399,-399,-399,-196,-399,-399,-196,-399,-196,-196,-196,-196,-399,-196,-399,-399,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,6,6,25,5,1,76,22,-345,-345,-345,-345,-345,-345,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1083,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1084,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,26,36,22,131,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1085,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,26,36,22,131,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1086,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,2,103,1,1087,270,3,27,6,118,100,1088,101,1,25,1089,45,1,5,22,3,1,4,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-22,-22,-22,-22,1090,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,3,6,30,1,841,842,1091,3,23,69,1,1092,171,107,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,3,6,30,1,853,854,1093,3,23,69,1,1094,171,107,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,5,6,25,5,1,106,-256,-256,-256,-256,-256,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,3,6,30,1,903,904,1095,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,29,6,25,5,1,88,64,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-310,-310,-310,-310,-310,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,45,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,4,1,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,1096,727,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,5,6,22,3,5,1,-271,-271,-271,-271,-271,5,6,22,3,5,1,-280,-280,-280,-280,-280,1,120,1097,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,3,6,30,1,903,904,1098,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,3,6,30,1,903,904,1099,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1100,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,7,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1101,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-501,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-505,5,6,25,5,1,76,-404,-404,-404,-404,-404,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,19,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-197,-197,-197,-197,-197,-197,-399,-399,-197,-399,-197,-399,-399,-399,-197,-399,-399,-197,-399,-197,-197,-197,-197,-399,-197,-399,-399,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,26,36,22,131,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1102,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,26,36,22,131,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1103,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,3,6,31,80,-384,-384,-384,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,3,23,69,1,1104,171,107,3,27,6,118,100,1105,101,5,6,22,3,5,1,-39,-39,-39,-39,-39,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,5,6,22,3,5,1,-93,-93,-93,-93,-93,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,5,6,25,5,1,88,-306,-306,-306,-306,-306,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,1,125,1106,1,125,1107,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-496,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-497,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,45,1,5,22,3,1,4,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-24,-24,-24,-24,1108,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,3,27,6,118,100,1109,101,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,22,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30],t=[],r=0,s,i,n,a;while(r","ArrowKind → =>","DoIife → DO_IIFE Code","This → THIS","This → @","ThisProperty → @ Property","ThisProperty → @ STRING","Array → [ ]","Array → [ Elisions ]","Array → [ ArgElisionList OptElisions ]","ArgElisionList → ArgElision","ArgElisionList → ArgElisionList , ArgElision","ArgElisionList → ArgElisionList OptComma TERMINATOR ArgElision","ArgElisionList → INDENT ArgElisionList OptElisions OUTDENT","ArgElisionList → ArgElisionList OptElisions INDENT ArgElisionList OptElisions OUTDENT","ArgElision → Arg","ArgElision → Elisions Arg","OptElisions → OptComma","OptElisions → , Elisions","Elisions → Elision","Elisions → Elisions Elision","Elision → ,","Elision → Elision TERMINATOR","Object → { AssignList OptComma }","Object → MAP_START { AssignList OptComma }","AssignList → ε","AssignList → AssignObj","AssignList → AssignList , AssignObj","AssignList → AssignList OptComma TERMINATOR AssignObj","AssignList → AssignList OptComma INDENT AssignList OptComma OUTDENT","AssignObj → ObjAssignable","AssignObj → ObjRestValue","AssignObj → ObjAssignable : Expression","AssignObj → ObjAssignable : INDENT Expression OUTDENT","AssignObj → Regex : Expression","AssignObj → SimpleObjAssignable = Expression","AssignObj → SimpleObjAssignable = INDENT Expression OUTDENT","AssignObj → SimpleObjAssignable VOID_MARKER : Expression","AssignObj → SimpleObjAssignable VOID_MARKER : INDENT Expression OUTDENT","ObjRestValue → ... SimpleObjAssignable","ObjRestValue → ... ObjSpreadExpr","ObjSpreadExpr → SimpleObjAssignable","ObjSpreadExpr → Object","ObjSpreadExpr → Parenthetical","ObjSpreadExpr → Super","ObjSpreadExpr → This","ObjSpreadExpr → SUPER Arguments","ObjSpreadExpr → DYNAMIC_IMPORT Arguments","ObjSpreadExpr → SimpleObjAssignable Arguments","ObjSpreadExpr → ObjSpreadExpr Arguments","ObjSpreadExpr → ObjSpreadExpr . Property","ObjSpreadExpr → ObjSpreadExpr ?. Property","ObjSpreadExpr → ObjSpreadExpr INDEX_START Expression INDEX_END","ObjSpreadExpr → ObjSpreadExpr INDEX_START INDENT Expression OUTDENT INDEX_END","ObjSpreadExpr → ObjSpreadExpr DAMMIT","ObjSpreadExpr → ObjSpreadExpr MAYBE_DAMMIT Arguments","ObjSpreadExpr → ObjSpreadExpr MAYBE_DAMMIT","ObjSpreadExpr → ObjSpreadExpr PICK_START PickList OptComma PICK_END","ObjSpreadExpr → ObjSpreadExpr OPTPICK_START PickList OptComma PICK_END","ObjSpreadExpr → ObjSpreadExpr PICK_START INDENT PickList OptComma OUTDENT PICK_END","ObjSpreadExpr → ObjSpreadExpr OPTPICK_START INDENT PickList OptComma OUTDENT PICK_END","PickList → PickItem","PickList → PickList , PickItem","PickList → PickList OptComma TERMINATOR PickItem","PickList → PickList OptComma INDENT PickList OptComma OUTDENT","PickItem → PickKey","PickItem → PickKey : PickKey","PickItem → PickKey = Expression","PickItem → PickKey : PickKey = Expression","PickKey → Identifier","PickKey → Property","SimpleObjAssignable → Identifier","SimpleObjAssignable → Property","SimpleObjAssignable → ThisProperty","ObjAssignable → SimpleObjAssignable","ObjAssignable → Atom","ObjAssignable → [ Expression ]","ObjAssignable → @ [ Expression ]","RangeDots → ..","RangeDots → ...","Range → [ Expression RangeDots Expression ]","Slice → Expression RangeDots Expression","Slice → Expression RangeDots","Slice → RangeDots Expression","Slice → RangeDots","Def → DEF Identifier OptParams Block","Def → DEF Identifier OptParams TYPE Block","Def → DEF Identifier TYPE_PARAMS OptParams Block","Def → DEF Identifier TYPE_PARAMS OptParams TYPE Block","Def → DEF Identifier VOID_MARKER OptParams Block","Def → DEF Identifier VOID_MARKER OptParams TYPE Block","Def → DEF ThisProperty OptParams Block","Def → DEF ThisProperty OptParams TYPE Block","Def → DEF ThisProperty TYPE_PARAMS OptParams Block","Def → DEF ThisProperty TYPE_PARAMS OptParams TYPE Block","Def → DEF ThisProperty VOID_MARKER OptParams Block","Def → DEF ThisProperty VOID_MARKER OptParams TYPE Block","OptParams → ε","OptParams → CALL_START ParamList CALL_END","ParamList → ε","ParamList → Param","ParamList → ParamList , Param","ParamList → ParamList OptComma TERMINATOR Param","ParamList → ParamList OptComma INDENT ParamList OptComma OUTDENT","Param → TypedParamVar","Param → TypedParamVar = Expression","Param → ... TypedParamVar","Param → ...","TypedParamVar → ParamVar","TypedParamVar → ParamVar TYPE","TypedParamVar → ParamVar OPT_MARKER TYPE","TypedParamVar → ParamVar OPT_MARKER","ParamVar → Identifier","ParamVar → Array","ParamVar → Object","ParamVar → ThisProperty","Splat → ... Expression","ClassName → Identifier","Class → CLASS","Class → CLASS Block","Class → CLASS EXTENDS Expression","Class → CLASS EXTENDS Expression Block","Class → CLASS ClassName","Class → CLASS ClassName Block","Class → CLASS ClassName EXTENDS Expression","Class → CLASS ClassName EXTENDS Expression Block","Class → CLASS ThisProperty Block","Class → CLASS ThisProperty EXTENDS Expression Block","Enum → ENUM Identifier Block","Schema → SCHEMA SCHEMA_BODY","Component → COMPONENT ComponentBlock","Component → COMPONENT EXTENDS Expression ComponentBlock","ComponentBlock → INDENT ComponentBody OUTDENT","ComponentBody → ComponentLine","ComponentBody → ComponentBody TERMINATOR ComponentLine","ComponentBody → ComponentBody TERMINATOR","ComponentLine → Expression","ComponentLine → Statement","ComponentLine → OFFER Expression","ComponentLine → ACCEPT IDENTIFIER","ComponentLine → ACCEPT IDENTIFIER FROM ProviderPath","ProviderPath → IDENTIFIER","ProviderPath → ProviderPath . Property","Render → RENDER Block","Render → RENDER Expression","Super → SUPER . Property","Super → SUPER INDEX_START Expression INDEX_END","Super → SUPER INDEX_START INDENT Expression OUTDENT INDEX_END","Invocation → Value Arguments","Invocation → SUPER Arguments","Invocation → Value ES6_OPTIONAL_CALL Arguments","Invocation → Value ? Arguments","Invocation → Value MAYBE_DAMMIT Arguments","Invocation → Value MAYBE_DAMMIT","Invocation → DYNAMIC_IMPORT Arguments","Invocation → DYNAMIC_IMPORT DAMMIT Arguments","Arguments → CALL_START CALL_END","Arguments → CALL_START ArgList OptComma CALL_END","ArgList → Arg","ArgList → ArgList , Arg","ArgList → ArgList OptComma TERMINATOR Arg","ArgList → INDENT ArgList OptComma OUTDENT","ArgList → ArgList OptComma INDENT ArgList OptComma OUTDENT","Arg → Expression","Arg → Splat","OptComma → ε","OptComma → ,","Block → INDENT OUTDENT","Block → INDENT Body OUTDENT","Parenthetical → ( Body )","Parenthetical → ( INDENT Body OUTDENT )","Return → RETURN Expression","Return → RETURN INDENT Object OUTDENT","Return → RETURN","While → WHILE Expression Block","While → UNTIL Expression Block","While → WHILE Expression WHEN Expression Block","While → UNTIL Expression WHEN Expression Block","While → Expression WHILE Expression","While → Statement WHILE Expression","While → Expression UNTIL Expression","While → Statement UNTIL Expression","While → Expression WHILE Expression WHEN Expression","While → Statement WHILE Expression WHEN Expression","While → Expression UNTIL Expression WHEN Expression","While → Statement UNTIL Expression WHEN Expression","While → Loop","IfBlock → IF Expression Block","IfBlock → IF Expression Block IfElseTail","IfElseTail → ELSE IF Expression Block","IfElseTail → ELSE IF Expression Block IfElseTail","IfElseTail → ELSE Block","UnlessBlock → UNLESS Expression Block","UnlessBlock → UNLESS Expression Block ELSE Block","If → IfBlock","If → UnlessBlock","If → Statement POST_IF Expression","If → Expression POST_IF Expression","If → Statement POST_UNLESS Expression","If → Expression POST_UNLESS Expression","If → Expression POST_IF Expression ELSE INDENT Expression OUTDENT","If → Expression POST_IF Expression ELSE Expression","Try → TRY Block","Try → TRY Expression","Try → TRY Expression Catch","Try → TRY Statement","Try → TRY Statement Catch","Try → TRY Block Catch","Try → TRY Block Finalizer","Try → TRY Block Catch Finalizer","Try → TRY Expression Finalizer","Try → TRY Expression Catch Finalizer","Try → TRY Statement Finalizer","Try → TRY Statement Catch Finalizer","Finalizer → FINALLY Block","Finalizer → FINALLY Expression","Catch → CATCH CatchVar Block","Catch → CATCH Object Block","Catch → CATCH Array Block","Catch → CATCH Block","CatchVar → Identifier","CatchVar → Identifier TYPE","Throw → THROW Expression","Throw → THROW INDENT Object OUTDENT","Switch → SWITCH Expression INDENT Cases OUTDENT","Switch → SWITCH Expression INDENT Cases ELSE Block OUTDENT","Switch → SWITCH INDENT Cases OUTDENT","Switch → SWITCH INDENT Cases ELSE Block OUTDENT","Cases → When","Cases → Cases When","When → LEADING_WHEN SimpleArgs Block","When → LEADING_WHEN SimpleArgs Block TERMINATOR","SimpleArgs → Expression","SimpleArgs → SimpleArgs , Expression","For → FOR ForVariables FORIN Expression Block","For → FOR ForVariables FORIN Expression BY Expression Block","For → FOR ForVariables FORIN Expression WHEN Expression Block","For → FOR ForVariables FORIN Expression WHEN Expression BY Expression Block","For → FOR ForVariables FORIN Expression BY Expression WHEN Expression Block","For → FOR ForVariables FOROF Expression Block","For → FOR ForVariables FOROF Expression WHEN Expression Block","For → FOR OWN ForVariables FOROF Expression Block","For → FOR OWN ForVariables FOROF Expression WHEN Expression Block","For → FOR ForVariables FORAS Expression Block","For → FOR ForVariables FORAS Expression WHEN Expression Block","For → FOR AWAIT ForVariables FORAS Expression Block","For → FOR AWAIT ForVariables FORAS Expression WHEN Expression Block","For → FOR ForVariables FORASAWAIT Expression Block","For → FOR ForVariables FORASAWAIT Expression WHEN Expression Block","For → FOR Range Block","For → FOR Range BY Expression Block","For → Expression FOR ForVariables FORIN Expression","For → Expression FOR ForVariables FORIN Expression WHEN Expression","For → Expression FOR ForVariables FORIN Expression BY Expression","For → Expression FOR ForVariables FORIN Expression WHEN Expression BY Expression","For → Expression FOR ForVariables FORIN Expression BY Expression WHEN Expression","For → Expression FOR ForVariables FOROF Expression","For → Expression FOR ForVariables FOROF Expression WHEN Expression","For → Expression FOR OWN ForVariables FOROF Expression","For → Expression FOR OWN ForVariables FOROF Expression WHEN Expression","For → Expression FOR ForVariables FORAS Expression","For → Expression FOR ForVariables FORAS Expression WHEN Expression","For → Expression FOR AWAIT ForVariables FORAS Expression","For → Expression FOR AWAIT ForVariables FORAS Expression WHEN Expression","For → Expression FOR ForVariables FORASAWAIT Expression","For → Expression FOR ForVariables FORASAWAIT Expression WHEN Expression","ForValue → ParamVar","ForVariables → ForValue","ForVariables → ForValue , ForValue","Loop → LOOP Block","Loop → LOOP Expression Block","Operation → -- SimpleAssignable","Operation → ++ SimpleAssignable","Operation → SimpleAssignable --","Operation → SimpleAssignable ++","Operation → Value ?","Operation → Expression CAST","Operation → Expression SATISFIES","Operation → Expression TERNARY Expression : Expression","Operation → UNARY Expression","Operation → DO Expression","Operation → UNARY_MATH Expression","Operation → AWAIT Expression","Operation → AWAIT INDENT Object OUTDENT","Operation → YIELD","Operation → YIELD Expression","Operation → YIELD INDENT Object OUTDENT","Operation → YIELD FROM Expression","Operation → - Expression","Operation → + Expression","Operation → Expression ** Expression","Operation → Expression + Expression","Operation → Expression - Expression","Operation → Expression MATH Expression","Operation → Expression SHIFT Expression","Operation → Expression & Expression","Operation → Expression ^ Expression","Operation → Expression | Expression","Operation → Expression COMPARE Expression","Operation → Expression MATCH Expression","Operation → Expression RELATION Expression","Operation → Expression && Expression","Operation → Expression || Expression","Operation → Expression ?? Expression","Operation → Expression && Return","Operation → Expression || Return","Operation → Expression ?? Return","Operation → Expression && STATEMENT","Operation → Expression || STATEMENT","Operation → Expression ?? STATEMENT","Operation → Expression THEN Expression","Operation → Expression ELSE Expression","Operation → Expression THEN Return","Operation → Expression ELSE Return","Operation → Expression THEN STATEMENT","Operation → Expression ELSE STATEMENT"],ruleActions:(e,t,r,s)=>{let i=t,n=t.length-1;switch(e){case 1:return["program"];case 2:return["program",...i[n]];case 3:case 35:case 89:case 140:case 257:case 261:case 268:case 303:case 342:case 375:case 400:case 470:case 474:case 509:return[i[n]];case 4:case 36:case 90:case 269:case 304:case 343:case 376:case 401:{let a=i[n-2];return a.push(i[n]),a}break;case 5:case 142:case 180:case 264:case 340:case 377:return i[n-1];case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 40:case 42:case 44:case 94:case 97:case 99:case 100:case 101:case 102:case 103:case 104:case 105:case 106:case 107:case 108:case 109:case 110:case 111:case 112:case 113:case 114:case 115:case 116:case 117:case 118:case 119:case 120:case 121:case 122:case 123:case 124:case 125:case 126:case 128:case 130:case 131:case 134:case 135:case 136:case 138:case 145:case 146:case 148:case 149:case 175:case 176:case 177:case 178:case 179:case 181:case 182:case 183:case 205:case 206:case 228:case 229:case 230:case 231:case 232:case 237:case 238:case 242:case 243:case 252:case 273:case 283:case 284:case 285:case 286:case 287:case 311:case 312:case 313:case 314:case 315:case 316:case 317:case 346:case 350:case 354:case 355:case 356:case 357:case 359:case 378:case 379:case 383:case 405:case 406:case 407:case 408:case 428:case 433:case 436:case 437:case 456:case 462:case 508:return i[n];case 14:return["type-decl",i[n]];case 15:case 351:case 463:return["typed-var",i[n-1],i[n]];case 16:case 352:return["typed-var",i[n-2],i[n]];case 17:return["def-sig",i[n-2],i[n-1],i[n]];case 18:return["import",i[n]];case 19:case 20:case 31:case 32:return["import",i[n-2],i[n]];case 21:case 33:return["import","{}",i[n]];case 22:case 34:return["import",i[n-4],i[n]];case 23:return["import",i[n-4],i[n-2],i[n]];case 24:return["import",i[n-7],i[n-4],i[n]];case 25:return["import",[i[n-1],i[n]],i[n-2]];case 26:case 27:return["import",i[n-4],[i[n-1],i[n]],i[n-2]];case 28:return["import",i[n-6],[i[n-1],i[n]],i[n-2]];case 29:return["import",i[n-6],i[n-4],[i[n-1],i[n]],i[n-2]];case 30:return["import",i[n-9],i[n-6],[i[n-1],i[n]],i[n-2]];case 37:case 91:case 270:case 305:case 344:case 402:{let a=i[n-3];return a.push(i[n]),a}break;case 38:case 92:case 143:case 399:case 403:return i[n-2];case 39:case 93:case 271:case 306:case 345:case 404:{let a=i[n-5];return a.push(...i[n-2]),a}break;case 41:case 43:case 95:case 96:case 98:case 510:return[i[n-2],i[n]];case 45:return["*",i[n]];case 46:return["export","{}"];case 47:return["export",i[n-2]];case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:return["export",i[n]];case 56:return["export-default",i[n]];case 57:return["export-default",i[n-1]];case 58:return["export-all",i[n]];case 59:case 60:return["export-all",i[n],i[n-2]];case 61:return["export-from","{}",i[n]];case 62:case 63:return["export-from",i[n-4],i[n]];case 64:case 150:case 162:case 277:return["=",i[n-2],i[n]];case 65:case 67:case 70:case 151:case 153:case 156:case 163:case 164:return["=",i[n-3],i[n]];case 66:case 152:case 278:return["=",i[n-4],i[n-1]];case 68:case 154:case 157:case 159:return["=",i[n-4],i[n]];case 69:case 155:case 158:return["=",i[n-5],i[n-1]];case 71:case 169:return["void-assign",i[n-3],i[n]];case 72:case 170:return["void-assign",i[n-4],i[n]];case 73:case 171:return["void-assign",i[n-5],i[n-1]];case 74:case 172:return["void-readonly",i[n-3],i[n]];case 75:case 173:return["void-readonly",i[n-4],i[n]];case 76:case 174:return["void-readonly",i[n-5],i[n-1]];case 77:case 185:case 186:return["state",i[n-3],i[n]];case 78:case 187:return["state",i[n-4],i[n]];case 79:return["state",i[n-5],i[n-1]];case 80:case 82:case 189:case 190:return["computed",i[n-3],i[n]];case 81:case 191:return["computed",i[n-4],i[n]];case 83:case 199:case 200:return["readonly",i[n-3],i[n]];case 84:case 201:return["readonly",i[n-4],i[n]];case 85:return["readonly",i[n-5],i[n-1]];case 86:case 88:case 203:return["effect",i[n-3],i[n]];case 87:return["effect",i[n-4],i[n]];case 127:case 296:return["dammit!",i[n-1]];case 129:case 236:return["tagged-template",i[n-2],i[n]];case 132:return"undefined";case 133:return"null";case 137:return["symbol",i[n]];case 139:return["str",...i[n-1]];case 141:case 262:case 471:{let a=i[n-1];return a.push(i[n]),a}break;case 144:return"";case 147:return["here-regex",i[n],...i[n-1]];case 160:return["=",i[n-5],i[n]];case 161:return["=",i[n-6],i[n-1]];case 165:case 323:case 535:case 536:case 540:case 542:return[i[n-1],i[n-2],i[n]];case 166:return[i[n-3],i[n-4],i[n-1]];case 167:return[i[n-2],i[n-3],i[n]];case 168:return[".=",i[n-2],i[n]];case 184:return["state",i[n-2],i[n]];case 188:return["computed",i[n-2],i[n]];case 192:return["gate",i[n-2],i[n]];case 193:return["gate",i[n-3],i[n]];case 194:return["gate",i[n-4],i[n-2]];case 195:return["gate",i[n-5],i[n-2]];case 196:return["gate",i[n-6],i[n-4],...i[n-2]];case 197:return["gate",i[n-7],i[n-4],...i[n-2]];case 198:return["readonly",i[n-2],i[n]];case 202:return["effect",i[n-2],i[n]];case 204:return["effect",null,i[n]];case 207:case 220:case 221:case 233:case 292:case 384:return[".",i[n-2],i[n]];case 208:case 234:case 293:return["?.",i[n-2],i[n]];case 209:case 212:case 235:case 294:return["[]",i[n-3],i[n-1]];case 210:case 213:case 295:return["[]",i[n-5],i[n-2]];case 211:return["regex-index",i[n-5],i[n-3],i[n-1]];case 214:return["optindex",i[n-4],i[n-1]];case 215:return["optindex",i[n-6],i[n-2]];case 216:case 299:return[".{}",i[n-4],...i[n-2]];case 217:case 300:return["?.{}",i[n-4],...i[n-2]];case 218:case 301:return[".{}",i[n-6],...i[n-3]];case 219:case 302:return["?.{}",i[n-6],...i[n-3]];case 222:case 223:case 224:case 458:case 459:case 460:case 521:case 523:return[i[n-1],i[n]];case 225:return["await",["new",i[n-1]]];case 226:return["await",["new",[i[n-2],...i[n]]]];case 227:case 289:case 290:case 291:case 390:case 396:return[i[n-1],...i[n]];case 239:return[i[n-1],i[n-3],i[n]];case 240:return[i[n-1],i[n-4],i[n]];case 241:return[i[n-1],[],i[n]];case 244:case 522:return["do-iife",i[n]];case 245:case 246:return"this";case 247:case 248:return[".","this",i[n]];case 249:return["array"];case 250:return["array",...i[n-1]];case 251:return["array",...i[n-2],...i[n-1]];case 253:{let a=i[n-2];return a.push(...i[n]),a}break;case 254:{let a=i[n-3];return a.push(...i[n]),a}break;case 255:return[...i[n-2],...i[n-1]];case 256:{let a=i[n-5];return a.push(...i[n-4],...i[n-2],...i[n-1]),a}break;case 258:return[...i[n-1],i[n]];case 259:case 267:case 339:case 341:case 398:return[];case 260:return[...i[n]];case 263:return null;case 265:return["object",...i[n-2]];case 266:return["map",...i[n-2]];case 272:return[null,i[n],i[n]];case 274:case 276:return[":",i[n-2],i[n]];case 275:return[":",i[n-4],i[n-1]];case 279:return["void-pair",i[n-3],i[n]];case 280:return["void-pair",i[n-5],i[n-1]];case 281:case 282:case 358:return["...",i[n]];case 288:case 391:return["super",...i[n]];case 297:case 394:return["dammit?",i[n-2],...i[n]];case 298:case 395:return["dammit?",i[n-1]];case 307:return[i[n],i[n],null];case 308:return[i[n-2],i[n],null];case 309:return[i[n-2],i[n-2],i[n]];case 310:return[i[n-4],i[n-2],i[n]];case 318:return["dynamicKey",i[n-1]];case 319:return["[]","this",i[n-1]];case 320:return"..";case 321:return"...";case 322:return[i[n-2],i[n-3],i[n-1]];case 324:return[i[n],i[n-1],null];case 325:return[i[n-1],null,i[n]];case 326:return[i[n],null,null];case 327:case 333:return["def",i[n-2],i[n-1],i[n]];case 328:case 334:return["def",i[n-3],i[n-2],i[n]];case 329:case 335:return["def",i[n-3],i[n-1],i[n]];case 330:case 336:return["def",i[n-4],i[n-2],i[n]];case 331:case 337:return["void-def",i[n-3],i[n-1],i[n]];case 332:case 338:return["void-def",i[n-4],i[n-2],i[n]];case 347:return["default",i[n-2],i[n]];case 348:return["rest",i[n]];case 349:return["expansion"];case 353:return["typed-var",i[n-1],""];case 360:return["class",null,null];case 361:return["class",null,null,i[n]];case 362:return["class",null,i[n]];case 363:return["class",null,i[n-1],i[n]];case 364:return["class",i[n],null];case 365:case 368:return["class",i[n-1],null,i[n]];case 366:return["class",i[n-2],i[n]];case 367:case 369:return["class",i[n-3],i[n-1],i[n]];case 370:return["enum",i[n-1],i[n]];case 371:return["schema",i[n]];case 372:return["component",null,i[n]];case 373:return["component",i[n-1],i[n]];case 374:case 410:return["block",...i[n-1]];case 380:return["offer",i[n]];case 381:return["accept",i[n]];case 382:return["accept",i[n-2],i[n]];case 385:case 386:return["render",i[n]];case 387:return[".","super",i[n]];case 388:return["[]","super",i[n-1]];case 389:return["[]","super",i[n-2]];case 392:case 393:return["optcall",i[n-2],...i[n]];case 397:return["await",["import",...i[n]]];case 409:return["block"];case 411:return i[n-1].length===1?(Array.isArray(i[n-1][0])&&(i[n-1][0].parenthesized=!0),i[n-1][0]):["block",...i[n-1]];case 412:return i[n-2].length===1?(Array.isArray(i[n-2][0])&&(i[n-2][0].parenthesized=!0),i[n-2][0]):["block",...i[n-2]];case 413:return["return",i[n]];case 414:return["return",i[n-1]];case 415:return["return"];case 416:return["while",i[n-1],i[n]];case 417:return["while",["!",i[n-1]],i[n]];case 418:return["while",i[n-3],i[n-1],i[n]];case 419:return["while",["!",i[n-3]],i[n-1],i[n]];case 420:case 421:return["while",i[n],[i[n-2]]];case 422:case 423:return["while",["!",i[n]],[i[n-2]]];case 424:case 425:return["while",i[n-2],i[n],[i[n-4]]];case 426:case 427:return["while",["!",i[n-2]],i[n],[i[n-4]]];case 429:case 431:return["if",i[n-1],i[n]];case 430:case 432:return["if",i[n-2],i[n-1],i[n]];case 434:return["if",["!",i[n-1]],i[n]];case 435:return["if",["!",i[n-3]],i[n-2],i[n]];case 438:case 439:return["if",i[n],[i[n-2]]];case 440:case 441:return["if",["!",i[n]],[i[n-2]]];case 442:return["?:",i[n-4],i[n-6],i[n-1]];case 443:return["?:",i[n-2],i[n-4],i[n]];case 444:case 445:case 447:return["try",i[n]];case 446:case 448:case 449:case 450:case 452:case 454:return["try",i[n-1],i[n]];case 451:case 453:case 455:return["try",i[n-2],i[n-1],i[n]];case 457:return["block",i[n]];case 461:return[null,i[n]];case 464:return["throw",i[n]];case 465:return["throw",i[n-1]];case 466:return["switch",i[n-3],i[n-1],null];case 467:return["switch",i[n-5],i[n-3],i[n-1]];case 468:return["switch",null,i[n-1],null];case 469:return["switch",null,i[n-3],i[n-1]];case 472:return["when",i[n-1],i[n]];case 473:return["when",i[n-2],i[n-1]];case 475:return[...i[n-2],i[n]];case 476:return["for-in",i[n-3],i[n-1],null,null,i[n]];case 477:return["for-in",i[n-5],i[n-3],i[n-1],null,i[n]];case 478:return["for-in",i[n-5],i[n-3],null,i[n-1],i[n]];case 479:return["for-in",i[n-7],i[n-5],i[n-1],i[n-3],i[n]];case 480:return["for-in",i[n-7],i[n-5],i[n-3],i[n-1],i[n]];case 481:return["for-of",i[n-3],i[n-1],!1,null,i[n]];case 482:return["for-of",i[n-5],i[n-3],!1,i[n-1],i[n]];case 483:return["for-of",i[n-3],i[n-1],!0,null,i[n]];case 484:return["for-of",i[n-5],i[n-3],!0,i[n-1],i[n]];case 485:return["for-as",i[n-3],i[n-1],!1,null,i[n]];case 486:return["for-as",i[n-5],i[n-3],!1,i[n-1],i[n]];case 487:case 489:return["for-as",i[n-3],i[n-1],!0,null,i[n]];case 488:case 490:return["for-as",i[n-5],i[n-3],!0,i[n-1],i[n]];case 491:return["for-in",[],i[n-1],null,null,i[n]];case 492:return["for-in",[],i[n-3],i[n-1],null,i[n]];case 493:return["comprehension",i[n-4],[["for-in",i[n-2],i[n],null]],[]];case 494:return["comprehension",i[n-6],[["for-in",i[n-4],i[n-2],null]],[i[n]]];case 495:return["comprehension",i[n-6],[["for-in",i[n-4],i[n-2],i[n]]],[]];case 496:return["comprehension",i[n-8],[["for-in",i[n-6],i[n-4],i[n]]],[i[n-2]]];case 497:return["comprehension",i[n-8],[["for-in",i[n-6],i[n-4],i[n-2]]],[i[n]]];case 498:return["comprehension",i[n-4],[["for-of",i[n-2],i[n],!1]],[]];case 499:return["comprehension",i[n-6],[["for-of",i[n-4],i[n-2],!1]],[i[n]]];case 500:return["comprehension",i[n-5],[["for-of",i[n-2],i[n],!0]],[]];case 501:return["comprehension",i[n-7],[["for-of",i[n-4],i[n-2],!0]],[i[n]]];case 502:return["comprehension",i[n-4],[["for-as",i[n-2],i[n],!1,null]],[]];case 503:return["comprehension",i[n-6],[["for-as",i[n-4],i[n-2],!1,null]],[i[n]]];case 504:return["comprehension",i[n-5],[["for-as",i[n-2],i[n],!0,null]],[]];case 505:return["comprehension",i[n-7],[["for-as",i[n-4],i[n-2],!0,null]],[i[n]]];case 506:return["comprehension",i[n-4],[["for-as",i[n-2],i[n],!0,null]],[]];case 507:return["comprehension",i[n-6],[["for-as",i[n-4],i[n-2],!0,null]],[i[n]]];case 511:return["loop",i[n]];case 512:return["loop-n",i[n-1],i[n]];case 513:return["--",i[n],!1];case 514:return["++",i[n],!1];case 515:return["--",i[n-1],!0];case 516:return["++",i[n-1],!0];case 517:return["?",i[n-1]];case 518:return["cast",i[n-1],i[n]];case 519:return["satisfies",i[n-1],i[n]];case 520:return["?:",i[n-4],i[n-2],i[n]];case 524:return["await",i[n]];case 525:return["await",i[n-1]];case 526:return["yield"];case 527:return["yield",i[n]];case 528:return["yield",i[n-1]];case 529:return["yield-from",i[n]];case 530:return["-",i[n]];case 531:return["+",i[n]];case 532:return["**",i[n-2],i[n]];case 533:return["+",i[n-2],i[n]];case 534:return["-",i[n-2],i[n]];case 537:return["&",i[n-2],i[n]];case 538:return["^",i[n-2],i[n]];case 539:return["|",i[n-2],i[n]];case 541:return["=~",i[n-2],i[n]];case 543:case 546:case 549:case 552:case 554:case 556:return["&&",i[n-2],i[n]];case 544:case 547:case 550:case 553:case 555:case 557:return["||",i[n-2],i[n]];case 545:case 548:case 551:return["??",i[n-2],i[n]]}},parse(e,{primitives:t=!1,tolerant:r=!1}={}){let s,i,n,a,o,l,c,h,f,u,d,p,m,g,b,S,w,R,T,j,M,x,A,C,O,W,[G,Y,k,v]=[[0],[null],[null],[[]]],U=this.parseTable,Z=1,P=[],X=[],F=24,e1=e.length;if(r)while(e1>0&&(e[e1-1]===` +`||e[e1-1]==="\r"))e1--;let Q=new Set,a1=!1,d1=[],I=[],l1=[],L=new WeakMap,t1=1,N=Object.create(this.lexer),V={ctx:{}},B=this.ctx;for(let c1 in B){if(!Object.hasOwn(B,c1))continue;let K=B[c1];V.ctx[c1]=K}if(N.setInput(e,V.ctx),r&&Array.isArray(N.lexDiagnostics))P.push(...N.lexDiagnostics);[V.ctx.lexer,V.ctx.parser]=[N,this];let r1=()=>{let c1=N.lex()||Z;if(typeof c1!=="number")c1=this.symbolIds[c1]||c1;return c1},o1=null,f1=null,h1={},p1=()=>{h=[];let c1=U[W];for(let K in c1){if(!Object.hasOwn(c1,K))continue;if(this.tokenNames[K]&&+K>2){if(!h.includes(this.tokenNames[K]))h.push(this.tokenNames[K])}}return h},n1=[this.symbolIds.INDENT,this.symbolIds.OUTDENT,this.symbolIds.TERMINATOR],u1=()=>{if(o1===Z)return"end of input";let c1=this.tokenNames[o1]||o1,K=N.text,_=typeof K==="string"&&K.trim().length>0&&K.length<=24&&!n1.includes(o1)&&!/^["'`]/.test(K);if(_&&N.token?.generated)return`implicit '${K}'`;return _?`'${K}'`:`'${c1}'`};while(!0){if(W=G[G.length-1],o1==null)if(X.length>0)R=X.shift(),o1=R.symbol,f1=R.loc,N.text=R.text,N.loc=R.loc,N.token=R.token;else o1=r1(),f1=o1===Z?{start:e.length,end:e.length}:N.loc??null;if(s=U[W]?.[o1],s==null&&r&&F>0){a=o1===Z?e1:f1?.start??e1,j=(c1=null)=>{if(a1)return;if(a1=!0,u=u1(),h=c1!=null?[this.tokenNames[c1]||c1]:p1(),b=`Unexpected ${u}`,h.length)b+=` — expected ${h.join(", ")}`;return P.push({message:b,start:a,end:f1?.end??a,expected:h,got:u})},i=o1===Z||N.token?.generated,d=function(c1){return`${G.length}:${W}:${c1}`},p=null;for(let c1 of this.repairTable[W]??[]){if(Q.has(d(c1)))continue;if(i||c1===this.symbolIds.TERMINATOR){p=c1;break}}if(p!=null)j(p),F--,Q.add(d(p)),X.unshift({symbol:o1,loc:f1,text:N.text,token:N.token}),o1=p,f1={start:a,end:a},N.text="",N.loc=f1,N.token={generated:!0,hole:!0},s=U[W]?.[o1];else if(o1!==Z){if(j(),F--,!N.token?.hole)Q.clear();o1=null;continue}}if(s==null){if(h=p1(),u=u1(),O=f1?.start??0,c=f1?.end??O,b=`Unexpected ${u}`,h.length)b+=` — expected ${h.join(", ")}`;return P.push({message:b,start:O,end:c,expected:h,got:u}),{sexpr:null,stores:null,diagnostics:P,trivia:N.trivia??null,tokens:N.tokens??null}}if(s>0){if(r&&!N.token?.hole)Q.clear();if(G.push(o1,s),Y.push(N.text),k.push(N.loc??null),t)v.push(Array.isArray(N.text?.primitiveSpans)?N.text.primitiveSpans:N.loc!=null?[{value:N.text,sourceStart:N.loc.start,sourceEnd:N.loc.end}]:[]);o1=null}else if(s<0){if(this.ctx?.onReduce)this.ctx.onReduce(-s);if(g=this.ruleTable[-s*2+1],C=(()=>{if(g)return f=k[k.length-g],m=k[k.length-1],{start:f?.start??0,end:m?.end??(f?.end??0)};else return n=f1?.start??(k[k.length-1]?.end??0),{start:n,end:n}})(),h1.$=Y[Y.length-(g||1)],h1._$=C,T=this.ruleActions.call(h1,-s,Y,k,V.ctx),T!=null)h1.$=T;if(o=Y.length-g,l=[],t)for(let c1 of this.primitiveRefs[-s])l.push(...v[o+c1-1]??[]);if(S=h1.$,Array.isArray(S)&&L.has(S)&&this.accumulators[-s])x=d1[L.get(S)-1],x.sourceStart=C.start,x.sourceEnd=C.end;if(Array.isArray(S)&&!L.has(S))A=this.semantics[-s],o=Y.length-g,M=(c1,K,_,H,q)=>{let i1,D,z,s1,R1,y1,S1=[],_1=1/0,v1=-1/0;for(let g1 of H){i1=c1;for(let m1 of g1.path)i1=i1[m1];if(!(Array.isArray(i1)&&!L.has(i1)))throw Error(`parse: nested annotation '${g1.role}' of rule ${-s} does not address a fresh array`);D=M(i1,g1.kind,g1.roles,g1.nested,null),S1.push(D),_1=Math.min(_1,d1[D-1].sourceStart),v1=Math.max(v1,d1[D-1].sourceEnd)}for(let g1 of _)if(g1.grammarRef!=null){if(R1=k[o+g1.grammarRef-1],R1==null)throw Error(`parse: missing loc for grammarRef ${g1.grammarRef} of rule ${-s} — lexer protocol violation`);_1=Math.min(_1,R1.start),v1=Math.max(v1,R1.end)}let E1=q??(_1===1/0?C:{start:_1,end:v1}),w1=t1++;L.set(c1,w1),d1.push({nodeId:w1,fileId:0,semanticKind:K,ruleId:-s,sourceStart:E1.start,sourceEnd:E1.end});for(let g1 of _)if(g1.grammarRef!=null){if(s1=o+g1.grammarRef-1,R1=k[s1],y1={nodeId:w1,role:g1.name,grammarRef:g1.grammarRef,childSlot:g1.childSlot,sourceStart:R1.start,sourceEnd:R1.end,childNodeId:null,fileId:0},g1.spread)y1.spread=!0;else y1.childNodeId=L.get(Y[s1])??null;I.push(y1)}else I.push({nodeId:w1,role:g1.name,grammarRef:null,childSlot:g1.childSlot,literal:g1.literal,fileId:0});for(let g1=0;g1{let t=Object.create(p3);return Object.defineProperty(t,"ctx",{value:{...e},enumerable:!1,writable:!0,configurable:!0}),t},In=$n();var sr=$n,V4=In.parse.bind(In);var Dn=()=>{throw Error("rip: filesystem access is unavailable in the browser")};class ar{constructor({nodes:e,roles:t,primitives:r=[],nodeIds:s=null}){this.nodes=e,this.roles=t,this.primitives=r,this.nodeIds=s,this.byId=new Map(e.map((i)=>[i.nodeId,i])),this.rolesByNode=new Map,this.primitivesByValue=new Map;for(let i of t){let n=this.rolesByNode.get(i.nodeId);if(!n)n={list:[],byName:new Map},this.rolesByNode.set(i.nodeId,n);n.list.push(i),n.byName.set(i.role,i)}for(let i of r){let n=this.primitivesByValue.get(i.value);if(!n)this.primitivesByValue.set(i.value,n=[]);n.push(i)}for(let i of this.primitivesByValue.values())i.sort((n,a)=>n.sourceStart-a.sourceStart)}idOf(e){return this.nodeIds?.get(e)??null}alias(e,t){let r=this.nodeIds?.get(t);if(r!=null)this.nodeIds.set(e,r);return e}node(e){return this.byId.get(e)??null}nodesByKind(e){return this.nodes.filter((t)=>t.semanticKind===e)}rolesOf(e){return this.rolesByNode.get(e)?.list??[]}role(e,t){return this.rolesByNode.get(e)?.byName.get(t)??null}primitiveSpans(e,t,r){return(this.primitivesByValue.get(e)??[]).filter((s)=>t<=s.sourceStart&&s.sourceEnd<=r)}selfSpan(e){let t=this.byId.get(e);return t?[t.sourceStart,t.sourceEnd]:null}}var nr=(e)=>{if(e.length===0)return null;let t=e[e.length>>1].start,r=[],s=[],i=[];for(let n of e){if(J.on)J.n++;if(n.end<=t)s.push(n);else if(n.start>t)i.push(n);else r.push(n)}return{center:t,byStart:r,byEnd:[...r].sort((n,a)=>a.end-n.end),left:nr(s),right:nr(i)}},g3=(e,t,r)=>{let s=e;while(s!==null){if(J.on)J.n++;if(tt)break;r.push(i)}s=s.left}else if(t>s.center){for(let i of s.byEnd){if(J.on)J.n++;if(i.end<=t)break;r.push(i)}s=s.right}else{for(let i of s.byStart){if(J.on)J.n++;r.push(i)}break}}return r},wi=new Set(["tsDirective","shorthandProp","identifier","literal"]);class Se{constructor(e){this.rows=e,this._genTree=null,this._srcTree=null,this._genCount=-1,this._srcCount=-1}_tree(e){let t=e==="generated";if((t?this._genCount:this._srcCount)!==this.rows.length){let r=[];if(this.rows.forEach((s,i)=>{if(J.on)J.n++;let n=t?s.generatedStart:s.sourceStart,a=t?s.generatedEnd:s.sourceEnd;if(n!=null&&ns.start-i.start||s.i-i.i),t)this._genTree=nr(r),this._genCount=this.rows.length;else this._srcTree=nr(r),this._srcCount=this.rows.length}return t?this._genTree:this._srcTree}_stab(e,t){let r=g3(this._tree(e),t,[]);return r.sort((s,i)=>s.width-i.width||s.i-i.i),r.map((s)=>this.rows[s.i])}of(e,t){return this.rows.filter((r)=>r.nodeId===e&&r.role===t).sort((r,s)=>r.generatedStart-s.generatedStart)}atGenerated(e){return this._stab("generated",e)}atSource(e){return this._stab("source",e)}static isDirect(e){return e.mappingKind==="exact"||e.mappingKind==="synthetic"}directAtGenerated(e){return this.atGenerated(e).find(Se.isDirect)??null}directAtSource(e){let t=this.atSource(e).filter(Se.isDirect);if(t.length===0)return null;let r=(i)=>i.sourceEnd-i.sourceStart;return t.filter((i)=>r(i)===r(t[0])).find((i)=>!wi.has(i.role))??t[0]}zeroWidthExactAtSource(e){if(this._zeroSrcCount!==this.rows.length){this._zeroSrc=new Map;for(let t of this.rows){if(t.mappingKind!=="exact"||t.sourceStart!==t.sourceEnd)continue;let r=this._zeroSrc.get(t.sourceStart);if(r===void 0||t.generatedStartn.mappingKind==="exact"||n.mappingKind==="cover"&&n.role==="$self"&&n.generatedStart!==n.generatedEnd,t=(n)=>n.mappingKind==="exact"?0:1,r=(n)=>n.generatedEnd-n.generatedStart,s=(n)=>n.sourceEnd-n.sourceStart,i=new Map;for(let n of this.rows){if(!e(n))continue;let a=i.get(n.generatedStart);if(!a||t(n)n.generatedStart-a.generatedStart)}}class Re{constructor(e,{source:t=null,primitives:r=!1}={}){this.stores=e,this.source=t,this.trackPrimitives=r,this.suppressClaims=!1,this.claimWithin=null,this.chunks=[],this.length=0,this.openMarks=0,this.rows=[],this.exactSourceSpans=new Set,this.markStack=[],this.exactRanges=new Map,this.tsRegions=[],this.tsDepth=0,this.echoSpans=[]}tsOnly(e){let t=this.length;if(this.tsDepth++,e(),this.tsDepth--,this.tsDepth===0&&this.length>t)this.tsRegions.push([t,this.length])}echo(e){let t=this.length;if(e(),this.length>t)this.echoSpans.push([t,this.length])}get currentMark(){return this.markStack[this.markStack.length-1]??null}get offset(){return this.length}get code(){if(this.openMarks>0)return this.chunks.join("");if(this.chunks.length!==1)this.chunks=[this.chunks.join("")],this.exactRanges.clear();return this.chunks[0]}emit(e){return this.chunks.push(e),this.length+=e.length,this}beginMark(e,t){let r,s,i=null;if(t==="$self"){let n=this.stores.node(e);r=n.sourceStart,s=n.sourceEnd}else{let n=this.stores.role(e,t);if("literal"in n)i="synthetic",r=s=this.stores.node(e).sourceStart;else r=n.sourceStart,s=n.sourceEnd}this.openMarks++,this.markStack.push({nodeId:e,role:t,sourceStart:r,sourceEnd:s,mappingKind:i,generatedStart:this.length,chunkStart:this.chunks.length})}endMark(){let e=this.markStack.pop();this.openMarks--;let{mappingKind:t}=e;if(t===null){if(t=this.matchesSource(e)?"exact":"cover",t==="cover"&&Re.NORMALIZED_ROLES.has(e.role))this.layoutTwinSegments(e)}if(this.rows.push({nodeId:e.nodeId,role:e.role,mappingKind:t,sourceStart:e.sourceStart,sourceEnd:e.sourceEnd,generatedStart:e.generatedStart,generatedEnd:this.length,fileId:0}),this.trackPrimitives&&t==="exact")this.exactSourceSpans.add(`${e.sourceStart}:${e.sourceEnd}`)}static NORMALIZED_ROLES=new Set(["annotation","returnType"]);layoutTwinSegments(e){if(this.source===null)return;let t=e.sourceEnd-e.sourceStart,r=this.length-e.generatedStart;if(t===0||r===0||t>256||r>256)return;let s=this.source.slice(e.sourceStart,e.sourceEnd),i=this.chunks.slice(e.chunkStart).join("");if(s.replace(/\s+/g," ")!==i.replace(/\s+/g," "))return;let n=0,a=0;while(n0)a=a.filter((p)=>!t.some(([m,g])=>p.sourceStart>=m&&p.sourceEnd<=g));if(a.length===0)return null;let o=r.primitiveClaims??(r.primitiveClaims=new Map),l=o.get(e);if(l===void 0)o.set(e,l=new Set);let c=a.filter((p)=>!l.has(p.sourceStart)),h=c.filter((p)=>!this.exactSourceSpans.has(`${p.sourceStart}:${p.sourceEnd}`)),f=h.length>0?h:c,u=f.filter((p)=>p.nodeId===r.nodeId),d=(u.length>0?u:f)[0];if(d===void 0){let p=[...l].pop();if(d=p===void 0?void 0:a.find((m)=>m.sourceStart===p),d===void 0){let m=a.filter((g)=>this.exactSourceSpans.has(`${g.sourceStart}:${g.sourceEnd}`));d=m[m.length-1]}if(d===void 0)return null}if(l.add(d.sourceStart),this.source!==null){let p=this.source.slice(d.sourceStart,d.sourceEnd);if(p!==e&&p.endsWith(e)&&!/[\w$]/.test(p[p.length-e.length-1]??""))return[d.sourceEnd-e.length,d.sourceEnd]}return[d.sourceStart,d.sourceEnd]}matchesSource(e){if(this.source===null)return!1;if(e.sourceStart<0||e.sourceEnd>this.source.length)throw Error(`builder: mark (nodeId ${e.nodeId}, role '${e.role}') has source span [${e.sourceStart}, ${e.sourceEnd}) outside the source text [0, ${this.source.length}) — store-protocol violation`);let t=this.length;if(t-e.generatedStart!==e.sourceEnd-e.sourceStart)return!1;let r=e.sourceStart-e.generatedStart,s=this.exactRanges.get(r),i=s!==void 0&&s.genEnd<=t,n=this.chunks.length,{generatedStart:a,chunkStart:o}=e;while(o=s.genStart&&a{throw Error("rip: schema type story is unavailable in the browser")},Cn=()=>!1;var b3={__proto__:null,maxlength:"maxLength",minlength:"minLength",readonly:"readOnly",tabindex:"tabIndex",colspan:"colSpan",rowspan:"rowSpan",contenteditable:"contentEditable",formaction:"formAction",formenctype:"formEnctype",formmethod:"formMethod",formnovalidate:"formNoValidate",formtarget:"formTarget",novalidate:"noValidate",crossorigin:"crossOrigin",usemap:"useMap",srclang:"srcLang",inputmode:"inputMode",cellpadding:"cellPadding",cellspacing:"cellSpacing",bgcolor:"bgColor",valign:"vAlign",nowrap:"noWrap",for:"htmlFor",datetime:"dateTime",ismap:"isMap",nomodule:"noModule",playsinline:"playsInline",dirname:"dirName",accesskey:"accessKey",enterkeyhint:"enterKeyHint",referrerpolicy:"referrerPolicy",fetchpriority:"fetchPriority",imagesrcset:"imageSrcset",imagesizes:"imageSizes",popovertargetaction:"popoverTargetAction",allowfullscreen:"allowFullscreen"},y3="type __RipClassValue = string | boolean | null | undefined | Record | __RipClassValue[];",S3="/** What a component projects through `slot`: the DOM its parent built for it — an element, a fragment, or a text node — or a value rendered as text. */\n"+"type __RipChildren = Node | string | number | boolean | null;",Pn="(...args: (__RipClassValue | __RipClassValue[])[]) => string",R3=`type __RipAV = E extends Record ? V | string : F; +type __RipProp = E extends Record ? V : any;`,E3=["animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","columnCount","columns","flex","flexGrow","flexShrink","fontWeight","gridArea","gridColumn","gridColumnEnd","gridColumnStart","gridRow","gridRowEnd","gridRowStart","lineHeight","opacity","order","orphans","scale","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","webkitLineClamp"],Ln=E3.map((e)=>`'${e}'`).join(" | "),Mn=(e)=>`{ [K in Exclude]?: K extends ${e} ? string | number : string | 0 } & { [k: \`--\${string}\`]: string | number }`,k3=`type __RipUnitless = ${Ln}; +`+"/** An inline style as an object: CSS property names, camelCased, plus `--custom` properties. Values are written as given — no unit is appended — so a number is admitted only where CSS reads one bare: the unitless properties, and 0 anywhere. */\n"+`type __RipCSSProperties = ${Mn("__RipUnitless")};`,Z4=`(${Mn(Ln)})`,Ni="__RipCSSProperties | string",jn="(el: object, value: __RipCSSProperties | string | null | undefined) => void",or="__RipClassValue | __RipClassValue[]",Fn=" [k: `data-${string}`]: string | number | boolean;\n [k: `aria-${string}`]: string | number | boolean;",Ai=(e)=>/^[A-Za-z_$][\w$]*$/.test(e)?e:`'${e}'`,lr=(e,t)=>`__RipAttrVals_${t?"svg_":""}${e}`,vi=(e,t)=>`__RipEl_${t?"svg_":""}${e}`,xe=(e,t)=>`${t?"SVGElementTagNameMap":"HTMLElementTagNameMap"}['${e}']`,ot=(e,t)=>typeof e==="string"&&(t?Ve.has(e):Bt.has(e));function Bn(e,t){let r=b3[e]??e,s=e==="class"?or:e==="style"?Ni:`__RipAV<${t}, '${r}'>`;return[` ${Ai(e)}: ${s};`]}function T3(){let e=[];for(let t of De)e.push(...Bn(t,"HTMLElement"));return`interface __RipGlobalAttrVals { ${e.join(` `)} -${Ms} -}`}function R3(){let e=[];for(let t of new Set([...De,...nt]))e.push(` ${Ai(t)}: ${t==="class"?or:t==="style"?Ni:"string | number"};`);return`interface __RipSvgAttrVals { +${Fn} +}`}function w3(){let e=[];for(let t of new Set([...De,...st]))e.push(` ${Ai(t)}: ${t==="class"?or:t==="style"?Ni:"string | number"};`);return`interface __RipSvgAttrVals { ${e.join(` `)} -${Ms} -}`}function E3(e,t){let r=t?"__RipSvgAttrVals":"__RipGlobalAttrVals",s=t?new Set([...De,...nt]):De,i=[];for(let a of ui(e)){if(s.has(a))continue;if(t)i.push(` ${Ai(a)}: ${a==="class"?or:a==="style"?Ni:"string | number"};`);else i.push(...js(a,xe(e,t)))}let n=i.length?` +${Fn} +}`}function _3(e,t){let r=t?"__RipSvgAttrVals":"__RipGlobalAttrVals",s=t?new Set([...De,...st]):De,i=[];for(let a of ui(e)){if(s.has(a))continue;if(t)i.push(` ${Ai(a)}: ${a==="class"?or:a==="style"?Ni:"string | number"};`);else i.push(...Bn(a,xe(e,t)))}let n=i.length?` ${i.join(` `)} -`:"";return`interface ${lr(e,t)} extends ${r} {${n}}`}function k3(e,t){let r=lr(e,t),s=xe(e,t),i=`keyof ${r} & string`,n=[` setAttribute(name: A, value: ${r}[A]): void;`,` toggleAttribute(name: ${i}, force?: boolean): boolean;`,` removeAttribute(name: ${i}): void;`,` addEventListener(type: K, listener: (e: HTMLElementEventMap[K] & { target: ${s}; currentTarget: ${s} }) => unknown, options?: boolean | AddEventListenerOptions): void;`," addEventListener(type: string, listener: (e: any) => unknown, options?: boolean | AddEventListenerOptions): void;"];if(!t)n.push(` className: ${or};`);for(let a of["value","checked","innerHTML","textContent","innerText"])n.push(` ${a}: __RipProp<${s}, '${a}'>;`);return`interface ${vi(e,t)} { +`:"";return`interface ${lr(e,t)} extends ${r} {${n}}`}function N3(e,t){let r=lr(e,t),s=xe(e,t),i=`keyof ${r} & string`,n=[` setAttribute(name: A, value: ${r}[A]): void;`,` toggleAttribute(name: ${i}, force?: boolean): boolean;`,` removeAttribute(name: ${i}): void;`,` addEventListener(type: K, listener: (e: HTMLElementEventMap[K] & { target: ${s}; currentTarget: ${s} }) => unknown, options?: boolean | AddEventListenerOptions): void;`," addEventListener(type: string, listener: (e: any) => unknown, options?: boolean | AddEventListenerOptions): void;"];if(!t)n.push(` className: ${or};`);for(let a of["value","checked","innerHTML","textContent","innerText"])n.push(` ${a}: __RipProp<${s}, '${a}'>;`);return`interface ${vi(e,t)} { ${n.join(` `)} -}`}function Fs(e,{needsClassValue:t=!1,needsCssProperties:r=!1,needsRefCell:s=!1,needsChildren:i=!1,extra:n=[]}={}){let a=new Map;for(let{tag:l,svg:c}of e)if(ot(l,c))a.set(`${c?"svg:":""}${l}`,{tag:l,svg:Boolean(c)});let o=[];if(a.size>0||t)o.push(m3);if(i)o.push(p3);if(r||[...a.values()].some((l)=>!l.svg)||n.length>0)o.push(y3);for(let l of n)o.push(l);if(a.size>0){o.push(g3);let l=[...a.values()].some((f)=>!f.svg),c=[...a.values()].some((f)=>f.svg);if(l)o.push(S3());if(c)o.push(R3());for(let{tag:f,svg:h}of a.values())o.push(E3(f,h),k3(f,h))}if(s)o.push(T3);return o.length?` +}`}function Un(e,{needsClassValue:t=!1,needsCssProperties:r=!1,needsRefCell:s=!1,needsChildren:i=!1,extra:n=[]}={}){let a=new Map;for(let{tag:l,svg:c}of e)if(ot(l,c))a.set(`${c?"svg:":""}${l}`,{tag:l,svg:Boolean(c)});let o=[];if(a.size>0||t)o.push(y3);if(i)o.push(S3);if(r||[...a.values()].some((l)=>!l.svg)||n.length>0)o.push(k3);for(let l of n)o.push(l);if(a.size>0){o.push(R3);let l=[...a.values()].some((h)=>!h.svg),c=[...a.values()].some((h)=>h.svg);if(l)o.push(T3());if(c)o.push(w3());for(let{tag:h,svg:f}of a.values())o.push(_3(h,f),N3(h,f))}if(s)o.push(A3);return o.length?` ${o.join(` `)} -`:""}var T3=["type __RipEqEl = (() => T extends A ? 1 : 2) extends (() => T extends B ? 1 : 2) ? true : false;","type __RipBaseEl = __RipEqEl extends true ? true : __RipEqEl extends true ? true : __RipEqEl extends true ? true : __RipEqEl extends true ? true : __RipEqEl extends true ? true : __RipEqEl extends true ? true : __RipEqEl extends true ? true : false;","type __RipRefOk = 0 extends (1 & V) ? unknown : [V] extends [null] ? unknown : null extends V ? ([E] extends [Extract, E>] ? unknown : __RipBaseEl> extends true ? ([E] extends [NonNullable] ? unknown : never) : never) : never;","declare function __ripRefCell(tag: K, cell: { value: V } & __RipRefOk): { value: HTMLElementTagNameMap[K] | null };","declare function __ripRefCellSvg(tag: K, cell: { value: V } & __RipRefOk): { value: SVGElementTagNameMap[K] | null };"].join(` -`);var Oi=()=>{throw Error("rip: component type story is unavailable in the browser")},Bs=()=>{throw Error("rip: component type story is unavailable in the browser")},Us=()=>!1,Vs=()=>!1,Ws=()=>{throw Error("rip: component type story is unavailable in the browser")},Hs=()=>{throw Error("rip: component type story is unavailable in the browser")},Ii=()=>!0,Gs=()=>{throw Error("rip: component type story is unavailable in the browser")},$i=()=>{throw Error("rip: component type story is unavailable in the browser")},Di=()=>{throw Error("rip: component type story is unavailable in the browser")},xi="",Ks=()=>null,Ys=()=>"",zs=()=>"",qs=()=>{throw Error("rip: component type story is unavailable in the browser")},Xs=()=>"string",Js="",Zs=()=>[],Qs=()=>!1,ea=()=>!1,ta="",ra=()=>{throw Error("rip: component type story is unavailable in the browser")},ia=()=>[],na=()=>[],Pi=()=>{throw Error("rip: component type story is unavailable in the browser")},sa=()=>{throw Error("rip: component type story is unavailable in the browser")},aa=()=>{throw Error("rip: component type story is unavailable in the browser")},oa=()=>[];var w3=new Set(["beforeMount","mounted","beforeUnmount","unmounted","onError"]),_3=new Set(["_state","_frame","_parent","_children","_root","_nodes","_target","_context","_rest","_restWriters","_restHandlers","_inheritedEl","_inheritedInst","_inheritedOwn","_refCleanups","_initFailed","_hmrOrphans","_hmrReleasing","_hmrPropKeys"]),N3=new Set(["+","-","*","/","%","**","<",">","<=",">=","==","!=","&&","||","??","<<",">>",">>>","&","^","|"]),F1=new Set(["=","void-assign","+=","-=","*=","/=","%=","**=","&&=","||=","??=","<<=",">>=",">>>=","&=","^=","|="]),lt=(e)=>F1.has(e)||e==="//="||e==="%%=",ct=new Set(["=","void-assign"]),la=new Set(["=","+=","-=","*=","/=","%=","**=","&&=","||=","??="]),ft=/^[A-Za-z_$][\w$]*$/,Ci={"==":"===","!=":"!=="},A3=new Set(["true","false","null","undefined","this"]),cr=(e,t=0)=>{let r=[],s=null;for(let i=0;iArray.isArray(e),ht=(e)=>y(e)&&N3.has(e[0])&&e.length===3,fr=new Set([".","?.","[]","optindex"]),Pe=(e)=>y(e)&&e[0]==="."&&e.length===3&&e[2]==="new",v3={__proto__:null,Array:"",ReadonlyArray:"",Map:"",Set:"",WeakMap:"",WeakSet:"",Promise:"",WeakRef:""};function O3(e){if(e[0]!=="="||e.length!==3)return null;let t=e[1];if(!y(t)||t[0]!=="."||typeof t[2]!=="string")return null;let r=t[1];if(!y(r)||r[0]!=="."||r[2]!=="prototype"||typeof r[1]!=="string")return null;return{head:r[1],member:t[2]}}function gt(e){let t=e;if(y(t)&&t[0]==="typed-var"&&t.length===3)t=t[1];if(y(t)&&t[0]==="."&&t[1]==="this"&&typeof t[2]==="string")return t[2];return null}function I3(e){let t=e;if(y(t)&&t[0]==="default"&&t.length===3)t=t[1];let r=gt(t);if(r===null)return null;return{name:r,typed:y(t)&&t[0]==="typed-var"&&t.length===3?t:null}}function $3(e){let t=[],r=new Map,s=(i,n)=>{if(!y(i))return;let a=i[0];if(a==="->"||a==="def"||a==="void-def"||a==="class"||a==="component"||a==="schema")return;if((a==="="||a==="void-assign")&&i.length===3&&y(i[1])&&i[1][0]==="."&&i[1][1]==="this"&&typeof i[1][2]==="string"){let o=i[1][2],l=r.get(o);if(l===void 0){let c={name:o,node:i,nodes:[i],viaArrow:n};r.set(o,c),t.push(c)}else if(l.nodes.push(i),l.viaArrow&&!n)l.viaArrow=!1}for(let o of i.slice(1))s(o,n||a==="=>")};for(let i of e)if(i!==null&&i!==void 0)s(i,!1);return t}var ca=new Set(["<",">","<=",">=","==","!="]),ut=(e)=>y(e)&&ca.has(e[0])&&e.length===3&&y(e[1])&&ca.has(e[1][0])&&e[1].length===3&&!e[1].parenthesized,fa=(e)=>y(e)&&(e[0]==="-"||e[0]==="+"||e[0]==="!"||e[0]==="~"||e[0]==="typeof"||e[0]==="delete")&&e.length===2,D3=(e)=>y(e)&&F1.has(e[0])&&e.length===3,ha=(e)=>y(e)&&(e[0]==="in"||e[0]==="of"||e[0]==="instanceof"||e[0]==="!in"||e[0]==="!of"||e[0]==="!instanceof")&&e.length===3,ua=(e)=>y(e)&&e[0]==="if",We=(e)=>y(e)&&(e[0]===".."||e[0]==="...")&&e.length===3,dt=(e)=>y(e)&&e[0]==="..."&&e.length===2,O1=(e)=>y(e)&&e[0]==="object",T1=(e)=>y(e)&&(e[0]==="->"||e[0]==="=>")&&e.length===3,x3=new Set(["break","continue","return"]),P3=new Set(["break"]),k1=(e)=>e==="def"||e==="void-def";function Bi(e,t){if(!y(e))return!1;let r=e[0];if(r==="await"||r==="dammit!"||r==="dammit?")return!0;if(r==="for-as"&&e[3]===!0)return!0;if(r==="class")return Bi(e[2],t);if(r==="->"||r==="=>"||k1(r)||E.isEffectDeclIn(t,e))return!1;return e.some((s)=>Bi(s,t))}function dr(e){if(!y(e))return!1;let t=e[0];if(t==="yield"||t==="yield-from")return!0;if(t==="class")return dr(e[2]);if(t==="->"||t==="=>"||k1(t))return!1;return e.some((r)=>dr(r))}var U1=(e)=>y(e)&&(e[0]==="++"||e[0]==="--")&&e.length===3,ur=/^[A-Za-z_$][A-Za-z0-9_$]*$/,mr=(e,t="",r=[])=>{if(!y(e))return r;if(e[0]==="object"){for(let s of e.slice(1)){if(!y(s)||s.length!==3)continue;let i=s[0];if(i!==":"&&i!==null)continue;let n=s[1];if(typeof n!=="string")continue;let a=ur.test(n)?`.${n}`:`[${n}]`,o=s[2];if(typeof o==="string"){if(ur.test(o))r.push([o,t+a])}else mr(o,t+a,r)}return r}if(e[0]==="array")return e.slice(1).forEach((s,i)=>{if(y(s)&&s[0]==="...")return;if(typeof s==="string"){if(ur.test(s))r.push([s,`${t}[${i}]`])}else mr(s,`${t}[${i}]`,r)}),r;return r},Li=(e)=>y(e)&&e[0]==="?:"&&e.length===4,b1=(e)=>y(e)&&e[0]==="block",te=(e)=>$e.has(String(e).split("#")[0]),re=(e)=>y(e)&&e[0]==="comprehension"&&e.length===4&&Array.isArray(e[2])&&e[2].length>0&&Array.isArray(e[2][0])&&String(e[2][0][0]).startsWith("for-");var mt=(e)=>y(e)&&((e[0]==="for-in"||e[0]==="for-of"||e[0]==="for-as")&&e.length===6||e[0]==="while"&&(e.length===3||e.length===4)||e[0]==="loop"&&e.length===2||e[0]==="loop-n"&&e.length===3);function C3(e){let t=0,r=!0,s=(i)=>Array.isArray(i);return e.map((i)=>{if(typeof i==="string"){if(!r)return{item:i,name:i,value:null};return{item:i,name:i,value:String(t++)}}if(s(i)&&i[0]==="="&&i.length===3){let n=i[2],a=typeof n==="string"&&/^[0-9]/.test(n)?Number(n.replace(/_/g,"")):s(n)&&n[0]==="-"&&typeof n[1]==="string"?-Number(n[1].replace(/_/g,"")):null;if(a!==null&&Number.isFinite(a))t=a+1,r=!0;else if(typeof n==="string"&&n.startsWith('"'))r=!1;return{item:i,name:i[1],value:n}}return{item:i,name:null,value:void 0}})}var hr=(e)=>String(e).replace(/^['"`]|['"`]$/g,"");function Ce(e){return`'${String(e).slice(1,-1).replace(/\\/g,"\\\\").replace(/'/g,"\\'")}'`}function Mi(e,t){if(!y(t)||t[0]!=="import"||t.length<2)return!1;let r=e.idOf(t);return(r!==null?e.node(r)?.semanticKind:null)==="import"}class E{constructor(e,t,{face:r="js",pins:s=null,strict:i=!1,script:n=!1,browserModule:a=!1,repl:o=!1,hmr:l=!1,tolerant:c=!1,modulePath:f=null,appStashSpec:h=null,routesUnion:u=null,routeParams:d=null}={}){this.stores=e,this.b=t,this.repl=o,this.tolerant=c,this.replResultName=null,this.replImportResolver=null,this.script=n,this.appStashSpec=h,this.routesUnion=typeof u==="string"&&u.length>0?u:null,this.routeParams=typeof d==="string"&&d.length>0?d:null,this.appAccessors={stash:null,router:null},this.routeWrapSpans=[],this.memberInitSites=[],this.sourceKeySpans=[],this.stashMemberSpans=[],this.domSurfaces=new Map,this._needsClassValue=!1,this._needsCssProperties=!1,this._needsChildren=!1,this._restTags=new Set,this._needsRefCellHelper=!1,this.intrinsics=[],this.componentUses=[],this.namespaceExports=[],this.componentNames=[],this.renderPairs=[],this.browserModule=a,this.hmr=l===!0,this.modulePath=typeof f==="string"&&f.length>0?f:null,this.importSpans=[],this.typeOnlyImports=new Set,this.pins=s,this.pinnables=[],this.pinnedWrites=new Set,this.mutables=[],this.enums=[],this.classDecls=[],this.pinSpans=[],this.loopVars=[],this.loopVarDecls=[],this.attrNames=[],this.importedRefs=[],this.strict=i,this.ts=r==="ts",this.pendingHoistTypes=new Map,this.tsDirectiveMap=new Map,this.tsNocheck=null,this.pendingHoistDirectives=[],this.tsDirectivesArmed=!1,this.pendingSigs=new WeakMap,this.pendingTypeDecls=[],this.primitiveAvoid=null,this.primitiveReuse=null,this.declaringName=!1,this.vocabulary=[],this.silences=[],this.memberDecls=[],this.narrowedDecls=[],this._narrowedReads=null,this._textOwner=null,this.kinds=[],this.componentInfo=new Map,this.schemaFns=new Map,this.moduleComponentNames=new Map,this.ind=0,this.methodName=null,this.scopes=[],this.lastProgramStmt=null,this.inPattern=!1,this.bindingPattern=!1,this.deopt=!1,this.inTarget=!1,this.voidFuncs=new WeakSet,this.sideEffectOnly=!1,this.voidReason=null,this.usesSchema=!1,this.exprDepth=0,this.renderRecord=null,this.postfixGuardDepth=0,this._schemaName=null,this.subParses=new Map,this.runtimeAliases=new Map,this.temps={used:new Set,n:0,byNode:new WeakMap},this.refPlans=new WeakMap,this.ctrlDepth=0,this.tailReturnOk=!1,this.rframes=[],this.cframes=[],this._componentName=null,this.moduleBound=new Set,this.renderSelf=null,this.projectionHost=null}isReactiveDecl(e){return E.isReactiveDeclIn(this.stores,e)}static isReactiveDeclIn(e,t){if(!y(t)||t[0]!=="state"&&t[0]!=="computed"||t.length!==3)return!1;let r=e.idOf(t),s=r!==null?e.node(r)?.semanticKind:null;return s==="state"||s==="computed"}isGateDecl(e){return E.isGateDeclIn(this.stores,e)}static isGateDeclIn(e,t){if(!y(t)||t[0]!=="gate"||t.length<3)return!1;let r=e.idOf(t);return(r!==null?e.node(r)?.semanticKind:null)==="gate"}isEffectDecl(e){return E.isEffectDeclIn(this.stores,e)}static isEffectDeclIn(e,t){if(!y(t)||t[0]!=="effect"||t.length!==3)return!1;let r=e.idOf(t);return(r!==null?e.node(r)?.semanticKind:null)==="effect"}isReadonlyDecl(e){return E.isReadonlyDeclIn(this.stores,e)}static isReadonlyDeclIn(e,t){if(!y(t)||t[0]!=="readonly"&&t[0]!=="void-readonly"||t.length!==3)return!1;let r=e.idOf(t);return(r!==null?e.node(r)?.semanticKind:null)==="readonly"}lockedHead(e,t){let r=this.stores.idOf(e);if(r===null)return!0;return this.stores.node(r)?.semanticKind===t}static pureSpine(e){return typeof e==="string"||y(e)&&typeof e[0]==="string"&&fr.has(e[0])&&!Pe(e)&&E.pureSpine(e[1])}semanticKindOf(e){let t=this.stores.idOf(e);return t!==null?this.stores.node(t)?.semanticKind??null:null}isModuleImport(e){return E.isModuleImportIn(this.stores,e)}static isModuleImportIn(e,t){return Mi(e,t)}static BLOCK_HEADS=new Set(["if","while","loop","for-in","for-of","for-as","switch","when","try","block","comprehension"]);collectReactiveNames(e){let t=new Set,r=(s,i)=>{if(!y(s)||k1(s[0])||T1(s)||s[0]==="class"||s[0]==="enum")return;if(s[0]==="component"&&s.length===3)return;if(this.isReactiveDecl(s)){if(i){let a=s[0]==="state"?":=":"~=";throw this.positionedError(s,`emitter: a reactive declaration ('${typeof s[1]==="string"?s[1]:"…"} ${a} …') must sit at module or function scope — `+"inside a statement block it lowers to a block-scoped const, and any later read would unwrap '.value' off a binding that no longer exists")}if(typeof s[1]==="string")t.add(s[1]);return}if(this.isEffectDecl(s))return;let n=i||E.BLOCK_HEADS.has(s[0]);for(let a of s)r(a,n)};for(let s of e)r(s,!1);return t}collectEffectHandles(e){let t=new Set,r=(s,i)=>{if(!y(s)||k1(s[0])||T1(s)||s[0]==="class"||s[0]==="enum")return;if(s[0]==="component"&&s.length===3)return;if(this.isReactiveDecl(s))return;if(this.isEffectDecl(s)){if(s[1]!==null){if(i)throw this.positionedError(s,`emitter: a bound effect ('${typeof s[1]==="string"?s[1]:"…"} ~> …') must sit at module or function scope — `+"inside a statement block its dispose handle would be a block-scoped const, dead to every later read "+"; a BARE '~> …' stays legal here");if(typeof s[1]==="string")t.add(s[1])}return}let n=i||E.BLOCK_HEADS.has(s[0]);for(let a of s)r(a,n)};for(let s of e)r(s,!1);return t}collectReadonlyNames(e){let t=new Set,r=(s,i)=>{if(!y(s)||k1(s[0])||T1(s)||s[0]==="class"||s[0]==="enum")return;if(s[0]==="component"&&s.length===3)return;if(this.isReactiveDecl(s)||this.isEffectDecl(s))return;if(this.isReadonlyDecl(s)){if(i)throw this.positionedError(s,`emitter: a readonly declaration ('${typeof s[1]==="string"?s[1]:"…"} =! …') must sit at module or function scope — `+"inside a statement block it lowers to a block-scoped const, dead to every later read ");if(typeof s[1]==="string")t.add(s[1]);r(s[2],i);return}let n=i||E.BLOCK_HEADS.has(s[0]);for(let a of s)r(a,n)};for(let s of e)r(s,!1);return t}static exportedConstNames(e){let t=new Set;for(let r of e){if(!y(r)||r[0]!=="export")continue;for(let s of r.slice(1))if(y(s)&&(s[0]==="="||s[0]==="void-assign")&&s.length===3&&typeof s[1]==="string")t.add(s[1])}return t}isExportedConst(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.reactive.has(e))return!1;if(r.exportedConst!==void 0&&r.exportedConst.has(e))return!0;if(r.bound.has(e))return!1;if(r.members!==void 0&&r.members.has(e))return!1}return!1}checkExportedConstWrite(e,t){let r=typeof t==="string"?[t]:E.isPattern(t)?this.patternNames(t):[];for(let s of r){if(!this.isExportedConst(s))continue;throw this.positionedError(e,`emitter: cannot assign to exported '${s}' — an exported binding lowers to `+`'export const', which never changes after its declaration; declare it as state ('export ${s} := …') to write it, or drop the export`)}}positionedError(e,t,...r){let s=Error(t);for(let i of[e,...r]){let n=this.stores.idOf(i),a=n!==null?this.stores.selfSpan(n):null;if(a){s.start=a[0],s.end=a[1];break}}return s}positionedErrorAt(e,t,r){let s=Error(r);return s.start=e,s.end=t,s}static declaredNames(e){let t=[],r=(s)=>{if(!y(s))return;if((s[0]==="enum"||s[0]==="class")&&typeof s[1]==="string")t.push(s[1]);if(k1(s[0])&&s.length===4&&typeof s[1]==="string")t.push(s[1])};for(let s of e)if(r(s),y(s)&&s[0]==="export"&&y(s[1]))r(s[1]);return t}static declaredClassNames(e){let t=new Set,r=(s)=>{if(!y(s)||!ct.has(s[0])||s.length!==3)return;if(typeof s[1]!=="string")return;let i=s[2];if(y(i)&&(i[0]==="class"||i[0]==="component"))t.add(s[1])};for(let s of e)if(r(s),y(s)&&s[0]==="export"&&y(s[1]))r(s[1]);return t}static declaredEnumNames(e){let t=new Set,r=(s)=>{if(y(s)&&s[0]==="enum"&&typeof s[1]==="string")t.add(s[1])};for(let s of e)if(r(s),y(s)&&s[0]==="export"&&y(s[1]))r(s[1]);return t}nodeLine(e){let t=this.stores.idOf(e),r=t!==null?this.stores.selfSpan(t):null;if(!r||typeof this.b.source!=="string")return null;let s=1;for(let i=0;i{if(typeof f==="string")s.push({name:f,kind:h,node:u,auth:!0})},n=(f,h)=>{if(typeof f==="string")s.push({name:f,kind:"plain",node:h,auth:!1})},a=(f,h,u)=>{let d=new Set;for(let p of f){if(d.has(p))throw this.positionedError(h,`emitter: '${p}' is bound twice in one ${u} — one binding per name; rename or drop the duplicate`,...r!==null?[r]:[]);d.add(p)}return f};{let f=[],h=[];for(let u of t??[]){this.patternNames(u,f,!0);let d=y(u)?u:t;while(h.lengthi(u,"parameter",h[d]))}let o=(f,h)=>{if(!y(f))return;if(this.isModuleImport(f)){for(let d of E.importedNames([f]))i(d,"import",f);return}if(T1(f))return;if(k1(f[0])){if(!h&&f.length===4&&typeof f[1]==="string")i(f[1],"def",f);return}if(f[0]==="enum"){if(!h)i(f[1],"enum",f);return}if(f[0]==="component"&&f.length===3)return;if(f[0]==="class"){if(!h)i(f[1],"class",f);if(f[2]!=null)o(f[2],!0);let d=f[3];if(b1(d)){for(let p of d.slice(1))if(y(p)&&F1.has(p[0])&&p.length===3)o(p[2],!0);else if(!E.isTypedWrapper(p))o(p,!0)}return}if(this.isReactiveDecl(f)){if(i(f[1],f[0]==="computed"?"computed":"state",f),!(f[0]==="computed"&&b1(f[2])&&f[2].length>2))o(f[2],h);return}if(this.isEffectDecl(f)){if(f[1]!==null)i(f[1],"effect",f);return}if(this.isReadonlyDecl(f)){i(f[1],"readonly",f),o(f[2],h);return}if(f[0]==="export"){for(let d of f.slice(1)){if(!y(d))continue;if((d[0]==="="||d[0]==="void-assign")&&d.length===3&&typeof d[1]==="string")i(d[1],"plain",d),o(d[2],h);else o(d,h)}return}if(f[0]==="for-in"||f[0]==="for-of"||f[0]==="for-as"){if(y(f[1])){let d=[];for(let p of f[1])this.patternNames(p,d,!0);a(d,f,"loop head")}for(let d of f.slice(2))o(d,!0);return}if(re(f)){o(f[1],!0);for(let d of f[2]??[]){let p=[];if(y(d[1]))for(let m of d[1])this.patternNames(m,p,!0);a(p,f,"comprehension clause"),o(d[2],!0)}for(let d of f[3]??[])o(d,!0);return}if(f[0]==="try"){for(let d of f.slice(2))if(y(d)&&d.length===2&&E.isPattern(d[0])){for(let p of a(this.patternNames(d[0]),d[0],"catch pattern"))n(p,f);o(d[1],!0)}else o(d,!0);o(f[1],!0);return}if(F1.has(f[0])&&f.length===3){if(typeof f[1]==="string")n(f[1],f);else if(f[0]==="="&&E.isPattern(f[1]))for(let d of a(this.patternNames(f[1]),f,"destructuring pattern"))n(d,f)}let u=h||E.BLOCK_HEADS.has(f[0]);for(let d of f)o(d,u)};for(let f of e)o(f,!1);s.forEach((f,h)=>{f.order=h});let l=(f,h)=>{let u=h.node!==null?this.nodeLine(h.node):null,d=h.kind==="state"||h.kind==="parameter"||h.kind==="plain"?` — assign with '${f.name} = …' to update it, or choose a different name`:" — choose a different name";throw this.positionedError(f.node,`emitter: '${f.name}' was already declared as ${h.kind}${u!==null?` on line ${u}`:""}${d}`,...r!==null?[r]:[])},c=new Map;for(let f of s){if(!f.auth)continue;let h=c.get(f.name);if(h!==void 0)l(f,h);c.set(f.name,f)}for(let f of s){if(f.auth)continue;let h=c.get(f.name);if(h!==void 0){if(h.auth&&f.orderu.members.has(f.name)))continue;c.set(f.name,f)}}pushReactiveFrame(e,t,r=[],s=null){let i=this.collectReactiveNames(e),n=this.collectEffectHandles(e),a=this.collectReadonlyNames(e);return this.checkScopeRedeclarations(e,r,s),this.rframes.push({reactive:i,computed:this.collectComputedNames(e),readonly:a,handles:n,bound:new Set([...t,...E.declaredNames(e),...n,...a]),enums:E.declaredEnumNames(e),classes:E.declaredClassNames(e),importSpecs:E.importedSpecs(e),exportedConst:E.exportedConstNames(e)}),new Set([...i,...n,...a])}withBindings(e,t){this.rframes.push({reactive:new Set,bound:new Set(e),block:!0}),t(),this.rframes.pop()}resolveBareRead(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.reactive.has(e))return"reactive";if(r.bound.has(e))return null;if(r.members!==void 0&&r.members.has(e))return r.memberReactive.has(e)?"member-reactive":"member"}return null}kindOfName(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.reactive?.has(e))return r.computed?.has(e)?"computed":"state";if(r.readonly?.has(e))return"readonly";if(r.handles?.has(e))return"effect";if(r.bound?.has(e))return null;if(r.members!==void 0&&r.members.has(e))return r.memberKinds?.get(e)??null}return null}isReactiveName(e){return this.resolveBareRead(e)==="reactive"}isEnumName(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.enums!==void 0&&r.enums.has(e))return!0;if(r.reactive.has(e)||r.bound.has(e))return!1;if(r.members!==void 0&&r.members.has(e))return!1}return!1}isClassName(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.classes!==void 0&&r.classes.has(e))return!0;if(r.reactive.has(e)||r.bound.has(e))return!1;if(r.members!==void 0&&r.members.has(e))return!1}return!1}noteLoopVarRead(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.loopVars!==void 0&&r.loopVars.has(e)){let s=r.loopBindings?.get(e);if(s!==void 0)s.owner.readVars.add(s.which);return}if(r.reactive.has(e)||r.bound.has(e))return;if(r.members!==void 0&&r.members.has(e))return}}static loopBindingsOf(e){let t=new Map;for(let r of e.loopStack){if(r.owner===void 0)continue;t.set(r.itemVar,{owner:r.owner,which:"item"}),t.set(r.indexVar,{owner:r.owner,which:"index"})}return t}isRenderLoopName(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.loopVars!==void 0&&r.loopVars.has(e))return!0;if(r.reactive.has(e)||r.bound.has(e))return!1;if(r.members!==void 0&&r.members.has(e))return!1}return!1}importSpecOf(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t],s=r.importSpecs?.get(e);if(s!==void 0)return s;if(r.reactive.has(e)||r.bound.has(e))return null;if(r.members!==void 0&&r.members.has(e))return null}return null}isComputedName(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.reactive.has(e))return r.computed!==void 0&&r.computed.has(e);if(r.bound.has(e))return!1;if(r.members!==void 0&&r.members.has(e))return!1}return!1}isAmbientReadonly(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.reactive.has(e))return!1;if(r.ambientReadonly!==void 0&&r.ambientReadonly.has(e))return!0;if(r.readonly!==void 0&&r.readonly.has(e))return!0;if(r.bound.has(e))return!1;if(r.members!==void 0&&r.members.has(e))return!1}return!1}memberKindOf(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.reactive.has(e))return null;if(r.bound.has(e))return null;if(r.members!==void 0&&r.members.has(e))return r.members.get(e)}return null}thisMemberKindOf(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.members!==void 0)return r.members.has(e)?r.members.get(e):null}return null}static targetsRestView(e){if(!y(e))return!1;if(e[0]==="array")return e.slice(1).some((r)=>E.targetsRestView(r));if(e[0]==="object")return e.slice(1).some((r)=>y(r)&&E.targetsRestView(r[2]??r[1]));if(e[0]==="default"||e[0]==="rest")return E.targetsRestView(e[1]);let t=e;while(y(t)&&(t[0]==="."||t[0]==="[]"||t[0]==="?."||t[0]==="optindex")&&t.length===3){if(t[0]==="."&&t[1]==="this"&&t[2]==="rest")return!0;t=t[1]}return!1}checkBareRest(e,t){if(t!=="rest"||this.memberKindOf(t)!=="rest")return;let r=this.positionedError(e,"emitter: `rest` is provided by `extends`, not declared here — spell it `@rest`, as with `@stash` and `@router`");if(typeof r.start!=="number"&&this.b.currentMark)r.start=this.b.currentMark.sourceStart,r.end=this.b.currentMark.sourceEnd;throw r}checkMemberWrite(e,t){if(this.cframes.length===0)return;if(this.thisMemberKindOf("rest")==="rest"&&E.targetsRestView(t))throw this.positionedError(e,"emitter: `@rest` is the runtime-owned view of the caller's undeclared props and is never assigned — "+"set the attribute on the element in render, or declare the name as a prop the caller supplies");let r=null,s=null;if(typeof t==="string")this.checkBareRest(e,t),r=t,s=this.memberKindOf(t);else if(y(t)&&t[0]==="."&&t[1]==="this"&&typeof t[2]==="string")r=t[2],s=this.thisMemberKindOf(r);if(s===null)return;if(s==="readonly")throw this.positionedError(e,`emitter: cannot assign to readonly member '${r}' — a '=!' member never changes after _init; `+"a member that changes is state (':=')");if(s==="plain"){let i=this.cframes[this.cframes.length-1];if(!i.plainWrites.has(r))i.plainWrites.set(r,e)}}notePlainRenderRead(e,t=!1){if(this.rstate==null||this.cframes.length===0)return;if((t?this.thisMemberKindOf(e):this.memberKindOf(e))!=="plain")return;this.cframes[this.cframes.length-1].renderPlainReads.add(e)}collectComputedNames(e){let t=new Set,r=(s,i)=>{if(!y(s)||k1(s[0])||T1(s)||s[0]==="class"||s[0]==="enum")return;if(s[0]==="component"&&s.length===3)return;if(this.isReactiveDecl(s)){if(!i&&s[0]==="computed"&&typeof s[1]==="string")t.add(s[1]);return}if(this.isEffectDecl(s))return;let n=i||E.BLOCK_HEADS.has(s[0]);for(let a of s)r(a,n)};for(let s of e)r(s,!1);return t}bareRewrite(e){if(this.inPattern&&this.bindingPattern)return null;return this.resolveBareRead(e)}isReactiveRead(e){return this.bareRewrite(e)==="reactive"}memberIsReactive(e){let t=this.cframes[this.cframes.length-1];return t!==void 0&&t.memberReactive.has(e)}inComponent(){return this.cframes.length>0}reactiveRead(e){let t=this.b.currentMark,r=this.b.source;if(this.ts){let s=this.emitPrimitive(e);if(s!==null&&this._narrowedReads?.has(e))this.narrowedDecls.push({start:s[0],end:s[1]})}else if(t!==null&&r!==null&&r.slice(t.sourceStart,t.sourceEnd)===e)this.b.mark(t.nodeId,t.role,()=>this.b.emit(e));else this.b.emit(e);this.b.emit(".value")}memberRead(e,t){let r=this.b.currentMark,s=this.b.source;if(this.b.emit((this.renderSelf??"this")+"."),this.ts){let i=this.emitPrimitive(e);if(t&&i!==null)this.memberDecls.push({start:i[0],end:i[1]});if(i!==null&&this._narrowedReads?.has(e))this.narrowedDecls.push({start:i[0],end:i[1]})}else if(r!==null&&s!==null&&s.slice(r.sourceStart,r.sourceEnd)===e)this.b.mark(r.nodeId,r.role,()=>this.b.emit(e));else this.b.emit(e);if(t)this.b.emit(".value")}emitPrimitive(e){let t=this.b.currentMark,r=this.ts&&typeof e==="string"?this.b.claimPrimitiveSpan(e,this.primitiveAvoid):null;if(r===null&&this.primitiveReuse!==null&&this.primitiveReuse.name===e)r=this.primitiveReuse.span,this.primitiveReuse=null;if(r!==null&&Z1(e)){let s=this.kindOfName(e),i=typeof s==="string"?{label:s,optional:!1}:s;if(i!==null)this.kinds.push({start:r[0],end:r[1],label:i.label,name:e,optional:i.optional})}if(t!==null&&r!==null){let s=Z1(e)?"identifier":"literal";this.b.markSpan(t.nodeId,s,r[0],r[1],()=>this.noteNameSpan(e))}else this.noteNameSpan(e);return r}noteNameSpan(e){if(!this.ts||this.declaringName||typeof e!=="string"||!Z1(e)){this.b.emit(e);return}let t=this.b.offset;if(this.b.emit(e),this.isEnumName(e)){this.enums.push([t,this.b.offset]);return}if(this.isReactiveName(e)&&!this.isComputedName(e)){this.mutables.push([t,this.b.offset]);return}if(this.isClassName(e)){this.classDecls.push([t,this.b.offset]);return}if(this.isRenderLoopName(e)){this.loopVars.push([t,this.b.offset]),this.noteLoopVarRead(e);return}let r=this.importSpecOf(e);if(r!==null)this.importedRefs.push([t,this.b.offset,r.importedName,r.specifier])}withDeclaredName(e){let t=this.declaringName;this.declaringName=!0;try{return e()}finally{this.declaringName=t}}noteVocabulary(e,t,r){let s=this.wordSpanIn(t,r);if(s!==null)this.vocabulary.push({kind:e,start:s[0],end:s[1]})}noteShorthandClasses(e,t){for(let r of e)this.noteVocabulary("render-channel",r,t)}noteHeadKeyword(e,t,r){if(!this.ts)return;let s=y(r)?this.stores.idOf(r):null,i=s!==null?this.stores.selfSpan(s):null;if(i===null||this.b.source===null)return;let n=i[0]+t.length;if(n>i[1]||this.b.source.slice(i[0],n)!==t)return;this.vocabulary.push({kind:e,start:i[0],end:n})}noteKind(e,t,r){let s=this.stores.idOf(e),i=s!==null?this.stores.role(s,t):null;if(i?.sourceStart!=null&&i.sourceEnd>i.sourceStart){let n=this.b.source?.slice(i.sourceStart,i.sourceEnd)??null;this.kinds.push({start:i.sourceStart,end:i.sourceEnd,label:r,name:n})}}noteSilence(e,t){let r=this.wordSpanIn(e,t);if(r!==null)this.silences.push([r[0],r[1]])}static MEMBER_KINDS={state:"state",computed:"computed",readonly:"readonly",gate:"gate",accept:"accept"};static memberLabel(e){if(e.isPublic&&(e.kind==="prop"||e.kind==="state"))return"prop";return E.MEMBER_KINDS[e.kind]??null}noteMemberDecl(e){if(!this.ts)return;let t=y(e.nameNode)?this.stores.idOf(e.nameNode):null,r=t!==null?this.stores.role(t,e.nameRole):null;if(!r||typeof r.sourceStart!=="number")return;let s=E.memberLabel(e);if(s!==null)this.kinds.push({start:r.sourceStart,end:r.sourceEnd,label:s,name:e.name,optional:e.optional===!0,...e.kind==="accept"&&e.provider!=null?{provider:e.provider}:{}});if(!Vs(e))return;this.memberDecls.push({start:r.sourceStart,end:r.sourceEnd})}wordSpanIn(e,t){if(!this.ts)return null;let r=y(t)?this.stores.idOf(t):null,s=r!==null?this.stores.selfSpan(r):null;if(s===null)return null;let i=this.stores.primitiveSpans(e,s[0],s[1]);if(i.length!==1)return null;return[i[0].sourceStart,i[0].sourceEnd]}bareChildSpan(e,t,r){let s=(l)=>{let c=y(l)?this.stores.idOf(l):null;return c!==null?this.stores.selfSpan(c):null},i=s(r)??s(this.rstate?.node??null);if(i===null)return null;let[n,a]=i;for(let l=t-1;l>=0;l--){let c=s(e[l]);if(c){n=c[1];break}}for(let l=t+1;l — did you mean '${i}'?`;if(r)return`'${t}' is not a known attribute of <${e}> — a bare word sets the boolean attribute it `+`names; render a value with \`= ${t}\`, or spell \`name: value\``;return`'${t}' is not a known attribute of <${e}> — `+(s?"SVG attribute names are the spec's own, case-sensitive (`viewBox`)":"HTML attribute names are the spec's own, lowercase")+"; `data-`/`aria-` names take any suffix"}emitRewrittenPrimitive(e,t){let r=this.b.currentMark,s=this.ts?this.b.claimPrimitiveSpan(e):null;if(r!==null&&s!==null)this.b.markSpan(r.nodeId,"identifier",s[0],s[1],()=>this.b.emit(t));else this.b.emit(t);return s}emitQuotedPrimitive(e,t="'"){this.b.emit(t);let r=this.emitPrimitive(e);return this.b.emit(t),r}emitKeyAs(e,t){return e===t?this.emitPrimitive(e):this.emitRewrittenPrimitive(e,t)}emitPropertyRoadKey(e){let t=this.b.offset;if(e(),this.ts)this.attrNames.push([t,this.b.offset])}emitSchemaText(e,t=!1){let r=0,s=null;while(r0){let c=e[o];if(l!==null){if(c==="\\")o++;else if(c===l)l=null}else if(c==='"'||c==="'"||c==="`")l=c;else if(c==="{")a++;else if(c==="}")a--;o++}if(this.b.emit("${"),this.emitSchemaText(e.slice(n+2,a===0?o-1:o),t),a===0)this.b.emit("}");n=o;continue}this.b.emit(e[n]),n++}if(nthis.b.emit(a));else if(Z1(a))this.emitPrimitive(a);else this.b.emit(a);if(np.value===o[m].value),h=null;if(!f){h=Array.from({length:l+1},()=>Array(c+1).fill(0));for(let p=l-1;p>=0;p--)for(let m=c-1;m>=0;m--)h[p][m]=a[p].value===o[m].value?h[p+1][m+1]+1:Math.max(h[p][m+1],h[p+1][m])}let u=0,d=0;for(let p=0;pthis.noteNameSpan(m.value)),u++}else this.noteNameSpan(m.value);d=m.end}this.b.emit(r.slice(d))}registerVoidValue(e,t){if(T1(e)){this.voidFuncs.add(e);return}if(!(y(e)&&k1(e[0])))throw this.positionedError(e,"emitter: the void marker (a trailing '!' on the defined name) requires a function value — `save! = ->`, `save! =! ->`, `save! = =>`, `fn!: ->`",t)}withTarget(e){let t=this.inTarget;this.inTarget=!0,e(),this.inTarget=t}withPattern(e,t=!1){let r=this.inPattern,s=this.bindingPattern;this.inPattern=!0,this.bindingPattern=t,e(),this.inPattern=r,this.bindingPattern=s}withExpression(e){let t=this.inPattern,r=this.bindingPattern;this.inPattern=!1,this.bindingPattern=!1,e(),this.inPattern=t,this.bindingPattern=r}withDeopt(e){let t=this.deopt;this.deopt=!0,e(),this.deopt=t}mark(e,t,r){let s=this.stores.idOf(e);if(s!==null&&(t==="$self"||this.stores.role(s,t)!==null))this.b.mark(s,t,r);else r()}beginMark(e,t){let r=this.stores.idOf(e);if(r!==null&&(t==="$self"||this.stores.role(r,t)!==null))return this.b.beginMark(r,t),!0;return!1}endMark(e){if(e)this.b.endMark()}annotationText(e,t="annotation"){let r=this.stores.idOf(e);if(r===null)return null;let s=this.stores.role(r,t);if(!s||s.sourceStart==null||this.b.source===null)return null;return jt(this.b.source.slice(s.sourceStart,s.sourceEnd).replace(/^\s*:\s*/,""))}tsAnnotate(e,t,r){this.b.tsOnly(()=>this.mark(e,t,()=>this.emitTypeText(e,t,`: ${r}`)))}tsReturnAnnotation(e,t,r,s,i=e){if(!this.ts)return;let n=this.annotationText(e,"returnType");if(n!==null){let a=t&&!s&&!/^Promise\s*`:n;this.b.tsOnly(()=>this.mark(e,"returnType",()=>this.emitTypeText(e,"returnType",`: ${a}`)));return}if(r&&!s){let a=t?"Promise":"void";this.b.tsOnly(()=>this.mark(i,"voidMarker",()=>this.b.emit(`: ${a}`)))}}tsRendered(e,t){try{return t()}catch(r){if(r instanceof ii)throw this.positionedError(e,`emitter: ${r.message}`);throw r}}emitTsTypeDecls(e,t){if(!this.ts)return;for(let r of e){if(!y(r)||r[0]!=="type-decl")continue;this.tsTypeDeclLine(r,t)}}tsTypeDeclLine(e,t){let r=this.tsRendered(e,()=>vn(e[1])),s=this.tsDirectiveMap.get(e);if(s!==void 0){if(this.tsDirectiveMap.delete(e),r.length===1)for(let i of s)this.tsDirectiveLine(i,t,!0)}this.b.tsOnly(()=>{this.b.emit(t),this.mark(e,"$self",()=>this.mark(e,"declaration",()=>{this.emitTypeText(e,"declaration",r.join(` +`:""}var A3=["type __RipEqEl = (() => T extends A ? 1 : 2) extends (() => T extends B ? 1 : 2) ? true : false;","type __RipBaseEl = __RipEqEl extends true ? true : __RipEqEl extends true ? true : __RipEqEl extends true ? true : __RipEqEl extends true ? true : __RipEqEl extends true ? true : __RipEqEl extends true ? true : __RipEqEl extends true ? true : false;","type __RipRefOk = 0 extends (1 & V) ? unknown : [V] extends [null] ? unknown : null extends V ? ([E] extends [Extract, E>] ? unknown : __RipBaseEl> extends true ? ([E] extends [NonNullable] ? unknown : never) : never) : never;","declare function __ripRefCell(tag: K, cell: { value: V } & __RipRefOk): { value: HTMLElementTagNameMap[K] | null };","declare function __ripRefCellSvg(tag: K, cell: { value: V } & __RipRefOk): { value: SVGElementTagNameMap[K] | null };"].join(` +`);var Oi=()=>{throw Error("rip: component type story is unavailable in the browser")},Vn=()=>{throw Error("rip: component type story is unavailable in the browser")},Wn=()=>!1,Hn=()=>!1,Kn=()=>{throw Error("rip: component type story is unavailable in the browser")},Gn=()=>{throw Error("rip: component type story is unavailable in the browser")},Ii=()=>!0,Yn=()=>{throw Error("rip: component type story is unavailable in the browser")},$i=()=>{throw Error("rip: component type story is unavailable in the browser")},Di=()=>{throw Error("rip: component type story is unavailable in the browser")},xi="",zn=()=>null,qn=()=>"",Xn=()=>"",Jn=()=>{throw Error("rip: component type story is unavailable in the browser")},Zn=()=>"string",Qn="",ea=()=>[],ta=()=>!1,ra=()=>!1,ia="",sa=()=>{throw Error("rip: component type story is unavailable in the browser")},na=()=>[],aa=()=>[],Ci=()=>{throw Error("rip: component type story is unavailable in the browser")},oa=()=>{throw Error("rip: component type story is unavailable in the browser")},la=()=>{throw Error("rip: component type story is unavailable in the browser")},ca=()=>[];var v3=new Set(["beforeMount","mounted","beforeUnmount","unmounted","onError"]),O3=new Set(["_state","_frame","_parent","_children","_root","_nodes","_target","_context","_rest","_restWriters","_restHandlers","_inheritedEl","_inheritedInst","_inheritedOwn","_refCleanups","_initFailed","_hmrOrphans","_hmrReleasing","_hmrPropKeys","_asChild"]),I3=new Set(["+","-","*","/","%","**","<",">","<=",">=","==","!=","&&","||","??","<<",">>",">>>","&","^","|"]),F1=new Set(["=","void-assign","+=","-=","*=","/=","%=","**=","&&=","||=","??=","<<=",">>=",">>>=","&=","^=","|="]),lt=(e)=>F1.has(e)||e==="//="||e==="%%=",ct=new Set(["=","void-assign"]),ha=new Set(["=","+=","-=","*=","/=","%=","**=","&&=","||=","??="]),ht=/^[A-Za-z_$][\w$]*$/,Pi={"==":"===","!=":"!=="},$3=new Set(["true","false","null","undefined","this"]),cr=(e,t=0)=>{let r=[],s=null;for(let i=0;iArray.isArray(e),ft=(e)=>y(e)&&I3.has(e[0])&&e.length===3,hr=new Set([".","?.","[]","optindex"]),Ce=(e)=>y(e)&&e[0]==="."&&e.length===3&&e[2]==="new",D3={__proto__:null,Array:"",ReadonlyArray:"",Map:"",Set:"",WeakMap:"",WeakSet:"",Promise:"",WeakRef:""};function x3(e){if(e[0]!=="="||e.length!==3)return null;let t=e[1];if(!y(t)||t[0]!=="."||typeof t[2]!=="string")return null;let r=t[1];if(!y(r)||r[0]!=="."||r[2]!=="prototype"||typeof r[1]!=="string")return null;return{head:r[1],member:t[2]}}function gt(e){let t=e;if(y(t)&&t[0]==="typed-var"&&t.length===3)t=t[1];if(y(t)&&t[0]==="."&&t[1]==="this"&&typeof t[2]==="string")return t[2];return null}function C3(e){let t=e;if(y(t)&&t[0]==="default"&&t.length===3)t=t[1];let r=gt(t);if(r===null)return null;return{name:r,typed:y(t)&&t[0]==="typed-var"&&t.length===3?t:null}}function P3(e){let t=[],r=new Map,s=(i,n)=>{if(!y(i))return;let a=i[0];if(a==="->"||a==="def"||a==="void-def"||a==="class"||a==="component"||a==="schema")return;if((a==="="||a==="void-assign")&&i.length===3&&y(i[1])&&i[1][0]==="."&&i[1][1]==="this"&&typeof i[1][2]==="string"){let o=i[1][2],l=r.get(o);if(l===void 0){let c={name:o,node:i,nodes:[i],viaArrow:n};r.set(o,c),t.push(c)}else if(l.nodes.push(i),l.viaArrow&&!n)l.viaArrow=!1}for(let o of i.slice(1))s(o,n||a==="=>")};for(let i of e)if(i!==null&&i!==void 0)s(i,!1);return t}var fa=new Set(["<",">","<=",">=","==","!="]),ut=(e)=>y(e)&&fa.has(e[0])&&e.length===3&&y(e[1])&&fa.has(e[1][0])&&e[1].length===3&&!e[1].parenthesized,ua=(e)=>y(e)&&(e[0]==="-"||e[0]==="+"||e[0]==="!"||e[0]==="~"||e[0]==="typeof"||e[0]==="delete")&&e.length===2,L3=(e)=>y(e)&&F1.has(e[0])&&e.length===3,da=(e)=>y(e)&&(e[0]==="in"||e[0]==="of"||e[0]==="instanceof"||e[0]==="!in"||e[0]==="!of"||e[0]==="!instanceof")&&e.length===3,ma=(e)=>y(e)&&e[0]==="if",We=(e)=>y(e)&&(e[0]===".."||e[0]==="...")&&e.length===3,dt=(e)=>y(e)&&e[0]==="..."&&e.length===2,O1=(e)=>y(e)&&e[0]==="object",T1=(e)=>y(e)&&(e[0]==="->"||e[0]==="=>")&&e.length===3,M3=new Set(["break","continue","return"]),j3=new Set(["break"]),k1=(e)=>e==="def"||e==="void-def";function Bi(e,t){if(!y(e))return!1;let r=e[0];if(r==="await"||r==="dammit!"||r==="dammit?")return!0;if(r==="for-as"&&e[3]===!0)return!0;if(r==="class")return Bi(e[2],t);if(r==="->"||r==="=>"||k1(r)||E.isEffectDeclIn(t,e))return!1;return e.some((s)=>Bi(s,t))}function dr(e){if(!y(e))return!1;let t=e[0];if(t==="yield"||t==="yield-from")return!0;if(t==="class")return dr(e[2]);if(t==="->"||t==="=>"||k1(t))return!1;return e.some((r)=>dr(r))}var U1=(e)=>y(e)&&(e[0]==="++"||e[0]==="--")&&e.length===3,ur=/^[A-Za-z_$][A-Za-z0-9_$]*$/,mr=(e,t="",r=[])=>{if(!y(e))return r;if(e[0]==="object"){for(let s of e.slice(1)){if(!y(s)||s.length!==3)continue;let i=s[0];if(i!==":"&&i!==null)continue;let n=s[1];if(typeof n!=="string")continue;let a=ur.test(n)?`.${n}`:`[${n}]`,o=s[2];if(typeof o==="string"){if(ur.test(o))r.push([o,t+a])}else mr(o,t+a,r)}return r}if(e[0]==="array")return e.slice(1).forEach((s,i)=>{if(y(s)&&s[0]==="...")return;if(typeof s==="string"){if(ur.test(s))r.push([s,`${t}[${i}]`])}else mr(s,`${t}[${i}]`,r)}),r;return r},Li=(e)=>y(e)&&e[0]==="?:"&&e.length===4,b1=(e)=>y(e)&&e[0]==="block",te=(e)=>$e.has(String(e).split("#")[0]),re=(e)=>y(e)&&e[0]==="comprehension"&&e.length===4&&Array.isArray(e[2])&&e[2].length>0&&Array.isArray(e[2][0])&&String(e[2][0][0]).startsWith("for-");var mt=(e)=>y(e)&&((e[0]==="for-in"||e[0]==="for-of"||e[0]==="for-as")&&e.length===6||e[0]==="while"&&(e.length===3||e.length===4)||e[0]==="loop"&&e.length===2||e[0]==="loop-n"&&e.length===3);function F3(e){let t=0,r=!0,s=(i)=>Array.isArray(i);return e.map((i)=>{if(typeof i==="string"){if(!r)return{item:i,name:i,value:null};return{item:i,name:i,value:String(t++)}}if(s(i)&&i[0]==="="&&i.length===3){let n=i[2],a=typeof n==="string"&&/^[0-9]/.test(n)?Number(n.replace(/_/g,"")):s(n)&&n[0]==="-"&&typeof n[1]==="string"?-Number(n[1].replace(/_/g,"")):null;if(a!==null&&Number.isFinite(a))t=a+1,r=!0;else if(typeof n==="string"&&n.startsWith('"'))r=!1;return{item:i,name:i[1],value:n}}return{item:i,name:null,value:void 0}})}var fr=(e)=>String(e).replace(/^['"`]|['"`]$/g,"");function Pe(e){return`'${String(e).slice(1,-1).replace(/\\/g,"\\\\").replace(/'/g,"\\'")}'`}function Mi(e,t){if(!y(t)||t[0]!=="import"||t.length<2)return!1;let r=e.idOf(t);return(r!==null?e.node(r)?.semanticKind:null)==="import"}class E{constructor(e,t,{face:r="js",pins:s=null,strict:i=!1,script:n=!1,browserModule:a=!1,repl:o=!1,hmr:l=!1,tolerant:c=!1,modulePath:h=null,appStashSpec:f=null,routesUnion:u=null,routeParams:d=null}={}){this.stores=e,this.b=t,this.repl=o,this.tolerant=c,this.replResultName=null,this.replImportResolver=null,this.script=n,this.appStashSpec=f,this.routesUnion=typeof u==="string"&&u.length>0?u:null,this.routeParams=typeof d==="string"&&d.length>0?d:null,this.appAccessors={stash:null,router:null},this.routeWrapSpans=[],this.memberInitSites=[],this.sourceKeySpans=[],this.stashMemberSpans=[],this.domSurfaces=new Map,this._needsClassValue=!1,this._needsCssProperties=!1,this._needsChildren=!1,this._restTags=new Set,this._needsRefCellHelper=!1,this.intrinsics=[],this.componentUses=[],this.namespaceExports=[],this.componentNames=[],this.renderPairs=[],this.browserModule=a,this.hmr=l===!0,this.modulePath=typeof h==="string"&&h.length>0?h:null,this.importSpans=[],this.typeOnlyImports=new Set,this.pins=s,this.pinnables=[],this.pinnedWrites=new Set,this.mutables=[],this.enums=[],this.classDecls=[],this.pinSpans=[],this.loopVars=[],this.loopVarDecls=[],this.attrNames=[],this.importedRefs=[],this.strict=i,this.ts=r==="ts",this.pendingHoistTypes=new Map,this.tsDirectiveMap=new Map,this.tsNocheck=null,this.pendingHoistDirectives=[],this.tsDirectivesArmed=!1,this.pendingSigs=new WeakMap,this.pendingTypeDecls=[],this.primitiveAvoid=null,this.primitiveReuse=null,this.declaringName=!1,this.vocabulary=[],this.silences=[],this.memberDecls=[],this.narrowedDecls=[],this._narrowedReads=null,this._textOwner=null,this.kinds=[],this.componentInfo=new Map,this.schemaFns=new Map,this.moduleComponentNames=new Map,this.ind=0,this.methodName=null,this.scopes=[],this.lastProgramStmt=null,this.inPattern=!1,this.bindingPattern=!1,this.deopt=!1,this.inTarget=!1,this.voidFuncs=new WeakSet,this.sideEffectOnly=!1,this.voidReason=null,this.usesSchema=!1,this.exprDepth=0,this.renderRecord=null,this.postfixGuardDepth=0,this._schemaName=null,this.subParses=new Map,this.runtimeAliases=new Map,this.temps={used:new Set,n:0,byNode:new WeakMap},this.refPlans=new WeakMap,this.ctrlDepth=0,this.tailReturnOk=!1,this.rframes=[],this.cframes=[],this._componentName=null,this.moduleBound=new Set,this.renderSelf=null,this.projectionHost=null}isReactiveDecl(e){return E.isReactiveDeclIn(this.stores,e)}static isReactiveDeclIn(e,t){if(!y(t)||t[0]!=="state"&&t[0]!=="computed"||t.length!==3)return!1;let r=e.idOf(t),s=r!==null?e.node(r)?.semanticKind:null;return s==="state"||s==="computed"}isGateDecl(e){return E.isGateDeclIn(this.stores,e)}static isGateDeclIn(e,t){if(!y(t)||t[0]!=="gate"||t.length<3)return!1;let r=e.idOf(t);return(r!==null?e.node(r)?.semanticKind:null)==="gate"}isEffectDecl(e){return E.isEffectDeclIn(this.stores,e)}static isEffectDeclIn(e,t){if(!y(t)||t[0]!=="effect"||t.length!==3)return!1;let r=e.idOf(t);return(r!==null?e.node(r)?.semanticKind:null)==="effect"}isReadonlyDecl(e){return E.isReadonlyDeclIn(this.stores,e)}static isReadonlyDeclIn(e,t){if(!y(t)||t[0]!=="readonly"&&t[0]!=="void-readonly"||t.length!==3)return!1;let r=e.idOf(t);return(r!==null?e.node(r)?.semanticKind:null)==="readonly"}lockedHead(e,t){let r=this.stores.idOf(e);if(r===null)return!0;return this.stores.node(r)?.semanticKind===t}static pureSpine(e){return typeof e==="string"||y(e)&&typeof e[0]==="string"&&hr.has(e[0])&&!Ce(e)&&E.pureSpine(e[1])}semanticKindOf(e){let t=this.stores.idOf(e);return t!==null?this.stores.node(t)?.semanticKind??null:null}isModuleImport(e){return E.isModuleImportIn(this.stores,e)}static isModuleImportIn(e,t){return Mi(e,t)}static BLOCK_HEADS=new Set(["if","while","loop","for-in","for-of","for-as","switch","when","try","block","comprehension"]);collectReactiveNames(e){let t=new Set,r=(s,i)=>{if(!y(s)||k1(s[0])||T1(s)||s[0]==="class"||s[0]==="enum")return;if(s[0]==="component"&&s.length===3)return;if(this.isReactiveDecl(s)){if(i){let a=s[0]==="state"?":=":"~=";throw this.positionedError(s,`emitter: a reactive declaration ('${typeof s[1]==="string"?s[1]:"…"} ${a} …') must sit at module or function scope — `+"inside a statement block it lowers to a block-scoped const, and any later read would unwrap '.value' off a binding that no longer exists")}if(typeof s[1]==="string")t.add(s[1]);return}if(this.isEffectDecl(s))return;let n=i||E.BLOCK_HEADS.has(s[0]);for(let a of s)r(a,n)};for(let s of e)r(s,!1);return t}collectEffectHandles(e){let t=new Set,r=(s,i)=>{if(!y(s)||k1(s[0])||T1(s)||s[0]==="class"||s[0]==="enum")return;if(s[0]==="component"&&s.length===3)return;if(this.isReactiveDecl(s))return;if(this.isEffectDecl(s)){if(s[1]!==null){if(i)throw this.positionedError(s,`emitter: a bound effect ('${typeof s[1]==="string"?s[1]:"…"} ~> …') must sit at module or function scope — `+"inside a statement block its dispose handle would be a block-scoped const, dead to every later read "+"; a BARE '~> …' stays legal here");if(typeof s[1]==="string")t.add(s[1])}return}let n=i||E.BLOCK_HEADS.has(s[0]);for(let a of s)r(a,n)};for(let s of e)r(s,!1);return t}collectReadonlyNames(e){let t=new Set,r=(s,i)=>{if(!y(s)||k1(s[0])||T1(s)||s[0]==="class"||s[0]==="enum")return;if(s[0]==="component"&&s.length===3)return;if(this.isReactiveDecl(s)||this.isEffectDecl(s))return;if(this.isReadonlyDecl(s)){if(i)throw this.positionedError(s,`emitter: a readonly declaration ('${typeof s[1]==="string"?s[1]:"…"} =! …') must sit at module or function scope — `+"inside a statement block it lowers to a block-scoped const, dead to every later read ");if(typeof s[1]==="string")t.add(s[1]);r(s[2],i);return}let n=i||E.BLOCK_HEADS.has(s[0]);for(let a of s)r(a,n)};for(let s of e)r(s,!1);return t}static exportedConstNames(e){let t=new Set;for(let r of e){if(!y(r)||r[0]!=="export")continue;for(let s of r.slice(1))if(y(s)&&(s[0]==="="||s[0]==="void-assign")&&s.length===3&&typeof s[1]==="string")t.add(s[1])}return t}isExportedConst(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.reactive.has(e))return!1;if(r.exportedConst!==void 0&&r.exportedConst.has(e))return!0;if(r.bound.has(e))return!1;if(r.members!==void 0&&r.members.has(e))return!1}return!1}checkExportedConstWrite(e,t){let r=typeof t==="string"?[t]:E.isPattern(t)?this.patternNames(t):[];for(let s of r){if(!this.isExportedConst(s))continue;throw this.positionedError(e,`emitter: cannot assign to exported '${s}' — an exported binding lowers to `+`'export const', which never changes after its declaration; declare it as state ('export ${s} := …') to write it, or drop the export`)}}positionedError(e,t,...r){let s=Error(t);for(let i of[e,...r]){let n=this.stores.idOf(i),a=n!==null?this.stores.selfSpan(n):null;if(a){s.start=a[0],s.end=a[1];break}}return s}positionedErrorAt(e,t,r){let s=Error(r);return s.start=e,s.end=t,s}static declaredNames(e){let t=[],r=(s)=>{if(!y(s))return;if((s[0]==="enum"||s[0]==="class")&&typeof s[1]==="string")t.push(s[1]);if(k1(s[0])&&s.length===4&&typeof s[1]==="string")t.push(s[1])};for(let s of e)if(r(s),y(s)&&s[0]==="export"&&y(s[1]))r(s[1]);return t}static declaredClassNames(e){let t=new Set,r=(s)=>{if(!y(s)||!ct.has(s[0])||s.length!==3)return;if(typeof s[1]!=="string")return;let i=s[2];if(y(i)&&(i[0]==="class"||i[0]==="component"))t.add(s[1])};for(let s of e)if(r(s),y(s)&&s[0]==="export"&&y(s[1]))r(s[1]);return t}static declaredEnumNames(e){let t=new Set,r=(s)=>{if(y(s)&&s[0]==="enum"&&typeof s[1]==="string")t.add(s[1])};for(let s of e)if(r(s),y(s)&&s[0]==="export"&&y(s[1]))r(s[1]);return t}nodeLine(e){let t=this.stores.idOf(e),r=t!==null?this.stores.selfSpan(t):null;if(!r||typeof this.b.source!=="string")return null;let s=1;for(let i=0;i{if(typeof h==="string")s.push({name:h,kind:f,node:u,auth:!0})},n=(h,f)=>{if(typeof h==="string")s.push({name:h,kind:"plain",node:f,auth:!1})},a=(h,f,u)=>{let d=new Set;for(let p of h){if(d.has(p))throw this.positionedError(f,`emitter: '${p}' is bound twice in one ${u} — one binding per name; rename or drop the duplicate`,...r!==null?[r]:[]);d.add(p)}return h};{let h=[],f=[];for(let u of t??[]){this.patternNames(u,h,!0);let d=y(u)?u:t;while(f.lengthi(u,"parameter",f[d]))}let o=(h,f)=>{if(!y(h))return;if(this.isModuleImport(h)){for(let d of E.importedNames([h]))i(d,"import",h);return}if(T1(h))return;if(k1(h[0])){if(!f&&h.length===4&&typeof h[1]==="string")i(h[1],"def",h);return}if(h[0]==="enum"){if(!f)i(h[1],"enum",h);return}if(h[0]==="component"&&h.length===3)return;if(h[0]==="class"){if(!f)i(h[1],"class",h);if(h[2]!=null)o(h[2],!0);let d=h[3];if(b1(d)){for(let p of d.slice(1))if(y(p)&&F1.has(p[0])&&p.length===3)o(p[2],!0);else if(!E.isTypedWrapper(p))o(p,!0)}return}if(this.isReactiveDecl(h)){if(i(h[1],h[0]==="computed"?"computed":"state",h),!(h[0]==="computed"&&b1(h[2])&&h[2].length>2))o(h[2],f);return}if(this.isEffectDecl(h)){if(h[1]!==null)i(h[1],"effect",h);return}if(this.isReadonlyDecl(h)){i(h[1],"readonly",h),o(h[2],f);return}if(h[0]==="export"){for(let d of h.slice(1)){if(!y(d))continue;if((d[0]==="="||d[0]==="void-assign")&&d.length===3&&typeof d[1]==="string")i(d[1],"plain",d),o(d[2],f);else o(d,f)}return}if(h[0]==="for-in"||h[0]==="for-of"||h[0]==="for-as"){if(y(h[1])){let d=[];for(let p of h[1])this.patternNames(p,d,!0);a(d,h,"loop head")}for(let d of h.slice(2))o(d,!0);return}if(re(h)){o(h[1],!0);for(let d of h[2]??[]){let p=[];if(y(d[1]))for(let m of d[1])this.patternNames(m,p,!0);a(p,h,"comprehension clause"),o(d[2],!0)}for(let d of h[3]??[])o(d,!0);return}if(h[0]==="try"){for(let d of h.slice(2))if(y(d)&&d.length===2&&E.isPattern(d[0])){for(let p of a(this.patternNames(d[0]),d[0],"catch pattern"))n(p,h);o(d[1],!0)}else o(d,!0);o(h[1],!0);return}if(F1.has(h[0])&&h.length===3){if(typeof h[1]==="string")n(h[1],h);else if(h[0]==="="&&E.isPattern(h[1]))for(let d of a(this.patternNames(h[1]),h,"destructuring pattern"))n(d,h)}let u=f||E.BLOCK_HEADS.has(h[0]);for(let d of h)o(d,u)};for(let h of e)o(h,!1);s.forEach((h,f)=>{h.order=f});let l=(h,f)=>{let u=f.node!==null?this.nodeLine(f.node):null,d=f.kind==="state"||f.kind==="parameter"||f.kind==="plain"?` — assign with '${h.name} = …' to update it, or choose a different name`:" — choose a different name";throw this.positionedError(h.node,`emitter: '${h.name}' was already declared as ${f.kind}${u!==null?` on line ${u}`:""}${d}`,...r!==null?[r]:[])},c=new Map;for(let h of s){if(!h.auth)continue;let f=c.get(h.name);if(f!==void 0)l(h,f);c.set(h.name,h)}for(let h of s){if(h.auth)continue;let f=c.get(h.name);if(f!==void 0){if(f.auth&&h.orderu.members.has(h.name)))continue;c.set(h.name,h)}}pushReactiveFrame(e,t,r=[],s=null){let i=this.collectReactiveNames(e),n=this.collectEffectHandles(e),a=this.collectReadonlyNames(e);return this.checkScopeRedeclarations(e,r,s),this.rframes.push({reactive:i,computed:this.collectComputedNames(e),readonly:a,handles:n,bound:new Set([...t,...E.declaredNames(e),...n,...a]),enums:E.declaredEnumNames(e),classes:E.declaredClassNames(e),importSpecs:E.importedSpecs(e),exportedConst:E.exportedConstNames(e)}),new Set([...i,...n,...a])}withBindings(e,t){this.rframes.push({reactive:new Set,bound:new Set(e),block:!0}),t(),this.rframes.pop()}resolveBareRead(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.reactive.has(e))return"reactive";if(r.bound.has(e))return null;if(r.members!==void 0&&r.members.has(e))return r.memberReactive.has(e)?"member-reactive":"member"}return null}kindOfName(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.reactive?.has(e))return r.computed?.has(e)?"computed":"state";if(r.readonly?.has(e))return"readonly";if(r.handles?.has(e))return"effect";if(r.bound?.has(e))return null;if(r.members!==void 0&&r.members.has(e))return r.memberKinds?.get(e)??null}return null}isReactiveName(e){return this.resolveBareRead(e)==="reactive"}isEnumName(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.enums!==void 0&&r.enums.has(e))return!0;if(r.reactive.has(e)||r.bound.has(e))return!1;if(r.members!==void 0&&r.members.has(e))return!1}return!1}isClassName(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.classes!==void 0&&r.classes.has(e))return!0;if(r.reactive.has(e)||r.bound.has(e))return!1;if(r.members!==void 0&&r.members.has(e))return!1}return!1}noteLoopVarRead(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.loopVars!==void 0&&r.loopVars.has(e)){let s=r.loopBindings?.get(e);if(s!==void 0)s.owner.readVars.add(s.which);return}if(r.reactive.has(e)||r.bound.has(e))return;if(r.members!==void 0&&r.members.has(e))return}}static loopBindingsOf(e){let t=new Map;for(let r of e.loopStack){if(r.owner===void 0)continue;t.set(r.itemVar,{owner:r.owner,which:"item"}),t.set(r.indexVar,{owner:r.owner,which:"index"})}return t}isRenderLoopName(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.loopVars!==void 0&&r.loopVars.has(e))return!0;if(r.reactive.has(e)||r.bound.has(e))return!1;if(r.members!==void 0&&r.members.has(e))return!1}return!1}importSpecOf(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t],s=r.importSpecs?.get(e);if(s!==void 0)return s;if(r.reactive.has(e)||r.bound.has(e))return null;if(r.members!==void 0&&r.members.has(e))return null}return null}isComputedName(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.reactive.has(e))return r.computed!==void 0&&r.computed.has(e);if(r.bound.has(e))return!1;if(r.members!==void 0&&r.members.has(e))return!1}return!1}isAmbientReadonly(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.reactive.has(e))return!1;if(r.ambientReadonly!==void 0&&r.ambientReadonly.has(e))return!0;if(r.readonly!==void 0&&r.readonly.has(e))return!0;if(r.bound.has(e))return!1;if(r.members!==void 0&&r.members.has(e))return!1}return!1}memberKindOf(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.reactive.has(e))return null;if(r.bound.has(e))return null;if(r.members!==void 0&&r.members.has(e))return r.members.get(e)}return null}thisMemberKindOf(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.members!==void 0)return r.members.has(e)?r.members.get(e):null}return null}static targetsRestView(e){if(!y(e))return!1;if(e[0]==="array")return e.slice(1).some((r)=>E.targetsRestView(r));if(e[0]==="object")return e.slice(1).some((r)=>y(r)&&E.targetsRestView(r[2]??r[1]));if(e[0]==="default"||e[0]==="rest")return E.targetsRestView(e[1]);let t=e;while(y(t)&&(t[0]==="."||t[0]==="[]"||t[0]==="?."||t[0]==="optindex")&&t.length===3){if(t[0]==="."&&t[1]==="this"&&t[2]==="rest")return!0;t=t[1]}return!1}checkBareRest(e,t){if(t!=="rest"||this.memberKindOf(t)!=="rest")return;let r=this.positionedError(e,"emitter: `rest` is provided by `extends`, not declared here — spell it `@rest`, as with `@stash` and `@router`");if(typeof r.start!=="number"&&this.b.currentMark)r.start=this.b.currentMark.sourceStart,r.end=this.b.currentMark.sourceEnd;throw r}checkMemberWrite(e,t){if(this.cframes.length===0)return;if(this.thisMemberKindOf("rest")==="rest"&&E.targetsRestView(t))throw this.positionedError(e,"emitter: `@rest` is the runtime-owned view of the caller's undeclared props and is never assigned — "+"set the attribute on the element in render, or declare the name as a prop the caller supplies");let r=null,s=null;if(typeof t==="string")this.checkBareRest(e,t),r=t,s=this.memberKindOf(t);else if(y(t)&&t[0]==="."&&t[1]==="this"&&typeof t[2]==="string")r=t[2],s=this.thisMemberKindOf(r);if(s===null)return;if(s==="readonly")throw this.positionedError(e,`emitter: cannot assign to readonly member '${r}' — a '=!' member never changes after _init; `+"a member that changes is state (':=')");if(s==="plain"){let i=this.cframes[this.cframes.length-1];if(!i.plainWrites.has(r))i.plainWrites.set(r,e)}}notePlainRenderRead(e,t=!1){if(this.rstate==null||this.cframes.length===0)return;if((t?this.thisMemberKindOf(e):this.memberKindOf(e))!=="plain")return;this.cframes[this.cframes.length-1].renderPlainReads.add(e)}collectComputedNames(e){let t=new Set,r=(s,i)=>{if(!y(s)||k1(s[0])||T1(s)||s[0]==="class"||s[0]==="enum")return;if(s[0]==="component"&&s.length===3)return;if(this.isReactiveDecl(s)){if(!i&&s[0]==="computed"&&typeof s[1]==="string")t.add(s[1]);return}if(this.isEffectDecl(s))return;let n=i||E.BLOCK_HEADS.has(s[0]);for(let a of s)r(a,n)};for(let s of e)r(s,!1);return t}bareRewrite(e){if(this.inPattern&&this.bindingPattern)return null;return this.resolveBareRead(e)}isReactiveRead(e){return this.bareRewrite(e)==="reactive"}memberIsReactive(e){let t=this.cframes[this.cframes.length-1];return t!==void 0&&t.memberReactive.has(e)}inComponent(){return this.cframes.length>0}reactiveRead(e){let t=this.b.currentMark,r=this.b.source;if(this.ts){let s=this.emitPrimitive(e);if(s!==null&&this._narrowedReads?.has(e))this.narrowedDecls.push({start:s[0],end:s[1]})}else if(t!==null&&r!==null&&r.slice(t.sourceStart,t.sourceEnd)===e)this.b.mark(t.nodeId,t.role,()=>this.b.emit(e));else this.b.emit(e);this.b.emit(".value")}memberRead(e,t){let r=this.b.currentMark,s=this.b.source;if(this.b.emit((this.renderSelf??"this")+"."),this.ts){let i=this.emitPrimitive(e);if(t&&i!==null)this.memberDecls.push({start:i[0],end:i[1]});if(i!==null&&this._narrowedReads?.has(e))this.narrowedDecls.push({start:i[0],end:i[1]})}else if(r!==null&&s!==null&&s.slice(r.sourceStart,r.sourceEnd)===e)this.b.mark(r.nodeId,r.role,()=>this.b.emit(e));else this.b.emit(e);if(t)this.b.emit(".value")}emitPrimitive(e){let t=this.b.currentMark,r=this.ts&&typeof e==="string"?this.b.claimPrimitiveSpan(e,this.primitiveAvoid):null;if(r===null&&this.primitiveReuse!==null&&this.primitiveReuse.name===e)r=this.primitiveReuse.span,this.primitiveReuse=null;if(r!==null&&Z1(e)){let s=this.kindOfName(e),i=typeof s==="string"?{label:s,optional:!1}:s;if(i!==null)this.kinds.push({start:r[0],end:r[1],label:i.label,name:e,optional:i.optional})}if(t!==null&&r!==null){let s=Z1(e)?"identifier":"literal";this.b.markSpan(t.nodeId,s,r[0],r[1],()=>this.noteNameSpan(e))}else this.noteNameSpan(e);return r}noteNameSpan(e){if(!this.ts||this.declaringName||typeof e!=="string"||!Z1(e)){this.b.emit(e);return}let t=this.b.offset;if(this.b.emit(e),this.isEnumName(e)){this.enums.push([t,this.b.offset]);return}if(this.isReactiveName(e)&&!this.isComputedName(e)){this.mutables.push([t,this.b.offset]);return}if(this.isClassName(e)){this.classDecls.push([t,this.b.offset]);return}if(this.isRenderLoopName(e)){this.loopVars.push([t,this.b.offset]),this.noteLoopVarRead(e);return}let r=this.importSpecOf(e);if(r!==null)this.importedRefs.push([t,this.b.offset,r.importedName,r.specifier])}withDeclaredName(e){let t=this.declaringName;this.declaringName=!0;try{return e()}finally{this.declaringName=t}}noteVocabulary(e,t,r){let s=this.wordSpanIn(t,r);if(s!==null)this.vocabulary.push({kind:e,start:s[0],end:s[1]})}noteShorthandClasses(e,t){for(let r of e)this.noteVocabulary("render-channel",r,t)}noteHeadKeyword(e,t,r){if(!this.ts)return;let s=y(r)?this.stores.idOf(r):null,i=s!==null?this.stores.selfSpan(s):null;if(i===null||this.b.source===null)return;let n=i[0]+t.length;if(n>i[1]||this.b.source.slice(i[0],n)!==t)return;this.vocabulary.push({kind:e,start:i[0],end:n})}noteKind(e,t,r){let s=this.stores.idOf(e),i=s!==null?this.stores.role(s,t):null;if(i?.sourceStart!=null&&i.sourceEnd>i.sourceStart){let n=this.b.source?.slice(i.sourceStart,i.sourceEnd)??null;this.kinds.push({start:i.sourceStart,end:i.sourceEnd,label:r,name:n})}}noteSilence(e,t){let r=this.wordSpanIn(e,t);if(r!==null)this.silences.push([r[0],r[1]])}static MEMBER_KINDS={state:"state",computed:"computed",readonly:"readonly",gate:"gate",accept:"accept"};static memberLabel(e){if(e.isPublic&&(e.kind==="prop"||e.kind==="state"))return"prop";return E.MEMBER_KINDS[e.kind]??null}noteMemberDecl(e){if(!this.ts)return;let t=y(e.nameNode)?this.stores.idOf(e.nameNode):null,r=t!==null?this.stores.role(t,e.nameRole):null;if(!r||typeof r.sourceStart!=="number")return;let s=E.memberLabel(e);if(s!==null)this.kinds.push({start:r.sourceStart,end:r.sourceEnd,label:s,name:e.name,optional:e.optional===!0,...e.kind==="accept"&&e.provider!=null?{provider:e.provider}:{}});if(!Hn(e))return;this.memberDecls.push({start:r.sourceStart,end:r.sourceEnd})}wordSpanIn(e,t){if(!this.ts)return null;let r=y(t)?this.stores.idOf(t):null,s=r!==null?this.stores.selfSpan(r):null;if(s===null)return null;let i=this.stores.primitiveSpans(e,s[0],s[1]);if(i.length!==1)return null;return[i[0].sourceStart,i[0].sourceEnd]}bareChildSpan(e,t,r){let s=(l)=>{let c=y(l)?this.stores.idOf(l):null;return c!==null?this.stores.selfSpan(c):null},i=s(r)??s(this.rstate?.node??null);if(i===null)return null;let[n,a]=i;for(let l=t-1;l>=0;l--){let c=s(e[l]);if(c){n=c[1];break}}for(let l=t+1;l — did you mean '${i}'?`;if(r)return`'${t}' is not a known attribute of <${e}> — a bare word sets the boolean attribute it `+`names; render a value with \`= ${t}\`, or spell \`name: value\``;return`'${t}' is not a known attribute of <${e}> — `+(s?"SVG attribute names are the spec's own, case-sensitive (`viewBox`)":"HTML attribute names are the spec's own, lowercase")+"; `data-`/`aria-` names take any suffix"}emitRewrittenPrimitive(e,t){let r=this.b.currentMark,s=this.ts?this.b.claimPrimitiveSpan(e):null;if(r!==null&&s!==null)this.b.markSpan(r.nodeId,"identifier",s[0],s[1],()=>this.b.emit(t));else this.b.emit(t);return s}emitQuotedPrimitive(e,t="'"){this.b.emit(t);let r=this.emitPrimitive(e);return this.b.emit(t),r}emitKeyAs(e,t){return e===t?this.emitPrimitive(e):this.emitRewrittenPrimitive(e,t)}emitPropertyRoadKey(e){let t=this.b.offset;if(e(),this.ts)this.attrNames.push([t,this.b.offset])}emitSchemaText(e,t=!1){let r=0,s=null;while(r0){let c=e[o];if(l!==null){if(c==="\\")o++;else if(c===l)l=null}else if(c==='"'||c==="'"||c==="`")l=c;else if(c==="{")a++;else if(c==="}")a--;o++}if(this.b.emit("${"),this.emitSchemaText(e.slice(n+2,a===0?o-1:o),t),a===0)this.b.emit("}");n=o;continue}this.b.emit(e[n]),n++}if(nthis.b.emit(a));else if(Z1(a))this.emitPrimitive(a);else this.b.emit(a);if(np.value===o[m].value),f=null;if(!h){f=Array.from({length:l+1},()=>Array(c+1).fill(0));for(let p=l-1;p>=0;p--)for(let m=c-1;m>=0;m--)f[p][m]=a[p].value===o[m].value?f[p+1][m+1]+1:Math.max(f[p][m+1],f[p+1][m])}let u=0,d=0;for(let p=0;pthis.noteNameSpan(m.value)),u++}else this.noteNameSpan(m.value);d=m.end}this.b.emit(r.slice(d))}registerVoidValue(e,t){if(T1(e)){this.voidFuncs.add(e);return}if(!(y(e)&&k1(e[0])))throw this.positionedError(e,"emitter: the void marker (a trailing '!' on the defined name) requires a function value — `save! = ->`, `save! =! ->`, `save! = =>`, `fn!: ->`",t)}withTarget(e){let t=this.inTarget;this.inTarget=!0,e(),this.inTarget=t}withPattern(e,t=!1){let r=this.inPattern,s=this.bindingPattern;this.inPattern=!0,this.bindingPattern=t,e(),this.inPattern=r,this.bindingPattern=s}withExpression(e){let t=this.inPattern,r=this.bindingPattern;this.inPattern=!1,this.bindingPattern=!1,e(),this.inPattern=t,this.bindingPattern=r}withDeopt(e){let t=this.deopt;this.deopt=!0,e(),this.deopt=t}mark(e,t,r){let s=this.stores.idOf(e);if(s!==null&&(t==="$self"||this.stores.role(s,t)!==null))this.b.mark(s,t,r);else r()}beginMark(e,t){let r=this.stores.idOf(e);if(r!==null&&(t==="$self"||this.stores.role(r,t)!==null))return this.b.beginMark(r,t),!0;return!1}endMark(e){if(e)this.b.endMark()}annotationText(e,t="annotation"){let r=this.stores.idOf(e);if(r===null)return null;let s=this.stores.role(r,t);if(!s||s.sourceStart==null||this.b.source===null)return null;return jt(this.b.source.slice(s.sourceStart,s.sourceEnd).replace(/^\s*:\s*/,""))}tsAnnotate(e,t,r){this.b.tsOnly(()=>this.mark(e,t,()=>this.emitTypeText(e,t,`: ${r}`)))}tsReturnAnnotation(e,t,r,s,i=e){if(!this.ts)return;let n=this.annotationText(e,"returnType");if(n!==null){let a=t&&!s&&!/^Promise\s*`:n;this.b.tsOnly(()=>this.mark(e,"returnType",()=>this.emitTypeText(e,"returnType",`: ${a}`)));return}if(r&&!s){let a=t?"Promise":"void";this.b.tsOnly(()=>this.mark(i,"voidMarker",()=>this.b.emit(`: ${a}`)))}}tsRendered(e,t){try{return t()}catch(r){if(r instanceof ii)throw this.positionedError(e,`emitter: ${r.message}`);throw r}}emitTsTypeDecls(e,t){if(!this.ts)return;for(let r of e){if(!y(r)||r[0]!=="type-decl")continue;this.tsTypeDeclLine(r,t)}}tsTypeDeclLine(e,t){let r=this.tsRendered(e,()=>vs(e[1])),s=this.tsDirectiveMap.get(e);if(s!==void 0){if(this.tsDirectiveMap.delete(e),r.length===1)for(let i of s)this.tsDirectiveLine(i,t,!0)}this.b.tsOnly(()=>{this.b.emit(t),this.mark(e,"$self",()=>this.mark(e,"declaration",()=>{this.emitTypeText(e,"declaration",r.join(` `+t))})),this.b.emit(` `)})}flushPendingTypeDecls(e,t=!1){if(!this.ts||this.pendingTypeDecls.length===0)return;let r=this.pendingTypeDecls;if(this.pendingTypeDecls=[],t)this.b.tsOnly(()=>this.b.emit(` -`));for(let s of r)this.tsTypeDeclLine(s,e)}emitSegments(e){for(let t of e)if(t.node!==void 0)this.mark(t.node,t.role,()=>this.emitAnnotationWords(t));else this.emitDeclaredTypeCopies(t.text)}emitDeclaredTypeCopies(e,t=null){let r=t??this.b.currentMark?.nodeId??null;if(r===null||!this.ts){this.b.emit(e);return}this.emitNamedCopies(e,null,r,null)}emitNamedCopies(e,t,r,s){if(r===null||!this.ts){this.b.emit(e);return}let i=this.moduleTypeDeclarationSpans();if(t!==null&&s!==null)i.set(t,s);if(i.size===0){this.b.emit(e);return}let n=0;for(let a of e.matchAll(/[A-Za-z_$][\w$]*/g)){let o=i.get(a[0]);if(o===void 0||a.indexthis.b.emit(a[0])),n=a.index+a[0].length}this.b.emit(e.slice(n))}moduleTypeDeclarationSpans(){if(this._typeDeclSpans===void 0){let e=new Map;if(this.b.source!==null){let t=/^(?:export\s+)?(?:(?:type|interface|enum)\s+([A-Za-z_$][\w$]*)|([A-Za-z_$][\w$]*)\s*=\s*schema\b|([A-Za-z_$][\w$]*)\s*=\s*[A-Za-z_$][\w$]*\s*\.\s*(?:pick|omit|partial|required|extend)\b)/gmd;for(let s of this.b.source.matchAll(t)){let i=s.indices[1]??s.indices[2]??s.indices[3],n=this.b.source.slice(i[0],i[1]);if(e.has(n))continue;e.set(n,[i[0],i[1]])}let r=/(?:^|,)\s*(?:type\s+)?(?:[A-Za-z_$][\w$]*\s+as\s+)?([A-Za-z_$][\w$]*)/gd;for(let s of this.b.source.matchAll(/^import\s+(?:type\s+)?\{([^}]*)\}/gmd)){let[i]=s.indices[1],n=s.index+s[0].length;for(let a of s[1].matchAll(r)){let[o,l]=a.indices[1],c=s[1].slice(o,l);if(e.has(c))continue;let f=new RegExp(`(?0){let o=this.b.source.lastIndexOf(r,a-1);if(o<0)break;if(!/[\w$]/.test(this.b.source[o-1]??" ")&&!/[\w$]/.test(this.b.source[o+r.length]??" "))return{id:s,span:[o,o+r.length]};a=o}return null}emitAnnotationWords(e){if(e.role!=="annotation"||!this.ts){this.b.emit(e.text);return}let t=this.stores.idOf(e.node),r=t!==null?this.stores.role(t,"annotation"):null,s=r?.sourceStart!=null&&this.b.source!==null?this.b.source.slice(r.sourceStart,r.sourceEnd):null;if(s===null||e.text.includes(s)){this.noteImportedTypeWords(e.text);return}let i=new Map;for(let a of s.matchAll(/[A-Za-z_$][\w$]*/g))if(!i.has(a[0]))i.set(a[0],[r.sourceStart+a.index,r.sourceStart+a.index+a[0].length]);let n=0;for(let a of e.text.matchAll(/[A-Za-z_$][\w$]*/g)){let o=i.get(a[0]);if(!o)continue;this.b.emit(e.text.slice(n,a.index)),this.b.markSpan(t,"identifier",o[0],o[1],()=>this.noteImportedTypeWords(a[0])),n=a.index+a[0].length}this.b.emit(e.text.slice(n))}noteImportedTypeWords(e){let t=this.declaringName;this.declaringName=!1;try{let r=0;for(let s of cr(e)){if(s.start>0&&e[s.start-1]==="."||this.importSpecOf(s.value)===null)continue;this.b.emit(e.slice(r,s.start)),this.noteNameSpan(s.value),r=s.end}this.b.emit(e.slice(r))}finally{this.declaringName=t}}tsComponentMemberDeclares(e,t){let r=(n)=>this.b.tsOnly(()=>{this.b.emit(t),n(),this.b.emit(` -`)}),s=!1;for(let n of e.members){if(n.name==="children")s=!0;if(!Us(n))continue;this.noteMemberDecl(n);let a=this.gateTwinSource(n,e);if(a!==null&&n.annotation==null){r(()=>this.emitGateTwin(n,a));continue}if(r(()=>this.emitSegments(Bs(n,e))),a!==null)r(()=>this.emitGateTwin(n,a,`__${n.name}__gate`))}if(!s)r(()=>this.b.emit("declare children?: __RipChildren;"));this._needsChildren=!0,r(()=>this.b.emit(`declare ${ta}: ${ra(e)};`));let i=Zs(e);if(i.some((n)=>n.includes("__ripAmbientStash(")))this._needsAmbienceHelper=!0;for(let n of i)r(()=>this.b.emit(n));if(e.extendsTag!==null)this._restTags.add(e.extendsTag),this._needsClassValue=!0,r(()=>this.b.emit(`declare rest: ${Di(Pi(e.extendsTag))};`));else if(e.extendsComponent!==null)r(()=>this.b.emit(`declare rest: ${Di(aa(e))};`)),r(()=>{if(this.b.emit("private static __ripHost() { return new "),e.hostSpan!==null&&e.hostNodeId!==null){let n=e.hostSpan[0];e.extendsComponent.split(".").forEach((a,o)=>{if(o>0)this.b.emit("."),n+=1;let l=n;n+=a.length,this.b.markSpan(e.hostNodeId,"identifier",l,n,()=>o===0?this.noteNameSpan(a):this.b.emit(a))})}else this.b.emit(e.extendsComponent);this.b.emit("(null!); }")});for(let n of na("this"))r(()=>this.b.emit(n));r(()=>this.b.emit("[key: `_${string}`]: any;"))}gateTwinSource(e,t){if(e.kind!=="gate"||!t.appStashSpec)return null;let r=E.gateSource(e.node);return r.error?null:r}emitGateTwin(e,t,r=null){if(r===null)this.mark(e.nameNode,e.nameRole,()=>this.b.emit(e.name));else this.b.emit(r);if(this.b.emit(" = __computed(() => this."),this.mark(t.pathNode,"$self",()=>{let s=E.gateChain(t.pathNode).slice(1);if(s.forEach((i,n)=>{if(n>0)this.b.emit(".");this.emitPrimitive(i)}),this.ts&&(s[0]==="stash"||s[0]==="router")){let i=this.stores.idOf(t.pathNode),n=i!==null?this.stores.selfSpan(i):null,a=n!==null?this.stores.primitiveSpans(s[0],n[0],n[1])[0]??null:null;if(a&&!this.kinds.some((o)=>o.start===a.sourceStart&&o.label===s[0]))this.kinds.push({start:a.sourceStart,end:a.sourceEnd,label:s[0],name:s[0],optional:!1})}}),t.key!==null){if(this.b.emit("("),t.keyParts===null)this.b.emit(t.keyCode);else this.mark(t.key,"$self",()=>{this.b.emit("this."),t.keyParts.forEach((s,i)=>{if(i>0)this.b.emit(".");this.emitPrimitive(s)})});this.b.emit(")")}this.b.emit("!);")}tsScaffoldAny(e=""){if(this.ts)this.b.tsOnly(()=>this.b.emit(`: any${e}`))}tsServedValue(e,t){if(!this.ts)return t(),null;let r=null;return this.b.tsOnly(()=>{this.b.emit("({ "),r=this.b.offset,this.b.emit(`${e}: `)}),t(),this.b.tsOnly(()=>this.b.emit(` }).${e}`)),r}capturedExprText(e,{source:t=null}={}){let r=this.b;this.b=new Re(this.stores,{source:t});let{n:s,used:i}=this.temps;this.temps.used=new Set(i);let n=["pinnables","mutables","enums","classDecls","loopVars","attrNames","importedRefs","vocabulary","silences","memberDecls","narrowedDecls","importSpans","pendingTypeDecls","loopVarDecls"],a={};for(let o of n)a[o]=this[o],this[o]=[];try{return this.withExpression(e),this.b.code}finally{this.b=r,Object.assign(this.temps,{n:s,used:i});for(let o of n)this[o]=a[o]}}tsLoopItemTypeText(e,t){let r=this.tsIterThunkName(e);return r===null?null:`NonNullable> extends readonly (infer __E)[] ? __E : any`}tsIterThunkName(e){let t=e.owner,{iter:r}=e;if(!this.ts||t===void 0||r===void 0)return null;if(this.containsAwait(r)||dr(r))return null;if(Ee(r,t.parent.locals))return null;let s=new Set;E.collectLeafNames(r,s);for(let i of[t.self,e.itemVar,e.indexVar,...t.renameHazardNames])if(s.has(i))return null;return`${t.name}_iter`}tsEventTypeText(e,t=null){let r=e.filter((n)=>Ut.has(n));if(r.length===0)return null;let s=r.map((n)=>`HTMLElementEventMap['${n}']`).join(" | "),i=t??"any";return`${r.length>1?`(${s})`:s} & { target: ${i}; currentTarget: ${i} }`}tsElReceiver(e){if(this.ts){let t=this.rstate?.tags?.get(e),r=this.rstate?.svgEls?.has(e)===!0;if(typeof t==="string"&&ot(t,r)){let s=vi(t,r);return this.domSurfaces.set(s,{tag:t,svg:r}),{surfaced:!0,emit:()=>{this.b.tsOnly(()=>this.b.emit("(")),this.b.emit(e),this.b.tsOnly(()=>this.b.emit(` as ${s})`))},valsName:lr(t,r),hostText:xe(t,r)}}}return{surfaced:!1,emit:()=>this.b.emit(e),valsName:null,hostText:null}}tsHandlerCast(e,t=null){if(!this.ts)return e(),null;let r=this.b.offset;return this.b.tsOnly(()=>this.b.emit("(")),e(),this.b.tsOnly(()=>this.b.emit(t===null?") as any":`) as (e: ${t}) => unknown`)),t===null?null:[r,this.b.offset]}tsComponentCtor(e,t){if(e.members.some((r)=>r.kind==="gate")){this.b.tsOnly(()=>{this.b.emit(`${t}declare static mount: never; +`));for(let s of r)this.tsTypeDeclLine(s,e)}emitSegments(e){for(let t of e)if(t.node!==void 0)this.mark(t.node,t.role,()=>this.emitAnnotationWords(t));else this.emitDeclaredTypeCopies(t.text)}emitDeclaredTypeCopies(e,t=null){let r=t??this.b.currentMark?.nodeId??null;if(r===null||!this.ts){this.b.emit(e);return}this.emitNamedCopies(e,null,r,null)}emitNamedCopies(e,t,r,s){if(r===null||!this.ts){this.b.emit(e);return}let i=this.moduleTypeDeclarationSpans();if(t!==null&&s!==null)i.set(t,s);if(i.size===0){this.b.emit(e);return}let n=0;for(let a of e.matchAll(/[A-Za-z_$][\w$]*/g)){let o=i.get(a[0]);if(o===void 0||a.indexthis.b.emit(a[0])),n=a.index+a[0].length}this.b.emit(e.slice(n))}moduleTypeDeclarationSpans(){if(this._typeDeclSpans===void 0){let e=new Map;if(this.b.source!==null){let t=/^(?:export\s+)?(?:(?:type|interface|enum)\s+([A-Za-z_$][\w$]*)|([A-Za-z_$][\w$]*)\s*=\s*schema\b|([A-Za-z_$][\w$]*)\s*=\s*[A-Za-z_$][\w$]*\s*\.\s*(?:pick|omit|partial|required|extend)\b)/gmd;for(let s of this.b.source.matchAll(t)){let i=s.indices[1]??s.indices[2]??s.indices[3],n=this.b.source.slice(i[0],i[1]);if(e.has(n))continue;e.set(n,[i[0],i[1]])}let r=/(?:^|,)\s*(?:type\s+)?(?:[A-Za-z_$][\w$]*\s+as\s+)?([A-Za-z_$][\w$]*)/gd;for(let s of this.b.source.matchAll(/^import\s+(?:type\s+)?\{([^}]*)\}/gmd)){let[i]=s.indices[1],n=s.index+s[0].length;for(let a of s[1].matchAll(r)){let[o,l]=a.indices[1],c=s[1].slice(o,l);if(e.has(c))continue;let h=new RegExp(`(?0){let o=this.b.source.lastIndexOf(r,a-1);if(o<0)break;if(!/[\w$]/.test(this.b.source[o-1]??" ")&&!/[\w$]/.test(this.b.source[o+r.length]??" "))return{id:s,span:[o,o+r.length]};a=o}return null}emitAnnotationWords(e){if(e.role!=="annotation"||!this.ts){this.b.emit(e.text);return}let t=this.stores.idOf(e.node),r=t!==null?this.stores.role(t,"annotation"):null,s=r?.sourceStart!=null&&this.b.source!==null?this.b.source.slice(r.sourceStart,r.sourceEnd):null;if(s===null||e.text.includes(s)){this.noteImportedTypeWords(e.text);return}let i=new Map;for(let a of s.matchAll(/[A-Za-z_$][\w$]*/g))if(!i.has(a[0]))i.set(a[0],[r.sourceStart+a.index,r.sourceStart+a.index+a[0].length]);let n=0;for(let a of e.text.matchAll(/[A-Za-z_$][\w$]*/g)){let o=i.get(a[0]);if(!o)continue;this.b.emit(e.text.slice(n,a.index)),this.b.markSpan(t,"identifier",o[0],o[1],()=>this.noteImportedTypeWords(a[0])),n=a.index+a[0].length}this.b.emit(e.text.slice(n))}noteImportedTypeWords(e){let t=this.declaringName;this.declaringName=!1;try{let r=0;for(let s of cr(e)){if(s.start>0&&e[s.start-1]==="."||this.importSpecOf(s.value)===null)continue;this.b.emit(e.slice(r,s.start)),this.noteNameSpan(s.value),r=s.end}this.b.emit(e.slice(r))}finally{this.declaringName=t}}tsComponentMemberDeclares(e,t){let r=(n)=>this.b.tsOnly(()=>{this.b.emit(t),n(),this.b.emit(` +`)}),s=!1;for(let n of e.members){if(n.name==="children")s=!0;if(!Wn(n))continue;this.noteMemberDecl(n);let a=this.gateTwinSource(n,e);if(a!==null&&n.annotation==null){r(()=>this.emitGateTwin(n,a));continue}if(r(()=>this.emitSegments(Vn(n,e))),a!==null)r(()=>this.emitGateTwin(n,a,`__${n.name}__gate`))}if(!s)r(()=>this.b.emit("declare children?: __RipChildren;"));this._needsChildren=!0,r(()=>this.b.emit(`declare ${ia}: ${sa(e)};`));let i=ea(e);if(i.some((n)=>n.includes("__ripAmbientStash(")))this._needsAmbienceHelper=!0;for(let n of i)r(()=>this.b.emit(n));if(e.extendsTag!==null)this._restTags.add(e.extendsTag),this._needsClassValue=!0,r(()=>this.b.emit(`declare rest: ${Di(Ci(e.extendsTag))};`));else if(e.extendsComponent!==null)r(()=>this.b.emit(`declare rest: ${Di(la(e))};`)),r(()=>{if(this.b.emit("private static __ripHost() { return new "),e.hostSpan!==null&&e.hostNodeId!==null){let n=e.hostSpan[0];e.extendsComponent.split(".").forEach((a,o)=>{if(o>0)this.b.emit("."),n+=1;let l=n;n+=a.length,this.b.markSpan(e.hostNodeId,"identifier",l,n,()=>o===0?this.noteNameSpan(a):this.b.emit(a))})}else this.b.emit(e.extendsComponent);this.b.emit("(null!); }")});for(let n of aa("this"))r(()=>this.b.emit(n));r(()=>this.b.emit("[key: `_${string}`]: any;"))}gateTwinSource(e,t){if(e.kind!=="gate"||!t.appStashSpec)return null;let r=E.gateSource(e.node);return r.error?null:r}emitGateTwin(e,t,r=null){if(r===null)this.mark(e.nameNode,e.nameRole,()=>this.b.emit(e.name));else this.b.emit(r);if(this.b.emit(" = __computed(() => this."),this.mark(t.pathNode,"$self",()=>{let s=E.gateChain(t.pathNode).slice(1);if(s.forEach((i,n)=>{if(n>0)this.b.emit(".");this.emitPrimitive(i)}),this.ts&&(s[0]==="stash"||s[0]==="router")){let i=this.stores.idOf(t.pathNode),n=i!==null?this.stores.selfSpan(i):null,a=n!==null?this.stores.primitiveSpans(s[0],n[0],n[1])[0]??null:null;if(a&&!this.kinds.some((o)=>o.start===a.sourceStart&&o.label===s[0]))this.kinds.push({start:a.sourceStart,end:a.sourceEnd,label:s[0],name:s[0],optional:!1})}}),t.key!==null){if(this.b.emit("("),t.keyParts===null)this.b.emit(t.keyCode);else this.mark(t.key,"$self",()=>{this.b.emit("this."),t.keyParts.forEach((s,i)=>{if(i>0)this.b.emit(".");this.emitPrimitive(s)})});this.b.emit(")")}this.b.emit("!);")}tsScaffoldAny(e=""){if(this.ts)this.b.tsOnly(()=>this.b.emit(`: any${e}`))}tsServedValue(e,t){if(!this.ts)return t(),null;let r=null;return this.b.tsOnly(()=>{this.b.emit("({ "),r=this.b.offset,this.b.emit(`${e}: `)}),t(),this.b.tsOnly(()=>this.b.emit(` }).${e}`)),r}capturedExprText(e,{source:t=null}={}){let r=this.b;this.b=new Re(this.stores,{source:t});let{n:s,used:i}=this.temps;this.temps.used=new Set(i);let n=["pinnables","mutables","enums","classDecls","loopVars","attrNames","importedRefs","vocabulary","silences","memberDecls","narrowedDecls","importSpans","pendingTypeDecls","loopVarDecls"],a={};for(let o of n)a[o]=this[o],this[o]=[];try{return this.withExpression(e),this.b.code}finally{this.b=r,Object.assign(this.temps,{n:s,used:i});for(let o of n)this[o]=a[o]}}tsLoopItemTypeText(e,t){let r=this.tsIterThunkName(e);return r===null?null:`NonNullable> extends readonly (infer __E)[] ? __E : any`}tsIterThunkName(e){let t=e.owner,{iter:r}=e;if(!this.ts||t===void 0||r===void 0)return null;if(this.containsAwait(r)||dr(r))return null;if(Ee(r,t.parent.locals))return null;let s=new Set;E.collectLeafNames(r,s);for(let i of[t.self,e.itemVar,e.indexVar,...t.renameHazardNames])if(s.has(i))return null;return`${t.name}_iter`}tsEventTypeText(e,t=null){let r=e.filter((n)=>Ut.has(n));if(r.length===0)return null;let s=r.map((n)=>`HTMLElementEventMap['${n}']`).join(" | "),i=t??"any";return`${r.length>1?`(${s})`:s} & { target: ${i}; currentTarget: ${i} }`}tsElReceiver(e){if(this.ts){let t=this.rstate?.tags?.get(e),r=this.rstate?.svgEls?.has(e)===!0;if(typeof t==="string"&&ot(t,r)){let s=vi(t,r);return this.domSurfaces.set(s,{tag:t,svg:r}),{surfaced:!0,emit:()=>{this.b.tsOnly(()=>this.b.emit("(")),this.b.emit(e),this.b.tsOnly(()=>this.b.emit(` as ${s})`))},valsName:lr(t,r),hostText:xe(t,r)}}}return{surfaced:!1,emit:()=>this.b.emit(e),valsName:null,hostText:null}}tsHandlerCast(e,t=null){if(!this.ts)return e(),null;let r=this.b.offset;return this.b.tsOnly(()=>this.b.emit("(")),e(),this.b.tsOnly(()=>this.b.emit(t===null?") as any":`) as (e: ${t}) => unknown`)),t===null?null:[r,this.b.offset]}tsComponentCtor(e,t){if(e.members.some((r)=>r.kind==="gate")){this.b.tsOnly(()=>{this.b.emit(`${t}declare static mount: never; `),this.b.emit(`${t}private constructor() { super(); } `)});return}if(!Ii(e))this.b.tsOnly(()=>this.b.emit(`${t}declare static mount: never; `));else this.b.tsOnly(()=>this.b.emit(`${t}declare static mount: (target?: Node | string) => InstanceType; -`));this.b.tsOnly(()=>{this.b.emit(`${t}constructor(props${Ii(e)?"?":""}: `),this.emitSegments(Ws(e,{road:"face"})),this.b.emit(`) { super(props); } -`)})}tsComponentCompanion(e,t,r,s=null){if(!this.ts)return;let i=this.componentInfo.get(e);if(i===void 0)return;let n=" ".repeat(this.ind),a=Ys(s);this.b.tsOnly(()=>{this.b.emit(` -`+n),this.mark(e,"$self",()=>{let c=this.stores.idOf(e),f=c!==null?this.stores.selfSpan(c):null,h=-1;if(f!==null&&this.b.source!==null){let p=f[0];while(p>0){let m=this.b.source.lastIndexOf(t,p-1);if(m<0)break;let g=this.b.source[m-1]??" ",b=this.b.source[m+t.length]??" ";if(!/[\w$]/.test(g)&&!/[\w$]/.test(b)){h=m;break}p=m}}let u=this.moduleTypeDeclarationSpans();if(h>=0)u.set(t,[h,h+t.length]);let d=(p)=>{if(u.size===0){this.b.emit(p);return}let m=0;for(let g of p.matchAll(/[A-Za-z_$][\w$]*/g)){let b=u.get(g[0]);if(!b)continue;this.b.emit(p.slice(m,g.index)),this.b.markSpan(c,"identifier",b[0],b[1],()=>this.b.emit(g[0])),m=g.index+g[0].length}this.b.emit(p.slice(m))};this.b.emit(`${r?"export ":""}interface `),d(t),this.b.emit(`${s??""} {`);for(let p of Gs(i,`${t}${a}`,{road:"face"})){this.b.emit(` +`));this.b.tsOnly(()=>{this.b.emit(`${t}constructor(props${Ii(e)?"?":""}: `),this.emitSegments(Kn(e,{road:"face"})),this.b.emit(`) { super(props); } +`)})}tsComponentCompanion(e,t,r,s=null){if(!this.ts)return;let i=this.componentInfo.get(e);if(i===void 0)return;let n=" ".repeat(this.ind),a=qn(s);this.b.tsOnly(()=>{this.b.emit(` +`+n),this.mark(e,"$self",()=>{let c=this.stores.idOf(e),h=c!==null?this.stores.selfSpan(c):null,f=-1;if(h!==null&&this.b.source!==null){let p=h[0];while(p>0){let m=this.b.source.lastIndexOf(t,p-1);if(m<0)break;let g=this.b.source[m-1]??" ",b=this.b.source[m+t.length]??" ";if(!/[\w$]/.test(g)&&!/[\w$]/.test(b)){f=m;break}p=m}}let u=this.moduleTypeDeclarationSpans();if(f>=0)u.set(t,[f,f+t.length]);let d=(p)=>{if(u.size===0){this.b.emit(p);return}let m=0;for(let g of p.matchAll(/[A-Za-z_$][\w$]*/g)){let b=u.get(g[0]);if(!b)continue;this.b.emit(p.slice(m,g.index)),this.b.markSpan(c,"identifier",b[0],b[1],()=>this.b.emit(g[0])),m=g.index+g[0].length}this.b.emit(p.slice(m))};this.b.emit(`${r?"export ":""}interface `),d(t),this.b.emit(`${s??""} {`);for(let p of Yn(i,`${t}${a}`,{road:"face"})){this.b.emit(` `+n+" ");let m=()=>{for(let g of p.segs)if(g.node!==void 0)this.mark(g.node,g.role,()=>this.emitAnnotationWords(g));else d(g.text)};if(p.node!==void 0)this.mark(p.node,p.role,m);else m()}this.b.emit(` -`+n+"}")})});let o=i.computedBodies??[];if(i.behavior===null||o.length===0)return;if(this.scopes[0]?.has(i.behavior)||this.moduleBound?.has(i.behavior))throw this.positionedError(e,`emitter: the module binds '${i.behavior}', the face-only name this component's `+"computed types read through — rename the binding");let l=`${t}${zs(s)}`;this.b.tsOnly(()=>this.b.echo(()=>{this.b.emit(` -`+n),this.mark(e,"$self",()=>{this.b.emit(`const ${i.behavior} = {`);let c=this.stores.idOf(e),f=c!==null?this.stores.selfSpan(c):null,h=-1;if(f!==null&&this.b.source!==null){let u=f[0];while(u>0){let d=this.b.source.lastIndexOf(t,u-1);if(d<0)break;if(!/[\w$]/.test(this.b.source[d-1]??" ")&&!/[\w$]/.test(this.b.source[d+t.length]??" ")){h=d;break}u=d}}o.forEach(({name:u,code:d,block:p},m)=>{this.b.emit(`${m>0?",":""} ${u}: function (this: `),this.emitNamedCopies(l,t,h>=0?c:null,h>=0?[h,h+t.length]:null),this.b.emit(`) ${p?d:`{ return ${d}; }`}`)}),this.b.emit(" };")})}))}static TS_DIRECTIVE=/^#[ \t]*@ts-(expect-error|ignore|nocheck)(?=\s|$)/;collectTypeOnlyImports(e,t){let r=new Set,s=[],i=(a)=>{if(typeof a==="string"){r.add(a);return}if(!y(a))return;if(Mi(this.stores,a)){let o=this.stores.idOf(a);if(o===null||this.stores.role(o,"typeOnly")===null)s.push(...E.importedNames([a]));return}if(a[0]==="typed-var"&&a.length===3){i(a[1]);return}if(a[0]==="def-sig"){i(a[2]);return}if(a[0]==="type-decl")return;for(let o of a)i(o)};if(i(e),s.length===0||!t)return;let n=new Set;for(let a of this.stores.nodes??[])for(let o of this.stores.rolesOf(a.nodeId)){if(!E.TYPE_ROLES.has(o.role)||typeof o.sourceStart!=="number")continue;for(let l of t.slice(o.sourceStart,o.sourceEnd).matchAll(/[A-Za-z_$][\w$]*/g))n.add(l[0])}for(let a of s)if(n.has(a)&&!r.has(a))this.typeOnlyImports.add(a)}collectAppAccessors(e){this.appAccessors={stash:null,router:null};for(let t of e.slice(1)){if(!Mi(this.stores,t))continue;let r=t[t.length-1];if(typeof r!=="string"||r.slice(1,-1)!=="rip/app")continue;let s=this.stores.idOf(t);if(s!==null&&this.stores.role(s,"typeOnly")!==null)continue;for(let i of E.importSpecs(t)){if(!y(i)||i[0]==="*")continue;for(let n of i){let a=y(n)?n[0]:n,o=y(n)?n[1]:n;if(a==="currentStash")this.appAccessors.stash=o;else if(a==="currentRouter")this.appAccessors.router=o}}}}isAccessorCall(e,t){if(t===null||!y(e)||e.length!==1||e[0]!==t)return!1;return!this.scopes.slice(1).some((r)=>r.has(t))}collectTsDirectives(e,t,r){if(this.tsDirectiveMap=new Map,this.tsNocheck=null,this.pendingHoistDirectives=[],t.length===0)return;let s=[0];for(let h=0;h{let u=0,d=s.length-1;while(u>1;if(s[p]<=h)u=p;else d=p-1}return u},n=[],a=[];for(let h of t){if(h.kind!=="comment")continue;let u=E.TS_DIRECTIVE.exec(h.text);if(u===null)continue;if(!/^[ \t]*$/.test(r.slice(s[i(h.start)],h.start)))continue;(u[1]==="nocheck"?a:n).push(h)}if(n.length===0&&a.length===0)return;let o=[],l=(h)=>{for(let u of h){if(!y(u))continue;let d=this.stores.idOf(u);if(d===null)continue;let p=this.stores.node(d);o.push({el:u,id:d,start:p.sourceStart,end:p.sourceEnd})}};l(e.slice(1));let c=(h)=>{if(!y(h))return;if(b1(h)){l(h.slice(1));for(let u of h.slice(1))if(y(u)&&O1(u))l(u.slice(1))}for(let u of h)c(u)};c(e),o.sort((h,u)=>h.start-u.start||u.end-h.end);for(let h of n){let u=o.find((p)=>p.start>=h.end);if(u===void 0||i(u.start)!==i(h.start)+1)continue;let d=this.tsDirectiveMap.get(u.el)??[];d.push({t:h,nodeId:u.id}),this.tsDirectiveMap.set(u.el,d)}let f=o.length>0?o[0].start:1/0;this.tsNocheck=this.ts?a.find((h)=>h.end<=f)??null:null}tsDirectiveLine(e,t,r=!1){this.b.tsOnly(()=>{if(r)this.b.emit(t);this.b.markSpan(e.nodeId,"tsDirective",e.t.start,e.t.end,()=>{this.b.emit("//"+e.t.text.slice(1))}),this.b.emit(r?` +`+n+"}")})});let o=i.computedBodies??[];if(i.behavior===null||o.length===0)return;if(this.scopes[0]?.has(i.behavior)||this.moduleBound?.has(i.behavior))throw this.positionedError(e,`emitter: the module binds '${i.behavior}', the face-only name this component's `+"computed types read through — rename the binding");let l=`${t}${Xn(s)}`;this.b.tsOnly(()=>this.b.echo(()=>{this.b.emit(` +`+n),this.mark(e,"$self",()=>{this.b.emit(`const ${i.behavior} = {`);let c=this.stores.idOf(e),h=c!==null?this.stores.selfSpan(c):null,f=-1;if(h!==null&&this.b.source!==null){let u=h[0];while(u>0){let d=this.b.source.lastIndexOf(t,u-1);if(d<0)break;if(!/[\w$]/.test(this.b.source[d-1]??" ")&&!/[\w$]/.test(this.b.source[d+t.length]??" ")){f=d;break}u=d}}o.forEach(({name:u,code:d,block:p},m)=>{this.b.emit(`${m>0?",":""} ${u}: function (this: `),this.emitNamedCopies(l,t,f>=0?c:null,f>=0?[f,f+t.length]:null),this.b.emit(`) ${p?d:`{ return ${d}; }`}`)}),this.b.emit(" };")})}))}static TS_DIRECTIVE=/^#[ \t]*@ts-(expect-error|ignore|nocheck)(?=\s|$)/;collectTypeOnlyImports(e,t){let r=new Set,s=[],i=(a)=>{if(typeof a==="string"){r.add(a);return}if(!y(a))return;if(Mi(this.stores,a)){let o=this.stores.idOf(a);if(o===null||this.stores.role(o,"typeOnly")===null)s.push(...E.importedNames([a]));return}if(a[0]==="typed-var"&&a.length===3){i(a[1]);return}if(a[0]==="def-sig"){i(a[2]);return}if(a[0]==="type-decl")return;for(let o of a)i(o)};if(i(e),s.length===0||!t)return;let n=new Set;for(let a of this.stores.nodes??[])for(let o of this.stores.rolesOf(a.nodeId)){if(!E.TYPE_ROLES.has(o.role)||typeof o.sourceStart!=="number")continue;for(let l of t.slice(o.sourceStart,o.sourceEnd).matchAll(/[A-Za-z_$][\w$]*/g))n.add(l[0])}for(let a of s)if(n.has(a)&&!r.has(a))this.typeOnlyImports.add(a)}collectAppAccessors(e){this.appAccessors={stash:null,router:null};for(let t of e.slice(1)){if(!Mi(this.stores,t))continue;let r=t[t.length-1];if(typeof r!=="string"||r.slice(1,-1)!=="rip/app")continue;let s=this.stores.idOf(t);if(s!==null&&this.stores.role(s,"typeOnly")!==null)continue;for(let i of E.importSpecs(t)){if(!y(i)||i[0]==="*")continue;for(let n of i){let a=y(n)?n[0]:n,o=y(n)?n[1]:n;if(a==="currentStash")this.appAccessors.stash=o;else if(a==="currentRouter")this.appAccessors.router=o}}}}isAccessorCall(e,t){if(t===null||!y(e)||e.length!==1||e[0]!==t)return!1;return!this.scopes.slice(1).some((r)=>r.has(t))}collectTsDirectives(e,t,r){if(this.tsDirectiveMap=new Map,this.tsNocheck=null,this.pendingHoistDirectives=[],t.length===0)return;let s=[0];for(let f=0;f{let u=0,d=s.length-1;while(u>1;if(s[p]<=f)u=p;else d=p-1}return u},n=[],a=[];for(let f of t){if(f.kind!=="comment")continue;let u=E.TS_DIRECTIVE.exec(f.text);if(u===null)continue;if(!/^[ \t]*$/.test(r.slice(s[i(f.start)],f.start)))continue;(u[1]==="nocheck"?a:n).push(f)}if(n.length===0&&a.length===0)return;let o=[],l=(f)=>{for(let u of f){if(!y(u))continue;let d=this.stores.idOf(u);if(d===null)continue;let p=this.stores.node(d);o.push({el:u,id:d,start:p.sourceStart,end:p.sourceEnd})}};l(e.slice(1));let c=(f)=>{if(!y(f))return;if(b1(f)){l(f.slice(1));for(let u of f.slice(1))if(y(u)&&O1(u))l(u.slice(1))}for(let u of f)c(u)};c(e),o.sort((f,u)=>f.start-u.start||u.end-f.end);for(let f of n){let u=o.find((p)=>p.start>=f.end);if(u===void 0||i(u.start)!==i(f.start)+1)continue;let d=this.tsDirectiveMap.get(u.el)??[];d.push({t:f,nodeId:u.id}),this.tsDirectiveMap.set(u.el,d)}let h=o.length>0?o[0].start:1/0;this.tsNocheck=this.ts?a.find((f)=>f.end<=h)??null:null}tsDirectiveLine(e,t,r=!1){this.b.tsOnly(()=>{if(r)this.b.emit(t);this.b.markSpan(e.nodeId,"tsDirective",e.t.start,e.t.end,()=>{this.b.emit("//"+e.t.text.slice(1))}),this.b.emit(r?` `:` -`+t)})}withTsDirectives(e,t,r,s=!1){let i=this.ts&&this.tsDirectivesArmed&&y(e)?this.tsDirectiveMap.get(e):void 0;if(i===void 0)return r();this.tsDirectiveMap.delete(e);for(let n of i)this.tsDirectiveLine(n,t,s);r()}tsForwardDirectives(e){if(!this.ts||!this.tsDirectivesArmed)return;let t=this.tsDirectiveMap?.get(e);if(t===void 0)return;this.tsDirectiveMap.delete(e);for(let r of t)r.forwardOwner=e;this.pendingHoistDirectives.push(...t)}tsOverloadSigs(e,t){if(!this.ts)return;let r=this.pendingSigs.get(e);if(!r)return;for(let s of r){let i=this.tsRendered(s,()=>On(s[2],In(this.stores))),n=this.tsDirectiveMap.get(s);if(n!==void 0){this.tsDirectiveMap.delete(s);for(let a of n)this.tsDirectiveLine(a," ".repeat(t))}this.b.tsOnly(()=>{this.mark(s,"$self",()=>{this.b.emit("function "),this.mark(s,"name",()=>this.b.emit(s[1])),this.mark(s,"params",()=>this.b.emit(i)),this.mark(s,"returnType",()=>this.emitTypeText(s,"returnType",`: ${Be(s[3])}`)),this.b.emit(";")}),this.b.emit(` -`+" ".repeat(t))})}}patternNames(e,t=[],r=!1,s=null){if(!y(e)){if(typeof e==="string"&&e!==","){if(A3.has(e))throw this.positionedError(s,`emitter: \`${e}\` cannot be a destructuring target — a value word lowers to its literal before scope exists, so the binding would be unreachable`);t.push(e)}return t}if(e[0]==="array")for(let i of e.slice(1))this.patternNames(i,t,r,e);else if(e[0]==="object"){for(let i of e.slice(1))if(i[0]===null)this.patternNames(i[1],t,r,e);else if(i[0]===":")this.patternNames(i[2],t,r,e);else if(i[0]==="=")this.patternNames(i[1],t,r,e);else if(i[0]==="...")this.patternNames(i[1],t,r,e)}else if(e[0]==="rest"){if(!r)throw this.positionedError(e,"emitter: Cannot use 'rest' expression as a destructuring target (destructuring rest is spelled '...name')");this.patternNames(e[1],t,r,e)}else if(e[0]==="...")this.patternNames(e[1],t,r,e);else if(e[0]==="default")this.patternNames(e[1],t,r,e);else if(e[0]==="=")this.patternNames(e[1],t,r,e);else if(e[0]==="cast"||e[0]==="satisfies")this.patternNames(e[1],t,r,e);else if(e[0]==="typed-var")this.patternNames(e[1],t,r,e);return t}static isPattern(e){return O1(e)||y(e)&&e[0]==="array"}static declarablePattern(e){let t=(r)=>typeof r==="string"||(y(r)&&r[0]==="="?t(r[1]):E.declarablePattern(r));if(y(e)&&e[0]==="array"){let r=e.slice(1);return r.every((s,i)=>y(s)&&s[0]==="..."?i===r.length-1&&typeof s[1]==="string":t(s))}if(O1(e)){let r=e.slice(1);return r.every((s,i)=>{if(!y(s))return!1;if(s[0]===null)return typeof s[2]==="string";if(s[0]==="=")return typeof s[1]==="string";if(s[0]==="...")return i===r.length-1&&typeof s[1]==="string";return s[0]===":"&&t(s[2])})}return!1}rejectDuplicateDefault(e){let t=null;for(let r of e){if(!y(r)||r[0]!=="export-default")continue;if(t!==null)throw this.positionedError(r,"emitter: duplicate 'export default' — a module has exactly one default export",t);t=r}}static classDeclNames(e){let t=new Set;for(let r of e){if(!y(r))continue;let s=r[0]==="export"&&y(r[1])?r[1]:r;if(y(s)&&s[0]==="class"&&typeof s[1]==="string")t.add(s[1])}return t}static isTypedWrapper(e){return y(e)&&e[0]==="typed-var"&&e.length===3}static isErasedStmt(e){return y(e)&&(e[0]==="type-decl"||E.isTypedWrapper(e)||e[0]==="def-sig"&&e.length===4)}static stripErased(e){return e.filter((t)=>!E.isErasedStmt(t))}liveStmts(e,{forwards:t=!1}={}){let r=[];for(let s=0;sy(o)&&k1(o[0])&&o.length===4&&o[1]===n);if(!a)throw this.positionedError(i,`emitter: overload signature 'def ${n}' has no implementation — `+`a bodiless typed def must be followed by 'def ${n}' with a body in the same block`);if(this.ts){let o=this.pendingSigs.get(a)??[];if(!o.includes(i))o.push(i),this.pendingSigs.set(a,o)}}if(this.ts&&t&&E.isTypedWrapper(i)&&typeof i[1]==="string"&&!this.pendingHoistTypes.has(i[1]))this.pendingHoistTypes.set(i[1],i);if(t&&E.isTypedWrapper(i))this.tsForwardDirectives(i);this.erasedRows(i)}else r.push(i)}return r}erasedRows(e){this.mark(e,"$self",()=>{});let t=e[0]==="type-decl"?["declaration"]:e[0]==="def-sig"?["name","params","returnType"]:["target","annotation"];for(let r of t)this.mark(e,r,()=>{})}inScope(e){return this.scopes.some((t)=>t.has(e))||this.rframes.some((t)=>t.block===!0&&t.bound.has(e))}scopedHoist(e,t=[],{declareInPlace:r=!0}={}){for(let a of t){let o=E.paramMatchWrite(a);if(o!==null)throw this.positionedError(o,"emitter: a parameter default cannot write the last-match binding — "+"`_` lives in the enclosing body, which a default cannot reach (move the match into the body)")}let s=this.hoistTargets(e,t),i=s.filter(([a,o])=>{if(y(o)&&F1.has(o[0])&&!ct.has(o[0])&&typeof o[1]==="string"&&this.isExportedConst(o[1]))return!1;return!this.inScope(a)||a==="_"&&s.matchWrite});i.annotations=s.annotations,i.directives=s.directives;let n=new Set(i.map(([a])=>a));for(let a of t)for(let o of this.patternNames(a,[],!0))n.add(o);if(r)i=this.applyDeclareInPlace(i,e,{tailIsExpression:!0});return{entries:i,names:n}}hoistTargets(e,t=[],r=[]){let s=new Map,i=!1,n=new Set,a=[],o=new Map,l=(m,g)=>{if(this.ts&&!o.has(m)&&this.annotationText(g)!==null)o.set(m,g)},c=(m,g)=>{if(!s.has(m))s.set(m,g)},f=(m)=>{if(this.scopeBoundary(m)==="skip")return;if(E.isMatchWrite(m))c("_",m),i=!0;for(let g of m)f(g)},h=(m)=>{let g=this.scopeBoundary(m);if(g==="skip")return;if(this.ts&&E.isTypedWrapper(m)){if(typeof m[1]==="string")l(m[1],m);this.tsForwardDirectives(m)}if(ut(m)&&y(m[1][2]))a.push([this.chainTemp(m),m[1][2],"$self"]);if(g==="reactive"){if(typeof m[1]==="string")n.add(m[1]);if(!(m[0]==="computed"&&b1(m[2])&&m[2].length>2))h(m[2]);return}if(g==="effect"){if(typeof m[1]==="string")n.add(m[1]);return}if(g==="readonly"){if(typeof m[1]==="string")n.add(m[1]);h(m[2]);return}if(m[0]==="export"&&y(m[1])){let b=m[1];if((this.isReactiveDecl(b)||this.isEffectDecl(b)||this.isReadonlyDecl(b))&&typeof b[1]==="string"){if(n.add(b[1]),!this.isEffectDecl(b)&&!(b[0]==="computed"&&b1(b[2])&&b[2].length>2))h(b[2]);return}if(F1.has(b[0])&&b.length===3)h(b[2]);return}if(g==="loop"){f(m[1]);for(let b of m.slice(2))h(b);return}if(g==="comprehension"){h(m[1]);for(let b of m[2]??[])f(b[1]),h(b[2]);for(let b of m[3]??[])h(b);return}if(m[0]==="export")return;if(g==="class"){if(m[2]!=null)h(m[2]);let b=m[3];if(b1(b)){for(let S of b.slice(1))if(y(S)&&F1.has(S[0])&&S.length===3)h(S[2]);else if(!E.isTypedWrapper(S))h(S)}return}if(E.isMatchWrite(m))c("_",m),i=!0;if(F1.has(m[0])&&m.length===3){if(typeof m[1]==="string")c(m[1],m),l(m[1],m);else if(m[0]==="="&&E.isPattern(m[1]))for(let b of this.patternNames(m[1]))c(b,m)}if(m[0]==="try"){for(let b of m.slice(2))if(y(b)&&b.length===2&&E.isPattern(b[0]))for(let S of this.patternNames(b[0]))c(S,m)}for(let b of m)h(b)};for(let m of e)h(m);let u=[];for(let m of t)this.patternNames(m,u,!0);for(let m of u)s.delete(m);for(let m of n)s.delete(m);for(let m of E.declaredNames(e))s.delete(m);for(let m of r)s.delete(m);for(let m of e)if(this.isModuleImport(m))for(let g of E.importedNames([m]))s.delete(g);for(let m of this.cframes)for(let g of m.members.keys())s.delete(g);let d=[...s.entries()].map(([m,g])=>[m,g,"target"]);d.matchWrite=i,d.push(...a);let p=new Set([...s.keys(),...u,...n]);if(d.push(...this.planReferenceTemps(e,p)),d.sort(([m],[g])=>mg?1:0),this.ts){for(let[m,g]of this.pendingHoistTypes)if(!o.has(m))o.set(m,g);this.pendingHoistTypes.clear(),d.annotations=o,d.directives=this.pendingHoistDirectives,this.pendingHoistDirectives=[]}return d}static declaresInPlace=new WeakSet;static inlineOwners=new WeakMap;captureScan(e){let t=new Set(e.filter(y)),r=new Map,s=(a,o,l=!1,c=null,f=null,h="")=>{if(typeof a!=="string"||!ur.test(a))return;let u=r.get(a);if(u===void 0)r.set(a,u={decl:null,seen:!1,nested:!1,nestedWrite:!1,inDef:!1,annotated:null,firstWrite:null,firstWritePath:""});if(!u.seen)u.seen=!0,u.decl=c;if(l&&u.firstWrite===null&&f!==null)u.firstWrite=f,u.firstWritePath=h;if(o>0){if(u.nested=!0,l)u.nestedWrite=!0;if(o===2)u.inDef=!0}},i=(a,o,l)=>{let c=(f)=>{if(typeof f==="string"){if(f!==",")l(f);return}if(f[0]==="="){n(f[2],o),c(f[1]);return}if(f[0]==="..."){l(f[1]);return}i(f,o,l)};if(a[0]==="array"){for(let f of a.slice(1))c(f);return}for(let f of a.slice(1))if(f[0]===null)l(f[2]);else if(f[0]==="=")n(f[2],o),l(f[1]);else if(f[0]==="...")l(f[1]);else if(f[0]===":"){if(y(f[1]))n(f[1],o);c(f[2])}},n=(a,o)=>{if(typeof a==="string")return s(a,o);if(!y(a))return;if(E.isTypedWrapper(a)){if(typeof a[1]==="string"){let c=r.get(a[1]);if(c!==void 0&&c.annotated===null)c.annotated=a}return}let l=a[0];if(T1(a)){for(let c of a.slice(1))n(c,Math.max(o,1));return}if(k1(l)||l==="class"||l==="component"||l==="enum"){let c=k1(l)?2:Math.max(o,1);if(l==="class"){for(let f of a.slice(2)){let h=y(f)&&f[0]==="block"?f.slice(1):[f];for(let u of h)if(y(u)&&k1(u[0])&&u.length===4)for(let d of u.slice(2))n(d,c);else n(u,c)}return}for(let f of a.slice(typeof a[1]==="string"?2:1))n(f,c);return}if(E.isMatchWrite(a)){for(let c of a.slice(1))n(c,o);s("_",o,!0);return}if(F1.has(l)&&a.length===3){if(n(a[2],o),typeof a[1]==="string"){let c=ct.has(l);if(!c)s(a[1],o);if(s(a[1],o,!0,c&&!o&&t.has(a)?a:null,c?a:null),c&&this.annotationText(a)!==null){let f=r.get(a[1]);if(f!==void 0&&f.annotated===null)f.annotated=a}}else if(l==="="&&E.declarablePattern(a[1])){let c=!o&&t.has(a)?a:null,f=new Map(mr(a[1]));i(a[1],o,(h)=>s(h,o,!0,c,f.has(h)?a:null,f.get(h)??""))}else if(n(a[1],o),ct.has(l))for(let[c,f]of mr(a[1]))s(c,o,!0,null,a,f);return}if(U1(a)){if(typeof a[1]==="string")s(a[1],o,!0);else n(a[1],o);return}if((l==="."||l==="?.")&&a.length===3){if(n(a[1],o),typeof a[2]!=="string")n(a[2],o);return}if(l==="object"){for(let c of a.slice(1))if(y(c)&&c[0]===":"&&c.length===3){if(typeof c[1]!=="string")n(c[1],o);n(c[2],o)}else n(c,o);return}for(let c of a)n(c,o)};for(let a of e)n(a,0);return r}applyDeclareInPlace(e,t,{tailIsExpression:r=!1}={}){if(!e.some(([,,f])=>f==="target"))return e;let s=this.captureScan(t),i=null;if(r){for(let f=t.length-1;f>=0;f--)if(!E.isErasedStmt(t[f])){i=t[f];break}}let n=new Map,a=new Set(e.filter(([,,f])=>f==="target").map(([f])=>f)),o=new Map,l=(f)=>{let h=o.get(f);if(h===void 0){let u=this.patternNames(f[1]);if(h=u.every((d)=>{let p=s.get(d);return a.has(d)&&p!==void 0&&p.decl===f&&!p.inDef}),h){let d=u.find((p)=>s.get(p).annotated!==null);if(d!==void 0)throw this.positionedError(s.get(d).annotated,`emitter: '${d}' is declared by a destructuring pattern, which cannot carry this annotation — `+`rename the element in the pattern (\`${d}: raw\`) and declare \`${d}: T\` from it, or annotate the pattern's source`)}o.set(f,h)}return h},c=e.filter(([f,,h])=>{if(h!=="target")return!0;let u=s.get(f);if(!u||u.decl===null||u.inDef||u.decl===i)return!0;if(y(u.decl)&&ct.has(u.decl[0])&&E.controlGuard(u.decl[2]))return!0;if(E.isPattern(u.decl[1])){if(!l(u.decl))return!0;return E.declaresInPlace.add(u.decl),!1}let d=e.annotations?.get(f);if(d!==void 0&&d!==u.decl)E.inlineOwners.set(u.decl,d),n.set(d,u.decl);return E.declaresInPlace.add(u.decl),!1});if(c.annotations=e.annotations,c.schemaConsts=e.schemaConsts,e.directives?.length&&n.size){c.directives=[];for(let f of e.directives){let h=f.forwardOwner!==void 0?n.get(f.forwardOwner):void 0;if(h!==void 0){let u=this.tsDirectiveMap.get(h)??[];u.push(f),this.tsDirectiveMap.set(h,u)}else c.directives.push(f)}}else c.directives=e.directives;c.classBindings=new Set,c.componentTypes=new Map;for(let[f,,h]of c){if(h!=="target")continue;let u=s.get(f)?.firstWrite??null,d=u?.[2];if(!y(d))continue;if(d[0]==="class"||d[0]==="component")c.classBindings.add(f);if(!this.ts||!this.isComponentDecl(d))continue;if(this.annotationText(u,"typeParams")!==null)continue;let p=Oi(this.stores,this.b.source,d,`__${f}__computed`);p.appStashSpec=this.appStashSpec,p.routesUnion=this.routesUnion,p.routeParams=this.routeParams,c.componentTypes.set(f,`{ ${ia(p,f,"",f,{road:"face"}).join(" ")} }`),(c.componentInfos??=new Map).set(f,p)}c.pinnable=new Map;for(let[f,,h]of c){if(h!=="target")continue;let u=s.get(f);if(!u?.nested||u.firstWrite===null)continue;if(c.annotations?.has(f)||c.schemaConsts?.has(f))continue;if(c.componentTypes.has(f))continue;let d=this.pinKey(f,u.firstWrite,u.firstWritePath);c.pinnable.set(f,{node:u.firstWrite,key:d}),this.pinnables?.push({name:f,node:u.firstWrite,path:u.firstWritePath,key:d})}return c}pinKey(e,t,r=""){let s=this.stores.idOf(t),i=s!==null?this.stores.role(s,"value"):null;if(!i||i.sourceStart==null||this.b.source===null)return null;let n=r+"\x00"+this.b.source.slice(i.sourceStart,i.sourceEnd),a=5381;for(let o=0;o>>0;return`${e}@${a.toString(36)}`}chainTemp(e){let t=this.temps.byNode.get(e);if(t===void 0)t=this.freshTempName(),this.temps.byNode.set(e,t);return t}freshTempName(){let e;do e=this.temps.n===0?"_ref":`_ref${this.temps.n}`,this.temps.n++;while(this.temps.used.has(e));return e}inCtrl(e){this.ctrlDepth++;try{e()}finally{this.ctrlDepth--}}loopTempName(e){let t=e;for(let r=1;this.temps.used.has(t);r++)t=`${e}${r}`;return t}runtimeName(e){let t=this.runtimeAliases.get(e);if(t===void 0)throw Error(`emitter invariant: generated runtime name '${e}' is not registered`);return t}hoistLine(e,t=""){if(e.length===1)for(let r of e.directives??[])this.tsDirectiveLine(r,t);this.b.emit("let "),e.forEach(([r,s,i],n)=>{if(n>0)this.b.emit(", ");let a=this.ts&&i==="target"?e.annotations?.get(r)??null:null,o=a!==null?this.stores.idOf(a):null,l=o!==null&&E.isTypedWrapper(a)&&this.stores.role(o,"target")!==null,c=this.b.offset;if(l)this.mark(a,"target",()=>this.b.emit(r));else{let f=this.stores.idOf(s),h=f!==null?this.stores.role(f,i):null,u=h?.sourceStart!=null&&this.b.source!==null?this.b.source.slice(h.sourceStart,h.sourceEnd):null,d=u!==null&&u!==r?this.stores.primitiveSpans(r,h.sourceStart,h.sourceEnd)[0]??null:null;if(d)this.b.markSpan(f,"identifier",d.sourceStart,d.sourceEnd,()=>this.b.emit(r));else this.mark(s,i,()=>this.b.emit(r))}if(this.ts&&i==="target"&&e.classBindings?.has(r))this.classDecls.push([c,this.b.offset]);if(this.ts&&i==="target")if(a!==null)this.b.tsOnly(()=>{if(E.isTypedWrapper(a)&&!this.strict)this.b.emit("!");this.mark(a,"annotation",()=>this.b.emit(`: ${this.annotationText(a)}`))});else{let f=e.schemaConsts?.get(r)??null,h=e.componentTypes?.get(r)??null;if(f!==null){let u=this.bindingNameSpan(s,i,r);this.b.tsOnly(()=>{this.b.emit(": "),this.emitNamedCopies(f,r,u?.id??null,u?.span??null)})}else if(h!==null){let u=e.componentInfos?.get(r)??null,d=this.stores.idOf(s),p=d!==null?this.stores.role(d,i):null,m=p?.sourceStart!=null&&this.b.source?.slice(p.sourceStart,p.sourceEnd)===r?[p.sourceStart,p.sourceEnd]:null;this.b.tsOnly(()=>{if(this.b.emit(`${this.strict?"":"!"}: `),u!==null)for(let g of oa(u,r,"",r,{road:"face"})){if(g.node!==void 0){this.mark(g.node,g.role,()=>this.b.emit(g.text));continue}this.emitNamedCopies(g.text,r,d,m)}else this.b.emit(h)})}else{let u=e.pinnable?.get(r)?.key??null,d=u!==null?this.pins?.get(u):void 0;if(d!==void 0)this.b.tsOnly(()=>{this.pinnedWrites.add(e.pinnable.get(r).node);let p=this.b.offset;this.b.emit(`${this.strict?"":"!"}: `),this.emitDeclaredTypeCopies(d,this.stores.idOf(s)),this.pinSpans.push([p,this.b.offset])})}}}),this.b.emit(";")}program(e){return this.programWith(e)}ambientHoistFilter(e){if(this.scopes.length===0)return e;let t=e.filter(([r])=>!this.inScope(r)||r==="_"&&e.matchWrite);return t.matchWrite=e.matchWrite,t.annotations=e.annotations,t.directives=e.directives,t}attachSchemaConsts(e){if(!this.schemaStories)return;let t=new Map;for(let r of this.schemaStories.values())if(!r.decl.exported&&r.constType!==null)t.set(r.decl.name,r.constType);if(t.size)e.schemaConsts=t}programWith(e){let t=this.liveStmts(e.slice(1),{forwards:!0}),r=0;while(r0){this.mark(e,"$self",()=>{for(let a of t.slice(0,r))this.statement(a,0);this.emitDataConst();let s=t.slice(r),i=this.ambientHoistFilter(this.hoistTargets(s,[],E.importedNames(t.slice(0,r))));this.attachSchemaConsts(i);let n=new Set([...i.map(([a])=>a),...E.importedNames(t.slice(0,r))]);for(let a of this.pushReactiveFrame(t,n))n.add(a);if(this.moduleBound=E.moduleBoundNames(s),this.moduleClassNames=E.classDeclNames(s),this.rejectDuplicateDefault(s),this.scopes.push(n),i=this.applyDeclareInPlace(i,e.slice(1),{tailIsExpression:this.repl}),i.length)this.hoistLine(i),this.b.emit(` +`+t)})}withTsDirectives(e,t,r,s=!1){let i=this.ts&&this.tsDirectivesArmed&&y(e)?this.tsDirectiveMap.get(e):void 0;if(i===void 0)return r();this.tsDirectiveMap.delete(e);for(let n of i)this.tsDirectiveLine(n,t,s);r()}tsForwardDirectives(e){if(!this.ts||!this.tsDirectivesArmed)return;let t=this.tsDirectiveMap?.get(e);if(t===void 0)return;this.tsDirectiveMap.delete(e);for(let r of t)r.forwardOwner=e;this.pendingHoistDirectives.push(...t)}tsOverloadSigs(e,t){if(!this.ts)return;let r=this.pendingSigs.get(e);if(!r)return;for(let s of r){let i=this.tsRendered(s,()=>Os(s[2],Is(this.stores))),n=this.tsDirectiveMap.get(s);if(n!==void 0){this.tsDirectiveMap.delete(s);for(let a of n)this.tsDirectiveLine(a," ".repeat(t))}this.b.tsOnly(()=>{this.mark(s,"$self",()=>{this.b.emit("function "),this.mark(s,"name",()=>this.b.emit(s[1])),this.mark(s,"params",()=>this.b.emit(i)),this.mark(s,"returnType",()=>this.emitTypeText(s,"returnType",`: ${Be(s[3])}`)),this.b.emit(";")}),this.b.emit(` +`+" ".repeat(t))})}}patternNames(e,t=[],r=!1,s=null){if(!y(e)){if(typeof e==="string"&&e!==","){if($3.has(e))throw this.positionedError(s,`emitter: \`${e}\` cannot be a destructuring target — a value word lowers to its literal before scope exists, so the binding would be unreachable`);t.push(e)}return t}if(e[0]==="array")for(let i of e.slice(1))this.patternNames(i,t,r,e);else if(e[0]==="object"){for(let i of e.slice(1))if(i[0]===null)this.patternNames(i[1],t,r,e);else if(i[0]===":")this.patternNames(i[2],t,r,e);else if(i[0]==="=")this.patternNames(i[1],t,r,e);else if(i[0]==="...")this.patternNames(i[1],t,r,e)}else if(e[0]==="rest"){if(!r)throw this.positionedError(e,"emitter: Cannot use 'rest' expression as a destructuring target (destructuring rest is spelled '...name')");this.patternNames(e[1],t,r,e)}else if(e[0]==="...")this.patternNames(e[1],t,r,e);else if(e[0]==="default")this.patternNames(e[1],t,r,e);else if(e[0]==="=")this.patternNames(e[1],t,r,e);else if(e[0]==="cast"||e[0]==="satisfies")this.patternNames(e[1],t,r,e);else if(e[0]==="typed-var")this.patternNames(e[1],t,r,e);return t}static isPattern(e){return O1(e)||y(e)&&e[0]==="array"}static declarablePattern(e){let t=(r)=>typeof r==="string"||(y(r)&&r[0]==="="?t(r[1]):E.declarablePattern(r));if(y(e)&&e[0]==="array"){let r=e.slice(1);return r.every((s,i)=>y(s)&&s[0]==="..."?i===r.length-1&&typeof s[1]==="string":t(s))}if(O1(e)){let r=e.slice(1);return r.every((s,i)=>{if(!y(s))return!1;if(s[0]===null)return typeof s[2]==="string";if(s[0]==="=")return typeof s[1]==="string";if(s[0]==="...")return i===r.length-1&&typeof s[1]==="string";return s[0]===":"&&t(s[2])})}return!1}rejectDuplicateDefault(e){let t=null;for(let r of e){if(!y(r)||r[0]!=="export-default")continue;if(t!==null)throw this.positionedError(r,"emitter: duplicate 'export default' — a module has exactly one default export",t);t=r}}static classDeclNames(e){let t=new Set;for(let r of e){if(!y(r))continue;let s=r[0]==="export"&&y(r[1])?r[1]:r;if(y(s)&&s[0]==="class"&&typeof s[1]==="string")t.add(s[1])}return t}static isTypedWrapper(e){return y(e)&&e[0]==="typed-var"&&e.length===3}static isErasedStmt(e){return y(e)&&(e[0]==="type-decl"||E.isTypedWrapper(e)||e[0]==="def-sig"&&e.length===4)}static stripErased(e){return e.filter((t)=>!E.isErasedStmt(t))}liveStmts(e,{forwards:t=!1}={}){let r=[];for(let s=0;sy(o)&&k1(o[0])&&o.length===4&&o[1]===n);if(!a)throw this.positionedError(i,`emitter: overload signature 'def ${n}' has no implementation — `+`a bodiless typed def must be followed by 'def ${n}' with a body in the same block`);if(this.ts){let o=this.pendingSigs.get(a)??[];if(!o.includes(i))o.push(i),this.pendingSigs.set(a,o)}}if(this.ts&&t&&E.isTypedWrapper(i)&&typeof i[1]==="string"&&!this.pendingHoistTypes.has(i[1]))this.pendingHoistTypes.set(i[1],i);if(t&&E.isTypedWrapper(i))this.tsForwardDirectives(i);this.erasedRows(i)}else r.push(i)}return r}erasedRows(e){this.mark(e,"$self",()=>{});let t=e[0]==="type-decl"?["declaration"]:e[0]==="def-sig"?["name","params","returnType"]:["target","annotation"];for(let r of t)this.mark(e,r,()=>{})}inScope(e){return this.scopes.some((t)=>t.has(e))||this.rframes.some((t)=>t.block===!0&&t.bound.has(e))}scopedHoist(e,t=[],{declareInPlace:r=!0}={}){for(let a of t){let o=E.paramMatchWrite(a);if(o!==null)throw this.positionedError(o,"emitter: a parameter default cannot write the last-match binding — "+"`_` lives in the enclosing body, which a default cannot reach (move the match into the body)")}let s=this.hoistTargets(e,t),i=s.filter(([a,o])=>{if(y(o)&&F1.has(o[0])&&!ct.has(o[0])&&typeof o[1]==="string"&&this.isExportedConst(o[1]))return!1;return!this.inScope(a)||a==="_"&&s.matchWrite});i.annotations=s.annotations,i.directives=s.directives;let n=new Set(i.map(([a])=>a));for(let a of t)for(let o of this.patternNames(a,[],!0))n.add(o);if(r)i=this.applyDeclareInPlace(i,e,{tailIsExpression:!0});return{entries:i,names:n}}hoistTargets(e,t=[],r=[]){let s=new Map,i=!1,n=new Set,a=[],o=new Map,l=(m,g)=>{if(this.ts&&!o.has(m)&&this.annotationText(g)!==null)o.set(m,g)},c=(m,g)=>{if(!s.has(m))s.set(m,g)},h=(m)=>{if(this.scopeBoundary(m)==="skip")return;if(E.isMatchWrite(m))c("_",m),i=!0;for(let g of m)h(g)},f=(m)=>{let g=this.scopeBoundary(m);if(g==="skip")return;if(this.ts&&E.isTypedWrapper(m)){if(typeof m[1]==="string")l(m[1],m);this.tsForwardDirectives(m)}if(ut(m)&&y(m[1][2]))a.push([this.chainTemp(m),m[1][2],"$self"]);if(g==="reactive"){if(typeof m[1]==="string")n.add(m[1]);if(!(m[0]==="computed"&&b1(m[2])&&m[2].length>2))f(m[2]);return}if(g==="effect"){if(typeof m[1]==="string")n.add(m[1]);return}if(g==="readonly"){if(typeof m[1]==="string")n.add(m[1]);f(m[2]);return}if(m[0]==="export"&&y(m[1])){let b=m[1];if((this.isReactiveDecl(b)||this.isEffectDecl(b)||this.isReadonlyDecl(b))&&typeof b[1]==="string"){if(n.add(b[1]),!this.isEffectDecl(b)&&!(b[0]==="computed"&&b1(b[2])&&b[2].length>2))f(b[2]);return}if(F1.has(b[0])&&b.length===3)f(b[2]);return}if(g==="loop"){h(m[1]);for(let b of m.slice(2))f(b);return}if(g==="comprehension"){f(m[1]);for(let b of m[2]??[])h(b[1]),f(b[2]);for(let b of m[3]??[])f(b);return}if(m[0]==="export")return;if(g==="class"){if(m[2]!=null)f(m[2]);let b=m[3];if(b1(b)){for(let S of b.slice(1))if(y(S)&&F1.has(S[0])&&S.length===3)f(S[2]);else if(!E.isTypedWrapper(S))f(S)}return}if(E.isMatchWrite(m))c("_",m),i=!0;if(F1.has(m[0])&&m.length===3){if(typeof m[1]==="string")c(m[1],m),l(m[1],m);else if(m[0]==="="&&E.isPattern(m[1]))for(let b of this.patternNames(m[1]))c(b,m)}if(m[0]==="try"){for(let b of m.slice(2))if(y(b)&&b.length===2&&E.isPattern(b[0]))for(let S of this.patternNames(b[0]))c(S,m)}for(let b of m)f(b)};for(let m of e)f(m);let u=[];for(let m of t)this.patternNames(m,u,!0);for(let m of u)s.delete(m);for(let m of n)s.delete(m);for(let m of E.declaredNames(e))s.delete(m);for(let m of r)s.delete(m);for(let m of e)if(this.isModuleImport(m))for(let g of E.importedNames([m]))s.delete(g);for(let m of this.cframes)for(let g of m.members.keys())s.delete(g);let d=[...s.entries()].map(([m,g])=>[m,g,"target"]);d.matchWrite=i,d.push(...a);let p=new Set([...s.keys(),...u,...n]);if(d.push(...this.planReferenceTemps(e,p)),d.sort(([m],[g])=>mg?1:0),this.ts){for(let[m,g]of this.pendingHoistTypes)if(!o.has(m))o.set(m,g);this.pendingHoistTypes.clear(),d.annotations=o,d.directives=this.pendingHoistDirectives,this.pendingHoistDirectives=[]}return d}static declaresInPlace=new WeakSet;static inlineOwners=new WeakMap;captureScan(e){let t=new Set(e.filter(y)),r=new Map,s=(a,o,l=!1,c=null,h=null,f="")=>{if(typeof a!=="string"||!ur.test(a))return;let u=r.get(a);if(u===void 0)r.set(a,u={decl:null,seen:!1,nested:!1,nestedWrite:!1,inDef:!1,annotated:null,firstWrite:null,firstWritePath:""});if(!u.seen)u.seen=!0,u.decl=c;if(l&&u.firstWrite===null&&h!==null)u.firstWrite=h,u.firstWritePath=f;if(o>0){if(u.nested=!0,l)u.nestedWrite=!0;if(o===2)u.inDef=!0}},i=(a,o,l)=>{let c=(h)=>{if(typeof h==="string"){if(h!==",")l(h);return}if(h[0]==="="){n(h[2],o),c(h[1]);return}if(h[0]==="..."){l(h[1]);return}i(h,o,l)};if(a[0]==="array"){for(let h of a.slice(1))c(h);return}for(let h of a.slice(1))if(h[0]===null)l(h[2]);else if(h[0]==="=")n(h[2],o),l(h[1]);else if(h[0]==="...")l(h[1]);else if(h[0]===":"){if(y(h[1]))n(h[1],o);c(h[2])}},n=(a,o)=>{if(typeof a==="string")return s(a,o);if(!y(a))return;if(E.isTypedWrapper(a)){if(typeof a[1]==="string"){let c=r.get(a[1]);if(c!==void 0&&c.annotated===null)c.annotated=a}return}let l=a[0];if(T1(a)){for(let c of a.slice(1))n(c,Math.max(o,1));return}if(k1(l)||l==="class"||l==="component"||l==="enum"){let c=k1(l)?2:Math.max(o,1);if(l==="class"){for(let h of a.slice(2)){let f=y(h)&&h[0]==="block"?h.slice(1):[h];for(let u of f)if(y(u)&&k1(u[0])&&u.length===4)for(let d of u.slice(2))n(d,c);else n(u,c)}return}for(let h of a.slice(typeof a[1]==="string"?2:1))n(h,c);return}if(E.isMatchWrite(a)){for(let c of a.slice(1))n(c,o);s("_",o,!0);return}if(F1.has(l)&&a.length===3){if(n(a[2],o),typeof a[1]==="string"){let c=ct.has(l);if(!c)s(a[1],o);if(s(a[1],o,!0,c&&!o&&t.has(a)?a:null,c?a:null),c&&this.annotationText(a)!==null){let h=r.get(a[1]);if(h!==void 0&&h.annotated===null)h.annotated=a}}else if(l==="="&&E.declarablePattern(a[1])){let c=!o&&t.has(a)?a:null,h=new Map(mr(a[1]));i(a[1],o,(f)=>s(f,o,!0,c,h.has(f)?a:null,h.get(f)??""))}else if(n(a[1],o),ct.has(l))for(let[c,h]of mr(a[1]))s(c,o,!0,null,a,h);return}if(U1(a)){if(typeof a[1]==="string")s(a[1],o,!0);else n(a[1],o);return}if((l==="."||l==="?.")&&a.length===3){if(n(a[1],o),typeof a[2]!=="string")n(a[2],o);return}if(l==="object"){for(let c of a.slice(1))if(y(c)&&c[0]===":"&&c.length===3){if(typeof c[1]!=="string")n(c[1],o);n(c[2],o)}else n(c,o);return}for(let c of a)n(c,o)};for(let a of e)n(a,0);return r}applyDeclareInPlace(e,t,{tailIsExpression:r=!1}={}){if(!e.some(([,,h])=>h==="target"))return e;let s=this.captureScan(t),i=null;if(r){for(let h=t.length-1;h>=0;h--)if(!E.isErasedStmt(t[h])){i=t[h];break}}let n=new Map,a=new Set(e.filter(([,,h])=>h==="target").map(([h])=>h)),o=new Map,l=(h)=>{let f=o.get(h);if(f===void 0){let u=this.patternNames(h[1]);if(f=u.every((d)=>{let p=s.get(d);return a.has(d)&&p!==void 0&&p.decl===h&&!p.inDef}),f){let d=u.find((p)=>s.get(p).annotated!==null);if(d!==void 0)throw this.positionedError(s.get(d).annotated,`emitter: '${d}' is declared by a destructuring pattern, which cannot carry this annotation — `+`rename the element in the pattern (\`${d}: raw\`) and declare \`${d}: T\` from it, or annotate the pattern's source`)}o.set(h,f)}return f},c=e.filter(([h,,f])=>{if(f!=="target")return!0;let u=s.get(h);if(!u||u.decl===null||u.inDef||u.decl===i)return!0;if(y(u.decl)&&ct.has(u.decl[0])&&E.controlGuard(u.decl[2]))return!0;if(E.isPattern(u.decl[1])){if(!l(u.decl))return!0;return E.declaresInPlace.add(u.decl),!1}let d=e.annotations?.get(h);if(d!==void 0&&d!==u.decl)E.inlineOwners.set(u.decl,d),n.set(d,u.decl);return E.declaresInPlace.add(u.decl),!1});if(c.annotations=e.annotations,c.schemaConsts=e.schemaConsts,e.directives?.length&&n.size){c.directives=[];for(let h of e.directives){let f=h.forwardOwner!==void 0?n.get(h.forwardOwner):void 0;if(f!==void 0){let u=this.tsDirectiveMap.get(f)??[];u.push(h),this.tsDirectiveMap.set(f,u)}else c.directives.push(h)}}else c.directives=e.directives;c.classBindings=new Set,c.componentTypes=new Map;for(let[h,,f]of c){if(f!=="target")continue;let u=s.get(h)?.firstWrite??null,d=u?.[2];if(!y(d))continue;if(d[0]==="class"||d[0]==="component")c.classBindings.add(h);if(!this.ts||!this.isComponentDecl(d))continue;if(this.annotationText(u,"typeParams")!==null)continue;let p=Oi(this.stores,this.b.source,d,`__${h}__computed`);p.appStashSpec=this.appStashSpec,p.routesUnion=this.routesUnion,p.routeParams=this.routeParams,c.componentTypes.set(h,`{ ${na(p,h,"",h,{road:"face"}).join(" ")} }`),(c.componentInfos??=new Map).set(h,p)}c.pinnable=new Map;for(let[h,,f]of c){if(f!=="target")continue;let u=s.get(h);if(!u?.nested||u.firstWrite===null)continue;if(c.annotations?.has(h)||c.schemaConsts?.has(h))continue;if(c.componentTypes.has(h))continue;let d=this.pinKey(h,u.firstWrite,u.firstWritePath);c.pinnable.set(h,{node:u.firstWrite,key:d}),this.pinnables?.push({name:h,node:u.firstWrite,path:u.firstWritePath,key:d})}return c}pinKey(e,t,r=""){let s=this.stores.idOf(t),i=s!==null?this.stores.role(s,"value"):null;if(!i||i.sourceStart==null||this.b.source===null)return null;let n=r+"\x00"+this.b.source.slice(i.sourceStart,i.sourceEnd),a=5381;for(let o=0;o>>0;return`${e}@${a.toString(36)}`}chainTemp(e){let t=this.temps.byNode.get(e);if(t===void 0)t=this.freshTempName(),this.temps.byNode.set(e,t);return t}freshTempName(){let e;do e=this.temps.n===0?"_ref":`_ref${this.temps.n}`,this.temps.n++;while(this.temps.used.has(e));return e}inCtrl(e){this.ctrlDepth++;try{e()}finally{this.ctrlDepth--}}loopTempName(e){let t=e;for(let r=1;this.temps.used.has(t);r++)t=`${e}${r}`;return t}runtimeName(e){let t=this.runtimeAliases.get(e);if(t===void 0)throw Error(`emitter invariant: generated runtime name '${e}' is not registered`);return t}hoistLine(e,t=""){if(e.length===1)for(let r of e.directives??[])this.tsDirectiveLine(r,t);this.b.emit("let "),e.forEach(([r,s,i],n)=>{if(n>0)this.b.emit(", ");let a=this.ts&&i==="target"?e.annotations?.get(r)??null:null,o=a!==null?this.stores.idOf(a):null,l=o!==null&&E.isTypedWrapper(a)&&this.stores.role(o,"target")!==null,c=this.b.offset;if(l)this.mark(a,"target",()=>this.b.emit(r));else{let h=this.stores.idOf(s),f=h!==null?this.stores.role(h,i):null,u=f?.sourceStart!=null&&this.b.source!==null?this.b.source.slice(f.sourceStart,f.sourceEnd):null,d=u!==null&&u!==r?this.stores.primitiveSpans(r,f.sourceStart,f.sourceEnd)[0]??null:null;if(d)this.b.markSpan(h,"identifier",d.sourceStart,d.sourceEnd,()=>this.b.emit(r));else this.mark(s,i,()=>this.b.emit(r))}if(this.ts&&i==="target"&&e.classBindings?.has(r))this.classDecls.push([c,this.b.offset]);if(this.ts&&i==="target")if(a!==null)this.b.tsOnly(()=>{if(E.isTypedWrapper(a)&&!this.strict)this.b.emit("!");this.mark(a,"annotation",()=>this.b.emit(`: ${this.annotationText(a)}`))});else{let h=e.schemaConsts?.get(r)??null,f=e.componentTypes?.get(r)??null;if(h!==null){let u=this.bindingNameSpan(s,i,r);this.b.tsOnly(()=>{this.b.emit(": "),this.emitNamedCopies(h,r,u?.id??null,u?.span??null)})}else if(f!==null){let u=e.componentInfos?.get(r)??null,d=this.stores.idOf(s),p=d!==null?this.stores.role(d,i):null,m=p?.sourceStart!=null&&this.b.source?.slice(p.sourceStart,p.sourceEnd)===r?[p.sourceStart,p.sourceEnd]:null;this.b.tsOnly(()=>{if(this.b.emit(`${this.strict?"":"!"}: `),u!==null)for(let g of ca(u,r,"",r,{road:"face"})){if(g.node!==void 0){this.mark(g.node,g.role,()=>this.b.emit(g.text));continue}this.emitNamedCopies(g.text,r,d,m)}else this.b.emit(f)})}else{let u=e.pinnable?.get(r)?.key??null,d=u!==null?this.pins?.get(u):void 0;if(d!==void 0)this.b.tsOnly(()=>{this.pinnedWrites.add(e.pinnable.get(r).node);let p=this.b.offset;this.b.emit(`${this.strict?"":"!"}: `),this.emitDeclaredTypeCopies(d,this.stores.idOf(s)),this.pinSpans.push([p,this.b.offset])})}}}),this.b.emit(";")}program(e){return this.programWith(e)}ambientHoistFilter(e){if(this.scopes.length===0)return e;let t=e.filter(([r])=>!this.inScope(r)||r==="_"&&e.matchWrite);return t.matchWrite=e.matchWrite,t.annotations=e.annotations,t.directives=e.directives,t}attachSchemaConsts(e){if(!this.schemaStories)return;let t=new Map;for(let r of this.schemaStories.values())if(!r.decl.exported&&r.constType!==null)t.set(r.decl.name,r.constType);if(t.size)e.schemaConsts=t}programWith(e){let t=this.liveStmts(e.slice(1),{forwards:!0}),r=0;while(r0){this.mark(e,"$self",()=>{for(let a of t.slice(0,r))this.statement(a,0);this.emitDataConst();let s=t.slice(r),i=this.ambientHoistFilter(this.hoistTargets(s,[],E.importedNames(t.slice(0,r))));this.attachSchemaConsts(i);let n=new Set([...i.map(([a])=>a),...E.importedNames(t.slice(0,r))]);for(let a of this.pushReactiveFrame(t,n))n.add(a);if(this.moduleBound=E.moduleBoundNames(s),this.moduleClassNames=E.classDeclNames(s),this.rejectDuplicateDefault(s),this.scopes.push(n),i=this.applyDeclareInPlace(i,e.slice(1),{tailIsExpression:this.repl}),i.length)this.hoistLine(i),this.b.emit(` `);if(this.emitTsTypeDecls(e.slice(1),""),s.length)this.mark(e,"body",()=>this.statements(s,0,"program"));this.emitHmrComponentTable(),this.scopes.pop(),this.rframes.pop()});return}this.programPlain(e,t)}static moduleBoundNames(e){let t=new Set,r=(s)=>{if(!y(s))return;if(F1.has(s[0])&&s.length===3&&typeof s[1]==="string")t.add(s[1]);else if((s[0]==="class"||s[0]==="enum")&&typeof s[1]==="string")t.add(s[1]);else if(k1(s[0])&&typeof s[1]==="string")t.add(s[1])};for(let s of e){if(!y(s))continue;if(s[0]==="export")for(let i of s.slice(1))r(i);else r(s)}return t}static importAttributes(e){let t=e.length>2?e[e.length-2]:null;return y(t)&&t[0]==="with"&&t.length===2?t:null}static importSpecs(e){return e.slice(1,-1).filter((t)=>!(y(t)&&t[0]==="with"))}static importedSpecs(e){let t=new Map;for(let r of e){if(!y(r)||r[0]!=="import"||r.length<3)continue;let s=r[r.length-1];if(typeof s!=="string")continue;let i=s.replace(/^['"`]|['"`]$/g,"");for(let n of E.importSpecs(r)){if(n==="{}")continue;if(typeof n==="string")t.set(n,{specifier:i,importedName:"default"});else if(n[0]==="*")t.set(n[1],{specifier:i,importedName:"*"});else for(let a of n){let o=y(a)?a[0]:a,l=y(a)?a[1]:a;t.set(l,{specifier:i,importedName:o})}}}return t}static TYPE_ROLES=new Set(["annotation","returnType","typeParams","declaration"]);static importedNames(e){let t=[];for(let r of e)for(let s of E.importSpecs(r)){if(s==="{}")continue;if(typeof s==="string")t.push(s);else if(s[0]==="*")t.push(s[1]);else for(let i of s)t.push(y(i)?i[1]:i)}return t}emitDataConst(){if(this.dataPayload==null)return;this.b.emit(`const DATA = ${JSON.stringify(this.dataPayload)}; @@ -73,15 +73,15 @@ ${o.join(` export const __hmrComponents = { ${[...this.moduleComponentNames.keys()].join(", ")} };`)}programPlain(e,t){this.mark(e,"$self",()=>{this.emitDataConst();let r=this.ambientHoistFilter(this.hoistTargets(t));this.attachSchemaConsts(r);let s=new Set(r.map(([i])=>i));for(let i of this.pushReactiveFrame(t,s))s.add(i);if(this.moduleBound=E.moduleBoundNames(t),this.moduleClassNames=E.classDeclNames(t),this.rejectDuplicateDefault(t),this.scopes.push(s),r=this.applyDeclareInPlace(r,e.slice(1),{tailIsExpression:this.repl}),r.length)this.hoistLine(r),this.b.emit(` `);this.emitTsTypeDecls(e.slice(1),""),this.mark(e,"body",()=>this.statements(t,0,"program")),this.emitHmrComponentTable(),this.scopes.pop(),this.rframes.pop()})}statements(e,t,r){let s=" ".repeat(t),i=this.liveStmts(e);this.emitTsTypeDecls(e,s),i.forEach((n,a)=>{if(this.b.emit(s),r==="program")this.moduleTopStmt=n;this.statement(n,t);let o=a===i.length-1;if(r==="block"||!o)this.b.emit(` -`);this.flushPendingTypeDecls(s,r!=="block"&&o)})}static STATEMENT_FORMS={__proto__:null,if:(e,t,r)=>(e.ifStatement(t,r),!0),def:(e,t,r)=>t.length===4&&(e.defStatement(t,r),!0),"void-def":(e,t,r)=>t.length===4&&(e.defStatement(t,r),!0),return:(e,t)=>(e.returnStatement(t),!0),while:(e,t,r)=>(t.length===3||t.length===4)&&(e.whileStatement(t,r),!0),loop:(e,t,r)=>(e.loopStatement(t,r),!0),"loop-n":(e,t,r)=>(e.loopStatement(t,r),!0),"for-in":(e,t,r)=>(e.forIn(t,r),!0),"for-of":(e,t,r)=>(e.forOf(t,r),!0),"for-as":(e,t,r)=>(e.forAs(t,r),!0),switch:(e,t,r)=>(e.switchStatement(t,r),!0),try:(e,t,r)=>(e.tryStatement(t,r),!0),throw:(e,t)=>(e.throwStatement(t),!0),comprehension:(e,t,r)=>{if(!re(t))return!1;if(e.ind=r,t===e.lastProgramStmt){if(e.repl)e.b.emit(`const ${e.replSlot()} = `);e.comprehension(t,r),e.b.emit(";")}else{let s=e.funcBodyStmt;if(e.plainLoopComprehension(t,r),!s)e.b.emit(";")}return!0},block:(e,t,r)=>(e.bareBlockStatement(t,r),!0),class:(e,t,r)=>t[1]!=null&&(e.classStatement(t,r),!0),enum:(e,t)=>(e.enumStatement(t),!0),state:(e,t,r)=>e.isReactiveDecl(t)&&(e.reactiveDecl(t,r),!0),computed:(e,t,r)=>e.isReactiveDecl(t)&&(e.reactiveDecl(t,r),!0),effect:(e,t,r)=>e.isEffectDecl(t)&&(e.effectStatement(t,r),!0),readonly:(e,t,r)=>e.isReadonlyDecl(t)&&(e.readonlyDecl(t,r),!0),"void-readonly":(e,t,r)=>e.isReadonlyDecl(t)&&(e.readonlyDecl(t,r),!0),import:(e,t)=>e.isModuleImport(t)&&(e.importStatement(t),!0),export:(e,t,r)=>(e.exportStatement(t,r),!0),"export-default":(e,t,r)=>(e.exportStatement(t,r),!0),"export-all":(e,t,r)=>(e.exportStatement(t,r),!0),"export-from":(e,t,r)=>(e.exportStatement(t,r),!0)};moduleSource(e){return Ce(e)}static specifierLocal(e){return y(e)?e[1]:e}emitSpecifiers(e,t=null){let r=e.filter((n)=>!this.typeOnlyImports.has(E.specifierLocal(n))),s=0,i=0;e.forEach((n)=>{let a=this.typeOnlyImports.has(E.specifierLocal(n)),o=(c,f)=>{if(this.ts&&t!==null)this.importedRefs.push([c,this.b.offset,f,t,"declaration"])},l=()=>{let c=this.declaringName;this.declaringName=!0;try{if(y(n)){this.emitPrimitive(n[0]),this.b.emit(" as ");let f=this.b.offset;this.emitPrimitive(n[1]),o(f,n[0])}else{let f=this.b.offset;this.emitPrimitive(n),o(f,n)}}finally{this.declaringName=c}};if(a){if(!this.ts)return;this.b.tsOnly(()=>{if(s>0||r.length===0&&i>0)this.b.emit(", ");if(l(),s===0&&r.length>0)this.b.emit(", ")}),i++;return}if(s>0)this.b.emit(", ");l(),s++})}emitImportClause(e,t=null){e.forEach((r,s)=>{if(s>0)this.b.emit(", ");let i=t===null?null:s===0?"spec":"extra",n=(a)=>i===null?a():this.mark(t,i,a);if(r==="{}")this.b.emit("{}");else if(typeof r==="string")n(()=>this.b.emit(r));else if(r[0]==="*")n(()=>{this.b.emit("* as ");let a=this.b.offset;if(this.b.emit(r[1]),this.ts&&t!==null)this.importedRefs.push([a,this.b.offset,"*",hr(t[t.length-1]),"declaration"])});else this.b.emit("{ "),n(()=>this.emitSpecifiers(r,t!==null?hr(t[t.length-1]):null)),this.b.emit(" }")}),this.b.emit(" from ")}importStatement(e){if(this.script)throw this.positionedError(e,"emitter: module imports are not available in a script tag — script sources share one scope, and modules arrive with the package graph");let t=e[e.length-1],r=E.importSpecs(e),s=E.importAttributes(e);for(let n of r){if(!Array.isArray(n)||n[0]==="*")continue;if(n.includes("default"))throw this.positionedError(e,"emitter: `import { default }` binds nothing — spell the default import `import name from '…'`, or alias it: `import { default as name } from '…'`")}let i=this.stores.idOf(e);if(i!==null&&this.stores.role(i,"typeOnly")!==null){if(!this.ts){this.mark(e,"$self",()=>{}),this.mark(e,"source",()=>{});return}this.b.tsOnly(()=>{this.mark(e,"$self",()=>{this.b.emit("import "),this.mark(e,"typeOnly",()=>this.b.emit("type")),this.b.emit(" "),this.emitImportClause(r,e);let n=this.b.offset;this.mark(e,"source",()=>this.b.emit(this.moduleSource(t))),this.importSpans.push({start:n,end:this.b.offset,specifier:Ce(t)}),this.emitImportAttributes(s)}),this.b.emit(`; -`)});return}if(this.repl)return this.replImportStatement(e);this.mark(e,"$self",()=>{this.b.emit("import ");let n=r.length>0&&r.every((a)=>a!=="{}"&&(typeof a==="string"||a[0]==="*"?this.typeOnlyImports.has(typeof a==="string"?a:a[1]):a.every((o)=>this.typeOnlyImports.has(E.specifierLocal(o)))));if(r.length>0){if(!n)this.emitImportClause(r,e);else if(this.ts)this.b.tsOnly(()=>this.emitImportClause(r,e))}{let a=this.b.offset;this.mark(e,"source",()=>this.b.emit(this.moduleSource(t))),this.importSpans.push({start:a,end:this.b.offset,specifier:Ce(t)})}this.emitImportAttributes(s)}),this.b.emit(`; -`)}emitImportAttributes(e){if(e===null)return;for(let t of e[1].slice(1))if(!(t[0]===":"&&typeof t[2]==="string"&&(t[2][0]==='"'||t[2][0]==="'")))throw this.positionedError(t,'emitter: an import attribute is a string-literal pair (`with { type: "json" }`) — the module loader reads it before any code runs');this.b.emit(" "),this.mark(e,"$self",()=>{this.mark(e,"keyword",()=>this.b.emit("with")),this.b.emit(" "),this.mark(e,"value",()=>this.expr(e[1]))})}replImportStatement(e){let t=e[e.length-1],r=E.importSpecs(e),s=E.importAttributes(e),i=[],n=null;for(let a of r){if(a==="{}")continue;if(typeof a==="string")i.push(`default: ${a}`);else if(a[0]==="*")n=a[1];else for(let o of a)i.push(y(o)?`${o[0]}: ${o[1]}`:o)}this.mark(e,"$self",()=>{if(n!==null)this.b.emit(`const ${n} = `);else if(i.length>0)this.b.emit(`const { ${i.join(", ")} } = `);this.b.emit(`await import(${this.replResolver()}(`);{let a=this.b.offset;this.mark(e,"source",()=>this.b.emit(this.moduleSource(t))),this.importSpans.push({start:a,end:this.b.offset,specifier:Ce(t)})}if(this.b.emit(")"),s!==null)this.b.emit(", { with: "),this.mark(s,"value",()=>this.expr(s[1])),this.b.emit(" }");if(this.b.emit(")"),n!==null&&i.length>0)this.b.emit(`, { ${i.join(", ")} } = ${n}`)}),this.b.emit(`; -`)}exportStatement(e,t){if(this.script)throw this.positionedError(e,"emitter: exports are not available in a script tag — drop the export keyword; script sources share one scope");if(this.repl)throw this.positionedError(e,"emitter: 'export' has no meaning in a REPL entry — every top-level binding already persists to later lines; drop the export keyword");if(t>0||this.postfixGuardDepth>0)throw this.positionedError(e,"emitter: 'export' must be a top-level statement — a module's exports are static, so a guarded or block-nested export has no form; "+"move it to the top level, or guard the exported value instead (`export x = v if c`)");let r=e[0],s=this.stores.idOf(e);if(r==="export-from"&&s!==null&&this.stores.role(s,"typeOnly")!==null){if(!this.ts){this.mark(e,"$self",()=>{}),this.mark(e,"source",()=>{});return}this.b.tsOnly(()=>{this.mark(e,"$self",()=>{this.b.emit("export "),this.mark(e,"typeOnly",()=>this.b.emit("type")),this.b.emit(" { "),this.emitSpecifiers(e[1],hr(e[2])),this.b.emit(" } from ");let i=this.b.offset;this.mark(e,"source",()=>this.b.emit(this.moduleSource(e[2]))),this.importSpans.push({start:i,end:this.b.offset,specifier:Ce(e[2])})}),this.b.emit(";")});return}this.mark(e,"$self",()=>{if(r==="export-all"){if(e.length===3)this.b.emit("export * as "),this.mark(e,"alias",()=>this.b.emit(e[2])),this.namespaceExports.push(e[2]),this.b.emit(" from ");else this.b.emit("export * from ");{let i=this.b.offset;this.mark(e,"source",()=>this.b.emit(this.moduleSource(e[1]))),this.importSpans.push({start:i,end:this.b.offset,specifier:Ce(e[1])})}this.b.emit(";")}else if(r==="export-from"){if(this.b.emit("export "),e[1]==="{}")this.b.emit("{}");else this.b.emit("{ "),this.emitSpecifiers(e[1],hr(e[2])),this.b.emit(" }");this.b.emit(" from ");{let i=this.b.offset;this.mark(e,"source",()=>this.b.emit(this.moduleSource(e[2]))),this.importSpans.push({start:i,end:this.b.offset,specifier:Ce(e[2])})}this.b.emit(";")}else if(r==="export-default"){if(this.b.emit("export default "),y(e[1])&&k1(e[1][0])&&e[1].length===4)this.mark(e,"spec",()=>this.defStatement(e[1],t));else this.mark(e,"spec",()=>this.expr(e[1]));this.b.emit(";")}else{let i=e[1];if(i==="{}")this.b.emit("export {};");else if(y(i)&&i[0]==="class")this.b.emit("export "),this.classStatement(i,t),this.b.emit(";");else if(y(i)&&k1(i[0]))this.b.emit("export "),this.defStatement(i,t),this.b.emit(";");else if(y(i)&&i[0]==="enum")this.b.emit("export "),this.enumCode(i),this.b.emit(";"),this.tsEnumCompanion(i,!0);else if(this.isReactiveDecl(i))this.b.emit("export "),this.reactiveDecl(i,t);else if(this.isReadonlyDecl(i))this.b.emit("export "),this.readonlyDecl(i,t);else if(this.isEffectDecl(i)){if(i[1]===null)throw this.positionedError(e,"emitter: a bare effect ('export ~> …') binds nothing to export — bind a dispose handle (`export h ~> …`) or drop the export (`export __effect(…)` would be invalid JS)");this.b.emit("export "),this.effectStatement(i,t)}else if(y(i)&&(i[0]==="="||i[0]==="void-assign")){if(i[0]==="void-assign")this.registerVoidValue(i[2],i);if(this.b.emit("export "),this.mark(i,"voidMarker",()=>this.mark(i,"annotation",()=>this.mark(i,"$self",()=>{if(this.b.emit("const "),this.mark(i,"target",()=>this.b.emit(i[1])),this.ts&&this.annotationText(i)!==null)this.tsAnnotate(i,"annotation",this.annotationText(i));this.b.emit(" "),this.mark(i,"operator",()=>this.b.emit("=")),this.b.emit(" ");let n=this._schemaName,a=this._componentName,o=this._componentTypeParams;if(this._componentTypeParams=null,y(i[2])&&i[2][0]==="schema")this._schemaName=i[1];if(this.isComponentDecl(i[2])&&typeof i[1]==="string"){this._componentName=i[1];let l=this.annotationText(i,"typeParams");this._componentTypeParams=l===null?null:{text:l,owner:i}}this.mark(i,"value",()=>this.withExpression(()=>this.expr(i[2]))),this._schemaName=n,this._componentName=a,this._componentTypeParams=o}))),this.b.emit(";"),this.ts&&typeof i[1]==="string"&&this.componentInfo.has(i[2]))this.tsComponentCompanion(i[2],i[1],!0,this.annotationText(i,"typeParams"));if(this.ts)this.tsSchemaBehavior(i[2])}else this.b.emit("export { "),this.emitSpecifiers(i),this.b.emit(" };")}})}enumValue(e,t,r,s){if(typeof e==="string"){if(e.startsWith('"'))try{return[e,JSON.parse(e)]}catch{let i=/\\u(?![0-9a-fA-F]{4})|\\[^"\\/bfnrtu]/.exec(e)?.[0]??"\\";throw this.positionedError(s,`emitter: enum '${t}' member '${r}' — its string value uses the `+`'${i}' escape, which enum values do not support (JSON escapes only; '\\uXXXX' spells the same character)`)}if(/^[\d.]/.test(e)){let i=e.replace(/_/g,"").replace(/n$/,"");return[e,String(Number(i))]}return null}if(y(e)&&e[0]==="-"&&e.length===2){let i=this.enumValue(e[1],t,r,s);if(i===null||e[1].startsWith('"'))return null;return[`-${e[1]}`,`-${i[1]}`]}return null}enumStatement(e){this.enumCode(e),this.b.emit(";"),this.tsEnumCompanion(e,!1)}tsEnumCompanion(e,t){if(!this.ts||typeof e[1]!=="string")return;let r=e[1];this.b.tsOnly(()=>{this.b.emit(` -`),this.mark(e,"$self",()=>{let s=this.stores.idOf(e),i=s!==null?this.stores.selfSpan(s):null,n=i!==null?this.stores.primitiveSpans(r,i[0],i[1])[0]??null:null,a=()=>n?this.b.markSpan(s,"identifier",n.sourceStart,n.sourceEnd,()=>this.b.emit(r)):this.b.emit(r);this.b.emit(`${t?"export ":""}type `),a(),this.b.emit(" = (typeof "),a(),this.b.emit(")[keyof typeof "),a(),this.b.emit("];")})})}enumCode(e){let[,t,r]=e,s=b1(r)?r.slice(1):[r],i=[],n=new Set,a=(f,h,u)=>{if(n.has(f))throw this.positionedError(u,`emitter: enum '${t}' key '${f}' is used more than once (${h}) — `+"forward and reverse entries share one object, so every member name and value must be distinct ",e);n.add(f)},o=C3(s),l=(f)=>{let h=this.b.source,u=this.stores.idOf(r),d=u!==null?this.stores.selfSpan(u)?.[0]??null:null;if(h===null||d===null||typeof s[f]!=="string")return null;for(let m=0;m=0)d=w+g.length}}let p=h.indexOf(s[f],d);return p>=0?[p,p+s[f].length]:null};for(let f=0;f' lines — `+"a bare or computed member has no enum form here",g=l(f);if(g)throw this.positionedErrorAt(g[0],g[1],m);throw this.positionedError(h,m,e)}let u=this.enumValue(h[2],t,h[1],h);if(u===null)throw this.positionedError(h,`emitter: enum '${t}' member '${h[1]}' needs a number or string literal value — `+"the reverse mapping uses the value as an object key, so expressions have no enum form ",e);let[d,p]=u;a(h[1],`member '${h[1]}'`,h),a(p,`value of '${h[1]}'`,h),i.push([h,h[1],d,p])}let c=E.ownKeyText;this.mark(e,"$self",()=>{this.b.emit("const "),this.mark(e,"name",()=>this.noteNameSpan(t)),this.b.emit(" = "),this.mark(e,"body",()=>{this.b.emit("{"),i.forEach(([f,h,u],d)=>{if(d>0)this.b.emit(", ");this.mark(f,"$self",()=>{this.mark(f,"target",()=>{let p=c(h,h);if(p===h)this.emitPrimitive(h);else this.b.emit(p)}),this.b.emit(": "),this.mark(f,"value",()=>this.b.emit(u))})}),i.forEach(([f,h,u,d])=>{this.b.emit(", "),this.mark(f,"$self",()=>{this.b.emit(u.startsWith("-")?JSON.stringify(d):c(u,d)),this.b.emit(`: "${h}"`)})}),this.b.emit("}")})})}schemaExpr(e){let t=e[1];if(!t||typeof t!=="object"||!Array.isArray(t.entries))throw this.positionedError(e,"emitter: schema node without a descriptor — the lexer pass owns SCHEMA_BODY values");if(this.scopes.slice(1).some((o)=>o.has("__schema")))throw this.positionedError(e,"emitter: a function-scope binding of '__schema' shadows the schema runtime where this "+"schema declaration needs it — rename the local, or bind '__schema' at MODULE scope to "+"supply your own factory (the suppression hatch)");this.usesSchema=!0;let r=this._schemaName??null,s=new Map;for(let{entry:o,index:l,tokens:c,value:f}of E.schemaBodies(t)){if(f){s.set(l,this.schemaValueCode(c));continue}let h=this.schemaBodyParams(o);s.set(l,this.schemaFnCode(h,c))}let i=this.schemaStories?.get(e)??null,n=this.stores.idOf(e);if(this.ts&&i!==null)this.schemaFns.set(e,s);this.schemaPins=this.ts?new Map:null,this.schemaPinNode=n;let a=(o,l,c)=>{if(l===null||l===void 0)return;let f=`${o}:${c}`;if(!this.schemaPins.has(f))this.schemaPins.set(f,[]);this.schemaPins.get(f).push([l[0],l[1]])};if(this.ts&&r!==null)a("name",this.moduleTypeDeclarationSpans().get(r)??null,r);for(let o of this.ts?t.entries:[]){let l=(c,f,h)=>{if(typeof h!=="number"||typeof f!=="string")return;a(c,[h,h+f.length],f)};if(o.tag==="union-member")l("name",o.name,o.start);else if(o.tag==="directive"&&o.name==="mixin"&&o.argTokens?.[0]?.kind==="IDENTIFIER")l("target",o.argTokens[0].value,o.argTokens[0].start);else if(o.tag==="ensure")l("field",o.field,o.fieldStart);else if((Ui[o.tag]??null)!==null){if(l("name",o.name,o.start),o.tag==="field"&&Array.isArray(o.typeSpan)&&this.b.source!==null){let c=/[A-Za-z_$][\w$]*/.exec(this.b.source.slice(o.typeSpan[0],o.typeSpan[1]));if(c!==null&&c[0]===o.typeName)l("typeName",c[0],o.typeSpan[0]+c.index)}}}for(let o of this.schemaPins?.values()??[])for(let[l,c]of o)this.b.exactSourceSpans.add(`${l}:${c}`);this.mark(e,"$self",()=>{if(this.b.emit("__schema("),this.mark(e,"body",()=>{let o=zn(t,r,s,s.get("adapter")??null,i?.thisTypes??null,this.ts,i?.defaultTypes??null,i?.ensureTypes??null);for(let l of o)if(typeof l==="string")this.emitSchemaText(l);else if(l.body!==void 0)this.emitSchemaText(l.body,!0);else if(l.span!==null&&l.span!==void 0&&n!==null)this.b.tsOnly(()=>this.b.markSpan(n,"literal",l.span[0],l.span[1],()=>this.b.emit(l.ts)));else if(i!==null){let c=this.bindingNameSpan(i.decl.node,"target",i.decl.name);this.b.tsOnly(()=>this.emitNamedCopies(l.ts,i.decl.name,c?.id??null,c?.span??null))}else this.b.tsOnly(()=>this.b.emit(l.ts))}),this.b.emit(")"),i!==null&&i.constType!==null){let o=this.bindingNameSpan(i.decl.node,"target",i.decl.name);this.b.tsOnly(()=>{this.b.emit(" as unknown as "),this.emitNamedCopies(i.constType,i.decl.name,o?.id??null,o?.span??null)})}}),this.schemaPins=null,this.schemaPinNode=null}static schemaFail(e,t){let r=Error(`schema: ${e}`);throw r.start=t,r}static schemaBodies(e){let t=[];if(e.entries.forEach((r,s)=>{if(r.tag==="method"||r.tag==="computed"||r.tag==="derived"||r.tag==="ensure"||r.tag==="hook"||r.tag==="scope"||r.tag==="defaultScope")t.push({entry:r,index:s,tokens:r.bodyTokens});else if(r.tag==="field"&&r.transformTokens)t.push({entry:r,index:s,tokens:r.transformTokens})}),e.adapterTokens)t.push({entry:{tag:"adapter"},index:"adapter",tokens:e.adapterTokens,value:!0});return t}schemaBodyParams(e){if(e.tag==="adapter")return[];if(e.tag==="field")return[{name:"it",type:null}];return Kn(e.paramTokens??[],e.tag==="ensure"?"@ensure":`'${e.name}'`,E.schemaFail,this.b.source)}schemaFnCode(e,t){let r=e.map((d)=>d.name),{stmts:s,stores:i}=this.subParse(t);if(s.length===0)return{code:"(function() {})",thisAt:10,annots:[]};let n=s.length===1?s[0]:["block",...s],a=this.containsAwait(n),o=E.containsYield(n),l=this.subEmitter(i),c;if(s.length===1){let d=s[0],{entries:p,names:m}=l.scopedHoist([d],r);for(let g of l.pushReactiveFrame(s,m,r))m.add(g);if(l.scopes.push(m),p.length)l.hoistLine(p),l.b.emit(" ");if(mt(d)||re(d))l.statement(d,0);else l.implicitReturn(d,0);c=`{ ${l.b.code} }`}else{let{entries:d,names:p}=l.scopedHoist(s,r);for(let m of l.pushReactiveFrame(s,p,r))p.add(m);if(l.scopes.push(p),l.b.emit(`{ +`);this.flushPendingTypeDecls(s,r!=="block"&&o)})}static STATEMENT_FORMS={__proto__:null,if:(e,t,r)=>(e.ifStatement(t,r),!0),def:(e,t,r)=>t.length===4&&(e.defStatement(t,r),!0),"void-def":(e,t,r)=>t.length===4&&(e.defStatement(t,r),!0),return:(e,t)=>(e.returnStatement(t),!0),while:(e,t,r)=>(t.length===3||t.length===4)&&(e.whileStatement(t,r),!0),loop:(e,t,r)=>(e.loopStatement(t,r),!0),"loop-n":(e,t,r)=>(e.loopStatement(t,r),!0),"for-in":(e,t,r)=>(e.forIn(t,r),!0),"for-of":(e,t,r)=>(e.forOf(t,r),!0),"for-as":(e,t,r)=>(e.forAs(t,r),!0),switch:(e,t,r)=>(e.switchStatement(t,r),!0),try:(e,t,r)=>(e.tryStatement(t,r),!0),throw:(e,t)=>(e.throwStatement(t),!0),comprehension:(e,t,r)=>{if(!re(t))return!1;if(e.ind=r,t===e.lastProgramStmt){if(e.repl)e.b.emit(`const ${e.replSlot()} = `);e.comprehension(t,r),e.b.emit(";")}else{let s=e.funcBodyStmt;if(e.plainLoopComprehension(t,r),!s)e.b.emit(";")}return!0},block:(e,t,r)=>(e.bareBlockStatement(t,r),!0),class:(e,t,r)=>t[1]!=null&&(e.classStatement(t,r),!0),enum:(e,t)=>(e.enumStatement(t),!0),state:(e,t,r)=>e.isReactiveDecl(t)&&(e.reactiveDecl(t,r),!0),computed:(e,t,r)=>e.isReactiveDecl(t)&&(e.reactiveDecl(t,r),!0),effect:(e,t,r)=>e.isEffectDecl(t)&&(e.effectStatement(t,r),!0),readonly:(e,t,r)=>e.isReadonlyDecl(t)&&(e.readonlyDecl(t,r),!0),"void-readonly":(e,t,r)=>e.isReadonlyDecl(t)&&(e.readonlyDecl(t,r),!0),import:(e,t)=>e.isModuleImport(t)&&(e.importStatement(t),!0),export:(e,t,r)=>(e.exportStatement(t,r),!0),"export-default":(e,t,r)=>(e.exportStatement(t,r),!0),"export-all":(e,t,r)=>(e.exportStatement(t,r),!0),"export-from":(e,t,r)=>(e.exportStatement(t,r),!0)};moduleSource(e){return Pe(e)}static specifierLocal(e){return y(e)?e[1]:e}emitSpecifiers(e,t=null){let r=e.filter((n)=>!this.typeOnlyImports.has(E.specifierLocal(n))),s=0,i=0;e.forEach((n)=>{let a=this.typeOnlyImports.has(E.specifierLocal(n)),o=(c,h)=>{if(this.ts&&t!==null)this.importedRefs.push([c,this.b.offset,h,t,"declaration"])},l=()=>{let c=this.declaringName;this.declaringName=!0;try{if(y(n)){this.emitPrimitive(n[0]),this.b.emit(" as ");let h=this.b.offset;this.emitPrimitive(n[1]),o(h,n[0])}else{let h=this.b.offset;this.emitPrimitive(n),o(h,n)}}finally{this.declaringName=c}};if(a){if(!this.ts)return;this.b.tsOnly(()=>{if(s>0||r.length===0&&i>0)this.b.emit(", ");if(l(),s===0&&r.length>0)this.b.emit(", ")}),i++;return}if(s>0)this.b.emit(", ");l(),s++})}emitImportClause(e,t=null){e.forEach((r,s)=>{if(s>0)this.b.emit(", ");let i=t===null?null:s===0?"spec":"extra",n=(a)=>i===null?a():this.mark(t,i,a);if(r==="{}")this.b.emit("{}");else if(typeof r==="string")n(()=>this.b.emit(r));else if(r[0]==="*")n(()=>{this.b.emit("* as ");let a=this.b.offset;if(this.b.emit(r[1]),this.ts&&t!==null)this.importedRefs.push([a,this.b.offset,"*",fr(t[t.length-1]),"declaration"])});else this.b.emit("{ "),n(()=>this.emitSpecifiers(r,t!==null?fr(t[t.length-1]):null)),this.b.emit(" }")}),this.b.emit(" from ")}importStatement(e){if(this.script)throw this.positionedError(e,"emitter: module imports are not available in a script tag — script sources share one scope, and modules arrive with the package graph");let t=e[e.length-1],r=E.importSpecs(e),s=E.importAttributes(e);for(let n of r){if(!Array.isArray(n)||n[0]==="*")continue;if(n.includes("default"))throw this.positionedError(e,"emitter: `import { default }` binds nothing — spell the default import `import name from '…'`, or alias it: `import { default as name } from '…'`")}let i=this.stores.idOf(e);if(i!==null&&this.stores.role(i,"typeOnly")!==null){if(!this.ts){this.mark(e,"$self",()=>{}),this.mark(e,"source",()=>{});return}this.b.tsOnly(()=>{this.mark(e,"$self",()=>{this.b.emit("import "),this.mark(e,"typeOnly",()=>this.b.emit("type")),this.b.emit(" "),this.emitImportClause(r,e);let n=this.b.offset;this.mark(e,"source",()=>this.b.emit(this.moduleSource(t))),this.importSpans.push({start:n,end:this.b.offset,specifier:Pe(t)}),this.emitImportAttributes(s)}),this.b.emit(`; +`)});return}if(this.repl)return this.replImportStatement(e);this.mark(e,"$self",()=>{this.b.emit("import ");let n=r.length>0&&r.every((a)=>a!=="{}"&&(typeof a==="string"||a[0]==="*"?this.typeOnlyImports.has(typeof a==="string"?a:a[1]):a.every((o)=>this.typeOnlyImports.has(E.specifierLocal(o)))));if(r.length>0){if(!n)this.emitImportClause(r,e);else if(this.ts)this.b.tsOnly(()=>this.emitImportClause(r,e))}{let a=this.b.offset;this.mark(e,"source",()=>this.b.emit(this.moduleSource(t))),this.importSpans.push({start:a,end:this.b.offset,specifier:Pe(t)})}this.emitImportAttributes(s)}),this.b.emit(`; +`)}emitImportAttributes(e){if(e===null)return;for(let t of e[1].slice(1))if(!(t[0]===":"&&typeof t[2]==="string"&&(t[2][0]==='"'||t[2][0]==="'")))throw this.positionedError(t,'emitter: an import attribute is a string-literal pair (`with { type: "json" }`) — the module loader reads it before any code runs');this.b.emit(" "),this.mark(e,"$self",()=>{this.mark(e,"keyword",()=>this.b.emit("with")),this.b.emit(" "),this.mark(e,"value",()=>this.expr(e[1]))})}replImportStatement(e){let t=e[e.length-1],r=E.importSpecs(e),s=E.importAttributes(e),i=[],n=null;for(let a of r){if(a==="{}")continue;if(typeof a==="string")i.push(`default: ${a}`);else if(a[0]==="*")n=a[1];else for(let o of a)i.push(y(o)?`${o[0]}: ${o[1]}`:o)}this.mark(e,"$self",()=>{if(n!==null)this.b.emit(`const ${n} = `);else if(i.length>0)this.b.emit(`const { ${i.join(", ")} } = `);this.b.emit(`await import(${this.replResolver()}(`);{let a=this.b.offset;this.mark(e,"source",()=>this.b.emit(this.moduleSource(t))),this.importSpans.push({start:a,end:this.b.offset,specifier:Pe(t)})}if(this.b.emit(")"),s!==null)this.b.emit(", { with: "),this.mark(s,"value",()=>this.expr(s[1])),this.b.emit(" }");if(this.b.emit(")"),n!==null&&i.length>0)this.b.emit(`, { ${i.join(", ")} } = ${n}`)}),this.b.emit(`; +`)}exportStatement(e,t){if(this.script)throw this.positionedError(e,"emitter: exports are not available in a script tag — drop the export keyword; script sources share one scope");if(this.repl)throw this.positionedError(e,"emitter: 'export' has no meaning in a REPL entry — every top-level binding already persists to later lines; drop the export keyword");if(t>0||this.postfixGuardDepth>0)throw this.positionedError(e,"emitter: 'export' must be a top-level statement — a module's exports are static, so a guarded or block-nested export has no form; "+"move it to the top level, or guard the exported value instead (`export x = v if c`)");let r=e[0],s=this.stores.idOf(e);if(r==="export-from"&&s!==null&&this.stores.role(s,"typeOnly")!==null){if(!this.ts){this.mark(e,"$self",()=>{}),this.mark(e,"source",()=>{});return}this.b.tsOnly(()=>{this.mark(e,"$self",()=>{this.b.emit("export "),this.mark(e,"typeOnly",()=>this.b.emit("type")),this.b.emit(" { "),this.emitSpecifiers(e[1],fr(e[2])),this.b.emit(" } from ");let i=this.b.offset;this.mark(e,"source",()=>this.b.emit(this.moduleSource(e[2]))),this.importSpans.push({start:i,end:this.b.offset,specifier:Pe(e[2])})}),this.b.emit(";")});return}this.mark(e,"$self",()=>{if(r==="export-all"){if(e.length===3)this.b.emit("export * as "),this.mark(e,"alias",()=>this.b.emit(e[2])),this.namespaceExports.push(e[2]),this.b.emit(" from ");else this.b.emit("export * from ");{let i=this.b.offset;this.mark(e,"source",()=>this.b.emit(this.moduleSource(e[1]))),this.importSpans.push({start:i,end:this.b.offset,specifier:Pe(e[1])})}this.b.emit(";")}else if(r==="export-from"){if(this.b.emit("export "),e[1]==="{}")this.b.emit("{}");else this.b.emit("{ "),this.emitSpecifiers(e[1],fr(e[2])),this.b.emit(" }");this.b.emit(" from ");{let i=this.b.offset;this.mark(e,"source",()=>this.b.emit(this.moduleSource(e[2]))),this.importSpans.push({start:i,end:this.b.offset,specifier:Pe(e[2])})}this.b.emit(";")}else if(r==="export-default"){if(this.b.emit("export default "),y(e[1])&&k1(e[1][0])&&e[1].length===4)this.mark(e,"spec",()=>this.defStatement(e[1],t));else this.mark(e,"spec",()=>this.expr(e[1]));this.b.emit(";")}else{let i=e[1];if(i==="{}")this.b.emit("export {};");else if(y(i)&&i[0]==="class")this.b.emit("export "),this.classStatement(i,t),this.b.emit(";");else if(y(i)&&k1(i[0]))this.b.emit("export "),this.defStatement(i,t),this.b.emit(";");else if(y(i)&&i[0]==="enum")this.b.emit("export "),this.enumCode(i),this.b.emit(";"),this.tsEnumCompanion(i,!0);else if(this.isReactiveDecl(i))this.b.emit("export "),this.reactiveDecl(i,t);else if(this.isReadonlyDecl(i))this.b.emit("export "),this.readonlyDecl(i,t);else if(this.isEffectDecl(i)){if(i[1]===null)throw this.positionedError(e,"emitter: a bare effect ('export ~> …') binds nothing to export — bind a dispose handle (`export h ~> …`) or drop the export (`export __effect(…)` would be invalid JS)");this.b.emit("export "),this.effectStatement(i,t)}else if(y(i)&&(i[0]==="="||i[0]==="void-assign")){if(i[0]==="void-assign")this.registerVoidValue(i[2],i);if(this.b.emit("export "),this.mark(i,"voidMarker",()=>this.mark(i,"annotation",()=>this.mark(i,"$self",()=>{if(this.b.emit("const "),this.mark(i,"target",()=>this.b.emit(i[1])),this.ts&&this.annotationText(i)!==null)this.tsAnnotate(i,"annotation",this.annotationText(i));this.b.emit(" "),this.mark(i,"operator",()=>this.b.emit("=")),this.b.emit(" ");let n=this._schemaName,a=this._componentName,o=this._componentTypeParams;if(this._componentTypeParams=null,y(i[2])&&i[2][0]==="schema")this._schemaName=i[1];if(this.isComponentDecl(i[2])&&typeof i[1]==="string"){this._componentName=i[1];let l=this.annotationText(i,"typeParams");this._componentTypeParams=l===null?null:{text:l,owner:i}}this.mark(i,"value",()=>this.withExpression(()=>this.expr(i[2]))),this._schemaName=n,this._componentName=a,this._componentTypeParams=o}))),this.b.emit(";"),this.ts&&typeof i[1]==="string"&&this.componentInfo.has(i[2]))this.tsComponentCompanion(i[2],i[1],!0,this.annotationText(i,"typeParams"));if(this.ts)this.tsSchemaBehavior(i[2])}else this.b.emit("export { "),this.emitSpecifiers(i),this.b.emit(" };")}})}enumValue(e,t,r,s){if(typeof e==="string"){if(e.startsWith('"'))try{return[e,JSON.parse(e)]}catch{let i=/\\u(?![0-9a-fA-F]{4})|\\[^"\\/bfnrtu]/.exec(e)?.[0]??"\\";throw this.positionedError(s,`emitter: enum '${t}' member '${r}' — its string value uses the `+`'${i}' escape, which enum values do not support (JSON escapes only; '\\uXXXX' spells the same character)`)}if(/^[\d.]/.test(e)){let i=e.replace(/_/g,"").replace(/n$/,"");return[e,String(Number(i))]}return null}if(y(e)&&e[0]==="-"&&e.length===2){let i=this.enumValue(e[1],t,r,s);if(i===null||e[1].startsWith('"'))return null;return[`-${e[1]}`,`-${i[1]}`]}return null}enumStatement(e){this.enumCode(e),this.b.emit(";"),this.tsEnumCompanion(e,!1)}tsEnumCompanion(e,t){if(!this.ts||typeof e[1]!=="string")return;let r=e[1];this.b.tsOnly(()=>{this.b.emit(` +`),this.mark(e,"$self",()=>{let s=this.stores.idOf(e),i=s!==null?this.stores.selfSpan(s):null,n=i!==null?this.stores.primitiveSpans(r,i[0],i[1])[0]??null:null,a=()=>n?this.b.markSpan(s,"identifier",n.sourceStart,n.sourceEnd,()=>this.b.emit(r)):this.b.emit(r);this.b.emit(`${t?"export ":""}type `),a(),this.b.emit(" = (typeof "),a(),this.b.emit(")[keyof typeof "),a(),this.b.emit("];")})})}enumCode(e){let[,t,r]=e,s=b1(r)?r.slice(1):[r],i=[],n=new Set,a=(h,f,u)=>{if(n.has(h))throw this.positionedError(u,`emitter: enum '${t}' key '${h}' is used more than once (${f}) — `+"forward and reverse entries share one object, so every member name and value must be distinct ",e);n.add(h)},o=F3(s),l=(h)=>{let f=this.b.source,u=this.stores.idOf(r),d=u!==null?this.stores.selfSpan(u)?.[0]??null:null;if(f===null||d===null||typeof s[h]!=="string")return null;for(let m=0;m=0)d=w+g.length}}let p=f.indexOf(s[h],d);return p>=0?[p,p+s[h].length]:null};for(let h=0;h' lines — `+"a bare or computed member has no enum form here",g=l(h);if(g)throw this.positionedErrorAt(g[0],g[1],m);throw this.positionedError(f,m,e)}let u=this.enumValue(f[2],t,f[1],f);if(u===null)throw this.positionedError(f,`emitter: enum '${t}' member '${f[1]}' needs a number or string literal value — `+"the reverse mapping uses the value as an object key, so expressions have no enum form ",e);let[d,p]=u;a(f[1],`member '${f[1]}'`,f),a(p,`value of '${f[1]}'`,f),i.push([f,f[1],d,p])}let c=E.ownKeyText;this.mark(e,"$self",()=>{this.b.emit("const "),this.mark(e,"name",()=>this.noteNameSpan(t)),this.b.emit(" = "),this.mark(e,"body",()=>{this.b.emit("{"),i.forEach(([h,f,u],d)=>{if(d>0)this.b.emit(", ");this.mark(h,"$self",()=>{this.mark(h,"target",()=>{let p=c(f,f);if(p===f)this.emitPrimitive(f);else this.b.emit(p)}),this.b.emit(": "),this.mark(h,"value",()=>this.b.emit(u))})}),i.forEach(([h,f,u,d])=>{this.b.emit(", "),this.mark(h,"$self",()=>{this.b.emit(u.startsWith("-")?JSON.stringify(d):c(u,d)),this.b.emit(`: "${f}"`)})}),this.b.emit("}")})})}schemaExpr(e){let t=e[1];if(!t||typeof t!=="object"||!Array.isArray(t.entries))throw this.positionedError(e,"emitter: schema node without a descriptor — the lexer pass owns SCHEMA_BODY values");if(this.scopes.slice(1).some((o)=>o.has("__schema")))throw this.positionedError(e,"emitter: a function-scope binding of '__schema' shadows the schema runtime where this "+"schema declaration needs it — rename the local, or bind '__schema' at MODULE scope to "+"supply your own factory (the suppression hatch)");this.usesSchema=!0;let r=this._schemaName??null,s=new Map;for(let{entry:o,index:l,tokens:c,value:h}of E.schemaBodies(t)){if(h){s.set(l,this.schemaValueCode(c));continue}let f=this.schemaBodyParams(o);s.set(l,this.schemaFnCode(f,c))}let i=this.schemaStories?.get(e)??null,n=this.stores.idOf(e);if(this.ts&&i!==null)this.schemaFns.set(e,s);this.schemaPins=this.ts?new Map:null,this.schemaPinNode=n;let a=(o,l,c)=>{if(l===null||l===void 0)return;let h=`${o}:${c}`;if(!this.schemaPins.has(h))this.schemaPins.set(h,[]);this.schemaPins.get(h).push([l[0],l[1]])};if(this.ts&&r!==null)a("name",this.moduleTypeDeclarationSpans().get(r)??null,r);for(let o of this.ts?t.entries:[]){let l=(c,h,f)=>{if(typeof f!=="number"||typeof h!=="string")return;a(c,[f,f+h.length],h)};if(o.tag==="union-member")l("name",o.name,o.start);else if(o.tag==="directive"&&o.name==="mixin"&&o.argTokens?.[0]?.kind==="IDENTIFIER")l("target",o.argTokens[0].value,o.argTokens[0].start);else if(o.tag==="ensure")l("field",o.field,o.fieldStart);else if((Ui[o.tag]??null)!==null){if(l("name",o.name,o.start),o.tag==="field"&&Array.isArray(o.typeSpan)&&this.b.source!==null){let c=/[A-Za-z_$][\w$]*/.exec(this.b.source.slice(o.typeSpan[0],o.typeSpan[1]));if(c!==null&&c[0]===o.typeName)l("typeName",c[0],o.typeSpan[0]+c.index)}}}for(let o of this.schemaPins?.values()??[])for(let[l,c]of o)this.b.exactSourceSpans.add(`${l}:${c}`);this.mark(e,"$self",()=>{if(this.b.emit("__schema("),this.mark(e,"body",()=>{let o=zs(t,r,s,s.get("adapter")??null,i?.thisTypes??null,this.ts,i?.defaultTypes??null,i?.ensureTypes??null);for(let l of o)if(typeof l==="string")this.emitSchemaText(l);else if(l.body!==void 0)this.emitSchemaText(l.body,!0);else if(l.span!==null&&l.span!==void 0&&n!==null)this.b.tsOnly(()=>this.b.markSpan(n,"literal",l.span[0],l.span[1],()=>this.b.emit(l.ts)));else if(i!==null){let c=this.bindingNameSpan(i.decl.node,"target",i.decl.name);this.b.tsOnly(()=>this.emitNamedCopies(l.ts,i.decl.name,c?.id??null,c?.span??null))}else this.b.tsOnly(()=>this.b.emit(l.ts))}),this.b.emit(")"),i!==null&&i.constType!==null){let o=this.bindingNameSpan(i.decl.node,"target",i.decl.name);this.b.tsOnly(()=>{this.b.emit(" as unknown as "),this.emitNamedCopies(i.constType,i.decl.name,o?.id??null,o?.span??null)})}}),this.schemaPins=null,this.schemaPinNode=null}static schemaFail(e,t){let r=Error(`schema: ${e}`);throw r.start=t,r}static schemaBodies(e){let t=[];if(e.entries.forEach((r,s)=>{if(r.tag==="method"||r.tag==="computed"||r.tag==="derived"||r.tag==="ensure"||r.tag==="hook"||r.tag==="scope"||r.tag==="defaultScope")t.push({entry:r,index:s,tokens:r.bodyTokens});else if(r.tag==="field"&&r.transformTokens)t.push({entry:r,index:s,tokens:r.transformTokens})}),e.adapterTokens)t.push({entry:{tag:"adapter"},index:"adapter",tokens:e.adapterTokens,value:!0});return t}schemaBodyParams(e){if(e.tag==="adapter")return[];if(e.tag==="field")return[{name:"it",type:null}];return Gs(e.paramTokens??[],e.tag==="ensure"?"@ensure":`'${e.name}'`,E.schemaFail,this.b.source)}schemaFnCode(e,t){let r=e.map((d)=>d.name),{stmts:s,stores:i}=this.subParse(t);if(s.length===0)return{code:"(function() {})",thisAt:10,annots:[]};let n=s.length===1?s[0]:["block",...s],a=this.containsAwait(n),o=E.containsYield(n),l=this.subEmitter(i),c;if(s.length===1){let d=s[0],{entries:p,names:m}=l.scopedHoist([d],r);for(let g of l.pushReactiveFrame(s,m,r))m.add(g);if(l.scopes.push(m),p.length)l.hoistLine(p),l.b.emit(" ");if(mt(d)||re(d))l.statement(d,0);else l.implicitReturn(d,0);c=`{ ${l.b.code} }`}else{let{entries:d,names:p}=l.scopedHoist(s,r);for(let m of l.pushReactiveFrame(s,p,r))p.add(m);if(l.scopes.push(p),l.b.emit(`{ `),d.length)l.b.emit(" "),l.hoistLine(d," "),l.b.emit(` `);s.forEach((m,g)=>{if(l.b.emit(" "),g===s.length-1)l.implicitReturn(m,1);else l.statement(m,1,!0);l.b.emit(` -`)}),l.b.emit("}"),c=l.b.code}let f=`(${a?"async ":""}function${o?"*":""}(`,h=[],u=f.length;return e.forEach((d,p)=>{if(u+=d.name.length,d.type!==null)h.push([u,`: ${d.type}`]);else if(d.optional)h.push([u,"?"]);if(ps++;tr(r,i,t??"",(l,c)=>{let f=Error(`schema: ${l}`);throw f.start=c,f.end=c,f}),Kt(r,i),Ti(r),Yt(r,i),zt(r,i);let a=nr();a.lexer={tokens:r,index:0,text:"",loc:null,setInput(){this.index=0},lex(){let l=this.tokens[this.index];if(!l)return null;return this.index++,this.text=l.value,this.loc={start:l.start,end:l.end},l.kind}};let o=a.parse("");if(o.diagnostics.length>0){let l=o.diagnostics[0],c=Error(`schema: failed to compile a schema function body: ${l.message}`);throw c.start=l.start,c.end=l.end,c}return{stmts:o.sexpr.slice(1),stores:new ar(o.stores)}}bareBlockStatement(e,t){this.mark(e,"$self",()=>{this.b.emit(`{ -`),this.statements(e.slice(1),t+1,"block"),this.b.emit(" ".repeat(t)+"}")}),this.b.emit(";")}statement(e,t,r=!1){this.withTsDirectives(e," ".repeat(t),()=>this.statementCore(e,t,r))}statementCore(e,t,r){if(this.ind=t,this.funcBodyStmt=r,y(e)){let i=E.STATEMENT_FORMS[e[0]];if(i&&i(this,e,t)){this.replDeclEcho(e);return}if(E.controlGuard(e))return this.returnGuardStatement(e,null);if(e[0]==="="&&e.length===3&&typeof e[1]==="string"&&E.controlGuard(e[2]))return this.returnGuardStatement(e[2],e);if(e[0]==="="&&e.length===3&&E.middleRestPattern(e[1])){this.middleRestAssign(e,t),this.b.emit(";");return}if(e[0]===".="&&e.length===3){this.methodAssignStatement(e,t),this.b.emit(";");return}if(e[0]==="="&&e.length===3&&E.sliceTarget(e[1])!==null){this.sliceAssignStatement(e),this.b.emit(";");return}if(lt(e[0])&&e.length===3&&E.sliceTarget(e[1])!==null)throw this.sliceAssignError(e);if(lt(e[0])&&e.length===3){let n=E.optionalGuard(e[1]);if(n!==null){this.optionalAssign(e,n,"statement"),this.b.emit(";");return}}}if(this.replCapture(e))return;if(E.needsGrouping(e,"statement"))this.mark(e,"$self",()=>{this.b.emit("("),this.expr(e),this.b.emit(")")}),this.b.emit(";");else this.expr(e),this.b.emit(";");if(this.ts&&y(e)&&e[0]==="="&&e.length===3&&typeof e[1]==="string"&&this.componentInfo.has(e[2]))this.tsComponentCompanion(e[2],e[1],!1,this.annotationText(e,"typeParams"));if(this.ts&&y(e)&&e[0]==="="&&e.length===3)this.tsSchemaBehavior(e[2])}tsSchemaBehavior(e){let t=this.schemaStories?.get(e)??null,r=this.schemaFns.get(e);if(t===null||r===void 0)return;let s=qn(e[1],t.decl.name,r,t.thisTypes);if(s===null)return;if(this.scopes[0]?.has(t.behaviorName)||this.moduleBound?.has(t.behaviorName))throw this.positionedError(e,`emitter: the module binds '${t.behaviorName}', the face-only name this schema's `+"callable types read through — rename the binding");let i=this.stores.idOf(e);this.b.tsOnly(()=>this.b.echo(()=>{if(this.b.emit(` +`)}),l.b.emit("}"),c=l.b.code}let h=`(${a?"async ":""}function${o?"*":""}(`,f=[],u=h.length;return e.forEach((d,p)=>{if(u+=d.name.length,d.type!==null)f.push([u,`: ${d.type}`]);else if(d.optional)f.push([u,"?"]);if(ps++;tr(r,i,t??"",(l,c)=>{let h=Error(`schema: ${l}`);throw h.start=c,h.end=c,h}),Gt(r,i),Ti(r),Yt(r,i),zt(r,i);let a=sr();a.lexer={tokens:r,index:0,text:"",loc:null,setInput(){this.index=0},lex(){let l=this.tokens[this.index];if(!l)return null;return this.index++,this.text=l.value,this.loc={start:l.start,end:l.end},l.kind}};let o=a.parse("");if(o.diagnostics.length>0){let l=o.diagnostics[0],c=Error(`schema: failed to compile a schema function body: ${l.message}`);throw c.start=l.start,c.end=l.end,c}return{stmts:o.sexpr.slice(1),stores:new ar(o.stores)}}bareBlockStatement(e,t){this.mark(e,"$self",()=>{this.b.emit(`{ +`),this.statements(e.slice(1),t+1,"block"),this.b.emit(" ".repeat(t)+"}")}),this.b.emit(";")}statement(e,t,r=!1){this.withTsDirectives(e," ".repeat(t),()=>this.statementCore(e,t,r))}statementCore(e,t,r){if(this.ind=t,this.funcBodyStmt=r,y(e)){let i=E.STATEMENT_FORMS[e[0]];if(i&&i(this,e,t)){this.replDeclEcho(e);return}if(E.controlGuard(e))return this.returnGuardStatement(e,null);if(e[0]==="="&&e.length===3&&typeof e[1]==="string"&&E.controlGuard(e[2]))return this.returnGuardStatement(e[2],e);if(e[0]==="="&&e.length===3&&E.middleRestPattern(e[1])){this.middleRestAssign(e,t),this.b.emit(";");return}if(e[0]===".="&&e.length===3){this.methodAssignStatement(e,t),this.b.emit(";");return}if(e[0]==="="&&e.length===3&&E.sliceTarget(e[1])!==null){this.sliceAssignStatement(e),this.b.emit(";");return}if(lt(e[0])&&e.length===3&&E.sliceTarget(e[1])!==null)throw this.sliceAssignError(e);if(lt(e[0])&&e.length===3){let n=E.optionalGuard(e[1]);if(n!==null){this.optionalAssign(e,n,"statement"),this.b.emit(";");return}}}if(this.replCapture(e))return;if(E.needsGrouping(e,"statement"))this.mark(e,"$self",()=>{this.b.emit("("),this.expr(e),this.b.emit(")")}),this.b.emit(";");else this.expr(e),this.b.emit(";");if(this.ts&&y(e)&&e[0]==="="&&e.length===3&&typeof e[1]==="string"&&this.componentInfo.has(e[2]))this.tsComponentCompanion(e[2],e[1],!1,this.annotationText(e,"typeParams"));if(this.ts&&y(e)&&e[0]==="="&&e.length===3)this.tsSchemaBehavior(e[2])}tsSchemaBehavior(e){let t=this.schemaStories?.get(e)??null,r=this.schemaFns.get(e);if(t===null||r===void 0)return;let s=qs(e[1],t.decl.name,r,t.thisTypes);if(s===null)return;if(this.scopes[0]?.has(t.behaviorName)||this.moduleBound?.has(t.behaviorName))throw this.positionedError(e,`emitter: the module binds '${t.behaviorName}', the face-only name this schema's `+"callable types read through — rename the binding");let i=this.stores.idOf(e);this.b.tsOnly(()=>this.b.echo(()=>{if(this.b.emit(` `+" ".repeat(this.ind)),i!==null)this.b.mark(i,"$self",()=>{let n=this.bindingNameSpan(t.decl.node,"target",t.decl.name);this.emitNamedCopies(s,t.decl.name,n?.id??null,n?.span??null)});else this.b.emit(s)}))}replSlot(){if(this.replResultName===null)this.replResultName=E.mintName("__result",this.temps.used);return this.replResultName}replResolver(){if(this.replImportResolver===null)this.replImportResolver=E.mintName("__resolveImport",this.temps.used);return this.replImportResolver}replCapture(e){if(!this.repl||e!==this.lastProgramStmt)return!1;return this.b.emit(`const ${this.replSlot()} = `),this.expr(e),this.b.emit(";"),!0}replDeclEcho(e){if(!this.repl||e!==this.lastProgramStmt||!y(e))return;let t=null,r=!1;if(this.isReactiveDecl(e)&&typeof e[1]==="string")t=e[1],r=!0;else if(this.isReadonlyDecl(e)&&typeof e[1]==="string")t=e[1];else if(this.isEffectDecl(e)&&typeof e[1]==="string")t=e[1];if(t===null)return;this.b.emit(` const ${this.replSlot()} = ${t}${r?".value":""};`)}whileStatement(e,t){this.inCtrl(()=>this.whileStatementCtrl(e,t))}whileStatementCtrl(e,t){let r=e.length===4?e[2]:null,s=e[e.length-1];this.mark(e,"$self",()=>{if(this.b.emit("while ("),this.mark(e,"condition",()=>this.expr(e[1])),this.b.emit(") "),r!==null){let i=b1(s)?s.slice(1):s;this.b.emit(`{ `+" ".repeat(t+1)+"if ("),this.expr(r),this.b.emit(`) { @@ -92,21 +92,21 @@ const ${this.replSlot()} = ${t}${r?".value":""};`)}whileStatement(e,t){this.inCt `+" ".repeat(t+1)),this.statement(r,t+1),this.b.emit(` `+" ".repeat(t)+"}");else this.statement(r,t);this.postfixGuardDepth--});return}this.mark(e,"$self",()=>this.ifChain(e,t))}static LOOP_HEADS=new Set(["for-in","for-of","for-as","while","loop","comprehension"]);loopStatement(e,t){this.withBindings(this.loopBindingNames(e),()=>this.inCtrl(()=>this.loopStatementCtrl(e,t)))}loopStatementCtrl(e,t){this.mark(e,"$self",()=>{let{body:r}=this.loopHeader(e);this.b.emit(" "),this.mark(e,"body",()=>this.braceBlock(r,t))})}throwStatement(e){this.mark(e,"$self",()=>{this.b.emit("throw "),this.mark(e,"value",()=>this.expr(e[1]))}),this.b.emit(";")}tryStatement(e,t){this.mark(e,"$self",()=>{this.b.emit("try ");let r=b1(e[1])?e[1]:["block",e[1]];if(this.mark(e,"body",()=>this.braceBlock(r,t)),e.length===2)this.b.emit(" catch {}");for(let s of e.slice(2)){if(!y(s))continue;if(b1(s))this.b.emit(" finally "),this.braceBlock(s,t);else{let[i,n]=s;if(i===null)this.b.emit(" catch "),this.braceBlock(n,t);else if(E.isPattern(i)){this.checkExportedConstWrite(s,i);let a=this.loopTempName("_err");this.b.emit(` catch (${a}`),this.tsScaffoldAny(),this.b.emit(`) { `);let o=" ".repeat(t+1);this.b.emit(o+"("),this.mark(s,"binding",()=>this.withPattern(()=>this.expr(i))),this.b.emit(` = ${a}); -`),this.statements(b1(n)?n.slice(1):[n],t+1,"block"),this.b.emit(" ".repeat(t)+"}")}else if(E.isTypedWrapper(i))this.b.emit(" catch ("),this.mark(s,"binding",()=>this.emitParam(i)),this.b.emit(") "),this.withBindings([i[1]],()=>this.braceBlock(n,t));else this.b.emit(" catch ("),this.mark(s,"binding",()=>this.b.emit(i)),this.b.emit(") "),this.withBindings([i],()=>this.braceBlock(n,t))}}})}static isMatchArm(e){if(typeof e==="string")return e.startsWith("/");if(!y(e))return!1;return e[0]==="here-regex"||(e[0]===".."||e[0]==="...")&&e.length===3}static hasMatchArms(e){return e.some((t)=>t[1].some((r)=>E.isMatchArm(r)))}checkMatchSwitch(e){let[,t,r,s]=e;if(t===null)throw this.positionedError(e,"emitter: a regex or range `when` tests the switch subject, and this switch has none — give it one (`switch x`) or spell the test out (`when /re/.test(x)`)");for(let i of[...r.map((n)=>n[2]),s])if(i!==null&&E.findCapturedCtrl(i,P3)!==null)throw this.positionedError(e,"emitter: `break` in an arm of a switch with a regex or range `when` has nothing to leave — the switch is an if-chain and each arm ends on its own; drop the `break`")}static matchArmSexpr(e,t){if(!E.isMatchArm(t))return["==",e,t];if(y(t)&&(t[0]===".."||t[0]==="..."))return["&&",[">=",e,t[1]],[t[0]===".."?"<=":"<",e,t[2]]];return[[".",t,"test"],e]}matchArmTest(e,t){if(typeof e==="string"&&e.startsWith("/"))this.expr(e),this.b.emit(".test("),t(),this.b.emit(")");else if(y(e)&&e[0]==="here-regex")this.b.emit("("),this.expr(e),this.b.emit(").test("),t(),this.b.emit(")");else if(y(e)&&(e[0]===".."||e[0]==="...")&&e.length===3)this.b.emit("("),t(),this.b.emit(" >= "),this.expr(e[1]),this.b.emit(" && "),t(),this.b.emit(e[0]===".."?" <= ":" < "),this.expr(e[2]),this.b.emit(")");else t(),this.b.emit(" === "),this.expr(e)}matchChain(e,t,r){let[,s,i,n]=e,a=" ".repeat(t),l=typeof s==="string"&&/^[A-Za-z_$][\w$]*$/.test(s)&&!this.isReactiveName(s)?null:this.loopTempName("_switch"),c=()=>l!==null?this.b.emit(l):this.mark(e,"subject",()=>this.expr(s));if(l!==null)this.temps.used.add(l),this.b.emit(`const ${l} = `),this.mark(e,"subject",()=>this.expr(s)),this.b.emit(`; -${a}`);if(this.mark(e,"cases",()=>{i.forEach((f,h)=>{this.mark(f,"$self",()=>{let[,u,d]=f;if(h>0)this.b.emit(" else ");this.b.emit("if ("),u.forEach((p,m)=>{if(m>0)this.b.emit(" || ");this.matchArmTest(p,c)}),this.b.emit(") "),r(d)})})}),n!==null)this.b.emit(" else "),r(n)}switchStatement(e,t){let[,r,s,i]=e,n=" ".repeat(t);if(E.hasMatchArms(s)){this.checkMatchSwitch(e),this.mark(e,"$self",()=>this.matchChain(e,t,(a)=>this.braceBlock(a,t)));return}this.mark(e,"$self",()=>{if(r!==null){if(this.b.emit("switch ("),this.mark(e,"subject",()=>this.expr(r)),this.b.emit(`) { +`),this.statements(b1(n)?n.slice(1):[n],t+1,"block"),this.b.emit(" ".repeat(t)+"}")}else if(E.isTypedWrapper(i))this.b.emit(" catch ("),this.mark(s,"binding",()=>this.emitParam(i)),this.b.emit(") "),this.withBindings([i[1]],()=>this.braceBlock(n,t));else this.b.emit(" catch ("),this.mark(s,"binding",()=>this.b.emit(i)),this.b.emit(") "),this.withBindings([i],()=>this.braceBlock(n,t))}}})}static isMatchArm(e){if(typeof e==="string")return e.startsWith("/");if(!y(e))return!1;return e[0]==="here-regex"||(e[0]===".."||e[0]==="...")&&e.length===3}static hasMatchArms(e){return e.some((t)=>t[1].some((r)=>E.isMatchArm(r)))}checkMatchSwitch(e){let[,t,r,s]=e;if(t===null)throw this.positionedError(e,"emitter: a regex or range `when` tests the switch subject, and this switch has none — give it one (`switch x`) or spell the test out (`when /re/.test(x)`)");for(let i of[...r.map((n)=>n[2]),s])if(i!==null&&E.findCapturedCtrl(i,j3)!==null)throw this.positionedError(e,"emitter: `break` in an arm of a switch with a regex or range `when` has nothing to leave — the switch is an if-chain and each arm ends on its own; drop the `break`")}static matchArmSexpr(e,t){if(!E.isMatchArm(t))return["==",e,t];if(y(t)&&(t[0]===".."||t[0]==="..."))return["&&",[">=",e,t[1]],[t[0]===".."?"<=":"<",e,t[2]]];return[[".",t,"test"],e]}matchArmTest(e,t){if(typeof e==="string"&&e.startsWith("/"))this.expr(e),this.b.emit(".test("),t(),this.b.emit(")");else if(y(e)&&e[0]==="here-regex")this.b.emit("("),this.expr(e),this.b.emit(").test("),t(),this.b.emit(")");else if(y(e)&&(e[0]===".."||e[0]==="...")&&e.length===3)this.b.emit("("),t(),this.b.emit(" >= "),this.expr(e[1]),this.b.emit(" && "),t(),this.b.emit(e[0]===".."?" <= ":" < "),this.expr(e[2]),this.b.emit(")");else t(),this.b.emit(" === "),this.expr(e)}matchChain(e,t,r){let[,s,i,n]=e,a=" ".repeat(t),l=typeof s==="string"&&/^[A-Za-z_$][\w$]*$/.test(s)&&!this.isReactiveName(s)?null:this.loopTempName("_switch"),c=()=>l!==null?this.b.emit(l):this.mark(e,"subject",()=>this.expr(s));if(l!==null)this.temps.used.add(l),this.b.emit(`const ${l} = `),this.mark(e,"subject",()=>this.expr(s)),this.b.emit(`; +${a}`);if(this.mark(e,"cases",()=>{i.forEach((h,f)=>{this.mark(h,"$self",()=>{let[,u,d]=h;if(f>0)this.b.emit(" else ");this.b.emit("if ("),u.forEach((p,m)=>{if(m>0)this.b.emit(" || ");this.matchArmTest(p,c)}),this.b.emit(") "),r(d)})})}),n!==null)this.b.emit(" else "),r(n)}switchStatement(e,t){let[,r,s,i]=e,n=" ".repeat(t);if(E.hasMatchArms(s)){this.checkMatchSwitch(e),this.mark(e,"$self",()=>this.matchChain(e,t,(a)=>this.braceBlock(a,t)));return}this.mark(e,"$self",()=>{if(r!==null){if(this.b.emit("switch ("),this.mark(e,"subject",()=>this.expr(r)),this.b.emit(`) { `),this.mark(e,"cases",()=>{for(let a of s)this.mark(a,"$self",()=>{let[,o,l]=a;for(let c of o)this.b.emit(`${n} case `),this.expr(c),this.b.emit(`: `);this.caseBody(l,t)})}),i!==null)this.b.emit(`${n} default: -`),this.caseBody(i,t);this.b.emit(`${n}}`)}else if(s.forEach((a,o)=>{let[,l,c]=a;if(o>0)this.b.emit(" else ");this.b.emit("if (("),l.forEach((f,h)=>{if(h>0)this.b.emit(") || (");this.expr(f)}),this.b.emit(")) "),this.braceBlock(c,t)}),i!==null)this.b.emit(" else "),this.braceBlock(i,t)})}caseBody(e,t){this.inCtrl(()=>this.caseBodyCtrl(e,t))}caseBodyCtrl(e,t){let r=this.liveStmts(b1(e)?e.slice(1):[e]);this.emitTsTypeDecls(b1(e)?e.slice(1):[e]," ".repeat(t+2));for(let s of r)this.b.emit(" ".repeat(t+2)),this.statement(s,t+2),this.b.emit(` +`),this.caseBody(i,t);this.b.emit(`${n}}`)}else if(s.forEach((a,o)=>{let[,l,c]=a;if(o>0)this.b.emit(" else ");this.b.emit("if (("),l.forEach((h,f)=>{if(f>0)this.b.emit(") || (");this.expr(h)}),this.b.emit(")) "),this.braceBlock(c,t)}),i!==null)this.b.emit(" else "),this.braceBlock(i,t)})}caseBody(e,t){this.inCtrl(()=>this.caseBodyCtrl(e,t))}caseBodyCtrl(e,t){let r=this.liveStmts(b1(e)?e.slice(1):[e]);this.emitTsTypeDecls(b1(e)?e.slice(1):[e]," ".repeat(t+2));for(let s of r)this.b.emit(" ".repeat(t+2)),this.statement(s,t+2),this.b.emit(` `);this.b.emit(" ".repeat(t+2)+`break; -`)}loopBindingNames(e){let t=y(e)?e[0]:null,r=null;if(t==="loop-n")return["it"];if(t==="for-in"||t==="for-of"||t==="for-as")r=e[1];else if(re(e))r=e[2][0][1];if(r===null)return[];if(r.length===0)throw this.positionedError(e,"emitter: a for loop binds no variable — spell a bare repeat with a binding (`for i in [1...3]`)");let s=[];for(let i of r)this.patternNames(i,s,!0);return s}rangedHeader(e,t,r,s,i){let[n,a,o]=s,l=n===".."?"<=":"<",c=n===".."?">=":">",f=(L)=>typeof L==="string"&&/^[0-9.]/.test(L)?L:null,h=(L)=>f(L)??(y(L)&&(L[0]==="+"||L[0]==="-")&&L.length===2&&f(L[1])!==null?`${L[0]==="-"?"-":""}${f(L[1])}`:null),u=(L)=>{let P=h(L);return P===null?null:Number(P.replace(/_/g,""))},d=i===null?null:u(i);if(d===0)throw this.positionedError(e,"emitter: a BY step of 0 never advances the loop");let p=u(a),m=u(o),g=i===null?p!==null&&m!==null&&p>m:d!==null&&d<0,b=r[0],S=r.length===2?r[1]:null,w=m!==null||this.singleReadIterable(o)?null:this.loopTempName("_ref"),R=i===null||d!==null?null:this.loopTempName("_step");if(this.b.emit("for (let "),t(b),this.b.emit(" = "),this.expr(a),w!==null)this.b.emit(`, ${w} = `),this.expr(o);if(R!==null)this.b.emit(`, ${R} = `),this.mark(e,"step",()=>this.expr(i));if(S!==null)this.b.emit(", "),t(S),this.b.emit(" = 0");let T=()=>{if(w!==null)this.b.emit(w);else this.expr(o)},F=()=>{if(R!==null)this.b.emit(`${b} += ${R}`);else if(i===null)this.b.emit(g?`${b}--`:`${b}++`);else this.b.emit(`${b} ${g?"-=":"+="} `),this.mark(e,"step",()=>this.b.emit(String(Math.abs(d))));if(S!==null)this.b.emit(`, ${S}++`)};if(this.b.emit("; "),R!==null)this.b.emit(`${R} > 0 ? ${b} ${l} `),T(),this.b.emit(` : ${b} ${c} `),T();else this.b.emit(`${b} ${g?c:l} `),T();this.b.emit("; "),F(),this.b.emit(")")}forIn(e,t){this.inCtrl(()=>this.forInCtrl(e,t))}forInCtrl(e,t){let[,r,s,i,n,a]=e;this.withBindings(this.loopBindingNames(e),()=>this.forInCore(e,r,s,i,n,a,t))}forInCore(e,t,r,s,i,n,a){this.mark(e,"$self",()=>{let o=(l)=>this.mark(e,"vars",()=>typeof l==="string"?this.emitPrimitive(l):this.withPattern(()=>this.expr(l),!0));if(y(t[0])&&(We(r)||s!==null))throw this.positionedError(e,"emitter: pattern loop variables with ranges or BY steps are not supported yet");if(We(r))this.rangedHeader(e,o,t,r,s),this.b.emit(" "),this.guardedBlock(n,i,a);else if(s!==null){let l=t.length===2?t[1]:this.loopTempName("_i"),c=()=>{if(t.length===2)o(l);else this.b.emit(l)},f=(g)=>typeof g==="string"&&/^[0-9.]/.test(g)?g:null,h=f(s)??(y(s)&&s[0]==="+"&&s.length===2?f(s[1]):null),u=y(s)&&s[0]==="-"&&s.length===2?f(s[1]):null;if((h??u)!==null&&Number((h??u).replace(/_/g,""))===0)throw this.positionedError(e,"emitter: a BY step of 0 never advances the loop");let d=this.singleReadIterable(r)?null:this.loopTempName("_ref"),p=()=>{if(d)this.b.emit(`${d} = `),this.expr(r),this.b.emit(", ")},m=()=>{if(d)this.b.emit(d);else this.expr(r)};if(u!==null)if(this.b.emit("for (let "),p(),c(),this.b.emit(" = "),m(),this.b.emit(`.length - 1; ${l} >= 0; `),u==="1")this.mark(e,"step",()=>this.b.emit(`${l}--`));else this.b.emit(`${l} += `),this.mark(e,"step",()=>{this.b.emit("(-"),this.expr(s[1]),this.b.emit(")")});else if(h!==null)if(this.b.emit("for (let "),p(),c(),this.b.emit(` = 0; ${l} < `),m(),this.b.emit(".length; "),s==="1")this.mark(e,"step",()=>this.b.emit(`${l}++`));else this.b.emit(`${l} += `),this.grouped(e,"step",s,E.needsGrouping(s,"operand"));else{let g=this.loopTempName("_step");this.b.emit(`for (let ${g} = `),this.mark(e,"step",()=>this.expr(s)),this.b.emit(", "),p(),c(),this.b.emit(` = ${g} > 0 ? 0 : `),m(),this.b.emit(`.length - 1; ${g} > 0 ? ${l} < `),m(),this.b.emit(`.length : ${g} < 0 && ${l} >= 0; ${l} += ${g}`)}this.b.emit(`) { +`)}loopBindingNames(e){let t=y(e)?e[0]:null,r=null;if(t==="loop-n")return["it"];if(t==="for-in"||t==="for-of"||t==="for-as")r=e[1];else if(re(e))r=e[2][0][1];if(r===null)return[];if(r.length===0)throw this.positionedError(e,"emitter: a for loop binds no variable — spell a bare repeat with a binding (`for i in [1...3]`)");let s=[];for(let i of r)this.patternNames(i,s,!0);return s}rangedHeader(e,t,r,s,i){let[n,a,o]=s,l=n===".."?"<=":"<",c=n===".."?">=":">",h=(M)=>typeof M==="string"&&/^[0-9.]/.test(M)?M:null,f=(M)=>h(M)??(y(M)&&(M[0]==="+"||M[0]==="-")&&M.length===2&&h(M[1])!==null?`${M[0]==="-"?"-":""}${h(M[1])}`:null),u=(M)=>{let x=f(M);return x===null?null:Number(x.replace(/_/g,""))},d=i===null?null:u(i);if(d===0)throw this.positionedError(e,"emitter: a BY step of 0 never advances the loop");let p=u(a),m=u(o),g=i===null?p!==null&&m!==null&&p>m:d!==null&&d<0,b=r[0],S=r.length===2?r[1]:null,w=m!==null||this.singleReadIterable(o)?null:this.loopTempName("_ref"),R=i===null||d!==null?null:this.loopTempName("_step");if(this.b.emit("for (let "),t(b),this.b.emit(" = "),this.expr(a),w!==null)this.b.emit(`, ${w} = `),this.expr(o);if(R!==null)this.b.emit(`, ${R} = `),this.mark(e,"step",()=>this.expr(i));if(S!==null)this.b.emit(", "),t(S),this.b.emit(" = 0");let T=()=>{if(w!==null)this.b.emit(w);else this.expr(o)},j=()=>{if(R!==null)this.b.emit(`${b} += ${R}`);else if(i===null)this.b.emit(g?`${b}--`:`${b}++`);else this.b.emit(`${b} ${g?"-=":"+="} `),this.mark(e,"step",()=>this.b.emit(String(Math.abs(d))));if(S!==null)this.b.emit(`, ${S}++`)};if(this.b.emit("; "),R!==null)this.b.emit(`${R} > 0 ? ${b} ${l} `),T(),this.b.emit(` : ${b} ${c} `),T();else this.b.emit(`${b} ${g?c:l} `),T();this.b.emit("; "),j(),this.b.emit(")")}forIn(e,t){this.inCtrl(()=>this.forInCtrl(e,t))}forInCtrl(e,t){let[,r,s,i,n,a]=e;this.withBindings(this.loopBindingNames(e),()=>this.forInCore(e,r,s,i,n,a,t))}forInCore(e,t,r,s,i,n,a){this.mark(e,"$self",()=>{let o=(l)=>this.mark(e,"vars",()=>typeof l==="string"?this.emitPrimitive(l):this.withPattern(()=>this.expr(l),!0));if(y(t[0])&&(We(r)||s!==null))throw this.positionedError(e,"emitter: pattern loop variables with ranges or BY steps are not supported yet");if(We(r))this.rangedHeader(e,o,t,r,s),this.b.emit(" "),this.guardedBlock(n,i,a);else if(s!==null){let l=t.length===2?t[1]:this.loopTempName("_i"),c=()=>{if(t.length===2)o(l);else this.b.emit(l)},h=(g)=>typeof g==="string"&&/^[0-9.]/.test(g)?g:null,f=h(s)??(y(s)&&s[0]==="+"&&s.length===2?h(s[1]):null),u=y(s)&&s[0]==="-"&&s.length===2?h(s[1]):null;if((f??u)!==null&&Number((f??u).replace(/_/g,""))===0)throw this.positionedError(e,"emitter: a BY step of 0 never advances the loop");let d=this.singleReadIterable(r)?null:this.loopTempName("_ref"),p=()=>{if(d)this.b.emit(`${d} = `),this.expr(r),this.b.emit(", ")},m=()=>{if(d)this.b.emit(d);else this.expr(r)};if(u!==null)if(this.b.emit("for (let "),p(),c(),this.b.emit(" = "),m(),this.b.emit(`.length - 1; ${l} >= 0; `),u==="1")this.mark(e,"step",()=>this.b.emit(`${l}--`));else this.b.emit(`${l} += `),this.mark(e,"step",()=>{this.b.emit("(-"),this.expr(s[1]),this.b.emit(")")});else if(f!==null)if(this.b.emit("for (let "),p(),c(),this.b.emit(` = 0; ${l} < `),m(),this.b.emit(".length; "),s==="1")this.mark(e,"step",()=>this.b.emit(`${l}++`));else this.b.emit(`${l} += `),this.grouped(e,"step",s,E.needsGrouping(s,"operand"));else{let g=this.loopTempName("_step");this.b.emit(`for (let ${g} = `),this.mark(e,"step",()=>this.expr(s)),this.b.emit(", "),p(),c(),this.b.emit(` = ${g} > 0 ? 0 : `),m(),this.b.emit(`.length - 1; ${g} > 0 ? ${l} < `),m(),this.b.emit(`.length : ${g} < 0 && ${l} >= 0; ${l} += ${g}`)}this.b.emit(`) { let `),o(t[0]),this.b.emit(" = "),m(),this.b.emit(`[${l}]; `),this.flatBody(n,i," "),this.b.emit("}")}else if(t.length===2){let l=this.singleReadIterable(r)?null:this.loopTempName("_ref");if(this.b.emit("for (let "),l)this.b.emit(`${l} = `),this.expr(r),this.b.emit(", ");if(o(t[1]),this.b.emit(` = 0; ${t[1]} < `),l)this.b.emit(l);else this.expr(r);if(this.b.emit(`.length; ${t[1]}++) { `),this.b.emit(" ".repeat(a+1)+"let "),o(t[0]),this.b.emit(" = "),l)this.b.emit(l);else this.expr(r);if(this.b.emit(`[${t[1]}]; `),i!==null)this.b.emit(" ".repeat(a+1)+"if ("),this.expr(i),this.b.emit(") "),this.braceBlock(n,a+1),this.b.emit(` -`);else this.bodyLines(n,a);this.b.emit(" ".repeat(a)+"}")}else this.b.emit("for (let "),o(t[0]),this.b.emit(" of "),this.mark(e,"iterable",()=>this.expr(r)),this.b.emit(") "),this.guardedBlock(n,i,a)})}forOf(e,t){this.inCtrl(()=>this.forOfCtrl(e,t))}forOfCtrl(e,t){let[,r,s,i,n,a]=e;this.checkForOfPatternKey(r,i),this.withBindings(this.loopBindingNames(e),()=>this.forOfCore(e,r,s,i,n,a,t))}forOfCore(e,t,r,s,i,n,a){this.mark(e,"$self",()=>{let o=(h)=>this.mark(e,"vars",()=>typeof h==="string"?this.emitPrimitive(h):this.withPattern(()=>this.expr(h),!0)),c=(s||t.length===2)&&!this.singleReadIterable(r)?this.loopTempName("_ref"):null;if(c!==null)this.temps.used.add(c),this.b.emit(`const ${c} = `),this.mark(e,"object",()=>this.expr(r)),this.b.emit(`; -${" ".repeat(a)}`);let f=()=>{if(c)this.b.emit(c);else this.expr(r)};if(this.b.emit("for (let "),o(t[0]),this.b.emit(" in "),c)this.b.emit(c);else this.mark(e,"object",()=>this.expr(r));if(this.b.emit(") "),s||t.length===2){if(this.b.emit(`{ -`),s)this.b.emit("if (!Object.hasOwn("),f(),this.b.emit(`, ${t[0]})) continue; -`);if(t.length===2)this.b.emit("let "),o(t[1]),this.b.emit(" = "),f(),this.b.emit(`[${t[0]}]; +`);else this.bodyLines(n,a);this.b.emit(" ".repeat(a)+"}")}else this.b.emit("for (let "),o(t[0]),this.b.emit(" of "),this.mark(e,"iterable",()=>this.expr(r)),this.b.emit(") "),this.guardedBlock(n,i,a)})}forOf(e,t){this.inCtrl(()=>this.forOfCtrl(e,t))}forOfCtrl(e,t){let[,r,s,i,n,a]=e;this.checkForOfPatternKey(r,i),this.withBindings(this.loopBindingNames(e),()=>this.forOfCore(e,r,s,i,n,a,t))}forOfCore(e,t,r,s,i,n,a){this.mark(e,"$self",()=>{let o=(f)=>this.mark(e,"vars",()=>typeof f==="string"?this.emitPrimitive(f):this.withPattern(()=>this.expr(f),!0)),c=(s||t.length===2)&&!this.singleReadIterable(r)?this.loopTempName("_ref"):null;if(c!==null)this.temps.used.add(c),this.b.emit(`const ${c} = `),this.mark(e,"object",()=>this.expr(r)),this.b.emit(`; +${" ".repeat(a)}`);let h=()=>{if(c)this.b.emit(c);else this.expr(r)};if(this.b.emit("for (let "),o(t[0]),this.b.emit(" in "),c)this.b.emit(c);else this.mark(e,"object",()=>this.expr(r));if(this.b.emit(") "),s||t.length===2){if(this.b.emit(`{ +`),s)this.b.emit("if (!Object.hasOwn("),h(),this.b.emit(`, ${t[0]})) continue; +`);if(t.length===2)this.b.emit("let "),o(t[1]),this.b.emit(" = "),h(),this.b.emit(`[${t[0]}]; `);this.flatBody(n,i,""),this.b.emit("}")}else this.guardedBlock(n,i,a)})}checkForOfPatternKey(e,t){if(!y(e[0]))return;if(t)throw this.positionedError(e[0],"emitter: a for…of pattern key cannot combine with 'own' — the hasOwn filter reads the key by name (name the key and destructure the value slot)");if(e.length===2)throw this.positionedError(e[0],"emitter: a for…of pattern key cannot combine with a value variable — the value binding indexes the object by the key name (name the key and destructure the value slot)")}forAs(e,t){this.inCtrl(()=>this.forAsCtrl(e,t))}forAsCtrl(e,t){let[,r,s,i,n,a]=e;this.withBindings(this.loopBindingNames(e),()=>{this.mark(e,"$self",()=>{this.clauseHeader(e,"for-as",r,s,i),this.b.emit(" "),this.guardedBlock(a,n,t)})})}guardedBlock(e,t,r){if(t===null){this.braceBlock(e,r);return}this.b.emit(`{ `+" ".repeat(r+1)+"if ("),this.expr(t),this.b.emit(") "),this.braceBlock(e,r+1),this.b.emit(` `+" ".repeat(r)+"}")}flatBody(e,t,r){let s=this.liveStmts(b1(e)?e.slice(1):[e]);if(this.emitTsTypeDecls(b1(e)?e.slice(1):[e],""),t!==null){let i=E.needsGrouping(t,"operand")||U1(t);if(this.b.emit("if ("),i)this.b.emit("(");if(this.expr(t),i)this.b.emit(")");this.b.emit(`) { @@ -114,29 +114,29 @@ ${" ".repeat(a)}`);let f=()=>{if(c)this.b.emit(c);else this.expr(r)};if(this.b. `);this.b.emit(` } `);return}for(let i of s)this.statement(i,0),this.b.emit(` `)}bodyLines(e,t){let r=this.liveStmts(b1(e)?e.slice(1):[e]);this.emitTsTypeDecls(b1(e)?e.slice(1):[e]," ".repeat(t+1));for(let s of r)this.b.emit(" ".repeat(t+1)),this.statement(s,t+1),this.b.emit(` -`)}clauseHeader(e,t,r,s,i,n=null){let a=(c)=>this.mark(e,"vars",()=>typeof c==="string"?this.emitPrimitive(c):this.withPattern(()=>this.expr(c),!0)),o=[];if(t==="for-of"){this.checkForOfPatternKey(r,i===!0);let f=(i===!0||r.length===2)&&!this.singleReadIterable(s)?this.loopTempName("_ref"):null;if(f!==null)this.temps.used.add(f),this.b.emit(`const ${f} = `),this.mark(e,"object",()=>this.expr(s)),this.b.emit(`; -${n??""}`);let h=()=>{if(f)this.b.emit(f);else this.expr(s)};if(this.b.emit("for (let "),a(r[0]),this.b.emit(" in "),f)this.b.emit(f);else this.mark(e,"object",()=>this.expr(s));if(this.b.emit(")"),i===!0)o.push(()=>{this.b.emit("if (!Object.hasOwn("),h(),this.b.emit(`, ${r[0]})) continue;`)});if(r.length===2)o.push(()=>{this.b.emit("let "),a(r[1]),this.b.emit(" = "),h(),this.b.emit(`[${r[0]}];`)});return o}if(t==="for-as"){if(r.length!==1)throw this.positionedError(e,"emitter: for-as takes ONE loop variable — the iterator protocol yields single values (destructure with a pattern instead)");if(i===!0)this.renderSyncGuard(e);return this.b.emit(i===!0?"for await (let ":"for (let "),a(r[0]),this.b.emit(" of "),this.mark(e,"iterable",()=>this.expr(s)),this.b.emit(")"),o}let l=i;if(y(r[0])&&(We(s)||l!==null))throw this.positionedError(e,"emitter: pattern loop variables with ranges or BY steps are not supported yet");if(We(s))return this.rangedHeader(e,a,r,s,l),o;if(l!==null){let c=r.length===2?r[1]:this.loopTempName("_i"),f=()=>{if(r.length===2)a(c);else this.b.emit(c)},h=(b)=>typeof b==="string"&&/^[0-9.]/.test(b)?b:null,u=h(l)??(y(l)&&l[0]==="+"&&l.length===2?h(l[1]):null),d=y(l)&&l[0]==="-"&&l.length===2?h(l[1]):null;if((u??d)!==null&&Number((u??d).replace(/_/g,""))===0)throw this.positionedError(e,"emitter: a BY step of 0 never advances the loop");let p=this.singleReadIterable(s)?null:this.loopTempName("_ref"),m=()=>{if(p)this.b.emit(`${p} = `),this.expr(s),this.b.emit(", ")},g=()=>{if(p)this.b.emit(p);else this.expr(s)};if(d!==null)if(this.b.emit("for (let "),m(),f(),this.b.emit(" = "),g(),this.b.emit(`.length - 1; ${c} >= 0; `),d==="1")this.mark(e,"step",()=>this.b.emit(`${c}--`));else this.b.emit(`${c} += `),this.mark(e,"step",()=>{this.b.emit("(-"),this.expr(l[1]),this.b.emit(")")});else if(u!==null)if(this.b.emit("for (let "),m(),f(),this.b.emit(` = 0; ${c} < `),g(),this.b.emit(".length; "),l==="1")this.mark(e,"step",()=>this.b.emit(`${c}++`));else this.b.emit(`${c} += `),this.grouped(e,"step",l,E.needsGrouping(l,"operand"));else{let b=this.loopTempName("_step");this.b.emit(`for (let ${b} = `),this.mark(e,"step",()=>this.expr(l)),this.b.emit(", "),m(),f(),this.b.emit(` = ${b} > 0 ? 0 : `),g(),this.b.emit(`.length - 1; ${b} > 0 ? ${c} < `),g(),this.b.emit(`.length : ${b} < 0 && ${c} >= 0; ${c} += ${b}`)}return this.b.emit(")"),o.push(()=>{this.b.emit("let "),a(r[0]),this.b.emit(" = "),g(),this.b.emit(`[${c}];`)}),o}if(r.length===2){let c=this.singleReadIterable(s)?null:this.loopTempName("_ref");if(this.b.emit("for (let "),c)this.b.emit(`${c} = `),this.expr(s),this.b.emit(", ");if(a(r[1]),this.b.emit(` = 0; ${r[1]} < `),c)this.b.emit(c);else this.expr(s);return this.b.emit(`.length; ${r[1]}++)`),o.push(()=>{if(this.b.emit("let "),a(r[0]),this.b.emit(" = "),c)this.b.emit(c);else this.expr(s);this.b.emit(`[${r[1]}];`)}),o}return this.b.emit("for (let "),a(r[0]),this.b.emit(" of "),this.mark(e,"iterable",()=>this.expr(s)),this.b.emit(")"),o}guardOpen(e){this.b.emit("if (");let t=E.needsGrouping(e,"operand")||U1(e);if(t)this.b.emit("(");if(this.expr(e),t)this.b.emit(")");this.b.emit(`) { -`)}comprehension(e,t,r=null){this.withBindings(this.loopBindingNames(e),()=>this.comprehensionCore(e,t,r))}comprehensionCore(e,t,r){this.inCtrl(()=>this.comprehensionCoreCtrl(e,t,r))}bareReads(e,t=new Set){if(typeof e==="string")return t.add(e),t;if(!y(e)||T1(e)||k1(e[0])||e[0]==="class")return t;let r=e[0];if((r==="."||r==="?.")&&e.length===3)return this.bareReads(e[1],t);if((r===":"||r==="void-pair")&&e.length===3)return this.bareReads(e[2],t);if(typeof r==="string"){if(this.semanticKindOf(e)==="call")t.add(r)}else this.bareReads(r,t);for(let s=1;sf.has(d)&&!h.has(d)&&!this.inScope(d));if(u!==void 0)throw this.positionedError(e,`emitter: this clause reads '${u}', which only the clause written before it binds — chained clauses nest with the `+`LAST one outermost, so '${u}' is unbound here. For one flat list, write one \`for\` per comprehension, outer loop last, and \`.flat()\` the result`)}let a=()=>this.mark(e,"value",()=>this.expr(s)),o=r?.expr??r,l=" ".repeat(t);this.rejectYieldInIIFE(e),this.mark(e,"$self",()=>{this.b.emit(this.containsAwait(e)?`await (async () => { +`)}clauseHeader(e,t,r,s,i,n=null){let a=(c)=>this.mark(e,"vars",()=>typeof c==="string"?this.emitPrimitive(c):this.withPattern(()=>this.expr(c),!0)),o=[];if(t==="for-of"){this.checkForOfPatternKey(r,i===!0);let h=(i===!0||r.length===2)&&!this.singleReadIterable(s)?this.loopTempName("_ref"):null;if(h!==null)this.temps.used.add(h),this.b.emit(`const ${h} = `),this.mark(e,"object",()=>this.expr(s)),this.b.emit(`; +${n??""}`);let f=()=>{if(h)this.b.emit(h);else this.expr(s)};if(this.b.emit("for (let "),a(r[0]),this.b.emit(" in "),h)this.b.emit(h);else this.mark(e,"object",()=>this.expr(s));if(this.b.emit(")"),i===!0)o.push(()=>{this.b.emit("if (!Object.hasOwn("),f(),this.b.emit(`, ${r[0]})) continue;`)});if(r.length===2)o.push(()=>{this.b.emit("let "),a(r[1]),this.b.emit(" = "),f(),this.b.emit(`[${r[0]}];`)});return o}if(t==="for-as"){if(r.length!==1)throw this.positionedError(e,"emitter: for-as takes ONE loop variable — the iterator protocol yields single values (destructure with a pattern instead)");if(i===!0)this.renderSyncGuard(e);return this.b.emit(i===!0?"for await (let ":"for (let "),a(r[0]),this.b.emit(" of "),this.mark(e,"iterable",()=>this.expr(s)),this.b.emit(")"),o}let l=i;if(y(r[0])&&(We(s)||l!==null))throw this.positionedError(e,"emitter: pattern loop variables with ranges or BY steps are not supported yet");if(We(s))return this.rangedHeader(e,a,r,s,l),o;if(l!==null){let c=r.length===2?r[1]:this.loopTempName("_i"),h=()=>{if(r.length===2)a(c);else this.b.emit(c)},f=(b)=>typeof b==="string"&&/^[0-9.]/.test(b)?b:null,u=f(l)??(y(l)&&l[0]==="+"&&l.length===2?f(l[1]):null),d=y(l)&&l[0]==="-"&&l.length===2?f(l[1]):null;if((u??d)!==null&&Number((u??d).replace(/_/g,""))===0)throw this.positionedError(e,"emitter: a BY step of 0 never advances the loop");let p=this.singleReadIterable(s)?null:this.loopTempName("_ref"),m=()=>{if(p)this.b.emit(`${p} = `),this.expr(s),this.b.emit(", ")},g=()=>{if(p)this.b.emit(p);else this.expr(s)};if(d!==null)if(this.b.emit("for (let "),m(),h(),this.b.emit(" = "),g(),this.b.emit(`.length - 1; ${c} >= 0; `),d==="1")this.mark(e,"step",()=>this.b.emit(`${c}--`));else this.b.emit(`${c} += `),this.mark(e,"step",()=>{this.b.emit("(-"),this.expr(l[1]),this.b.emit(")")});else if(u!==null)if(this.b.emit("for (let "),m(),h(),this.b.emit(` = 0; ${c} < `),g(),this.b.emit(".length; "),l==="1")this.mark(e,"step",()=>this.b.emit(`${c}++`));else this.b.emit(`${c} += `),this.grouped(e,"step",l,E.needsGrouping(l,"operand"));else{let b=this.loopTempName("_step");this.b.emit(`for (let ${b} = `),this.mark(e,"step",()=>this.expr(l)),this.b.emit(", "),m(),h(),this.b.emit(` = ${b} > 0 ? 0 : `),g(),this.b.emit(`.length - 1; ${b} > 0 ? ${c} < `),g(),this.b.emit(`.length : ${b} < 0 && ${c} >= 0; ${c} += ${b}`)}return this.b.emit(")"),o.push(()=>{this.b.emit("let "),a(r[0]),this.b.emit(" = "),g(),this.b.emit(`[${c}];`)}),o}if(r.length===2){let c=this.singleReadIterable(s)?null:this.loopTempName("_ref");if(this.b.emit("for (let "),c)this.b.emit(`${c} = `),this.expr(s),this.b.emit(", ");if(a(r[1]),this.b.emit(` = 0; ${r[1]} < `),c)this.b.emit(c);else this.expr(s);return this.b.emit(`.length; ${r[1]}++)`),o.push(()=>{if(this.b.emit("let "),a(r[0]),this.b.emit(" = "),c)this.b.emit(c);else this.expr(s);this.b.emit(`[${r[1]}];`)}),o}return this.b.emit("for (let "),a(r[0]),this.b.emit(" of "),this.mark(e,"iterable",()=>this.expr(s)),this.b.emit(")"),o}guardOpen(e){this.b.emit("if (");let t=E.needsGrouping(e,"operand")||U1(e);if(t)this.b.emit("(");if(this.expr(e),t)this.b.emit(")");this.b.emit(`) { +`)}comprehension(e,t,r=null){this.withBindings(this.loopBindingNames(e),()=>this.comprehensionCore(e,t,r))}comprehensionCore(e,t,r){this.inCtrl(()=>this.comprehensionCoreCtrl(e,t,r))}bareReads(e,t=new Set){if(typeof e==="string")return t.add(e),t;if(!y(e)||T1(e)||k1(e[0])||e[0]==="class")return t;let r=e[0];if((r==="."||r==="?.")&&e.length===3)return this.bareReads(e[1],t);if((r===":"||r==="void-pair")&&e.length===3)return this.bareReads(e[2],t);if(typeof r==="string"){if(this.semanticKindOf(e)==="call")t.add(r)}else this.bareReads(r,t);for(let s=1;sh.has(d)&&!f.has(d)&&!this.inScope(d));if(u!==void 0)throw this.positionedError(e,`emitter: this clause reads '${u}', which only the clause written before it binds — chained clauses nest with the `+`LAST one outermost, so '${u}' is unbound here. For one flat list, write one \`for\` per comprehension, outer loop last, and \`.flat()\` the result`)}let a=()=>this.mark(e,"value",()=>this.expr(s)),o=r?.expr??r,l=" ".repeat(t);this.rejectYieldInIIFE(e),this.mark(e,"$self",()=>{this.b.emit(this.containsAwait(e)?`await (async () => { `:`(() => { `);let c=this.loopTempName("result");this.b.emit(`${l} const ${c} = ${o===null?"[]":"{}"}; -`),this.b.emit(`${l} `);let[f,h,u,d]=i,p=[],m=this.stores.idOf(e),g=m!==null?this.stores.role(m,"value"):null;if(g!==null&&g.sourceStart!=null)p.push([g.sourceStart,g.sourceEnd]);for(let T of n){let F=y(T)?this.stores.idOf(T):null,L=F!==null?this.stores.selfSpan(F):null;if(L!==null)p.push(L)}let b=p.length>0?()=>{this.primitiveAvoid=null}:()=>{},S=p.length>0?()=>{this.primitiveAvoid=p}:()=>{};S();let w=this.clauseHeader(e,f,h,u,d??null,`${l} `);b(),this.b.emit(` { +`),this.b.emit(`${l} `);let[h,f,u,d]=i,p=[],m=this.stores.idOf(e),g=m!==null?this.stores.role(m,"value"):null;if(g!==null&&g.sourceStart!=null)p.push([g.sourceStart,g.sourceEnd]);for(let T of n){let j=y(T)?this.stores.idOf(T):null,M=j!==null?this.stores.selfSpan(j):null;if(M!==null)p.push(M)}let b=p.length>0?()=>{this.primitiveAvoid=null}:()=>{},S=p.length>0?()=>{this.primitiveAvoid=p}:()=>{};S();let w=this.clauseHeader(e,h,f,u,d??null,`${l} `);b(),this.b.emit(` { `);let R=`${l} `;for(let T of w)this.b.emit(R),S(),T(),b(),this.b.emit(` `);if(n.length>0)this.b.emit(R),this.guardOpen(n[0]),R+=" ";if(o===null){this.b.emit(`${R}${c}.push(`);let T=E.needsGrouping(s,"operand")||U1(s);if(T)this.b.emit("(");if(a(),T)this.b.emit(")");this.b.emit(`); -`)}else{let T=this.loopTempName("_k"),F=this.loopTempName("_v");this.b.emit(`${R}const ${T} = ${this.runtimeName("__toPropertyKey")}(`);let L=y(o)&&(E.needsGrouping(o,"operand")||U1(o)),P=()=>{if(L)this.b.emit("(");if(this.expr(o),L)this.b.emit(")")};if(r?.pair!==void 0)if(r.keyNode!==null)this.mark(r.pair,"key",()=>this.mark(r.keyNode,"$self",()=>this.mark(r.keyNode,"key",P)));else this.mark(r.pair,"key",P);else P();this.b.emit(`), ${F} = `);let N=E.needsGrouping(s,"operand")||U1(s);if(N)this.b.emit("(");if(a(),N)this.b.emit(")");this.b.emit(`; -`),this.b.emit(`${R}${this.runtimeName("__defineOwnDataProperty")}(${c}, ${T}, ${F}); +`)}else{let T=this.loopTempName("_k"),j=this.loopTempName("_v");this.b.emit(`${R}const ${T} = ${this.runtimeName("__toPropertyKey")}(`);let M=y(o)&&(E.needsGrouping(o,"operand")||U1(o)),x=()=>{if(M)this.b.emit("(");if(this.expr(o),M)this.b.emit(")")};if(r?.pair!==void 0)if(r.keyNode!==null)this.mark(r.pair,"key",()=>this.mark(r.keyNode,"$self",()=>this.mark(r.keyNode,"key",x)));else this.mark(r.pair,"key",x);else x();this.b.emit(`), ${j} = `);let A=E.needsGrouping(s,"operand")||U1(s);if(A)this.b.emit("(");if(a(),A)this.b.emit(")");this.b.emit(`; +`),this.b.emit(`${R}${this.runtimeName("__defineOwnDataProperty")}(${c}, ${T}, ${j}); `)}if(n.length>0)this.b.emit(`${l} } `);this.b.emit(`${l} } `),this.b.emit(`${l} return ${c}; `),this.b.emit(`${l}})()`)})}static objectComprehension(e){if(e.length!==2)return null;let t=e[1];if(!y(t)||t[0]!==":")return null;if(!(typeof t[1]==="string"||y(t[1])&&t[1][0]==="dynamicKey"))return null;if(!re(t[2]))return null;if(t[2][2][0][0]!=="for-of")return null;return t}static ifArms(e){let t=[],r=e,s=null;while(!0){if(t.push(r),r.length<4)break;if(y(r[3])&&r[3][0]==="if"){r=r[3];continue}s=r[3];break}return{arms:t,elseBlock:s}}static branchStmts(e){return E.stripErased(b1(e)?e.slice(1):[e[0]])}branchLive(e,t=!1){let r=b1(e)?e.slice(1):[e[0]];if(this.ts&&t){for(let s of r)if(y(s)&&s[0]==="type-decl")this.pendingTypeDecls.push(s)}return this.liveStmts(r)}static statementOnly(e){if(typeof e==="string"&&(e==="break"||e==="continue"||e==="debugger"))return!0;return y(e)&&(e[0]==="return"||e[0]==="throw"||k1(e[0]))}static containsReturn(e){if(!y(e))return!1;let t=e[0];if(t==="return")return!0;if(t==="->"||t==="=>"||k1(t)||t==="class")return!1;return e.some((r)=>E.containsReturn(r))}static containsCtrl(e){if(typeof e==="string")return e==="break"||e==="continue";if(!y(e))return!1;let t=e[0];if(t==="break"||t==="continue"||t==="return"||t==="throw")return!0;if(t==="->"||t==="=>"||k1(t)||t==="class")return!1;return e.some((r)=>E.containsCtrl(r))}static ifIsSimple(e){let{arms:t,elseBlock:r}=E.ifArms(e),s=(i)=>{let n=E.branchStmts(i);return n.length===1&&!E.statementOnly(n[0])};return t.every((i)=>s(i[2]))&&(r===null||s(r))}valueIf(e){if(!E.ifIsSimple(e)){let t=this.ind;this.rejectYieldInIIFE(e);let r=this.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],E.needsGrouping(e[1],"operand")||y(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(y(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 s=E.needsGrouping(r,"operand")||U1(r);if(s)this.b.emit("(");if(this.expr(r),s)this.b.emit(")")})}returnBlock(e,t){let r=this.branchLive(e);this.b.emit(`{ `),this.emitTsTypeDecls(b1(e)?e.slice(1):[e[0]]," ".repeat(t+1)),r.forEach((s,i)=>{if(this.b.emit(" ".repeat(t+1)),i===r.length-1)this.implicitReturn(s,t+1);else this.statement(s,t+1);this.b.emit(` -`)}),this.b.emit(" ".repeat(t)+"}")}returnifyIf(e,t){if(this.b.emit("if ("),this.grouped(e,"condition",e[1],E.needsGrouping(e[1],"operand")),this.b.emit(") "),this.mark(e,"then",()=>this.returnBlock(e[2],t)),e.length>=4)if(this.b.emit(" else "),y(e[3])&&e[3][0]==="if")this.returnifyIf(e[3],t);else this.mark(e,"else",()=>this.returnBlock(e[3],t))}rejectYieldInIIFE(e){if(E.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=x3){let r=null,s=(i,n,a)=>{if(r!==null||!y(i))return;let o=i[0];if(T1(i)||k1(o)||o==="class")return;if(o==="return"){if(t.has("return"))r={kind:"return",node:i};return}let l=mt(i)||re(i)?n+1:n,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=b1(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 s of e.slice(2)){if(!y(s))continue;if(b1(s))this.b.emit(" finally "),this.braceBlock(s,t);else{let[i,n]=s;if(i===null)this.b.emit(" catch "),this.returnBlock(n,t);else if(E.isPattern(i)){this.checkExportedConstWrite(s,i);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],E.needsGrouping(e[1],"operand")),this.b.emit(") "),this.mark(e,"then",()=>this.returnBlock(e[2],t)),e.length>=4)if(this.b.emit(" else "),y(e[3])&&e[3][0]==="if")this.returnifyIf(e[3],t);else this.mark(e,"else",()=>this.returnBlock(e[3],t))}rejectYieldInIIFE(e){if(E.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=M3){let r=null,s=(i,n,a)=>{if(r!==null||!y(i))return;let o=i[0];if(T1(i)||k1(o)||o==="class")return;if(o==="return"){if(t.has("return"))r={kind:"return",node:i};return}let l=mt(i)||re(i)?n+1:n,c=o==="switch"?a+1:a,h=o==="block"||o==="program"||o==="try";for(let f=1;f { ":"(() => { "),this.tryBranches(e,t),this.b.emit(" })()")}tryBranches(e,t){this.mark(e,"$self",()=>{this.b.emit("try ");let r=b1(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 s of e.slice(2)){if(!y(s))continue;if(b1(s))this.b.emit(" finally "),this.braceBlock(s,t);else{let[i,n]=s;if(i===null)this.b.emit(" catch "),this.returnBlock(n,t);else if(E.isPattern(i)){this.checkExportedConstWrite(s,i);let a=this.loopTempName("_err");this.b.emit(` catch (${a}`),this.tsScaffoldAny(),this.b.emit(`) { `),this.b.emit(" ".repeat(t+1)+"("),this.mark(s,"binding",()=>this.withPattern(()=>this.expr(i))),this.b.emit(` = ${a}); `);let o=this.branchLive(n);this.emitTsTypeDecls(b1(n)?n.slice(1):[n[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 if(E.isTypedWrapper(i))this.b.emit(" catch ("),this.mark(s,"binding",()=>this.emitParam(i)),this.b.emit(") "),this.withBindings([i[1]],()=>this.returnBlock(n,t));else this.b.emit(" catch ("),this.mark(s,"binding",()=>this.b.emit(i)),this.b.emit(") "),this.withBindings([i],()=>this.returnBlock(n,t))}}})}valueSwitch(e){let[,t,r,s]=e,i=this.ind,n=" ".repeat(i);this.rejectYieldInIIFE(e),this.b.emit(this.containsAwait(e)?"await (async () => { ":"(() => { "),this.mark(e,"$self",()=>{if(E.hasMatchArms(r))this.checkMatchSwitch(e),this.matchChain(e,i,(a)=>this.returnBlock(a,i));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(`${n} case `),this.expr(c),this.b.emit(`: `);this.returnCaseBody(l,i)}if(s!==null)this.b.emit(`${n} default: -`),this.returnCaseBody(s,i);this.b.emit(`${n}}`)}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,i)}),s!==null)this.b.emit(" else "),this.returnBlock(s,i)}),this.b.emit(" })()")}returnCaseBody(e,t){this.inCtrl(()=>this.returnCaseBodyCtrl(e,t))}returnCaseBodyCtrl(e,t){let r=this.branchLive(e);this.emitTsTypeDecls(b1(e)?e.slice(1):[e[0]]," ".repeat(t+2)),r.forEach((s,i)=>{if(this.b.emit(" ".repeat(t+2)),i===r.length-1)this.implicitReturn(s,t+2);else this.statement(s,t+2);this.b.emit(` -`)})}loopHeader(e){let t=e[0];if(t==="while")return this.b.emit("while ("),this.mark(e,"condition",()=>this.expr(e[1])),this.b.emit(")"),{body:e[e.length-1],guard:e.length===4?e[2]:null,setups:[]};if(t==="loop")return this.b.emit("while (true)"),{body:e[1],guard:null,setups:[]};if(t==="loop-n"){let l=e[1],f=this.repeatSafeValue(l)?null:this.loopTempName("_n");if(this.b.emit("for (let it = 0"),f!==null)this.b.emit(`, ${f} = `),this.mark(e,"count",()=>this.expr(l));if(this.b.emit("; it < "),f!==null)this.b.emit(f);else this.mark(e,"count",()=>this.expr(l));return this.b.emit("; it++)"),{body:e[2],guard:null,setups:[]}}let[,r,s,i,n,a]=e,o=this.clauseHeader(e,t,r,s,i);return{body:a,guard:n,setups:o}}accumulatorIIFE(e){this.withBindings(this.loopBindingNames(e),()=>this.accumulatorIIFECore(e))}accumulatorIIFECore(e){this.inCtrl(()=>this.accumulatorIIFECoreCtrl(e))}accumulatorIIFECoreCtrl(e){let t=this.ind,r=" ".repeat(t+1);this.rejectYieldInIIFE(e),this.b.emit(this.containsAwait(e)?`await (async () => { +`),this.returnCaseBody(s,i);this.b.emit(`${n}}`)}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((f,u)=>{if(u>0)this.b.emit(") || (");this.expr(f)}),this.b.emit(")) "),this.returnBlock(c,i)}),s!==null)this.b.emit(" else "),this.returnBlock(s,i)}),this.b.emit(" })()")}returnCaseBody(e,t){this.inCtrl(()=>this.returnCaseBodyCtrl(e,t))}returnCaseBodyCtrl(e,t){let r=this.branchLive(e);this.emitTsTypeDecls(b1(e)?e.slice(1):[e[0]]," ".repeat(t+2)),r.forEach((s,i)=>{if(this.b.emit(" ".repeat(t+2)),i===r.length-1)this.implicitReturn(s,t+2);else this.statement(s,t+2);this.b.emit(` +`)})}loopHeader(e){let t=e[0];if(t==="while")return this.b.emit("while ("),this.mark(e,"condition",()=>this.expr(e[1])),this.b.emit(")"),{body:e[e.length-1],guard:e.length===4?e[2]:null,setups:[]};if(t==="loop")return this.b.emit("while (true)"),{body:e[1],guard:null,setups:[]};if(t==="loop-n"){let l=e[1],h=this.repeatSafeValue(l)?null:this.loopTempName("_n");if(this.b.emit("for (let it = 0"),h!==null)this.b.emit(`, ${h} = `),this.mark(e,"count",()=>this.expr(l));if(this.b.emit("; it < "),h!==null)this.b.emit(h);else this.mark(e,"count",()=>this.expr(l));return this.b.emit("; it++)"),{body:e[2],guard:null,setups:[]}}let[,r,s,i,n,a]=e,o=this.clauseHeader(e,t,r,s,i);return{body:a,guard:n,setups:o}}accumulatorIIFE(e){this.withBindings(this.loopBindingNames(e),()=>this.accumulatorIIFECore(e))}accumulatorIIFECore(e){this.inCtrl(()=>this.accumulatorIIFECoreCtrl(e))}accumulatorIIFECoreCtrl(e){let t=this.ind,r=" ".repeat(t+1);this.rejectYieldInIIFE(e),this.b.emit(this.containsAwait(e)?`await (async () => { `:`(() => { `);let s=this.loopTempName("result");this.b.emit(`${r}const ${s} = []; `),this.b.emit(r),this.mark(e,"$self",()=>{let{body:i,guard:n,setups:a}=this.loopHeader(e);this.b.emit(` { @@ -147,215 +147,215 @@ ${n??""}`);let h=()=>{if(f)this.b.emit(f);else this.expr(s)};if(this.b.emit("for `),this.b.emit(`${r}return ${s}; `),this.b.emit(" ".repeat(t)+"})()")}accumulateBody(e,t,r){let s=this.branchLive(e),i=" ".repeat(t+1);this.emitTsTypeDecls(b1(e)?e.slice(1):[e[0]],i),s.forEach((n,a)=>{if(this.b.emit(i),a===s.length-1&&mt(n)&&!E.containsReturn(n)){this.b.emit(`${r}.push(`),this.expr(n),this.b.emit(");"),this.b.emit(` `);return}if(a===s.length-1&&!E.statementOnly(n)&&!mt(n)&&!E.containsCtrl(n)){this.b.emit(`${r}.push(`);let l=E.needsGrouping(n,"operand")||U1(n);if(l)this.b.emit("(");if(this.expr(n),l)this.b.emit(")");this.b.emit(");")}else if(this.statement(n,t+1),mt(n))this.b.emit(";");this.b.emit(` -`)})}plainLoopComprehension(e,t){this.withBindings(this.loopBindingNames(e),()=>this.plainLoopComprehensionCore(e,t))}plainLoopComprehensionCore(e,t){this.inCtrl(()=>this.plainLoopComprehensionCoreCtrl(e,t))}plainLoopComprehensionCoreCtrl(e,t){let[,r,[s],i]=e,n=" ".repeat(t);this.mark(e,"$self",()=>{let[a,o,l,c]=s,f=this.clauseHeader(e,a,o,l,c??null,n);this.b.emit(` { -`);let h=`${n} `;for(let u of f)this.b.emit(h),u(),this.b.emit(` -`);if(i.length>0)this.b.emit(h),this.guardOpen(i[0]),h+=" ";if(this.b.emit(h),this.statement(r,t+(i.length>0?2:1)),this.b.emit(` +`)})}plainLoopComprehension(e,t){this.withBindings(this.loopBindingNames(e),()=>this.plainLoopComprehensionCore(e,t))}plainLoopComprehensionCore(e,t){this.inCtrl(()=>this.plainLoopComprehensionCoreCtrl(e,t))}plainLoopComprehensionCoreCtrl(e,t){let[,r,[s],i]=e,n=" ".repeat(t);this.mark(e,"$self",()=>{let[a,o,l,c]=s,h=this.clauseHeader(e,a,o,l,c??null,n);this.b.emit(` { +`);let f=`${n} `;for(let u of h)this.b.emit(f),u(),this.b.emit(` +`);if(i.length>0)this.b.emit(f),this.guardOpen(i[0]),f+=" ";if(this.b.emit(f),this.statement(r,t+(i.length>0?2:1)),this.b.emit(` `),i.length>0)this.b.emit(`${n} } `);this.b.emit(`${n}}`)})}returnifyLoop(e,t){this.withBindings(this.loopBindingNames(e),()=>this.returnifyLoopCore(e,t))}returnifyLoopCore(e,t){this.inCtrl(()=>this.returnifyLoopCoreCtrl(e,t))}returnifyLoopCoreCtrl(e,t){let r=" ".repeat(t),s=this.loopTempName("_result");this.b.emit(`const ${s} = []; `),this.b.emit(r),this.mark(e,"$self",()=>{let{body:i,guard:n,setups:a}=this.loopHeader(e);this.b.emit(` { `);let o=" ".repeat(t+1);for(let l of a)this.b.emit(o),l(),this.b.emit(` `);if(n!==null)this.b.emit(o),this.guardOpen(n),this.accumulateBody(i,t+1,s),this.b.emit(`${o}} `);else this.accumulateBody(i,t,s);this.b.emit(`${r}}`)}),this.b.emit(` -`),this.b.emit(`${r}return ${s};`)}ifChain(e,t){if(this.b.emit("if ("),this.mark(e,"condition",()=>this.expr(e[1])),this.b.emit(") "),this.mark(e,"then",()=>this.braceBlock(e[2],t)),e.length===4)this.b.emit(" "),this.mark(e,"else",()=>{this.b.emit("else ");let r=e[3];if(ua(r))this.mark(r,"$self",()=>this.ifChain(r,t));else this.braceBlock(r,t)})}defStatement(e,t){let r=e[0]==="void-def";if(typeof e[1]!=="string")throw this.positionedError(e,"emitter: `def @name` declares a static class method — spell it inside a class body");let s=this.containsAwait(e[3]),i=E.containsYield(e[3]);this.tsOverloadSigs(e,t),this.mark(e,"voidMarker",()=>this.mark(e,"returnType",()=>this.mark(e,"$self",()=>{if(s)this.b.emit("async ");if(this.b.emit(i?"function* ":"function "),this.mark(e,"name",()=>this.b.emit(e[1])),this.ts){let l=this.annotationText(e,"typeParams");if(l!==null)this.b.tsOnly(()=>this.mark(e,"typeParams",()=>this.emitTypeText(e,"typeParams",l)))}this.mark(e,"params",()=>{this.b.emit("("),this.mark(e[2],"$self",()=>this.emitParams(e[2])),this.b.emit(")")}),this.tsReturnAnnotation(e,s,r,i),this.b.emit(" ");let n=this.liveStmts(b1(e[3])?e[3].slice(1):[e[3]],{forwards:!0}),{entries:a,names:o}=this.scopedHoist(b1(e[3])?e[3].slice(1):[e[3]],e[2]);for(let l of this.pushReactiveFrame(n,o,e[2],e))o.add(l);this.scopes.push(o),this.funcBlock(e,e[3],n,t,a,r),this.scopes.pop(),this.rframes.pop()})))}returnStatement(e){if(this.scopes.length<=1)throw this.positionedError(e,"emitter: 'return' outside a function");if(e.length===2&&this.sideEffectOnly)throw this.positionedError(e,`emitter: cannot return a value from a void function (${this.voidReason??"the trailing '!' on its definition suppresses returns"})`);this.mark(e,"$self",()=>{if(this.b.emit("return"),e.length===2)this.b.emit(" "),this.grouped(e,"value",e[1],E.needsGrouping(e[1],"return"))}),this.b.emit(";")}braceBlock(e,t,r=[]){let s=y(e)&&e[0]==="block"?e.slice(1):[e];this.mark(e,"$self",()=>{if(this.b.emit(`{ +`),this.b.emit(`${r}return ${s};`)}ifChain(e,t){if(this.b.emit("if ("),this.mark(e,"condition",()=>this.expr(e[1])),this.b.emit(") "),this.mark(e,"then",()=>this.braceBlock(e[2],t)),e.length===4)this.b.emit(" "),this.mark(e,"else",()=>{this.b.emit("else ");let r=e[3];if(ma(r))this.mark(r,"$self",()=>this.ifChain(r,t));else this.braceBlock(r,t)})}defStatement(e,t){let r=e[0]==="void-def";if(typeof e[1]!=="string")throw this.positionedError(e,"emitter: `def @name` declares a static class method — spell it inside a class body");let s=this.containsAwait(e[3]),i=E.containsYield(e[3]);this.tsOverloadSigs(e,t),this.mark(e,"voidMarker",()=>this.mark(e,"returnType",()=>this.mark(e,"$self",()=>{if(s)this.b.emit("async ");if(this.b.emit(i?"function* ":"function "),this.mark(e,"name",()=>this.b.emit(e[1])),this.ts){let l=this.annotationText(e,"typeParams");if(l!==null)this.b.tsOnly(()=>this.mark(e,"typeParams",()=>this.emitTypeText(e,"typeParams",l)))}this.mark(e,"params",()=>{this.b.emit("("),this.mark(e[2],"$self",()=>this.emitParams(e[2])),this.b.emit(")")}),this.tsReturnAnnotation(e,s,r,i),this.b.emit(" ");let n=this.liveStmts(b1(e[3])?e[3].slice(1):[e[3]],{forwards:!0}),{entries:a,names:o}=this.scopedHoist(b1(e[3])?e[3].slice(1):[e[3]],e[2]);for(let l of this.pushReactiveFrame(n,o,e[2],e))o.add(l);this.scopes.push(o),this.funcBlock(e,e[3],n,t,a,r),this.scopes.pop(),this.rframes.pop()})))}returnStatement(e){if(this.scopes.length<=1)throw this.positionedError(e,"emitter: 'return' outside a function");if(e.length===2&&this.sideEffectOnly)throw this.positionedError(e,`emitter: cannot return a value from a void function (${this.voidReason??"the trailing '!' on its definition suppresses returns"})`);this.mark(e,"$self",()=>{if(this.b.emit("return"),e.length===2)this.b.emit(" "),this.grouped(e,"value",e[1],E.needsGrouping(e[1],"return"))}),this.b.emit(";")}braceBlock(e,t,r=[]){let s=y(e)&&e[0]==="block"?e.slice(1):[e];this.mark(e,"$self",()=>{if(this.b.emit(`{ `),r.length)this.b.emit(" ".repeat(t+1)),this.hoistLine(r," ".repeat(t+1)),this.b.emit(` -`);this.mark(e,"statements",()=>this.statements(s,t+1,"block")),this.b.emit(" ".repeat(t)+"}")})}containsAwait(e){return Bi(e,this.stores)}static isStringLiteral(e){if(Array.isArray(e))return String(e[0])==="str";let t=String(e)[0];return t==='"'||t==="'"||t==="`"}static containsBareIt(e){if(e==="it")return!0;if(!y(e))return!1;let t=e[0];if(t==="->"||t==="=>"||k1(t))return!1;if((t==="."||t==="?.")&&e.length===3)return E.containsBareIt(e[1])||typeof e[2]!=="string"&&E.containsBareIt(e[2]);if(t==="object")return e.slice(1).some((r)=>y(r)&&r[0]===":"&&r.length===3?E.containsBareIt(r[2])||typeof r[1]!=="string"&&E.containsBareIt(r[1]):E.containsBareIt(r));return e.some((r)=>E.containsBareIt(r))}static containsYield(e){return dr(e)}static jsTier(e){if(!y(e))return"primary";if((e[0]==="cast"||e[0]==="satisfies")&&e.length===3)return E.jsTier(e[1]);if(D3(e))return"assign";if(Li(e)||ua(e)&&e.length<=4&&E.ifIsSimple(e))return"ternary";if(e[0]==="?"&&e.length===2)return"binary";if(E.isStrRepeat(e))return"primary";if(ht(e)||ha(e))return"binary";if(fa(e))return"unary";if((e[0]==="await"||e[0]==="dammit!")&&e.length===2)return"unary";if(e[0]==="dammit?")return"unary";if(y(e[0])&&e[0][0]==="dammit!")return"unary";if((e[0]==="yield"||e[0]==="yield-from")&&e.length<=2)return"yield";if(T1(e))return"function";if(O1(e))return"object";return"primary"}static needsGrouping(e,t){let r=E.jsTier(e);if(t==="operand"||t==="return"){if(r==="unary")return!(e[0]==="!"||e[0]==="typeof"||e[0]==="await"||e[0]==="dammit!"||e[0]==="dammit?"||y(e[0])&&e[0][0]==="dammit!");if(r==="yield")return t==="operand";return r==="binary"||r==="ternary"||r==="assign"||r==="function"}if(t==="head")return r!=="primary"||U1(e);if(E.leadsWithObject(e))return!0;return r==="object"||U1(e)||r==="function"&&e[0]==="->"||y(e)&&(e[0]==="class"||e[0]==="component")||Li(e)&&!E.ternaryHoists(e)||r==="unary"&&e[0]==="delete"}operand(e,t,r){this.grouped(e,t,r,E.needsGrouping(r,"operand"))}head(e,t,r){this.grouped(e,t,r,E.needsGrouping(r,"head"))}static isIntegerLiteral(e){return typeof e==="string"&&e.charCodeAt(0)>=48&&e.charCodeAt(0)<=57&&/^[0-9][0-9_]*$/.test(e)}grouped(e,t,r,s){if(s)this.b.emit("(");if(this.mark(e,t,()=>this.expr(r)),s)this.b.emit(")")}static escapeTemplate(e){return e.replace(/\\[^]|`|\$\{/g,(t)=>t==="`"||t==="${"?`\\${t}`:t)}static MAX_EXPR_DEPTH=1024;expr(e){if(++this.exprDepth>E.MAX_EXPR_DEPTH){let t=this.positionedError(e,`emitter: expression nesting exceeds ${E.MAX_EXPR_DEPTH} levels — restructure the expression (the compile-time nesting bound)`);if(typeof t.start!=="number"&&this.b.currentMark)t.start=this.b.currentMark.sourceStart,t.end=this.b.currentMark.sourceEnd;throw t}try{this.exprCore(e)}finally{this.exprDepth--}}exprCore(e){if(!y(e)){if(typeof e==="string"){let r=this.bareRewrite(e);if(r==="reactive")return this.reactiveRead(e);if(r==="member")this.notePlainRenderRead(e);if(r!==null)this.checkBareRest(e,e);if(r!==null)return this.memberRead(e,r==="member-reactive");if(e==="this"&&this.renderSelf!==null)return this.b.emit(this.renderSelf)}if((e==="break"||e==="continue")&&this.ctrlDepth===0){let r=this.positionedError(e,`emitter: '${e}' outside a loop${e==="break"?" or switch":""}`);if(typeof r.start!=="number"&&this.b.currentMark)r.start=this.b.currentMark.sourceStart,r.end=this.b.currentMark.sourceEnd;throw r}if(typeof e==="string")this.emitPrimitive(e);else this.b.emit(e);return}let t=e[0];if(t==="str"&&this.lockedHead(e,"str"))return this.strTemplate(e);if(t==="tagged-template"&&e.length===3)return this.taggedTemplate(e);if(t==="here-regex")return this.heregex(e);if(y(t))return this.call(e);if(lt(t)&&e.length===3&&!this.inPattern&&E.sliceTarget(e[1])!==null)throw this.sliceAssignError(e);if(lt(t)&&e.length===3&&!this.inPattern){let r=E.optionalGuard(e[1]);if(r!==null)return this.optionalAssign(e,r,"value")}if(F1.has(t)&&e.length===3)return this.assign(e);if((t==="."||t==="?.")&&e.length===3)return this.member(e);if((t===".{}"||t==="?.{}")&&e.length>=3)return this.pick(e);if(t==="[]"&&e.length===3)return this.index(e);if(t==="optindex"&&e.length===3&&this.lockedHead(e,"optindex"))return this.optIndex(e);if(t==="optcall"&&this.lockedHead(e,"optcall"))return this.optCall(e);if(T1(e))return this.func(e);if(U1(e))return this.update(e);if(Li(e))return this.ternary(e);if(t==="array"&&this.lockedHead(e,"array"))return this.array(e);if(t==="object"&&this.lockedHead(e,"object"))return this.object(e);if(We(e))return this.range(e);if((t==="in"||t==="of"||t==="!in"||t==="!of"||t==="!instanceof")&&e.length===3)return this.relation(e);if(t==="instanceof"&&e.length===3){this.mark(e,"$self",()=>{this.operand(e,"left",e[1]),this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("instanceof")),this.b.emit(" "),this.operand(e,"right",e[2])});return}if(t==="//"&&e.length===3)return this.floorDiv(e);if(t==="%%"&&e.length===3)return this.modulo(e);if(t==="//="&&e.length===3)return this.floorDivAssign(e);if(t==="=~"&&e.length===3)return this.matchOp(e);if(t==="map"&&this.lockedHead(e,"map"))return this.mapLiteral(e);if(t==="regex-index"&&e.length===4){if(!(typeof e[2]==="string"&&e[2][0]==="/"))throw this.positionedError(e,"emitter: a two-part index is the regex-capture form (`text[/re/, n]`) — its key must be a regex literal");return this.regexIndex(e,e[1],e[2],e[3])}if(t==="symbol"&&e.length===2&&this.lockedHead(e,"symbol"))return this.mark(e,"$self",()=>{let r=JSON.stringify(e[1]);if(r===`"${e[1]}"`)this.b.emit('Symbol.for("'),this.emitPrimitive(e[1]),this.b.emit('")');else this.b.emit(`Symbol.for(${r})`)});if(t===".="&&e.length===3)throw this.positionedError(e,`emitter: ${t} is a statement — its target is spelled twice (write + read), which has no single-expression form`);if(t==="%%="&&e.length===3)return this.moduloAssign(e);if(re(e))return this.comprehension(e,this.ind);if(t==="do-iife"&&e.length===2)return this.doIife(e);if((t==="cast"||t==="satisfies")&&e.length===3)return this.postfixType(e);if(t==="?"&&e.length===2)return this.existence(e);if(t==="await"&&e.length===2)return this.awaitExpr(e);if(t==="dammit!"&&e.length===2)return this.dammit(e);if(t==="dammit?")return this.maybeDammit(e);if((t==="yield"||t==="yield-from")&&e.length<=2)return this.yieldExpr(e);if(t==="class")return this.classExpr(e);if(this.isReactiveDecl(e)){let r=t==="state"?":=":"~=";throw this.positionedError(e,`emitter: a reactive declaration ('${typeof e[1]==="string"?e[1]:"…"} ${r} …') is a statement — it lowers to a const declaration, which has no expression form`)}if(this.isGateDecl(e))throw this.positionedError(e,"emitter: a render gate ('<~') can only be used as a direct component body line");if(this.isReadonlyDecl(e))throw this.positionedError(e,`emitter: a readonly declaration ('${typeof e[1]==="string"?e[1]:"…"} =! …') is a statement — it lowers to a const declaration, which has no expression form`);if(this.isEffectDecl(e)){if(e[1]!==null)throw this.positionedError(e,`emitter: a bound effect ('${typeof e[1]==="string"?e[1]:"…"} ~> …') is a statement — it lowers to a const declaration, which has no expression form ; a BARE '~> …' is the expression form`);this.mark(e,"$self",()=>this.effectValue(e,e[2],this.ind,!0));return}if(t==="schema"&&e.length===2)return this.schemaExpr(e);if(this.isComponentDecl(e))return this.componentExpr(e);if(this.isRenderNode(e))throw this.positionedError(e,"emitter: render blocks can only be used inside a component (as a direct body line)");if(this.isOfferNode(e))throw this.positionedError(e,"emitter: offer can only be used as a direct component body line");if(this.isAcceptNode(e))throw this.positionedError(e,"emitter: accept can only be used as a direct component body line");if(t==="super")return this.superCall(e);if(t==="new"&&e.length===2)return this.newExpr(e);if(t==="..."&&e.length===2)return this.spread(e);if(ht(e))return this.binary(e);if(fa(e))return this.unary(e);if(t==="block"){this.mark(e,"$self",()=>{this.b.emit("("),e.slice(1).forEach((r,s)=>{if(s>0)this.b.emit(", ");this.expr(r)}),this.b.emit(")")});return}if(t==="if"&&e.length>=3&&e.length<=4)return this.valueIf(e);if(t==="try")return this.valueTry(e);if(t==="switch"&&e.length===4)return this.valueSwitch(e);if(t==="while"&&(e.length===3||e.length===4))return this.accumulatorIIFE(e);if(t==="loop"&&e.length===2)return this.accumulatorIIFE(e);if(t==="loop-n"&&e.length===3)return this.accumulatorIIFE(e);if((t==="for-in"||t==="for-of"||t==="for-as")&&e.length===6)return this.accumulatorIIFE(e);if(t==="throw"&&e.length===2){this.rejectYieldInIIFE(e),this.mark(e,"$self",()=>{this.b.emit(this.containsAwait(e)?"await (async () => { throw ":"(() => { throw "),this.mark(e,"value",()=>this.expr(e[1])),this.b.emit("; })()")});return}if(k1(t)||t==="return"||t==="program"&&this.lockedHead(e,"program"))throw this.positionedError(e,`emitter: '${t}' is not supported in expression position`);if(t==="type-decl"||E.isTypedWrapper(e))throw this.positionedError(e,"emitter: an erased type statement reached expression position — a statement list missed its filter");return this.call(e)}static optionalGuard(e){if(!y(e)||e.length!==3)return null;if(e[0]==="?."||e[0]==="optindex")return e;if(e[0]==="."||e[0]==="[]")return E.optionalGuard(e[1]);return null}repeatSafeValue(e,t=null){if(typeof e!=="string")return!1;if(e==="this")return!0;if(e[0]==="/")return!1;if(!Z1(e))return!0;if(E.LITERAL_WORDS.has(e))return!0;if(t!==null&&t.has(e))return!0;return this.lexicallyBound(e)}lexicallyBound(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.reactive.has(e)||r.bound.has(e))return!0;if(r.members!==void 0&&r.members.has(e))return!0}return this.inScope(e)||this.moduleBound.has(e)}singleReadIterable(e,t=null){if(this.repeatSafeValue(e,t))return!0;if(!y(e))return!1;if(e[0]==="array")return e.slice(1).every((r)=>this.singleReadIterable(r,t));return!1}scopeBoundary(e){if(!y(e)||k1(e[0])||T1(e))return"skip";if(e[0]==="component"&&e.length===3)return"skip";if(e[0]==="enum")return"skip";if(this.isEffectDecl(e))return"effect";if(this.isReactiveDecl(e))return"reactive";if(this.isReadonlyDecl(e))return"readonly";if(e[0]==="class")return"class";if(e[0]==="for-in"||e[0]==="for-of"||e[0]==="for-as")return"loop";if(re(e))return"comprehension";if(e[0]==="try")return"try";return null}static planNeedsFor(e){if(!y(e)||e.length!==3)return null;let t=e[0],r=t==="//="||t==="%%=";if(!r&&!F1.has(t))return null;let s=E.optionalGuard(e[1]);if(s===null&&!r)return null;if(s===null&&!(y(e[1])&&(e[1][0]==="."||e[1][0]==="[]")&&e[1].length===3))return null;return{synth:r,optLink:s}}planReferenceTemps(e,t){let r=[],s=(o)=>{let l=this.loopTempName(o);return this.temps.used.add(l),l},i=(o,l,c)=>{let f=this.refPlans.get(o);if(f!==void 0){for(let d of[f.recv,f.obj,f.key])if(d!==null)r.push([d,o,"$self"]);return}let h=(d)=>this.repeatSafeValue(d,c)||t.has(d),u={recv:null,obj:null,key:null};if(l.optLink!==null&&!h(l.optLink[1]))u.recv=s("_ref");if(l.synth){let d=n(o,l,u),p=d[1];if(!(typeof p==="string"&&(p===u.recv||h(p))))u.obj=s("_o");if((d[0]==="[]"||d[0]==="optindex")&&!h(d[2]))u.key=s("_k")}if(u.recv===null&&u.obj===null&&u.key===null)return;this.refPlans.set(o,u);for(let d of[u.recv,u.obj,u.key])if(d!==null)r.push([d,o,"$self"])},n=(o,l,c)=>{let f=o[1];if(l.optLink!==null&&f===l.optLink)return[f[0],c.recv??f[1],f[2]];return f},a=(o,l)=>{let c=this.scopeBoundary(o);if(c==="skip"||c==="effect")return;if(c==="reactive"){if(!(o[0]==="computed"&&b1(o[2])&&o[2].length>2))a(o[2],l);return}if(c==="readonly"){a(o[2],l);return}if(c==="class"){if(o[2]!=null)a(o[2],l);return}if(c==="loop"){let h=new Set(l);for(let u of this.patternNames(o[1],[],!0))h.add(u);for(let u of o.slice(2))a(u,h);return}if(c==="comprehension"){let h=new Set(l);for(let u of o[2]??[])for(let d of this.patternNames(u[1],[],!0))h.add(d);a(o[1],h);for(let u of o[2]??[])a(u[2],h);for(let u of o[3]??[])a(u,h);return}if(c==="try"){for(let h of o.slice(2)){if(y(h)&&h.length===2&&E.isPattern(h[0])){let u=new Set(l);for(let d of this.patternNames(h[0]))u.add(d);a(h[1],u);continue}a(h,l)}a(o[1],l);return}let f=E.planNeedsFor(o);if(f!==null)i(o,f,l);for(let h of o)a(h,l)};for(let o of e)a(o,new Set);return r}optionalAssign(e,t,r){this.checkMemberWrite(e,e[1]);let s=e[0],i=s==="//="||s==="%%=",n=this.refPlans.get(e)??{recv:null,obj:null,key:null};if(n.recv===null&&!this.repeatSafeValue(t[1]))throw this.positionedError(e,"emitter: reference plan missing for an optional assignment with an impure receiver — a capture site the planner walk did not reach");let a=(h)=>{if(h===t)return this.stores.alias([h[0],n.recv??h[1],h[2]],h);return y(h)?this.stores.alias(h.map(a),h):h},o=a(e[1]),l=()=>{if(n.recv!==null)this.b.emit(`(${n.recv} = `),this.mark(t,"object",()=>this.withExpression(()=>this.expr(t[1]))),this.b.emit(")");else this.mark(t,"object",()=>this.expr(t[1]))},c=()=>this.mark(e,"value",()=>this.withExpression(()=>this.expr(e[2]))),f=()=>{if(!i){(()=>this.mark(e,"target",()=>this.withTarget(()=>this.withDeopt(()=>this.expr(o)))))(),this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit(s)),this.b.emit(" "),c();return}let h=null;if(n.obj!==null)this.b.emit(`${n.obj} = `),this.mark(o,"object",()=>this.withDeopt(()=>this.expr(o[1]))),this.b.emit(", "),h=n.obj;if(n.key!==null)this.b.emit(`${n.key} = `),this.mark(o,"key",()=>this.withExpression(()=>this.expr(o[2]))),this.b.emit(", ");let u=["[]","."].includes(o[0])||o[0]==="?."||o[0]==="optindex"?this.stores.alias([o[0],h??o[1],n.key??o[2]],e[1]):o,d=()=>this.mark(e,"target",()=>this.withTarget(()=>this.withDeopt(()=>this.expr(u))));d(),this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("=")),this.b.emit(" "),this.mark(e,"operator",()=>{this.b.emit(s==="//="?"Math.floor(":E.MODULO+"("),d(),this.b.emit(s==="//="?" / ":", "),this.operand(e,"value",e[2]),this.b.emit(")")})};this.mark(e,"$self",()=>{if(r==="statement")this.b.emit("if ("),l(),this.b.emit(" != null) "),f();else l(),this.b.emit(" != null ? ("),f(),this.b.emit(") : undefined")})}sliceAssignError(e){if(e[0]==="=")return this.positionedError(e,"emitter: a slice assignment (`a[i..j] = v`) is a statement — it splices the range in place and has no value form; move it to its own line");return this.positionedError(e,`emitter: a slice takes plain assignment only (\`a[i..j] = v\`) — '${e[0]}' has no in-place reading`)}assign(e){if(typeof e[1]==="string"&&e[1][0]==='"')throw this.positionedError(e,'emitter: a string is not an assignment target — a string-NAMED member (`"data-src" = v`) lives in a class body');let t=E.isPattern(e[1]),r=E.declaresInPlace.has(e),s=O1(e[1])&&!this.inPattern&&!r;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(E.middleRestPattern(e[1]))throw this.positionedError(e,"emitter: a middle-rest pattern (`[a, ...mid, b]`) assigns only as a STATEMENT — "+"it binds its source once and reads by index, which has no expression form; move the assignment to its own line");if(!this.inPattern)this.checkExportedConstWrite(e,e[1]);if(this.checkMemberWrite(e,e[1]),e[0]==="void-assign")this.registerVoidValue(e[2],e);{let i=O3(e),n=i!==null?this.annotationText(e):null;if(n!==null){let a=(c)=>{let f=this.stores.idOf(e),h=f!==null?this.stores.role(f,"annotation"):null;return h!==null&&h.sourceStart!=null?this.positionedErrorAt(h.sourceStart,h.sourceEnd,c):this.positionedError(e,c)};if(e!==this.moduleTopStmt)throw a("emitter: an annotated prototype member must be a module top-level statement — "+"the annotation manifests as an interface augmentation, which TypeScript admits only at a module's top level; move the write there or drop the annotation");let o=(()=>{let c=this.stores.idOf(e),f=c!==null?this.stores.selfSpan(c):null,h=f!==null?this.stores.primitiveSpans(i.member,f[0],f[1])[0]??null:null;return h===null?null:{id:c,start:h.sourceStart,end:h.sourceEnd}})(),l=(c,f)=>{if(this.b.emit(c),o!==null)this.b.markSpan(o.id,"identifier",o.start,o.end,()=>this.b.emit(i.member));else this.b.emit(i.member);this.emitTypeText(e,"annotation",f)};if(this.moduleClassNames?.has(i.head)){if(this.ts)this.b.tsOnly(()=>this.mark(e,"annotation",()=>l(`interface ${i.head} { `,`: ${n} } -`)))}else if(!this.scopes[0].has(i.head)){let c=v3[i.head]??"";if(this.ts)this.b.tsOnly(()=>this.mark(e,"annotation",()=>l(`declare global { interface ${i.head}${c} { `,`: ${n} } } -`)))}else throw a(`emitter: the annotation on \`${i.head}::${i.member}\` cannot augment — `+`\`${i.head}\` is a module binding, not a class declaration, so the interface has nothing to merge with; declare \`class ${i.head}\`, drop the annotation, or describe the member in a workspace .d.ts`)}}if(r)this.b.emit("let ");this.mark(e,"voidMarker",()=>this.mark(e,"annotation",()=>this.mark(e,"$self",()=>{if(s)this.b.emit("(");if(this.mark(e,"target",()=>{if(t)this.withPattern(()=>this.expr(e[1]));else this.withTarget(()=>this.expr(e[1]))}),this.ts&&r){let l=E.inlineOwners.get(e),c=this.annotationText(e)??(l!==void 0?this.annotationText(l):null);if(c!==null)this.tsAnnotate(l??e,"annotation",c);else{let f=this.schemaStories?.get(e);if(f&&!f.decl.exported&&f.constType!==null){let h=this.bindingNameSpan(e,"target",f.decl.name);this.b.tsOnly(()=>{this.b.emit(": "),this.emitNamedCopies(f.constType,f.decl.name,h?.id??null,h?.span??null)})}}}this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit(e[0]==="void-assign"?"=":e[0])),this.b.emit(" ");let i=this._schemaName,n=this._componentName,a=this._componentTypeParams;if(this._componentTypeParams=null,y(e[2])&&e[2][0]==="schema"&&typeof e[1]==="string")this._schemaName=e[1];if(this.isComponentDecl(e[2])&&typeof e[1]==="string"){this._componentName=e[1];let l=this.annotationText(e,"typeParams");this._componentTypeParams=l===null?null:{text:l,owner:e}}let o=this.ts&&this.strict&&this.pinnedWrites.has(e);if(o)this.b.tsOnly(()=>this.b.emit("("));if(this.mark(e,"value",()=>this.withExpression(()=>this.expr(e[2]))),o)this.b.tsOnly(()=>this.b.emit(") satisfies unknown"));if(this._schemaName=i,this._componentName=n,this._componentTypeParams=a,s)this.b.emit(")")})))}reactiveDecl(e,t){let[r,s,i]=e,n=r==="state"?":=":"~=";if(typeof s!=="string")throw this.positionedError(e,`emitter: a reactive declaration takes a plain name — ' ${n} …' cannot declare a ${y(s)&&s[0]==="object"?"destructuring pattern":y(s)&&s[0]==="array"?"destructuring pattern":"member or index target"}`);if(r==="state"&&s==="__state"||r==="computed"&&s==="__computed")throw this.positionedError(e,`emitter: '${s} ${n} …' would bind the very runtime name its own lowering calls (const ${s} = ${s}(…) — a TDZ self-reference); rename the variable`);if(r==="computed"&&this.containsAwait(i))throw this.positionedError(e,"emitter: a computed ('~=') body cannot await — computeds evaluate synchronously (make it a state written by an effect)");if(r==="computed"&&E.containsYield(i))throw this.positionedError(e,"emitter: a computed ('~=') body cannot yield — computeds evaluate synchronously");this.mark(e,"annotation",()=>this.mark(e,"$self",()=>{this.b.emit("const ");let a=this.b.offset;if(this.mark(e,"target",()=>this.b.emit(s)),r==="state"&&this.ts)this.mutables.push([a,this.b.offset]);if(this.ts)this.noteKind(e,"target",r==="state"?"state":"computed");if(this.ts&&this.annotationText(e)!==null){let c=r==="computed"?"readonly ":"";this.tsAnnotate(e,"annotation",$i(this.annotationText(e),c,xi))}else if(this.ts){let c=Ks(i);if(c!==null){let f=r==="computed"?"readonly ":"";this.b.tsOnly(()=>this.b.emit(`: ${$i(c,f,xi)}`))}}this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("=")),this.b.emit(" ");let o=this.ts?this.annotationText(e):null,l=()=>{if(o===null)return;this.b.tsOnly(()=>this.mark(e,"annotation",()=>this.emitTypeText(e,"annotation",`<${o}>`)))};if(r==="state")this.b.emit(this.runtimeName("__state")),l(),this.b.emit("("),this.mark(e,"value",()=>this.withExpression(()=>{let c=E.needsGrouping(i,"operand");if(c)this.b.emit("(");if(this.expr(i),c)this.b.emit(")")})),this.b.emit(")");else this.b.emit(this.runtimeName("__computed")),l(),this.b.emit("(() => "),this.mark(e,"value",()=>this.withExpression(()=>this.computedBody(e,i,t))),this.b.emit(")")})),this.b.emit(";")}computedBody(e,t,r){if(b1(t)&&t.length>2){let i=this.liveStmts(t.slice(1),{forwards:!0}),{entries:n,names:a}=this.scopedHoist(i,[]);for(let o of this.pushReactiveFrame(i,a))a.add(o);this.scopes.push(a),this.funcBlock(e,t,i,r,n),this.scopes.pop(),this.rframes.pop();return}let s=E.needsGrouping(t,"operand")||O1(t);if(s)this.b.emit("(");if(this.expr(t),s)this.b.emit(")")}readonlyDecl(e,t){let[r,s,i]=e;if(r==="void-readonly")this.registerVoidValue(i,e);if(typeof s!=="string")throw this.positionedError(e,`emitter: a readonly declaration takes a plain name — ' =! …' cannot declare a ${y(s)&&(s[0]==="object"||s[0]==="array")?"destructuring pattern":"member or index target"}`);this.mark(e,"voidMarker",()=>this.mark(e,"annotation",()=>this.mark(e,"$self",()=>{if(this.b.emit("const "),this.mark(e,"target",()=>this.b.emit(s)),this.ts)this.noteKind(e,"target","readonly");if(this.ts&&this.annotationText(e)!==null)this.tsAnnotate(e,"annotation",this.annotationText(e));this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("=")),this.b.emit(" "),this.mark(e,"value",()=>this.withExpression(()=>{let n=E.needsGrouping(i,"operand");if(n)this.b.emit("(");if(this.expr(i),n)this.b.emit(")")}))}))),this.b.emit(";")}effectStatement(e,t){let[,r,s]=e;if(r!==null&&typeof r!=="string")throw this.positionedError(e,`emitter: an effect handle takes a plain name — ' ~> …' cannot bind a ${y(r)&&(r[0]==="object"||r[0]==="array")?"destructuring pattern":"member or index target"}`);if(r==="__effect")throw this.positionedError(e,"emitter: '__effect ~> …' would bind the very runtime name its own lowering calls (const __effect = __effect(…) — a TDZ self-reference); rename the handle");this.mark(e,"annotation",()=>this.mark(e,"$self",()=>{if(r!==null){if(this.b.emit("const "),this.mark(e,"target",()=>this.b.emit(r)),this.ts)this.noteKind(e,"target","effect");if(this.ts&&this.annotationText(e)!==null)this.tsAnnotate(e,"annotation",this.annotationText(e));this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("=")),this.b.emit(" "),this.effectValue(e,s,t,!1)}else this.effectValue(e,s,t,!0)})),this.b.emit(";")}renderSyncGuard(e){let t=this.rstate;if(t&&this.scopes.length===t.scopeDepth)throw this.renderSyncError(e)}renderSyncError(e){return this.positionedError(e,"emitter: a render body evaluates synchronously — 'await'/'yield' cannot appear in a render expression "+"(text, attributes, props, and event listeners emit into non-async generated scopes); compute the value into a member (a state written by an effect), or make the handler a function ('-> await ...')",this.rstate.node)}firstAwaitIn(e){if(!y(e))return null;let t=e[0];if(t==="await"||t==="dammit!"||t==="dammit?"||t==="yield"||t==="yield-from")return e;if(t==="for-as"&&e[3]===!0)return e;if(t==="class")return this.firstAwaitIn(e[2]);if(T1(e)||k1(t)||this.isEffectDecl(e))return null;for(let r of e){let s=this.firstAwaitIn(r);if(s!==null)return s}return null}effectValue(e,t,r,s){if(E.effectBodyYields(t))throw this.positionedError(e,"emitter: an effect ('~>') body cannot yield — the runtime calls the effect function (make the generator a named function the effect calls)");let i=()=>{let l=this.runtimeName("__effect");if(s)this.mark(e,"operator",()=>this.b.emit(l));else this.b.emit(l)};if(T1(t)){i(),this.b.emit("("),this.mark(e,"value",()=>this.withExpression(()=>{let l=t[0]==="->";if(l)this.b.emit("(");if(this.expr(t),l)this.b.emit(")")})),this.b.emit(")");return}let n=this.containsAwait(t);if(i(),this.b.emit(n?"(async () => ":"(() => "),b1(t)){this.mark(e,"value",()=>this.withExpression(()=>{let l=this.liveStmts(t.slice(1),{forwards:!0}),{entries:c,names:f}=this.scopedHoist(l,[]);for(let h of this.pushReactiveFrame(l,f))f.add(h);this.scopes.push(f),this.funcBlock(e,t,l,r,c),this.scopes.pop(),this.rframes.pop()})),this.b.emit(")");return}let{entries:a,names:o}=this.scopedHoist([t],[]);if(this.checkScopeRedeclarations([t],[],e),this.scopes.push(o),this.rframes.push({reactive:new Set,bound:o}),this.b.emit("{ "),a.length)this.hoistLine(a),this.b.emit(" ");this.mark(e,"value",()=>this.withExpression(()=>{let l=E.needsGrouping(t,"operand")||O1(t);if(l)this.b.emit("(");if(this.expr(t),l)this.b.emit(")")})),this.b.emit("; })"),this.scopes.pop(),this.rframes.pop()}static effectBodyYields(e){return T1(e)?E.containsYield(e[2]):E.containsYield(e)}static COMPONENT_HOOKS=w3;static BOOLEAN_ATTRS=Qn;static SVG_NS="http://www.w3.org/2000/svg";isComponentDecl(e){return E.isComponentDeclIn(this.stores,e)}static isComponentDeclIn(e,t){if(!y(t)||t[0]!=="component"||t.length!==3)return!1;let r=e.idOf(t);return(r!==null?e.node(r)?.semanticKind:null)==="component"}componentKindOf(e,t,r){if(!y(e)||e[0]!==t||e.length!==r)return!1;let s=this.stores.idOf(e);return(s!==null?this.stores.node(s)?.semanticKind:null)===t}isRenderNode(e){return this.componentKindOf(e,"render",2)}isOfferNode(e){return this.componentKindOf(e,"offer",2)}isAcceptNode(e){return this.componentKindOf(e,"accept",2)||this.componentKindOf(e,"accept",3)}static memberTarget(e){if(typeof e==="string")return{name:e,isPublic:!1};if(y(e)&&e[0]==="."&&e[1]==="this"&&e.length===3&&typeof e[2]==="string")return{name:e[2],isPublic:!0};return null}static gateChain(e){let t=[],r=e;while(y(r)&&r[0]==="."&&r.length===3&&typeof r[2]==="string")t.unshift(r[2]),r=r[1];if(typeof r!=="string")return null;return t.unshift(r),t}static gateSource(e){let t=e[2],r=e.slice(3);if(r.length>1)return{error:"arity",node:e};let s=r[0]??null,i=E.gateChain(t);if(i===null||i.length<3||i[0]!=="this"||i[1]!=="stash")return{error:"path",node:t};let n=i.slice(2).join(".");if(s===null)return{path:n,pathNode:t,key:null,keyCode:null,keyParts:null};if(typeof s==="string"&&(/^-?(?:\d+(?:\.\d+)?|\.\d+)$/.test(s.replace(/_/g,""))||/^["'][^]*["']$/.test(s)||s==="true"||s==="false"))return{path:n,pathNode:t,key:s,keyCode:s,keyParts:null};let a=E.gateChain(s);if(a===null)return{error:"key",node:s};if(a[0]==="this")a.shift();if(a[0]!=="params"&&a[0]!=="query"||a.length<2)return{error:"key",node:s};return{path:n,pathNode:t,key:s,keyCode:a.join("."),keyParts:a}}static hmrFingerprint(e){let t=JSON.stringify(e),r=2166136261;for(let s=0;s>>0).toString(16).padStart(8,"0")}emitComponentHmrMeta(e,{bindingName:t,declaredProps:r,stateVars:s,derivedVars:i,gateVars:n,extendsTag:a,methods:o,hooks:l,hasRender:c}){let f=(T)=>[...T].sort(),h=f(r),u=f(s.map((T)=>T.name)),d=f(i.map((T)=>T.name)),p=f(o.map((T)=>T.name)),m=f(l.map((T)=>T.name)),g=n.length,b=E.hmrFingerprint({props:h,state:u,computed:d,gates:g,extends:a}),S=E.hmrFingerprint({methods:p,hooks:m,render:c}),w=`${this.modulePath}#${t}`,R={shape:b,impl:S,state:u,computed:d,props:h,gates:g,extends:a};this.b.emit(`${e}static __hmrId = ${JSON.stringify(w)}; +`);this.mark(e,"statements",()=>this.statements(s,t+1,"block")),this.b.emit(" ".repeat(t)+"}")})}containsAwait(e){return Bi(e,this.stores)}static isStringLiteral(e){if(Array.isArray(e))return String(e[0])==="str";let t=String(e)[0];return t==='"'||t==="'"||t==="`"}static containsBareIt(e){if(e==="it")return!0;if(!y(e))return!1;let t=e[0];if(t==="->"||t==="=>"||k1(t))return!1;if((t==="."||t==="?.")&&e.length===3)return E.containsBareIt(e[1])||typeof e[2]!=="string"&&E.containsBareIt(e[2]);if(t==="object")return e.slice(1).some((r)=>y(r)&&r[0]===":"&&r.length===3?E.containsBareIt(r[2])||typeof r[1]!=="string"&&E.containsBareIt(r[1]):E.containsBareIt(r));return e.some((r)=>E.containsBareIt(r))}static containsYield(e){return dr(e)}static jsTier(e){if(!y(e))return"primary";if((e[0]==="cast"||e[0]==="satisfies")&&e.length===3)return E.jsTier(e[1]);if(L3(e))return"assign";if(Li(e)||ma(e)&&e.length<=4&&E.ifIsSimple(e))return"ternary";if(e[0]==="?"&&e.length===2)return"binary";if(E.isStrRepeat(e))return"primary";if(ft(e)||da(e))return"binary";if(ua(e))return"unary";if((e[0]==="await"||e[0]==="dammit!")&&e.length===2)return"unary";if(e[0]==="dammit?")return"unary";if(y(e[0])&&e[0][0]==="dammit!")return"unary";if((e[0]==="yield"||e[0]==="yield-from")&&e.length<=2)return"yield";if(T1(e))return"function";if(O1(e))return"object";return"primary"}static needsGrouping(e,t){let r=E.jsTier(e);if(t==="operand"||t==="return"){if(r==="unary")return!(e[0]==="!"||e[0]==="typeof"||e[0]==="await"||e[0]==="dammit!"||e[0]==="dammit?"||y(e[0])&&e[0][0]==="dammit!");if(r==="yield")return t==="operand";return r==="binary"||r==="ternary"||r==="assign"||r==="function"}if(t==="head")return r!=="primary"||U1(e);if(E.leadsWithObject(e))return!0;return r==="object"||U1(e)||r==="function"&&e[0]==="->"||y(e)&&(e[0]==="class"||e[0]==="component")||Li(e)&&!E.ternaryHoists(e)||r==="unary"&&e[0]==="delete"}operand(e,t,r){this.grouped(e,t,r,E.needsGrouping(r,"operand"))}head(e,t,r){this.grouped(e,t,r,E.needsGrouping(r,"head"))}static isIntegerLiteral(e){return typeof e==="string"&&e.charCodeAt(0)>=48&&e.charCodeAt(0)<=57&&/^[0-9][0-9_]*$/.test(e)}grouped(e,t,r,s){if(s)this.b.emit("(");if(this.mark(e,t,()=>this.expr(r)),s)this.b.emit(")")}static escapeTemplate(e){return e.replace(/\\[^]|`|\$\{/g,(t)=>t==="`"||t==="${"?`\\${t}`:t)}static MAX_EXPR_DEPTH=1024;expr(e){if(++this.exprDepth>E.MAX_EXPR_DEPTH){let t=this.positionedError(e,`emitter: expression nesting exceeds ${E.MAX_EXPR_DEPTH} levels — restructure the expression (the compile-time nesting bound)`);if(typeof t.start!=="number"&&this.b.currentMark)t.start=this.b.currentMark.sourceStart,t.end=this.b.currentMark.sourceEnd;throw t}try{this.exprCore(e)}finally{this.exprDepth--}}exprCore(e){if(!y(e)){if(typeof e==="string"){let r=this.bareRewrite(e);if(r==="reactive")return this.reactiveRead(e);if(r==="member")this.notePlainRenderRead(e);if(r!==null)this.checkBareRest(e,e);if(r!==null)return this.memberRead(e,r==="member-reactive");if(e==="this"&&this.renderSelf!==null)return this.b.emit(this.renderSelf)}if((e==="break"||e==="continue")&&this.ctrlDepth===0){let r=this.positionedError(e,`emitter: '${e}' outside a loop${e==="break"?" or switch":""}`);if(typeof r.start!=="number"&&this.b.currentMark)r.start=this.b.currentMark.sourceStart,r.end=this.b.currentMark.sourceEnd;throw r}if(typeof e==="string")this.emitPrimitive(e);else this.b.emit(e);return}let t=e[0];if(t==="str"&&this.lockedHead(e,"str"))return this.strTemplate(e);if(t==="tagged-template"&&e.length===3)return this.taggedTemplate(e);if(t==="here-regex")return this.heregex(e);if(y(t))return this.call(e);if(lt(t)&&e.length===3&&!this.inPattern&&E.sliceTarget(e[1])!==null)throw this.sliceAssignError(e);if(lt(t)&&e.length===3&&!this.inPattern){let r=E.optionalGuard(e[1]);if(r!==null)return this.optionalAssign(e,r,"value")}if(F1.has(t)&&e.length===3)return this.assign(e);if((t==="."||t==="?.")&&e.length===3)return this.member(e);if((t===".{}"||t==="?.{}")&&e.length>=3)return this.pick(e);if(t==="[]"&&e.length===3)return this.index(e);if(t==="optindex"&&e.length===3&&this.lockedHead(e,"optindex"))return this.optIndex(e);if(t==="optcall"&&this.lockedHead(e,"optcall"))return this.optCall(e);if(T1(e))return this.func(e);if(U1(e))return this.update(e);if(Li(e))return this.ternary(e);if(t==="array"&&this.lockedHead(e,"array"))return this.array(e);if(t==="object"&&this.lockedHead(e,"object"))return this.object(e);if(We(e))return this.range(e);if((t==="in"||t==="of"||t==="!in"||t==="!of"||t==="!instanceof")&&e.length===3)return this.relation(e);if(t==="instanceof"&&e.length===3){this.mark(e,"$self",()=>{this.operand(e,"left",e[1]),this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("instanceof")),this.b.emit(" "),this.operand(e,"right",e[2])});return}if(t==="//"&&e.length===3)return this.floorDiv(e);if(t==="%%"&&e.length===3)return this.modulo(e);if(t==="//="&&e.length===3)return this.floorDivAssign(e);if(t==="=~"&&e.length===3)return this.matchOp(e);if(t==="map"&&this.lockedHead(e,"map"))return this.mapLiteral(e);if(t==="regex-index"&&e.length===4){if(!(typeof e[2]==="string"&&e[2][0]==="/"))throw this.positionedError(e,"emitter: a two-part index is the regex-capture form (`text[/re/, n]`) — its key must be a regex literal");return this.regexIndex(e,e[1],e[2],e[3])}if(t==="symbol"&&e.length===2&&this.lockedHead(e,"symbol"))return this.mark(e,"$self",()=>{let r=JSON.stringify(e[1]);if(r===`"${e[1]}"`)this.b.emit('Symbol.for("'),this.emitPrimitive(e[1]),this.b.emit('")');else this.b.emit(`Symbol.for(${r})`)});if(t===".="&&e.length===3)throw this.positionedError(e,`emitter: ${t} is a statement — its target is spelled twice (write + read), which has no single-expression form`);if(t==="%%="&&e.length===3)return this.moduloAssign(e);if(re(e))return this.comprehension(e,this.ind);if(t==="do-iife"&&e.length===2)return this.doIife(e);if((t==="cast"||t==="satisfies")&&e.length===3)return this.postfixType(e);if(t==="?"&&e.length===2)return this.existence(e);if(t==="await"&&e.length===2)return this.awaitExpr(e);if(t==="dammit!"&&e.length===2)return this.dammit(e);if(t==="dammit?")return this.maybeDammit(e);if((t==="yield"||t==="yield-from")&&e.length<=2)return this.yieldExpr(e);if(t==="class")return this.classExpr(e);if(this.isReactiveDecl(e)){let r=t==="state"?":=":"~=";throw this.positionedError(e,`emitter: a reactive declaration ('${typeof e[1]==="string"?e[1]:"…"} ${r} …') is a statement — it lowers to a const declaration, which has no expression form`)}if(this.isGateDecl(e))throw this.positionedError(e,"emitter: a render gate ('<~') can only be used as a direct component body line");if(this.isReadonlyDecl(e))throw this.positionedError(e,`emitter: a readonly declaration ('${typeof e[1]==="string"?e[1]:"…"} =! …') is a statement — it lowers to a const declaration, which has no expression form`);if(this.isEffectDecl(e)){if(e[1]!==null)throw this.positionedError(e,`emitter: a bound effect ('${typeof e[1]==="string"?e[1]:"…"} ~> …') is a statement — it lowers to a const declaration, which has no expression form ; a BARE '~> …' is the expression form`);this.mark(e,"$self",()=>this.effectValue(e,e[2],this.ind,!0));return}if(t==="schema"&&e.length===2)return this.schemaExpr(e);if(this.isComponentDecl(e))return this.componentExpr(e);if(this.isRenderNode(e))throw this.positionedError(e,"emitter: render blocks can only be used inside a component (as a direct body line)");if(this.isOfferNode(e))throw this.positionedError(e,"emitter: offer can only be used as a direct component body line");if(this.isAcceptNode(e))throw this.positionedError(e,"emitter: accept can only be used as a direct component body line");if(t==="super")return this.superCall(e);if(t==="new"&&e.length===2)return this.newExpr(e);if(t==="..."&&e.length===2)return this.spread(e);if(ft(e))return this.binary(e);if(ua(e))return this.unary(e);if(t==="block"){this.mark(e,"$self",()=>{this.b.emit("("),e.slice(1).forEach((r,s)=>{if(s>0)this.b.emit(", ");this.expr(r)}),this.b.emit(")")});return}if(t==="if"&&e.length>=3&&e.length<=4)return this.valueIf(e);if(t==="try")return this.valueTry(e);if(t==="switch"&&e.length===4)return this.valueSwitch(e);if(t==="while"&&(e.length===3||e.length===4))return this.accumulatorIIFE(e);if(t==="loop"&&e.length===2)return this.accumulatorIIFE(e);if(t==="loop-n"&&e.length===3)return this.accumulatorIIFE(e);if((t==="for-in"||t==="for-of"||t==="for-as")&&e.length===6)return this.accumulatorIIFE(e);if(t==="throw"&&e.length===2){this.rejectYieldInIIFE(e),this.mark(e,"$self",()=>{this.b.emit(this.containsAwait(e)?"await (async () => { throw ":"(() => { throw "),this.mark(e,"value",()=>this.expr(e[1])),this.b.emit("; })()")});return}if(k1(t)||t==="return"||t==="program"&&this.lockedHead(e,"program"))throw this.positionedError(e,`emitter: '${t}' is not supported in expression position`);if(t==="type-decl"||E.isTypedWrapper(e))throw this.positionedError(e,"emitter: an erased type statement reached expression position — a statement list missed its filter");return this.call(e)}static optionalGuard(e){if(!y(e)||e.length!==3)return null;if(e[0]==="?."||e[0]==="optindex")return e;if(e[0]==="."||e[0]==="[]")return E.optionalGuard(e[1]);return null}repeatSafeValue(e,t=null){if(typeof e!=="string")return!1;if(e==="this")return!0;if(e[0]==="/")return!1;if(!Z1(e))return!0;if(E.LITERAL_WORDS.has(e))return!0;if(t!==null&&t.has(e))return!0;return this.lexicallyBound(e)}lexicallyBound(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.reactive.has(e)||r.bound.has(e))return!0;if(r.members!==void 0&&r.members.has(e))return!0}return this.inScope(e)||this.moduleBound.has(e)}singleReadIterable(e,t=null){if(this.repeatSafeValue(e,t))return!0;if(!y(e))return!1;if(e[0]==="array")return e.slice(1).every((r)=>this.singleReadIterable(r,t));return!1}scopeBoundary(e){if(!y(e)||k1(e[0])||T1(e))return"skip";if(e[0]==="component"&&e.length===3)return"skip";if(e[0]==="enum")return"skip";if(this.isEffectDecl(e))return"effect";if(this.isReactiveDecl(e))return"reactive";if(this.isReadonlyDecl(e))return"readonly";if(e[0]==="class")return"class";if(e[0]==="for-in"||e[0]==="for-of"||e[0]==="for-as")return"loop";if(re(e))return"comprehension";if(e[0]==="try")return"try";return null}static planNeedsFor(e){if(!y(e)||e.length!==3)return null;let t=e[0],r=t==="//="||t==="%%=";if(!r&&!F1.has(t))return null;let s=E.optionalGuard(e[1]);if(s===null&&!r)return null;if(s===null&&!(y(e[1])&&(e[1][0]==="."||e[1][0]==="[]")&&e[1].length===3))return null;return{synth:r,optLink:s}}planReferenceTemps(e,t){let r=[],s=(o)=>{let l=this.loopTempName(o);return this.temps.used.add(l),l},i=(o,l,c)=>{let h=this.refPlans.get(o);if(h!==void 0){for(let d of[h.recv,h.obj,h.key])if(d!==null)r.push([d,o,"$self"]);return}let f=(d)=>this.repeatSafeValue(d,c)||t.has(d),u={recv:null,obj:null,key:null};if(l.optLink!==null&&!f(l.optLink[1]))u.recv=s("_ref");if(l.synth){let d=n(o,l,u),p=d[1];if(!(typeof p==="string"&&(p===u.recv||f(p))))u.obj=s("_o");if((d[0]==="[]"||d[0]==="optindex")&&!f(d[2]))u.key=s("_k")}if(u.recv===null&&u.obj===null&&u.key===null)return;this.refPlans.set(o,u);for(let d of[u.recv,u.obj,u.key])if(d!==null)r.push([d,o,"$self"])},n=(o,l,c)=>{let h=o[1];if(l.optLink!==null&&h===l.optLink)return[h[0],c.recv??h[1],h[2]];return h},a=(o,l)=>{let c=this.scopeBoundary(o);if(c==="skip"||c==="effect")return;if(c==="reactive"){if(!(o[0]==="computed"&&b1(o[2])&&o[2].length>2))a(o[2],l);return}if(c==="readonly"){a(o[2],l);return}if(c==="class"){if(o[2]!=null)a(o[2],l);return}if(c==="loop"){let f=new Set(l);for(let u of this.patternNames(o[1],[],!0))f.add(u);for(let u of o.slice(2))a(u,f);return}if(c==="comprehension"){let f=new Set(l);for(let u of o[2]??[])for(let d of this.patternNames(u[1],[],!0))f.add(d);a(o[1],f);for(let u of o[2]??[])a(u[2],f);for(let u of o[3]??[])a(u,f);return}if(c==="try"){for(let f of o.slice(2)){if(y(f)&&f.length===2&&E.isPattern(f[0])){let u=new Set(l);for(let d of this.patternNames(f[0]))u.add(d);a(f[1],u);continue}a(f,l)}a(o[1],l);return}let h=E.planNeedsFor(o);if(h!==null)i(o,h,l);for(let f of o)a(f,l)};for(let o of e)a(o,new Set);return r}optionalAssign(e,t,r){this.checkMemberWrite(e,e[1]);let s=e[0],i=s==="//="||s==="%%=",n=this.refPlans.get(e)??{recv:null,obj:null,key:null};if(n.recv===null&&!this.repeatSafeValue(t[1]))throw this.positionedError(e,"emitter: reference plan missing for an optional assignment with an impure receiver — a capture site the planner walk did not reach");let a=(f)=>{if(f===t)return this.stores.alias([f[0],n.recv??f[1],f[2]],f);return y(f)?this.stores.alias(f.map(a),f):f},o=a(e[1]),l=()=>{if(n.recv!==null)this.b.emit(`(${n.recv} = `),this.mark(t,"object",()=>this.withExpression(()=>this.expr(t[1]))),this.b.emit(")");else this.mark(t,"object",()=>this.expr(t[1]))},c=()=>this.mark(e,"value",()=>this.withExpression(()=>this.expr(e[2]))),h=()=>{if(!i){(()=>this.mark(e,"target",()=>this.withTarget(()=>this.withDeopt(()=>this.expr(o)))))(),this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit(s)),this.b.emit(" "),c();return}let f=null;if(n.obj!==null)this.b.emit(`${n.obj} = `),this.mark(o,"object",()=>this.withDeopt(()=>this.expr(o[1]))),this.b.emit(", "),f=n.obj;if(n.key!==null)this.b.emit(`${n.key} = `),this.mark(o,"key",()=>this.withExpression(()=>this.expr(o[2]))),this.b.emit(", ");let u=["[]","."].includes(o[0])||o[0]==="?."||o[0]==="optindex"?this.stores.alias([o[0],f??o[1],n.key??o[2]],e[1]):o,d=()=>this.mark(e,"target",()=>this.withTarget(()=>this.withDeopt(()=>this.expr(u))));d(),this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("=")),this.b.emit(" "),this.mark(e,"operator",()=>{this.b.emit(s==="//="?"Math.floor(":E.MODULO+"("),d(),this.b.emit(s==="//="?" / ":", "),this.operand(e,"value",e[2]),this.b.emit(")")})};this.mark(e,"$self",()=>{if(r==="statement")this.b.emit("if ("),l(),this.b.emit(" != null) "),h();else l(),this.b.emit(" != null ? ("),h(),this.b.emit(") : undefined")})}sliceAssignError(e){if(e[0]==="=")return this.positionedError(e,"emitter: a slice assignment (`a[i..j] = v`) is a statement — it splices the range in place and has no value form; move it to its own line");return this.positionedError(e,`emitter: a slice takes plain assignment only (\`a[i..j] = v\`) — '${e[0]}' has no in-place reading`)}assign(e){if(typeof e[1]==="string"&&e[1][0]==='"')throw this.positionedError(e,'emitter: a string is not an assignment target — a string-NAMED member (`"data-src" = v`) lives in a class body');let t=E.isPattern(e[1]),r=E.declaresInPlace.has(e),s=O1(e[1])&&!this.inPattern&&!r;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(E.middleRestPattern(e[1]))throw this.positionedError(e,"emitter: a middle-rest pattern (`[a, ...mid, b]`) assigns only as a STATEMENT — "+"it binds its source once and reads by index, which has no expression form; move the assignment to its own line");if(!this.inPattern)this.checkExportedConstWrite(e,e[1]);if(this.checkMemberWrite(e,e[1]),e[0]==="void-assign")this.registerVoidValue(e[2],e);{let i=x3(e),n=i!==null?this.annotationText(e):null;if(n!==null){let a=(c)=>{let h=this.stores.idOf(e),f=h!==null?this.stores.role(h,"annotation"):null;return f!==null&&f.sourceStart!=null?this.positionedErrorAt(f.sourceStart,f.sourceEnd,c):this.positionedError(e,c)};if(e!==this.moduleTopStmt)throw a("emitter: an annotated prototype member must be a module top-level statement — "+"the annotation manifests as an interface augmentation, which TypeScript admits only at a module's top level; move the write there or drop the annotation");let o=(()=>{let c=this.stores.idOf(e),h=c!==null?this.stores.selfSpan(c):null,f=h!==null?this.stores.primitiveSpans(i.member,h[0],h[1])[0]??null:null;return f===null?null:{id:c,start:f.sourceStart,end:f.sourceEnd}})(),l=(c,h)=>{if(this.b.emit(c),o!==null)this.b.markSpan(o.id,"identifier",o.start,o.end,()=>this.b.emit(i.member));else this.b.emit(i.member);this.emitTypeText(e,"annotation",h)};if(this.moduleClassNames?.has(i.head)){if(this.ts)this.b.tsOnly(()=>this.mark(e,"annotation",()=>l(`interface ${i.head} { `,`: ${n} } +`)))}else if(!this.scopes[0].has(i.head)){let c=D3[i.head]??"";if(this.ts)this.b.tsOnly(()=>this.mark(e,"annotation",()=>l(`declare global { interface ${i.head}${c} { `,`: ${n} } } +`)))}else throw a(`emitter: the annotation on \`${i.head}::${i.member}\` cannot augment — `+`\`${i.head}\` is a module binding, not a class declaration, so the interface has nothing to merge with; declare \`class ${i.head}\`, drop the annotation, or describe the member in a workspace .d.ts`)}}if(r)this.b.emit("let ");this.mark(e,"voidMarker",()=>this.mark(e,"annotation",()=>this.mark(e,"$self",()=>{if(s)this.b.emit("(");if(this.mark(e,"target",()=>{if(t)this.withPattern(()=>this.expr(e[1]));else this.withTarget(()=>this.expr(e[1]))}),this.ts&&r){let l=E.inlineOwners.get(e),c=this.annotationText(e)??(l!==void 0?this.annotationText(l):null);if(c!==null)this.tsAnnotate(l??e,"annotation",c);else{let h=this.schemaStories?.get(e);if(h&&!h.decl.exported&&h.constType!==null){let f=this.bindingNameSpan(e,"target",h.decl.name);this.b.tsOnly(()=>{this.b.emit(": "),this.emitNamedCopies(h.constType,h.decl.name,f?.id??null,f?.span??null)})}}}this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit(e[0]==="void-assign"?"=":e[0])),this.b.emit(" ");let i=this._schemaName,n=this._componentName,a=this._componentTypeParams;if(this._componentTypeParams=null,y(e[2])&&e[2][0]==="schema"&&typeof e[1]==="string")this._schemaName=e[1];if(this.isComponentDecl(e[2])&&typeof e[1]==="string"){this._componentName=e[1];let l=this.annotationText(e,"typeParams");this._componentTypeParams=l===null?null:{text:l,owner:e}}let o=this.ts&&this.strict&&this.pinnedWrites.has(e);if(o)this.b.tsOnly(()=>this.b.emit("("));if(this.mark(e,"value",()=>this.withExpression(()=>this.expr(e[2]))),o)this.b.tsOnly(()=>this.b.emit(") satisfies unknown"));if(this._schemaName=i,this._componentName=n,this._componentTypeParams=a,s)this.b.emit(")")})))}reactiveDecl(e,t){let[r,s,i]=e,n=r==="state"?":=":"~=";if(typeof s!=="string")throw this.positionedError(e,`emitter: a reactive declaration takes a plain name — ' ${n} …' cannot declare a ${y(s)&&s[0]==="object"?"destructuring pattern":y(s)&&s[0]==="array"?"destructuring pattern":"member or index target"}`);if(r==="state"&&s==="__state"||r==="computed"&&s==="__computed")throw this.positionedError(e,`emitter: '${s} ${n} …' would bind the very runtime name its own lowering calls (const ${s} = ${s}(…) — a TDZ self-reference); rename the variable`);if(r==="computed"&&this.containsAwait(i))throw this.positionedError(e,"emitter: a computed ('~=') body cannot await — computeds evaluate synchronously (make it a state written by an effect)");if(r==="computed"&&E.containsYield(i))throw this.positionedError(e,"emitter: a computed ('~=') body cannot yield — computeds evaluate synchronously");this.mark(e,"annotation",()=>this.mark(e,"$self",()=>{this.b.emit("const ");let a=this.b.offset;if(this.mark(e,"target",()=>this.b.emit(s)),r==="state"&&this.ts)this.mutables.push([a,this.b.offset]);if(this.ts)this.noteKind(e,"target",r==="state"?"state":"computed");if(this.ts&&this.annotationText(e)!==null){let c=r==="computed"?"readonly ":"";this.tsAnnotate(e,"annotation",$i(this.annotationText(e),c,xi))}else if(this.ts){let c=zn(i);if(c!==null){let h=r==="computed"?"readonly ":"";this.b.tsOnly(()=>this.b.emit(`: ${$i(c,h,xi)}`))}}this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("=")),this.b.emit(" ");let o=this.ts?this.annotationText(e):null,l=()=>{if(o===null)return;this.b.tsOnly(()=>this.mark(e,"annotation",()=>this.emitTypeText(e,"annotation",`<${o}>`)))};if(r==="state")this.b.emit(this.runtimeName("__state")),l(),this.b.emit("("),this.mark(e,"value",()=>this.withExpression(()=>{let c=E.needsGrouping(i,"operand");if(c)this.b.emit("(");if(this.expr(i),c)this.b.emit(")")})),this.b.emit(")");else this.b.emit(this.runtimeName("__computed")),l(),this.b.emit("(() => "),this.mark(e,"value",()=>this.withExpression(()=>this.computedBody(e,i,t))),this.b.emit(")")})),this.b.emit(";")}computedBody(e,t,r){if(b1(t)&&t.length>2){let i=this.liveStmts(t.slice(1),{forwards:!0}),{entries:n,names:a}=this.scopedHoist(i,[]);for(let o of this.pushReactiveFrame(i,a))a.add(o);this.scopes.push(a),this.funcBlock(e,t,i,r,n),this.scopes.pop(),this.rframes.pop();return}let s=E.needsGrouping(t,"operand")||O1(t);if(s)this.b.emit("(");if(this.expr(t),s)this.b.emit(")")}readonlyDecl(e,t){let[r,s,i]=e;if(r==="void-readonly")this.registerVoidValue(i,e);if(typeof s!=="string")throw this.positionedError(e,`emitter: a readonly declaration takes a plain name — ' =! …' cannot declare a ${y(s)&&(s[0]==="object"||s[0]==="array")?"destructuring pattern":"member or index target"}`);this.mark(e,"voidMarker",()=>this.mark(e,"annotation",()=>this.mark(e,"$self",()=>{if(this.b.emit("const "),this.mark(e,"target",()=>this.b.emit(s)),this.ts)this.noteKind(e,"target","readonly");if(this.ts&&this.annotationText(e)!==null)this.tsAnnotate(e,"annotation",this.annotationText(e));this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("=")),this.b.emit(" "),this.mark(e,"value",()=>this.withExpression(()=>{let n=E.needsGrouping(i,"operand");if(n)this.b.emit("(");if(this.expr(i),n)this.b.emit(")")}))}))),this.b.emit(";")}effectStatement(e,t){let[,r,s]=e;if(r!==null&&typeof r!=="string")throw this.positionedError(e,`emitter: an effect handle takes a plain name — ' ~> …' cannot bind a ${y(r)&&(r[0]==="object"||r[0]==="array")?"destructuring pattern":"member or index target"}`);if(r==="__effect")throw this.positionedError(e,"emitter: '__effect ~> …' would bind the very runtime name its own lowering calls (const __effect = __effect(…) — a TDZ self-reference); rename the handle");this.mark(e,"annotation",()=>this.mark(e,"$self",()=>{if(r!==null){if(this.b.emit("const "),this.mark(e,"target",()=>this.b.emit(r)),this.ts)this.noteKind(e,"target","effect");if(this.ts&&this.annotationText(e)!==null)this.tsAnnotate(e,"annotation",this.annotationText(e));this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("=")),this.b.emit(" "),this.effectValue(e,s,t,!1)}else this.effectValue(e,s,t,!0)})),this.b.emit(";")}renderSyncGuard(e){let t=this.rstate;if(t&&this.scopes.length===t.scopeDepth)throw this.renderSyncError(e)}renderSyncError(e){return this.positionedError(e,"emitter: a render body evaluates synchronously — 'await'/'yield' cannot appear in a render expression "+"(text, attributes, props, and event listeners emit into non-async generated scopes); compute the value into a member (a state written by an effect), or make the handler a function ('-> await ...')",this.rstate.node)}firstAwaitIn(e){if(!y(e))return null;let t=e[0];if(t==="await"||t==="dammit!"||t==="dammit?"||t==="yield"||t==="yield-from")return e;if(t==="for-as"&&e[3]===!0)return e;if(t==="class")return this.firstAwaitIn(e[2]);if(T1(e)||k1(t)||this.isEffectDecl(e))return null;for(let r of e){let s=this.firstAwaitIn(r);if(s!==null)return s}return null}effectValue(e,t,r,s){if(E.effectBodyYields(t))throw this.positionedError(e,"emitter: an effect ('~>') body cannot yield — the runtime calls the effect function (make the generator a named function the effect calls)");let i=()=>{let l=this.runtimeName("__effect");if(s)this.mark(e,"operator",()=>this.b.emit(l));else this.b.emit(l)};if(T1(t)){i(),this.b.emit("("),this.mark(e,"value",()=>this.withExpression(()=>{let l=t[0]==="->";if(l)this.b.emit("(");if(this.expr(t),l)this.b.emit(")")})),this.b.emit(")");return}let n=this.containsAwait(t);if(i(),this.b.emit(n?"(async () => ":"(() => "),b1(t)){this.mark(e,"value",()=>this.withExpression(()=>{let l=this.liveStmts(t.slice(1),{forwards:!0}),{entries:c,names:h}=this.scopedHoist(l,[]);for(let f of this.pushReactiveFrame(l,h))h.add(f);this.scopes.push(h),this.funcBlock(e,t,l,r,c),this.scopes.pop(),this.rframes.pop()})),this.b.emit(")");return}let{entries:a,names:o}=this.scopedHoist([t],[]);if(this.checkScopeRedeclarations([t],[],e),this.scopes.push(o),this.rframes.push({reactive:new Set,bound:o}),this.b.emit("{ "),a.length)this.hoistLine(a),this.b.emit(" ");this.mark(e,"value",()=>this.withExpression(()=>{let l=E.needsGrouping(t,"operand")||O1(t);if(l)this.b.emit("(");if(this.expr(t),l)this.b.emit(")")})),this.b.emit("; })"),this.scopes.pop(),this.rframes.pop()}static effectBodyYields(e){return T1(e)?E.containsYield(e[2]):E.containsYield(e)}static COMPONENT_HOOKS=v3;static BOOLEAN_ATTRS=Qs;static SVG_NS="http://www.w3.org/2000/svg";isComponentDecl(e){return E.isComponentDeclIn(this.stores,e)}static isComponentDeclIn(e,t){if(!y(t)||t[0]!=="component"||t.length!==3)return!1;let r=e.idOf(t);return(r!==null?e.node(r)?.semanticKind:null)==="component"}componentKindOf(e,t,r){if(!y(e)||e[0]!==t||e.length!==r)return!1;let s=this.stores.idOf(e);return(s!==null?this.stores.node(s)?.semanticKind:null)===t}isRenderNode(e){return this.componentKindOf(e,"render",2)}isOfferNode(e){return this.componentKindOf(e,"offer",2)}isAcceptNode(e){return this.componentKindOf(e,"accept",2)||this.componentKindOf(e,"accept",3)}static memberTarget(e){if(typeof e==="string")return{name:e,isPublic:!1};if(y(e)&&e[0]==="."&&e[1]==="this"&&e.length===3&&typeof e[2]==="string")return{name:e[2],isPublic:!0};return null}static gateChain(e){let t=[],r=e;while(y(r)&&r[0]==="."&&r.length===3&&typeof r[2]==="string")t.unshift(r[2]),r=r[1];if(typeof r!=="string")return null;return t.unshift(r),t}static gateSource(e){let t=e[2],r=e.slice(3);if(r.length>1)return{error:"arity",node:e};let s=r[0]??null,i=E.gateChain(t);if(i===null||i.length<3||i[0]!=="this"||i[1]!=="stash")return{error:"path",node:t};let n=i.slice(2).join(".");if(s===null)return{path:n,pathNode:t,key:null,keyCode:null,keyParts:null};if(typeof s==="string"&&(/^-?(?:\d+(?:\.\d+)?|\.\d+)$/.test(s.replace(/_/g,""))||/^["'][^]*["']$/.test(s)||s==="true"||s==="false"))return{path:n,pathNode:t,key:s,keyCode:s,keyParts:null};let a=E.gateChain(s);if(a===null)return{error:"key",node:s};if(a[0]==="this")a.shift();if(a[0]!=="params"&&a[0]!=="query"||a.length<2)return{error:"key",node:s};return{path:n,pathNode:t,key:s,keyCode:a.join("."),keyParts:a}}static hmrFingerprint(e){let t=JSON.stringify(e),r=2166136261;for(let s=0;s>>0).toString(16).padStart(8,"0")}emitComponentHmrMeta(e,{bindingName:t,declaredProps:r,stateVars:s,derivedVars:i,gateVars:n,extendsTag:a,methods:o,hooks:l,hasRender:c}){let h=(T)=>[...T].sort(),f=h(r),u=h(s.map((T)=>T.name)),d=h(i.map((T)=>T.name)),p=h(o.map((T)=>T.name)),m=h(l.map((T)=>T.name)),g=n.length,b=E.hmrFingerprint({props:f,state:u,computed:d,gates:g,extends:a}),S=E.hmrFingerprint({methods:p,hooks:m,render:c}),w=`${this.modulePath}#${t}`,R={shape:b,impl:S,state:u,computed:d,props:f,gates:g,extends:a};this.b.emit(`${e}static __hmrId = ${JSON.stringify(w)}; `),this.b.emit(`${e}static __hmrSig = ${JSON.stringify(R)}; -`)}componentExpr(e){let[,t,r]=e,s=null,i=null;if(t!==null){let I=typeof t==="string"?t:Vt(t),s1=I!==null?Wt(I):null;if(I!==null&&te(I)&&!I.includes("#"))s=I;else if(I!==null&&K1(I.slice(I.lastIndexOf(".")+1))&&(this.inScope(s1)||this.moduleBound.has(s1))){if(I===this._componentName)throw this.positionedError(e,`emitter: component '${I}' cannot extend itself — the render would construct it without end`);if(s1!==I&&this.importSpecOf(s1)===null)throw this.positionedError(e,`emitter: 'component extends ${I}' roots at '${s1}', a binding of this module — a host named through a `+"path must root at an import (`import * as Ns …`), since a declaration file spells the host through it");i=I}else throw this.positionedError(e,"emitter: 'component extends' takes an HTML tag or a component bound in this module — rest props forward "+`onto the first one the render creates; '${I??"…"}' is neither`)}let n=s??i,a=null,o=null;if(this.ts){let I=this.stores.idOf(e)??null,s1=I!==null?this.stores.selfSpan(I):null,e1=this.b.source;if(s1!==null&&e1!==null&&e1.startsWith("component",s1[0])){if(this.silences.push([s1[0],s1[0]+9]),n!==null){let K=/^component(\s+)extends(\s+)/.exec(e1.slice(s1[0],s1[1]));if(K!==null&&e1.startsWith(n,s1[0]+K[0].length)){let a1=s1[0]+9+K[1].length;this.silences.push([a1,a1+7]);let A=s1[0]+K[0].length;if(s!==null)this.intrinsics.push({start:A,end:A+s.length,kind:"tag",tag:s,svg:!1});else a=[A,A+i.length],o=I}}}}let l=b1(r)?r.slice(1):[],c=[],f=[],h=[],u=[],d=[],p=[],m=[],g=[],b=[],S=[],w=new Map,R=null,T=new Map,F=new Set,L=new Map,P=(I,s1,e1,K)=>{if(L.has(I))throw this.positionedError(e1,`emitter: duplicate component member '${I}' — it is already declared in this component body; `+"duplicates clobber silently across kinds",e);if(_3.has(I))throw this.positionedError(e1,`emitter: component member '${I}' collides with component runtime state — `+"the runtime owns this exact instance field; rename the member",e);if(I==="_init"||I==="_create"||I==="_setup"||/^create_block_\d+$/.test(I))throw this.positionedError(e1,`emitter: component member '${I}' collides with the generated lifecycle machinery — '_init', `+"'_create', '_setup', and 'create_block_N' are the class methods the component lowering emits (a same-named member would silently replace the generated one at runtime); rename the member",e);if(I==="mount"||I==="unmount"||I==="emit")throw this.positionedError(e1,`emitter: component member '${I}' collides with the component runtime API — 'mount', 'unmount', `+"and 'emit' are __Component's own methods, and the machinery calls them on every instance (a same-named member would silently shadow them); rename the member",e);if(L.set(I,e1),s1!=="hook"){if(T.set(I,s1),K)F.add(I)}},N=(I)=>{let s1="emitter: a component body line must be a member declaration — state (`x := v`, `@x := v`), a prop (`@x`, `@x?`), "+"computed (`x ~= e`), readonly (`x =! v`), a plain field (`x = v`), a method (`save = (e) ->`), a lifecycle hook "+"(beforeMount/mounted/beforeUnmount/unmounted/onError), an effect (`~> …`), `offer`/`accept`, or `render` — "+"this statement matches no category",e1=this.b.source;if((!y(I)||this.stores.idOf(I)===null)&&e1!==null){let K=(B)=>{let i1=y(B)?this.stores.idOf(B):null;return i1!==null?this.stores.selfSpan(i1):null},a1=l.indexOf(I),A=K(r),V=null;for(let B=a1-1;B>=0&&V===null;B--)V=K(l[B])?.[1]??null;if(V===null)V=A?.[0]??null;if(V!==null){while(VV&&/\s/.test(e1[B-1]))B--;throw this.positionedErrorAt(V,B,s1)}}throw this.positionedError(I,s1,e)},D=(I,s1,e1,K)=>{let a1=this.stores.idOf(I),A=a1!==null?this.stores.role(a1,s1):null;if(A?.sourceStart!=null)throw this.positionedErrorAt(A.sourceStart,A.sourceEnd,K);throw this.positionedError(e1,K,I,e)},O=(I,s1)=>{if(this.isRenderNode(I)){if(s1)W(I);if(R!==null)throw this.positionedError(I,"emitter: duplicate render block — a component takes exactly one",e);R=I;return}if(this.isAcceptNode(I)){if(s1)W(I);if(this.noteHeadKeyword("context-channel","accept",I),I.length===2)throw this.positionedError(I,`emitter: accept names its provider — \`accept ${I[1]} from \` reads the nearest ancestor instance of that component`,e);let e1=typeof I[2]==="string"?I[2]:Vt(I[2]),K=e1!==null?Wt(e1):null;if(!(e1!==null&&K1(e1.slice(e1.lastIndexOf(".")+1))&&(this.inScope(K)||this.moduleBound.has(K))))throw this.positionedError(I,`emitter: accept reads from a component bound in this module — '${e1??"…"}' is not one`,e);if(K!==e1&&this.importSpecOf(K)===null)throw this.positionedError(I,`emitter: accept reads from '${e1}', which roots at '${K}', a binding of this module — a provider `+"named through a path must root at an import (`import * as Ns …`), since a declaration file spells the "+"member through it",e);P(I[1],"accept",I,!0),S.push(I[1]),w.set(I[1],I[2]);return}if(this.isGateDecl(I)){if(s1)W(I);let e1=E.memberTarget(I[1]);if(e1===null)D(I,"target",I[1],"emitter: a render gate ('<~') target must be one private component name — patterns and member chains cannot name a gate");if(e1.isPublic)D(I,"target",I[1],`emitter: render gate '${e1.name}' must be private — '@${e1.name} <~ …' would expose route-prefetched state as a caller prop; remove '@' and pass an explicit prop where public input is intended`);let K=E.gateSource(I);if(K.error==="arity")D(I,"key",K.node,"emitter: a keyed render gate takes exactly one key argument — use @stash.name(params.id)");if(K.error==="path")D(I,"rhs",K.node,"emitter: '<~' requires a literal @stash. on the right-hand side, optionally called with one key");if(K.error==="key")D(I,"key",K.node,"emitter: a keyed render gate key may only be a literal or a params/query path (for example params.id or @query.tab)");P(e1.name,"gate",I,!0),d.push({name:e1.name,...K,node:I});return}if(this.isReactiveDecl(I)){let e1=E.memberTarget(I[1]);if(e1===null)throw this.positionedError(I,`emitter: a component ${I[0]==="state"?"state":"computed"} member takes a plain name or '@name' — `+"patterns and member chains have no member reading ",e);if(I[0]==="state"){if(this.firstAwaitIn(I[2])!==null)throw this.positionedError(I,"emitter: a component state initializer cannot await or yield — _init runs synchronously during construction",e);P(e1.name,"state",I,!0),h.push({name:e1.name,value:I[2],isPublic:e1.isPublic,required:!1,node:I})}else{if(this.containsAwait(I[2]))throw this.positionedError(I,"emitter: a computed ('~=') body cannot await — computeds evaluate synchronously (make it a state written by an effect)",e);if(E.containsYield(I[2]))throw this.positionedError(I,"emitter: a computed ('~=') body cannot yield — computeds evaluate synchronously",e);P(e1.name,"computed",I,!0),u.push({name:e1.name,value:I[2],node:I})}return}if(this.isReadonlyDecl(I)){let e1=E.memberTarget(I[1]);if(e1===null)throw this.positionedError(I,"emitter: a component readonly member takes a plain name or '@name' — patterns and member chains have no member reading ",e);if(this.firstAwaitIn(I[2])!==null)throw this.positionedError(I,"emitter: a component readonly initializer cannot await or yield — _init runs synchronously during construction",e);P(e1.name,"readonly",I,!1),c.push({name:e1.name,value:I[2],isPublic:e1.isPublic,node:I});return}if(this.isEffectDecl(I)){if(s1)W(I);if(I[1]!==null)throw this.positionedError(I,`emitter: a bound effect ('${typeof I[1]==="string"?I[1]:"…"} ~> …') has no component-body reading — `+"the handle would bind nothing; use a bare `~> …` effect, or bind the handle inside a method",e);if(E.effectBodyYields(I[2]))throw this.positionedError(I,"emitter: an effect ('~>') body cannot yield — the runtime calls the effect function (make the generator a named function the effect calls)",I);g.push(I);return}if(y(I)&&I[0]==="?"&&I.length===2){let e1=E.memberTarget(I[1]);if(e1!==null&&e1.isPublic){P(e1.name,"prop",I,!0),h.push({name:e1.name,value:void 0,isPublic:!0,required:!1,optional:!0,node:I});return}N(I)}if(E.isTypedWrapper(I)){let e1=E.memberTarget(I[1]);if(e1!==null&&e1.isPublic){P(e1.name,"prop",I,!0),h.push({name:e1.name,value:void 0,isPublic:!0,required:!0,node:I});return}N(I)}if(y(I)&&I[0]==="."&&I[1]==="this"&&I.length===3&&typeof I[2]==="string"){P(I[2],"prop",I,!0),h.push({name:I[2],value:void 0,isPublic:!0,required:!0,node:I});return}if(y(I)&&(I[0]==="="||I[0]==="void-assign")&&I.length===3){let e1=E.memberTarget(I[1]);if(e1===null)N(I);let K=I[0]==="void-assign";if(E.COMPONENT_HOOKS.has(e1.name)){if(s1)W(I);if(!T1(I[2]))throw this.positionedError(I,`emitter: the lifecycle hook '${e1.name}' takes a function value — \`${e1.name} = -> …\``,e);P(e1.name,"hook",I,!1),m.push({name:e1.name,func:I[2],isVoid:K,node:I});return}if(T1(I[2])){P(e1.name,"method",I,!1),p.push({name:e1.name,func:I[2],isVoid:K,node:I});return}if(K)throw this.positionedError(I,"emitter: the void marker (a trailing '!' on the defined name) requires a function value — `save! = ->`",e);if(this.firstAwaitIn(I[2])!==null)throw this.positionedError(I,"emitter: a component member initializer cannot await or yield — _init runs synchronously during construction",e);P(e1.name,"plain",I,!1),f.push({name:e1.name,value:I[2],isPublic:e1.isPublic,node:I});return}if(O1(I)){if(s1)W(I);for(let e1 of I.slice(1)){if(!y(e1)||e1[0]!==":"&&e1[0]!=="void-pair"||typeof e1[1]!=="string"||!T1(e1[2]))N(I);let K=e1[0]==="void-pair";if(E.COMPONENT_HOOKS.has(e1[1]))P(e1[1],"hook",I,!1),m.push({name:e1[1],func:e1[2],isVoid:K,node:e1});else P(e1[1],"method",I,!1),p.push({name:e1[1],func:e1[2],isVoid:K,node:e1})}return}N(I)},W=(I)=>{throw this.positionedError(I,"emitter: offer takes a state declaration — `offer theme := v` — so every offered value is a "+"container an accept reads and writes",e)};for(let I of l){if(this.isOfferNode(I)){let s1=I[1];if(!(this.isReactiveDecl(s1)&&s1[0]==="state"))W(I);this.noteHeadKeyword("context-channel","offer",I),O(s1,!0);let e1=E.memberTarget(s1[1]);b.push(e1.name);continue}O(I,!1)}let H=[];for(let{name:I,isPublic:s1}of[...h,...c,...f])if(s1)H.push(I);if(n!==null){if(L.has("rest"))throw this.positionedError(L.get("rest"),"emitter: a component that extends a host cannot declare a member named 'rest' — `@rest` is the reactive "+"view of the undeclared caller props (the rest-forwarding seam)",e);T.set("rest","rest"),F.add("rest")}if(this.scopes.length===1&&typeof this._componentName==="string"){let I=this.moduleComponentNames.get(this._componentName);if(I!==void 0&&I!==e)throw this.positionedError(e,`emitter: component '${this._componentName}' is bound more than once at module scope — rebinding `+"clobbers the first class silently (existing instances keep the old identity) and the typed artifacts would merge two same-named companion interfaces; give each component its own name");this.moduleComponentNames.set(this._componentName,e)}let G=this.ts&&this.scopes.length===1&&typeof this._componentName==="string"?`__${this._componentName}__computed`:null,k=this.ts?Oi(this.stores,this.b.source,e,G):null;if(k)k.hostSpan=a,k.hostNodeId=o,k.appStashSpec=this.appStashSpec,k.routesUnion=this.routesUnion,k.routeParams=this.routeParams;if(k!==null)this.componentInfo.set(e,k);let v=new Map;for(let I of k?.members??[]){let s1=E.memberLabel(I);if(s1!==null)v.set(I.name,{label:s1,optional:I.optional===!0})}if(n!==null)v.set("rest",{label:"rest",optional:!1});let j={members:T,memberReactive:F,memberKinds:v,name:this._componentName,extendsTag:s,extendsComponent:i,plainWrites:new Map,renderPlainReads:new Set},X=this.ind,x=" ".repeat(X+1),Z=x+" ";this.cframes.push(j),this.rframes.push({reactive:new Set,bound:new Set,members:T,memberReactive:F,memberKinds:v});let U=this.methodName;this.methodName=null;let r1=[...[...c,...f,...h].map((I)=>I.value),...u.map((I)=>I.value).filter((I)=>!(b1(I)&&I.length>2))].filter((I)=>I!==void 0),{entries:Q,names:l1}=this.scopedHoist(r1,[],{declareInPlace:!1});this.mark(e,"$self",()=>{if(this.b.emit("class"),this.ts&&this._componentTypeParams){let{text:M,owner:n1}=this._componentTypeParams;this.b.tsOnly(()=>this.mark(n1,"typeParams",()=>this.emitTypeText(n1,"typeParams",M)))}if(this.b.emit(` extends ${this.runtimeName("__Component")} { -`),k!==null)this.tsComponentMemberDeclares(k,x);if(d.length>0)this.b.emit(`${x}static __gates = [`),d.forEach((M,n1)=>{if(n1>0)this.b.emit(", ");if(!(this.ts&&k!==null&&k.members.some((z)=>z.node===M.node&&this.gateTwinSource(z,k)!==null))){this.noteVocabulary("gate-prefix","stash",M.pathNode);for(let z of M.keyParts??[])this.noteSilence(z,M.key)}this.mark(M.node,"$self",()=>{this.mark(M.node,"operator",()=>{}),this.mark(M.node,"rhs",()=>{if(M.key===null)this.emitQuotedPrimitive(M.path);else{if(this.b.emit("{ path: "),this.emitQuotedPrimitive(M.path),this.b.emit(", key: (params"),this.ts)this.b.tsOnly(()=>this.b.emit(": Record"));if(this.b.emit(", query"),this.ts)this.b.tsOnly(()=>this.b.emit(": Record"));this.b.emit(") => "),this.mark(M.node,"key",()=>{this.mark(M.key,"$self",()=>{if(M.keyParts===null){this.b.emit(M.keyCode);return}M.keyParts.forEach((z,q)=>{if(q>0)this.b.emit(".");this.emitPrimitive(z)})})}),this.b.emit(" }")}})})}),this.b.emit(`]; -`);if(H.length>0)this.b.emit(`${x}static __props = [${H.map((M)=>`'${M}'`).join(", ")}]; -`);if(n!==null){if(this.b.emit(`${x}static __extends = `),s!==null)this.emitQuotedPrimitive(s);else this.b.emit(`'${i}'`);this.b.emit(`; -`)}if(this.scopes.length===1&&typeof this._componentName==="string")this.componentNames.push(this._componentName);if(this.hmr&&this.modulePath&&this.scopes.length===1&&typeof this._componentName==="string")this.emitComponentHmrMeta(x,{bindingName:this._componentName,declaredProps:H,stateVars:h,derivedVars:u,gateVars:d,extendsTag:n,methods:p,hooks:m,hasRender:R!==null});if(k!==null)this.tsComponentCtor(k,x);if(this.b.emit(x),k!==null)this.b.tsOnly(()=>this.b.emit("private "));if(this.b.emit("_init(__given"),k!==null)this.b.tsOnly(()=>{this.b.emit(": "),this.emitDeclaredTypeCopies(Hs(k,{road:"face"}))});if(this.b.emit(`) { -`),this.scopes.push(l1),this.rframes.push({reactive:new Set,bound:l1}),Q.length)this.b.emit(Z),this.hoistLine(Q,Z),this.b.emit(` -`);let I=(M,n1)=>{this.renderDirectives(M,Z),this.b.emit(Z),this.mark(M,"$self",n1),this.b.emit(`; -`)},s1=(M,n1)=>{this.mark(M,"value",()=>this.withExpression(()=>{let _=E.needsGrouping(n1,"operand");if(_)this.b.emit("(");if(this.expr(n1),_)this.b.emit(")")}))},e1=(M,n1,_="target")=>{let z=this.b.offset;if(this.b.emit("this."),this.mark(M,_,()=>this.b.emit(n1)),this.ts){let q=this.stores.idOf(M),t1=q!==null?this.stores.role(q,_):null;if(t1&&typeof t1.sourceStart==="number")this.memberInitSites.push({key:[t1.sourceStart,t1.sourceEnd],site:[z,this.b.offset]})}},K=new Set(c),a1=[];if(k!==null)k.computedBodies=a1;let A=(M)=>{if(I(M.node,()=>{if(K.has(M)&&this.ts){let _=k?.members.find((z)=>z.node===M.node&&z.kind==="readonly");this.b.tsOnly(()=>this.b.emit("(")),this.b.emit("this"),this.b.tsOnly(()=>{this.b.emit(" as "),this.emitDeclaredTypeCopies(_?qs(_):"any"),this.b.emit(")")}),this.b.emit("."),this.mark(M.node,"target",()=>this.b.emit(M.name))}else e1(M.node,M.name);if(this.b.emit(" = "),M.isPublic)this.b.emit(`__given.${M.name} ?? `);let n1=this._componentName;if(this.isComponentDecl(M.value))this._componentName=M.name;s1(M.node,M.value),this._componentName=n1}),G!==null&&k!==null){let n1=k.members.find((_)=>_.node===M.node);if(n1!==void 0&&Qs(n1)){let _=this.capturedExprText(()=>s1(M.node,M.value));a1.push({name:M.name,code:_,block:!1})}}},V=(M)=>{let n1=L.get(M);I(n1,()=>{e1(n1,M,"name"),this.b.emit(` = ${this.runtimeName("getContext")}(`),this.mark(n1,"provider",()=>{let _=w.get(M);if(typeof _==="string")this.noteNameSpan(_);else this.expr(_)}),this.b.emit(`, '${M}')`)})},B=(M)=>{if(I(M.node,()=>{if(e1(M.node,M.name,M.value===void 0?"property":"target"),this.b.emit(` = ${this.runtimeName("__state")}(`),M.isPublic&&(M.required||M.value===void 0)){if(this.b.emit(`__given.__bind_${M.name}__ ?? __given.${M.name}`),M.required&&this.ts)this.b.tsOnly(()=>this.b.emit("!"))}else if(M.isPublic)this.b.emit(`__given.__bind_${M.name}__ ?? __given.${M.name} ?? `),s1(M.node,M.value);else s1(M.node,M.value);this.b.emit(")")}),G!==null&&k!==null){let n1=k.members.find((_)=>_.node===M.node);if(n1!==void 0&&ea(n1)){let _=this.capturedExprText(()=>s1(M.node,M.value));a1.push({name:M.name,code:_,block:!1})}}},i1=(M)=>{if(I(M.node,()=>{e1(M.node,M.name),this.b.emit(` = ${this.runtimeName("__computed")}(() => `),this.mark(M.node,"value",()=>this.withExpression(()=>this.computedBody(M.node,M.value,X+2))),this.b.emit(")")}),G===null||k===null)return;let n1=k.members.find((z)=>z.node===M.node&&z.kind==="computed");if(n1===void 0||n1.annotation!=null)return;let _=this.capturedExprText(()=>this.computedBody(M.node,M.value,0));a1.push({name:M.name,code:_,block:b1(M.value)&&M.value.length>2})},f1=(M,n1)=>{I(M.node,()=>{e1(M.node,M.name),this.b.emit(` = ${this.runtimeName("__gateBind")}(`),this.mark(M.node,"operator",()=>{}),this.mark(M.node,"rhs",()=>{this.b.emit(`this, ${n1}`)}),this.b.emit(")")})},h1=new Map;l.forEach((M,n1)=>{if(h1.set(M,n1),this.isOfferNode(M))h1.set(M[1],n1)});let u1=[...[...c,...f].map((M)=>({at:h1.get(M.node)??0,run:()=>A(M)})),...S.map((M)=>({at:h1.get(L.get(M))??0,run:()=>V(M)})),...h.map((M)=>({at:h1.get(M.node)??0,run:()=>B(M)})),...u.map((M)=>({at:h1.get(M.node)??0,run:()=>i1(M)}))].sort((M,n1)=>M.at-n1.at);for(let[M,n1]of d.entries())f1(n1,M);for(let M of u1)M.run();for(let M of b)I(L.get(M),()=>this.b.emit(`${this.runtimeName("setContext")}('${M}', this.${M})`));let p1=(M)=>{for(let n1 of g){let _=n1[2],z=this.containsAwait(_);this.b.emit(M),this.mark(n1,"$self",()=>{if(this.mark(n1,"operator",()=>this.b.emit(this.runtimeName("__effect"))),this.b.emit(z?"(async () => ":"(() => "),b1(_)&&_.length>2)this.mark(n1,"value",()=>this.withExpression(()=>{let q=this.liveStmts(_.slice(1),{forwards:!0}),{entries:t1,names:C}=this.scopedHoist(q,[]);for(let Y of this.pushReactiveFrame(q,C))C.add(Y);this.scopes.push(C),this.funcBlock(n1,_,q,X+2,t1),this.scopes.pop(),this.rframes.pop()}));else{let q=b1(_)?_[1]:_,{entries:t1,names:C}=this.scopedHoist([q],[]);if(this.scopes.push(C),this.rframes.push({reactive:new Set,bound:C}),this.b.emit("{ "),t1.length)this.hoistLine(t1),this.b.emit(" ");this.b.emit("return "),this.mark(n1,"value",()=>this.withExpression(()=>{let Y=E.needsGrouping(q,"operand")||O1(q);if(Y)this.b.emit("(");if(this.expr(q),Y)this.b.emit(")")})),this.b.emit("; }"),this.scopes.pop(),this.rframes.pop()}this.b.emit(")")}),this.b.emit(`; -`)}};if(this.hmr&&g.length>0)this.b.emit(`${Z}this._hmrBindEffects(); -`);else p1(Z);if(this.rframes.pop(),this.scopes.pop(),this.b.emit(`${x}} -`),this.hmr&&g.length>0)this.b.emit(`${x}_hmrBindEffects() { -`),this.scopes.push(l1),this.rframes.push({reactive:new Set,bound:l1}),p1(Z),this.rframes.pop(),this.scopes.pop(),this.b.emit(`${x}} -`);if(this.hmr&&u.length>0){this.b.emit(`${x}_hmrRefreshComputeds() { -`),this.scopes.push(l1),this.rframes.push({reactive:new Set,bound:l1});for(let M of u)this.b.emit(`${Z}this.${M.name}?.kill?.(); -`),this.b.emit(Z),e1(M.node,M.name),this.b.emit(` = ${this.runtimeName("__computed")}(() => `),this.mark(M.node,"value",()=>this.withExpression(()=>this.computedBody(M.node,M.value,X+2))),this.b.emit(`); -`);this.rframes.pop(),this.scopes.pop(),this.b.emit(`${x}} -`)}let c1=new Map;if(this.ts&&R!==null){let M=(n1,_)=>{if(!y(n1))return;let z=_,q=n1[0]==="switch"&&n1.length===4?null:E.templateHeadTag(n1);if(q==="object")z=O1(n1)&&n1.slice(1).some((t1)=>y(t1)&&t1[0]===":")?_:null;else if(q!==null&&$e.has(q))z={tag:q,svg:_?.svg===!0||hi.has(q)};else if(typeof n1[0]==="string"&&/^[A-Z]/.test(n1[0]))z=null;if(n1[0]===":"&&n1.length===3&&y(n1[1])&&n1[1][0]==="."&&n1[1][1]==="this"&&typeof n1[1][2]==="string"&&Ut.has(n1[1][2])){let t1=n1[2],C=typeof t1==="string"&&T.has(t1)?t1:y(t1)&&t1[0]==="."&&t1[1]==="this"&&t1.length===3&&typeof t1[2]==="string"&&T.has(t1[2])?t1[2]:null;if(C!==null){if(!c1.has(C))c1.set(C,{events:new Set,hosts:new Set,unknownHost:!1});let Y=c1.get(C);if(Y.events.add(n1[1][2]),_!==null&&ot(_.tag,_.svg))Y.hosts.add(xe(_.tag,_.svg));else Y.unknownHost=!0}}for(let t1 of n1)M(t1,z)};M(R,null)}let d1=({name:M,func:n1,isVoid:_,node:z})=>{let[,q,t1]=n1,C=c1.get(M),Y=C!==void 0&&!C.unknownHost&&C.hosts.size>0?[...C.hosts].join(" | "):null,o1=C!==void 0?this.tsEventTypeText([...C.events],Y):M==="onError"?Js:null;this.b.emit(x),this.mark(z,"$self",()=>{if(this.containsAwait(t1))this.b.emit("async ");if(E.containsYield(t1))this.b.emit("*");this.mark(z,"target",()=>this.mark(z,"key",()=>this.b.emit(M))),this.b.emit("("),this.emitParams(q,o1),this.b.emit(")"),this.tsReturnAnnotation(n1,this.containsAwait(t1),_,E.containsYield(t1),z),this.b.emit(" "),this.mark(z,"value",()=>{this.methodBlock(n1,t1,X+1,{isConstructor:!1,binds:[],methodName:M,voidBody:_})})}),this.b.emit(` -`)};for(let M of p)d1(M);for(let M of m)d1(M);if(R!==null)this.renderBody(R,X,j);if(s!==null&&j.inheritedBound!==!0)throw this.positionedError(e,`emitter: this component extends '${s}' but its render never creates a '<${s}>' element `+"at class scope — rest props forward onto the FIRST class-scope element of the extended tag (at any "+"nesting depth; conditional branches and loop rows never bind it), and without one every caller prop lands nowhere");if(i!==null&&j.inheritedBound!==!0)throw this.positionedError(e,`emitter: this component extends '${i}' but its render never constructs a '${i}' `+"at class scope — rest props forward onto the FIRST class-scope construction of the extended component (at "+"any nesting depth; conditional branches and loop rows never bind it), and without one every caller prop lands nowhere");this.b.emit(" ".repeat(X)+"}")}),this.methodName=U;for(let[I,s1]of j.plainWrites)if(j.renderPlainReads.has(I))throw this.positionedError(s1,`emitter: writing to '${I}' silently freezes the render — it is a plain ('=') member and render `+"reads it, but render never re-runs for a non-reactive field; declare it with ':=' (state) if it changes");this.rframes.pop(),this.cframes.pop(),this.ind=X}renderBody(e,t,r){let s=" ".repeat(t+1),i=s+" ",n=this.rstate,a={kind:"class",name:null,parent:null,self:null,creates:[],setups:[],vars:null,locals:new Set,localDecls:new Map,bindings:new Set,refs:[],loopStack:[],stmts:[],forceNonStatic:!1,root:null,originNode:e,renameHazardNames:new Set};this.rstate={elCount:0,textCount:0,blockCount:0,svgDepth:0,fragChildren:new Map,tags:new Map,svgEls:new Set,pendingClassArgs:null,pendingClassEl:null,pad:i,frame:r,node:e,records:[],sink:a,classRecord:a,transitionSlot:null,suppressedPairs:new Set,slotSeen:!1,scopeDepth:this.scopes.length};let o=e[1],l=b1(o)?o.slice(1):[o];a.stmts=l,this.rframes.push({reactive:new Set,bound:a.bindings});let c;try{c=this.walkRenderRoot(l,a)}finally{this.rframes.pop()}if(this.closeRenderScope(a),this.b.emit(s),this.ts)this.b.tsOnly(()=>this.b.emit("private "));if(this.b.emit(`_create() { +`)}componentExpr(e){let[,t,r]=e,s=null,i=null;if(t!==null){let I=typeof t==="string"?t:Vt(t),l1=I!==null?Wt(I):null;if(I!==null&&te(I)&&!I.includes("#"))s=I;else if(I!==null&&G1(I.slice(I.lastIndexOf(".")+1))&&(this.inScope(l1)||this.moduleBound.has(l1))){if(I===this._componentName)throw this.positionedError(e,`emitter: component '${I}' cannot extend itself — the render would construct it without end`);if(l1!==I&&this.importSpecOf(l1)===null)throw this.positionedError(e,`emitter: 'component extends ${I}' roots at '${l1}', a binding of this module — a host named through a `+"path must root at an import (`import * as Ns …`), since a declaration file spells the host through it");i=I}else throw this.positionedError(e,"emitter: 'component extends' takes an HTML tag or a component bound in this module — rest props forward "+`onto the first one the render creates; '${I??"…"}' is neither`)}let n=s??i,a=null,o=null;if(this.ts){let I=this.stores.idOf(e)??null,l1=I!==null?this.stores.selfSpan(I):null,L=this.b.source;if(l1!==null&&L!==null&&L.startsWith("component",l1[0])){if(this.silences.push([l1[0],l1[0]+9]),n!==null){let t1=/^component(\s+)extends(\s+)/.exec(L.slice(l1[0],l1[1]));if(t1!==null&&L.startsWith(n,l1[0]+t1[0].length)){let N=l1[0]+9+t1[1].length;this.silences.push([N,N+7]);let V=l1[0]+t1[0].length;if(s!==null)this.intrinsics.push({start:V,end:V+s.length,kind:"tag",tag:s,svg:!1});else a=[V,V+i.length],o=I}}}}let l=b1(r)?r.slice(1):[],c=[],h=[],f=[],u=[],d=[],p=[],m=[],g=[],b=[],S=[],w=new Map,R=null,T=new Map,j=new Set,M=new Map,x=(I,l1,L,t1)=>{if(M.has(I))throw this.positionedError(L,`emitter: duplicate component member '${I}' — it is already declared in this component body; `+"duplicates clobber silently across kinds",e);if(O3.has(I))throw this.positionedError(L,`emitter: component member '${I}' collides with component runtime state — `+"the runtime owns this exact instance field; rename the member",e);if(I==="_init"||I==="_create"||I==="_setup"||/^create_block_\d+$/.test(I))throw this.positionedError(L,`emitter: component member '${I}' collides with the generated lifecycle machinery — '_init', `+"'_create', '_setup', and 'create_block_N' are the class methods the component lowering emits (a same-named member would silently replace the generated one at runtime); rename the member",e);if(I==="mount"||I==="unmount"||I==="emit")throw this.positionedError(L,`emitter: component member '${I}' collides with the component runtime API — 'mount', 'unmount', `+"and 'emit' are __Component's own methods, and the machinery calls them on every instance (a same-named member would silently shadow them); rename the member",e);if(M.set(I,L),l1!=="hook"){if(T.set(I,l1),t1)j.add(I)}},A=(I)=>{let l1="emitter: a component body line must be a member declaration — state (`x := v`, `@x := v`), a prop (`@x`, `@x?`), "+"computed (`x ~= e`), readonly (`x =! v`), a plain field (`x = v`), a method (`save = (e) ->`), a lifecycle hook "+"(beforeMount/mounted/beforeUnmount/unmounted/onError), an effect (`~> …`), `offer`/`accept`, or `render` — "+"this statement matches no category",L=this.b.source;if((!y(I)||this.stores.idOf(I)===null)&&L!==null){let t1=(r1)=>{let o1=y(r1)?this.stores.idOf(r1):null;return o1!==null?this.stores.selfSpan(o1):null},N=l.indexOf(I),V=t1(r),B=null;for(let r1=N-1;r1>=0&&B===null;r1--)B=t1(l[r1])?.[1]??null;if(B===null)B=V?.[0]??null;if(B!==null){while(BB&&/\s/.test(L[r1-1]))r1--;throw this.positionedErrorAt(B,r1,l1)}}throw this.positionedError(I,l1,e)},C=(I,l1,L,t1)=>{let N=this.stores.idOf(I),V=N!==null?this.stores.role(N,l1):null;if(V?.sourceStart!=null)throw this.positionedErrorAt(V.sourceStart,V.sourceEnd,t1);throw this.positionedError(L,t1,I,e)},O=(I,l1)=>{if(this.isRenderNode(I)){if(l1)W(I);if(R!==null)throw this.positionedError(I,"emitter: duplicate render block — a component takes exactly one",e);R=I;return}if(this.isAcceptNode(I)){if(l1)W(I);if(this.noteHeadKeyword("context-channel","accept",I),I.length===2)throw this.positionedError(I,`emitter: accept names its provider — \`accept ${I[1]} from \` reads the nearest ancestor instance of that component`,e);let L=typeof I[2]==="string"?I[2]:Vt(I[2]),t1=L!==null?Wt(L):null;if(!(L!==null&&G1(L.slice(L.lastIndexOf(".")+1))&&(this.inScope(t1)||this.moduleBound.has(t1))))throw this.positionedError(I,`emitter: accept reads from a component bound in this module — '${L??"…"}' is not one`,e);if(t1!==L&&this.importSpecOf(t1)===null)throw this.positionedError(I,`emitter: accept reads from '${L}', which roots at '${t1}', a binding of this module — a provider `+"named through a path must root at an import (`import * as Ns …`), since a declaration file spells the "+"member through it",e);x(I[1],"accept",I,!0),S.push(I[1]),w.set(I[1],I[2]);return}if(this.isGateDecl(I)){if(l1)W(I);let L=E.memberTarget(I[1]);if(L===null)C(I,"target",I[1],"emitter: a render gate ('<~') target must be one private component name — patterns and member chains cannot name a gate");if(L.isPublic)C(I,"target",I[1],`emitter: render gate '${L.name}' must be private — '@${L.name} <~ …' would expose route-prefetched state as a caller prop; remove '@' and pass an explicit prop where public input is intended`);let t1=E.gateSource(I);if(t1.error==="arity")C(I,"key",t1.node,"emitter: a keyed render gate takes exactly one key argument — use @stash.name(params.id)");if(t1.error==="path")C(I,"rhs",t1.node,"emitter: '<~' requires a literal @stash. on the right-hand side, optionally called with one key");if(t1.error==="key")C(I,"key",t1.node,"emitter: a keyed render gate key may only be a literal or a params/query path (for example params.id or @query.tab)");x(L.name,"gate",I,!0),d.push({name:L.name,...t1,node:I});return}if(this.isReactiveDecl(I)){let L=E.memberTarget(I[1]);if(L===null)throw this.positionedError(I,`emitter: a component ${I[0]==="state"?"state":"computed"} member takes a plain name or '@name' — `+"patterns and member chains have no member reading ",e);if(I[0]==="state"){if(this.firstAwaitIn(I[2])!==null)throw this.positionedError(I,"emitter: a component state initializer cannot await or yield — _init runs synchronously during construction",e);x(L.name,"state",I,!0),f.push({name:L.name,value:I[2],isPublic:L.isPublic,required:!1,node:I})}else{if(this.containsAwait(I[2]))throw this.positionedError(I,"emitter: a computed ('~=') body cannot await — computeds evaluate synchronously (make it a state written by an effect)",e);if(E.containsYield(I[2]))throw this.positionedError(I,"emitter: a computed ('~=') body cannot yield — computeds evaluate synchronously",e);x(L.name,"computed",I,!0),u.push({name:L.name,value:I[2],node:I})}return}if(this.isReadonlyDecl(I)){let L=E.memberTarget(I[1]);if(L===null)throw this.positionedError(I,"emitter: a component readonly member takes a plain name or '@name' — patterns and member chains have no member reading ",e);if(this.firstAwaitIn(I[2])!==null)throw this.positionedError(I,"emitter: a component readonly initializer cannot await or yield — _init runs synchronously during construction",e);x(L.name,"readonly",I,!1),c.push({name:L.name,value:I[2],isPublic:L.isPublic,node:I});return}if(this.isEffectDecl(I)){if(l1)W(I);if(I[1]!==null)throw this.positionedError(I,`emitter: a bound effect ('${typeof I[1]==="string"?I[1]:"…"} ~> …') has no component-body reading — `+"the handle would bind nothing; use a bare `~> …` effect, or bind the handle inside a method",e);if(E.effectBodyYields(I[2]))throw this.positionedError(I,"emitter: an effect ('~>') body cannot yield — the runtime calls the effect function (make the generator a named function the effect calls)",I);g.push(I);return}if(y(I)&&I[0]==="?"&&I.length===2){let L=E.memberTarget(I[1]);if(L!==null&&L.isPublic){x(L.name,"prop",I,!0),f.push({name:L.name,value:void 0,isPublic:!0,required:!1,optional:!0,node:I});return}A(I)}if(E.isTypedWrapper(I)){let L=E.memberTarget(I[1]);if(L!==null&&L.isPublic){x(L.name,"prop",I,!0),f.push({name:L.name,value:void 0,isPublic:!0,required:!0,node:I});return}A(I)}if(y(I)&&I[0]==="."&&I[1]==="this"&&I.length===3&&typeof I[2]==="string"){x(I[2],"prop",I,!0),f.push({name:I[2],value:void 0,isPublic:!0,required:!0,node:I});return}if(y(I)&&(I[0]==="="||I[0]==="void-assign")&&I.length===3){let L=E.memberTarget(I[1]);if(L===null)A(I);let t1=I[0]==="void-assign";if(E.COMPONENT_HOOKS.has(L.name)){if(l1)W(I);if(!T1(I[2]))throw this.positionedError(I,`emitter: the lifecycle hook '${L.name}' takes a function value — \`${L.name} = -> …\``,e);x(L.name,"hook",I,!1),m.push({name:L.name,func:I[2],isVoid:t1,node:I});return}if(T1(I[2])){x(L.name,"method",I,!1),p.push({name:L.name,func:I[2],isVoid:t1,node:I});return}if(t1)throw this.positionedError(I,"emitter: the void marker (a trailing '!' on the defined name) requires a function value — `save! = ->`",e);if(this.firstAwaitIn(I[2])!==null)throw this.positionedError(I,"emitter: a component member initializer cannot await or yield — _init runs synchronously during construction",e);x(L.name,"plain",I,!1),h.push({name:L.name,value:I[2],isPublic:L.isPublic,node:I});return}if(O1(I)){if(l1)W(I);for(let L of I.slice(1)){if(!y(L)||L[0]!==":"&&L[0]!=="void-pair"||typeof L[1]!=="string"||!T1(L[2]))A(I);let t1=L[0]==="void-pair";if(E.COMPONENT_HOOKS.has(L[1]))x(L[1],"hook",I,!1),m.push({name:L[1],func:L[2],isVoid:t1,node:L});else x(L[1],"method",I,!1),p.push({name:L[1],func:L[2],isVoid:t1,node:L})}return}A(I)},W=(I)=>{throw this.positionedError(I,"emitter: offer takes a state declaration — `offer theme := v` — so every offered value is a "+"container an accept reads and writes",e)};for(let I of l){if(this.isOfferNode(I)){let l1=I[1];if(!(this.isReactiveDecl(l1)&&l1[0]==="state"))W(I);this.noteHeadKeyword("context-channel","offer",I),O(l1,!0);let L=E.memberTarget(l1[1]);b.push(L.name);continue}O(I,!1)}let G=[];for(let{name:I,isPublic:l1}of[...f,...c,...h])if(l1)G.push(I);if(n!==null){if(M.has("rest"))throw this.positionedError(M.get("rest"),"emitter: a component that extends a host cannot declare a member named 'rest' — `@rest` is the reactive "+"view of the undeclared caller props (the rest-forwarding seam)",e);if(T.set("rest","rest"),j.add("rest"),G.includes("asChild"))throw this.positionedError(M.get("asChild"),"emitter: a component that extends a host cannot declare a prop named 'asChild' — `asChild` at a "+"call site renders the projected element as the host, and the key is reserved beside key, ref, and children",e)}if(this.scopes.length===1&&typeof this._componentName==="string"){let I=this.moduleComponentNames.get(this._componentName);if(I!==void 0&&I!==e)throw this.positionedError(e,`emitter: component '${this._componentName}' is bound more than once at module scope — rebinding `+"clobbers the first class silently (existing instances keep the old identity) and the typed artifacts would merge two same-named companion interfaces; give each component its own name");this.moduleComponentNames.set(this._componentName,e)}let Y=this.ts&&this.scopes.length===1&&typeof this._componentName==="string"?`__${this._componentName}__computed`:null,k=this.ts?Oi(this.stores,this.b.source,e,Y):null;if(k)k.hostSpan=a,k.hostNodeId=o,k.appStashSpec=this.appStashSpec,k.routesUnion=this.routesUnion,k.routeParams=this.routeParams;if(k!==null)this.componentInfo.set(e,k);let v=new Map;for(let I of k?.members??[]){let l1=E.memberLabel(I);if(l1!==null)v.set(I.name,{label:l1,optional:I.optional===!0})}if(n!==null)v.set("rest",{label:"rest",optional:!1});let U=n!==null?on(l):new Set,Z={members:T,memberReactive:j,memberKinds:v,name:this._componentName,extendsTag:s,extendsComponent:i,restReads:U,plainWrites:new Map,renderPlainReads:new Set},P=this.ind,X=" ".repeat(P+1),F=X+" ";this.cframes.push(Z),this.rframes.push({reactive:new Set,bound:new Set,members:T,memberReactive:j,memberKinds:v});let e1=this.methodName;this.methodName=null;let Q=[...[...c,...h,...f].map((I)=>I.value),...u.map((I)=>I.value).filter((I)=>!(b1(I)&&I.length>2))].filter((I)=>I!==void 0),{entries:a1,names:d1}=this.scopedHoist(Q,[],{declareInPlace:!1});this.mark(e,"$self",()=>{if(this.b.emit("class"),this.ts&&this._componentTypeParams){let{text:K,owner:_}=this._componentTypeParams;this.b.tsOnly(()=>this.mark(_,"typeParams",()=>this.emitTypeText(_,"typeParams",K)))}if(this.b.emit(` extends ${this.runtimeName("__Component")} { +`),k!==null)this.tsComponentMemberDeclares(k,X);if(d.length>0)this.b.emit(`${X}static __gates = [`),d.forEach((K,_)=>{if(_>0)this.b.emit(", ");if(!(this.ts&&k!==null&&k.members.some((q)=>q.node===K.node&&this.gateTwinSource(q,k)!==null))){this.noteVocabulary("gate-prefix","stash",K.pathNode);for(let q of K.keyParts??[])this.noteSilence(q,K.key)}this.mark(K.node,"$self",()=>{this.mark(K.node,"operator",()=>{}),this.mark(K.node,"rhs",()=>{if(K.key===null)this.emitQuotedPrimitive(K.path);else{if(this.b.emit("{ path: "),this.emitQuotedPrimitive(K.path),this.b.emit(", key: (params"),this.ts)this.b.tsOnly(()=>this.b.emit(": Record"));if(this.b.emit(", query"),this.ts)this.b.tsOnly(()=>this.b.emit(": Record"));this.b.emit(") => "),this.mark(K.node,"key",()=>{this.mark(K.key,"$self",()=>{if(K.keyParts===null){this.b.emit(K.keyCode);return}K.keyParts.forEach((q,i1)=>{if(i1>0)this.b.emit(".");this.emitPrimitive(q)})})}),this.b.emit(" }")}})})}),this.b.emit(`]; +`);if(G.length>0)this.b.emit(`${X}static __props = [${G.map((K)=>`'${K}'`).join(", ")}]; +`);if(n!==null){if(this.b.emit(`${X}static __extends = `),s!==null)this.emitQuotedPrimitive(s);else this.b.emit(`'${i}'`);this.b.emit(`; +`)}if(this.scopes.length===1&&typeof this._componentName==="string")this.componentNames.push(this._componentName);if(this.hmr&&this.modulePath&&this.scopes.length===1&&typeof this._componentName==="string")this.emitComponentHmrMeta(X,{bindingName:this._componentName,declaredProps:G,stateVars:f,derivedVars:u,gateVars:d,extendsTag:n,methods:p,hooks:m,hasRender:R!==null});if(k!==null)this.tsComponentCtor(k,X);if(this.b.emit(X),k!==null)this.b.tsOnly(()=>this.b.emit("private "));if(this.b.emit("_init(__given"),k!==null)this.b.tsOnly(()=>{this.b.emit(": "),this.emitDeclaredTypeCopies(Gn(k,{road:"face"}))});if(this.b.emit(`) { +`),this.scopes.push(d1),this.rframes.push({reactive:new Set,bound:d1}),a1.length)this.b.emit(F),this.hoistLine(a1,F),this.b.emit(` +`);let I=(K,_)=>{this.renderDirectives(K,F),this.b.emit(F),this.mark(K,"$self",_),this.b.emit(`; +`)},l1=(K,_)=>{this.mark(K,"value",()=>this.withExpression(()=>{let H=E.needsGrouping(_,"operand");if(H)this.b.emit("(");if(this.expr(_),H)this.b.emit(")")}))},L=(K,_,H="target")=>{let q=this.b.offset;if(this.b.emit("this."),this.mark(K,H,()=>this.b.emit(_)),this.ts){let i1=this.stores.idOf(K),D=i1!==null?this.stores.role(i1,H):null;if(D&&typeof D.sourceStart==="number")this.memberInitSites.push({key:[D.sourceStart,D.sourceEnd],site:[q,this.b.offset]})}},t1=new Set(c),N=[];if(k!==null)k.computedBodies=N;let V=(K)=>{if(I(K.node,()=>{if(t1.has(K)&&this.ts){let H=k?.members.find((q)=>q.node===K.node&&q.kind==="readonly");this.b.tsOnly(()=>this.b.emit("(")),this.b.emit("this"),this.b.tsOnly(()=>{this.b.emit(" as "),this.emitDeclaredTypeCopies(H?Jn(H):"any"),this.b.emit(")")}),this.b.emit("."),this.mark(K.node,"target",()=>this.b.emit(K.name))}else L(K.node,K.name);if(this.b.emit(" = "),K.isPublic)this.b.emit(`__given.${K.name} ?? `);let _=this._componentName;if(this.isComponentDecl(K.value))this._componentName=K.name;l1(K.node,K.value),this._componentName=_}),Y!==null&&k!==null){let _=k.members.find((H)=>H.node===K.node);if(_!==void 0&&ta(_)){let H=this.capturedExprText(()=>l1(K.node,K.value));N.push({name:K.name,code:H,block:!1})}}},B=(K)=>{let _=M.get(K);I(_,()=>{L(_,K,"name"),this.b.emit(` = ${this.runtimeName("getContext")}(`),this.mark(_,"provider",()=>{let H=w.get(K);if(typeof H==="string")this.noteNameSpan(H);else this.expr(H)}),this.b.emit(`, '${K}')`)})},r1=(K)=>{if(I(K.node,()=>{if(L(K.node,K.name,K.value===void 0?"property":"target"),this.b.emit(` = ${this.runtimeName("__state")}(`),K.isPublic&&(K.required||K.value===void 0)){if(this.b.emit(`__given.__bind_${K.name}__ ?? __given.${K.name}`),K.required&&this.ts)this.b.tsOnly(()=>this.b.emit("!"))}else if(K.isPublic)this.b.emit(`__given.__bind_${K.name}__ ?? __given.${K.name} ?? `),l1(K.node,K.value);else l1(K.node,K.value);this.b.emit(")")}),Y!==null&&k!==null){let _=k.members.find((H)=>H.node===K.node);if(_!==void 0&&ra(_)){let H=this.capturedExprText(()=>l1(K.node,K.value));N.push({name:K.name,code:H,block:!1})}}},o1=(K)=>{if(I(K.node,()=>{L(K.node,K.name),this.b.emit(` = ${this.runtimeName("__computed")}(() => `),this.mark(K.node,"value",()=>this.withExpression(()=>this.computedBody(K.node,K.value,P+2))),this.b.emit(")")}),Y===null||k===null)return;let _=k.members.find((q)=>q.node===K.node&&q.kind==="computed");if(_===void 0||_.annotation!=null)return;let H=this.capturedExprText(()=>this.computedBody(K.node,K.value,0));N.push({name:K.name,code:H,block:b1(K.value)&&K.value.length>2})},f1=(K,_)=>{I(K.node,()=>{L(K.node,K.name),this.b.emit(` = ${this.runtimeName("__gateBind")}(`),this.mark(K.node,"operator",()=>{}),this.mark(K.node,"rhs",()=>{this.b.emit(`this, ${_}`)}),this.b.emit(")")})},h1=new Map;l.forEach((K,_)=>{if(h1.set(K,_),this.isOfferNode(K))h1.set(K[1],_)});let p1=[...[...c,...h].map((K)=>({at:h1.get(K.node)??0,run:()=>V(K)})),...S.map((K)=>({at:h1.get(M.get(K))??0,run:()=>B(K)})),...f.map((K)=>({at:h1.get(K.node)??0,run:()=>r1(K)})),...u.map((K)=>({at:h1.get(K.node)??0,run:()=>o1(K)}))].sort((K,_)=>K.at-_.at);for(let[K,_]of d.entries())f1(_,K);for(let K of p1)K.run();for(let K of b)I(M.get(K),()=>this.b.emit(`${this.runtimeName("setContext")}('${K}', this.${K})`));let n1=(K)=>{for(let _ of g){let H=_[2],q=this.containsAwait(H);this.b.emit(K),this.mark(_,"$self",()=>{if(this.mark(_,"operator",()=>this.b.emit(this.runtimeName("__effect"))),this.b.emit(q?"(async () => ":"(() => "),b1(H)&&H.length>2)this.mark(_,"value",()=>this.withExpression(()=>{let i1=this.liveStmts(H.slice(1),{forwards:!0}),{entries:D,names:z}=this.scopedHoist(i1,[]);for(let s1 of this.pushReactiveFrame(i1,z))z.add(s1);this.scopes.push(z),this.funcBlock(_,H,i1,P+2,D),this.scopes.pop(),this.rframes.pop()}));else{let i1=b1(H)?H[1]:H,{entries:D,names:z}=this.scopedHoist([i1],[]);if(this.scopes.push(z),this.rframes.push({reactive:new Set,bound:z}),this.b.emit("{ "),D.length)this.hoistLine(D),this.b.emit(" ");this.b.emit("return "),this.mark(_,"value",()=>this.withExpression(()=>{let s1=E.needsGrouping(i1,"operand")||O1(i1);if(s1)this.b.emit("(");if(this.expr(i1),s1)this.b.emit(")")})),this.b.emit("; }"),this.scopes.pop(),this.rframes.pop()}this.b.emit(")")}),this.b.emit(`; +`)}};if(this.hmr&&g.length>0)this.b.emit(`${F}this._hmrBindEffects(); +`);else n1(F);if(this.rframes.pop(),this.scopes.pop(),this.b.emit(`${X}} +`),this.hmr&&g.length>0)this.b.emit(`${X}_hmrBindEffects() { +`),this.scopes.push(d1),this.rframes.push({reactive:new Set,bound:d1}),n1(F),this.rframes.pop(),this.scopes.pop(),this.b.emit(`${X}} +`);if(this.hmr&&u.length>0){this.b.emit(`${X}_hmrRefreshComputeds() { +`),this.scopes.push(d1),this.rframes.push({reactive:new Set,bound:d1});for(let K of u)this.b.emit(`${F}this.${K.name}?.kill?.(); +`),this.b.emit(F),L(K.node,K.name),this.b.emit(` = ${this.runtimeName("__computed")}(() => `),this.mark(K.node,"value",()=>this.withExpression(()=>this.computedBody(K.node,K.value,P+2))),this.b.emit(`); +`);this.rframes.pop(),this.scopes.pop(),this.b.emit(`${X}} +`)}let u1=new Map;if(this.ts&&R!==null){let K=(_,H)=>{if(!y(_))return;let q=H,i1=_[0]==="switch"&&_.length===4?null:E.templateHeadTag(_);if(i1==="object")q=O1(_)&&_.slice(1).some((D)=>y(D)&&D[0]===":")?H:null;else if(i1!==null&&$e.has(i1))q={tag:i1,svg:H?.svg===!0||fi.has(i1)};else if(typeof _[0]==="string"&&/^[A-Z]/.test(_[0]))q=null;if(_[0]===":"&&_.length===3&&y(_[1])&&_[1][0]==="."&&_[1][1]==="this"&&typeof _[1][2]==="string"&&Ut.has(_[1][2])){let D=_[2],z=typeof D==="string"&&T.has(D)?D:y(D)&&D[0]==="."&&D[1]==="this"&&D.length===3&&typeof D[2]==="string"&&T.has(D[2])?D[2]:null;if(z!==null){if(!u1.has(z))u1.set(z,{events:new Set,hosts:new Set,unknownHost:!1});let s1=u1.get(z);if(s1.events.add(_[1][2]),H!==null&&ot(H.tag,H.svg))s1.hosts.add(xe(H.tag,H.svg));else s1.unknownHost=!0}}for(let D of _)K(D,q)};K(R,null)}let c1=({name:K,func:_,isVoid:H,node:q})=>{let[,i1,D]=_,z=u1.get(K),s1=z!==void 0&&!z.unknownHost&&z.hosts.size>0?[...z.hosts].join(" | "):null,R1=z!==void 0?this.tsEventTypeText([...z.events],s1):K==="onError"?Qn:null;this.b.emit(X),this.mark(q,"$self",()=>{if(this.containsAwait(D))this.b.emit("async ");if(E.containsYield(D))this.b.emit("*");this.mark(q,"target",()=>this.mark(q,"key",()=>this.b.emit(K))),this.b.emit("("),this.emitParams(i1,R1),this.b.emit(")"),this.tsReturnAnnotation(_,this.containsAwait(D),H,E.containsYield(D),q),this.b.emit(" "),this.mark(q,"value",()=>{this.methodBlock(_,D,P+1,{isConstructor:!1,binds:[],methodName:K,voidBody:H})})}),this.b.emit(` +`)};for(let K of p)c1(K);for(let K of m)c1(K);if(R!==null)this.renderBody(R,P,Z);if(s!==null&&Z.inheritedBound!==!0)throw this.positionedError(e,`emitter: this component extends '${s}' but its render never creates a '<${s}>' element `+"at class scope — rest props forward onto the FIRST class-scope element of the extended tag (at any "+"nesting depth; conditional branches and loop rows never bind it), and without one every caller prop lands nowhere");if(i!==null&&Z.inheritedBound!==!0)throw this.positionedError(e,`emitter: this component extends '${i}' but its render never constructs a '${i}' `+"at class scope — rest props forward onto the FIRST class-scope construction of the extended component (at "+"any nesting depth; conditional branches and loop rows never bind it), and without one every caller prop lands nowhere");this.b.emit(" ".repeat(P)+"}")}),this.methodName=e1;for(let[I,l1]of Z.plainWrites)if(Z.renderPlainReads.has(I))throw this.positionedError(l1,`emitter: writing to '${I}' silently freezes the render — it is a plain ('=') member and render `+"reads it, but render never re-runs for a non-reactive field; declare it with ':=' (state) if it changes");this.rframes.pop(),this.cframes.pop(),this.ind=P}renderBody(e,t,r){let s=" ".repeat(t+1),i=s+" ",n=this.rstate,a={kind:"class",name:null,parent:null,self:null,creates:[],setups:[],vars:null,locals:new Set,localDecls:new Map,bindings:new Set,refs:[],loopStack:[],stmts:[],forceNonStatic:!1,root:null,originNode:e,renameHazardNames:new Set};this.rstate={elCount:0,textCount:0,blockCount:0,svgDepth:0,fragChildren:new Map,tags:new Map,svgEls:new Set,pendingClassArgs:null,pendingClassEl:null,pad:i,frame:r,node:e,records:[],sink:a,classRecord:a,transitionSlot:null,suppressedPairs:new Set,slotSeen:!1,scopeDepth:this.scopes.length};let o=e[1],l=b1(o)?o.slice(1):[o];a.stmts=l,this.rframes.push({reactive:new Set,bound:a.bindings});let c;try{c=this.walkRenderRoot(l,a)}finally{this.rframes.pop()}if(this.closeRenderScope(a),this.b.emit(s),this.ts)this.b.tsOnly(()=>this.b.emit("private "));if(this.b.emit(`_create() { `),this.mark(e,"$self",()=>this.mark(e,"body",()=>{this.withRecordContext(a,()=>{if(a.locals.size>0)this.b.emit(`${i}let ${[...a.locals].join(", ")}; `);this.replayCreates(a,i)}),this.b.emit(`${i}return ${c}; `)})),this.b.emit(`${s}} `),a.setups.length>0){if(this.b.emit(s),this.ts)this.b.tsOnly(()=>this.b.emit("private "));this.b.emit(`_setup() { `),this.withRecordContext(a,()=>this.replaySetups(a,i)),this.b.emit(`${s}} -`)}for(let f of this.rstate.records)this.emitFactory(f,t,e);this.rstate=n}walkRenderRoot(e,t){if(e.length===0||e.length===1&&e[0]==="null")return"null";let r=this.walkChildStmts(e);if(t.kind==="class"&&this.rstate.fragChildren.has(r))this.renderLine(null,()=>this.b.emit(`this._nodes = [...${r}.childNodes]`));return r}walkChildStmts(e){let t=this.rstate,r=()=>{if(t.transitionSlot!==null&&t.transitionSlot.record===t.sink)t.transitionSlot=null},s=e.reduce((a,o)=>a+(this.isRenderBinding(o)?0:1),0);if(s===0){for(let o of e)this.renderNode(o);let a=this.newRenderVar("empty");return this.renderLine(null,()=>this.b.emit(`${a} = document.createComment('')`)),a}if(s===1){let a=null;for(let o of e){let l=this.renderNode(o);if(l!=null)a=l,r()}return a}let i=this.newRenderVar("frag");this.renderLine(null,()=>this.b.emit(`${i} = document.createDocumentFragment()`));let n=[];for(let a of e){let o=this.renderNode(a);if(o==null)continue;r(),this.renderLine(null,()=>this.b.emit(`${i}.appendChild(${o})`)),n.push(o)}return this.rstate.fragChildren.set(i,n),i}withRecordContext(e,t){let r=this.renderSelf,s=this.renderRecord;this.renderSelf=e.self,this.renderRecord=e,this.rframes.push({reactive:new Set,bound:e.bindings,block:!0,loopVars:e.bindings,loopBindings:E.loopBindingsOf(e)});try{t()}finally{this.rframes.pop(),this.renderSelf=r,this.renderRecord=s}}renderDirectives(e,t){if(!this.ts||!this.tsDirectivesArmed||e==null||!y(e))return;let r=this.tsDirectiveMap.get(e);if(r===void 0)return;this.tsDirectiveMap.delete(e);for(let s of r)this.tsDirectiveLine(s,t,!0)}replayCreates(e,t){let r=this.replayPad;this.replayPad=t;try{for(let{node:s,fn:i,semi:n}of e.creates){if(this.renderDirectives(s,t),this.b.emit(t),s!=null)this.mark(s,"$self",i);else i();this.b.emit(n?`; +`)}for(let h of this.rstate.records)this.emitFactory(h,t,e);this.rstate=n}walkRenderRoot(e,t){if(e.length===0||e.length===1&&e[0]==="null")return"null";let r=this.walkChildStmts(e);if(t.kind==="class"&&this.rstate.fragChildren.has(r))this.renderLine(null,()=>this.b.emit(`this._nodes = [...${r}.childNodes]`));return r}walkChildStmts(e){let t=this.rstate,r=()=>{if(t.transitionSlot!==null&&t.transitionSlot.record===t.sink)t.transitionSlot=null},s=e.reduce((a,o)=>a+(this.isRenderBinding(o)?0:1),0);if(s===0){for(let o of e)this.renderNode(o);let a=this.newRenderVar("empty");return this.renderLine(null,()=>this.b.emit(`${a} = document.createComment('')`)),a}if(s===1){let a=null;for(let o of e){let l=this.renderNode(o);if(l!=null)a=l,r()}return a}let i=this.newRenderVar("frag");this.renderLine(null,()=>this.b.emit(`${i} = document.createDocumentFragment()`));let n=[];for(let a of e){let o=this.renderNode(a);if(o==null)continue;r(),this.renderLine(null,()=>this.b.emit(`${i}.appendChild(${o})`)),n.push(o)}return this.rstate.fragChildren.set(i,n),i}withRecordContext(e,t){let r=this.renderSelf,s=this.renderRecord;this.renderSelf=e.self,this.renderRecord=e,this.rframes.push({reactive:new Set,bound:e.bindings,block:!0,loopVars:e.bindings,loopBindings:E.loopBindingsOf(e)});try{t()}finally{this.rframes.pop(),this.renderSelf=r,this.renderRecord=s}}renderDirectives(e,t){if(!this.ts||!this.tsDirectivesArmed||e==null||!y(e))return;let r=this.tsDirectiveMap.get(e);if(r===void 0)return;this.tsDirectiveMap.delete(e);for(let s of r)this.tsDirectiveLine(s,t,!0)}replayCreates(e,t){let r=this.replayPad;this.replayPad=t;try{for(let{node:s,fn:i,semi:n}of e.creates){if(this.renderDirectives(s,t),this.b.emit(t),s!=null)this.mark(s,"$self",i);else i();this.b.emit(n?`; `:` `)}}finally{this.replayPad=r}}replaySetups(e,t){for(let r of e.setups)if(r.kind==="effect"){this.renderDirectives(r.node,t),this.b.emit(t);let s=()=>{this.b.emit(`${this.runtimeName("__effect")}(() => { `);let i=this._narrowedReads;this._narrowedReads=this.narrowedReadNames();try{this.narrowGuard(),r.fn()}finally{this._narrowedReads=i}this.b.emit(" })")};if(r.node!=null)this.mark(r.node,"$self",s);else if(r.within!=null){let i=this.b.claimWithin;this.b.claimWithin=r.within;try{s()}finally{this.b.claimWithin=i}}else s();this.b.emit(`; -`)}else{if(r.node!=null)this.renderDirectives(r.node,t);r.fn(t)}}renderLine(e,t,r=!0){this.rstate.sink.creates.push({node:e,fn:t,semi:r})}newRenderVar(e="el"){let t=this.rstate.elCount++,r=this.rstate.sink;if(r.kind==="class")return`this._${e}${t}`;let s=`_${e}${t}`;return r.vars.add(s),s}newRenderText(){let e=this.rstate.textCount++,t=this.rstate.sink;if(t.kind==="class")return`this._t${e}`;let r=`_t${e}`;return t.vars.add(r),r}newBlockName(){let e;do e=`create_block_${this.rstate.blockCount++}`;while(this.rstate.frame.members.has(e)||this.rstate.frame.members.has(`${e}_iter`));return e}renderEffect(e,t,r){if(r!==void 0)this.checkSetupLocalRefs(r,e);let s=e==null?this._textOwner:null,i=s!=null?this.stores.idOf(s):null,n=i!=null?[this.stores.node(i).sourceStart,this.stores.node(i).sourceEnd]:null;this.rstate.sink.setups.push({kind:"effect",node:e,fn:t,within:n})}checkSetupLocalRefs(e,t){let r=this.rstate.sink;if(r.kind!=="class"||r.locals.size===0)return;if(Ee(e,r.locals))throw this.positionedError(t??e,"emitter: a render local cannot appear in a LIVE binding or a dynamic block head at the render top level — "+"locals live in _create() and reactive machinery lives in _setup() (a compiled read here would be a mount-time ReferenceError); bind the value to a member instead",y(e)?e:this.rstate.node)}renderExpr(e){let t=null;return this.withExpression(()=>{let r=E.needsGrouping(e,"operand");if(r)this.b.emit("(");let s=this.b.offset;if(this.expr(e),t=[s,this.b.offset],r)this.b.emit(")")}),t}renderVarKind(e,t){let r=this.rstate;if(!r)return null;if(r.sink.locals.has(e))return"local";for(let s=r.sink.loopStack.length-1;s>=0;s--){let i=r.sink.loopStack[s];if(i.itemVar===e||i.indexVar===e)return i.reactiveSource?"loop-reactive":"loop"}if(t!==void 0){for(let s=r.sink.parent;s;s=s.parent)if(s.locals.has(e))throw this.positionedError(t,`emitter: render local '${e}' is not visible here — each dynamic block (a conditional branch, a loop body) `+"is its own factory function, and render locals never cross that boundary; declare the local inside this block, or use a member",this.rstate.node)}return null}renderReactive(e){if(typeof e==="string"){let i=this.renderVarKind(e);if(i!==null)return i==="loop-reactive";let n=this.resolveBareRead(e);return n==="reactive"||n==="member-reactive"}if(!y(e))return!1;if(e[0]==="."&&e[1]==="this"&&e.length===3&&typeof e[2]==="string")return this.memberIsReactive(e[2]);let t=(i)=>{if(typeof i!=="string"||i==="this"||this.renderVarKind(i)!==null)return!1;let n=this.resolveBareRead(i);return n==="member"||n===null&&(this.inScope(i)||this.moduleBound!==void 0&&this.moduleBound.has(i))},r=(i)=>{while(y(i)&&(i[0]==="."||i[0]==="[]")&&i.length===3)i=i[1];return i==="this"||t(i)},s=(i)=>{while(y(i)&&(i[0]==="."||i[0]==="[]"||i[0]==="?."||i[0]==="optindex")&&i.length===3)i=i[1];return typeof i==="string"&&this.renderVarKind(i)==="loop-reactive"};if(e[0]==="."&&e.length===3&&r(e[1]))return!0;if((e[0]==="."||e[0]==="[]")&&e.length===3&&s(e))return!0;if(y(e[0])&&e[0][0]==="."&&e[0][1]==="this"&&typeof e[0][2]==="string"&&this.cframes.length>0&&this.cframes[this.cframes.length-1].members.has(e[0][2]))return!0;return e.some((i)=>this.renderReactive(i))}isRenderBinding(e){return y(e)&&la.has(e[0])&&e.length===3&&typeof e[1]==="string"&&ft.test(e[1])}renderSpreadError(e,t=null){return this.positionedError(e,t!==null?"emitter: a spread has no reading on a child component — pass each prop as a named pair; to forward the "+`caller's undeclared props onto '${t}', declare the wrapper \`component extends ${t}\` and construct it in the render`:"emitter: a spread has no render reading — an element takes named attribute pairs, and `= expr` renders ONE value",this.rstate.node)}renderNode(e){if(this.isRenderBinding(e))return this.renderBinding(e);if(dt(e))throw this.renderSpreadError(e);if(y(e)&<(e[0])&&e.length===3)throw this.positionedError(e,"emitter: an assignment at a render child position must declare a render local (`name = expr` / compound forms "+"on a plain name) — member and chain writes have no render reading here; put the write in a handler or method");if(typeof e==="string"){if(e.startsWith('"')||e.startsWith("'")||e.startsWith("`")){let c=this.newRenderText();return this.renderLine(null,()=>this.b.emit(`${c} = document.createTextNode(${e})`)),c}let n=this.renderVarKind(e,e);if(n!==null){let c=this.newRenderText();if(n==="loop-reactive")this.renderLine(null,()=>this.b.emit(`${c} = document.createTextNode('')`)),this.renderEffect(null,()=>this.b.emit(`${c}.data = ${e};`));else this.renderLine(null,()=>this.b.emit(`${c} = document.createTextNode(String(${e}))`));return c}let a=this.resolveBareRead(e);if(a==="reactive"||a==="member-reactive"){let c=this.newRenderText();return this.renderLine(null,()=>this.b.emit(`${c} = document.createTextNode('')`)),this.renderEffect(null,()=>{this.b.emit(`${c}.data = `),this.expr(e),this.b.emit(";")}),c}if(e==="slot")return this.renderSlot(e,[]);if(K1(e))return this.renderChildComponent(e,e,[]);if(a==="member"){let c=this.newRenderText();return this.renderLine(null,()=>{this.b.emit(`${c} = document.createTextNode(String(`),this.expr(e),this.b.emit("))")}),c}let[o,l]=e.split("#");return this.renderTag(e,o||"div",[],[],l)}if(!y(e))throw this.positionedError(e,"emitter: unsupported render child");let t=e[0],r=typeof t==="string"?t:null;if(r==="if"&&e.length>=3)return this.renderCond(e);if(r==="switch"&&e.length===4)return this.renderSwitch(e);if(r==="for-in"&&e.length===6)return this.renderLoop(e);if(r==="for-of"&&e.length===6)throw this.positionedError(e,"emitter: `for … of` (object iteration) has no reconcile reading inside render — "+"__reconcile expects an array and crashes at mount; iterate entries instead: `for pair in Object.entries(obj)`");if(r==="for-as"&&e.length===6)throw this.positionedError(e,"emitter: an async loop has no render reading — reconciliation is synchronous; collect the items into a state "+"member and loop over it");if(r==="comprehension"||r==="while"||r==="loop")throw this.positionedError(e,"emitter: only `for … in` drives list rendering — while/loop/comprehensions have no reconcile reading inside "+"render");if(this.isEffectDecl(e)||this.isReactiveDecl(e)||this.isReadonlyDecl(e))throw this.positionedError(e,"emitter: declarations and effects have no render-body reading — declare members in the component body, above render");if(r==="slot")return this.renderSlot(e,e.slice(1));if(r!==null&&K1(r))return this.renderChildComponent(e,r,e.slice(1));if(r==="."&&e[1]==="this"&&typeof e[2]==="string")throw this.positionedError(e,`emitter: bare \`@${e[2]}\` is not rendered as text — use \`= @${e[2]}\` to render it`);let s=pi(e);if(s!==null)return this.renderChildComponent(e,{text:s,node:e},[]);let i=y(t)?pi(t):null;if(i!==null)return this.renderChildComponent(e,{text:i,node:t},e.slice(1));if(r==="."){let{tag:n,classes:a,id:o}=E.collectTemplateClasses(e);if(n!==null&&te(n)&&this.renderVarKind(n)===null)return this.renderTag(e,n,a,[],o);return this.renderTextExpr(e)}if(r==="__text__"){if(e.length>2)throw this.positionedError(e,"emitter: the `= expr` text form takes ONE expression — an indented continuation under the `=` line has no "+"render reading (inside render a leading `.` starts a NEW element, so the continuation cannot be a method chain; put the whole expression on the `=` line, or bind it in a method)",this.rstate.node);if(dt(e[1]))throw this.renderSpreadError(e[1]);return this.renderTextExpr(e[1]??"undefined",e,!0)}if(r!==null&&te(r.split("#")[0])&&e.length>=1&&this.renderVarKind(r)===null){let[n,a]=r.split("#");return this.renderTag(e,n||"div",[],e.slice(1),a)}if(y(t)){if(y(t[0])&&t[0][0]==="."&&t[0][2]==="__clsx"){let l=t[0][1],c=t.slice(1);if(y(l)){let{tag:f,classes:h,id:u}=E.collectTemplateClasses(l);if(f!==null&&te(f))return this.renderDynamicTag(e,f,c,e.slice(1),h,u)}else if(typeof l==="string"&&te(l.split("#")[0])){let[f,h]=l.split("#");return this.renderDynamicTag(e,f||"div",c,e.slice(1),[],h)}}let{tag:n,classes:a,id:o}=E.collectTemplateClasses(t);if(n!==null&&te(n)&&this.renderVarKind(n)===null){if(a.length>0&&a[a.length-1]==="__clsx")return this.renderDynamicTag(e,n,e.slice(1),[],a.slice(0,-1),o);return this.renderTag(e,n,a,e.slice(1),o)}}if(r==="->"||r==="=>")return this.renderChildBlock(e[2]);return this.renderTextExpr(e)}renderTextExpr(e,t=null,r=!1){let s=this.newRenderText(),i=t??(y(e)?e:null);this.checkCrossScopeLocals(e,i??this.rstate.node);let n=(a)=>{if(r&&t!==null)this.mark(t,"args",a);else a()};if(this.renderReactive(e))this.renderLine(i,()=>this.b.emit(`${s} = document.createTextNode('')`)),this.renderEffect(i,()=>{if(this.b.emit(`${s}.data = `),r)this.b.emit("String("),n(()=>this.renderExpr(e)),this.b.emit(")");else this.renderExpr(e);this.b.emit(";")},e);else this.renderLine(i,()=>{this.b.emit(`${s} = document.createTextNode(String(`),n(()=>this.withExpression(()=>this.expr(e))),this.b.emit("))")});return s}bindInheritedTarget(e,t,r,s){let i=this.rstate;if(i.frame.extendsTag!==t||i.sink.kind!=="class"||i.frame.inheritedBound===!0)return;if(i.frame.inheritedBound=!0,this.renderLine(e,()=>this.b.emit(`this._inheritedEl = ${r}`)),s.length>0)this.renderLine(e,()=>this.b.emit(`this._inheritedOwn = new Set([${s.map((n)=>JSON.stringify(n)).join(", ")}])`));this.renderLine(e,()=>this.b.emit("this._applyRestToInheritedEl()"))}elementOwnKeys(e,t,r){let s=new Set;if(r)s.add("id");if(e)s.add("class");let i=(n)=>{for(let a of n.slice(1)){if(!y(a)||a.length!==3||typeof a[1]!=="string")continue;let o=a[1];s.add(o.startsWith('"')&&o.endsWith('"')?o.slice(1,-1):o)}};for(let n of t)if(O1(n))i(n);else if(T1(n)&&b1(n[2])){for(let a of n[2].slice(1))if(O1(a))i(a)}for(let n of["ref","key"])s.delete(n);for(let n of[...s])if(n.startsWith("__"))s.delete(n);if(s.has("class")||s.has("className"))s.add("class"),s.add("className");return[...s]}renderElementPrologue(e,t){let r=this.rstate,s=this.newRenderVar();if(r.tags.set(s,t),r.transitionSlot!==null&&r.transitionSlot.record===r.sink&&r.transitionSlot.el===null)r.transitionSlot.el=s;let i=r.svgDepth>0||hi.has(t);if(i)r.svgEls.add(s);return this.renderLine(e,()=>{if(i)this.b.emit(`${s} = document.createElementNS('${E.SVG_NS}', `);else this.b.emit(`${s} = document.createElement(`);let n=this.emitQuotedPrimitive(t);if(n!==null&&ot(t,i))this.intrinsics.push({start:n[0],end:n[1],kind:"tag",tag:t,svg:i});this.b.emit(")")}),{el:s,isSvg:i}}renderElementBasics(e,t,r,s,i){let n=this.rstate;if(s)this.renderLine(e,()=>this.b.emit(`${r}.id = '${s}'`));if(this.bindInheritedTarget(e,t,r,i),n.frame.name!==null&&n.elCount===1&&n.sink.kind==="class")this.renderLine(e,()=>this.b.emit(`${r}.setAttribute('data-part', '${n.frame.name}')`))}renderTag(e,t,r,s,i){this.noteShorthandClasses(r,e);let n=this.rstate,{el:a,isSvg:o}=this.renderElementPrologue(e,t);this.renderElementBasics(e,t,a,i,this.elementOwnKeys(r.length>0,s,i));let{pendingClassArgs:l,pendingClassEl:c,pendingClassKeys:f}=n;if(r.length>0)n.pendingClassArgs=[`'${r.join(" ")}'`],n.pendingClassEl=a,n.pendingClassKeys=null;if(o)n.svgDepth++;if(this.renderChildren(a,s,e),o)n.svgDepth--;if(r.length>0){if(n.pendingClassArgs.length===1)this.renderLine(e,()=>this.b.emit(o?`${a}.setAttribute('class', '${r.join(" ")}')`:`${a}.className = '${r.join(" ")}'`));else{let h=n.pendingClassArgs.slice(1),u=n.pendingClassKeys??[],d=this.tsElReceiver(a);this.renderEffect(e,()=>{let p=this.runtimeName("__clsx");if(o){d.emit();let m=this.b.offset+1;this.b.emit(`.setAttribute('class', ${p}('${r.join(" ")}', `);for(let g of u)this.intrinsics.push({start:g[0],end:g[1],kind:"attr",name:"class",gen:m})}else{d.emit(),this.b.emit(".");let m=this.b.offset;this.b.emit(`className = ${p}('${r.join(" ")}', `);for(let g of u)this.intrinsics.push({start:g[0],end:g[1],kind:"classkey",gen:m})}h.forEach((m,g)=>{if(g>0)this.b.emit(", ");m()}),this.b.emit(o?"));":");")})}n.pendingClassKeys=f,n.pendingClassArgs=l,n.pendingClassEl=c}return a}renderDynamicTag(e,t,r,s,i,n){this.noteShorthandClasses(i,e);let a=this.rstate,{el:o,isSvg:l}=this.renderElementPrologue(e,t);this.renderElementBasics(e,t,o,n,this.elementOwnKeys(!0,s,n));for(let p of r)this.checkCrossScopeLocals(p,e);let{pendingClassArgs:c,pendingClassEl:f,pendingClassKeys:h}=a;if(a.pendingClassArgs=[...i.map((p)=>`'${p}'`),...r.map((p)=>()=>this.renderExpr(p))],a.pendingClassEl=o,a.pendingClassKeys=null,l)a.svgDepth++;if(this.renderChildren(o,s,e),l)a.svgDepth--;let u=a.pendingClassArgs,d=a.pendingClassKeys??[];if(u.length>0)this.renderEffect(e,()=>{let p=this.runtimeName("__clsx");this.b.emit(`${o}`);let m=this.b.offset+1;this.b.emit(l?`.setAttribute('class', ${p}(`:`.className = ${p}(`);for(let g of d)this.intrinsics.push(l?{start:g[0],end:g[1],kind:"attr",name:"class",gen:m}:{start:g[0],end:g[1],kind:"classkey",gen:m});u.forEach((g,b)=>{if(b>0)this.b.emit(", ");if(typeof g==="string")this.b.emit(g);else g()}),this.b.emit(l?"));":");")});return a.pendingClassKeys=h,a.pendingClassArgs=c,a.pendingClassEl=f,o}renderChildBlock(e){if(!b1(e)){let r=this.renderNode(e);if(r!=null)return r;let s=this.newRenderVar("empty");return this.renderLine(null,()=>this.b.emit(`${s} = document.createComment('')`)),s}let t=e.slice(1);if(t.length===0){let r=this.newRenderVar("empty");return this.renderLine(null,()=>this.b.emit(`${r} = document.createComment('')`)),r}return this.walkChildStmts(t)}renderChildren(e,t,r=null){let s=this._textOwner;this._textOwner=r;try{this.renderChildrenOf(e,t,r)}finally{this._textOwner=s}}renderChildrenOf(e,t,r){for(let s=0;s0)throw this.positionedError(i,"emitter: a parameterized function is not a render child — element children arrows carry no parameters "+"(an indented `.method (v) -> …` continuation re-reads as a NEW element inside render; put the chain on one "+"line or bind it in a method)",this.rstate.node);let n=i[2];if(b1(n))for(let a=1;athis.b.emit(`${e}.appendChild(${l})`))}}else if(n){if(!this.renderOwnLineWord(e,n,[n],0,r)){let a=this.renderNode(n);if(a!=null)this.renderLine(null,()=>this.b.emit(`${e}.appendChild(${a})`))}}continue}if(O1(i)){this.renderAttributes(e,i);continue}if(typeof i==="string"){let n=i.split(/[#.]/)[0],a=n===i?this.renderVarKind(i,i):null;if(a!==null){let l=this.newRenderText();if(a==="loop-reactive")this.renderLine(null,()=>this.b.emit(`${l} = document.createTextNode('')`)),this.renderEffect(null,()=>{this.b.emit(`${l}.data = `),this.emitPrimitive(i),this.b.emit(";")});else this.renderLine(null,()=>{this.b.emit(`${l} = document.createTextNode(`),this.emitPrimitive(i),this.b.emit(")")});this.renderLine(null,()=>this.b.emit(`${e}.appendChild(${l})`));continue}if(te(n||"div")){let l=this.renderNode(i);this.renderLine(null,()=>this.b.emit(`${e}.appendChild(${l})`));continue}if(K1(n)&&n===i){let l=this.renderChildComponent(i,i,[]);this.renderLine(null,()=>this.b.emit(`${e}.appendChild(${l})`));continue}if(/^[A-Za-z_$][\w$]*$/.test(i)&&this.resolveBareRead(i)===null&&!this.inScope(i)){this.renderBareAttribute(e,i,t,s,r);continue}let o=this.newRenderText();if(i.startsWith('"')||i.startsWith("'")||i.startsWith("`"))this.renderLine(null,()=>this.b.emit(`${o} = document.createTextNode(${i})`));else{let l=this.resolveBareRead(i);if(l==="reactive"||l==="member-reactive")this.renderLine(null,()=>this.b.emit(`${o} = document.createTextNode('')`)),this.renderEffect(null,()=>{this.b.emit(`${o}.data = `),this.expr(i),this.b.emit(";")});else if(l==="member")this.renderLine(null,()=>{this.b.emit(`${o} = document.createTextNode(String(`),this.expr(i),this.b.emit("))")});else this.renderLine(null,()=>{this.b.emit(`${o} = document.createTextNode(`),this.expr(i),this.b.emit(")")})}this.renderLine(null,()=>this.b.emit(`${e}.appendChild(${o})`));continue}if(i!=null){let n=this.renderNode(i);this.renderLine(null,()=>this.b.emit(`${e}.appendChild(${n})`))}}}renderTagOf(e){return this.rstate.tags?.get(e)??"div"}renderBareAttribute(e,t,r,s,i){let n=this.renderTagOf(e),a=null;if(this.ts&&!di(n,t)){let c=this.bareChildSpan(r,s,i);if(c!==null)a=c,this.intrinsics.push({start:c[0],end:c[1],kind:"unknown-attr",tag:n,name:t,message:this.unknownAttrMessage(n,t,{bare:!0,svg:this.rstate?.svgEls?.has(e)===!0})})}let o=this.tsElReceiver(e),l=a===null?null:this.stores.idOf(i);this.renderLine(null,()=>{if(o.emit(),this.b.emit(".setAttribute("),l!==null)this.b.markSpan(l,"identifier",a[0],a[1],()=>this.emitQuotedPrimitive(t));else this.emitQuotedPrimitive(t);this.b.emit(", '')")})}renderOwnLineWord(e,t,r,s,i){if(typeof t!=="string"||!/^[A-Za-z_$][\w$]*$/.test(t))return!1;if(te(t)||K1(t))return!1;if(this.renderVarKind(t,t)!==null)return!1;if(this.resolveBareRead(t)!==null||this.inScope(t))return!1;return this.renderBareAttribute(e,t,r,s,i),!0}claimSlot(e){let t=this.rstate,r=e??this.rstate.node;if(t.sink.loopStack.length>0)throw this.positionedError(r,"emitter: `slot` inside a loop row has no working reading — `children` is ONE node, and every row would fight "+"over it; project it once, outside the loop",this.rstate.node);if(t.slotSeen)throw this.positionedError(r,"emitter: a second `slot` in one render — `children` is ONE node, and a second projection point MOVES it "+"",this.rstate.node);t.slotSeen=!0,this.noteVocabulary("render-channel","slot",r)}childrenReadText(){return`${this.renderSelf??"this"}.children${this.memberIsReactive("children")?".value":""}`}emitChildrenRead(e){if(this.b.emit(`${this.renderSelf??"this"}.`),e!==null)this.intrinsics.push({start:e[0],end:e[1],kind:"slot",gen:this.b.offset});if(this.b.emit("children"),this.memberIsReactive("children"))this.b.emit(".value")}renderSlot(e,t){let r=y(e)?e:null;if(t.length>0)throw this.positionedError(r??e,"emitter: `slot` takes no arguments — fallback content has no "+"reading here (render it through a conditional around the slot)",this.rstate.node);this.claimSlot(r);let s=this.newRenderVar("slot"),i=this.ts?this.wordSpanIn("slot",r??this.rstate.node):null;return this.renderLine(r,()=>{let n=this.childrenReadText();this.b.emit(`${s} = `),this.emitChildrenRead(i),this.b.emit(` instanceof Node ? ${n} : (${n} != null ? document.createTextNode(String(${n})) : document.createComment(''))`)}),s}renderChildComponent(e,t,r){let s=this.rstate,i=s.sink,n=y(e)?e:null,a=typeof t==="string"?null:t;if(a!==null)t=a.text;let o=a!==null?Wt(a.text):t,l=(A)=>{if(this.ts&&A!==null)this.componentUses.push({start:A[0],end:A[1],name:t})},c;if(a!==null){if(this.renderVarKind(o)===null&&this.resolveBareRead(o)===null&&!this.inScope(o)&&!(this.moduleBound!==void 0&&this.moduleBound.has(o)))throw this.positionedError(n??e,`emitter: component '${t}' is not defined in this module — a child component's path starts at a module `+`binding, an import, or a component member, and '${o}' is none of these`,this.rstate.node);let A=this.stores.idOf(a.node)??null;c=()=>{l(A!==null?this.stores.selfSpan(A):null),this.renderExpr(a.node)}}else if(this.renderVarKind(t)!==null)c=()=>l(this.emitPrimitive(t));else{let A=this.resolveBareRead(t);if(A==="member"||A==="member-reactive")c=()=>{if(this.b.emit(`${this.renderSelf??"this"}.`),l(this.emitPrimitive(t)),A==="member-reactive")this.b.emit(".value")};else if(A==="reactive")c=()=>{l(this.emitPrimitive(t)),this.b.emit(".value")};else if(this.inScope(t)||this.moduleBound!==void 0&&this.moduleBound.has(t))c=()=>l(this.emitPrimitive(t));else throw this.positionedError(n??e,`emitter: component '${t}' is not defined in this module — a child component must be a module binding, `+"an import, or a component member (an undefined name would degrade to a comment placeholder at mount)",this.rstate.node)}let f=this.newRenderVar("inst"),h=this.newRenderVar("el"),u=s.frame.extendsComponent===t&&i.kind==="class"&&s.frame.inheritedBound!==!0&&this.renderVarKind(o)===null&&this.resolveBareRead(o)===null;if(u)s.frame.inheritedBound=!0;let d=[],p=[],m=[],g=[],b=new Map,S={prop:"an explicit `children:` prop",body:"element body content",slot:"a nested `slot`"},w=null,R=(A,V,B="prop")=>{let i1=A.startsWith("__bind_")&&A.endsWith("__")?A.slice(7,-2):A;if(b.has(i1)){if(i1==="children")throw this.positionedError(V??n??e,`emitter: this child component receives \`children\` TWICE — ${S[w]} beside ${S[B]}; give the children ONE spelling: the element body (indented or inline), the explicit \`children:\` prop, or a nested \`slot\` forwarding the received children`,this.rstate.node);throw this.positionedError(V??n??e,`emitter: duplicate prop '${i1}' on a child component — duplicate keys emit one object literal where the `+"last silently wins, and on an extends child the pair leaves two live writers racing over the inherited element; pass one value per prop",this.rstate.node)}if(b.set(i1,V??null),i1==="children")w=B},T=(A)=>{if(dt(A))throw this.renderSpreadError(A,t);if(!y(A)||A.length!==3)throw this.positionedError(A,"emitter: unsupported attribute form on a child component",n??this.rstate.node);if(s.suppressedPairs.has(A))return;let[,V,B]=A;if(y(V)&&V[0]==="."&&V[1]==="this"&&typeof V[2]==="string"){this.checkBareEventHandler(A,B),this.checkCrossScopeLocals(B,A),m.push({pair:A,event:V[2],value:B});return}if(H(A),typeof V!=="string")throw this.positionedError(A,"emitter: computed prop keys are not supported on a child component",n??this.rstate.node);let i1=V.startsWith('"')&&V.endsWith('"')?V.slice(1,-1):V;if(i1==="__transition__")throw this.positionedError(A,"emitter: a transition directive has no child-component reading — the enter/leave phases animate ELEMENTS "+"; put it on the branch's first element, inside the child's own render",this.rstate.node);if(i1==="ref")throw this.positionedError(A,"emitter: `ref:` captures ELEMENTS — on a child component it has no reading "+"(a dead prop, silently); put the ref on an element inside the child, or emit the instance through an event",this.rstate.node);if(i1==="key")throw this.positionedError(A,"emitter: `key:` identifies loop rows — it is read only on the FIRST element of a `for` body inside render; "+"anywhere else it would leak into the DOM as an attribute",this.rstate.node);if(R(i1,A),i1.startsWith("__bind_")&&i1.endsWith("__")){this.checkUserSpelledBind(A),this.noteVocabulary("render-channel",i1,A);let h1=i1.slice(7,-2),u1=this.childContainerRef(B);if(u1!==null){d.push({pair:A,key:V,fn:u1});return}let p1=(c1,d1)=>this.positionedError(A,`emitter: \`${h1} <=> …\` on a child component shares a reactive CONTAINER, and ${c1} ; ${d1}`,this.rstate.node);if(typeof B==="string"&&this.renderVarKind(B)===null){let c1=this.resolveBareRead(B);if(c1==="member")throw p1(`'${B}' is a plain member`,"declare it with ':=' to share it");if(c1===null&&!this.inScope(B))throw p1(`'${B}' is not declared`,"bind a reactive member or module reactive name")}if(y(B)&&B[0]==="."&&B[1]==="this"&&B.length===3&&typeof B[2]==="string")throw p1(`'@${B[2]}' is not a reactive member`,"declare it with ':=' to share it");if(typeof B!=="string"&&!E.isChainNode(B))throw p1("this expression is never a container","bind a reactive member or module reactive name");this.checkCrossScopeLocals(B,A),d.push({pair:A,key:V,fn:()=>this.renderExpr(B)});return}this.addChildProp(d,p,A,V,i1,B)},F=(A,V)=>{throw this.positionedError(A,`emitter: bare '${V}' under a child component is ambiguous — it names an HTML element AND a `+`value in scope, and the value would win silently; render the value with \`= ${V}\`, or give the element content or attributes`,this.rstate.node)},L=(A,V)=>{R(V,null),d.push({pair:null,key:V,span:O(V),fn:()=>this.b.emit("true")})},P=n!==null&&this.stores.idOf(n)!==null?this.stores.selfSpan(this.stores.idOf(n)):null,N=P!==null&&this.b.source!==null?P[0]:null,D=(A)=>{if(N===null||A==null)return;if(y(A)){let V=this.stores.idOf(A),B=V!==null?this.stores.selfSpan(V):null;N=B!==null?Math.max(N,B[1]):null;return}if(typeof A==="string"){let V=this.b.source.indexOf(A,N);N=V>=0&&V+A.length<=P[1]?V+A.length:null;return}N=null},O=(A)=>{if(N===null)return null;let V=new RegExp(`(?P[1])return null;return N=B.index+A.length,[B.index,B.index+A.length]},W=new Map,H=(A)=>{if(!this.tsDirectivesArmed)return;let V=this.tsDirectiveMap.get(A);if(V===void 0)return;this.tsDirectiveMap.delete(A),W.set(A,[...W.get(A)??[],...V])},G=(A)=>{if(!this.tsDirectivesArmed)return;let V=this.tsDirectiveMap.get(A);if(V===void 0)return;let B=A.slice(1).find((i1)=>y(i1));if(B===void 0||s.suppressedPairs.has(B))return;this.tsDirectiveMap.delete(A),this.tsDirectiveMap.set(B,[...V,...this.tsDirectiveMap.get(B)??[]])},k=[],v=!1,j=(A)=>!y(A)&&!(typeof A==="string"&&((te(A.split(/[#.]/)[0])||K1(A.split(/[#.]/)[0]))&&this.renderVarKind(A)===null&&this.resolveBareRead(A)===null)),X=(A)=>{if(A==null)return;if(dt(A))throw this.renderSpreadError(A,t);let V=typeof A==="string"&&ft.test(A)&&this.renderVarKind(A)===null&&this.resolveBareRead(A)===null;if(V&&(te(A)||A==="slot")&&(this.inScope(A)||this.moduleBound.has(A)))F(n??this.rstate.node,A);if(V&&A==="slot"){v=!0,D(A),k.push(A);return}if(V&&!this.inScope(A)&&!this.moduleBound.has(A)){L(n??this.rstate.node,A);return}D(A),k.push(A)};for(let A of r)if(O1(A)){G(A);for(let V of A.slice(1))T(V);D(A)}else if(T1(A)){if(y(A[1])&&A[1].length>0)throw this.positionedError(A,`emitter: a parameterized function is not a render child — the children of '${t}' arrive as a bare block (a callback the component should run is passed as a named prop)`,this.rstate.node);let V=A[2],B=b1(V)?V.slice(1):V!=null?[V]:[];for(let i1 of B)if(O1(i1)){G(i1);for(let f1 of i1.slice(1))T(f1);D(i1)}else X(i1)}else X(A);let x=(A)=>{if(!j(A))return this.renderNode(A);this.checkCrossScopeLocals(A,n??this.rstate.node);let V=this.newRenderText();if(this.renderReactive(A))this.renderLine(n,()=>this.b.emit(`${V} = document.createTextNode('')`)),this.renderEffect(n,()=>{this.b.emit(`${V}.data = `),this.renderExpr(A),this.b.emit(";")},A);else this.renderLine(n,()=>{this.b.emit(`${V} = document.createTextNode(`),this.renderExpr(A),this.b.emit(")")});return V},Z=null,U=k.filter((A)=>!this.isRenderBinding(A));if(U.length===1&&v){R("children",null,"slot"),this.claimSlot(n);let A=this.ts?this.wordSpanIn("slot",n??this.rstate.node):null;for(let V of k)if(V!=="slot")x(V);d.push({pair:null,key:"children",fn:()=>this.emitChildrenRead(A)})}else if(U.length===1)R("children",null,"body"),Z=()=>{let A=null;for(let V of k){let B=x(V);if(B!=null)A=B}return A};else if(U.length>1)R("children",null,"body"),Z=()=>{let A=this.newRenderVar("frag");this.renderLine(null,()=>this.b.emit(`${A} = document.createDocumentFragment()`));for(let V of k){let B=x(V);if(B!=null)this.renderLine(null,()=>this.b.emit(`${A}.appendChild(${B})`))}return A};else for(let A of k)x(A);let r1=new Set([...i.bindings,...i.locals]);if(i.vars!==null)for(let A of i.vars)r1.add(A);if(y(e))E.collectLeafNames(e,r1);let Q=E.mintName("__prev",r1),l1=E.mintName("__kid",r1),I=E.mintName("__childErr",r1);if(i.kind!=="class")i.hasKids=!0;let s1=(A)=>this.renderLine(n,A,!1),e1=()=>this.renderSelf??"this",K=this.projectionHost;this.threadProjectionHost(K);let a1=()=>K!==null&&K.startsWith("this.")?`${e1()}.${K.slice(5)}`:K;if(s1(()=>this.b.emit(K!==null?`{ const ${Q} = ${a1()}._beginProjection(${e1()}); try {`:`{ const ${Q} = ${this.runtimeName("__pushComponent")}(${e1()}); try {`)),s1(()=>this.b.emit("try {")),s1(()=>{if(this.b.emit(`${f} = new `),c(),this.b.emit("("),d.length===0)this.b.emit(u?`{ ...${e1()}._rest }`:"{}");else{let A=W.size>0,V=this.replayPad+" ";if(this.b.emit(A?"{":"{ "),u)this.b.emit(A?` -${V}...${e1()}._rest,`:`...${e1()}._rest, `);d.forEach((B,i1)=>{if(A){if(i1>0)this.b.emit(",");this.b.emit(` -`);let h1=B.pair!==null?W.get(B.pair):void 0;if(this.ts&&h1!==void 0)for(let u1 of h1)this.tsDirectiveLine(u1,V,!0);this.b.emit(V)}else if(i1>0)this.b.emit(", ");let f1=()=>{let h1=(p1)=>{let c1=this.b.offset,d1=p1();if(this.ts)this.attrNames.push([c1,this.b.offset]);if("routeKey"in B)B.routeKey=[c1,this.b.offset];if(this.ts&&d1!=null){let M=B.pair!==null?this.stores.idOf(B.pair):null,n1=M!==null?this.stores.selfSpan(M):null,_=[d1[0],d1[1]];this.renderPairs.push({key:_,pair:n1??_,sites:[[c1,this.b.offset]]})}},u1=y(n)?this.stores.idOf(n):null;if(this.ts&&B.span!=null&&u1!==null){h1(()=>(this.b.markSpan(u1,"shorthandProp",B.span[0],B.span[1],()=>this.b.emit(B.key)),[B.span[0],B.span[1]])),this.b.emit(": "),B.fn();return}if(B.key.startsWith("__bind_")&&B.key.endsWith("__"))h1(()=>{let p1=this.b.offset;this.b.emit("__bind_");let c1=this.emitRewrittenPrimitive(B.key,B.key.slice(7,-2));if(this.ts&&c1!==null)this.intrinsics.push({start:c1[0],end:c1[1],kind:"bind",name:B.key.slice(7,-2),gen:p1});return this.b.emit("__"),c1});else h1(()=>this.emitPrimitive(B.key));this.b.emit(": "),B.fn()};if(B.pair!==null&&this.stores.idOf(B.pair)!==null)this.mark(B.pair,"$self",f1);else f1()}),this.b.emit(A?` -${this.replayPad}}`:" }")}this.b.emit(");")}),s1(()=>this.b.emit(`if (${f} && ${f}._initFailed) {`)),s1(()=>this.b.emit(` ${f} = null;`)),s1(()=>this.b.emit(` ${h} = document.createComment('rip:child-init-failed: ${t}');`)),Z!==null){s1(()=>this.b.emit("} else {")),s1(()=>this.b.emit(`{ const ${l1} = ${f}._beginProjection(${e1()}); try {`));let A=this.projectionHost;this.projectionHost=f;let V=i.setups.length,B;try{B=Z()}finally{this.projectionHost=A}let i1=(h1)=>({kind:"raw",node:null,fn:(u1)=>{this.b.emit(`${u1}if (${f}) { -`),this.replaySetups({setups:h1},`${u1} `),this.b.emit(`${u1}} -`)}}),f1=[];for(let h1 of i.setups.splice(V)){if(h1.latch!==!0){f1.push(h1);continue}if(f1.length>0)i.setups.push(i1(f1));f1=[],i.setups.push(h1)}if(f1.length>0)i.setups.push(i1(f1));s1(()=>this.b.emit(`} finally { ${f}._endProjection(${l1}); } }`)),s1(()=>this.b.emit(`${f}._setChildren(${B});`))}if(s1(()=>{this.b.emit(Z!==null?"if (":"} else if (");let A=()=>this.b.emit(`${f}._mountCreate()`);if(n!==null)this.mark(n,"$self",A);else A();this.b.emit(") {")}),s1(()=>this.b.emit(` ${h} = ${f}._root;`)),u){let A=[...b.keys()].filter((V)=>V!=="children").map((V)=>JSON.stringify(V)).join(", ");s1(()=>this.b.emit(` ${e1()}._inheritedInst = ${f};`)),s1(()=>this.b.emit(` ${e1()}._inheritedOwn = new Set([${A}]);`))}if(i.kind==="class")s1(()=>this.b.emit(` (this._children || (this._children = [])).push(${f});`));else s1(()=>this.b.emit(` ${i.kidsVar}.push(${f});`));if(s1(()=>this.b.emit("} else {")),s1(()=>this.b.emit(` ${f} = null;`)),s1(()=>this.b.emit(` ${h} = document.createComment('rip:child-error: ${t}');`)),s1(()=>this.b.emit("}")),Z!==null)s1(()=>this.b.emit("}"));s1(()=>this.b.emit(`} catch (${I}) {`)),s1(()=>this.b.emit(` ${this.runtimeName("__reportChildFailure")}('${t}', ${I});`)),s1(()=>this.b.emit(` ${f} = null;`)),s1(()=>this.b.emit(` ${h} = document.createComment('rip:child-error: ${t}');`)),s1(()=>this.b.emit("}")),s1(()=>this.b.emit(K!==null?`} finally { ${a1()}._endProjection(${Q}); } }`:`} finally { ${this.runtimeName("__popComponent")}(${Q}); } }`));for(let{pair:A,event:V,value:B}of m){if(this.ts){let h1=y(A)&&y(A[1])?A[1]:null,u1=h1!==null?this.stores.idOf(h1)??null:null,p1=u1!==null?this.stores.selfSpan(u1):null;if(p1!==null)this.intrinsics.push({start:p1[0],end:p1[1],kind:"event",name:V,type:this.tsEventTypeText([V])!==null?`HTMLElementEventMap['${V}']`:null,child:t})}let i1=new Set;E.collectLeafNames(B,i1);let f1=E.mintName("e",i1);this.renderLine(A,()=>{let h1=`(${f}._nodes?.[0] ?? ${h})`;if(!this.ts)this.b.emit(`if (${f}) ${h1}.addEventListener('${V}', (${f1}`);else this.b.emit(`if (${f}) ${h1}.addEventListener(`),this.emitQuotedPrimitive(V),this.b.emit(`, (${f1}`);this.tsScaffoldAny(),this.b.emit(`) => ${this.runtimeName("__batch")}(() => (`),this.tsHandlerCast(()=>this.withExpression(()=>this.expr(B))),this.b.emit(`)(${f1})))`)})}i.setups.push({kind:"raw",latch:!0,fn:(A)=>{this.b.emit(A);let V=()=>{this.b.emit(`if (${f} && ${f}._state === 'mounting') { -${A} ${h} = ${f}._mountSetup(document.createComment('rip:child-error: ${t}')); -`);let B=this.rstate.fragChildren.get(i.root),i1=B!==void 0?B[0]:i.root;if(i.kind!=="class"&&i1===h){if(this.b.emit(`${A} `),this.ts)this.b.tsOnly(()=>this.b.emit("("));if(this.b.emit("this"),this.ts)this.b.tsOnly(()=>this.b.emit(" as any)"));this.b.emit(`._first = ${h}; -`)}this.b.emit(`${A}}`)};if(n!==null)this.mark(n,"$self",V);else V();this.b.emit(` -`)}});for(let{pair:A,key:V,value:B}of p){let i1=V.startsWith('"')&&V.endsWith('"')?V.slice(1,-1):V;this.renderEffect(A,()=>{this.b.emit(`if (${f}) ${f}._updateProp('${i1}', `),this.renderExpr(B),this.b.emit(");")},B)}return h}addChildProp(e,t,r,s,i,n){let a=this.childContainerRef(n);if(a!==null){e.push({pair:r,key:s,fn:a});return}if(this.checkCrossScopeLocals(n,r),this.ts&&this.routesUnion!==null&&i==="href"&&this.isRouteLiteralValue(n)){this._needsRouteHelper=!0;let l={pair:r,key:s,routeKey:null};l.fn=()=>{this.b.tsOnly(()=>this.b.emit("__ripRoute("));let c=this.b.offset;this.renderExpr(n);let f=this.b.offset;if(this.b.tsOnly(()=>this.b.emit(")")),l.routeKey!==null)this.routeWrapSpans.push({key:l.routeKey,value:[c,f]})},e.push(l)}else e.push({pair:r,key:s,fn:()=>this.renderExpr(n)});if(!T1(n)&&this.renderReactive(n))t.push({pair:r,key:s,value:n})}childContainerRef(e){if(typeof e==="string"){if(this.renderVarKind(e)!==null)return null;let t=this.resolveBareRead(e);if(t==="member-reactive")return this.narrowedContainer(e,()=>{this.b.emit(`${this.renderSelf??"this"}.`);let r=this.emitPrimitive(e);if(this.ts&&r!==null)this.memberDecls.push({start:r[0],end:r[1]});return r});if(t==="reactive")return this.narrowedContainer(e,()=>this.emitPrimitive(e));return null}if(y(e)&&e[0]==="."&&e[1]==="this"&&e.length===3&&typeof e[2]==="string"&&this.memberIsReactive(e[2]))return this.narrowedContainer(e[2],()=>(this.b.emit(`${this.renderSelf??"this"}.`),this.emitPrimitive(e[2])));return null}narrowedContainer(e,t){if(!this.ts)return t;return()=>{if(!this.activeNarrowed().some((i)=>i===e||y(i)&&i[0]==="."&&i[1]==="this"&&i.length===3&&i[2]===e))return t();this._needsNarrowedHelper=!0,this.b.tsOnly(()=>this.b.emit("__ripNarrowed("));let s=t();if(this.b.tsOnly(()=>this.b.emit(")")),s!=null)this.narrowedDecls.push({start:s[0],end:s[1]})}}isRouteLiteralValue(e){let t=(r)=>typeof r==="string"&&/^["'`]\//.test(r);return t(e)||y(e)&&e[0]==="str"&&t(e[1])}renderAttributes(e,t){let r=this.rstate;if(this.ts&&this.tsDirectivesArmed&&this.tsDirectiveMap.has(t)){let s=t.slice(1).find((n)=>y(n));if(s!==void 0&&s.length===3&&!r.suppressedPairs.has(s)&&(()=>{let n=s[1];if(typeof n!=="string")return!0;if(n.startsWith('"')&&n.endsWith('"'))n=n.slice(1,-1);if((n==="class"||n==="className")&&r.pendingClassArgs!==null&&r.pendingClassEl===e)return!1;if(n==="ref"&&this.rstate.sink.kind!=="class")return!1;return!0})()){let n=this.tsDirectiveMap.get(t);this.tsDirectiveMap.delete(t),this.tsDirectiveMap.set(s,[...n,...this.tsDirectiveMap.get(s)??[]])}}for(let s of t.slice(1)){if(dt(s))throw this.renderSpreadError(s);if(!y(s)||s.length!==3)throw this.positionedError(s,"emitter: unsupported attribute form in render",t);if(r.suppressedPairs.has(s))continue;let[,i,n]=s;this.checkCrossScopeLocals(n,s);let a=null;if(this.ts){let L=this.stores.idOf(s),P=L!==null?this.stores.selfSpan(L):null,N=this.b.source;if(P!==null&&N!==null){let D=P[0];while(DP[0])a={key:[P[0],D],pair:[P[0],P[1]],sites:[]},this.renderPairs.push(a)}}let o=(L)=>{if(a!==null&&L!==null&&L[1]>L[0])a.sites.push(L)},l=a!==null?a.key:null,c=(L)=>{if(l===null)return L();let P=this.b.claimWithin;this.b.claimWithin=l;try{return L()}finally{this.b.claimWithin=P}},f=(L)=>{if(l===null)return L();let P=this.primitiveAvoid;this.primitiveAvoid=[...P??[],l];try{return L()}finally{this.primitiveAvoid=P}};if(y(i)&&i[0]==="."&&i[1]==="this"&&typeof i[2]==="string"){let L=i[2];if(this.checkBareEventHandler(s,n),this.rstate.sink.kind==="loop"&&this.loopVarNames().size>0&&Ee(n,this.loopVarNames()))this.rstate.sink.forceNonStatic=!0;let P=new Set;E.collectLeafNames(n,P);let N=E.mintName("e",P),D=this.tsElReceiver(e),O=this.ts?this.tsEventTypeText([L],D.hostText):null;if(this.ts){let W=this.stores.idOf(i)??null,H=W!==null?this.stores.selfSpan(W):null;if(H!==null)this.intrinsics.push({start:H[0],end:H[1],kind:"event",name:L,type:O,tag:this.rstate?.tags?.get(e)??null,svg:this.rstate?.svgEls?.has(e)===!0})}this.renderLine(s,()=>{let W=this.renderSelf??"this";if(!this.ts)this.b.emit(`${e}.addEventListener('${L}', (${N}`);else D.emit(),this.b.emit(".addEventListener("),c(()=>this.emitQuotedPrimitive(L)),this.b.emit(`, (${N}`);if(this.tsScaffoldAny(),this.b.emit(`) => ${this.runtimeName("__batch")}(() => `),typeof n==="string"&&this.renderVarKind(n)===null&&this.cframes[this.cframes.length-1].members.has(n)){if(this.ts)this.b.tsOnly(()=>this.b.emit("("));let H=this.b.offset;if(this.b.emit(`${W}.`),f(()=>this.emitPrimitive(n)),this.ts)this.b.tsOnly(()=>this.b.emit(O!==null?` as (e: ${O}) => unknown)`:" as any)"));if(this.ts&&O!==null)o([H,this.b.offset-1]);this.b.emit(`(${N})`)}else{let H=!this.ts?null:T1(n)&&(n[1].length===0||n[1].length===1&&typeof n[1][0]==="string")?O??"any":T1(n)?null:O;this.b.emit("("),o(this.tsHandlerCast(()=>f(()=>this.withExpression(()=>this.expr(n))),H)),this.b.emit(`)(${N})`)}this.b.emit("))")});continue}if(typeof i!=="string")throw this.positionedError(s,"emitter: computed attribute keys are not supported in render",t);let h=i;if(i.startsWith('"')&&i.endsWith('"'))i=i.slice(1,-1);if(i==="__transition__"){this.noteVocabulary("render-channel",i,s),this.renderTransition(e,s,n,t);continue}if(i==="ref"){this.noteVocabulary("render-channel",i,s),this.renderRef(e,s,n,t,o);continue}if(i.startsWith("__bind_")&&i.endsWith("__")){this.noteVocabulary("render-channel",i,s),this.checkUserSpelledBind(s);let L=i.slice(7,-2);this.renderBind(e,s,L,n,t,o);continue}if(i==="key")throw this.positionedError(s,"emitter: `key:` identifies loop rows — it is read only on the FIRST element of a `for` body inside render; "+"anywhere else it would leak into the DOM as an attribute",t);if(i==="class"||i==="className"){let L=(P,N)=>{if(this.ts&&P!==null)this.intrinsics.push({start:P[0],end:P[1],kind:"attr",name:"class",gen:N})};if(r.pendingClassArgs!==null&&r.pendingClassEl===e){this.checkSetupLocalRefs(n,s);let P=this.stores.idOf(s),N=P!==null?this.stores.selfSpan(P):null;if(this.ts&&N!==null)(r.pendingClassKeys??=[]).push([N[0],N[0]+i.length]);r.pendingClassArgs.push(()=>o(this.renderExpr(n)))}else if(this.renderReactive(n)){let P=r.svgDepth>0,N=this.tsElReceiver(e);this.renderEffect(s,()=>{let D=this.runtimeName("__clsx");if(N.emit(),P){let O=this.b.offset+1;this.b.emit(".setAttribute('"),L(this.emitKeyAs(i,"class"),O),this.b.emit(`', ${D}(`)}else this.b.emit("."),this.emitPropertyRoadKey(()=>this.emitKeyAs(i,"className")),this.b.emit(` = ${D}(`);o(this.renderExpr(n)),this.b.emit(P?"));":");")},n)}else{let P=r.svgDepth>0,N=y(n),D=this.tsElReceiver(e);this.renderLine(s,()=>{let O=this.b.offset;if(D.emit(),P){let H=this.b.offset+1;this.b.emit(".setAttribute('"),L(this.emitKeyAs(i,"class"),H),this.b.emit("', ")}else{if(this.b.emit("."),this.emitPropertyRoadKey(()=>this.emitKeyAs(i,"className")),!N)o([O,this.b.offset]);this.b.emit(" = ")}if(N)this.b.emit(`${this.runtimeName("__clsx")}(`);let W=this.renderExpr(n);if(P||N)o(W);if(N)this.b.emit(")");if(P)this.b.emit(")")})}continue}if((i==="value"||i==="checked")&&this.renderReactive(n)){let L=this.tsElReceiver(e);this.renderEffect(s,()=>{let P=this.b.offset;if(L.emit(),this.b.emit("."),this.emitPropertyRoadKey(()=>this.emitPrimitive(i)),o([P,this.b.offset]),this.b.emit(" = "),this.renderExpr(n),i==="value"&&!E.isStringLiteral(n))this.b.emit(" ?? ''");this.b.emit(";")},n);continue}if(i==="innerHTML"||i==="textContent"||i==="innerText"){let L=this.tsElReceiver(e),P=()=>{let N=this.b.offset;L.emit(),this.b.emit("."),this.emitPropertyRoadKey(()=>this.emitPrimitive(i)),o([N,this.b.offset]),this.b.emit(" = "),this.renderExpr(n)};if(this.renderReactive(n))this.renderEffect(s,()=>{P(),this.b.emit(";")},n);else this.renderLine(s,P);continue}if(E.BOOLEAN_ATTRS.has(i)){let L=this.tsElReceiver(e),P=()=>{let N=c(()=>this.emitKeyAs(h,i));if(this.ts&&L.surfaced&&N!==null)this.intrinsics.push({start:N[0],end:N[1],kind:"attr",name:i,type:"boolean | undefined"})};if(this.renderReactive(n))this.renderEffect(s,()=>{if(L.emit(),this.b.emit(".toggleAttribute('"),P(),this.b.emit("', !!"),this.ts)this.b.tsOnly(()=>this.b.emit("("));f(()=>this.renderExpr(n));let N=this.b.offset+1;if(this.ts)this.b.tsOnly(()=>this.b.emit(" satisfies boolean | undefined)"));if(this.ts)o([N,N+9]);this.b.emit(");")},n);else this.renderLine(s,()=>{this.b.emit("if ("),f(()=>this.withExpression(()=>this.expr(n)));let N=this.b.offset+1;if(this.ts)this.b.tsOnly(()=>this.b.emit(" satisfies boolean | undefined"));if(this.ts)o([N,N+9]);this.b.emit(") "),L.emit(),this.b.emit(".setAttribute('"),P(),this.b.emit("', '')")});continue}if(i==="style"){let L=this.tsElReceiver(e),P=()=>{if(this.b.emit("{ const __v"),o([this.b.offset-3,this.b.offset]),this.ts)this.b.tsOnly(()=>{if(L.surfaced)this.b.emit(`: ${L.valsName}['`),this.emitKeyAs(h,i),this.b.emit("'] | undefined");else this.b.emit(": any")});this.b.emit(" = "),this.renderExpr(n),this.b.emit(`; ${this.runtimeName("__style")}(`),L.emit(),this.b.emit(", __v); }")};if(this.renderReactive(n))this.renderEffect(s,P,n);else this.renderLine(s,P,!1);if(this.ts&&L.surfaced&&a!==null)this.intrinsics.push({start:a.key[0],end:a.key[1],kind:"attr",name:i,type:"string | __RipCSSProperties | undefined"});continue}let u=this.ts&&this.routesUnion!==null&&i==="href"&&this.rstate.tags?.get(e)==="a"&&this.isRouteLiteralValue(n);if(u)this._needsRouteHelper=!0;let d=this.tsElReceiver(e),p=!(typeof n==="string"&&(!Z1(n)||n==="true"||n==="false")||y(n)&&n[0]==="str"),m=null,g=null,b=!1,S=()=>{if(b||!this.ts||!d.surfaced||m===null||g===null)return;b=!0,this.intrinsics.push(u?{start:m[0],end:m[1],kind:"attr",name:i,type:this.routesUnion,route:!0}:{start:m[0],end:m[1],kind:"attr",name:i,gen:g});let L=this.renderTagOf(e);if(!di(L,i))this.intrinsics.push({start:m[0],end:m[1],kind:"unknown-attr",tag:L,name:i,message:this.unknownAttrMessage(L,i,{bare:!1,svg:this.rstate?.svgEls?.has(e)===!0})})},w=()=>{g=this.b.offset+1,this.b.emit(".setAttribute('"),S()},R=()=>{let L=c(()=>this.emitKeyAs(h,i));if(m===null)m=L;S()},T=()=>f(()=>this.renderExpr(n)),F=()=>{if(!this.ts)return;this.b.tsOnly(()=>this.b.emit(d.surfaced?`: ${d.valsName}['${i}'] | undefined`:": any"))};if(this.renderReactive(n))if(p)this.renderEffect(s,()=>{this.b.emit("{ const __v"),o([this.b.offset-3,this.b.offset]),F(),this.b.emit(" = "),T(),this.b.emit("; __v == null ? "),d.emit(),this.b.emit(".removeAttribute('"),R(),this.b.emit("') : "),d.emit(),w(),R(),this.b.emit("', __v); }")},n);else this.renderEffect(s,()=>{d.emit(),w();let L=this.b.offset;R();let P=this.b.offset;if(this.b.emit("', "),u)this.b.tsOnly(()=>this.b.emit("__ripRoute("));let N=this.b.offset;o(T());let D=this.b.offset;if(this.ts){if(u)this.b.tsOnly(()=>this.b.emit(")"));else if(!d.surfaced)this.b.tsOnly(()=>this.b.emit(" as any"))}if(this.b.emit(");"),u)this.routeWrapSpans.push({key:[L,P],value:[N,D]})},n);else if(p)this.renderLine(s,()=>{this.b.emit("{ const __v"),o([this.b.offset-3,this.b.offset]),F(),this.b.emit(" = "),T(),this.b.emit("; if (__v != null) "),d.emit(),w(),R(),this.b.emit("', __v); }")},!1);else this.renderLine(s,()=>{d.emit(),w();let L=this.b.offset;R();let P=this.b.offset;if(this.b.emit("', "),u)this.b.tsOnly(()=>this.b.emit("__ripRoute("));let N=this.b.offset;o(T());let D=this.b.offset;if(this.ts){if(u)this.b.tsOnly(()=>this.b.emit(")"));else if(!d.surfaced)this.b.tsOnly(()=>this.b.emit(" as any"))}if(this.b.emit(")"),u)this.routeWrapSpans.push({key:[L,P],value:[N,D]})})}}loopVarNames(){let e=new Set;for(let t of this.rstate.sink.loopStack)e.add(t.itemVar),e.add(t.indexVar);return e}checkCrossScopeLocals(e,t){let r=this.rstate;if(!r)return;let s=this.loopVarNames(),i=(n)=>r.sink.locals.has(n)||s.has(n);for(let n=r.sink.parent;n!==null;n=n.parent){if(n.locals.size===0)continue;let a=new Set([...n.locals].filter((o)=>!i(o)));if(a.size>0&&Ee(e,a))throw this.positionedError(t,"emitter: this expression reads a render local of an ENCLOSING render scope — each dynamic block (a "+"conditional branch, a loop body) is its own factory function, and render locals never cross that boundary ; declare the local inside this block, or use a member",this.rstate.node)}}renderBinding(e){let[t,r,s]=e,i=this.rstate.sink,n=this.firstAwaitIn(s);if(n!==null)throw this.renderSyncError(n);if(r.startsWith("__"))throw this.positionedError(e,`emitter: render local '${r}' — double-underscore names are the compiler/runtime namespace inside render `+"(factory scaffolding and injected helpers live there)");if(i.loopStack.some((a)=>a.itemVar===r||a.indexVar===r))throw this.positionedError(e,`emitter: '${r}' is a loop variable — a render local cannot re-declare or assign it `);if(t==="="){if(!i.locals.has(r)){if(i.locals.add(r),i.bindings.add(r),i.localDecls.set(r,e),i.kind!=="class")i.vars.add(r)}}else if(!i.locals.has(r))throw this.positionedError(e,`emitter: compound assignment to '${r}' — no render local of that name is declared in this render scope `+"(`name = expr` declares one)");return this.checkCrossScopeLocals(s,e),this.renderLine(e,()=>{this.mark(e,"target",()=>this.b.emit(r)),this.b.emit(` ${t} `),this.mark(e,"value",()=>this.withExpression(()=>this.expr(s)))}),null}closeRenderScope(e){for(let[t,r]of e.localDecls){let s=0,i=(n)=>{if(typeof n==="string"){if(n===t)s++;return}if(!y(n))return;if(la.has(n[0])&&n.length===3&&n[1]===t){i(n[2]);return}if((n[0]===":"||n[0]==="void-pair")&&n.length===3&&typeof n[1]==="string"){i(n[2]);return}if((n[0]==="."||n[0]==="?.")&&n.length===3&&typeof n[2]==="string"){i(n[1]);return}for(let a of n)i(a)};for(let n of e.stmts)i(n);if(s===0)throw this.positionedError(r,`emitter: render local '${t}' is never read — a dead local renders NOTHING (if this line meant an `+`element with expression text, spell it \`${t}\` + indented \`= expr\`: inside render \`${t} = expr\` declares a local named the tag)`,this.rstate.node)}}static collectLeafNames(e,t){if(typeof e==="string"){if(ft.test(e))t.add(e);return}if(!y(e))return;if((e[0]===":"||e[0]==="void-pair")&&e.length===3&&typeof e[1]==="string"){E.collectLeafNames(e[2],t);return}if((e[0]==="."||e[0]==="?.")&&e.length===3&&typeof e[2]==="string"){E.collectLeafNames(e[1],t);return}for(let r of e)E.collectLeafNames(r,t)}static mintName(e,t){let r=e;while(t.has(r))r=`${r}_`;return t.add(r),r}threadProjectionHost(e){if(e===null||e.startsWith("this."))return;for(let t=this.rstate.sink;t&&t.hostParams!==void 0&&!t.vars.has(e);t=t.parent){if(t.hostParams.includes(e))continue;t.hostParams.push(e),t.paramNames.push(e)}}walkFactory(e,t,r,s=null){let i=this.rstate,n=i.sink,a=this.newBlockName(),o=s!==null?[s.itemVar,s.indexVar]:[],l=new Set(o),c=new Set;E.collectLeafNames(e,c);let f=new Set(n.renameHazardNames??[]),h=(S)=>{if(!l.has(S))return l.add(S),S;let w=`${S}_`;while(l.has(w)||c.has(w))w+="_";return l.add(w),f.add(S),f.add(w),w},u=n.loopStack.map((S)=>({...S,itemVar:h(S.itemVar),indexVar:h(S.indexVar)})),d=u.flatMap((S)=>[S.itemVar,S.indexVar]),p=s!==null?[...u,s]:u,m={kind:t,name:a,parent:n,self:"ctx",paramNames:[...o,...d],hostParams:[],frameVar:"__fr",ownerVar:"__o",creates:[],setups:[],vars:new Set,locals:new Set,localDecls:new Map,bindings:new Set([...d,...o]),refs:[],loopStack:p,stmts:[],forceNonStatic:!1,root:null,isStatic:!1,originNode:r,hasKids:!1,kidsVar:null,renameHazardNames:f,readVars:new Set,narrowed:[...n.narrowed??[],...this._narrowNext??[]]};if(this._narrowNext=null,s!==null)s.owner=m;i.records.push(m);let g=i.transitionSlot;i.transitionSlot=t==="branch"?{record:m,el:null}:null,i.sink=m,this.rframes.push({reactive:new Set,bound:m.bindings,loopVars:m.bindings,loopBindings:E.loopBindingsOf(m)});try{let S;if(b1(e))S=e.slice(1);else if(y(e)&&e.length===1&&y(e[0])&&this.stores.idOf(e)===null)S=[e[0]];else S=[e];if(m.stmts=S,m.root=S.length===0?null:this.walkChildStmts(S),m.root===null)m.root=this.newRenderVar("empty"),this.renderLine(null,()=>this.b.emit(`${m.root} = document.createComment('')`))}finally{this.rframes.pop(),i.sink=n,i.transitionSlot=g}this.closeRenderScope(m),m.isStatic=t==="loop"&&m.setups.length===0&&!m.forceNonStatic;let b=new Set([...m.bindings,...m.locals,...m.vars]);if(E.collectLeafNames(m.stmts,b),m.self=E.mintName("ctx",b),m.frameVar=E.mintName("__fr",b),m.ownerVar=E.mintName("__o",b),m.hasKids)m.kidsVar=E.mintName("_factoryChildren",b);return m}narrowConjuncts(e){if(y(e)&&e[0]==="&&"&&e.length===3)return[...this.narrowConjuncts(e[1]),...this.narrowConjuncts(e[2])];if(typeof e==="string")return this.renderVarKind(e)!==null||this.bareRewrite(e)===null?[]:[e];if(!E.isDotChain(e))return[];let t=e;while(y(t))t=t[1];if(t==="this")return[e];if(this.renderVarKind(t)!==null||this.bareRewrite(t)===null)return[];return[e]}static isDotChain(e){if(!y(e)||e[0]!=="."||e.length!==3||typeof e[2]!=="string"||e[2][0]==='"')return!1;let t=e[1];if(t==="this")return!0;if(typeof t==="string")return/^[A-Za-z_$][\w$]*$/.test(t);return E.isDotChain(t)}activeNarrowed(){let e=this.renderRecord;if(!this.ts||!e||!(e.narrowed?.length>0))return[];return e.narrowed.filter((t)=>{let r=t;while(y(r))r=r[1];return r==="this"||!(e.bindings.has(r)||e.locals.has(r))})}hasNarrow(){return this.activeNarrowed().length>0}narrowedReadNames(){let e=new Set;for(let t of this.activeNarrowed())if(typeof t==="string")e.add(t);else if(t[0]==="."&&t[1]==="this"&&t.length===3&&typeof t[2]==="string")e.add(t[2]);return e}narrowGuard(e="statement",{trailing:t=!0}={}){let r=this.activeNarrowed();if(r.length===0)return!1;this._needsNarrowHelper=!0,this.b.suppressClaims=!0;try{this.b.tsOnly(()=>this.b.echo(()=>{if(r.forEach((s,i)=>{if(i>0)this.b.emit(" ");this.b.emit(e==="statement"?"__ripNarrow(":"(__ripNarrow("),this.renderExpr(s),this.b.emit(e==="statement"?");":"),")}),t)this.b.emit(" ")}))}finally{this.b.suppressClaims=!1}return!0}narrowGuardClose(e){if(e)this.b.tsOnly(()=>this.b.emit(")".repeat(this.activeNarrowed().length)))}renderCond(e,t=e){if(e.length>4)throw this.positionedError(e,"emitter: unexpected flat conditional chain shape in render (internal)");if(this.stores.idOf(t)===null&&this._chainMarkNode)t=this._chainMarkNode;let[,r,s]=e,i=e.length===4?e[3]:null;this.checkSetupLocalRefs(r,t),this.checkCrossScopeLocals(r,t);let n=this.newRenderVar("anchor");this.renderLine(null,()=>this.b.emit(`${n} = document.createComment('if')`)),this._narrowNext=this.narrowConjuncts(r);let a=this.walkFactory(s,"branch",t),o=this._chainMarkNode;if(i!==null&&y(i)&&i[0]==="if"&&this.stores.idOf(i)===null)this._chainMarkNode=t;let l=i!==null?this.walkFactory(i,"branch",t):null;this._chainMarkNode=o;let c=a.refs.length>0||l!==null&&l.refs.length>0,f=this.rstate.sink;if(l!==null){for(let[u,d]of[[a,l],[l,a]])for(let p of u.hostParams){if(d.hostParams.includes(p))continue;d.hostParams.push(p),d.paramNames.push(p)}l.hostParams.sort((u,d)=>a.hostParams.indexOf(u)-a.hostParams.indexOf(d)),l.paramNames.splice(l.paramNames.length-l.hostParams.length,l.hostParams.length,...l.hostParams)}let h=[...f.loopStack.flatMap((u)=>[u.itemVar,u.indexVar]),...a.hostParams];return f.setups.push({kind:"raw",node:t,fn:(u)=>this.emitCondSetup(u,t,e,n,a,l,c,h)}),n}renderSwitch(e){let[,t,r,s]=e;if(E.hasMatchArms(r))this.checkMatchSwitch(e);let i=s;for(let n=r.length-1;n>=0;n--){let[,a,o]=r[n],l;if(t===null)l=a.reduce((c,f)=>c===null?f:["||",c,f],null);else l=a.map((c)=>E.matchArmSexpr(t,c)).reduce((c,f)=>c===null?f:["||",c,f],null);i=i!==null?["if",l,o,i]:["if",l,o]}if(i===null||i[0]!=="if")return i===null?this.renderNode("null"):this.renderChildBlock(i);return this.renderCond(i,e)}renderLoop(e){let[,t,r,s,i,n]=e;if(s!==null)throw this.positionedError(e,"emitter: a `by` step has no render reading — the reconciler patches whole collections; step the collection itself: `items.filter((x, i) -> i % 2 == 0)`");if(i!==null)throw this.positionedError(e,"emitter: a `when` guard has no render reading — the reconciler patches whole collections; filter the collection itself: `for x in items.filter((x) -> cond)`");if(t.length>2||t.some((w)=>typeof w!=="string"))throw this.positionedError(e,"emitter: a render loop takes plain item and index variables (`for item, i in items`) — destructuring loop "+"variables have no factory-parameter reading here; destructure inside the body");if(t.length===2&&t[0]===t[1])throw this.positionedError(e,`emitter: a render loop cannot bind '${t[0]}' as BOTH item and index — one name cannot hold two row facts `);for(let w of t)if(w.startsWith("__"))throw this.positionedError(e,`emitter: render loop variable '${w}' — double-underscore names are the compiler/runtime namespace inside `+"render (factory scaffolding and injected helpers live there)");this.checkSetupLocalRefs(r,e),this.checkCrossScopeLocals(r,e);let a=t[0],o=t[1]??null;if(o===null){let w=new Set(this.loopVarNames());w.add(a),E.collectRenderBodyBindings(n,w);let R=(T,F)=>{if(typeof T==="string")return T===F;return y(T)&&T.some((L)=>R(L,F))};for(let T of["i","j","k","l","m","n"])if(!w.has(T)&&!R(n,T)){o=T;break}o=o??`__rip_idx${this.rstate.sink.loopStack.length}`}let l=this.newRenderVar("anchor");this.renderLine(null,()=>this.b.emit(`${l} = document.createComment('for')`));let c=this.renderReactive(r),f=this.extractLoopKey(n,e),h=f!==null?this.rstate.keySpan??null:null;if(f!==null)this.checkSetupLocalRefs(f,e),this.checkCrossScopeLocals(f,e);let u=this.stores.idOf(e),d=u!==null?this.stores.role(u,"vars"):null,p=this.primitiveAvoid;if(d?.sourceStart!=null)this.primitiveAvoid=[...p??[],[d.sourceStart,d.sourceEnd]];let m;try{m=this.walkFactory(n,"loop",e,{itemVar:a,indexVar:o,reactiveSource:c,iter:r,node:e})}finally{this.primitiveAvoid=p}if(f!==null){if(m.locals.size>0&&Ee(f,m.locals))throw this.positionedError(e,"emitter: a `key:` expression must be evaluable in the loop HEADER scope — it reads a render local declared "+"inside the loop body, which lives in the row factory (derive the key from the item inline: `key: item.id`)");if(!Ee(f,new Set([a,o])))throw this.positionedError(e,`emitter: a loop key must derive from the row — this \`key:\` expression never reads '${a}'${t.length===2?` or '${o}'`:""} (a row-independent key cannot identify rows)`)}let g=m.refs.length>0,b=this.rstate.sink,S=[...b.loopStack.flatMap((w)=>[w.itemVar,w.indexVar]),...m.hostParams];return b.setups.push({kind:"raw",node:e,fn:(w)=>this.emitLoopSetup(w,e,l,r,m,f,a,o,g,S,h)}),l}static collectRenderBodyBindings(e,t){if(!y(e))return;if((e[0]==="for-in"||e[0]==="for-of"||e[0]==="for-as")&&y(e[1])){for(let r of e[1])if(typeof r==="string")t.add(r)}else if(e[0]==="="&&e.length===3&&typeof e[1]==="string")t.add(e[1]);for(let r of e)E.collectRenderBodyBindings(r,t)}extractLoopKey(e,t){let s=(b1(e)?e.slice(1):[e]).find((n)=>!this.isRenderBinding(n));if(!y(s))return null;let i=(n)=>{for(let a=1;athis.b.emit(e.join(", ")))}emitCondSetup(e,t,r,s,i,n,a,o){let l=this.renderSelf??"this",c=e+" ",f=c+" ",h=new Set([l,...o]);E.collectLeafNames(r[1],h);let u=E.mintName("anchor",h),d=E.mintName("currentBlock",h),p=E.mintName("showing",h),m=E.mintName("show",h),g=E.mintName("want",h),b=E.mintName("leaving",h),S=this.runtimeName("__transition"),w=(T)=>{this.b.emit(`${f} ${d} = ${l}.${T.name}(${l}`),this.emitOuterLoopArgs(o),this.b.emit(`); -`),this.b.emit(`${f} ${d}.c(); -`),this.b.emit(`${f} if (${u}.parentNode) ${d}.m(${u}.parentNode, ${u}.nextSibling); -`),this.b.emit(`${f} ${d}.p(${l}`),this.emitOuterLoopArgs(o),this.b.emit(`); -`),this.b.emit(`${f} if (${d}._t) ${S}(${d}._first, ${d}._t, 'enter', undefined); +`)}else{if(r.node!=null)this.renderDirectives(r.node,t);r.fn(t)}}renderLine(e,t,r=!0){this.rstate.sink.creates.push({node:e,fn:t,semi:r})}newRenderVar(e="el"){let t=this.rstate.elCount++,r=this.rstate.sink;if(r.kind==="class")return`this._${e}${t}`;let s=`_${e}${t}`;return r.vars.add(s),s}newRenderText(){let e=this.rstate.textCount++,t=this.rstate.sink;if(t.kind==="class")return`this._t${e}`;let r=`_t${e}`;return t.vars.add(r),r}newBlockName(){let e;do e=`create_block_${this.rstate.blockCount++}`;while(this.rstate.frame.members.has(e)||this.rstate.frame.members.has(`${e}_iter`));return e}renderEffect(e,t,r){if(r!==void 0)this.checkSetupLocalRefs(r,e);let s=e==null?this._textOwner:null,i=s!=null?this.stores.idOf(s):null,n=i!=null?[this.stores.node(i).sourceStart,this.stores.node(i).sourceEnd]:null;this.rstate.sink.setups.push({kind:"effect",node:e,fn:t,within:n})}checkSetupLocalRefs(e,t){let r=this.rstate.sink;if(r.kind!=="class"||r.locals.size===0)return;if(Ee(e,r.locals))throw this.positionedError(t??e,"emitter: a render local cannot appear in a LIVE binding or a dynamic block head at the render top level — "+"locals live in _create() and reactive machinery lives in _setup() (a compiled read here would be a mount-time ReferenceError); bind the value to a member instead",y(e)?e:this.rstate.node)}renderExpr(e){let t=null;return this.withExpression(()=>{let r=E.needsGrouping(e,"operand");if(r)this.b.emit("(");let s=this.b.offset;if(this.expr(e),t=[s,this.b.offset],r)this.b.emit(")")}),t}renderVarKind(e,t){let r=this.rstate;if(!r)return null;if(r.sink.locals.has(e))return"local";for(let s=r.sink.loopStack.length-1;s>=0;s--){let i=r.sink.loopStack[s];if(i.itemVar===e||i.indexVar===e)return i.reactiveSource?"loop-reactive":"loop"}if(t!==void 0){for(let s=r.sink.parent;s;s=s.parent)if(s.locals.has(e))throw this.positionedError(t,`emitter: render local '${e}' is not visible here — each dynamic block (a conditional branch, a loop body) `+"is its own factory function, and render locals never cross that boundary; declare the local inside this block, or use a member",this.rstate.node)}return null}renderReactive(e){if(typeof e==="string"){let i=this.renderVarKind(e);if(i!==null)return i==="loop-reactive";let n=this.resolveBareRead(e);return n==="reactive"||n==="member-reactive"}if(!y(e))return!1;if(e[0]==="."&&e[1]==="this"&&e.length===3&&typeof e[2]==="string")return this.memberIsReactive(e[2]);let t=(i)=>{if(typeof i!=="string"||i==="this"||this.renderVarKind(i)!==null)return!1;let n=this.resolveBareRead(i);return n==="member"||n===null&&(this.inScope(i)||this.moduleBound!==void 0&&this.moduleBound.has(i))},r=(i)=>{while(y(i)&&(i[0]==="."||i[0]==="[]")&&i.length===3)i=i[1];return i==="this"||t(i)},s=(i)=>{while(y(i)&&(i[0]==="."||i[0]==="[]"||i[0]==="?."||i[0]==="optindex")&&i.length===3)i=i[1];return typeof i==="string"&&this.renderVarKind(i)==="loop-reactive"};if(e[0]==="."&&e.length===3&&r(e[1]))return!0;if((e[0]==="."||e[0]==="[]")&&e.length===3&&s(e))return!0;if(y(e[0])&&e[0][0]==="."&&e[0][1]==="this"&&typeof e[0][2]==="string"&&this.cframes.length>0&&this.cframes[this.cframes.length-1].members.has(e[0][2]))return!0;return e.some((i)=>this.renderReactive(i))}isRenderBinding(e){return y(e)&&ha.has(e[0])&&e.length===3&&typeof e[1]==="string"&&ht.test(e[1])}renderSpreadError(e,t=null){return this.positionedError(e,t!==null?"emitter: a spread has no reading on a child component — pass each prop as a named pair; to forward the "+`caller's undeclared props onto '${t}', declare the wrapper \`component extends ${t}\` and construct it in the render`:"emitter: a spread has no render reading — an element takes named attribute pairs, and `= expr` renders ONE value",this.rstate.node)}renderNode(e){if(this.isRenderBinding(e))return this.renderBinding(e);if(dt(e))throw this.renderSpreadError(e);if(y(e)&<(e[0])&&e.length===3)throw this.positionedError(e,"emitter: an assignment at a render child position must declare a render local (`name = expr` / compound forms "+"on a plain name) — member and chain writes have no render reading here; put the write in a handler or method");if(typeof e==="string"){if(e.startsWith('"')||e.startsWith("'")||e.startsWith("`")){let c=this.newRenderText();return this.renderLine(null,()=>this.b.emit(`${c} = document.createTextNode(${e})`)),c}let n=this.renderVarKind(e,e);if(n!==null){let c=this.newRenderText();if(n==="loop-reactive")this.renderLine(null,()=>this.b.emit(`${c} = document.createTextNode('')`)),this.renderEffect(null,()=>this.b.emit(`${c}.data = ${e};`));else this.renderLine(null,()=>this.b.emit(`${c} = document.createTextNode(String(${e}))`));return c}let a=this.resolveBareRead(e);if(a==="reactive"||a==="member-reactive"){let c=this.newRenderText();return this.renderLine(null,()=>this.b.emit(`${c} = document.createTextNode('')`)),this.renderEffect(null,()=>{this.b.emit(`${c}.data = `),this.expr(e),this.b.emit(";")}),c}if(e==="slot")return this.renderSlot(e,[]);if(G1(e))return this.renderChildComponent(e,e,[]);if(a==="member"){let c=this.newRenderText();return this.renderLine(null,()=>{this.b.emit(`${c} = document.createTextNode(String(`),this.expr(e),this.b.emit("))")}),c}let[o,l]=e.split("#");return this.renderTag(e,o||"div",[],[],l)}if(!y(e))throw this.positionedError(e,"emitter: unsupported render child");let t=e[0],r=typeof t==="string"?t:null;if(r==="if"&&e.length>=3)return this.renderCond(e);if(r==="switch"&&e.length===4)return this.renderSwitch(e);if(r==="for-in"&&e.length===6)return this.renderLoop(e);if(r==="for-of"&&e.length===6)throw this.positionedError(e,"emitter: `for … of` (object iteration) has no reconcile reading inside render — "+"__reconcile expects an array and crashes at mount; iterate entries instead: `for pair in Object.entries(obj)`");if(r==="for-as"&&e.length===6)throw this.positionedError(e,"emitter: an async loop has no render reading — reconciliation is synchronous; collect the items into a state "+"member and loop over it");if(r==="comprehension"||r==="while"||r==="loop")throw this.positionedError(e,"emitter: only `for … in` drives list rendering — while/loop/comprehensions have no reconcile reading inside "+"render");if(this.isEffectDecl(e)||this.isReactiveDecl(e)||this.isReadonlyDecl(e))throw this.positionedError(e,"emitter: declarations and effects have no render-body reading — declare members in the component body, above render");if(r==="slot")return this.renderSlot(e,e.slice(1));if(r!==null&&G1(r))return this.renderChildComponent(e,r,e.slice(1));if(r==="."&&e[1]==="this"&&typeof e[2]==="string")throw this.positionedError(e,`emitter: bare \`@${e[2]}\` is not rendered as text — use \`= @${e[2]}\` to render it`);let s=pi(e);if(s!==null)return this.renderChildComponent(e,{text:s,node:e},[]);let i=y(t)?pi(t):null;if(i!==null)return this.renderChildComponent(e,{text:i,node:t},e.slice(1));if(r==="."){let{tag:n,classes:a,id:o}=E.collectTemplateClasses(e);if(n!==null&&te(n)&&this.renderVarKind(n)===null)return this.renderTag(e,n,a,[],o);return this.renderTextExpr(e)}if(r==="__text__"){if(e.length>2)throw this.positionedError(e,"emitter: the `= expr` text form takes ONE expression — an indented continuation under the `=` line has no "+"render reading (inside render a leading `.` starts a NEW element, so the continuation cannot be a method chain; put the whole expression on the `=` line, or bind it in a method)",this.rstate.node);if(dt(e[1]))throw this.renderSpreadError(e[1]);return this.renderTextExpr(e[1]??"undefined",e,!0)}if(r!==null&&te(r.split("#")[0])&&e.length>=1&&this.renderVarKind(r)===null){let[n,a]=r.split("#");return this.renderTag(e,n||"div",[],e.slice(1),a)}if(y(t)){if(y(t[0])&&t[0][0]==="."&&t[0][2]==="__clsx"){let l=t[0][1],c=t.slice(1);if(y(l)){let{tag:h,classes:f,id:u}=E.collectTemplateClasses(l);if(h!==null&&te(h))return this.renderDynamicTag(e,h,c,e.slice(1),f,u)}else if(typeof l==="string"&&te(l.split("#")[0])){let[h,f]=l.split("#");return this.renderDynamicTag(e,h||"div",c,e.slice(1),[],f)}}let{tag:n,classes:a,id:o}=E.collectTemplateClasses(t);if(n!==null&&te(n)&&this.renderVarKind(n)===null){if(a.length>0&&a[a.length-1]==="__clsx")return this.renderDynamicTag(e,n,e.slice(1),[],a.slice(0,-1),o);return this.renderTag(e,n,a,e.slice(1),o)}}if(r==="->"||r==="=>")return this.renderChildBlock(e[2]);return this.renderTextExpr(e)}renderTextExpr(e,t=null,r=!1){let s=this.newRenderText(),i=t??(y(e)?e:null);this.checkCrossScopeLocals(e,i??this.rstate.node);let n=(a)=>{if(r&&t!==null)this.mark(t,"args",a);else a()};if(this.renderReactive(e))this.renderLine(i,()=>this.b.emit(`${s} = document.createTextNode('')`)),this.renderEffect(i,()=>{if(this.b.emit(`${s}.data = `),r)this.b.emit("String("),n(()=>this.renderExpr(e)),this.b.emit(")");else this.renderExpr(e);this.b.emit(";")},e);else this.renderLine(i,()=>{this.b.emit(`${s} = document.createTextNode(String(`),n(()=>this.withExpression(()=>this.expr(e))),this.b.emit("))")});return s}isInheritedTarget(e){let t=this.rstate;return t.frame.extendsTag===e&&t.sink.kind==="class"&&t.frame.inheritedBound!==!0}mergesRestKey(e,t){let r=this.rstate;return r.frame.extendsTag!==null&&r.frame.inheritedEl===e&&!r.frame.restReads.has(t)}emitRestRead(e){this.b.emit(`${this.renderSelf??"this"}.rest.value.${e}`)}hostMergeKey(e){let t=this.rstate;if(t.frame.extendsComponent===null)return null;if(e==="class"||e==="className")return t.frame.restReads.has("class")?null:"class";if(e==="style")return t.frame.restReads.has("style")?null:"style";return null}emitHostMerge(e,t){if(e==="class")this.b.emit("["),this.renderExpr(t),this.b.emit(", "),this.emitRestRead("class"),this.b.emit("]");else this.b.emit(`${this.renderSelf??"this"}._mergeRestStyle(`),this.renderExpr(t),this.b.emit(")")}bindInheritedTarget(e,t,r,s){let i=this.rstate;if(!this.isInheritedTarget(t))return;if(i.frame.inheritedBound=!0,i.frame.inheritedEl=r,this.renderLine(e,()=>this.b.emit(`this._inheritedEl = ${r}`)),s.length>0)this.renderLine(e,()=>this.b.emit(`this._inheritedOwn = new Set([${s.map((n)=>JSON.stringify(n)).join(", ")}])`));this.renderLine(e,()=>this.b.emit("this._applyRestToInheritedEl()"))}elementOwnKeys(e,t,r){let s=new Set;if(r)s.add("id");if(e)s.add("class");let i=(n)=>{for(let a of n.slice(1)){if(!y(a)||a.length!==3||typeof a[1]!=="string")continue;let o=a[1];s.add(o.startsWith('"')&&o.endsWith('"')?o.slice(1,-1):o)}};for(let n of t)if(O1(n))i(n);else if(T1(n)&&b1(n[2])){for(let a of n[2].slice(1))if(O1(a))i(a)}for(let n of["ref","key"])s.delete(n);for(let n of[...s])if(n.startsWith("__"))s.delete(n);if(s.has("class")||s.has("className"))s.add("class"),s.add("className");return[...s]}renderElementPrologue(e,t){let r=this.rstate,s=this.newRenderVar();if(r.tags.set(s,t),r.transitionSlot!==null&&r.transitionSlot.record===r.sink&&r.transitionSlot.el===null)r.transitionSlot.el=s;let i=r.svgDepth>0||fi.has(t);if(i)r.svgEls.add(s);let n=this.isInheritedTarget(t);return this.renderLine(e,()=>{let a=this.renderSelf??"this";if(this.b.emit(`${s} = `),n)this.b.emit(`${a}._asChild ? ${a}._adoptChild() : `);if(i)this.b.emit(`document.createElementNS('${E.SVG_NS}', `);else this.b.emit("document.createElement(");let o=this.emitQuotedPrimitive(t);if(o!==null&&ot(t,i))this.intrinsics.push({start:o[0],end:o[1],kind:"tag",tag:t,svg:i});this.b.emit(")")}),{el:s,isSvg:i}}renderElementBasics(e,t,r,s,i){let n=this.rstate;if(s)this.renderLine(e,()=>this.b.emit(`${r}.id = '${s}'`));if(this.bindInheritedTarget(e,t,r,i),n.frame.name!==null&&n.elCount===1&&n.sink.kind==="class")this.renderLine(e,()=>this.b.emit(`${r}.setAttribute('data-part', '${n.frame.name}')`))}renderTag(e,t,r,s,i){this.noteShorthandClasses(r,e);let n=this.rstate,{el:a,isSvg:o}=this.renderElementPrologue(e,t);this.renderElementBasics(e,t,a,i,this.elementOwnKeys(r.length>0,s,i));let{pendingClassArgs:l,pendingClassEl:c,pendingClassKeys:h}=n;if(r.length>0)n.pendingClassArgs=[`'${r.join(" ")}'`],n.pendingClassEl=a,n.pendingClassKeys=null;if(o)n.svgDepth++;if(this.renderChildren(a,s,e),o)n.svgDepth--;if(r.length>0){if(this.mergesRestKey(a,"class"))n.pendingClassArgs.push(()=>this.emitRestRead("class"));if(n.pendingClassArgs.length===1)this.renderLine(e,()=>this.b.emit(o?`${a}.setAttribute('class', '${r.join(" ")}')`:`${a}.className = '${r.join(" ")}'`));else{let f=n.pendingClassArgs.slice(1),u=n.pendingClassKeys??[],d=this.tsElReceiver(a);this.renderEffect(e,()=>{let p=this.runtimeName("__clsx");if(o){d.emit();let m=this.b.offset+1;this.b.emit(`.setAttribute('class', ${p}('${r.join(" ")}', `);for(let g of u)this.intrinsics.push({start:g[0],end:g[1],kind:"attr",name:"class",gen:m})}else{d.emit(),this.b.emit(".");let m=this.b.offset;this.b.emit(`className = ${p}('${r.join(" ")}', `);for(let g of u)this.intrinsics.push({start:g[0],end:g[1],kind:"classkey",gen:m})}f.forEach((m,g)=>{if(g>0)this.b.emit(", ");m()}),this.b.emit(o?"));":");")})}n.pendingClassKeys=h,n.pendingClassArgs=l,n.pendingClassEl=c}return a}renderDynamicTag(e,t,r,s,i,n){this.noteShorthandClasses(i,e);let a=this.rstate,{el:o,isSvg:l}=this.renderElementPrologue(e,t);this.renderElementBasics(e,t,o,n,this.elementOwnKeys(!0,s,n));for(let p of r)this.checkCrossScopeLocals(p,e);let{pendingClassArgs:c,pendingClassEl:h,pendingClassKeys:f}=a;if(a.pendingClassArgs=[...i.map((p)=>`'${p}'`),...r.map((p)=>()=>this.renderExpr(p))],a.pendingClassEl=o,a.pendingClassKeys=null,l)a.svgDepth++;if(this.renderChildren(o,s,e),l)a.svgDepth--;if(this.mergesRestKey(o,"class"))a.pendingClassArgs.push(()=>this.emitRestRead("class"));let u=a.pendingClassArgs,d=a.pendingClassKeys??[];if(u.length>0)this.renderEffect(e,()=>{let p=this.runtimeName("__clsx");this.b.emit(`${o}`);let m=this.b.offset+1;this.b.emit(l?`.setAttribute('class', ${p}(`:`.className = ${p}(`);for(let g of d)this.intrinsics.push(l?{start:g[0],end:g[1],kind:"attr",name:"class",gen:m}:{start:g[0],end:g[1],kind:"classkey",gen:m});u.forEach((g,b)=>{if(b>0)this.b.emit(", ");if(typeof g==="string")this.b.emit(g);else g()}),this.b.emit(l?"));":");")});return a.pendingClassKeys=f,a.pendingClassArgs=c,a.pendingClassEl=h,o}renderChildBlock(e){if(!b1(e)){let r=this.renderNode(e);if(r!=null)return r;let s=this.newRenderVar("empty");return this.renderLine(null,()=>this.b.emit(`${s} = document.createComment('')`)),s}let t=e.slice(1);if(t.length===0){let r=this.newRenderVar("empty");return this.renderLine(null,()=>this.b.emit(`${r} = document.createComment('')`)),r}return this.walkChildStmts(t)}renderChildren(e,t,r=null){let s=this._textOwner;this._textOwner=r;try{this.renderChildrenOf(e,t,r)}finally{this._textOwner=s}}renderAppend(e,t){this.renderLine(null,()=>{let r=t===this.rstate.frame?.asChildSlot?`if (!${this.renderSelf??"this"}._asChild) `:"";this.b.emit(`${r}${e}.appendChild(${t})`)})}renderChildrenOf(e,t,r){for(let s=0;s0)throw this.positionedError(i,"emitter: a parameterized function is not a render child — element children arrows carry no parameters "+"(an indented `.method (v) -> …` continuation re-reads as a NEW element inside render; put the chain on one "+"line or bind it in a method)",this.rstate.node);let n=i[2];if(b1(n))for(let a=1;athis.b.emit(`${l} = document.createTextNode('')`)),this.renderEffect(null,()=>{this.b.emit(`${l}.data = `),this.emitPrimitive(i),this.b.emit(";")});else this.renderLine(null,()=>{this.b.emit(`${l} = document.createTextNode(`),this.emitPrimitive(i),this.b.emit(")")});this.renderLine(null,()=>this.b.emit(`${e}.appendChild(${l})`));continue}if(te(n||"div")){let l=this.renderNode(i);this.renderAppend(e,l);continue}if(G1(n)&&n===i){let l=this.renderChildComponent(i,i,[]);this.renderAppend(e,l);continue}if(/^[A-Za-z_$][\w$]*$/.test(i)&&this.resolveBareRead(i)===null&&!this.inScope(i)){this.renderBareAttribute(e,i,t,s,r);continue}let o=this.newRenderText();if(i.startsWith('"')||i.startsWith("'")||i.startsWith("`"))this.renderLine(null,()=>this.b.emit(`${o} = document.createTextNode(${i})`));else{let l=this.resolveBareRead(i);if(l==="reactive"||l==="member-reactive")this.renderLine(null,()=>this.b.emit(`${o} = document.createTextNode('')`)),this.renderEffect(null,()=>{this.b.emit(`${o}.data = `),this.expr(i),this.b.emit(";")});else if(l==="member")this.renderLine(null,()=>{this.b.emit(`${o} = document.createTextNode(String(`),this.expr(i),this.b.emit("))")});else this.renderLine(null,()=>{this.b.emit(`${o} = document.createTextNode(`),this.expr(i),this.b.emit(")")})}this.renderLine(null,()=>this.b.emit(`${e}.appendChild(${o})`));continue}if(i!=null){let n=this.renderNode(i);this.renderAppend(e,n)}}}renderTagOf(e){return this.rstate.tags?.get(e)??"div"}renderBareAttribute(e,t,r,s,i){let n=this.renderTagOf(e),a=null;if(this.ts&&!di(n,t)){let c=this.bareChildSpan(r,s,i);if(c!==null)a=c,this.intrinsics.push({start:c[0],end:c[1],kind:"unknown-attr",tag:n,name:t,message:this.unknownAttrMessage(n,t,{bare:!0,svg:this.rstate?.svgEls?.has(e)===!0})})}let o=this.tsElReceiver(e),l=a===null?null:this.stores.idOf(i);this.renderLine(null,()=>{if(o.emit(),this.b.emit(".setAttribute("),l!==null)this.b.markSpan(l,"identifier",a[0],a[1],()=>this.emitQuotedPrimitive(t));else this.emitQuotedPrimitive(t);this.b.emit(", '')")})}renderOwnLineWord(e,t,r,s,i){if(typeof t!=="string"||!/^[A-Za-z_$][\w$]*$/.test(t))return!1;if(te(t)||G1(t))return!1;if(this.renderVarKind(t,t)!==null)return!1;if(this.resolveBareRead(t)!==null||this.inScope(t))return!1;return this.renderBareAttribute(e,t,r,s,i),!0}claimSlot(e){let t=this.rstate,r=e??this.rstate.node;if(t.sink.loopStack.length>0)throw this.positionedError(r,"emitter: `slot` inside a loop row has no working reading — `children` is ONE node, and every row would fight "+"over it; project it once, outside the loop",this.rstate.node);if(t.slotSeen)throw this.positionedError(r,"emitter: a second `slot` in one render — `children` is ONE node, and a second projection point MOVES it "+"",this.rstate.node);t.slotSeen=!0,this.noteVocabulary("render-channel","slot",r)}childrenReadText(){return`${this.renderSelf??"this"}.children${this.memberIsReactive("children")?".value":""}`}emitChildrenRead(e){if(this.b.emit(`${this.renderSelf??"this"}.`),e!==null)this.intrinsics.push({start:e[0],end:e[1],kind:"slot",gen:this.b.offset});if(this.b.emit("children"),this.memberIsReactive("children"))this.b.emit(".value")}renderSlot(e,t){let r=y(e)?e:null;if(t.length>0)throw this.positionedError(r??e,"emitter: `slot` takes no arguments — fallback content has no "+"reading here (render it through a conditional around the slot)",this.rstate.node);this.claimSlot(r);let s=this.newRenderVar("slot");if(this.rstate.frame.extendsTag!==null&&this.rstate.sink.kind==="class")this.rstate.frame.asChildSlot=s;let i=this.ts?this.wordSpanIn("slot",r??this.rstate.node):null;return this.renderLine(r,()=>{let n=this.childrenReadText();this.b.emit(`${s} = `),this.emitChildrenRead(i),this.b.emit(` instanceof Node ? ${n} : (${n} != null ? document.createTextNode(String(${n})) : document.createComment(''))`)}),s}renderChildComponent(e,t,r){let s=this.rstate,i=s.sink,n=y(e)?e:null,a=typeof t==="string"?null:t;if(a!==null)t=a.text;let o=a!==null?Wt(a.text):t,l=(N)=>{if(this.ts&&N!==null)this.componentUses.push({start:N[0],end:N[1],name:t})},c;if(a!==null){if(this.renderVarKind(o)===null&&this.resolveBareRead(o)===null&&!this.inScope(o)&&!(this.moduleBound!==void 0&&this.moduleBound.has(o)))throw this.positionedError(n??e,`emitter: component '${t}' is not defined in this module — a child component's path starts at a module `+`binding, an import, or a component member, and '${o}' is none of these`,this.rstate.node);let N=this.stores.idOf(a.node)??null;c=()=>{l(N!==null?this.stores.selfSpan(N):null),this.renderExpr(a.node)}}else if(this.renderVarKind(t)!==null)c=()=>l(this.emitPrimitive(t));else{let N=this.resolveBareRead(t);if(N==="member"||N==="member-reactive")c=()=>{if(this.b.emit(`${this.renderSelf??"this"}.`),l(this.emitPrimitive(t)),N==="member-reactive")this.b.emit(".value")};else if(N==="reactive")c=()=>{l(this.emitPrimitive(t)),this.b.emit(".value")};else if(this.inScope(t)||this.moduleBound!==void 0&&this.moduleBound.has(t))c=()=>l(this.emitPrimitive(t));else throw this.positionedError(n??e,`emitter: component '${t}' is not defined in this module — a child component must be a module binding, `+"an import, or a component member (an undefined name would degrade to a comment placeholder at mount)",this.rstate.node)}let h=this.newRenderVar("inst"),f=this.newRenderVar("el"),u=s.frame.extendsComponent===t&&i.kind==="class"&&s.frame.inheritedBound!==!0&&this.renderVarKind(o)===null&&this.resolveBareRead(o)===null;if(u)s.frame.inheritedBound=!0;let d=[],p=[],m=[],g=[],b=new Map,S={prop:"an explicit `children:` prop",body:"element body content",slot:"a nested `slot`"},w=null,R=(N,V,B="prop")=>{let r1=N.startsWith("__bind_")&&N.endsWith("__")?N.slice(7,-2):N;if(b.has(r1)){if(r1==="children")throw this.positionedError(V??n??e,`emitter: this child component receives \`children\` TWICE — ${S[w]} beside ${S[B]}; give the children ONE spelling: the element body (indented or inline), the explicit \`children:\` prop, or a nested \`slot\` forwarding the received children`,this.rstate.node);throw this.positionedError(V??n??e,`emitter: duplicate prop '${r1}' on a child component — duplicate keys emit one object literal where the `+"last silently wins, and on an extends child the pair leaves two live writers racing over the inherited element; pass one value per prop",this.rstate.node)}if(b.set(r1,V??null),r1==="children")w=B},T=(N)=>{if(dt(N))throw this.renderSpreadError(N,t);if(!y(N)||N.length!==3)throw this.positionedError(N,"emitter: unsupported attribute form on a child component",n??this.rstate.node);if(s.suppressedPairs.has(N))return;let[,V,B]=N;if(y(V)&&V[0]==="."&&V[1]==="this"&&typeof V[2]==="string"){this.checkBareEventHandler(N,B),this.checkCrossScopeLocals(B,N),m.push({pair:N,event:V[2],value:B});return}if(G(N),typeof V!=="string")throw this.positionedError(N,"emitter: computed prop keys are not supported on a child component",n??this.rstate.node);let r1=V.startsWith('"')&&V.endsWith('"')?V.slice(1,-1):V;if(r1==="__transition__")throw this.positionedError(N,"emitter: a transition directive has no child-component reading — the enter/leave phases animate ELEMENTS "+"; put it on the branch's first element, inside the child's own render",this.rstate.node);if(r1==="ref")throw this.positionedError(N,"emitter: `ref:` captures ELEMENTS — on a child component it has no reading "+"(a dead prop, silently); put the ref on an element inside the child, or emit the instance through an event",this.rstate.node);if(r1==="key")throw this.positionedError(N,"emitter: `key:` identifies loop rows — it is read only on the FIRST element of a `for` body inside render; "+"anywhere else it would leak into the DOM as an attribute",this.rstate.node);if(R(r1,N),r1.startsWith("__bind_")&&r1.endsWith("__")){this.checkUserSpelledBind(N),this.noteVocabulary("render-channel",r1,N);let h1=r1.slice(7,-2),p1=this.childContainerRef(B);if(p1!==null){d.push({pair:N,key:V,fn:p1});return}let n1=(u1,c1)=>this.positionedError(N,`emitter: \`${h1} <=> …\` on a child component shares a reactive CONTAINER, and ${u1} ; ${c1}`,this.rstate.node);if(typeof B==="string"&&this.renderVarKind(B)===null){let u1=this.resolveBareRead(B);if(u1==="member")throw n1(`'${B}' is a plain member`,"declare it with ':=' to share it");if(u1===null&&!this.inScope(B))throw n1(`'${B}' is not declared`,"bind a reactive member or module reactive name")}if(y(B)&&B[0]==="."&&B[1]==="this"&&B.length===3&&typeof B[2]==="string")throw n1(`'@${B[2]}' is not a reactive member`,"declare it with ':=' to share it");if(typeof B!=="string"&&!E.isChainNode(B))throw n1("this expression is never a container","bind a reactive member or module reactive name");this.checkCrossScopeLocals(B,N),d.push({pair:N,key:V,fn:()=>this.renderExpr(B)});return}let f1=u?this.hostMergeKey(r1):null;if(f1!==null){this.checkCrossScopeLocals(B,N),d.push({pair:N,key:V,fn:()=>this.emitHostMerge(f1,B)}),p.push({pair:N,key:V,value:B,merge:f1});return}this.addChildProp(d,p,N,V,r1,B)},j=(N,V)=>{throw this.positionedError(N,`emitter: bare '${V}' under a child component is ambiguous — it names an HTML element AND a `+`value in scope, and the value would win silently; render the value with \`= ${V}\`, or give the element content or attributes`,this.rstate.node)},M=(N,V)=>{R(V,null),d.push({pair:null,key:V,span:O(V),fn:()=>this.b.emit("true")})},x=n!==null&&this.stores.idOf(n)!==null?this.stores.selfSpan(this.stores.idOf(n)):null,A=x!==null&&this.b.source!==null?x[0]:null,C=(N)=>{if(A===null||N==null)return;if(y(N)){let V=this.stores.idOf(N),B=V!==null?this.stores.selfSpan(V):null;A=B!==null?Math.max(A,B[1]):null;return}if(typeof N==="string"){let V=this.b.source.indexOf(N,A);A=V>=0&&V+N.length<=x[1]?V+N.length:null;return}A=null},O=(N)=>{if(A===null)return null;let V=new RegExp(`(?x[1])return null;return A=B.index+N.length,[B.index,B.index+N.length]},W=new Map,G=(N)=>{if(!this.tsDirectivesArmed)return;let V=this.tsDirectiveMap.get(N);if(V===void 0)return;this.tsDirectiveMap.delete(N),W.set(N,[...W.get(N)??[],...V])},Y=(N)=>{if(!this.tsDirectivesArmed)return;let V=this.tsDirectiveMap.get(N);if(V===void 0)return;let B=N.slice(1).find((r1)=>y(r1));if(B===void 0||s.suppressedPairs.has(B))return;this.tsDirectiveMap.delete(N),this.tsDirectiveMap.set(B,[...V,...this.tsDirectiveMap.get(B)??[]])},k=[],v=!1,U=(N)=>!y(N)&&!(typeof N==="string"&&((te(N.split(/[#.]/)[0])||G1(N.split(/[#.]/)[0]))&&this.renderVarKind(N)===null&&this.resolveBareRead(N)===null)),Z=(N)=>{if(N==null)return;if(dt(N))throw this.renderSpreadError(N,t);let V=typeof N==="string"&&ht.test(N)&&this.renderVarKind(N)===null&&this.resolveBareRead(N)===null;if(V&&(te(N)||N==="slot")&&(this.inScope(N)||this.moduleBound.has(N)))j(n??this.rstate.node,N);if(V&&N==="slot"){v=!0,C(N),k.push(N);return}if(V&&!this.inScope(N)&&!this.moduleBound.has(N)){M(n??this.rstate.node,N);return}C(N),k.push(N)};for(let N of r)if(O1(N)){Y(N);for(let V of N.slice(1))T(V);C(N)}else if(T1(N)){if(y(N[1])&&N[1].length>0)throw this.positionedError(N,`emitter: a parameterized function is not a render child — the children of '${t}' arrive as a bare block (a callback the component should run is passed as a named prop)`,this.rstate.node);let V=N[2],B=b1(V)?V.slice(1):V!=null?[V]:[];for(let r1 of B)if(O1(r1)){Y(r1);for(let o1 of r1.slice(1))T(o1);C(r1)}else Z(r1)}else Z(N);let P=(N)=>{if(!U(N))return this.renderNode(N);this.checkCrossScopeLocals(N,n??this.rstate.node);let V=this.newRenderText();if(this.renderReactive(N))this.renderLine(n,()=>this.b.emit(`${V} = document.createTextNode('')`)),this.renderEffect(n,()=>{this.b.emit(`${V}.data = `),this.renderExpr(N),this.b.emit(";")},N);else this.renderLine(n,()=>{this.b.emit(`${V} = document.createTextNode(`),this.renderExpr(N),this.b.emit(")")});return V},X=null,F=k.filter((N)=>!this.isRenderBinding(N));if(F.length===1&&v){R("children",null,"slot"),this.claimSlot(n);let N=this.ts?this.wordSpanIn("slot",n??this.rstate.node):null;for(let V of k)if(V!=="slot")P(V);d.push({pair:null,key:"children",fn:()=>this.emitChildrenRead(N)})}else if(F.length===1)R("children",null,"body"),X=()=>{let N=null;for(let V of k){let B=P(V);if(B!=null)N=B}return N};else if(F.length>1)R("children",null,"body"),X=()=>{let N=this.newRenderVar("frag");this.renderLine(null,()=>this.b.emit(`${N} = document.createDocumentFragment()`));for(let V of k){let B=P(V);if(B!=null)this.renderLine(null,()=>this.b.emit(`${N}.appendChild(${B})`))}return N};else for(let N of k)P(N);let e1=new Set([...i.bindings,...i.locals]);if(i.vars!==null)for(let N of i.vars)e1.add(N);if(y(e))E.collectLeafNames(e,e1);let Q=E.mintName("__prev",e1),a1=E.mintName("__kid",e1),d1=E.mintName("__childErr",e1);if(i.kind!=="class")i.hasKids=!0;let I=(N)=>this.renderLine(n,N,!1),l1=()=>this.renderSelf??"this",L=this.projectionHost;this.threadProjectionHost(L);let t1=()=>L!==null&&L.startsWith("this.")?`${l1()}.${L.slice(5)}`:L;if(I(()=>this.b.emit(L!==null?`{ const ${Q} = ${t1()}._beginProjection(${l1()}); try {`:`{ const ${Q} = ${this.runtimeName("__pushComponent")}(${l1()}); try {`)),I(()=>this.b.emit("try {")),I(()=>{if(this.b.emit(`${h} = new `),c(),this.b.emit("("),d.length===0)this.b.emit(u?`{ ...${l1()}._rest }`:"{}");else{let N=W.size>0,V=this.replayPad+" ";if(this.b.emit(N?"{":"{ "),u)this.b.emit(N?` +${V}...${l1()}._rest,`:`...${l1()}._rest, `);d.forEach((B,r1)=>{if(N){if(r1>0)this.b.emit(",");this.b.emit(` +`);let f1=B.pair!==null?W.get(B.pair):void 0;if(this.ts&&f1!==void 0)for(let h1 of f1)this.tsDirectiveLine(h1,V,!0);this.b.emit(V)}else if(r1>0)this.b.emit(", ");let o1=()=>{let f1=(p1)=>{let n1=this.b.offset,u1=p1();if(this.ts)this.attrNames.push([n1,this.b.offset]);if("routeKey"in B)B.routeKey=[n1,this.b.offset];if(this.ts&&u1!=null){let c1=B.pair!==null?this.stores.idOf(B.pair):null,K=c1!==null?this.stores.selfSpan(c1):null,_=[u1[0],u1[1]];this.renderPairs.push({key:_,pair:K??_,sites:[[n1,this.b.offset]]})}},h1=y(n)?this.stores.idOf(n):null;if(this.ts&&B.span!=null&&h1!==null){f1(()=>(this.b.markSpan(h1,"shorthandProp",B.span[0],B.span[1],()=>this.b.emit(B.key)),[B.span[0],B.span[1]])),this.b.emit(": "),B.fn();return}if(B.key.startsWith("__bind_")&&B.key.endsWith("__"))f1(()=>{let p1=this.b.offset;this.b.emit("__bind_");let n1=this.emitRewrittenPrimitive(B.key,B.key.slice(7,-2));if(this.ts&&n1!==null)this.intrinsics.push({start:n1[0],end:n1[1],kind:"bind",name:B.key.slice(7,-2),gen:p1});return this.b.emit("__"),n1});else f1(()=>this.emitPrimitive(B.key));this.b.emit(": "),B.fn()};if(B.pair!==null&&this.stores.idOf(B.pair)!==null)this.mark(B.pair,"$self",o1);else o1()}),this.b.emit(N?` +${this.replayPad}}`:" }")}this.b.emit(");")}),I(()=>this.b.emit(`if (${h} && ${h}._initFailed) {`)),I(()=>this.b.emit(` ${h} = null;`)),I(()=>this.b.emit(` ${f} = document.createComment('rip:child-init-failed: ${t}');`)),X!==null){I(()=>this.b.emit("} else {")),I(()=>this.b.emit(`{ const ${a1} = ${h}._beginProjection(${l1()}); try {`));let N=this.projectionHost;this.projectionHost=h;let V=i.setups.length,B;try{B=X()}finally{this.projectionHost=N}let r1=(f1)=>({kind:"raw",node:null,fn:(h1)=>{this.b.emit(`${h1}if (${h}) { +`),this.replaySetups({setups:f1},`${h1} `),this.b.emit(`${h1}} +`)}}),o1=[];for(let f1 of i.setups.splice(V)){if(f1.latch!==!0){o1.push(f1);continue}if(o1.length>0)i.setups.push(r1(o1));o1=[],i.setups.push(f1)}if(o1.length>0)i.setups.push(r1(o1));I(()=>this.b.emit(`} finally { ${h}._endProjection(${a1}); } }`)),I(()=>this.b.emit(`${h}._setChildren(${B});`))}if(I(()=>{this.b.emit(X!==null?"if (":"} else if (");let N=()=>this.b.emit(`${h}._mountCreate()`);if(n!==null)this.mark(n,"$self",N);else N();this.b.emit(") {")}),I(()=>this.b.emit(` ${f} = ${h}._root;`)),u){let N=new Set([...b.keys()].filter((B)=>B!=="children"));if(N.has("class")||N.has("className"))N.add("class"),N.add("className");let V=[...N].map((B)=>JSON.stringify(B)).join(", ");I(()=>this.b.emit(` ${l1()}._inheritedInst = ${h};`)),I(()=>this.b.emit(` ${l1()}._inheritedOwn = new Set([${V}]);`))}if(i.kind==="class")I(()=>this.b.emit(` (this._children || (this._children = [])).push(${h});`));else I(()=>this.b.emit(` ${i.kidsVar}.push(${h});`));if(I(()=>this.b.emit("} else {")),I(()=>this.b.emit(` ${h} = null;`)),I(()=>this.b.emit(` ${f} = document.createComment('rip:child-error: ${t}');`)),I(()=>this.b.emit("}")),X!==null)I(()=>this.b.emit("}"));I(()=>this.b.emit(`} catch (${d1}) {`)),I(()=>this.b.emit(` ${this.runtimeName("__reportChildFailure")}('${t}', ${d1});`)),I(()=>this.b.emit(` ${h} = null;`)),I(()=>this.b.emit(` ${f} = document.createComment('rip:child-error: ${t}');`)),I(()=>this.b.emit("}")),I(()=>this.b.emit(L!==null?`} finally { ${t1()}._endProjection(${Q}); } }`:`} finally { ${this.runtimeName("__popComponent")}(${Q}); } }`));for(let{pair:N,event:V,value:B}of m){if(this.ts){let f1=y(N)&&y(N[1])?N[1]:null,h1=f1!==null?this.stores.idOf(f1)??null:null,p1=h1!==null?this.stores.selfSpan(h1):null;if(p1!==null)this.intrinsics.push({start:p1[0],end:p1[1],kind:"event",name:V,type:this.tsEventTypeText([V])!==null?`HTMLElementEventMap['${V}']`:null,child:t})}let r1=new Set;E.collectLeafNames(B,r1);let o1=E.mintName("e",r1);this.renderLine(N,()=>{let f1=`(${h}._nodes?.[0] ?? ${f})`;if(!this.ts)this.b.emit(`if (${h}) ${f1}.addEventListener('${V}', (${o1}`);else this.b.emit(`if (${h}) ${f1}.addEventListener(`),this.emitQuotedPrimitive(V),this.b.emit(`, (${o1}`);this.tsScaffoldAny(),this.b.emit(`) => ${this.runtimeName("__batch")}(() => (`),this.tsHandlerCast(()=>this.withExpression(()=>this.expr(B))),this.b.emit(`)(${o1})))`)})}i.setups.push({kind:"raw",latch:!0,fn:(N)=>{this.b.emit(N);let V=()=>{this.b.emit(`if (${h} && ${h}._state === 'mounting') { +${N} ${f} = ${h}._mountSetup(document.createComment('rip:child-error: ${t}')); +`);let B=this.rstate.fragChildren.get(i.root),r1=B!==void 0?B[0]:i.root;if(i.kind!=="class"&&r1===f){if(this.b.emit(`${N} `),this.ts)this.b.tsOnly(()=>this.b.emit("("));if(this.b.emit("this"),this.ts)this.b.tsOnly(()=>this.b.emit(" as any)"));this.b.emit(`._first = ${f}; +`)}this.b.emit(`${N}}`)};if(n!==null)this.mark(n,"$self",V);else V();this.b.emit(` +`)}});for(let{pair:N,key:V,value:B,merge:r1=null}of p){let o1=V.startsWith('"')&&V.endsWith('"')?V.slice(1,-1):V;this.renderEffect(N,()=>{if(this.b.emit(`if (${h}) ${h}._updateProp('${o1}', `),r1!==null)this.emitHostMerge(r1,B);else this.renderExpr(B);this.b.emit(");")},B)}return f}addChildProp(e,t,r,s,i,n){let a=this.childContainerRef(n);if(a!==null){e.push({pair:r,key:s,fn:a});return}if(this.checkCrossScopeLocals(n,r),this.ts&&this.routesUnion!==null&&i==="href"&&this.isRouteLiteralValue(n)){this._needsRouteHelper=!0;let l={pair:r,key:s,routeKey:null};l.fn=()=>{this.b.tsOnly(()=>this.b.emit("__ripRoute("));let c=this.b.offset;this.renderExpr(n);let h=this.b.offset;if(this.b.tsOnly(()=>this.b.emit(")")),l.routeKey!==null)this.routeWrapSpans.push({key:l.routeKey,value:[c,h]})},e.push(l)}else e.push({pair:r,key:s,fn:()=>this.renderExpr(n)});if(!T1(n)&&this.renderReactive(n))t.push({pair:r,key:s,value:n})}childContainerRef(e){if(typeof e==="string"){if(this.renderVarKind(e)!==null)return null;let t=this.resolveBareRead(e);if(t==="member-reactive")return this.narrowedContainer(e,()=>{this.b.emit(`${this.renderSelf??"this"}.`);let r=this.emitPrimitive(e);if(this.ts&&r!==null)this.memberDecls.push({start:r[0],end:r[1]});return r});if(t==="reactive")return this.narrowedContainer(e,()=>this.emitPrimitive(e));return null}if(y(e)&&e[0]==="."&&e[1]==="this"&&e.length===3&&typeof e[2]==="string"&&this.memberIsReactive(e[2]))return this.narrowedContainer(e[2],()=>(this.b.emit(`${this.renderSelf??"this"}.`),this.emitPrimitive(e[2])));return null}narrowedContainer(e,t){if(!this.ts)return t;return()=>{if(!this.activeNarrowed().some((i)=>i===e||y(i)&&i[0]==="."&&i[1]==="this"&&i.length===3&&i[2]===e))return t();this._needsNarrowedHelper=!0,this.b.tsOnly(()=>this.b.emit("__ripNarrowed("));let s=t();if(this.b.tsOnly(()=>this.b.emit(")")),s!=null)this.narrowedDecls.push({start:s[0],end:s[1]})}}isRouteLiteralValue(e){let t=(r)=>typeof r==="string"&&/^["'`]\//.test(r);return t(e)||y(e)&&e[0]==="str"&&t(e[1])}renderAttributes(e,t){let r=this.rstate;if(this.ts&&this.tsDirectivesArmed&&this.tsDirectiveMap.has(t)){let s=t.slice(1).find((n)=>y(n));if(s!==void 0&&s.length===3&&!r.suppressedPairs.has(s)&&(()=>{let n=s[1];if(typeof n!=="string")return!0;if(n.startsWith('"')&&n.endsWith('"'))n=n.slice(1,-1);if((n==="class"||n==="className")&&r.pendingClassArgs!==null&&r.pendingClassEl===e)return!1;if(n==="ref"&&this.rstate.sink.kind!=="class")return!1;return!0})()){let n=this.tsDirectiveMap.get(t);this.tsDirectiveMap.delete(t),this.tsDirectiveMap.set(s,[...n,...this.tsDirectiveMap.get(s)??[]])}}for(let s of t.slice(1)){if(dt(s))throw this.renderSpreadError(s);if(!y(s)||s.length!==3)throw this.positionedError(s,"emitter: unsupported attribute form in render",t);if(r.suppressedPairs.has(s))continue;let[,i,n]=s;this.checkCrossScopeLocals(n,s);let a=null;if(this.ts){let M=this.stores.idOf(s),x=M!==null?this.stores.selfSpan(M):null,A=this.b.source;if(x!==null&&A!==null){let C=x[0];while(Cx[0])a={key:[x[0],C],pair:[x[0],x[1]],sites:[]},this.renderPairs.push(a)}}let o=(M)=>{if(a!==null&&M!==null&&M[1]>M[0])a.sites.push(M)},l=a!==null?a.key:null,c=(M)=>{if(l===null)return M();let x=this.b.claimWithin;this.b.claimWithin=l;try{return M()}finally{this.b.claimWithin=x}},h=(M)=>{if(l===null)return M();let x=this.primitiveAvoid;this.primitiveAvoid=[...x??[],l];try{return M()}finally{this.primitiveAvoid=x}};if(y(i)&&i[0]==="."&&i[1]==="this"&&typeof i[2]==="string"){let M=i[2];if(this.checkBareEventHandler(s,n),this.rstate.sink.kind==="loop"&&this.loopVarNames().size>0&&Ee(n,this.loopVarNames()))this.rstate.sink.forceNonStatic=!0;let x=new Set;E.collectLeafNames(n,x);let A=E.mintName("e",x),C=this.tsElReceiver(e),O=this.ts?this.tsEventTypeText([M],C.hostText):null;if(this.ts){let W=this.stores.idOf(i)??null,G=W!==null?this.stores.selfSpan(W):null;if(G!==null)this.intrinsics.push({start:G[0],end:G[1],kind:"event",name:M,type:O,tag:this.rstate?.tags?.get(e)??null,svg:this.rstate?.svgEls?.has(e)===!0})}this.renderLine(s,()=>{let W=this.renderSelf??"this";if(!this.ts)this.b.emit(`${e}.addEventListener('${M}', (${A}`);else C.emit(),this.b.emit(".addEventListener("),c(()=>this.emitQuotedPrimitive(M)),this.b.emit(`, (${A}`);if(this.tsScaffoldAny(),this.b.emit(`) => ${this.runtimeName("__batch")}(() => `),typeof n==="string"&&this.renderVarKind(n)===null&&this.cframes[this.cframes.length-1].members.has(n)){if(this.ts)this.b.tsOnly(()=>this.b.emit("("));let G=this.b.offset;if(this.b.emit(`${W}.`),h(()=>this.emitPrimitive(n)),this.ts)this.b.tsOnly(()=>this.b.emit(O!==null?` as (e: ${O}) => unknown)`:" as any)"));if(this.ts&&O!==null)o([G,this.b.offset-1]);this.b.emit(`(${A})`)}else{let G=!this.ts?null:T1(n)&&(n[1].length===0||n[1].length===1&&typeof n[1][0]==="string")?O??"any":T1(n)?null:O;this.b.emit("("),o(this.tsHandlerCast(()=>h(()=>this.withExpression(()=>this.expr(n))),G)),this.b.emit(`)(${A})`)}this.b.emit("))")});continue}if(typeof i!=="string")throw this.positionedError(s,"emitter: computed attribute keys are not supported in render",t);let f=i;if(i.startsWith('"')&&i.endsWith('"'))i=i.slice(1,-1);if(i==="__transition__"){this.noteVocabulary("render-channel",i,s),this.renderTransition(e,s,n,t);continue}if(i==="ref"){this.noteVocabulary("render-channel",i,s),this.renderRef(e,s,n,t,o);continue}if(i.startsWith("__bind_")&&i.endsWith("__")){this.noteVocabulary("render-channel",i,s),this.checkUserSpelledBind(s);let M=i.slice(7,-2);this.renderBind(e,s,M,n,t,o);continue}if(i==="key")throw this.positionedError(s,"emitter: `key:` identifies loop rows — it is read only on the FIRST element of a `for` body inside render; "+"anywhere else it would leak into the DOM as an attribute",t);if(i==="class"||i==="className"){let M=(x,A)=>{if(this.ts&&x!==null)this.intrinsics.push({start:x[0],end:x[1],kind:"attr",name:"class",gen:A})};if(r.pendingClassArgs!==null&&r.pendingClassEl===e){this.checkSetupLocalRefs(n,s);let x=this.stores.idOf(s),A=x!==null?this.stores.selfSpan(x):null;if(this.ts&&A!==null)(r.pendingClassKeys??=[]).push([A[0],A[0]+i.length]);r.pendingClassArgs.push(()=>o(this.renderExpr(n)))}else if(this.renderReactive(n)||this.mergesRestKey(e,"class")){let x=r.svgDepth>0,A=this.tsElReceiver(e),C=this.mergesRestKey(e,"class");this.renderEffect(s,()=>{let O=this.runtimeName("__clsx");if(A.emit(),x){let W=this.b.offset+1;this.b.emit(".setAttribute('"),M(this.emitKeyAs(i,"class"),W),this.b.emit(`', ${O}(`)}else this.b.emit("."),this.emitPropertyRoadKey(()=>this.emitKeyAs(i,"className")),this.b.emit(` = ${O}(`);if(o(this.renderExpr(n)),C)this.b.emit(", "),this.emitRestRead("class");this.b.emit(x?"));":");")},n)}else{let x=r.svgDepth>0,A=y(n),C=this.tsElReceiver(e);this.renderLine(s,()=>{let O=this.b.offset;if(C.emit(),x){let G=this.b.offset+1;this.b.emit(".setAttribute('"),M(this.emitKeyAs(i,"class"),G),this.b.emit("', ")}else{if(this.b.emit("."),this.emitPropertyRoadKey(()=>this.emitKeyAs(i,"className")),!A)o([O,this.b.offset]);this.b.emit(" = ")}if(A)this.b.emit(`${this.runtimeName("__clsx")}(`);let W=this.renderExpr(n);if(x||A)o(W);if(A)this.b.emit(")");if(x)this.b.emit(")")})}continue}if((i==="value"||i==="checked")&&this.renderReactive(n)){let M=this.tsElReceiver(e);this.renderEffect(s,()=>{let x=this.b.offset;if(M.emit(),this.b.emit("."),this.emitPropertyRoadKey(()=>this.emitPrimitive(i)),o([x,this.b.offset]),this.b.emit(" = "),this.renderExpr(n),i==="value"&&!E.isStringLiteral(n))this.b.emit(" ?? ''");this.b.emit(";")},n);continue}if(i==="innerHTML"||i==="textContent"||i==="innerText"){let M=this.tsElReceiver(e),x=()=>{let A=this.b.offset;M.emit(),this.b.emit("."),this.emitPropertyRoadKey(()=>this.emitPrimitive(i)),o([A,this.b.offset]),this.b.emit(" = "),this.renderExpr(n)};if(this.renderReactive(n))this.renderEffect(s,()=>{x(),this.b.emit(";")},n);else this.renderLine(s,x);continue}if(E.BOOLEAN_ATTRS.has(i)){let M=this.tsElReceiver(e),x=()=>{let A=c(()=>this.emitKeyAs(f,i));if(this.ts&&M.surfaced&&A!==null)this.intrinsics.push({start:A[0],end:A[1],kind:"attr",name:i,type:"boolean | undefined"})};if(this.renderReactive(n))this.renderEffect(s,()=>{if(M.emit(),this.b.emit(".toggleAttribute('"),x(),this.b.emit("', !!"),this.ts)this.b.tsOnly(()=>this.b.emit("("));h(()=>this.renderExpr(n));let A=this.b.offset+1;if(this.ts)this.b.tsOnly(()=>this.b.emit(" satisfies boolean | undefined)"));if(this.ts)o([A,A+9]);this.b.emit(");")},n);else this.renderLine(s,()=>{this.b.emit("if ("),h(()=>this.withExpression(()=>this.expr(n)));let A=this.b.offset+1;if(this.ts)this.b.tsOnly(()=>this.b.emit(" satisfies boolean | undefined"));if(this.ts)o([A,A+9]);this.b.emit(") "),M.emit(),this.b.emit(".setAttribute('"),x(),this.b.emit("', '')")});continue}if(i==="style"){let M=this.tsElReceiver(e),x=this.mergesRestKey(e,"style"),A=()=>{if(this.b.emit("{ const __v"),o([this.b.offset-3,this.b.offset]),this.ts)this.b.tsOnly(()=>{if(M.surfaced)this.b.emit(`: ${M.valsName}['`),this.emitKeyAs(f,i),this.b.emit("'] | undefined");else this.b.emit(": any")});this.b.emit(" = "),this.renderExpr(n),this.b.emit(`; ${this.runtimeName("__style")}(`),M.emit(),this.b.emit(x?`, ${this.renderSelf??"this"}._mergeRestStyle(__v)); }`:", __v); }")};if(x||this.renderReactive(n))this.renderEffect(s,A,n);else this.renderLine(s,A,!1);if(this.ts&&M.surfaced&&a!==null)this.intrinsics.push({start:a.key[0],end:a.key[1],kind:"attr",name:i,type:"string | __RipCSSProperties | undefined"});continue}let u=this.ts&&this.routesUnion!==null&&i==="href"&&this.rstate.tags?.get(e)==="a"&&this.isRouteLiteralValue(n);if(u)this._needsRouteHelper=!0;let d=this.tsElReceiver(e),p=!(typeof n==="string"&&(!Z1(n)||n==="true"||n==="false")||y(n)&&n[0]==="str"),m=null,g=null,b=!1,S=()=>{if(b||!this.ts||!d.surfaced||m===null||g===null)return;b=!0,this.intrinsics.push(u?{start:m[0],end:m[1],kind:"attr",name:i,type:this.routesUnion,route:!0}:{start:m[0],end:m[1],kind:"attr",name:i,gen:g});let M=this.renderTagOf(e);if(!di(M,i))this.intrinsics.push({start:m[0],end:m[1],kind:"unknown-attr",tag:M,name:i,message:this.unknownAttrMessage(M,i,{bare:!1,svg:this.rstate?.svgEls?.has(e)===!0})})},w=()=>{g=this.b.offset+1,this.b.emit(".setAttribute('"),S()},R=()=>{let M=c(()=>this.emitKeyAs(f,i));if(m===null)m=M;S()},T=()=>h(()=>this.renderExpr(n)),j=()=>{if(!this.ts)return;this.b.tsOnly(()=>this.b.emit(d.surfaced?`: ${d.valsName}['${i}'] | undefined`:": any"))};if(this.renderReactive(n))if(p)this.renderEffect(s,()=>{this.b.emit("{ const __v"),o([this.b.offset-3,this.b.offset]),j(),this.b.emit(" = "),T(),this.b.emit("; __v == null ? "),d.emit(),this.b.emit(".removeAttribute('"),R(),this.b.emit("') : "),d.emit(),w(),R(),this.b.emit("', __v); }")},n);else this.renderEffect(s,()=>{d.emit(),w();let M=this.b.offset;R();let x=this.b.offset;if(this.b.emit("', "),u)this.b.tsOnly(()=>this.b.emit("__ripRoute("));let A=this.b.offset;o(T());let C=this.b.offset;if(this.ts){if(u)this.b.tsOnly(()=>this.b.emit(")"));else if(!d.surfaced)this.b.tsOnly(()=>this.b.emit(" as any"))}if(this.b.emit(");"),u)this.routeWrapSpans.push({key:[M,x],value:[A,C]})},n);else if(p)this.renderLine(s,()=>{this.b.emit("{ const __v"),o([this.b.offset-3,this.b.offset]),j(),this.b.emit(" = "),T(),this.b.emit("; if (__v != null) "),d.emit(),w(),R(),this.b.emit("', __v); }")},!1);else this.renderLine(s,()=>{d.emit(),w();let M=this.b.offset;R();let x=this.b.offset;if(this.b.emit("', "),u)this.b.tsOnly(()=>this.b.emit("__ripRoute("));let A=this.b.offset;o(T());let C=this.b.offset;if(this.ts){if(u)this.b.tsOnly(()=>this.b.emit(")"));else if(!d.surfaced)this.b.tsOnly(()=>this.b.emit(" as any"))}if(this.b.emit(")"),u)this.routeWrapSpans.push({key:[M,x],value:[A,C]})})}}loopVarNames(){let e=new Set;for(let t of this.rstate.sink.loopStack)e.add(t.itemVar),e.add(t.indexVar);return e}checkCrossScopeLocals(e,t){let r=this.rstate;if(!r)return;let s=this.loopVarNames(),i=(n)=>r.sink.locals.has(n)||s.has(n);for(let n=r.sink.parent;n!==null;n=n.parent){if(n.locals.size===0)continue;let a=new Set([...n.locals].filter((o)=>!i(o)));if(a.size>0&&Ee(e,a))throw this.positionedError(t,"emitter: this expression reads a render local of an ENCLOSING render scope — each dynamic block (a "+"conditional branch, a loop body) is its own factory function, and render locals never cross that boundary ; declare the local inside this block, or use a member",this.rstate.node)}}renderBinding(e){let[t,r,s]=e,i=this.rstate.sink,n=this.firstAwaitIn(s);if(n!==null)throw this.renderSyncError(n);if(r.startsWith("__"))throw this.positionedError(e,`emitter: render local '${r}' — double-underscore names are the compiler/runtime namespace inside render `+"(factory scaffolding and injected helpers live there)");if(i.loopStack.some((a)=>a.itemVar===r||a.indexVar===r))throw this.positionedError(e,`emitter: '${r}' is a loop variable — a render local cannot re-declare or assign it `);if(t==="="){if(!i.locals.has(r)){if(i.locals.add(r),i.bindings.add(r),i.localDecls.set(r,e),i.kind!=="class")i.vars.add(r)}}else if(!i.locals.has(r))throw this.positionedError(e,`emitter: compound assignment to '${r}' — no render local of that name is declared in this render scope `+"(`name = expr` declares one)");return this.checkCrossScopeLocals(s,e),this.renderLine(e,()=>{this.mark(e,"target",()=>this.b.emit(r)),this.b.emit(` ${t} `),this.mark(e,"value",()=>this.withExpression(()=>this.expr(s)))}),null}closeRenderScope(e){for(let[t,r]of e.localDecls){let s=0,i=(n)=>{if(typeof n==="string"){if(n===t)s++;return}if(!y(n))return;if(ha.has(n[0])&&n.length===3&&n[1]===t){i(n[2]);return}if((n[0]===":"||n[0]==="void-pair")&&n.length===3&&typeof n[1]==="string"){i(n[2]);return}if((n[0]==="."||n[0]==="?.")&&n.length===3&&typeof n[2]==="string"){i(n[1]);return}for(let a of n)i(a)};for(let n of e.stmts)i(n);if(s===0)throw this.positionedError(r,`emitter: render local '${t}' is never read — a dead local renders NOTHING (if this line meant an `+`element with expression text, spell it \`${t}\` + indented \`= expr\`: inside render \`${t} = expr\` declares a local named the tag)`,this.rstate.node)}}static collectLeafNames(e,t){if(typeof e==="string"){if(ht.test(e))t.add(e);return}if(!y(e))return;if((e[0]===":"||e[0]==="void-pair")&&e.length===3&&typeof e[1]==="string"){E.collectLeafNames(e[2],t);return}if((e[0]==="."||e[0]==="?.")&&e.length===3&&typeof e[2]==="string"){E.collectLeafNames(e[1],t);return}for(let r of e)E.collectLeafNames(r,t)}static mintName(e,t){let r=e;while(t.has(r))r=`${r}_`;return t.add(r),r}threadProjectionHost(e){if(e===null||e.startsWith("this."))return;for(let t=this.rstate.sink;t&&t.hostParams!==void 0&&!t.vars.has(e);t=t.parent){if(t.hostParams.includes(e))continue;t.hostParams.push(e),t.paramNames.push(e)}}walkFactory(e,t,r,s=null){let i=this.rstate,n=i.sink,a=this.newBlockName(),o=s!==null?[s.itemVar,s.indexVar]:[],l=new Set(o),c=new Set;E.collectLeafNames(e,c);let h=new Set(n.renameHazardNames??[]),f=(S)=>{if(!l.has(S))return l.add(S),S;let w=`${S}_`;while(l.has(w)||c.has(w))w+="_";return l.add(w),h.add(S),h.add(w),w},u=n.loopStack.map((S)=>({...S,itemVar:f(S.itemVar),indexVar:f(S.indexVar)})),d=u.flatMap((S)=>[S.itemVar,S.indexVar]),p=s!==null?[...u,s]:u,m={kind:t,name:a,parent:n,self:"ctx",paramNames:[...o,...d],hostParams:[],frameVar:"__fr",ownerVar:"__o",creates:[],setups:[],vars:new Set,locals:new Set,localDecls:new Map,bindings:new Set([...d,...o]),refs:[],loopStack:p,stmts:[],forceNonStatic:!1,root:null,isStatic:!1,originNode:r,hasKids:!1,kidsVar:null,renameHazardNames:h,readVars:new Set,narrowed:[...n.narrowed??[],...this._narrowNext??[]]};if(this._narrowNext=null,s!==null)s.owner=m;i.records.push(m);let g=i.transitionSlot;i.transitionSlot=t==="branch"?{record:m,el:null}:null,i.sink=m,this.rframes.push({reactive:new Set,bound:m.bindings,loopVars:m.bindings,loopBindings:E.loopBindingsOf(m)});try{let S;if(b1(e))S=e.slice(1);else if(y(e)&&e.length===1&&y(e[0])&&this.stores.idOf(e)===null)S=[e[0]];else S=[e];if(m.stmts=S,m.root=S.length===0?null:this.walkChildStmts(S),m.root===null)m.root=this.newRenderVar("empty"),this.renderLine(null,()=>this.b.emit(`${m.root} = document.createComment('')`))}finally{this.rframes.pop(),i.sink=n,i.transitionSlot=g}this.closeRenderScope(m),m.isStatic=t==="loop"&&m.setups.length===0&&!m.forceNonStatic;let b=new Set([...m.bindings,...m.locals,...m.vars]);if(E.collectLeafNames(m.stmts,b),m.self=E.mintName("ctx",b),m.frameVar=E.mintName("__fr",b),m.ownerVar=E.mintName("__o",b),m.hasKids)m.kidsVar=E.mintName("_factoryChildren",b);return m}narrowConjuncts(e){if(y(e)&&e[0]==="&&"&&e.length===3)return[...this.narrowConjuncts(e[1]),...this.narrowConjuncts(e[2])];if(typeof e==="string")return this.renderVarKind(e)!==null||this.bareRewrite(e)===null?[]:[e];if(!E.isDotChain(e))return[];let t=e;while(y(t))t=t[1];if(t==="this")return[e];if(this.renderVarKind(t)!==null||this.bareRewrite(t)===null)return[];return[e]}static isDotChain(e){if(!y(e)||e[0]!=="."||e.length!==3||typeof e[2]!=="string"||e[2][0]==='"')return!1;let t=e[1];if(t==="this")return!0;if(typeof t==="string")return/^[A-Za-z_$][\w$]*$/.test(t);return E.isDotChain(t)}activeNarrowed(){let e=this.renderRecord;if(!this.ts||!e||!(e.narrowed?.length>0))return[];return e.narrowed.filter((t)=>{let r=t;while(y(r))r=r[1];return r==="this"||!(e.bindings.has(r)||e.locals.has(r))})}hasNarrow(){return this.activeNarrowed().length>0}narrowedReadNames(){let e=new Set;for(let t of this.activeNarrowed())if(typeof t==="string")e.add(t);else if(t[0]==="."&&t[1]==="this"&&t.length===3&&typeof t[2]==="string")e.add(t[2]);return e}narrowGuard(e="statement",{trailing:t=!0}={}){let r=this.activeNarrowed();if(r.length===0)return!1;this._needsNarrowHelper=!0,this.b.suppressClaims=!0;try{this.b.tsOnly(()=>this.b.echo(()=>{if(r.forEach((s,i)=>{if(i>0)this.b.emit(" ");this.b.emit(e==="statement"?"__ripNarrow(":"(__ripNarrow("),this.renderExpr(s),this.b.emit(e==="statement"?");":"),")}),t)this.b.emit(" ")}))}finally{this.b.suppressClaims=!1}return!0}narrowGuardClose(e){if(e)this.b.tsOnly(()=>this.b.emit(")".repeat(this.activeNarrowed().length)))}renderCond(e,t=e){if(e.length>4)throw this.positionedError(e,"emitter: unexpected flat conditional chain shape in render (internal)");if(this.stores.idOf(t)===null&&this._chainMarkNode)t=this._chainMarkNode;let[,r,s]=e,i=e.length===4?e[3]:null;this.checkSetupLocalRefs(r,t),this.checkCrossScopeLocals(r,t);let n=this.newRenderVar("anchor");this.renderLine(null,()=>this.b.emit(`${n} = document.createComment('if')`)),this._narrowNext=this.narrowConjuncts(r);let a=this.walkFactory(s,"branch",t),o=this._chainMarkNode;if(i!==null&&y(i)&&i[0]==="if"&&this.stores.idOf(i)===null)this._chainMarkNode=t;let l=i!==null?this.walkFactory(i,"branch",t):null;this._chainMarkNode=o;let c=a.refs.length>0||l!==null&&l.refs.length>0,h=this.rstate.sink;if(l!==null){for(let[u,d]of[[a,l],[l,a]])for(let p of u.hostParams){if(d.hostParams.includes(p))continue;d.hostParams.push(p),d.paramNames.push(p)}l.hostParams.sort((u,d)=>a.hostParams.indexOf(u)-a.hostParams.indexOf(d)),l.paramNames.splice(l.paramNames.length-l.hostParams.length,l.hostParams.length,...l.hostParams)}let f=[...h.loopStack.flatMap((u)=>[u.itemVar,u.indexVar]),...a.hostParams];return h.setups.push({kind:"raw",node:t,fn:(u)=>this.emitCondSetup(u,t,e,n,a,l,c,f)}),n}renderSwitch(e){let[,t,r,s]=e;if(E.hasMatchArms(r))this.checkMatchSwitch(e);let i=s;for(let n=r.length-1;n>=0;n--){let[,a,o]=r[n],l;if(t===null)l=a.reduce((c,h)=>c===null?h:["||",c,h],null);else l=a.map((c)=>E.matchArmSexpr(t,c)).reduce((c,h)=>c===null?h:["||",c,h],null);i=i!==null?["if",l,o,i]:["if",l,o]}if(i===null||i[0]!=="if")return i===null?this.renderNode("null"):this.renderChildBlock(i);return this.renderCond(i,e)}renderLoop(e){let[,t,r,s,i,n]=e;if(s!==null)throw this.positionedError(e,"emitter: a `by` step has no render reading — the reconciler patches whole collections; step the collection itself: `items.filter((x, i) -> i % 2 == 0)`");if(i!==null)throw this.positionedError(e,"emitter: a `when` guard has no render reading — the reconciler patches whole collections; filter the collection itself: `for x in items.filter((x) -> cond)`");if(t.length>2||t.some((w)=>typeof w!=="string"))throw this.positionedError(e,"emitter: a render loop takes plain item and index variables (`for item, i in items`) — destructuring loop "+"variables have no factory-parameter reading here; destructure inside the body");if(t.length===2&&t[0]===t[1])throw this.positionedError(e,`emitter: a render loop cannot bind '${t[0]}' as BOTH item and index — one name cannot hold two row facts `);for(let w of t)if(w.startsWith("__"))throw this.positionedError(e,`emitter: render loop variable '${w}' — double-underscore names are the compiler/runtime namespace inside `+"render (factory scaffolding and injected helpers live there)");this.checkSetupLocalRefs(r,e),this.checkCrossScopeLocals(r,e);let a=t[0],o=t[1]??null;if(o===null){let w=new Set(this.loopVarNames());w.add(a),E.collectRenderBodyBindings(n,w);let R=(T,j)=>{if(typeof T==="string")return T===j;return y(T)&&T.some((M)=>R(M,j))};for(let T of["i","j","k","l","m","n"])if(!w.has(T)&&!R(n,T)){o=T;break}o=o??`__rip_idx${this.rstate.sink.loopStack.length}`}let l=this.newRenderVar("anchor");this.renderLine(null,()=>this.b.emit(`${l} = document.createComment('for')`));let c=this.renderReactive(r),h=this.extractLoopKey(n,e),f=h!==null?this.rstate.keySpan??null:null;if(h!==null)this.checkSetupLocalRefs(h,e),this.checkCrossScopeLocals(h,e);let u=this.stores.idOf(e),d=u!==null?this.stores.role(u,"vars"):null,p=this.primitiveAvoid;if(d?.sourceStart!=null)this.primitiveAvoid=[...p??[],[d.sourceStart,d.sourceEnd]];let m;try{m=this.walkFactory(n,"loop",e,{itemVar:a,indexVar:o,reactiveSource:c,iter:r,node:e})}finally{this.primitiveAvoid=p}if(h!==null){if(m.locals.size>0&&Ee(h,m.locals))throw this.positionedError(e,"emitter: a `key:` expression must be evaluable in the loop HEADER scope — it reads a render local declared "+"inside the loop body, which lives in the row factory (derive the key from the item inline: `key: item.id`)");if(!Ee(h,new Set([a,o])))throw this.positionedError(e,`emitter: a loop key must derive from the row — this \`key:\` expression never reads '${a}'${t.length===2?` or '${o}'`:""} (a row-independent key cannot identify rows)`)}let g=m.refs.length>0,b=this.rstate.sink,S=[...b.loopStack.flatMap((w)=>[w.itemVar,w.indexVar]),...m.hostParams];return b.setups.push({kind:"raw",node:e,fn:(w)=>this.emitLoopSetup(w,e,l,r,m,h,a,o,g,S,f)}),l}static collectRenderBodyBindings(e,t){if(!y(e))return;if((e[0]==="for-in"||e[0]==="for-of"||e[0]==="for-as")&&y(e[1])){for(let r of e[1])if(typeof r==="string")t.add(r)}else if(e[0]==="="&&e.length===3&&typeof e[1]==="string")t.add(e[1]);for(let r of e)E.collectRenderBodyBindings(r,t)}extractLoopKey(e,t){let s=(b1(e)?e.slice(1):[e]).find((n)=>!this.isRenderBinding(n));if(!y(s))return null;let i=(n)=>{for(let a=1;athis.b.emit(e.join(", ")))}emitCondSetup(e,t,r,s,i,n,a,o){let l=this.renderSelf??"this",c=e+" ",h=c+" ",f=new Set([l,...o]);E.collectLeafNames(r[1],f);let u=E.mintName("anchor",f),d=E.mintName("currentBlock",f),p=E.mintName("showing",f),m=E.mintName("show",f),g=E.mintName("want",f),b=E.mintName("leaving",f),S=this.runtimeName("__transition"),w=(T)=>{this.b.emit(`${h} ${d} = ${l}.${T.name}(${l}`),this.emitOuterLoopArgs(o),this.b.emit(`); +`),this.b.emit(`${h} ${d}.c(); +`),this.b.emit(`${h} if (${u}.parentNode) ${d}.m(${u}.parentNode, ${u}.nextSibling); +`),this.b.emit(`${h} ${d}.p(${l}`),this.emitOuterLoopArgs(o),this.b.emit(`); +`),this.b.emit(`${h} if (${d}._t) ${S}(${d}._first, ${d}._t, 'enter', undefined); `)},R=()=>{if(this.b.emit(`${e}{ `),this.b.emit(`${c}const ${u} = ${s}; `),this.b.emit(`${c}let ${d}`),this.tsScaffoldAny(),this.b.emit(` = null; `),this.b.emit(`${c}let ${p}`),this.tsScaffoldAny(),this.b.emit(` = null; `),this.b.emit(`${c}${this.runtimeName("__effect")}(() => { -`),a)this.b.emit(`${f}${this.runtimeName("__batch")}(() => { -`);if(this.hasNarrow())this.b.tsOnly(()=>{this.b.emit(f),this.narrowGuard("statement",{trailing:!1}),this.b.emit(` -`)});if(this.b.emit(`${f}const ${m} = !!(`),this.mark(t,"$self",()=>this.mark(t,"condition",()=>this.renderExpr(r[1]))),this.b.emit(`); -`),this.b.emit(`${f}const ${g} = ${m} ? 'then' : ${n!==null?"'else'":"null"}; -`),this.b.emit(`${f}if (${g} === ${p}) return; -`),this.b.emit(`${f}if (${d}) { -`),this.b.emit(`${f} const ${b} = ${d}; -`),this.b.emit(`${f} if (${b}._t) { ${b}.f(); ${S}(${b}._first, ${b}._t, 'leave', () => ${b}.d(true)); } -`),this.b.emit(`${f} else { ${b}.d(true); } -`),this.b.emit(`${f} ${d} = null; -`),this.b.emit(`${f}} -`),this.b.emit(`${f}${p} = ${g}; -`),this.b.emit(`${f}if (${g} === 'then') { -`),w(i),this.b.emit(`${f}} -`),n!==null)this.b.emit(`${f}if (${g} === 'else') { -`),w(n),this.b.emit(`${f}} -`);if(a)this.b.emit(`${f}}); +`),a)this.b.emit(`${h}${this.runtimeName("__batch")}(() => { +`);if(this.hasNarrow())this.b.tsOnly(()=>{this.b.emit(h),this.narrowGuard("statement",{trailing:!1}),this.b.emit(` +`)});if(this.b.emit(`${h}const ${m} = !!(`),this.mark(t,"$self",()=>this.mark(t,"condition",()=>this.renderExpr(r[1]))),this.b.emit(`); +`),this.b.emit(`${h}const ${g} = ${m} ? 'then' : ${n!==null?"'else'":"null"}; +`),this.b.emit(`${h}if (${g} === ${p}) return; +`),this.b.emit(`${h}if (${d}) { +`),this.b.emit(`${h} const ${b} = ${d}; +`),this.b.emit(`${h} if (${b}._t) { ${b}.f(); ${S}(${b}._first, ${b}._t, 'leave', () => ${b}.d(true)); } +`),this.b.emit(`${h} else { ${b}.d(true); } +`),this.b.emit(`${h} ${d} = null; +`),this.b.emit(`${h}} +`),this.b.emit(`${h}${p} = ${g}; +`),this.b.emit(`${h}if (${g} === 'then') { +`),w(i),this.b.emit(`${h}} +`),n!==null)this.b.emit(`${h}if (${g} === 'else') { +`),w(n),this.b.emit(`${h}} +`);if(a)this.b.emit(`${h}}); `);this.b.emit(`${c}}); `),this.b.emit(`${c}${this.runtimeName("__ownerFrame")}().add(() => { if (${d}) { ${d}.d(true); ${d} = null; } }); `),this.b.emit(`${e}} -`)};this.mark(t,"$self",R)}emitLoopSetup(e,t,r,s,i,n,a,o,l,c,f=null){let h=this.renderSelf??"this",u=e+" ",d=u+" ",p=new Set([h,a,o,...c]);if(E.collectLeafNames(s,p),n!==null)E.collectLeafNames(n,p);let m=E.mintName("__s",p),g=E.mintName("__b",p);this.mark(t,"$self",()=>{if(this.b.emit(`${e}{ +`)};this.mark(t,"$self",R)}emitLoopSetup(e,t,r,s,i,n,a,o,l,c,h=null){let f=this.renderSelf??"this",u=e+" ",d=u+" ",p=new Set([f,a,o,...c]);if(E.collectLeafNames(s,p),n!==null)E.collectLeafNames(n,p);let m=E.mintName("__s",p),g=E.mintName("__b",p);this.mark(t,"$self",()=>{if(this.b.emit(`${e}{ `),this.b.emit(`${u}const ${m}`),this.tsScaffoldAny(),this.b.emit(` = { blocks: [], keys: [] }; `),this.b.emit(`${u}${this.runtimeName("__effect")}(() => { -`),this.b.emit(d),l)this.b.emit(`${this.runtimeName("__batch")}(() => `);let b=this.narrowGuard(l?"expression":"statement");this.b.emit(`${this.runtimeName("__reconcile")}(${r}, ${m}, `);let S=this._narrowedReads;this._narrowedReads=this.narrowedReadNames();try{this.withExpression(()=>this.expr(s))}finally{this._narrowedReads=S}if(this.b.emit(`, ${h}, ${h}.${i.name}, `),n!==null){let w=this.tsLoopItemTypeText(i.loopStack.at(-1),h);{let R=this.stores.idOf(t),T=R!==null?this.stores.role(R,"vars"):null,F=T?.sourceStart!=null?this.stores.primitiveSpans(a,T.sourceStart,T.sourceEnd)[0]??null:null;if(this.b.emit("("),F){let L=this.b.offset;this.b.markSpan(R,"identifier",F.sourceStart,F.sourceEnd,()=>this.b.emit(a)),this.loopVars.push([L,this.b.offset]),this.loopVarDecls.push({span:[L,this.b.offset],owner:i,which:"item"})}else this.b.emit(a)}if(w!==null)this.b.tsOnly(()=>this.b.echo(()=>this.b.emit(`: ${w}`)));if(this.b.emit(`, ${o}`),this.ts)this.b.tsOnly(()=>this.b.emit(": number"));this.b.emit(") => "),this.rframes.push({reactive:new Set,bound:new Set([a,o]),block:!0,loopVars:new Set([a,o]),loopBindings:new Map([[a,{owner:i,which:"item"}],[o,{owner:i,which:"index"}]])});try{this.withExpression(()=>{let R=E.needsGrouping(n,"operand")||O1(n),T=this.tsServedValue("__key",()=>{if(R)this.b.emit("(");{let F=this.stores.idOf(t),L=F!==null?this.stores.role(F,"vars"):null,P=this.primitiveAvoid;if(L?.sourceStart!=null)this.primitiveAvoid=[...P??[],[L.sourceStart,L.sourceEnd]];try{this.expr(n)}finally{this.primitiveAvoid=P}}if(R)this.b.emit(")")});if(T!==null&&f!==null)this.intrinsics.push({start:f[0],end:f[1],kind:"key",gen:T})})}finally{this.rframes.pop()}}else this.b.emit("null");if(this.emitOuterLoopArgs(c),this.b.emit(")"),l)this.narrowGuardClose(b);if(l)this.b.emit(")");this.b.emit(`; +`),this.b.emit(d),l)this.b.emit(`${this.runtimeName("__batch")}(() => `);let b=this.narrowGuard(l?"expression":"statement");this.b.emit(`${this.runtimeName("__reconcile")}(${r}, ${m}, `);let S=this._narrowedReads;this._narrowedReads=this.narrowedReadNames();try{this.withExpression(()=>this.expr(s))}finally{this._narrowedReads=S}if(this.b.emit(`, ${f}, ${f}.${i.name}, `),n!==null){let w=this.tsLoopItemTypeText(i.loopStack.at(-1),f);{let R=this.stores.idOf(t),T=R!==null?this.stores.role(R,"vars"):null,j=T?.sourceStart!=null?this.stores.primitiveSpans(a,T.sourceStart,T.sourceEnd)[0]??null:null;if(this.b.emit("("),j){let M=this.b.offset;this.b.markSpan(R,"identifier",j.sourceStart,j.sourceEnd,()=>this.b.emit(a)),this.loopVars.push([M,this.b.offset]),this.loopVarDecls.push({span:[M,this.b.offset],owner:i,which:"item"})}else this.b.emit(a)}if(w!==null)this.b.tsOnly(()=>this.b.echo(()=>this.b.emit(`: ${w}`)));if(this.b.emit(`, ${o}`),this.ts)this.b.tsOnly(()=>this.b.emit(": number"));this.b.emit(") => "),this.rframes.push({reactive:new Set,bound:new Set([a,o]),block:!0,loopVars:new Set([a,o]),loopBindings:new Map([[a,{owner:i,which:"item"}],[o,{owner:i,which:"index"}]])});try{this.withExpression(()=>{let R=E.needsGrouping(n,"operand")||O1(n),T=this.tsServedValue("__key",()=>{if(R)this.b.emit("(");{let j=this.stores.idOf(t),M=j!==null?this.stores.role(j,"vars"):null,x=this.primitiveAvoid;if(M?.sourceStart!=null)this.primitiveAvoid=[...x??[],[M.sourceStart,M.sourceEnd]];try{this.expr(n)}finally{this.primitiveAvoid=x}}if(R)this.b.emit(")")});if(T!==null&&h!==null)this.intrinsics.push({start:h[0],end:h[1],kind:"key",gen:T})})}finally{this.rframes.pop()}}else this.b.emit("null");if(this.emitOuterLoopArgs(c),this.b.emit(")"),l)this.narrowGuardClose(b);if(l)this.b.emit(")");this.b.emit(`; `),this.b.emit(`${u}}); `),this.b.emit(`${u}${this.runtimeName("__ownerFrame")}().add(() => { for (const ${g} of ${m}.blocks) { try { ${g}.d(true); } catch {} } ${m}.blocks = []; ${m}.keys = []; ${m}.items = []; }); `),this.b.emit(`${e}} -`)})}emitFactory(e,t,r){let s=" ".repeat(t+1),i=s+" ",n=i+" ",a=n+" ",{self:o,frameVar:l,ownerVar:c}=e,f=[o,...e.paramNames],h=e.setups.length>0,u=new Set([...e.bindings,...e.locals,...e.vars,o,l,c]);if(e.kidsVar!==null)u.add(e.kidsVar);E.collectLeafNames(e.stmts,u);let d=[o,...e.paramNames.map((P)=>E.mintName(`__${P}`,u))],p=e.kidsVar!==null?E.mintName("__c",u):null,m=e.kidsVar!==null?E.mintName("__e",u):null,g=!e.isStatic,b=this.ts?E.mintName("__Ctx",u):null,S=new Map,w=new Map;if(e.loopStack.forEach((P)=>{if(P.node!==void 0)w.set(P.itemVar,P.node),w.set(P.indexVar,P.node)}),this.ts){for(let P of e.loopStack){let N=this.tsLoopItemTypeText(P,e.self);if(N!==null)S.set(P.itemVar,N);S.set(P.indexVar,"number")}for(let P of e.hostParams)S.set(P,"any")}let R=new Map;for(let P of e.loopStack){let N=P.node?this.stores.idOf(P.node):null,D=N!==null?this.stores.role(N,"vars"):null;if(D?.sourceStart==null)continue;for(let O of[P.itemVar,P.indexVar]){if(typeof O!=="string"||R.has(O))continue;let W=this.stores.primitiveSpans(O,D.sourceStart,D.sourceEnd)[0]??null;if(W)R.set(O,{id:N,start:W.sourceStart,end:W.sourceEnd,owner:P.owner,which:O===P.itemVar?"item":"index"})}}let T=(P,N,D)=>{P.forEach((O,W)=>{if(W>0)this.b.emit(", ");let H=()=>{let k=R.get(O);if(k){let j=this.b.offset;if(this.b.markSpan(k.id,"identifier",k.start,k.end,()=>this.b.emit(O)),this.isRenderLoopName(O))this.loopVars.push([j,this.b.offset]);if(k.owner!==void 0)this.loopVarDecls.push({span:[j,this.b.offset],owner:k.owner,which:k.which})}else this.emitPrimitive(O);if(!this.ts)return;let v=W===0?N:D(O,W);if(v!=null)this.b.tsOnly(()=>this.b.echo(()=>this.b.emit(`: ${v}`)))},G=w.get(O);if(G!==void 0)this.mark(G,"$self",H);else H()})},F=e.kind==="loop"?e.loopStack.at(-1):null,L=F!==null?this.tsIterThunkName(F):null;if(L!==null){let P=e.paramNames.slice(2,e.paramNames.length-e.hostParams.length),N;this.withRecordContext(e,()=>{N=this.capturedExprText(()=>this.expr(F.iter),{source:this.b.source})});let D=[`${o}: this`,...P.map((O)=>S.has(O)?`${O}: ${S.get(O)}`:O)];this.b.tsOnly(()=>this.b.echo(()=>this.b.emit(`${s}${L}(${D.join(", ")}) { return ${N}; } -`)))}this.mark(r,"$self",()=>{this.withRecordContext(e,()=>{if(this.b.emit(`${s}${e.name}(`),T(f,"this",(D)=>S.get(D)),this.b.emit(`) { +`)})}emitFactory(e,t,r){let s=" ".repeat(t+1),i=s+" ",n=i+" ",a=n+" ",{self:o,frameVar:l,ownerVar:c}=e,h=[o,...e.paramNames],f=e.setups.length>0,u=new Set([...e.bindings,...e.locals,...e.vars,o,l,c]);if(e.kidsVar!==null)u.add(e.kidsVar);E.collectLeafNames(e.stmts,u);let d=[o,...e.paramNames.map((x)=>E.mintName(`__${x}`,u))],p=e.kidsVar!==null?E.mintName("__c",u):null,m=e.kidsVar!==null?E.mintName("__e",u):null,g=!e.isStatic,b=this.ts?E.mintName("__Ctx",u):null,S=new Map,w=new Map;if(e.loopStack.forEach((x)=>{if(x.node!==void 0)w.set(x.itemVar,x.node),w.set(x.indexVar,x.node)}),this.ts){for(let x of e.loopStack){let A=this.tsLoopItemTypeText(x,e.self);if(A!==null)S.set(x.itemVar,A);S.set(x.indexVar,"number")}for(let x of e.hostParams)S.set(x,"any")}let R=new Map;for(let x of e.loopStack){let A=x.node?this.stores.idOf(x.node):null,C=A!==null?this.stores.role(A,"vars"):null;if(C?.sourceStart==null)continue;for(let O of[x.itemVar,x.indexVar]){if(typeof O!=="string"||R.has(O))continue;let W=this.stores.primitiveSpans(O,C.sourceStart,C.sourceEnd)[0]??null;if(W)R.set(O,{id:A,start:W.sourceStart,end:W.sourceEnd,owner:x.owner,which:O===x.itemVar?"item":"index"})}}let T=(x,A,C)=>{x.forEach((O,W)=>{if(W>0)this.b.emit(", ");let G=()=>{let k=R.get(O);if(k){let U=this.b.offset;if(this.b.markSpan(k.id,"identifier",k.start,k.end,()=>this.b.emit(O)),this.isRenderLoopName(O))this.loopVars.push([U,this.b.offset]);if(k.owner!==void 0)this.loopVarDecls.push({span:[U,this.b.offset],owner:k.owner,which:k.which})}else this.emitPrimitive(O);if(!this.ts)return;let v=W===0?A:C(O,W);if(v!=null)this.b.tsOnly(()=>this.b.echo(()=>this.b.emit(`: ${v}`)))},Y=w.get(O);if(Y!==void 0)this.mark(Y,"$self",G);else G()})},j=e.kind==="loop"?e.loopStack.at(-1):null,M=j!==null?this.tsIterThunkName(j):null;if(M!==null){let x=e.paramNames.slice(2,e.paramNames.length-e.hostParams.length),A;this.withRecordContext(e,()=>{A=this.capturedExprText(()=>this.expr(j.iter),{source:this.b.source})});let C=[`${o}: this`,...x.map((O)=>S.has(O)?`${O}: ${S.get(O)}`:O)];this.b.tsOnly(()=>this.b.echo(()=>this.b.emit(`${s}${M}(${C.join(", ")}) { return ${A}; } +`)))}this.mark(r,"$self",()=>{this.withRecordContext(e,()=>{if(this.b.emit(`${s}${e.name}(`),T(h,"this",(C)=>S.get(C)),this.b.emit(`) { `),this.ts&&g)this.b.tsOnly(()=>this.b.emit(`${i}type ${b} = typeof ${o}; -`));if(e.vars.size>0)this.b.emit(`${i}let `),[...e.vars].forEach((D,O)=>{if(O>0)this.b.emit(", ");this.b.emit(D),this.tsScaffoldAny()}),this.b.emit(`; +`));if(e.vars.size>0)this.b.emit(`${i}let `),[...e.vars].forEach((C,O)=>{if(O>0)this.b.emit(", ");this.b.emit(C),this.tsScaffoldAny()}),this.b.emit(`; `);if(e.kidsVar!==null)this.b.emit(`${i}let ${e.kidsVar}`),this.tsScaffoldAny("[]"),this.b.emit(` = []; -`);if(h)this.b.emit(`${i}let ${l}`),this.tsScaffoldAny(),this.b.emit(`; +`);if(f)this.b.emit(`${i}let ${l}`),this.tsScaffoldAny(),this.b.emit(`; `);if(this.b.emit(`${i}return { `),e.isStatic)this.b.emit(`${n}_s: true, `);this.b.emit(`${n}c() { -`),this.replayCreates(e,a);let P=this.rstate.fragChildren.get(e.root),N=P!==void 0?P[0]:e.root;if(this.b.emit(a),this.ts)this.b.tsOnly(()=>this.b.emit("("));if(this.b.emit("this"),this.ts)this.b.tsOnly(()=>this.b.emit(" as any)"));if(this.b.emit(`._first = ${N}; +`),this.replayCreates(e,a);let x=this.rstate.fragChildren.get(e.root),A=x!==void 0?x[0]:e.root;if(this.b.emit(a),this.ts)this.b.tsOnly(()=>this.b.emit("("));if(this.b.emit("this"),this.ts)this.b.tsOnly(()=>this.b.emit(" as any)"));if(this.b.emit(`._first = ${A}; `),this.b.emit(`${n}}, `),this.b.emit(`${n}m(target`),this.tsScaffoldAny(),this.b.emit(", anchor"),this.tsScaffoldAny(),this.b.emit(`) { -`),P!==void 0)for(let D of P)this.b.emit(`${a}if (target) target.insertBefore(${D}, anchor); +`),x!==void 0)for(let C of x)this.b.emit(`${a}if (target) target.insertBefore(${C}, anchor); `);else this.b.emit(`${a}if (target) target.insertBefore(${e.root}, anchor); -`);for(let D of e.refs)this.b.emit(a),this.mark(D.node,"$self",()=>{let O=this.ts&&typeof D.tag==="string";if(O)this.b.tsOnly(()=>this.b.emit(`${D.svg?"__ripRefCellSvg":"__ripRefCell"}('${D.tag}', `));let W=this.b.offset;this.b.emit(`${o}.`);let H=this.emitPrimitive(D.name);if(H!==null)this.memberDecls.push({start:H[0],end:H[1]});if(O)D.site([W,this.b.offset]);if(O)this.b.tsOnly(()=>this.b.emit(")"));if(this.b.emit(`.value = ${D.elVar}`),O)this.b.tsOnly(()=>this.b.emit(` as ${xe(D.tag,D.svg)} | null`));this.b.emit(";")}),this.b.emit(` +`);for(let C of e.refs)this.b.emit(a),this.mark(C.node,"$self",()=>{let O=this.ts&&typeof C.tag==="string";if(O)this.b.tsOnly(()=>this.b.emit(`${C.svg?"__ripRefCellSvg":"__ripRefCell"}('${C.tag}', `));let W=this.b.offset;this.b.emit(`${o}.`);let G=this.emitPrimitive(C.name);if(G!==null)this.memberDecls.push({start:G[0],end:G[1]});if(O)C.site([W,this.b.offset]);if(O)this.b.tsOnly(()=>this.b.emit(")"));if(this.b.emit(`.value = ${C.elVar}`),O)this.b.tsOnly(()=>this.b.emit(` as ${xe(C.tag,C.svg)} | null`));this.b.emit(";")}),this.b.emit(` `);if(this.b.emit(`${n}}, -`),this.b.emit(`${n}p(`),g)T(d,b,(D,O)=>`typeof ${e.paramNames[O-1]}`);if(this.b.emit(`) { -`),g&&e.paramNames.length>0)this.b.emit(a),this.b.echo(()=>this.b.emit(e.paramNames.map((D,O)=>`${D} = ${d[O+1]};`).join(" "))),this.b.emit(` -`);if(h)this.b.emit(`${a}if (${l}) ${l}.dispose(); +`),this.b.emit(`${n}p(`),g)T(d,b,(C,O)=>`typeof ${e.paramNames[O-1]}`);if(this.b.emit(`) { +`),g&&e.paramNames.length>0)this.b.emit(a),this.b.echo(()=>this.b.emit(e.paramNames.map((C,O)=>`${C} = ${d[O+1]};`).join(" "))),this.b.emit(` +`);if(f)this.b.emit(`${a}if (${l}) ${l}.dispose(); `),this.b.emit(`${a}const ${c} = ${this.runtimeName("__pushOwner")}(${l} = ${this.runtimeName("__ownerFrame")}()); `),this.b.emit(`${a}try { `),this.replaySetups(e,a+" "),this.b.emit(`${a}} finally { ${this.runtimeName("__popOwner")}(${c}); } `);if(this.b.emit(`${n}}, -`),e.kind==="branch"){if(this.b.emit(`${n}f() {`),h)this.b.emit(` if (${l}) { ${l}.dispose(); ${l} = null; }`);this.b.emit(` }, +`),e.kind==="branch"){if(this.b.emit(`${n}f() {`),f)this.b.emit(` if (${l}) { ${l}.dispose(); ${l} = null; }`);this.b.emit(` }, `)}if(this.b.emit(`${n}d(detaching`),this.tsScaffoldAny(),this.b.emit(`) { `),e.kidsVar!==null)this.b.emit(`${a}for (const ${p} of ${e.kidsVar}) { try { ${p}.unmount?.({removeDOM: detaching}); } catch (${m}) { console.error('[Rip] factory child unmount error:', ${m}); } } `),this.b.emit(`${a}${e.kidsVar} = []; -`);if(h)this.b.emit(`${a}if (${l}) { ${l}.dispose(); ${l} = null; } +`);if(f)this.b.emit(`${a}if (${l}) { ${l}.dispose(); ${l} = null; } `);if(e.refs.length>0){this.b.emit(`${a}if (detaching) ${this.runtimeName("__batch")}(() => { -`);for(let D of e.refs)this.b.emit(`${a} ${this.runtimeName("__detachRef")}(${o}.${D.name}, ${D.elVar}); +`);for(let C of e.refs)this.b.emit(`${a} ${this.runtimeName("__detachRef")}(${o}.${C.name}, ${C.elVar}); `);this.b.emit(`${a}}); -`)}if(P!==void 0)for(let D of P)this.b.emit(`${a}if (detaching) ${this.runtimeName("__detach")}(${D}); +`)}if(x!==void 0)for(let C of x)this.b.emit(`${a}if (detaching) ${this.runtimeName("__detach")}(${C}); `);else this.b.emit(`${a}if (detaching) ${this.runtimeName("__detach")}(${e.root}); `);this.b.emit(`${n}} `),this.b.emit(`${i}}; `),this.b.emit(`${s}} -`)})})}renderTransition(e,t,r,s){let i=this.rstate,n=i.transitionSlot;if(n===null||n.record!==i.sink||n.el!==e){let o=i.sink.kind==="class"?"a static element)":i.sink.kind==="loop"?"a loop body — the reconciler has no enter/leave phase for rows":"a nested position — the swap animates the branch's FIRST node, so a deeper directive would animate an "+"element it does not name";throw this.positionedError(t,`emitter: a transition (\`~name\`) runs where a conditional branch enters or leaves, and this directive sits on ${o}; put it on the FIRST top-level element of an if/else branch`,this.rstate.node)}if(typeof r!=="string"||!(r.startsWith('"')||r.startsWith("'")))throw this.positionedError(t,"emitter: a transition takes a literal name (`~fade`) — computed transition names have no reading",this.rstate.node);let a=r.replace(/^["']|["']$/g,"");this.renderLine(t,()=>{if(this.ts)this.b.tsOnly(()=>this.b.emit("("));if(this.b.emit("this"),this.ts)this.b.tsOnly(()=>this.b.emit(" as any)"));this.b.emit(`._t = "${a}"`)})}renderRef(e,t,r,s,i){let n=typeof r==="string"&&ft.test(r)?r:null;if(n===null)throw this.positionedError(t,"emitter: ref: expects a state cell — declare `el := null` then write `ref: el`",this.rstate.node);let a=this.rstate.frame.members.get(n);if(a!=="state"&&a!=="prop")throw this.positionedError(t,a!==void 0?`emitter: ref: target '${n}' is not a writable state cell — declare it with ':=' (computed '~=' and `+"readonly '=!' members can't hold a ref)":`emitter: ref: target '${n}' must be a state cell declared with ':=' (e.g. \`${n} := null\`)`,this.rstate.node);let o=this.renderTagOf(e),l=this.ts&&o!==null&&/^[a-z][a-z0-9-]*$/.test(o),c=this.rstate.svgEls?.has(e)===!0;if(l){this._needsRefCellHelper=!0;let f=this.wordSpanIn("ref",t);if(f!==null)this.intrinsics.push({start:f[0],end:f[1],kind:"ref",tag:o,svg:c,name:n})}if(this.rstate.sink.kind==="class")this.renderLine(t,()=>{if(l)this.b.tsOnly(()=>this.b.emit(`${c?"__ripRefCellSvg":"__ripRefCell"}('${o}', `));let f=this.b.offset;this.b.emit("this.");let h=this.emitPrimitive(n);if(h!==null)this.memberDecls.push({start:h[0],end:h[1]});if(l)i([f,this.b.offset]);if(l)this.b.tsOnly(()=>this.b.emit(")"));if(this.b.emit(`.value = ${e}`),l)this.b.tsOnly(()=>this.b.emit(` as ${xe(o,c)} | null`))}),this.renderLine(t,()=>{this.b.emit(`(this._refCleanups ??= []).push(() => ${this.runtimeName("__detachRef")}(this.`),this.emitPrimitive(n),this.b.emit(`, ${e}))`)});else this.rstate.sink.refs.push({name:n,elVar:e,node:t,tag:l?o:null,svg:c,site:i})}renderBind(e,t,r,s,i,n){if(this.checkBindTarget(t,s),this.rstate.sink.kind==="loop"&&this.loopVarNames().size>0&&Ee(s,this.loopVarNames()))this.rstate.sink.forceNonStatic=!0;let a=null;for(let u of i.slice(1))if(y(u)&&u.length===3&&(u[1]==="type"||u[1]==='"type"')&&typeof u[2]==="string")a=u[2].replace(/^["']|["']$/g,"");let o,l;if(r==="checked")o="change",l="target.checked";else o="input",l=a==="number"||a==="range"?"target.valueAsNumber":"target.value";this.renderEffect(t,()=>{this.b.emit(`${e}.`);let u=this.emitRewrittenPrimitive(`__bind_${r}__`,r);this.b.emit(" = ");let d=this.tsServedValue("__bind",()=>this.withExpression(()=>this.expr(s)));if(d!==null&&u!==null)this.intrinsics.push({start:u[0],end:u[1],kind:"bind",name:r,gen:d});if(r==="value")this.b.emit(" ?? ''");this.b.emit(";")},s);let c=this.bindRootTouch(s),f=new Set;E.collectLeafNames(s,f);let h=E.mintName("e",f);this.renderLine(t,()=>{this.b.emit(`${e}.addEventListener('${o}', (${h}`);let u=this.tsElReceiver(e),d=this.ts?this.tsEventTypeText([o],u.hostText):null;if(d!==null)this.b.tsOnly(()=>this.b.emit(`: ${d}`));else this.tsScaffoldAny();this.b.emit(") => { ");let p=this.b.offset;if(this.withExpression(()=>this.expr(s)),n([p,this.b.offset]),this.b.emit(` = ${h}.${l};`),c!==null)this.b.emit(" "),c(),this.b.emit(".touch?.();");this.b.emit(" })")})}checkBindTarget(e,t){let r=(n)=>{throw this.positionedError(e,n,this.rstate.node)};if(typeof t==="string"){if(!ft.test(t))r("emitter: a two-way binding (`<=>`) needs an assignable target — a literal cannot receive the input");let n=this.renderVarKind(t,e);if(n!==null)r(`emitter: a two-way binding cannot target a ${n==="local"?"render local":"loop variable"} — `+"the write would land on a factory parameter and reach nothing; bind a state member or a chain into row data");let a=this.resolveBareRead(t);if(a==="member-reactive"&&this.rstate.frame.members.get(t)==="computed")r(`emitter: '<=>' targets '${t}', a computed ('~=') member — a derived value has no writable `+"container (its .value is get-only); bind the state it derives from");if(a==="reactive"||a==="member-reactive")return;if(a==="member")r(`emitter: '<=>' targets '${t}', a plain (\`=\`) member — writes would never notify and the display `+"would never update; declare it with ':='");r(`emitter: '<=>' targets '${t}', which is not declared — declare a state member (\`${t} := ""\`) to bind it`)}if(y(t)&&t[0]==="."&&t[1]==="this"&&t.length===3&&typeof t[2]==="string"){if(this.memberIsReactive(t[2])&&this.rstate.frame.members.get(t[2])==="computed")r(`emitter: '<=>' targets '@${t[2]}', a computed ('~=') member — a derived value has no writable `+"container; bind the state it derives from");if(this.memberIsReactive(t[2]))return;if(this.rstate.frame.members.has(t[2]))r(`emitter: '<=>' targets '@${t[2]}', a non-reactive member — writes would never notify`+"); declare it with ':='");r(`emitter: '<=>' targets '@${t[2]}', which is not a declared member`)}if(y(t)&&E.optionalGuard(t)!==null)r("emitter: a two-way binding target cannot carry optional links — the write form would be invalid JS");let s=t,i=!1;while(y(s)&&(s[0]==="."||s[0]==="[]")&&s.length===3)i=!0,s=s[1];if(i)return;r("emitter: a two-way binding (`<=>`) needs an assignable target — a state member or a member/index chain "+"")}bindRootTouch(e){if(typeof e==="string")return null;if(y(e)&&e[0]==="."&&e[1]==="this"&&e.length===3)return null;let t=e;while(y(t)&&(t[0]==="."||t[0]==="[]")&&t.length===3){if(t[0]==="."&&t[1]==="this"&&typeof t[2]==="string"){let r=t[2];if(this.memberIsReactive(r))return()=>this.b.emit(`${this.renderSelf??"this"}.${r}`);return null}t=t[1]}if(typeof t==="string"){if(this.renderVarKind(t)!==null)return null;let r=this.resolveBareRead(t);if(r==="member-reactive"){let s=t;return()=>this.b.emit(`${this.renderSelf??"this"}.${s}`)}if(r==="reactive"){let s=t;return()=>this.b.emit(s)}}return null}checkUserSpelledBind(e){let t=y(e)?this.stores.idOf(e):null,r=t!==null?this.stores.role(t,"key"):null;if(!r||r.sourceStart==null||this.b.source===null)return;if(this.b.source.slice(r.sourceStart,r.sourceEnd).startsWith("__bind_"))throw this.positionedError(e,"emitter: '__bind_…__:' is the compiler's two-way-binding channel — spell the binding `name <=> container` "+"(`__`-prefixed names are the compiler/runtime namespace)",this.rstate.node)}checkBareEventHandler(e,t){if(!y(t)||t[0]!=="."||t[1]!=="this"||typeof t[2]!=="string")return;let r=this.stores.idOf(t),s=r!==null?this.stores.selfSpan(r):null;if(s===null||s[0]!==s[1])return;let i=e[1],n=typeof i[2]==="string"?i[2]:String(i[2]);if(!Ut.has(n))throw this.positionedError(e,`emitter: \`@${n}\` is not a DOM event — use \`= @${n}\` to render text, or \`@${n}: handler\` for an explicit handler`);if(n==="error")throw this.positionedError(e,"emitter: bare `@error` is ambiguous with the onError lifecycle hook — write `@error: handler` to bind a DOM error listener explicitly");let a=t[2];if(!this.cframes[this.cframes.length-1].members.has(a))throw this.positionedError(e,`emitter: bare \`@${n}\` requires a component method \`${a}\` — define \`${a}\`, or use \`@${n}: handler\` for an explicit handler`)}static collectTemplateClasses(e){let t=[],r,s=e;while(y(s)&&s[0]==="."&&s.length===3){if(typeof s[2]!=="string")return{tag:null,classes:t,id:r};t.unshift(s[2]),s=s[1]}if(typeof s!=="string")return{tag:null,classes:t,id:r};let[i,n]=s.split("#");if(n)r=n;for(let a=0;a=0)r=t[a].slice(o+1),t[a]=t[a].slice(0,o)}return{tag:i||"div",classes:t.filter((a)=>a!==""),id:r}}static templateHeadTag(e){if(!y(e))return null;let t=e[0];if(typeof t==="string"){if(t===".")return E.collectTemplateClasses(e).tag;return t.length>0?t.split("#")[0]||"div":null}if(!y(t))return null;if(y(t[0])&&t[0][0]==="."&&t[0][2]==="__clsx"){let r=t[0][1];if(typeof r==="string")return r.split("#")[0]||"div";return E.collectTemplateClasses(r).tag}return E.collectTemplateClasses(t).tag}static returnGuard(e){return y(e)&&(e[0]==="||"||e[0]==="&&"||e[0]==="??")&&e.length===3&&y(e[2])&&e[2][0]==="return"}static stmtGuard(e){return y(e)&&(e[0]==="||"||e[0]==="&&"||e[0]==="??")&&e.length===3&&(e[2]==="continue"||e[2]==="break"||e[2]==="debugger")}static controlGuard(e){return E.returnGuard(e)||E.throwGuard(e)||E.stmtGuard(e)}static throwGuard(e){return y(e)&&(e[0]==="||"||e[0]==="&&"||e[0]==="??")&&e.length===3&&y(e[2])&&e[2][0]==="throw"&&e[2].length===2}static isStrRepeat(e){return y(e)&&e[0]==="*"&&e.length===3&&typeof e[1]==="string"&&e[1][0]==='"'}static leadsWithObject(e){let t=e;for(;;){if(!y(t))return!1;if(O1(t))return!0;if(ht(t)||ha(t)||ut(t)){t=t[1];continue}let r=E.chainHeadSlot(t);if(r!==null){t=t[r];continue}return!1}}static chainHeadSlot(e){if((e[0]==="."||e[0]==="?."||e[0]==="[]"||e[0]==="optindex")&&e.length===3)return 1;if(e[0]==="optcall")return 1;return E.chainHeadSlotRest(e)}chainHeadSlotOf(e){if((e[0]==="."||e[0]==="?."||e[0]==="[]")&&e.length===3)return 1;if(e[0]==="optindex"&&e.length===3&&this.lockedHead(e,"optindex"))return 1;if(e[0]==="optcall"&&this.lockedHead(e,"optcall"))return 1;return E.chainHeadSlotRest(e)}static chainHeadSlotRest(e){if(y(e[0])&&e[0][0]!=="dammit!"&&!(e[0][0]==="."&&e[0].length===3&&e[0][2]==="new"))return 0;return null}static isChainNode(e){return y(e)&&E.chainHeadSlot(e)!==null}isChainNodeOf(e){return y(e)&&this.chainHeadSlotOf(e)!==null}chain(e){this.noteProvidedRead(e);let t=[e];while(!0){let s=t[t.length-1],i=s[this.chainHeadSlotOf(s)];if(!this.isChainNodeOf(i))break;t.push(i)}let r=[];for(let s=0;s=0;s--){let i=t[s],n=i[0],a=r[s];if(this.endMark(a.role),a.kind==="member"){this.inTarget=a.savedTarget;let o=this.deopt&&n==="?."?".":n;if(typeof i[2]==="string"&&i[2][0]==='"')this.mark(i,"operator",()=>this.b.emit(n==="?."&&!this.deopt?"?.":"")),this.mark(i,"property",()=>this.b.emit(`[${i[2]}]`));else this.mark(i,"operator",()=>this.b.emit(o)),this.mark(i,"property",()=>{let l=this.b.offset;if(this.stores.idOf(i)===null)this.emitPrimitive(i[2]);else this.b.emit(i[2]);if(this.ts&&this.appStashSpec!==null&&typeof i[2]==="string"&&E.isThisMember(i[1],"stash")&&!(this.cframes.length&&this.cframes[this.cframes.length-1].members.has("stash")))this.stashMemberSpans.push([l,this.b.offset]);if(this.ts&&i[1]==="this"&&typeof i[2]==="string"){let f=this.cframes[this.cframes.length-1]?.memberKinds?.get(i[2])??null,h=this.stores.idOf(i)??null,u=h!==null?this.stores.role(h,"property"):null;if(f!==null&&u&&typeof u.sourceStart==="number")this.kinds.push({start:u.sourceStart,end:u.sourceEnd,label:f.label,name:i[2],optional:f.optional})}});if(i[1]==="this"&&typeof i[2]==="string"&&this.memberIsReactive(i[2])){if(this.ts){let l=this.stores.idOf(i)??null,c=l!==null?this.stores.role(l,"property"):null;if(c&&typeof c.sourceStart==="number")this.memberDecls.push({start:c.sourceStart,end:c.sourceEnd})}this.b.emit(".value")}}else if(a.kind==="index")this.indexTail(i,a.opt,a.isWrite),this.inTarget=a.savedTarget;else if(a.kind==="optcall")this.b.emit("?."),this.mark(i,"args",()=>{this.b.emit("("),i.slice(2).forEach((o,l)=>{if(l>0)this.b.emit(", ");this.expr(o)}),this.b.emit(")")});else{let o=this.sourceKeyArgOf(i);if(o!==null)(this._sourceKeyArgs??=new Set).add(o),this._needsSourceKeyHelper=!0;let l=this.routerArgOf(i);if(l!==null){if((this._routerArgs??=new Map).set(l.arg,l.wrap),l.wrap)this._needsRouteHelper=!0}this.mark(i,"args",()=>{this.b.emit("("),i.slice(1).forEach((c,f)=>{if(f>0)this.b.emit(", ");this.callArg(c)}),this.b.emit(")")})}this.endMark(a.self)}}member(e){if(e[0]==="."&&e[1]==="this"&&typeof e[2]==="string"&&!this.inTarget)this.notePlainRenderRead(e[2],!0);this.chain(e)}noteProvidedRead(e){if(!this.ts||!(this.cframes?.length>0))return;let t=e;while(y(t)){let n=this.chainHeadSlotOf(t);if(n===null||!y(t[n]))break;t=t[n]}if(!y(t)||t[0]!=="."||t[1]!=="this"||t[2]!=="stash"&&t[2]!=="router")return;if(this.cframes[this.cframes.length-1].members?.has(t[2]))return;let r=this.stores.idOf(t),s=r!==null?this.stores.selfSpan(r):null,i=s!==null?this.stores.primitiveSpans(t[2],s[0],s[1])[0]??null:null;if(i&&!this.kinds.some((n)=>n.start===i.sourceStart&&n.label===t[2]))this.kinds.push({start:i.sourceStart,end:i.sourceEnd,label:t[2],name:t[2],optional:!1})}pick(e,t=!1){let[r,s,...i]=e;if(this.inPattern||this.inTarget)throw this.positionedError(e,"emitter: a pick expression is not an assignment target — it lowers to a fresh object literal (`({…}) = value` would be invalid JS)");let n=r==="?.{}",a=typeof s==="string"&&(s==="this"||/^[A-Za-z_$][\w$]*$/.test(s));if(!a)for(let l of i){if(l[2]!==null&&this.containsAwait(l[2]))throw this.positionedError(l,"emitter: a pick default cannot await when the source needs single evaluation — the lowering's '(_) =>' arrow is not async; bind the source first",e);if(l[2]!==null&&E.containsYield(l[2]))throw this.positionedError(l,"emitter: a pick default cannot yield when the source needs single evaluation — yield cannot cross the lowering's '(_) =>' arrow; bind the source first",e)}let o=(l)=>this.mark(e,"items",()=>{i.forEach((c,f)=>{if(f>0)this.b.emit(", ");let[h,u,d]=c;this.mark(c,"$self",()=>{if(this.mark(c,"target",()=>this.b.emit(E.ownKeyText(u,u))),this.b.emit(": "),d!==null)this.b.emit("(");if(l(),this.b.emit("."),this.mark(c,"key",()=>this.b.emit(h)),d!==null)this.b.emit(" ?? "),this.withExpression(()=>this.operand(c,"default",d)),this.b.emit(")")})})});this.mark(e,"$self",()=>{if(a&&!n)this.b.emit(t?"{":"({"),o(()=>this.mark(e,"source",()=>this.expr(s))),this.b.emit(t?"}":"})");else if(a){if(!t)this.b.emit("(");this.mark(e,"source",()=>this.expr(s)),this.b.emit(" == null ? undefined : {"),o(()=>this.mark(e,"source",()=>this.expr(s))),this.b.emit(t?"}":"})")}else{let l=this.loopTempName("_");this.b.emit(n?`((${l}) => ${l} == null ? undefined : ({`:`((${l}) => ({`),o(()=>this.b.emit(l)),this.b.emit("}))("),this.withExpression(()=>this.grouped(e,"source",s,E.needsGrouping(s,"operand"))),this.b.emit(")")}})}callArg(e){if(this._sourceKeyArgs?.has(e)){this._sourceKeyArgs.delete(e),this.b.tsOnly(()=>this.b.emit("__ripSourceKey("));let r=this.b.offset;this.expr(e),this.sourceKeySpans.push([r,this.b.offset]),this.b.tsOnly(()=>this.b.emit(")"));return}let t=this._routerArgs?.get(e);if(t!==void 0){if(this._routerArgs.delete(e),t)this.b.tsOnly(()=>this.b.emit("__ripRoute("));let r=this.b.offset;if(this.expr(e),this.routeWrapSpans.push({key:null,value:[r,this.b.offset]}),t)this.b.tsOnly(()=>this.b.emit(")"));return}if(y(e)&&(e[0]===".{}"||e[0]==="?.{}")&&e.length>=3)return this.pick(e,!0);this.expr(e)}sourceKeyArgOf(e){if(!this.ts||this.appStashSpec===null)return null;let t=e[1];if(typeof t!=="string"||!/^["']/.test(t))return null;let r=e[0];if(!y(r)||r.length!==3||r[2]!=="source")return null;let s=r[1];if(r[0]==="."&&E.isThisMember(s,"stash")){if(this.cframes.length&&this.cframes[this.cframes.length-1].members.has("stash"))return null;return t}if((r[0]==="."||r[0]==="?.")&&this.isAccessorCall(s,this.appAccessors.stash))return t;return null}static isThisMember(e,t){return y(e)&&e[0]==="."&&e.length===3&&e[1]==="this"&&e[2]===t}static stashKeysOf(e,t){let r=null;for(let n of e.slice(1)){let a=y(n)&&n[0]==="export"?n[1]:n;if(y(a)&&a[0]==="="&&a[1]===t){r=a[2];break}}if(y(r)&&r.length===2&&typeof r[0]==="string"&&y(r[1])&&r[1][0]==="object")r=r[1];if(!y(r)||r[0]!=="object")return null;let s=[],i=!0;for(let n of r.slice(1)){if(!y(n))continue;if(n[0]==="..."){i=!1;continue}let a=n[0]===":"?n[1]:n[0]===null?n[1]:null;if(typeof a!=="string"){i=!1;continue}s.push(/^["']/.test(a)?a.slice(1,-1):a)}return{keys:s,complete:i}}routerArgOf(e){if(!this.ts||this.routesUnion===null)return null;let t=e[1];if(typeof t!=="string"||!/^["']/.test(t))return null;let r=e[0];if(!y(r)||r.length!==3||r[2]!=="push"&&r[2]!=="replace")return null;let s=r[1];if(r[0]==="."&&E.isThisMember(s,"router")){if(this.cframes.length&&this.cframes[this.cframes.length-1].members.has("router"))return null;return{arg:t,method:r[2],wrap:!1}}if((r[0]==="."||r[0]==="?.")&&this.isAccessorCall(s,this.appAccessors.router))return{arg:t,method:r[2],wrap:!0};return null}binary(e){if(E.returnGuard(e))throw this.positionedError(e[2],"emitter: a return guard is a statement — in value position the 'return' would lose its function target (bind the value first, or use `or throw`)");if(E.stmtGuard(e))throw this.positionedError(e[2],`emitter: a ${e[2]} guard is a statement`);if(e[0]==="&&"||e[0]==="||")return this.logicalChain(e);if(E.isStrRepeat(e)){this.mark(e,"$self",()=>{this.mark(e,"left",()=>this.b.emit(e[1])),this.b.emit(".repeat("),this.mark(e,"right",()=>this.expr(e[2])),this.b.emit(")")});return}if(ut(e))return this.comparisonChain(e);let t=(o)=>ht(o)&&o[0]!=="&&"&&o[0]!=="||"&&!ut(o)&&!E.isStrRepeat(o),r=[e];while(t(r[r.length-1][1]))r.push(r[r.length-1][1]);let s=[];for(let o=0;o=0;o--){let l=r[o];if(this.b.emit(" "),this.mark(l,"operator",()=>this.b.emit(Ci[l[0]]??l[0])),this.b.emit(" "),this.operand(l,"right",l[2]),this.endMark(s[o].self),o>0)this.endMark(s[o-1].left),this.b.emit(")")}}logicalChain(e){let t=e[0],r=(a)=>ht(a)&&a[0]===t,s=[e];while(r(s[s.length-1][1]))s.push(s[s.length-1][1]);let i=[];for(let a=0;a=0;a--){let o=s[a];if(this.b.emit(" "),this.mark(o,"operator",()=>this.b.emit(t)),this.b.emit(" "),r(o[2]))this.grouped(o,"right",o[2],!1);else this.operand(o,"right",o[2]);if(this.endMark(i[a].self),a>0)this.endMark(i[a-1].left)}}comparisonChain(e){let t=[e];while(ut(t[t.length-1]))t.push(t[t.length-1][1]);t.reverse();let r=[];for(let n=t.length-1;n>=1;n--){let a=t[n],o=this.beginMark(a,"$self");this.b.emit("("),r[n]={self:o,left:this.beginMark(a,"left")}}let s=t[0],i=this.beginMark(s,"$self");this.operand(s,"left",s[1]),this.b.emit(" "),this.mark(s,"operator",()=>this.b.emit(Ci[s[0]]??s[0])),this.b.emit(" "),this.chainRight(s,t[1]),this.endMark(i);for(let n=1;nthis.b.emit(Ci[a[0]]??a[0])),this.b.emit(" "),this.chainRight(a,t[n+1]),this.b.emit(")"),this.endMark(r[n].self)}}chainRight(e,t){let r=e[2];if(t!==void 0&&y(r)){let s=this.temps.byNode.get(t);if(s===void 0)throw this.positionedError(r,"emitter: a chained comparison here cannot cache its middle operand for single evaluation "+"(no enclosing scope hoist) — bind the middle operand to a variable first ",e);this.b.emit("("),this.mark(e,"right",()=>{this.b.emit(`${s} = `),this.expr(r)}),this.b.emit(")");return}this.operand(e,"right",r)}chainMid(e,t){let r=this.temps.byNode.get(t);if(r!==void 0){this.mark(e,"right",()=>this.b.emit(r));return}this.operand(e,"right",e[2])}postfixType(e){if(!this.ts){this.mark(e,"$self",()=>this.mark(e,"annotation",()=>this.mark(e,"value",()=>this.expr(e[1]))));return}let t=this.stores.idOf(e),r=t===null?null:this.stores.role(t,"annotation"),s=r&&r.sourceStart!=null&&this.b.source!==null?this.b.source.slice(r.sourceStart,r.sourceEnd):`${e[0]==="cast"?"as":"satisfies"} ${Be(e[2])}`;this.mark(e,"$self",()=>{this.b.tsOnly(()=>this.b.emit("("));let i=E.jsTier(e[1])!=="primary";if(i)this.b.tsOnly(()=>this.b.emit("("));if(this.mark(e,"value",()=>this.expr(e[1])),i)this.b.tsOnly(()=>this.b.emit(")"));this.b.tsOnly(()=>{this.b.emit(" "),this.mark(e,"annotation",()=>this.emitTypeText(e,"annotation",s))}),this.b.tsOnly(()=>this.b.emit(")"))})}existence(e){this.mark(e,"$self",()=>{this.operand(e,"value",e[1]),this.b.emit(" != null")})}unary(e){if(e[0]==="delete"&&typeof e[1]==="string"&&this.isReactiveName(e[1]))throw this.positionedError(e,`emitter: cannot delete the reactive variable '${e[1]}' — \`delete ${e[1]}.value\` would remove the container's accessor and silently kill the reactive`);if(e[0]==="delete"&&!(y(e[1])&&(e[1][0]==="."||e[1][0]==="[]")))throw this.positionedError(e,"emitter: delete requires a property reference (delete obj.a / delete obj[k]) — deleting a plain binding is a strict-mode SyntaxError in modules");this.mark(e,"$self",()=>{if(this.mark(e,"operator",()=>this.b.emit(e[0])),/^[a-z]/.test(e[0]))this.b.emit(" ");this.operand(e,"operand",e[1])})}spread(e){this.mark(e,"$self",()=>{if(this.b.emit("..."),this.inPattern)this.mark(e,"value",()=>this.expr(e[1]));else this.operand(e,"value",e[1])})}array(e){this.mark(e,"$self",()=>{this.b.emit("["),this.mark(e,"items",()=>{let t=e.slice(1);t.forEach((r,s)=>{if(s>0)this.b.emit(", ");if(r===","){if(s===t.length-1)this.b.emit(",");return}if(y(r)&&r[0]==="rest"&&this.inPattern){if(!this.bindingPattern)throw this.positionedError(r,"emitter: Cannot use 'rest' expression as a destructuring target (destructuring rest is spelled '...name')",e);if(r.length!==2||s!==t.length-1)throw this.positionedError(r,"emitter: a `rest` element takes the pattern's tail alone",e);if(typeof r[1]!=="string")throw this.positionedError(r,"emitter: a `rest` element takes a plain name",e);this.b.emit("..."),this.b.emit(r[1]);return}let i=!this.inPattern&&!(y(r)&&r[0]==="...")&&E.needsGrouping(r,"operand");if(i)this.b.emit("(");if(this.expr(r),i)this.b.emit(")")})}),this.b.emit("]")})}symbolKey(e){this.b.emit("["),this.expr(e),this.b.emit("]")}static isMethodPair(e){return y(e)&&(e[0]===":"||e[0]==="void-pair")&&typeof e[1]==="string"&&/^[A-Za-z_$][\w$]*$/.test(e[1])&&y(e[2])&&e[2][0]==="->"}object(e){for(let a of e.slice(1)){if(y(a)&&a[0]===":"&&typeof a[1]==="string"&&a[1][0]==="/")throw this.positionedError(a,"emitter: a regex key needs a MAP literal (`*{ /re/: v }`) — object property names are strings");if(!this.inPattern&&!this.tolerant&&y(a)&&a[0]==="="&&a.length===3)throw this.positionedError(a,"emitter: `a = 1` inside an object literal is a destructuring default, which only a pattern can carry — spell the pair `a: 1`",e)}let t=!this.inPattern&&E.objectComprehension(e);if(t){let a=y(t[1])?t[1]:null,o={expr:a!==null?a[1]:t[1],pair:t,keyNode:a};return this.mark(e,"$self",()=>this.mark(e,"pairs",()=>this.mark(t,"$self",()=>this.mark(t,"value",()=>this.comprehension(t[2],this.ind,o)))))}let r=e.slice(1),s=this.ind,i=r.map((a)=>!this.inPattern&&E.isMethodPair(a)),n=(a)=>i[a]||i.slice(0,a).some(Boolean)?`, -`:", ";this.mark(e,"$self",()=>{this.b.emit("{"),this.mark(e,"pairs",()=>{r.forEach((a,o)=>{if(o>0)this.b.emit(n(o));if(i[o]){this.mark(a,"voidMarker",()=>this.mark(a,"$self",()=>{if(this.containsAwait(a[2][2]))this.b.emit("async ");if(E.containsYield(a[2][2]))this.b.emit("*");this.mark(a,"key",()=>this.b.emit(a[1]));let[,h,u]=a[2],d=this.ts&&this.contextuallyTyped(a[2]);this.b.emit("("),this.mark(a[2],"params",()=>this.emitParams(h,null,!d)),this.b.emit(")"),this.tsReturnAnnotation(a[2],this.containsAwait(u),a[0]==="void-pair",E.containsYield(u),a),this.b.emit(" "),this.mark(a,"value",()=>{this.methodBlock(a[2],u,s,{isConstructor:!1,binds:[],methodName:a[1],voidBody:a[0]==="void-pair"})})}));return}let l=y(a[1])&&a[1][0]==="dynamicKey";if(l&&a[0]===null)throw this.positionedError(a,"emitter: a computed key needs an explicit value ({[k]: v}) — there is no shorthand form",e);let c=y(a[1])&&a[1][0]==="str",f=a[0]===":"&&y(a[1])&&a[1][0]==="symbol";if(a[0]!=="..."&&y(a[1])&&!l&&!c&&!f)throw this.positionedError(a,"emitter: @-keys are only supported in class bodies",e);if(f){this.mark(a,"$self",()=>{this.mark(a,"key",()=>this.symbolKey(a[1])),this.b.emit(": "),this.mark(a,"value",()=>this.expr(a[2]))});return}if(a[0]===":"&&c){this.mark(a,"$self",()=>{this.b.emit("["),this.mark(a,"key",()=>this.strTemplate(a[1])),this.b.emit("]: "),this.mark(a,"value",()=>this.expr(a[2]))});return}this.mark(a,"$self",()=>{if(a[0]===":"&&l)if(this.mark(a,"key",()=>{this.mark(a[1],"$self",()=>{this.b.emit("["),this.withExpression(()=>this.operand(a[1],"key",a[1][1])),this.b.emit("]")})}),this.b.emit(": "),this.inPattern||y(a[2])&&a[2][0]==="=>")this.mark(a,"value",()=>this.expr(a[2]));else this.operand(a,"value",a[2]);else if(a[0]===":"||a[0]==="void-pair"){if(a[0]==="void-pair"){if(this.inPattern)throw this.positionedError(a,"emitter: the void marker has no meaning in a destructuring pattern — a pattern key takes no trailing '!'",e);this.registerVoidValue(a[2],a)}this.mark(a,"voidMarker",()=>{if(this.mark(a,"key",()=>this.b.emit(a[1])),this.b.emit(": "),this.inPattern||y(a[2])&&a[2][0]==="=>")this.mark(a,"value",()=>this.expr(a[2]));else this.operand(a,"value",a[2])})}else if(a[0]==="=")this.mark(a,"key",()=>this.b.emit(a[1])),this.b.emit(" = "),this.withExpression(()=>this.operand(a,"value",a[2]));else if(a[0]==="..."){if(this.inPattern&&(y(a[1])||a[1]==="this"))throw this.positionedError(a,"emitter: object rest in a destructuring pattern takes a plain name — chained-accessor rest targets are not supported",e);if(this.b.emit("..."),this.inPattern)this.mark(a,"value",()=>this.expr(a[1]));else this.operand(a,"value",a[1])}else if(typeof a[1]==="string"&&this.bareRewrite(a[1])!==null)this.mark(a,"key",()=>this.b.emit(a[1])),this.b.emit(": "),this.mark(a,"value",()=>this.expr(a[1]));else this.mark(a,"value",()=>this.mark(a,"key",()=>this.b.emit(a[1])))})})}),this.b.emit("}")})}static negativeLiteralKey(e){return y(e)&&e[0]==="-"&&e.length===2&&typeof e[1]==="string"&&/^\d+$/.test(e[1])}indexTail(e,t,r){let s=e[2],i=()=>{let n=this.deopt;this.deopt=!1,this.mark(e,"key",()=>this.expr(s)),this.deopt=n};if(!t&&We(s))this.mark(e,"key",()=>this.slice(s));else if(E.negativeLiteralKey(s)){if(r)throw this.positionedError(e,"emitter: a negative-literal index cannot be an assignment target (reads lower to .at(-n), and a call is not assignable)");this.b.emit(t?"?.at(":".at("),this.mark(e,"key",()=>{this.b.emit("-"),this.b.emit(s[1])}),this.b.emit(")")}else this.b.emit(t?"?.[":"["),i(),this.b.emit("]")}index(e){if(e.length===3&&typeof e[2]==="string"&&e[2][0]==="/")return this.regexIndex(e,e[1],e[2],null);this.chain(e)}optIndex(e){this.chain(e)}optCall(e){this.chain(e)}slice(e){let[t,r,s]=e;if(this.b.emit(".slice("),this.mark(e,"from",()=>r===null?this.b.emit("0"):this.expr(r)),s!==null)if(this.b.emit(", "),t==="...")this.mark(e,"to",()=>this.expr(s));else if(typeof s==="string"&&/^\d+$/.test(s))this.mark(e,"to",()=>this.b.emit(String(Number(s)+1)));else this.b.emit("+"),this.mark(e,"to",()=>this.expr(s)),this.b.emit(" + 1 || 9e9");this.b.emit(")")}range(e){let[t,r,s]=e,i=t===".."?"((s, e) => Array.from({length: Math.abs(e - s) + 1}, (_, i) => s + (i * (s <= e ? 1 : -1))))":"((s, e) => Array.from({length: Math.max(0, Math.abs(e - s))}, (_, i) => s + (i * (s <= e ? 1 : -1))))";this.mark(e,"$self",()=>{this.b.emit(i),this.b.emit("("),this.mark(e,"from",()=>this.expr(r)),this.b.emit(", "),this.mark(e,"to",()=>this.expr(s)),this.b.emit(")")})}classStatement(e,t){this.mark(e,"$self",()=>this.classCode(e,t))}classExpr(e){this.mark(e,"$self",()=>this.classCode(e,this.ind))}classCode(e,t){let[,r,s,i]=e;if(this.b.emit("class"),r!=null){if(typeof r!=="string")throw this.positionedError(e,"emitter: `class @Name` is a STATIC member class — it lives inside a class body (`static Name = class`); at the top level give the class a plain name");this.b.emit(" "),this.mark(e,"name",()=>this.b.emit(r))}if(s!=null)this.b.emit(" extends "),this.grouped(e,"parent",s,E.needsGrouping(s,"head"));if(this.b.emit(` { -`),i!=null)this.mark(e,"body",()=>this.classMembers(i,t));this.b.emit(" ".repeat(t)+"}")}classMethodForm(e){if(!y(e))return null;if(k1(e[0])&&e.length===4){let t=this.stores.alias(["->",e[2],e[3]],e);return{form:"def",pair:this.stores.alias([e[0]==="void-def"?"void-pair":":",e[1],t],e)}}if((e[0]==="get"||e[0]==="set")&&e.length===2&&O1(e[1])&&e[1].length===2){let t=e[1][1];if(y(t)&&t[0]===":"&&t.length===3&&T1(t[2]))return{form:e[0],pair:t}}return null}classMembers(e,t){let r=y(e)&&e[0]==="block"?e.slice(1):[e],s=new Map(r.map((b)=>[b,this.classMethodForm(b)])),i=(b)=>y(b)&&b[0]==="."&&b[1]==="this"?b[2]:b,n=(b)=>y(b)&&b[0]==="."&&b[1]==="this"&&b.length===3&&typeof b[2]==="string",a=" ".repeat(t+1),o=[],l=null,c=!1,f=new Set,h=null,u=null,d=[],p=(b)=>n(b)?`static ${b[2]}`:b,m=new Set,g=[];for(let b of r){let S=s.get(b)??null,w=S!==null?[S.pair]:O1(b)?b.slice(1):null;if(w===null){let R=typeof b==="string"||n(b)?b:E.isTypedWrapper(b)&&(typeof b[1]==="string"||n(b[1]))?b[1]:y(b)&&b[0]==="="&&b.length===3&&(typeof b[1]==="string"||n(b[1]))?b[1]:null;if(R!==null){if(m.add(p(R)),!n(R))f.add(R)}continue}for(let R of w){if(R[0]!==":"&&R[0]!=="void-pair")throw this.positionedError(R,"emitter: class bodies support methods and fields only",b);if(S!==null&&S.form!=="def"){let F=R[2][1].length;if(R[2][0]==="=>")throw this.positionedError(R,`emitter: a ${S.form} accessor takes '->' — accessors are looked up on the instance, never bound`,b);if(this.containsAwait(R[2][2])||E.containsYield(R[2][2]))throw this.positionedError(R,`emitter: a ${S.form} accessor cannot await or yield — JavaScript has no async or generator accessors`,b);if(S.form==="get"&&F!==0)throw this.positionedError(R,"emitter: a getter takes no parameters (`get x: -> …`)",b);if(S.form==="set"&&F!==1)throw this.positionedError(R,"emitter: a setter takes exactly one parameter (`set x: (v) -> …`)",b)}if(y(R[1])&&(R[1][0]==="dynamicKey"||R[1][0]==="[]"))throw this.positionedError(R,"emitter: computed class members are not supported yet",b);let T=i(R[1]);if(S!==null&&S.form!=="def"){if(T==="constructor")throw this.positionedError(R,`emitter: a class constructor cannot be a ${S.form} accessor`,b);g.push({pair:R,stmt:b,key:p(R[1]),form:S.form})}if(T==="constructor"&&!n(R[1])){if(c=!0,T1(R[2]))h=R[2][1],u=R[2][2]}else if(!n(R[1])&&typeof T==="string")f.add(T);if(T1(R[2])&&!n(R[1])&&T!=="constructor")d.push(R[2][2]);if(T1(R[2])&&R[2][0]==="=>"&&!n(R[1])&&T!=="constructor"){if(typeof T!=="string")throw this.positionedError(R,"emitter: a symbol-keyed method cannot be bound ('=>') — the constructor binds members by name; use '->'",b);o.push(T),l??=R}}}if(o.length>0&&!c)throw this.positionedError(l,"emitter: bound ('=>') class methods require an explicit constructor",e);for(let b of g)if(m.has(b.key))throw this.positionedError(b.pair,`emitter: field and ${b.form} accessor '${i(b.pair[1])}' share a name — the field would shadow the accessor on every instance; drop one`,b.stmt);if(this.ts&&h!==null)for(let b of h){let S=I3(b);if(S===null||f.has(S.name))continue;f.add(S.name);let w=S.typed===null?null:this.annotationText(S.typed)??(S.typed[2]===""?null:Be(S.typed[2])),R=this.stores.idOf(e),T=R!==null?this.stores.selfSpan(R):null,F=T!==null?this.stores.primitiveSpans(S.name,T[0],T[1])[0]??null:null;this.b.tsOnly(()=>{if(this.b.emit(a),F)this.b.markSpan(R,"identifier",F.sourceStart,F.sourceEnd,()=>this.b.emit(S.name));else this.b.emit(S.name);this.b.emit(`${w?`: ${w}`:""}; -`)})}if(this.ts)for(let b of $3([u,...d])){if(f.has(b.name))continue;f.add(b.name);let w=b.nodes.map((R)=>this.annotationText(R)).find((R)=>R!=null)??null??(b.viaArrow?"any":null);this.b.tsOnly(()=>this.b.emit(`${a}${b.name}${w?`: ${w}`:""}; -`))}for(let b of r)this.withTsDirectives(b,a,()=>this.classMember(b,e,t,a,{memberName:i,isStaticKey:n,bound:o,form:s.get(b)??null}),!0)}classFieldValue(e){if(this.containsAwait(e))throw this.positionedError(e,"emitter: a class field initializer cannot await — JavaScript evaluates class fields synchronously");if(E.containsYield(e))throw this.positionedError(e,"emitter: a class field initializer cannot yield — class field evaluation is not a generator context");let t=this.planReferenceTemps([e],new Set);if(t.length===0){this.expr(e);return}this.b.emit("(() => { "),this.hoistLine(t),this.b.emit(" return "),this.expr(e),this.b.emit("; })()")}classMember(e,t,r,s,{memberName:i,isStaticKey:n,bound:a,form:o}){let l=o!==null&&o.form!=="def"?o.form:null,c=o!==null&&o.form==="def"?"name":"key",f=e;if(o!==null)e=this.stores.alias(["object",o.pair],e);{if(y(e)&&e[0]==="class"&&y(e[1])&&e[1][0]==="."&&e[1][1]==="this"&&typeof e[1][2]==="string"){this.b.emit(s+"static "),this.mark(e,"name",()=>this.emitPrimitive(e[1][2])),this.b.emit(" = "),this.classCode(["class",null,e[2]??null,e[3]],r+1),this.b.emit(`; -`);return}if(O1(e)){for(let h of e.slice(1))this.withTsDirectives(h,s,()=>{let u=h[1],d=h[2],p=i(u),m=h[0]==="void-pair";if(!T1(d)){if(m)throw this.positionedError(h,"emitter: the void marker (a trailing '!' on the method key) requires a function value — `fn!: ->` (this class member's value is not a function)",e);throw this.positionedError(h,"emitter: a class field takes '=' for its value (`x = v`, `x: T = v`, `@x = v`) — `name: value` is a typed bodiless field only when the value is a TYPE",e)}if(m&&p==="constructor")throw this.positionedError(h,"emitter: a constructor cannot carry the void marker (`constructor!:`) — constructors have no implicit return to suppress",e);this.b.emit(s),this.mark(h,"voidMarker",()=>this.mark(h,"$self",()=>{if(n(u))this.b.emit("static ");if(this.containsAwait(d[2]))this.b.emit("async ");if(E.containsYield(d[2]))this.b.emit("*");if(l!==null){let R=this.stores.idOf(f),T=R!==null?this.stores.role(R,"callee"):null;if(T!==null)this.silences.push([T.sourceStart,T.sourceEnd]);this.mark(f,"callee",()=>this.b.emit(l)),this.b.emit(" ")}if(y(u)&&u[0]==="symbol")this.mark(h,"key",()=>this.symbolKey(u));else this.mark(h,c,()=>this.emitPrimitive(p));if(this.ts){let R=this.annotationText(h,"typeParams");if(R!==null)this.b.tsOnly(()=>this.mark(h,"typeParams",()=>this.emitTypeText(h,"typeParams",R)))}let[,g,b]=d,S=[],w=p==="constructor"&&!n(h[1]);if(w){let R=(T)=>{let F=gt(T);if(F!==null)return S.push(F),y(T)&&T[0]==="typed-var"?["typed-var",F,T[2]]:F;if(y(T)&&T[0]==="default"&&T.length===3){let L=gt(T[1]);if(L!==null)return S.push(L),["default",y(T[1])&&T[1][0]==="typed-var"&&T[1].length===3?["typed-var",L,T[1][2]]:L,T[2]]}return T};if(g=g.map(R),S.length>0&&y(b)&&b[0]==="block"&&y(b[1])&&b[1][0]==="super"){let T=new Set(S),F=(L)=>{if(!y(L))return L;if(L[0]==="."&&L[1]==="this"&&T.has(L[2]))return L[2];return L.map(F)};b=["block",F(b[1]),...b.slice(2)]}}if(this.b.emit("("),this.emitParams(g,null,l!=="set"),this.b.emit(")"),!w)this.tsReturnAnnotation(d,this.containsAwait(d[2]),m,E.containsYield(d[2]),h);this.b.emit(" "),this.mark(h,"value",()=>{this.methodBlock(d,b,r+1,{isConstructor:w,binds:w?a:[],methodName:typeof p==="string"?p:"symbol",voidBody:m||l==="set",tailReturn:l!=="set",voidReason:l==="set"?"a setter discards its return value":null,atParams:S})})})),this.b.emit(` +`)})})}renderTransition(e,t,r,s){let i=this.rstate,n=i.transitionSlot;if(n===null||n.record!==i.sink||n.el!==e){let o=i.sink.kind==="class"?"a static element)":i.sink.kind==="loop"?"a loop body — the reconciler has no enter/leave phase for rows":"a nested position — the swap animates the branch's FIRST node, so a deeper directive would animate an "+"element it does not name";throw this.positionedError(t,`emitter: a transition (\`~name\`) runs where a conditional branch enters or leaves, and this directive sits on ${o}; put it on the FIRST top-level element of an if/else branch`,this.rstate.node)}if(typeof r!=="string"||!(r.startsWith('"')||r.startsWith("'")))throw this.positionedError(t,"emitter: a transition takes a literal name (`~fade`) — computed transition names have no reading",this.rstate.node);let a=r.replace(/^["']|["']$/g,"");this.renderLine(t,()=>{if(this.ts)this.b.tsOnly(()=>this.b.emit("("));if(this.b.emit("this"),this.ts)this.b.tsOnly(()=>this.b.emit(" as any)"));this.b.emit(`._t = "${a}"`)})}renderRef(e,t,r,s,i){let n=typeof r==="string"&&ht.test(r)?r:null;if(n===null)throw this.positionedError(t,"emitter: ref: expects a state cell — declare `el := null` then write `ref: el`",this.rstate.node);let a=this.rstate.frame.members.get(n);if(a!=="state"&&a!=="prop")throw this.positionedError(t,a!==void 0?`emitter: ref: target '${n}' is not a writable state cell — declare it with ':=' (computed '~=' and `+"readonly '=!' members can't hold a ref)":`emitter: ref: target '${n}' must be a state cell declared with ':=' (e.g. \`${n} := null\`)`,this.rstate.node);let o=this.renderTagOf(e),l=this.ts&&o!==null&&/^[a-z][a-z0-9-]*$/.test(o),c=this.rstate.svgEls?.has(e)===!0;if(l){this._needsRefCellHelper=!0;let h=this.wordSpanIn("ref",t);if(h!==null)this.intrinsics.push({start:h[0],end:h[1],kind:"ref",tag:o,svg:c,name:n})}if(this.rstate.sink.kind==="class")this.renderLine(t,()=>{if(l)this.b.tsOnly(()=>this.b.emit(`${c?"__ripRefCellSvg":"__ripRefCell"}('${o}', `));let h=this.b.offset;this.b.emit("this.");let f=this.emitPrimitive(n);if(f!==null)this.memberDecls.push({start:f[0],end:f[1]});if(l)i([h,this.b.offset]);if(l)this.b.tsOnly(()=>this.b.emit(")"));if(this.b.emit(`.value = ${e}`),l)this.b.tsOnly(()=>this.b.emit(` as ${xe(o,c)} | null`))}),this.renderLine(t,()=>{this.b.emit(`(this._refCleanups ??= []).push(() => ${this.runtimeName("__detachRef")}(this.`),this.emitPrimitive(n),this.b.emit(`, ${e}))`)});else this.rstate.sink.refs.push({name:n,elVar:e,node:t,tag:l?o:null,svg:c,site:i})}renderBind(e,t,r,s,i,n){if(this.checkBindTarget(t,s),this.rstate.sink.kind==="loop"&&this.loopVarNames().size>0&&Ee(s,this.loopVarNames()))this.rstate.sink.forceNonStatic=!0;let a=null;for(let u of i.slice(1))if(y(u)&&u.length===3&&(u[1]==="type"||u[1]==='"type"')&&typeof u[2]==="string")a=u[2].replace(/^["']|["']$/g,"");let o,l;if(r==="checked")o="change",l="target.checked";else o="input",l=a==="number"||a==="range"?"target.valueAsNumber":"target.value";this.renderEffect(t,()=>{this.b.emit(`${e}.`);let u=this.emitRewrittenPrimitive(`__bind_${r}__`,r);this.b.emit(" = ");let d=this.tsServedValue("__bind",()=>this.withExpression(()=>this.expr(s)));if(d!==null&&u!==null)this.intrinsics.push({start:u[0],end:u[1],kind:"bind",name:r,gen:d});if(r==="value")this.b.emit(" ?? ''");this.b.emit(";")},s);let c=this.bindRootTouch(s),h=new Set;E.collectLeafNames(s,h);let f=E.mintName("e",h);this.renderLine(t,()=>{this.b.emit(`${e}.addEventListener('${o}', (${f}`);let u=this.tsElReceiver(e),d=this.ts?this.tsEventTypeText([o],u.hostText):null;if(d!==null)this.b.tsOnly(()=>this.b.emit(`: ${d}`));else this.tsScaffoldAny();this.b.emit(") => { ");let p=this.b.offset;if(this.withExpression(()=>this.expr(s)),n([p,this.b.offset]),this.b.emit(` = ${f}.${l};`),c!==null)this.b.emit(" "),c(),this.b.emit(".touch?.();");this.b.emit(" })")})}checkBindTarget(e,t){let r=(n)=>{throw this.positionedError(e,n,this.rstate.node)};if(typeof t==="string"){if(!ht.test(t))r("emitter: a two-way binding (`<=>`) needs an assignable target — a literal cannot receive the input");let n=this.renderVarKind(t,e);if(n!==null)r(`emitter: a two-way binding cannot target a ${n==="local"?"render local":"loop variable"} — `+"the write would land on a factory parameter and reach nothing; bind a state member or a chain into row data");let a=this.resolveBareRead(t);if(a==="member-reactive"&&this.rstate.frame.members.get(t)==="computed")r(`emitter: '<=>' targets '${t}', a computed ('~=') member — a derived value has no writable `+"container (its .value is get-only); bind the state it derives from");if(a==="reactive"||a==="member-reactive")return;if(a==="member")r(`emitter: '<=>' targets '${t}', a plain (\`=\`) member — writes would never notify and the display `+"would never update; declare it with ':='");r(`emitter: '<=>' targets '${t}', which is not declared — declare a state member (\`${t} := ""\`) to bind it`)}if(y(t)&&t[0]==="."&&t[1]==="this"&&t.length===3&&typeof t[2]==="string"){if(this.memberIsReactive(t[2])&&this.rstate.frame.members.get(t[2])==="computed")r(`emitter: '<=>' targets '@${t[2]}', a computed ('~=') member — a derived value has no writable `+"container; bind the state it derives from");if(this.memberIsReactive(t[2]))return;if(this.rstate.frame.members.has(t[2]))r(`emitter: '<=>' targets '@${t[2]}', a non-reactive member — writes would never notify`+"); declare it with ':='");r(`emitter: '<=>' targets '@${t[2]}', which is not a declared member`)}if(y(t)&&E.optionalGuard(t)!==null)r("emitter: a two-way binding target cannot carry optional links — the write form would be invalid JS");let s=t,i=!1;while(y(s)&&(s[0]==="."||s[0]==="[]")&&s.length===3)i=!0,s=s[1];if(i)return;r("emitter: a two-way binding (`<=>`) needs an assignable target — a state member or a member/index chain "+"")}bindRootTouch(e){if(typeof e==="string")return null;if(y(e)&&e[0]==="."&&e[1]==="this"&&e.length===3)return null;let t=e;while(y(t)&&(t[0]==="."||t[0]==="[]")&&t.length===3){if(t[0]==="."&&t[1]==="this"&&typeof t[2]==="string"){let r=t[2];if(this.memberIsReactive(r))return()=>this.b.emit(`${this.renderSelf??"this"}.${r}`);return null}t=t[1]}if(typeof t==="string"){if(this.renderVarKind(t)!==null)return null;let r=this.resolveBareRead(t);if(r==="member-reactive"){let s=t;return()=>this.b.emit(`${this.renderSelf??"this"}.${s}`)}if(r==="reactive"){let s=t;return()=>this.b.emit(s)}}return null}checkUserSpelledBind(e){let t=y(e)?this.stores.idOf(e):null,r=t!==null?this.stores.role(t,"key"):null;if(!r||r.sourceStart==null||this.b.source===null)return;if(this.b.source.slice(r.sourceStart,r.sourceEnd).startsWith("__bind_"))throw this.positionedError(e,"emitter: '__bind_…__:' is the compiler's two-way-binding channel — spell the binding `name <=> container` "+"(`__`-prefixed names are the compiler/runtime namespace)",this.rstate.node)}checkBareEventHandler(e,t){if(!y(t)||t[0]!=="."||t[1]!=="this"||typeof t[2]!=="string")return;let r=this.stores.idOf(t),s=r!==null?this.stores.selfSpan(r):null;if(s===null||s[0]!==s[1])return;let i=e[1],n=typeof i[2]==="string"?i[2]:String(i[2]);if(!Ut.has(n))throw this.positionedError(e,`emitter: \`@${n}\` is not a DOM event — use \`= @${n}\` to render text, or \`@${n}: handler\` for an explicit handler`);if(n==="error")throw this.positionedError(e,"emitter: bare `@error` is ambiguous with the onError lifecycle hook — write `@error: handler` to bind a DOM error listener explicitly");let a=t[2];if(!this.cframes[this.cframes.length-1].members.has(a))throw this.positionedError(e,`emitter: bare \`@${n}\` requires a component method \`${a}\` — define \`${a}\`, or use \`@${n}: handler\` for an explicit handler`)}static collectTemplateClasses(e){let t=[],r,s=e;while(y(s)&&s[0]==="."&&s.length===3){if(typeof s[2]!=="string")return{tag:null,classes:t,id:r};t.unshift(s[2]),s=s[1]}if(typeof s!=="string")return{tag:null,classes:t,id:r};let[i,n]=s.split("#");if(n)r=n;for(let a=0;a=0)r=t[a].slice(o+1),t[a]=t[a].slice(0,o)}return{tag:i||"div",classes:t.filter((a)=>a!==""),id:r}}static templateHeadTag(e){if(!y(e))return null;let t=e[0];if(typeof t==="string"){if(t===".")return E.collectTemplateClasses(e).tag;return t.length>0?t.split("#")[0]||"div":null}if(!y(t))return null;if(y(t[0])&&t[0][0]==="."&&t[0][2]==="__clsx"){let r=t[0][1];if(typeof r==="string")return r.split("#")[0]||"div";return E.collectTemplateClasses(r).tag}return E.collectTemplateClasses(t).tag}static returnGuard(e){return y(e)&&(e[0]==="||"||e[0]==="&&"||e[0]==="??")&&e.length===3&&y(e[2])&&e[2][0]==="return"}static stmtGuard(e){return y(e)&&(e[0]==="||"||e[0]==="&&"||e[0]==="??")&&e.length===3&&(e[2]==="continue"||e[2]==="break"||e[2]==="debugger")}static controlGuard(e){return E.returnGuard(e)||E.throwGuard(e)||E.stmtGuard(e)}static throwGuard(e){return y(e)&&(e[0]==="||"||e[0]==="&&"||e[0]==="??")&&e.length===3&&y(e[2])&&e[2][0]==="throw"&&e[2].length===2}static isStrRepeat(e){return y(e)&&e[0]==="*"&&e.length===3&&typeof e[1]==="string"&&e[1][0]==='"'}static leadsWithObject(e){let t=e;for(;;){if(!y(t))return!1;if(O1(t))return!0;if(ft(t)||da(t)||ut(t)){t=t[1];continue}let r=E.chainHeadSlot(t);if(r!==null){t=t[r];continue}return!1}}static chainHeadSlot(e){if((e[0]==="."||e[0]==="?."||e[0]==="[]"||e[0]==="optindex")&&e.length===3)return 1;if(e[0]==="optcall")return 1;return E.chainHeadSlotRest(e)}chainHeadSlotOf(e){if((e[0]==="."||e[0]==="?."||e[0]==="[]")&&e.length===3)return 1;if(e[0]==="optindex"&&e.length===3&&this.lockedHead(e,"optindex"))return 1;if(e[0]==="optcall"&&this.lockedHead(e,"optcall"))return 1;return E.chainHeadSlotRest(e)}static chainHeadSlotRest(e){if(y(e[0])&&e[0][0]!=="dammit!"&&!(e[0][0]==="."&&e[0].length===3&&e[0][2]==="new"))return 0;return null}static isChainNode(e){return y(e)&&E.chainHeadSlot(e)!==null}isChainNodeOf(e){return y(e)&&this.chainHeadSlotOf(e)!==null}chain(e){this.noteProvidedRead(e);let t=[e];while(!0){let s=t[t.length-1],i=s[this.chainHeadSlotOf(s)];if(!this.isChainNodeOf(i))break;t.push(i)}let r=[];for(let s=0;s=0;s--){let i=t[s],n=i[0],a=r[s];if(this.endMark(a.role),a.kind==="member"){this.inTarget=a.savedTarget;let o=this.deopt&&n==="?."?".":n;if(typeof i[2]==="string"&&i[2][0]==='"')this.mark(i,"operator",()=>this.b.emit(n==="?."&&!this.deopt?"?.":"")),this.mark(i,"property",()=>this.b.emit(`[${i[2]}]`));else this.mark(i,"operator",()=>this.b.emit(o)),this.mark(i,"property",()=>{let l=this.b.offset;if(this.stores.idOf(i)===null)this.emitPrimitive(i[2]);else this.b.emit(i[2]);if(this.ts&&this.appStashSpec!==null&&typeof i[2]==="string"&&E.isThisMember(i[1],"stash")&&!(this.cframes.length&&this.cframes[this.cframes.length-1].members.has("stash")))this.stashMemberSpans.push([l,this.b.offset]);if(this.ts&&i[1]==="this"&&typeof i[2]==="string"){let h=this.cframes[this.cframes.length-1]?.memberKinds?.get(i[2])??null,f=this.stores.idOf(i)??null,u=f!==null?this.stores.role(f,"property"):null;if(h!==null&&u&&typeof u.sourceStart==="number")this.kinds.push({start:u.sourceStart,end:u.sourceEnd,label:h.label,name:i[2],optional:h.optional})}});if(i[1]==="this"&&typeof i[2]==="string"&&this.memberIsReactive(i[2])){if(this.ts){let l=this.stores.idOf(i)??null,c=l!==null?this.stores.role(l,"property"):null;if(c&&typeof c.sourceStart==="number")this.memberDecls.push({start:c.sourceStart,end:c.sourceEnd})}this.b.emit(".value")}}else if(a.kind==="index")this.indexTail(i,a.opt,a.isWrite),this.inTarget=a.savedTarget;else if(a.kind==="optcall")this.b.emit("?."),this.mark(i,"args",()=>{this.b.emit("("),i.slice(2).forEach((o,l)=>{if(l>0)this.b.emit(", ");this.expr(o)}),this.b.emit(")")});else{let o=this.sourceKeyArgOf(i);if(o!==null)(this._sourceKeyArgs??=new Set).add(o),this._needsSourceKeyHelper=!0;let l=this.routerArgOf(i);if(l!==null){if((this._routerArgs??=new Map).set(l.arg,l.wrap),l.wrap)this._needsRouteHelper=!0}this.mark(i,"args",()=>{this.b.emit("("),i.slice(1).forEach((c,h)=>{if(h>0)this.b.emit(", ");this.callArg(c)}),this.b.emit(")")})}this.endMark(a.self)}}member(e){if(e[0]==="."&&e[1]==="this"&&typeof e[2]==="string"&&!this.inTarget)this.notePlainRenderRead(e[2],!0);this.chain(e)}noteProvidedRead(e){if(!this.ts||!(this.cframes?.length>0))return;let t=e;while(y(t)){let n=this.chainHeadSlotOf(t);if(n===null||!y(t[n]))break;t=t[n]}if(!y(t)||t[0]!=="."||t[1]!=="this"||t[2]!=="stash"&&t[2]!=="router")return;if(this.cframes[this.cframes.length-1].members?.has(t[2]))return;let r=this.stores.idOf(t),s=r!==null?this.stores.selfSpan(r):null,i=s!==null?this.stores.primitiveSpans(t[2],s[0],s[1])[0]??null:null;if(i&&!this.kinds.some((n)=>n.start===i.sourceStart&&n.label===t[2]))this.kinds.push({start:i.sourceStart,end:i.sourceEnd,label:t[2],name:t[2],optional:!1})}pick(e,t=!1){let[r,s,...i]=e;if(this.inPattern||this.inTarget)throw this.positionedError(e,"emitter: a pick expression is not an assignment target — it lowers to a fresh object literal (`({…}) = value` would be invalid JS)");let n=r==="?.{}",a=typeof s==="string"&&(s==="this"||/^[A-Za-z_$][\w$]*$/.test(s));if(!a)for(let l of i){if(l[2]!==null&&this.containsAwait(l[2]))throw this.positionedError(l,"emitter: a pick default cannot await when the source needs single evaluation — the lowering's '(_) =>' arrow is not async; bind the source first",e);if(l[2]!==null&&E.containsYield(l[2]))throw this.positionedError(l,"emitter: a pick default cannot yield when the source needs single evaluation — yield cannot cross the lowering's '(_) =>' arrow; bind the source first",e)}let o=(l)=>this.mark(e,"items",()=>{i.forEach((c,h)=>{if(h>0)this.b.emit(", ");let[f,u,d]=c;this.mark(c,"$self",()=>{if(this.mark(c,"target",()=>this.b.emit(E.ownKeyText(u,u))),this.b.emit(": "),d!==null)this.b.emit("(");if(l(),this.b.emit("."),this.mark(c,"key",()=>this.b.emit(f)),d!==null)this.b.emit(" ?? "),this.withExpression(()=>this.operand(c,"default",d)),this.b.emit(")")})})});this.mark(e,"$self",()=>{if(a&&!n)this.b.emit(t?"{":"({"),o(()=>this.mark(e,"source",()=>this.expr(s))),this.b.emit(t?"}":"})");else if(a){if(!t)this.b.emit("(");this.mark(e,"source",()=>this.expr(s)),this.b.emit(" == null ? undefined : {"),o(()=>this.mark(e,"source",()=>this.expr(s))),this.b.emit(t?"}":"})")}else{let l=this.loopTempName("_");this.b.emit(n?`((${l}) => ${l} == null ? undefined : ({`:`((${l}) => ({`),o(()=>this.b.emit(l)),this.b.emit("}))("),this.withExpression(()=>this.grouped(e,"source",s,E.needsGrouping(s,"operand"))),this.b.emit(")")}})}callArg(e){if(this._sourceKeyArgs?.has(e)){this._sourceKeyArgs.delete(e),this.b.tsOnly(()=>this.b.emit("__ripSourceKey("));let r=this.b.offset;this.expr(e),this.sourceKeySpans.push([r,this.b.offset]),this.b.tsOnly(()=>this.b.emit(")"));return}let t=this._routerArgs?.get(e);if(t!==void 0){if(this._routerArgs.delete(e),t)this.b.tsOnly(()=>this.b.emit("__ripRoute("));let r=this.b.offset;if(this.expr(e),this.routeWrapSpans.push({key:null,value:[r,this.b.offset]}),t)this.b.tsOnly(()=>this.b.emit(")"));return}if(y(e)&&(e[0]===".{}"||e[0]==="?.{}")&&e.length>=3)return this.pick(e,!0);this.expr(e)}sourceKeyArgOf(e){if(!this.ts||this.appStashSpec===null)return null;let t=e[1];if(typeof t!=="string"||!/^["']/.test(t))return null;let r=e[0];if(!y(r)||r.length!==3||r[2]!=="source")return null;let s=r[1];if(r[0]==="."&&E.isThisMember(s,"stash")){if(this.cframes.length&&this.cframes[this.cframes.length-1].members.has("stash"))return null;return t}if((r[0]==="."||r[0]==="?.")&&this.isAccessorCall(s,this.appAccessors.stash))return t;return null}static isThisMember(e,t){return y(e)&&e[0]==="."&&e.length===3&&e[1]==="this"&&e[2]===t}static stashKeysOf(e,t){let r=null;for(let n of e.slice(1)){let a=y(n)&&n[0]==="export"?n[1]:n;if(y(a)&&a[0]==="="&&a[1]===t){r=a[2];break}}if(y(r)&&r.length===2&&typeof r[0]==="string"&&y(r[1])&&r[1][0]==="object")r=r[1];if(!y(r)||r[0]!=="object")return null;let s=[],i=!0;for(let n of r.slice(1)){if(!y(n))continue;if(n[0]==="..."){i=!1;continue}let a=n[0]===":"?n[1]:n[0]===null?n[1]:null;if(typeof a!=="string"){i=!1;continue}s.push(/^["']/.test(a)?a.slice(1,-1):a)}return{keys:s,complete:i}}routerArgOf(e){if(!this.ts||this.routesUnion===null)return null;let t=e[1];if(typeof t!=="string"||!/^["']/.test(t))return null;let r=e[0];if(!y(r)||r.length!==3||r[2]!=="push"&&r[2]!=="replace")return null;let s=r[1];if(r[0]==="."&&E.isThisMember(s,"router")){if(this.cframes.length&&this.cframes[this.cframes.length-1].members.has("router"))return null;return{arg:t,method:r[2],wrap:!1}}if((r[0]==="."||r[0]==="?.")&&this.isAccessorCall(s,this.appAccessors.router))return{arg:t,method:r[2],wrap:!0};return null}binary(e){if(E.returnGuard(e))throw this.positionedError(e[2],"emitter: a return guard is a statement — in value position the 'return' would lose its function target (bind the value first, or use `or throw`)");if(E.stmtGuard(e))throw this.positionedError(e[2],`emitter: a ${e[2]} guard is a statement`);if(e[0]==="&&"||e[0]==="||")return this.logicalChain(e);if(E.isStrRepeat(e)){this.mark(e,"$self",()=>{this.mark(e,"left",()=>this.b.emit(e[1])),this.b.emit(".repeat("),this.mark(e,"right",()=>this.expr(e[2])),this.b.emit(")")});return}if(ut(e))return this.comparisonChain(e);let t=(o)=>ft(o)&&o[0]!=="&&"&&o[0]!=="||"&&!ut(o)&&!E.isStrRepeat(o),r=[e];while(t(r[r.length-1][1]))r.push(r[r.length-1][1]);let s=[];for(let o=0;o=0;o--){let l=r[o];if(this.b.emit(" "),this.mark(l,"operator",()=>this.b.emit(Pi[l[0]]??l[0])),this.b.emit(" "),this.operand(l,"right",l[2]),this.endMark(s[o].self),o>0)this.endMark(s[o-1].left),this.b.emit(")")}}logicalChain(e){let t=e[0],r=(a)=>ft(a)&&a[0]===t,s=[e];while(r(s[s.length-1][1]))s.push(s[s.length-1][1]);let i=[];for(let a=0;a=0;a--){let o=s[a];if(this.b.emit(" "),this.mark(o,"operator",()=>this.b.emit(t)),this.b.emit(" "),r(o[2]))this.grouped(o,"right",o[2],!1);else this.operand(o,"right",o[2]);if(this.endMark(i[a].self),a>0)this.endMark(i[a-1].left)}}comparisonChain(e){let t=[e];while(ut(t[t.length-1]))t.push(t[t.length-1][1]);t.reverse();let r=[];for(let n=t.length-1;n>=1;n--){let a=t[n],o=this.beginMark(a,"$self");this.b.emit("("),r[n]={self:o,left:this.beginMark(a,"left")}}let s=t[0],i=this.beginMark(s,"$self");this.operand(s,"left",s[1]),this.b.emit(" "),this.mark(s,"operator",()=>this.b.emit(Pi[s[0]]??s[0])),this.b.emit(" "),this.chainRight(s,t[1]),this.endMark(i);for(let n=1;nthis.b.emit(Pi[a[0]]??a[0])),this.b.emit(" "),this.chainRight(a,t[n+1]),this.b.emit(")"),this.endMark(r[n].self)}}chainRight(e,t){let r=e[2];if(t!==void 0&&y(r)){let s=this.temps.byNode.get(t);if(s===void 0)throw this.positionedError(r,"emitter: a chained comparison here cannot cache its middle operand for single evaluation "+"(no enclosing scope hoist) — bind the middle operand to a variable first ",e);this.b.emit("("),this.mark(e,"right",()=>{this.b.emit(`${s} = `),this.expr(r)}),this.b.emit(")");return}this.operand(e,"right",r)}chainMid(e,t){let r=this.temps.byNode.get(t);if(r!==void 0){this.mark(e,"right",()=>this.b.emit(r));return}this.operand(e,"right",e[2])}postfixType(e){if(!this.ts){this.mark(e,"$self",()=>this.mark(e,"annotation",()=>this.mark(e,"value",()=>this.expr(e[1]))));return}let t=this.stores.idOf(e),r=t===null?null:this.stores.role(t,"annotation"),s=r&&r.sourceStart!=null&&this.b.source!==null?this.b.source.slice(r.sourceStart,r.sourceEnd):`${e[0]==="cast"?"as":"satisfies"} ${Be(e[2])}`;this.mark(e,"$self",()=>{this.b.tsOnly(()=>this.b.emit("("));let i=E.jsTier(e[1])!=="primary";if(i)this.b.tsOnly(()=>this.b.emit("("));if(this.mark(e,"value",()=>this.expr(e[1])),i)this.b.tsOnly(()=>this.b.emit(")"));this.b.tsOnly(()=>{this.b.emit(" "),this.mark(e,"annotation",()=>this.emitTypeText(e,"annotation",s))}),this.b.tsOnly(()=>this.b.emit(")"))})}existence(e){this.mark(e,"$self",()=>{this.operand(e,"value",e[1]),this.b.emit(" != null")})}unary(e){if(e[0]==="delete"&&typeof e[1]==="string"&&this.isReactiveName(e[1]))throw this.positionedError(e,`emitter: cannot delete the reactive variable '${e[1]}' — \`delete ${e[1]}.value\` would remove the container's accessor and silently kill the reactive`);if(e[0]==="delete"&&!(y(e[1])&&(e[1][0]==="."||e[1][0]==="[]")))throw this.positionedError(e,"emitter: delete requires a property reference (delete obj.a / delete obj[k]) — deleting a plain binding is a strict-mode SyntaxError in modules");this.mark(e,"$self",()=>{if(this.mark(e,"operator",()=>this.b.emit(e[0])),/^[a-z]/.test(e[0]))this.b.emit(" ");this.operand(e,"operand",e[1])})}spread(e){this.mark(e,"$self",()=>{if(this.b.emit("..."),this.inPattern)this.mark(e,"value",()=>this.expr(e[1]));else this.operand(e,"value",e[1])})}array(e){this.mark(e,"$self",()=>{this.b.emit("["),this.mark(e,"items",()=>{let t=e.slice(1);t.forEach((r,s)=>{if(s>0)this.b.emit(", ");if(r===","){if(s===t.length-1)this.b.emit(",");return}if(y(r)&&r[0]==="rest"&&this.inPattern){if(!this.bindingPattern)throw this.positionedError(r,"emitter: Cannot use 'rest' expression as a destructuring target (destructuring rest is spelled '...name')",e);if(r.length!==2||s!==t.length-1)throw this.positionedError(r,"emitter: a `rest` element takes the pattern's tail alone",e);if(typeof r[1]!=="string")throw this.positionedError(r,"emitter: a `rest` element takes a plain name",e);this.b.emit("..."),this.b.emit(r[1]);return}let i=!this.inPattern&&!(y(r)&&r[0]==="...")&&E.needsGrouping(r,"operand");if(i)this.b.emit("(");if(this.expr(r),i)this.b.emit(")")})}),this.b.emit("]")})}symbolKey(e){this.b.emit("["),this.expr(e),this.b.emit("]")}static isMethodPair(e){return y(e)&&(e[0]===":"||e[0]==="void-pair")&&typeof e[1]==="string"&&/^[A-Za-z_$][\w$]*$/.test(e[1])&&y(e[2])&&e[2][0]==="->"}object(e){for(let a of e.slice(1)){if(y(a)&&a[0]===":"&&typeof a[1]==="string"&&a[1][0]==="/")throw this.positionedError(a,"emitter: a regex key needs a MAP literal (`*{ /re/: v }`) — object property names are strings");if(!this.inPattern&&!this.tolerant&&y(a)&&a[0]==="="&&a.length===3)throw this.positionedError(a,"emitter: `a = 1` inside an object literal is a destructuring default, which only a pattern can carry — spell the pair `a: 1`",e)}let t=!this.inPattern&&E.objectComprehension(e);if(t){let a=y(t[1])?t[1]:null,o={expr:a!==null?a[1]:t[1],pair:t,keyNode:a};return this.mark(e,"$self",()=>this.mark(e,"pairs",()=>this.mark(t,"$self",()=>this.mark(t,"value",()=>this.comprehension(t[2],this.ind,o)))))}let r=e.slice(1),s=this.ind,i=r.map((a)=>!this.inPattern&&E.isMethodPair(a)),n=(a)=>i[a]||i.slice(0,a).some(Boolean)?`, +`:", ";this.mark(e,"$self",()=>{this.b.emit("{"),this.mark(e,"pairs",()=>{r.forEach((a,o)=>{if(o>0)this.b.emit(n(o));if(i[o]){this.mark(a,"voidMarker",()=>this.mark(a,"$self",()=>{if(this.containsAwait(a[2][2]))this.b.emit("async ");if(E.containsYield(a[2][2]))this.b.emit("*");this.mark(a,"key",()=>this.b.emit(a[1]));let[,f,u]=a[2],d=this.ts&&this.contextuallyTyped(a[2]);this.b.emit("("),this.mark(a[2],"params",()=>this.emitParams(f,null,!d)),this.b.emit(")"),this.tsReturnAnnotation(a[2],this.containsAwait(u),a[0]==="void-pair",E.containsYield(u),a),this.b.emit(" "),this.mark(a,"value",()=>{this.methodBlock(a[2],u,s,{isConstructor:!1,binds:[],methodName:a[1],voidBody:a[0]==="void-pair"})})}));return}let l=y(a[1])&&a[1][0]==="dynamicKey";if(l&&a[0]===null)throw this.positionedError(a,"emitter: a computed key needs an explicit value ({[k]: v}) — there is no shorthand form",e);let c=y(a[1])&&a[1][0]==="str",h=a[0]===":"&&y(a[1])&&a[1][0]==="symbol";if(a[0]!=="..."&&y(a[1])&&!l&&!c&&!h)throw this.positionedError(a,"emitter: @-keys are only supported in class bodies",e);if(h){this.mark(a,"$self",()=>{this.mark(a,"key",()=>this.symbolKey(a[1])),this.b.emit(": "),this.mark(a,"value",()=>this.expr(a[2]))});return}if(a[0]===":"&&c){this.mark(a,"$self",()=>{this.b.emit("["),this.mark(a,"key",()=>this.strTemplate(a[1])),this.b.emit("]: "),this.mark(a,"value",()=>this.expr(a[2]))});return}this.mark(a,"$self",()=>{if(a[0]===":"&&l)if(this.mark(a,"key",()=>{this.mark(a[1],"$self",()=>{this.b.emit("["),this.withExpression(()=>this.operand(a[1],"key",a[1][1])),this.b.emit("]")})}),this.b.emit(": "),this.inPattern||y(a[2])&&a[2][0]==="=>")this.mark(a,"value",()=>this.expr(a[2]));else this.operand(a,"value",a[2]);else if(a[0]===":"||a[0]==="void-pair"){if(a[0]==="void-pair"){if(this.inPattern)throw this.positionedError(a,"emitter: the void marker has no meaning in a destructuring pattern — a pattern key takes no trailing '!'",e);this.registerVoidValue(a[2],a)}this.mark(a,"voidMarker",()=>{if(this.mark(a,"key",()=>this.b.emit(a[1])),this.b.emit(": "),this.inPattern||y(a[2])&&a[2][0]==="=>")this.mark(a,"value",()=>this.expr(a[2]));else this.operand(a,"value",a[2])})}else if(a[0]==="=")this.mark(a,"key",()=>this.b.emit(a[1])),this.b.emit(" = "),this.withExpression(()=>this.operand(a,"value",a[2]));else if(a[0]==="..."){if(this.inPattern&&(y(a[1])||a[1]==="this"))throw this.positionedError(a,"emitter: object rest in a destructuring pattern takes a plain name — chained-accessor rest targets are not supported",e);if(this.b.emit("..."),this.inPattern)this.mark(a,"value",()=>this.expr(a[1]));else this.operand(a,"value",a[1])}else if(typeof a[1]==="string"&&this.bareRewrite(a[1])!==null)this.mark(a,"key",()=>this.b.emit(a[1])),this.b.emit(": "),this.mark(a,"value",()=>this.expr(a[1]));else this.mark(a,"value",()=>this.mark(a,"key",()=>this.b.emit(a[1])))})})}),this.b.emit("}")})}static negativeLiteralKey(e){return y(e)&&e[0]==="-"&&e.length===2&&typeof e[1]==="string"&&/^\d+$/.test(e[1])}indexTail(e,t,r){let s=e[2],i=()=>{let n=this.deopt;this.deopt=!1,this.mark(e,"key",()=>this.expr(s)),this.deopt=n};if(!t&&We(s))this.mark(e,"key",()=>this.slice(s));else if(E.negativeLiteralKey(s)){if(r)throw this.positionedError(e,"emitter: a negative-literal index cannot be an assignment target (reads lower to .at(-n), and a call is not assignable)");this.b.emit(t?"?.at(":".at("),this.mark(e,"key",()=>{this.b.emit("-"),this.b.emit(s[1])}),this.b.emit(")")}else this.b.emit(t?"?.[":"["),i(),this.b.emit("]")}index(e){if(e.length===3&&typeof e[2]==="string"&&e[2][0]==="/")return this.regexIndex(e,e[1],e[2],null);this.chain(e)}optIndex(e){this.chain(e)}optCall(e){this.chain(e)}slice(e){let[t,r,s]=e;if(this.b.emit(".slice("),this.mark(e,"from",()=>r===null?this.b.emit("0"):this.expr(r)),s!==null)if(this.b.emit(", "),t==="...")this.mark(e,"to",()=>this.expr(s));else if(typeof s==="string"&&/^\d+$/.test(s))this.mark(e,"to",()=>this.b.emit(String(Number(s)+1)));else this.b.emit("+"),this.mark(e,"to",()=>this.expr(s)),this.b.emit(" + 1 || 9e9");this.b.emit(")")}range(e){let[t,r,s]=e,i=t===".."?"((s, e) => Array.from({length: Math.abs(e - s) + 1}, (_, i) => s + (i * (s <= e ? 1 : -1))))":"((s, e) => Array.from({length: Math.max(0, Math.abs(e - s))}, (_, i) => s + (i * (s <= e ? 1 : -1))))";this.mark(e,"$self",()=>{this.b.emit(i),this.b.emit("("),this.mark(e,"from",()=>this.expr(r)),this.b.emit(", "),this.mark(e,"to",()=>this.expr(s)),this.b.emit(")")})}classStatement(e,t){this.mark(e,"$self",()=>this.classCode(e,t))}classExpr(e){this.mark(e,"$self",()=>this.classCode(e,this.ind))}classCode(e,t){let[,r,s,i]=e;if(this.b.emit("class"),r!=null){if(typeof r!=="string")throw this.positionedError(e,"emitter: `class @Name` is a STATIC member class — it lives inside a class body (`static Name = class`); at the top level give the class a plain name");this.b.emit(" "),this.mark(e,"name",()=>this.b.emit(r))}if(s!=null)this.b.emit(" extends "),this.grouped(e,"parent",s,E.needsGrouping(s,"head"));if(this.b.emit(` { +`),i!=null)this.mark(e,"body",()=>this.classMembers(i,t));this.b.emit(" ".repeat(t)+"}")}classMethodForm(e){if(!y(e))return null;if(k1(e[0])&&e.length===4){let t=this.stores.alias(["->",e[2],e[3]],e);return{form:"def",pair:this.stores.alias([e[0]==="void-def"?"void-pair":":",e[1],t],e)}}if((e[0]==="get"||e[0]==="set")&&e.length===2&&O1(e[1])&&e[1].length===2){let t=e[1][1];if(y(t)&&t[0]===":"&&t.length===3&&T1(t[2]))return{form:e[0],pair:t}}return null}classMembers(e,t){let r=y(e)&&e[0]==="block"?e.slice(1):[e],s=new Map(r.map((b)=>[b,this.classMethodForm(b)])),i=(b)=>y(b)&&b[0]==="."&&b[1]==="this"?b[2]:b,n=(b)=>y(b)&&b[0]==="."&&b[1]==="this"&&b.length===3&&typeof b[2]==="string",a=" ".repeat(t+1),o=[],l=null,c=!1,h=new Set,f=null,u=null,d=[],p=(b)=>n(b)?`static ${b[2]}`:b,m=new Set,g=[];for(let b of r){let S=s.get(b)??null,w=S!==null?[S.pair]:O1(b)?b.slice(1):null;if(w===null){let R=typeof b==="string"||n(b)?b:E.isTypedWrapper(b)&&(typeof b[1]==="string"||n(b[1]))?b[1]:y(b)&&b[0]==="="&&b.length===3&&(typeof b[1]==="string"||n(b[1]))?b[1]:null;if(R!==null){if(m.add(p(R)),!n(R))h.add(R)}continue}for(let R of w){if(R[0]!==":"&&R[0]!=="void-pair")throw this.positionedError(R,"emitter: class bodies support methods and fields only",b);if(S!==null&&S.form!=="def"){let j=R[2][1].length;if(R[2][0]==="=>")throw this.positionedError(R,`emitter: a ${S.form} accessor takes '->' — accessors are looked up on the instance, never bound`,b);if(this.containsAwait(R[2][2])||E.containsYield(R[2][2]))throw this.positionedError(R,`emitter: a ${S.form} accessor cannot await or yield — JavaScript has no async or generator accessors`,b);if(S.form==="get"&&j!==0)throw this.positionedError(R,"emitter: a getter takes no parameters (`get x: -> …`)",b);if(S.form==="set"&&j!==1)throw this.positionedError(R,"emitter: a setter takes exactly one parameter (`set x: (v) -> …`)",b)}if(y(R[1])&&(R[1][0]==="dynamicKey"||R[1][0]==="[]"))throw this.positionedError(R,"emitter: computed class members are not supported yet",b);let T=i(R[1]);if(S!==null&&S.form!=="def"){if(T==="constructor")throw this.positionedError(R,`emitter: a class constructor cannot be a ${S.form} accessor`,b);g.push({pair:R,stmt:b,key:p(R[1]),form:S.form})}if(T==="constructor"&&!n(R[1])){if(c=!0,T1(R[2]))f=R[2][1],u=R[2][2]}else if(!n(R[1])&&typeof T==="string")h.add(T);if(T1(R[2])&&!n(R[1])&&T!=="constructor")d.push(R[2][2]);if(T1(R[2])&&R[2][0]==="=>"&&!n(R[1])&&T!=="constructor"){if(typeof T!=="string")throw this.positionedError(R,"emitter: a symbol-keyed method cannot be bound ('=>') — the constructor binds members by name; use '->'",b);o.push(T),l??=R}}}if(o.length>0&&!c)throw this.positionedError(l,"emitter: bound ('=>') class methods require an explicit constructor",e);for(let b of g)if(m.has(b.key))throw this.positionedError(b.pair,`emitter: field and ${b.form} accessor '${i(b.pair[1])}' share a name — the field would shadow the accessor on every instance; drop one`,b.stmt);if(this.ts&&f!==null)for(let b of f){let S=C3(b);if(S===null||h.has(S.name))continue;h.add(S.name);let w=S.typed===null?null:this.annotationText(S.typed)??(S.typed[2]===""?null:Be(S.typed[2])),R=this.stores.idOf(e),T=R!==null?this.stores.selfSpan(R):null,j=T!==null?this.stores.primitiveSpans(S.name,T[0],T[1])[0]??null:null;this.b.tsOnly(()=>{if(this.b.emit(a),j)this.b.markSpan(R,"identifier",j.sourceStart,j.sourceEnd,()=>this.b.emit(S.name));else this.b.emit(S.name);this.b.emit(`${w?`: ${w}`:""}; +`)})}if(this.ts)for(let b of P3([u,...d])){if(h.has(b.name))continue;h.add(b.name);let w=b.nodes.map((R)=>this.annotationText(R)).find((R)=>R!=null)??null??(b.viaArrow?"any":null);this.b.tsOnly(()=>this.b.emit(`${a}${b.name}${w?`: ${w}`:""}; +`))}for(let b of r)this.withTsDirectives(b,a,()=>this.classMember(b,e,t,a,{memberName:i,isStaticKey:n,bound:o,form:s.get(b)??null}),!0)}classFieldValue(e){if(this.containsAwait(e))throw this.positionedError(e,"emitter: a class field initializer cannot await — JavaScript evaluates class fields synchronously");if(E.containsYield(e))throw this.positionedError(e,"emitter: a class field initializer cannot yield — class field evaluation is not a generator context");let t=this.planReferenceTemps([e],new Set);if(t.length===0){this.expr(e);return}this.b.emit("(() => { "),this.hoistLine(t),this.b.emit(" return "),this.expr(e),this.b.emit("; })()")}classMember(e,t,r,s,{memberName:i,isStaticKey:n,bound:a,form:o}){let l=o!==null&&o.form!=="def"?o.form:null,c=o!==null&&o.form==="def"?"name":"key",h=e;if(o!==null)e=this.stores.alias(["object",o.pair],e);{if(y(e)&&e[0]==="class"&&y(e[1])&&e[1][0]==="."&&e[1][1]==="this"&&typeof e[1][2]==="string"){this.b.emit(s+"static "),this.mark(e,"name",()=>this.emitPrimitive(e[1][2])),this.b.emit(" = "),this.classCode(["class",null,e[2]??null,e[3]],r+1),this.b.emit(`; +`);return}if(O1(e)){for(let f of e.slice(1))this.withTsDirectives(f,s,()=>{let u=f[1],d=f[2],p=i(u),m=f[0]==="void-pair";if(!T1(d)){if(m)throw this.positionedError(f,"emitter: the void marker (a trailing '!' on the method key) requires a function value — `fn!: ->` (this class member's value is not a function)",e);throw this.positionedError(f,"emitter: a class field takes '=' for its value (`x = v`, `x: T = v`, `@x = v`) — `name: value` is a typed bodiless field only when the value is a TYPE",e)}if(m&&p==="constructor")throw this.positionedError(f,"emitter: a constructor cannot carry the void marker (`constructor!:`) — constructors have no implicit return to suppress",e);this.b.emit(s),this.mark(f,"voidMarker",()=>this.mark(f,"$self",()=>{if(n(u))this.b.emit("static ");if(this.containsAwait(d[2]))this.b.emit("async ");if(E.containsYield(d[2]))this.b.emit("*");if(l!==null){let R=this.stores.idOf(h),T=R!==null?this.stores.role(R,"callee"):null;if(T!==null)this.silences.push([T.sourceStart,T.sourceEnd]);this.mark(h,"callee",()=>this.b.emit(l)),this.b.emit(" ")}if(y(u)&&u[0]==="symbol")this.mark(f,"key",()=>this.symbolKey(u));else this.mark(f,c,()=>this.emitPrimitive(p));if(this.ts){let R=this.annotationText(f,"typeParams");if(R!==null)this.b.tsOnly(()=>this.mark(f,"typeParams",()=>this.emitTypeText(f,"typeParams",R)))}let[,g,b]=d,S=[],w=p==="constructor"&&!n(f[1]);if(w){let R=(T)=>{let j=gt(T);if(j!==null)return S.push(j),y(T)&&T[0]==="typed-var"?["typed-var",j,T[2]]:j;if(y(T)&&T[0]==="default"&&T.length===3){let M=gt(T[1]);if(M!==null)return S.push(M),["default",y(T[1])&&T[1][0]==="typed-var"&&T[1].length===3?["typed-var",M,T[1][2]]:M,T[2]]}return T};if(g=g.map(R),S.length>0&&y(b)&&b[0]==="block"&&y(b[1])&&b[1][0]==="super"){let T=new Set(S),j=(M)=>{if(!y(M))return M;if(M[0]==="."&&M[1]==="this"&&T.has(M[2]))return M[2];return M.map(j)};b=["block",j(b[1]),...b.slice(2)]}}if(this.b.emit("("),this.emitParams(g,null,l!=="set"),this.b.emit(")"),!w)this.tsReturnAnnotation(d,this.containsAwait(d[2]),m,E.containsYield(d[2]),f);this.b.emit(" "),this.mark(f,"value",()=>{this.methodBlock(d,b,r+1,{isConstructor:w,binds:w?a:[],methodName:typeof p==="string"?p:"symbol",voidBody:m||l==="set",tailReturn:l!=="set",voidReason:l==="set"?"a setter discards its return value":null,atParams:S})})})),this.b.emit(` `)},!0);return}if(typeof e==="string"){this.b.emit(s+e+`; `);return}if(n(e)){this.b.emit(s),this.mark(e,"$self",()=>{this.b.emit("static "),this.mark(e,"property",()=>this.emitPrimitive(e[2]))}),this.b.emit(`; `);return}if(E.isTypedWrapper(e)&&(typeof e[1]==="string"||n(e[1]))){this.b.emit(s),this.mark(e,"$self",()=>this.mark(e,"annotation",()=>{if(n(e[1]))this.b.emit("static ");if(this.mark(e,"target",()=>this.withDeclaredName(()=>this.emitPrimitive(i(e[1])))),this.ts)this.tsAnnotate(e,"annotation",this.annotationText(e)??Be(e[2]))})),this.b.emit(`; `);return}if(y(e)&&e[0]==="="&&e.length===3&&(typeof e[1]==="string"||n(e[1]))){this.ind=r+1,this.b.emit(s),this.mark(e,"annotation",()=>this.mark(e,"$self",()=>{if(n(e[1]))this.b.emit("static ");if(this.mark(e,"target",()=>this.withDeclaredName(()=>this.emitPrimitive(i(e[1])))),this.ts&&this.annotationText(e)!==null)this.tsAnnotate(e,"annotation",this.annotationText(e));this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("=")),this.b.emit(" "),this.mark(e,"value",()=>this.withExpression(()=>this.classFieldValue(e[2])))})),this.b.emit(`; `);return}if(y(e)&&e[0]==="type-decl")throw this.positionedError(e,"emitter: type declarations are not allowed as class members — move the `type`/`interface` to module scope");if(this.isReactiveDecl(e))throw this.positionedError(e,`emitter: a reactive declaration ('${typeof e[1]==="string"?e[1]:"…"} ${e[0]==="state"?":=":"~="} …') cannot be a class member — declare it at module or function scope`);if(this.isEffectDecl(e))throw this.positionedError(e,"emitter: an effect ('~>') cannot be a class member — run it at module or function scope, or inside a method");if(this.isReadonlyDecl(e))throw this.positionedError(e,`emitter: a readonly declaration ('${typeof e[1]==="string"?e[1]:"…"} =! …') cannot be a class member — declare it at module or function scope`);throw this.positionedError(e,"emitter: unsupported class member — fields take `name = value`, `name: T = value`, `name: T`, or their `@`-static forms; methods take `name: -> …`",t)}}static middleRestPattern(e){if(!y(e)||e[0]!=="array")return!1;let t=e.slice(1),r=t.findIndex((s)=>y(s)&&s[0]==="..."&&s.length===2);return r!==-1&&ry(o)&&o[0]==="..."&&o.length===2),i=r.slice(0,s),n=r[s][1],a=r.slice(s+1);for(let o of[...i,n,...a])if(typeof o!=="string")throw this.positionedError(e,"emitter: a middle-rest pattern takes plain names (`[a, ...mid, b]`) — nested patterns have no single-read lowering");this.mark(e,"$self",()=>{let o=e[2],l=this.repeatSafeValue(o)?null:this.loopTempName("_ref");if(l!==null)this.temps.used.add(l),this.b.emit(`const ${l} = `),this.mark(e,"value",()=>this.expr(o)),this.b.emit(`; -${" ".repeat(t)}`);let c=()=>{if(l!==null)this.b.emit(l);else this.expr(o)},f=()=>this.b.emit(`; -${" ".repeat(t)}`);i.forEach((h,u)=>{this.b.emit(`${h} = `),c(),this.b.emit(`[${u}]`),f()}),this.b.emit(`${n} = `),c(),this.b.emit(a.length>0?`.slice(${i.length}, -${a.length})`:`.slice(${i.length})`),a.forEach((h,u)=>{f(),this.b.emit(`${h} = `),c(),this.b.emit("["),c(),this.b.emit(`.length - ${a.length-u}]`)})})}methodBlock(e,t,r,{isConstructor:s,binds:i,methodName:n,voidBody:a=!1,tailReturn:o=!0,voidReason:l=null,atParams:c=[]}){let f=this.liveStmts(y(t)&&t[0]==="block"?t.slice(1):[t],{forwards:!0}),{entries:h,names:u}=this.scopedHoist(f,e[1]);for(let g of this.pushReactiveFrame(f,u,e[1],e))u.add(g);this.scopes.push(u);let d=this.methodName;this.methodName=n;let p=this.sideEffectOnly,m=this.voidReason;this.sideEffectOnly=a,this.voidReason=l,this.mark(t,"$self",()=>{if(this.b.emit(`{ -`),h.length)this.b.emit(" ".repeat(r+1)),this.hoistLine(h," ".repeat(r+1)),this.b.emit(` +${" ".repeat(t)}`);let c=()=>{if(l!==null)this.b.emit(l);else this.expr(o)},h=()=>this.b.emit(`; +${" ".repeat(t)}`);i.forEach((f,u)=>{this.b.emit(`${f} = `),c(),this.b.emit(`[${u}]`),h()}),this.b.emit(`${n} = `),c(),this.b.emit(a.length>0?`.slice(${i.length}, -${a.length})`:`.slice(${i.length})`),a.forEach((f,u)=>{h(),this.b.emit(`${f} = `),c(),this.b.emit("["),c(),this.b.emit(`.length - ${a.length-u}]`)})})}methodBlock(e,t,r,{isConstructor:s,binds:i,methodName:n,voidBody:a=!1,tailReturn:o=!0,voidReason:l=null,atParams:c=[]}){let h=this.liveStmts(y(t)&&t[0]==="block"?t.slice(1):[t],{forwards:!0}),{entries:f,names:u}=this.scopedHoist(h,e[1]);for(let g of this.pushReactiveFrame(h,u,e[1],e))u.add(g);this.scopes.push(u);let d=this.methodName;this.methodName=n;let p=this.sideEffectOnly,m=this.voidReason;this.sideEffectOnly=a,this.voidReason=l,this.mark(t,"$self",()=>{if(this.b.emit(`{ +`),f.length)this.b.emit(" ".repeat(r+1)),this.hoistLine(f," ".repeat(r+1)),this.b.emit(` `);let g=" ".repeat(r+1),b=()=>{for(let S of i)this.b.emit(`${g}this.${S} = this.${S}.bind(this); `);for(let S of c)this.b.emit(`${g}this.${S} = ${S}; -`)};if(this.emitTsTypeDecls(y(t)&&t[0]==="block"?t.slice(1):[t],g),this.mark(t,"statements",()=>{let S=s&&f.length>0&&y(f[0])&&f[0][0]==="super";if(!S)b();f.forEach((w,R)=>{this.b.emit(g);let T=R===f.length-1;if(!s&&!a&&T)this.implicitReturn(w,r+1);else this.statement(w,r+1,!T||!s);if(this.b.emit(` -`),S&&R===0)b()})}),o)this.voidTailReturn(f,r);this.b.emit(" ".repeat(r)+"}")}),this.sideEffectOnly=p,this.voidReason=m,this.methodName=d,this.scopes.pop(),this.rframes.pop()}superCall(e){if(!this.methodName)throw this.positionedError(e,"emitter: super outside a class method");this.mark(e,"$self",()=>{this.b.emit(this.methodName==="constructor"?"super(":`super.${this.methodName}(`),this.mark(e,"args",()=>{e.slice(1).forEach((t,r)=>{if(r>0)this.b.emit(", ");this.callArg(t)})}),this.b.emit(")")})}newExpr(e){let[,t]=e;this.mark(e,"$self",()=>{this.mark(e,"operator",()=>this.b.emit("new")),this.b.emit(" "),this.mark(e,"operand",()=>{if(y(t)&&fr.has(t[0])&&E.optionalGuard(t))this.b.emit("("),this.expr(t),this.b.emit(" ?? undefined)()");else if(y(t)&&(t[0]==="."||t[0]==="?."))if(E.pureSpine(t))this.member(t),this.b.emit("()");else this.b.emit("("),this.expr(t),this.b.emit(")()");else if(y(t)&&t[0]==="new"&&t.length===2&&E.optionalGuard(t[1]))this.b.emit("("),this.newExpr(t),this.b.emit(")()");else if(y(t)&&t[0]==="tagged-template")this.b.emit("("),this.taggedTemplate(t),this.b.emit(")()");else if(y(t)&&y(t[0])&&!Pe(t[0])&&fr.has(t[0][0])&&E.optionalGuard(t[0]))this.mark(t,"$self",()=>{this.b.emit("("),this.expr(t[0]),this.b.emit(" ?? undefined)"),this.mark(t,"args",()=>{this.b.emit("("),t.slice(1).forEach((r,s)=>{if(s>0)this.b.emit(", ");this.callArg(r)}),this.b.emit(")")})});else if(y(t)&&t[0]==="new"&&t.length===2)this.b.emit("("),this.newExpr(t),this.b.emit(")()");else if(y(t)&&t[0]==="dammit!"){if(t.parenthesized)this.b.emit("(");if(this.dammit(t),t.parenthesized)this.b.emit(")");this.b.emit("()")}else if(y(t)){let r=this.semanticKindOf(t)==="call",s=t[0],i=!Pe(s)&&(E.pureSpine(s)||y(s)&&!s.parenthesized&&this.semanticKindOf(s)==="call"||y(s)&&s[0]==="dammit!");if(fr.has(t[0])&&E.pureSpine(t))this.call(t),this.b.emit("()");else if(r&&!t.parenthesized&&Pe(s))this.b.emit("("),this.call(t),this.b.emit(")()");else if(r&&!t.parenthesized&&i)this.call(t);else if(r&&!t.parenthesized){let n=this.ts&&y(s)&&(s[0]==="cast"||s[0]==="satisfies");this.mark(t,"$self",()=>{if(!n)this.b.emit("(");if(this.expr(s),!n)this.b.emit(")");this.mark(t,"args",()=>{this.b.emit("("),t.slice(1).forEach((a,o)=>{if(o>0)this.b.emit(", ");this.callArg(a)}),this.b.emit(")")})})}else{let n=this.ts&&(t[0]==="cast"||t[0]==="satisfies");if(!n)this.b.emit("(");this.expr(t),this.b.emit(n?"()":")()")}}else this.emitPrimitive(t),this.b.emit("()")})})}emitParam(e){if(typeof e==="string")return this.withDeclaredName(()=>this.emitPrimitive(e));if(e[0]==="typed-var"){this.mark(e,"$self",()=>this.mark(e,"annotation",()=>{if(this.mark(e,"target",()=>this.emitParam(e[1])),this.ts){let t=this.stores.idOf(e);if(t!==null&&this.stores.role(t,"optionalMarker"))this.b.tsOnly(()=>this.mark(e,"optionalMarker",()=>this.b.emit("?")));let r=this.annotationText(e)??(e[2]===""?"":Be(e[2]));if(r!=="")this.tsAnnotate(e,"annotation",r)}}));return}if(e[0]==="rest")return this.b.emit("..."),this.emitParam(e[1]);if(e[0]==="default")return this.emitParam(e[1]),this.b.emit(" = "),this.withExpression(()=>this.expr(e[2]));this.withPattern(()=>this.expr(e),!0)}static paramCore(e){return y(e)&&e[0]==="typed-var"?e[1]:e}static expansionSplit(e){let t=e.findIndex((s)=>y(s)&&s[0]==="expansion");if(t===-1)return{list:e,extractions:[]};let r=e.slice(t+1);return{list:[...e.slice(0,t),["rest","_rest"]],extractions:r.map((s,i)=>({node:s,name:E.paramCore(s),slot:`_rest[_rest.length - ${r.length-i}]`}))}}contextuallyTyped(e){let t=this.stores.idOf(e),r=t===null?null:this.stores.node(t);if(!r||typeof r.sourceStart!=="number")return!1;if(this._argSpans??=this.stores.roles.filter((s)=>s.role==="args"&&typeof s.sourceStart==="number").map((s)=>[s.sourceStart,s.sourceEnd]),this._argSpans.some(([s,i])=>r.sourceStart>=s&&r.sourceEnd<=i))return!0;return this._annotatedValueSpans??=(()=>{let s=new Set,i=[];for(let a of this.stores.nodes){if(a.semanticKind!=="assign"&&a.semanticKind!=="pair")continue;if(!this.stores.role(a.nodeId,"annotation"))continue;let o=this.stores.role(a.nodeId,"value");if(typeof o?.sourceStart==="number")s.add(`${o.sourceStart}:${o.sourceEnd}`),i.push([o.sourceStart,o.sourceEnd])}let n=[];for(let a of this.stores.nodes)if((a.semanticKind==="func"||a.semanticKind==="def"||a.semanticKind==="class")&&typeof a.sourceStart==="number"&&i.some(([o,l])=>a.sourceStart>=o&&a.sourceEnd<=l))n.push([a.sourceStart,a.sourceEnd]);for(let a of this.stores.nodes){if(a.semanticKind!=="pair"||typeof a.sourceStart!=="number")continue;if(!i.some(([l,c])=>a.sourceStart>=l&&a.sourceEnd<=c))continue;if(n.some(([l,c])=>a.sourceStart>=l&&a.sourceEnd<=c))continue;let o=this.stores.role(a.nodeId,"value");if(typeof o?.sourceStart==="number")s.add(`${o.sourceStart}:${o.sourceEnd}`)}return s})(),this._annotatedValueSpans.has(`${r.sourceStart}:${r.sourceEnd}`)}emitParams(e,t=null,r=!0){let s=E.expansionSplit(e).list,i=r&&this.ts?$n(s):new Set;if(t!==null)i.delete(0);s.forEach((n,a)=>{let o=this.firstAwaitIn(n);if(o!==null)throw this.positionedError(o,"emitter: a parameter cannot await or yield — JavaScript refuses both in formal parameters, a default "+"or a pattern's default included; take the argument and do it in the body (`a ?= load!`)");if(gt(n)!==null||y(n)&&n[0]==="default"&>(n[1])!==null)throw this.positionedError(y(n)?n:e,"emitter: an @-parameter promotes only in a constructor (`constructor: (@name) ->`) — bind a plain parameter and assign it here");if(a>0)this.b.emit(", ");if(this.emitParam(n),i.has(a)&&this.ts)this.b.tsOnly(()=>this.b.emit("?"));if(a===0&&t!==null&&typeof n==="string"&&this.ts)this.b.tsOnly(()=>this.b.emit(`: ${t}`))})}func(e){let t=this._narrowedReads;this._narrowedReads=null;try{return this.emitFunc(e)}finally{this._narrowedReads=t}}emitFunc(e){let[t,r,s]=e,i=r.length===0&&E.containsBareIt(s)?["it"]:r,n=t==="->"&&this.inComponent()?"=>":t,a=this.ind,o=this.voidFuncs.has(e),l=this.liveStmts(y(s)&&s[0]==="block"?s.slice(1):[s],{forwards:!0}),{entries:c,names:f}=this.scopedHoist(l,i);for(let p of this.pushReactiveFrame(l,f,i,e))f.add(p);this.scopes.push(f);let h=this.containsAwait(s),u=E.containsYield(s);if(u&&n==="=>")throw this.positionedError(e,t==="->"?"emitter: a generator arrow cannot sit inside a component body — thin arrows lower to fat arrows there to keep `this` on the instance, and JS has no generator arrows (name the generator a method and call it)":"emitter: fat arrows cannot contain yield (JS has no generator arrows; use ->)");let d=this.ts&&this.contextuallyTyped(e);this.mark(e,"returnType",()=>this.mark(e,"$self",()=>{if(n==="->"){if(h)this.b.emit("async ");this.mark(e,"kind",()=>this.b.emit(u?"function*":"function")),this.b.emit("("),this.mark(e,"params",()=>this.emitParams(i,null,!d)),this.b.emit(")"),this.tsReturnAnnotation(e,h,o,u),this.b.emit(" "),this.funcBlock(e,s,l,a,c,o)}else{if(h)this.b.emit("async ");let p=this.ts&&!d&&i.length===1&&typeof i[0]==="string",m=this.ts&&i.length===1&&typeof E.paramCore(i[0])==="string"&&(E.isTypedWrapper(i[0])||this.annotationText(e,"returnType")!==null||o||p);if(this.mark(e,"params",()=>{if(i.length===1&&typeof E.paramCore(i[0])==="string"){if(m)this.b.tsOnly(()=>this.b.emit("("));if(this.emitParam(i[0]),p)this.b.tsOnly(()=>this.b.emit("?"));if(m)this.b.tsOnly(()=>this.b.emit(")"))}else this.b.emit("("),this.emitParams(i,null,!d),this.b.emit(")")}),this.tsReturnAnnotation(e,h,o,u),this.b.emit(" "),this.mark(e,"kind",()=>this.b.emit("=>")),this.b.emit(" "),!o&&l.length===1&&c.length===0&&!E.statementOnly(l[0])&&!(y(l[0])&&(k1(l[0][0])||["return","if","while","block"].includes(l[0][0]))))this.mark(e,"body",()=>{let b=E.needsGrouping(l[0],"operand")||O1(l[0]);if(b)this.b.emit("(");if(this.expr(l[0]),b)this.b.emit(")")});else this.funcBlock(e,s,l,a,c,o)}})),this.scopes.pop(),this.rframes.pop(),this.ind=a}funcBlock(e,t,r,s,i,n=!1){let a=k1(e[0])?e[2]:e[1],{extractions:o}=E.expansionSplit(Array.isArray(a)?a:[]),l=this.sideEffectOnly,c=this.voidReason;this.sideEffectOnly=n,this.voidReason=null,this.mark(e,"body",()=>{this.mark(t,"$self",()=>{if(this.b.emit(`{ +`)};if(this.emitTsTypeDecls(y(t)&&t[0]==="block"?t.slice(1):[t],g),this.mark(t,"statements",()=>{let S=s&&h.length>0&&y(h[0])&&h[0][0]==="super";if(!S)b();h.forEach((w,R)=>{this.b.emit(g);let T=R===h.length-1;if(!s&&!a&&T)this.implicitReturn(w,r+1);else this.statement(w,r+1,!T||!s);if(this.b.emit(` +`),S&&R===0)b()})}),o)this.voidTailReturn(h,r);this.b.emit(" ".repeat(r)+"}")}),this.sideEffectOnly=p,this.voidReason=m,this.methodName=d,this.scopes.pop(),this.rframes.pop()}superCall(e){if(!this.methodName)throw this.positionedError(e,"emitter: super outside a class method");this.mark(e,"$self",()=>{this.b.emit(this.methodName==="constructor"?"super(":`super.${this.methodName}(`),this.mark(e,"args",()=>{e.slice(1).forEach((t,r)=>{if(r>0)this.b.emit(", ");this.callArg(t)})}),this.b.emit(")")})}newExpr(e){let[,t]=e;this.mark(e,"$self",()=>{this.mark(e,"operator",()=>this.b.emit("new")),this.b.emit(" "),this.mark(e,"operand",()=>{if(y(t)&&hr.has(t[0])&&E.optionalGuard(t))this.b.emit("("),this.expr(t),this.b.emit(" ?? undefined)()");else if(y(t)&&(t[0]==="."||t[0]==="?."))if(E.pureSpine(t))this.member(t),this.b.emit("()");else this.b.emit("("),this.expr(t),this.b.emit(")()");else if(y(t)&&t[0]==="new"&&t.length===2&&E.optionalGuard(t[1]))this.b.emit("("),this.newExpr(t),this.b.emit(")()");else if(y(t)&&t[0]==="tagged-template")this.b.emit("("),this.taggedTemplate(t),this.b.emit(")()");else if(y(t)&&y(t[0])&&!Ce(t[0])&&hr.has(t[0][0])&&E.optionalGuard(t[0]))this.mark(t,"$self",()=>{this.b.emit("("),this.expr(t[0]),this.b.emit(" ?? undefined)"),this.mark(t,"args",()=>{this.b.emit("("),t.slice(1).forEach((r,s)=>{if(s>0)this.b.emit(", ");this.callArg(r)}),this.b.emit(")")})});else if(y(t)&&t[0]==="new"&&t.length===2)this.b.emit("("),this.newExpr(t),this.b.emit(")()");else if(y(t)&&t[0]==="dammit!"){if(t.parenthesized)this.b.emit("(");if(this.dammit(t),t.parenthesized)this.b.emit(")");this.b.emit("()")}else if(y(t)){let r=this.semanticKindOf(t)==="call",s=t[0],i=!Ce(s)&&(E.pureSpine(s)||y(s)&&!s.parenthesized&&this.semanticKindOf(s)==="call"||y(s)&&s[0]==="dammit!");if(hr.has(t[0])&&E.pureSpine(t))this.call(t),this.b.emit("()");else if(r&&!t.parenthesized&&Ce(s))this.b.emit("("),this.call(t),this.b.emit(")()");else if(r&&!t.parenthesized&&i)this.call(t);else if(r&&!t.parenthesized){let n=this.ts&&y(s)&&(s[0]==="cast"||s[0]==="satisfies");this.mark(t,"$self",()=>{if(!n)this.b.emit("(");if(this.expr(s),!n)this.b.emit(")");this.mark(t,"args",()=>{this.b.emit("("),t.slice(1).forEach((a,o)=>{if(o>0)this.b.emit(", ");this.callArg(a)}),this.b.emit(")")})})}else{let n=this.ts&&(t[0]==="cast"||t[0]==="satisfies");if(!n)this.b.emit("(");this.expr(t),this.b.emit(n?"()":")()")}}else this.emitPrimitive(t),this.b.emit("()")})})}emitParam(e){if(typeof e==="string")return this.withDeclaredName(()=>this.emitPrimitive(e));if(e[0]==="typed-var"){this.mark(e,"$self",()=>this.mark(e,"annotation",()=>{if(this.mark(e,"target",()=>this.emitParam(e[1])),this.ts){let t=this.stores.idOf(e);if(t!==null&&this.stores.role(t,"optionalMarker"))this.b.tsOnly(()=>this.mark(e,"optionalMarker",()=>this.b.emit("?")));let r=this.annotationText(e)??(e[2]===""?"":Be(e[2]));if(r!=="")this.tsAnnotate(e,"annotation",r)}}));return}if(e[0]==="rest")return this.b.emit("..."),this.emitParam(e[1]);if(e[0]==="default")return this.emitParam(e[1]),this.b.emit(" = "),this.withExpression(()=>this.expr(e[2]));this.withPattern(()=>this.expr(e),!0)}static paramCore(e){return y(e)&&e[0]==="typed-var"?e[1]:e}static expansionSplit(e){let t=e.findIndex((s)=>y(s)&&s[0]==="expansion");if(t===-1)return{list:e,extractions:[]};let r=e.slice(t+1);return{list:[...e.slice(0,t),["rest","_rest"]],extractions:r.map((s,i)=>({node:s,name:E.paramCore(s),slot:`_rest[_rest.length - ${r.length-i}]`}))}}contextuallyTyped(e){let t=this.stores.idOf(e),r=t===null?null:this.stores.node(t);if(!r||typeof r.sourceStart!=="number")return!1;if(this._argSpans??=this.stores.roles.filter((s)=>s.role==="args"&&typeof s.sourceStart==="number").map((s)=>[s.sourceStart,s.sourceEnd]),this._argSpans.some(([s,i])=>r.sourceStart>=s&&r.sourceEnd<=i))return!0;return this._annotatedValueSpans??=(()=>{let s=new Set,i=[];for(let a of this.stores.nodes){if(a.semanticKind!=="assign"&&a.semanticKind!=="pair")continue;if(!this.stores.role(a.nodeId,"annotation"))continue;let o=this.stores.role(a.nodeId,"value");if(typeof o?.sourceStart==="number")s.add(`${o.sourceStart}:${o.sourceEnd}`),i.push([o.sourceStart,o.sourceEnd])}let n=[];for(let a of this.stores.nodes)if((a.semanticKind==="func"||a.semanticKind==="def"||a.semanticKind==="class")&&typeof a.sourceStart==="number"&&i.some(([o,l])=>a.sourceStart>=o&&a.sourceEnd<=l))n.push([a.sourceStart,a.sourceEnd]);for(let a of this.stores.nodes){if(a.semanticKind!=="pair"||typeof a.sourceStart!=="number")continue;if(!i.some(([l,c])=>a.sourceStart>=l&&a.sourceEnd<=c))continue;if(n.some(([l,c])=>a.sourceStart>=l&&a.sourceEnd<=c))continue;let o=this.stores.role(a.nodeId,"value");if(typeof o?.sourceStart==="number")s.add(`${o.sourceStart}:${o.sourceEnd}`)}return s})(),this._annotatedValueSpans.has(`${r.sourceStart}:${r.sourceEnd}`)}emitParams(e,t=null,r=!0){let s=E.expansionSplit(e).list,i=r&&this.ts?$s(s):new Set;if(t!==null)i.delete(0);s.forEach((n,a)=>{let o=this.firstAwaitIn(n);if(o!==null)throw this.positionedError(o,"emitter: a parameter cannot await or yield — JavaScript refuses both in formal parameters, a default "+"or a pattern's default included; take the argument and do it in the body (`a ?= load!`)");if(gt(n)!==null||y(n)&&n[0]==="default"&>(n[1])!==null)throw this.positionedError(y(n)?n:e,"emitter: an @-parameter promotes only in a constructor (`constructor: (@name) ->`) — bind a plain parameter and assign it here");if(a>0)this.b.emit(", ");if(this.emitParam(n),i.has(a)&&this.ts)this.b.tsOnly(()=>this.b.emit("?"));if(a===0&&t!==null&&typeof n==="string"&&this.ts)this.b.tsOnly(()=>this.b.emit(`: ${t}`))})}func(e){let t=this._narrowedReads;this._narrowedReads=null;try{return this.emitFunc(e)}finally{this._narrowedReads=t}}emitFunc(e){let[t,r,s]=e,i=r.length===0&&E.containsBareIt(s)?["it"]:r,n=t==="->"&&this.inComponent()?"=>":t,a=this.ind,o=this.voidFuncs.has(e),l=this.liveStmts(y(s)&&s[0]==="block"?s.slice(1):[s],{forwards:!0}),{entries:c,names:h}=this.scopedHoist(l,i);for(let p of this.pushReactiveFrame(l,h,i,e))h.add(p);this.scopes.push(h);let f=this.containsAwait(s),u=E.containsYield(s);if(u&&n==="=>")throw this.positionedError(e,t==="->"?"emitter: a generator arrow cannot sit inside a component body — thin arrows lower to fat arrows there to keep `this` on the instance, and JS has no generator arrows (name the generator a method and call it)":"emitter: fat arrows cannot contain yield (JS has no generator arrows; use ->)");let d=this.ts&&this.contextuallyTyped(e);this.mark(e,"returnType",()=>this.mark(e,"$self",()=>{if(n==="->"){if(f)this.b.emit("async ");this.mark(e,"kind",()=>this.b.emit(u?"function*":"function")),this.b.emit("("),this.mark(e,"params",()=>this.emitParams(i,null,!d)),this.b.emit(")"),this.tsReturnAnnotation(e,f,o,u),this.b.emit(" "),this.funcBlock(e,s,l,a,c,o)}else{if(f)this.b.emit("async ");let p=this.ts&&!d&&i.length===1&&typeof i[0]==="string",m=this.ts&&i.length===1&&typeof E.paramCore(i[0])==="string"&&(E.isTypedWrapper(i[0])||this.annotationText(e,"returnType")!==null||o||p);if(this.mark(e,"params",()=>{if(i.length===1&&typeof E.paramCore(i[0])==="string"){if(m)this.b.tsOnly(()=>this.b.emit("("));if(this.emitParam(i[0]),p)this.b.tsOnly(()=>this.b.emit("?"));if(m)this.b.tsOnly(()=>this.b.emit(")"))}else this.b.emit("("),this.emitParams(i,null,!d),this.b.emit(")")}),this.tsReturnAnnotation(e,f,o,u),this.b.emit(" "),this.mark(e,"kind",()=>this.b.emit("=>")),this.b.emit(" "),!o&&l.length===1&&c.length===0&&!E.statementOnly(l[0])&&!(y(l[0])&&(k1(l[0][0])||["return","if","while","block"].includes(l[0][0]))))this.mark(e,"body",()=>{let b=E.needsGrouping(l[0],"operand")||O1(l[0]);if(b)this.b.emit("(");if(this.expr(l[0]),b)this.b.emit(")")});else this.funcBlock(e,s,l,a,c,o)}})),this.scopes.pop(),this.rframes.pop(),this.ind=a}funcBlock(e,t,r,s,i,n=!1){let a=k1(e[0])?e[2]:e[1],{extractions:o}=E.expansionSplit(Array.isArray(a)?a:[]),l=this.sideEffectOnly,c=this.voidReason;this.sideEffectOnly=n,this.voidReason=null,this.mark(e,"body",()=>{this.mark(t,"$self",()=>{if(this.b.emit(`{ `),i.length)this.b.emit(" ".repeat(s+1)),this.hoistLine(i," ".repeat(s+1)),this.b.emit(` -`);for(let f of o){let h=y(f.name)&&f.name[0]==="default",u=h?E.paramCore(f.name[1]):f.name,d=h?f.name[1]:f.node;if(y(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(s+1)+"const "),typeof u==="string")this.mark(f.node,"$self",()=>this.emitPrimitive(u));else this.withPattern(()=>this.expr(u),!0);let p=this.ts?this.annotationText(d):null;if(p!==null)this.tsAnnotate(d,"annotation",p);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(b1(t)?t.slice(1):[t]," ".repeat(s+1)),this.mark(t,"statements",()=>{r.forEach((f,h)=>{if(this.b.emit(" ".repeat(s+1)),!n&&h===r.length-1)this.implicitReturn(f,s+1);else this.statement(f,s+1,!0);this.b.emit(` +`);for(let h of o){let f=y(h.name)&&h.name[0]==="default",u=f?E.paramCore(h.name[1]):h.name,d=f?h.name[1]:h.node;if(y(u)&&u[0]==="rest")throw this.positionedError(h.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(s+1)+"const "),typeof u==="string")this.mark(h.node,"$self",()=>this.emitPrimitive(u));else this.withPattern(()=>this.expr(u),!0);let p=this.ts?this.annotationText(d):null;if(p!==null)this.tsAnnotate(d,"annotation",p);if(this.b.emit(" = "),f)this.b.emit(`${h.slot} === undefined ? `),this.withExpression(()=>this.expr(h.name[2])),this.b.emit(` : ${h.slot}`);else this.b.emit(h.slot);this.b.emit(`; +`)}this.emitTsTypeDecls(b1(t)?t.slice(1):[t]," ".repeat(s+1)),this.mark(t,"statements",()=>{r.forEach((h,f)=>{if(this.b.emit(" ".repeat(s+1)),!n&&f===r.length-1)this.implicitReturn(h,s+1);else this.statement(h,s+1,!0);this.b.emit(` `)})}),this.voidTailReturn(r,s),this.b.emit(" ".repeat(s)+"}")})}),this.sideEffectOnly=l,this.voidReason=c}voidTailReturn(e,t){if(!this.sideEffectOnly||e.length===0)return;let r=e[e.length-1],s=y(r)?r[0]:null;if(["return","throw","break","continue"].includes(s))return;this.b.emit(" ".repeat(t+1)+`return; -`)}implicitReturn(e,t){this.withTsDirectives(e," ".repeat(t),()=>this.implicitReturnCore(e,t))}implicitReturnCore(e,t){if(y(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,y(e)){let r=e[0];if(r==="if"&&e.length>=3&&e.length<=4){if(E.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(E.returnGuard(e)||E.stmtGuard(e)||r==="="&&e.length===3&&(E.returnGuard(e[2])||E.stmtGuard(e[2])))return this.statement(e,t);if(r===".="&&e.length===3)return this.statement(e,t);if(r==="="&&e.length===3&&E.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(k1(r))throw this.positionedError(e,"emitter: implicit return of a 'def' body is not supported yet")}this.b.emit("return "),this.withTailReturn(()=>{let r=E.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]),y(e[1])&&E.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,s]=e;if(s)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,s]=e,i=t[0]==="!",n=i?t.slice(1):t;this.mark(e,"$self",()=>{if(i)this.b.emit("!(");if(n==="instanceof"){if(this.operand(e,"left",r),this.b.emit(" instanceof "),this.operand(e,"right",s),i)this.b.emit(")");return}if(n==="of"||n==="in"&&O1(s))this.operand(e,"left",r),this.b.emit(" in "),this.operand(e,"right",s);else if(y(s))this.b.emit(E.MEMBER_IN+"("),this.mark(e,"left",()=>this.expr(r)),this.b.emit(", "),this.mark(e,"right",()=>this.expr(s)),this.b.emit(")");else this.b.emit("Array.isArray("),this.expr(s),this.b.emit(") || typeof "),this.expr(s),this.b.emit(" === 'string' ? "),this.expr(s),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(s)),this.b.emit(")");if(i)this.b.emit(")")})}static ternaryHoists(e){let t=e;while(y(t[2])&&t[2][0]==="?:"&&t[2].length===4&&!t[2].parenthesized)t=t[2];let r=t[2];return y(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(y(a)&&a[0]==="?:"&&a.length===4&&!a.parenthesized)t.push(a);else break}let r=t[t.length-1],s=E.ternaryHoists(r),i=(a,o,l)=>{this.grouped(a,o,l,E.needsGrouping(l,"operand")||U1(l))},n=(a)=>this.grouped(a,"condition",a[1],y(a[1])&&a[1][0]==="?:");this.mark(e,"$self",()=>{if(s)this.expr(r[2][1]),this.b.emit(" = (");n(r),this.b.emit(" ? "),i(r,"then",s?r[2][2]:r[2]);for(let a=t.length-2;a>=0;a--)this.b.emit(" : ("),n(t[a]),this.b.emit(" ? "),i(t[a+1],"else",t[a+1][3]);if(this.b.emit(" : "),i(t[0],"else",t[0][3]),this.b.emit(")".repeat(t.length-1)),s)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(y(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=E.needsGrouping(t[0],"operand")||U1(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(E.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(y(e[0])&&e[0][0]==="dammit!"){if(this.renderSyncGuard(e),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((s,i)=>{if(i>0)this.b.emit(", ");this.callArg(s)}),this.b.emit(")")})});return}let t=e[0][1],r=Pe(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((s,i)=>{if(i>0)this.b.emit(", ");this.callArg(s)}),this.b.emit(")")})});return}if(y(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(y(t))this.b.emit("("),this.expr(t),this.b.emit(E.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],s=typeof r==="string"?r:r[0];if(s==="return"&&this.scopes.length<=1)throw this.positionedError(r,"emitter: 'return' outside a function");if((s==="break"||s==="continue")&&this.ctrlDepth===0)throw this.positionedError(e,`emitter: '${s}' outside a loop${s==="break"?" or switch":""}`);let i=e[0],n=()=>{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||E.jsTier(e[1])!=="primary";if(i==="||")if(this.b.emit("!"),o)this.b.emit("("),a(),this.b.emit(")");else a();else if(i==="??"){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 ("),n(),this.b.emit(") ");let a=()=>{if(this.b.emit(s),y(r)&&r.length>1)this.b.emit(" "),this.mark(r,"value",()=>{if(r[0]==="return"&&E.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(y(t)&&(t[0]==="."||t[0]==="[]")&&t.length===3){let s=t[1];if(!this.repeatSafeValue(s))s=this.loopTempName("_ref"),this.temps.used.add(s),this.b.emit(`const ${s} = `),this.expr(t[1]),this.b.emit(`; +`)}implicitReturn(e,t){this.withTsDirectives(e," ".repeat(t),()=>this.implicitReturnCore(e,t))}implicitReturnCore(e,t){if(y(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,y(e)){let r=e[0];if(r==="if"&&e.length>=3&&e.length<=4){if(E.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(E.returnGuard(e)||E.stmtGuard(e)||r==="="&&e.length===3&&(E.returnGuard(e[2])||E.stmtGuard(e[2])))return this.statement(e,t);if(r===".="&&e.length===3)return this.statement(e,t);if(r==="="&&e.length===3&&E.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(k1(r))throw this.positionedError(e,"emitter: implicit return of a 'def' body is not supported yet")}this.b.emit("return "),this.withTailReturn(()=>{let r=E.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]),y(e[1])&&E.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,s]=e;if(s)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,s]=e,i=t[0]==="!",n=i?t.slice(1):t;this.mark(e,"$self",()=>{if(i)this.b.emit("!(");if(n==="instanceof"){if(this.operand(e,"left",r),this.b.emit(" instanceof "),this.operand(e,"right",s),i)this.b.emit(")");return}if(n==="of"||n==="in"&&O1(s))this.operand(e,"left",r),this.b.emit(" in "),this.operand(e,"right",s);else if(y(s))this.b.emit(E.MEMBER_IN+"("),this.mark(e,"left",()=>this.expr(r)),this.b.emit(", "),this.mark(e,"right",()=>this.expr(s)),this.b.emit(")");else this.b.emit("Array.isArray("),this.expr(s),this.b.emit(") || typeof "),this.expr(s),this.b.emit(" === 'string' ? "),this.expr(s),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(s)),this.b.emit(")");if(i)this.b.emit(")")})}static ternaryHoists(e){let t=e;while(y(t[2])&&t[2][0]==="?:"&&t[2].length===4&&!t[2].parenthesized)t=t[2];let r=t[2];return y(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(y(a)&&a[0]==="?:"&&a.length===4&&!a.parenthesized)t.push(a);else break}let r=t[t.length-1],s=E.ternaryHoists(r),i=(a,o,l)=>{this.grouped(a,o,l,E.needsGrouping(l,"operand")||U1(l))},n=(a)=>this.grouped(a,"condition",a[1],y(a[1])&&a[1][0]==="?:");this.mark(e,"$self",()=>{if(s)this.expr(r[2][1]),this.b.emit(" = (");n(r),this.b.emit(" ? "),i(r,"then",s?r[2][2]:r[2]);for(let a=t.length-2;a>=0;a--)this.b.emit(" : ("),n(t[a]),this.b.emit(" ? "),i(t[a+1],"else",t[a+1][3]);if(this.b.emit(" : "),i(t[0],"else",t[0][3]),this.b.emit(")".repeat(t.length-1)),s)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(y(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=E.needsGrouping(t[0],"operand")||U1(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(E.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(y(e[0])&&e[0][0]==="dammit!"){if(this.renderSyncGuard(e),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((s,i)=>{if(i>0)this.b.emit(", ");this.callArg(s)}),this.b.emit(")")})});return}let t=e[0][1],r=Ce(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((s,i)=>{if(i>0)this.b.emit(", ");this.callArg(s)}),this.b.emit(")")})});return}if(y(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(y(t))this.b.emit("("),this.expr(t),this.b.emit(E.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],s=typeof r==="string"?r:r[0];if(s==="return"&&this.scopes.length<=1)throw this.positionedError(r,"emitter: 'return' outside a function");if((s==="break"||s==="continue")&&this.ctrlDepth===0)throw this.positionedError(e,`emitter: '${s}' outside a loop${s==="break"?" or switch":""}`);let i=e[0],n=()=>{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||E.jsTier(e[1])!=="primary";if(i==="||")if(this.b.emit("!"),o)this.b.emit("("),a(),this.b.emit(")");else a();else if(i==="??"){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 ("),n(),this.b.emit(") ");let a=()=>{if(this.b.emit(s),y(r)&&r.length>1)this.b.emit(" "),this.mark(r,"value",()=>{if(r[0]==="return"&&E.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(y(t)&&(t[0]==="."||t[0]==="[]")&&t.length===3){let s=t[1];if(!this.repeatSafeValue(s))s=this.loopTempName("_ref"),this.temps.used.add(s),this.b.emit(`const ${s} = `),this.expr(t[1]),this.b.emit(`; ${" ".repeat(r)}`);let i;if(t[0]==="[]"){let n=t[2];if(!this.repeatSafeValue(n)){let a=this.loopTempName("_key");this.temps.used.add(a),this.b.emit(`const ${a} = `),this.expr(n),this.b.emit(`; -${" ".repeat(r)}`),n=a}i=["[]",s,n]}else i=[".",s,t[2]];return this.mark(e,"target",()=>this.expr(i)),i}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 y(e)&&e[0]==="[]"&&e.length===3&&y(e[2])&&(e[2][0]===".."||e[2][0]==="...")&&e[2].length===3?e:null}sliceAssignStatement(e){let[,t,r]=e,[,s,i]=t,[n,a,o]=i,l=(h)=>E.isIntegerLiteral(h)?parseInt(h.replace(/_/g,""),10):null,c=(h)=>typeof h==="string";for(let h of[a,o])if(y(h)&&h[0]==="-"&&h.length===2&&E.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",s),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))+(n===".."?1:0)));else{if(f(o),a!==null)this.b.emit(" - "),f(a);if(n==="..")this.b.emit(" + 1")}})})),this.mark(e,"operator",()=>{});let h=y(r)&&r[0]==="array"&&r.slice(1).every((u)=>!(y(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,s]=e,i=s;while(y(i)){let l=E.chainHeadSlot(i);if(l===null)break;i=i[l]}let n=y(i)?this.stores.idOf(i):null,a=n!==null?this.stores.node(n)?.semanticKind:null;if(!(y(i)&&typeof i[0]==="string"&&/^[A-Za-z_$][\w$]*$/.test(i[0])&&(a==="call"||a==null&&E.jsTier(i)==="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===i)return[[".",l,i[0]],...i.slice(1)];let u=E.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(s))),this.primitiveReuse=null})}taggedTemplate(e){this.mark(e,"$self",()=>{let t=e[1];this.mark(e,"tag",()=>{if(E.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("`"+E.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,s)=>{if(s>0)this.b.emit(", ");if(y(r)&&r[0]==="..."&&r.length===2){this.mark(r,"$self",()=>{this.b.emit("..."),this.expr(r[1])});return}if(!y(r)||r[0]!==":"||r.length!==3)throw this.positionedError(y(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 i=r[1];this.mark(r,"key",()=>{if(typeof i==="string"&&/^[A-Za-z_$][\w$]*$/.test(i)&&i!=="true"&&i!=="false"&&i!=="null"&&i!=="undefined")this.b.emit('"'),this.emitPrimitive(i),this.b.emit('"');else if(y(i)&&i[0]==="dynamicKey")this.expr(i[1]);else this.expr(i)}),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,s){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(")) && _["),s===null)this.b.emit("0");else this.mark(e,"capture",()=>this.expr(s));this.b.emit("])")})}static isMatchWrite(e){if(!y(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(!y(e)||T1(e)||k1(e[0]))return null;if(E.isMatchWrite(e))return e;for(let t of e){let r=E.paramMatchWrite(t);if(r!==null)return r}return null}matchOp(e){if(y(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(E.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,s){let i=e[1];if(this.checkExportedConstWrite(e,i),y(i)&&(i[0]==="."||i[0]==="[]")&&i.length===3){let n=this.refPlans.get(e)??{recv:null,obj:null,key:null};if(n.obj===null&&!this.repeatSafeValue(i[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(n.key===null&&i[0]==="[]"&&!this.repeatSafeValue(i[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=n.obj!==null||n.key!==null;if(a)this.b.emit("(");if(n.obj!==null)this.b.emit(`${n.obj} = `),this.mark(i,"object",()=>this.withExpression(()=>this.expr(i[1]))),this.b.emit(", ");if(n.key!==null)this.b.emit(`${n.key} = `),this.mark(i,"key",()=>this.withExpression(()=>this.expr(i[2]))),this.b.emit(", ");let o=this.stores.alias([i[0],n.obj??i[1],n.key??i[2]],i),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(s)}),a)this.b.emit(")")});return}this.mark(e,"$self",()=>{let n=()=>this.mark(e,"target",()=>this.withTarget(()=>this.expr(e[1])));n(),this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("=")),this.b.emit(" "),this.mark(e,"operator",()=>{this.b.emit(t),n(),this.b.emit(r),this.operand(e,"value",e[2]),this.b.emit(s)})})}floorDivAssign(e){this.synthCompound(e,"Math.floor("," / ",")")}moduloAssign(e){this.synthCompound(e,E.MODULO+"(",", ",")")}awaitExpr(e){this.renderSyncGuard(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],s=r.map((n)=>{let a=E.paramCore(n);if(typeof a==="string")return()=>this.expr(a);if(y(a)&&a[0]==="default"&&typeof E.paramCore(a[1])==="string")return()=>this.expr(a[2]);throw this.positionedError(n,"emitter: do-IIFE parameters must be plain names or defaulted names — patterns and rests have no capture argument",e)}),i=r.length;while(i>0&&y(r[i-1])&&r[i-1][0]==="default")i--;s.slice(0,i).forEach((n,a)=>{if(a>0)this.b.emit(", ");n()})}this.b.emit(")")})}dammit(e){if(this.renderSyncGuard(e),Pe(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.renderSyncGuard(e);let t=e[1];if(y(t)&&t[0]==="new"||Pe(t))throw this.positionedError(e,"emitter: maybe dammit has no reading on a constructor — `?!` on a construction would make the "+"constructor an optional callee; construct and await with `new X!`");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((r,s)=>{if(s>0)this.b.emit(", ");this.expr(r)}),this.b.emit(")")})})}yieldExpr(e){if(this.renderSyncGuard(e),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 pa=(e)=>{if(!y(e))return!1;if(e[0]==="schema"&&e.length===2&&typeof e[1]==="object")return!0;return e.some(pa)},ga=(e)=>{if(!y(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(ga)},ba=(e,t)=>{if(!y(e))return!1;if(t(e))return!0;return e.some((r)=>ba(r,t))},ya=(e,t)=>{if(!y(e))return!1;if(t(e))return!0;return e.some((r)=>ya(r,t))},Sa=(e)=>{if(!y(e))return!1;if(e[0]==="object"&&E.objectComprehension(e)!==null)return!0;return e.some(Sa)},Ra=(e)=>{if(!y(e))return!1;if(E.isMatchWrite(e))return!0;return e.some(Ra)},pt=[{key:"intrinsics",names:["__toPropertyKey","__defineOwnDataProperty"],generatedNames:["__toPropertyKey","__defineOwnDataProperty"],url:new URL("./runtime/intrinsics.js",import.meta.url),triggers:(e,t)=>Sa(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)=>pa(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)=>ga(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)=>ba(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)=>Ra(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","__reportChildFailure","__ownerFrame","__pushOwner","__popOwner","__detachRef"],generatedNames:["setContext","getContext","__Component","__pushComponent","__popComponent","__clsx","__style","__reconcile","__transition","__gateBind","__detach","__reportChildFailure","__ownerFrame","__pushOwner","__popOwner","__detachRef"],types:{__clsx:xs,__style:Ls},url:new URL("./runtime/components.js",import.meta.url),requires:"reactive",triggers:(e,t)=>ya(e,t.isComponent)}],ji=new Map,da=(e)=>{if(!ji.has(e.key)){let r=Is(e.url,"utf8").replace(/^export \{[^}]*\};\s*$/gm,"").replace(/^import \{[^}]*\} from '\.\/[a-z-]+\.js';\s*$/gm,"").trimEnd(),s=/^[ \t]*(import|export)\b.*$/m.exec(r);if(s)throw Error(`emitter: runtime '${e.key}' carries a top-level ${s[1]} that inline delivery cannot strip — `+`${JSON.stringify(s[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'.`);ji.set(e.key,r)}return ji.get(e.key)},Fi=(e)=>e.requires==null?[]:Array.isArray(e.requires)?e.requires:[e.requires],Ee=(e,t,r=()=>!1)=>{if(t.size===0)return!1;let s=(o)=>typeof o==="string"&&t.has(o),i=(o)=>y(o)&&o.some(n),n=(o)=>{if(!y(o))return!1;let[l]=o;if(l==="object"||l==="array")return o.slice(1).some(n);if(l===null&&o.length===3)return!1;if(l===":"&&o.length===3)return y(o[1])&&a(o[1])||n(o[2]);if(l==="="&&o.length===3)return n(o[1])||a(o[2]);if((l==="rest"||l==="..."||l==="expansion")&&o.length===2)return n(o[1]);if(l==="typed-var"&&o.length===3)return n(o[1]);return a(o)},a=(o)=>{if(s(o))return!0;if(!y(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 y(o[1])&&a(o[1])||a(o[2]);if(T1(o))return i(o[1])||a(o[2]);if(k1(l)&&o.length===4)return i(o[2])||a(o[3]);if(r(o))return a(o[2]);if(F1.has(l)&&o.length===3)return y(o[1])&&n(o[1])||a(o[2]);if(l==="for-in"||l==="for-of"||l==="for-as")return y(o[1])&&o[1].some(n)||o.slice(2).some(a);if(l==="try")return o.slice(1).some((c)=>{if(!y(c))return!1;if(c[0]==="block")return a(c);return n(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 y(o[1])&&a(o[1]);if((l==="cast"||l==="satisfies")&&o.length===3)return a(o[1]);if(l==="import"||l==="type-decl")return!1;return o.some(a)};return a(e)},L3=(e,t)=>{let r=[],s=(i,n,a=[])=>{let o=(h)=>E.isReactiveDeclIn(n,h)||E.isEffectDeclIn(n,h)||E.isReadonlyDeclIn(n,h)||E.isGateDeclIn(n,h),l=(h)=>E.isReactiveDeclIn(n,h)||E.isEffectDeclIn(n,h),c=(h)=>E.isComponentDeclIn(n,h);r.push({tree:i,atoms:a,isDecl:o,isTrigger:l,isComponent:c});let f=(h)=>{if(!y(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:p}of E.schemaBodies(h[1])){let m=e.subParse(d);if(m.stmts.length)s(["program",...m.stmts],m.stores,p?[]:e.schemaBodyParams(u).map((g)=>g.name))}return}h.forEach(f)};f(i)};return s(t,e.stores),r},M3=(e,t)=>{let r=new Set,s=(n)=>{for(let a of e.patternNames(n,[],!0))r.add(a)},i=(n,a)=>{if(!y(n))return;let[o]=n;if(e.isModuleImport(n)){for(let l of E.importedNames([n]))r.add(l);return}if(T1(n)){if(y(n[1]))for(let l of n[1])s(l);i(n[2],a);return}if(k1(o)&&n.length===4){if(typeof n[1]==="string")r.add(n[1]);if(y(n[2]))for(let l of n[2])s(l);i(n[3],a);return}if(o==="class"){if(typeof n[1]==="string")r.add(n[1]);for(let l of n.slice(2)){let c=y(l)&&l[0]==="block"?l.slice(1):[l];for(let f of c)if(y(f)&&k1(f[0])&&f.length===4){if(y(f[2]))for(let h of f[2])s(h);i(f[3],a)}else i(f,a)}return}if(o==="enum"){if(typeof n[1]==="string")r.add(n[1]);for(let l of n.slice(2))i(l,a);return}if(a(n)){if(typeof n[1]==="string")r.add(n[1]);else if(y(n[1]))s(n[1]);i(n[2],a);return}if((F1.has(o)||o==="void-assign")&&n.length>=2){if(typeof n[1]==="string")r.add(n[1]);else if(E.isPattern(n[1]))s(n[1])}if((o==="for-in"||o==="for-of"||o==="for-as")&&y(n[1]))for(let l of n[1])s(l);if(o==="try"){for(let l of n.slice(2))if(y(l)&&l.length===2&&E.isPattern(l[0]))s(l[0])}for(let l of n)i(l,a)};for(let{tree:n,atoms:a,isDecl:o}of t){i(n,o);for(let l of a)s(l)}return r},j3=(e,t)=>{let r=t.slice(1),s=new Set(e.hoistTargets(r).map(([a])=>a)),i=r.filter((a)=>e.isModuleImport(a));for(let a of E.importedNames(i))s.add(a);for(let a of e.collectReactiveNames(r))s.add(a);for(let a of e.collectEffectHandles(r))s.add(a);for(let a of e.collectReadonlyNames(r))s.add(a);let n=(a)=>{if(!y(a))return;if(a[0]==="enum"&&typeof a[1]==="string")s.add(a[1]);if(a[0]==="class"&&typeof a[1]==="string")s.add(a[1]);if(k1(a[0])&&a.length===4&&typeof a[1]==="string")s.add(a[1]);if((a[0]==="="||a[0]==="void-assign")&&typeof a[1]==="string")s.add(a[1])};for(let a of r)if(n(a),y(a)&&a[0]==="export"&&y(a[1]))n(a[1]);return s},ma=new Set(["plain","state","computed","effect","readonly","import","class","def","enum"]),F3=(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"||!Z1(r.name))throw Error(`emitter: ambientBindings entries are {name, kind} with an identifier name; got ${JSON.stringify(r)}`);if(!ma.has(r.kind))throw Error(`emitter: ambientBindings kind '${r.kind}' for '${r.name}' is not a binding kind — expected one of ${[...ma].join(", ")}`);if(t.has(r.name))throw Error(`emitter: ambientBindings names '${r.name}' twice — one binding per name`);t.add(r.name)}return e},B3=(e,t,r)=>{let s=t.slice(1),i=new Map,n=(c,f)=>{if(typeof c==="string"&&!i.has(c))i.set(c,f)},a=(c)=>{if(!r.has(c))n(c,"plain")};for(let c of s)if(e.isModuleImport(c))for(let f of E.importedNames([c]))n(f,"import");let o=e.collectComputedNames(s);for(let c of e.collectReactiveNames(s))n(c,o.has(c)?"computed":"state");for(let c of e.collectEffectHandles(s))n(c,"effect");for(let c of e.collectReadonlyNames(s))n(c,"readonly");let l=(c,f)=>{if(!y(c))return;if(c[0]==="enum"&&typeof c[1]==="string")n(c[1],"enum");if(c[0]==="class"&&typeof c[1]==="string")n(c[1],"class");if(k1(c[0])&&c.length===4&&typeof c[1]==="string")n(c[1],"def");if((c[0]==="="||c[0]==="void-assign")&&typeof c[1]==="string")if(f)n(c[1],"plain");else a(c[1])};for(let c of s)if(l(c,!1),y(c)&&c[0]==="export"&&y(c[1]))l(c[1],!0);for(let[c,,f]of e.hoistTargets(s))if(f==="target")a(c);return[...i].map(([c,f])=>({name:c,kind:f}))},Ui={field:"field",computed:"computed",derived:"derived",method:"method"};function U3(e,t,r,s){let i=[],n=(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(`(= |\\| |& )(${n(c.name)})(?= \\||;| &)`).exec(r);if(h!==null)i.push({at:h.index+h[1].length,len:c.name.length,start:c.start,end:c.start+c.name.length});continue}if((Ui[l.tag]??null)===null||typeof l.start!=="number")continue;let f=new RegExp(`([{;] )((?:readonly )?)(${n(l.name)})(\\??: )`).exec(r);if(f===null)continue;if(i.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,p=new RegExp(`(?u[1]))];for(let u of f){if(c.has(u))continue;let d=a[0]+1,p=-1;while(d>0){let m=l.lastIndexOf(u,d-1);if(m<0)break;if(!/[\w$]/.test(l[m-1]??" ")&&!/[\w$]/.test(l[m+u.length]??" ")){p=m;break}d=m}if(p>=0)c.set(u,[p,p+u.length])}let h=(u,d)=>i.some((p)=>ul.at-c.at);let o=0;for(let l of i){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 V3(e,t,r,s){let i=t.story?.decl?.descriptor?.entries??null;if(i===null)return;let n=(a)=>a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");for(let a of i){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(`(= |\\| |& )(${n(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:s+l.index+l[1].length})}for(let a of i){let o=Ui[a.tag]??null;if(o===null||typeof a.start!=="number")continue;let l=n(a.name),c=new RegExp(`([{;] )((?:readonly )?)(${l})(\\??: )`).exec(r);if(c===null)continue;let f=s+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 Ea(e,{source:t="",runtimeDelivery:r="none",face:s="js",pins:i=null,strict:n=!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:p=null,routesUnion:m=null,routeParams:g=null}={}){if(!e.sexpr)throw Error("emitter: cannot emit a failed parse");if(s!=="js"&&s!=="ts")throw Error(`emitter: unknown face '${s}' — expected 'js' (the shipping emission) or 'ts' (the editor face)`);let b=F3(c),S=new ar(e.stores),w=new Re(S,{source:t,primitives:s==="ts"}),R=new E(S,w,{face:s,pins:i,strict:n,script:a,browserModule:o,repl:f,hmr:h,tolerant:u,modulePath:d,appStashSpec:p,routesUnion:m,routeParams:g});if(R.dataPayload=l,r!=="none"&&r!=="import"&&r!=="inline")throw Error(`emitter: unknown runtimeDelivery '${r}' — expected 'none', 'import', or 'inline'`);if(R.collectTsDirectives(e.sexpr,e.trivia??[],t),R.collectTypeOnlyImports(e.sexpr,t),R.collectAppAccessors(e.sexpr),R.tsNocheck!==null){let k=S.idOf(e.sexpr),v=R.tsNocheck;w.tsOnly(()=>{let j=()=>w.emit("//"+v.text.slice(1));if(k!==null)w.markSpan(k,"tsDirective",v.start,v.end,j);else j();w.emit(` -`)})}let T=L3(R,e.sexpr),F=(k)=>{if(typeof k==="string")R.temps.used.add(k);else if(y(k))for(let v of k)F(v)};for(let{tree:k,atoms:v}of T)F(k),F(v);for(let{name:k}of b)R.temps.used.add(k);let L=M3(R,T);for(let{name:k}of b)L.add(k);let P=[...L];for(let k of pt)for(let v of k.generatedNames??[])R.runtimeAliases.set(v,E.mintName(v,L));let N=j3(R,e.sexpr),D=B3(R,e.sexpr,new Set(b.map(({name:k})=>k)));for(let{name:k}of b)N.add(k);let O=new Set;for(let k of pt){let v=new Set(k.names.filter((j)=>!N.has(j)));if(T.some(({tree:j,isDecl:X,isTrigger:x,isComponent:Z})=>k.triggers?.(j,{isTrigger:x,isComponent:Z})||Ee(j,v,X)))O.add(k.key)}for(let k=!0;k;){k=!1;for(let v of pt){if(!O.has(v.key))continue;for(let j of Fi(v))if(!O.has(j))O.add(j),k=!0}}if(r!=="none"){let k=pt.filter((X)=>O.has(X.key)),v=[];if(r==="import")for(let X of k)v.push({runtimes:[X],names:X.names,imp:X.url.pathname});else{let X=new Set(k.flatMap((x)=>Fi(x)));for(let x of k){if(X.has(x.key))continue;let Z=[],U=(Q)=>{if(Z.includes(Q))return;for(let l1 of Fi(Q)){let I=pt.find((s1)=>s1.key===l1);if(I)U(I)}Z.push(Q)};if(U(x),Z.length===1){v.push({runtimes:[x],names:x.names,body:da(x),types:x.types});continue}let r1=Z.some((Q)=>Q.types)?Object.assign({},...Z.map((Q)=>Q.types)):void 0;v.push({runtimes:Z,names:Z.flatMap((Q)=>Q.names),body:Z.map((Q)=>da(Q)).join(` -`),types:r1})}}let j=S.idOf(e.sexpr);for(let X of v){let x=new Set(X.runtimes.flatMap((r1)=>r1.generatedNames??[])),Z=X.names.filter((r1)=>x.has(r1)||!N.has(r1)).map((r1)=>({name:r1,local:x.has(r1)?R.runtimeAliases.get(r1):r1}));if(Z.length===0)continue;let U=w.offset;if(X.imp){w.emit(`import { ${Z.map(({name:Q,local:l1})=>Q===l1?Q:`${Q} as ${l1}`).join(", ")} } from `);let r1=w.offset;w.emit(JSON.stringify(X.imp)),R.importSpans.push({start:r1,end:w.offset,specifier:JSON.stringify(X.imp)}),w.emit(`; -`)}else{w.emit(`const { ${Z.map(({name:Q,local:l1})=>Q===l1?Q:`${Q}: ${l1}`).join(", ")} }`);let r1=s==="ts"&&X.types?`{ ${Z.map(({name:Q})=>`${Q}: ${X.types[Q]??"any"}`).join("; ")} }`:null;if(r1!==null&&r1.includes("__RipClassValue"))R._needsClassValue=!0;if(r1!==null&&r1.includes("__RipCSSProperties"))R._needsCssProperties=!0;if(w.emit(" = "),r1)w.tsOnly(()=>w.emit("("));if(w.emit(`(() => { -${X.body} -return { ${X.names.join(", ")} }; -})()`),r1)w.tsOnly(()=>w.emit(` as ${r1})`));w.emit(`; -`)}if(j!==null)w.rows.push({nodeId:j,role:"runtime",mappingKind:"synthetic",sourceStart:0,sourceEnd:0,generatedStart:U,generatedEnd:w.offset,fileId:0})}}let W=null;if(s==="ts"){let k=null;try{k=$s(e.sexpr,w.source,E.importedNames(e.sexpr.slice(1).filter((v)=>R.isModuleImport(v))))}catch(v){if(v instanceof _i){let j=Error(`emitter: ${v.message}`),X=v.node!==null?S.idOf(v.node):null,x=X!==null?S.selfSpan(X):null;if(x)j.start=x[0],j.end=x[1];else if(v.start!==null)j.start=v.start,j.end=v.start;throw j}throw v}if(W=k,k!==null){let v=S.idOf(e.sexpr),j=w.offset;if(w.tsOnly(()=>w.emit(k.intrinsicLines.join(` +${" ".repeat(r)}`),n=a}i=["[]",s,n]}else i=[".",s,t[2]];return this.mark(e,"target",()=>this.expr(i)),i}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 y(e)&&e[0]==="[]"&&e.length===3&&y(e[2])&&(e[2][0]===".."||e[2][0]==="...")&&e[2].length===3?e:null}sliceAssignStatement(e){let[,t,r]=e,[,s,i]=t,[n,a,o]=i,l=(f)=>E.isIntegerLiteral(f)?parseInt(f.replace(/_/g,""),10):null,c=(f)=>typeof f==="string";for(let f of[a,o])if(y(f)&&f[0]==="-"&&f.length===2&&E.isIntegerLiteral(f[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 h=(f)=>{if(c(f))this.expr(f);else this.b.emit("("),this.expr(f),this.b.emit(")")};this.mark(e,"$self",()=>{this.mark(e,"target",()=>this.mark(t,"$self",()=>{this.head(t,"object",s),this.b.emit(".splice("),this.mark(t,"key",()=>{if(a===null)this.b.emit("0");else h(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))+(n===".."?1:0)));else{if(h(o),a!==null)this.b.emit(" - "),h(a);if(n==="..")this.b.emit(" + 1")}})})),this.mark(e,"operator",()=>{});let f=y(r)&&r[0]==="array"&&r.slice(1).every((u)=>!(y(u)&&u[0]==="...")&&u!==",");this.mark(e,"value",()=>{if(f)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,s]=e,i=s;while(y(i)){let l=E.chainHeadSlot(i);if(l===null)break;i=i[l]}let n=y(i)?this.stores.idOf(i):null,a=n!==null?this.stores.node(n)?.semanticKind:null;if(!(y(i)&&typeof i[0]==="string"&&/^[A-Za-z_$][\w$]*$/.test(i[0])&&(a==="call"||a==null&&E.jsTier(i)==="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=(f)=>{if(f===i)return[[".",l,i[0]],...i.slice(1)];let u=E.chainHeadSlot(f),d=f.slice();return d[u]=c(f[u]),d};this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("=")),this.b.emit(" ");let h=typeof l==="string"?this.bindingNameSpan(e,"target",l):null;if(h!==null)this.primitiveReuse={name:l,span:h.span};this.mark(e,"value",()=>this.expr(c(s))),this.primitiveReuse=null})}taggedTemplate(e){this.mark(e,"$self",()=>{let t=e[1];this.mark(e,"tag",()=>{if(E.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("`"+E.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,s)=>{if(s>0)this.b.emit(", ");if(y(r)&&r[0]==="..."&&r.length===2){this.mark(r,"$self",()=>{this.b.emit("..."),this.expr(r[1])});return}if(!y(r)||r[0]!==":"||r.length!==3)throw this.positionedError(y(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 i=r[1];this.mark(r,"key",()=>{if(typeof i==="string"&&/^[A-Za-z_$][\w$]*$/.test(i)&&i!=="true"&&i!=="false"&&i!=="null"&&i!=="undefined")this.b.emit('"'),this.emitPrimitive(i),this.b.emit('"');else if(y(i)&&i[0]==="dynamicKey")this.expr(i[1]);else this.expr(i)}),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,s){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(")) && _["),s===null)this.b.emit("0");else this.mark(e,"capture",()=>this.expr(s));this.b.emit("])")})}static isMatchWrite(e){if(!y(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(!y(e)||T1(e)||k1(e[0]))return null;if(E.isMatchWrite(e))return e;for(let t of e){let r=E.paramMatchWrite(t);if(r!==null)return r}return null}matchOp(e){if(y(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(E.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,s){let i=e[1];if(this.checkExportedConstWrite(e,i),y(i)&&(i[0]==="."||i[0]==="[]")&&i.length===3){let n=this.refPlans.get(e)??{recv:null,obj:null,key:null};if(n.obj===null&&!this.repeatSafeValue(i[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(n.key===null&&i[0]==="[]"&&!this.repeatSafeValue(i[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=n.obj!==null||n.key!==null;if(a)this.b.emit("(");if(n.obj!==null)this.b.emit(`${n.obj} = `),this.mark(i,"object",()=>this.withExpression(()=>this.expr(i[1]))),this.b.emit(", ");if(n.key!==null)this.b.emit(`${n.key} = `),this.mark(i,"key",()=>this.withExpression(()=>this.expr(i[2]))),this.b.emit(", ");let o=this.stores.alias([i[0],n.obj??i[1],n.key??i[2]],i),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(s)}),a)this.b.emit(")")});return}this.mark(e,"$self",()=>{let n=()=>this.mark(e,"target",()=>this.withTarget(()=>this.expr(e[1])));n(),this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("=")),this.b.emit(" "),this.mark(e,"operator",()=>{this.b.emit(t),n(),this.b.emit(r),this.operand(e,"value",e[2]),this.b.emit(s)})})}floorDivAssign(e){this.synthCompound(e,"Math.floor("," / ",")")}moduloAssign(e){this.synthCompound(e,E.MODULO+"(",", ",")")}awaitExpr(e){this.renderSyncGuard(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],s=r.map((n)=>{let a=E.paramCore(n);if(typeof a==="string")return()=>this.expr(a);if(y(a)&&a[0]==="default"&&typeof E.paramCore(a[1])==="string")return()=>this.expr(a[2]);throw this.positionedError(n,"emitter: do-IIFE parameters must be plain names or defaulted names — patterns and rests have no capture argument",e)}),i=r.length;while(i>0&&y(r[i-1])&&r[i-1][0]==="default")i--;s.slice(0,i).forEach((n,a)=>{if(a>0)this.b.emit(", ");n()})}this.b.emit(")")})}dammit(e){if(this.renderSyncGuard(e),Ce(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.renderSyncGuard(e);let t=e[1];if(y(t)&&t[0]==="new"||Ce(t))throw this.positionedError(e,"emitter: maybe dammit has no reading on a constructor — `?!` on a construction would make the "+"constructor an optional callee; construct and await with `new X!`");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((r,s)=>{if(s>0)this.b.emit(", ");this.expr(r)}),this.b.emit(")")})})}yieldExpr(e){if(this.renderSyncGuard(e),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 ba=(e)=>{if(!y(e))return!1;if(e[0]==="schema"&&e.length===2&&typeof e[1]==="object")return!0;return e.some(ba)},ya=(e)=>{if(!y(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(ya)},Sa=(e,t)=>{if(!y(e))return!1;if(t(e))return!0;return e.some((r)=>Sa(r,t))},Ra=(e,t)=>{if(!y(e))return!1;if(t(e))return!0;return e.some((r)=>Ra(r,t))},Ea=(e)=>{if(!y(e))return!1;if(e[0]==="object"&&E.objectComprehension(e)!==null)return!0;return e.some(Ea)},ka=(e)=>{if(!y(e))return!1;if(E.isMatchWrite(e))return!0;return e.some(ka)},pt=[{key:"intrinsics",names:["__toPropertyKey","__defineOwnDataProperty"],generatedNames:["__toPropertyKey","__defineOwnDataProperty"],url:new URL("./runtime/intrinsics.js",import.meta.url),triggers:(e,t)=>Ea(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)=>ba(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)=>ya(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)=>Sa(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)=>ka(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","__reportChildFailure","__ownerFrame","__pushOwner","__popOwner","__detachRef"],generatedNames:["setContext","getContext","__Component","__pushComponent","__popComponent","__clsx","__style","__reconcile","__transition","__gateBind","__detach","__reportChildFailure","__ownerFrame","__pushOwner","__popOwner","__detachRef"],types:{__clsx:Pn,__style:jn},url:new URL("./runtime/components.js",import.meta.url),requires:"reactive",triggers:(e,t)=>Ra(e,t.isComponent)}],ji=new Map,pa=(e)=>{if(!ji.has(e.key)){let r=Dn(e.url,"utf8").replace(/^export \{[^}]*\};\s*$/gm,"").replace(/^import \{[^}]*\} from '\.\/[a-z-]+\.js';\s*$/gm,"").trimEnd(),s=/^[ \t]*(import|export)\b.*$/m.exec(r);if(s)throw Error(`emitter: runtime '${e.key}' carries a top-level ${s[1]} that inline delivery cannot strip — `+`${JSON.stringify(s[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'.`);ji.set(e.key,r)}return ji.get(e.key)},Fi=(e)=>e.requires==null?[]:Array.isArray(e.requires)?e.requires:[e.requires],Ee=(e,t,r=()=>!1)=>{if(t.size===0)return!1;let s=(o)=>typeof o==="string"&&t.has(o),i=(o)=>y(o)&&o.some(n),n=(o)=>{if(!y(o))return!1;let[l]=o;if(l==="object"||l==="array")return o.slice(1).some(n);if(l===null&&o.length===3)return!1;if(l===":"&&o.length===3)return y(o[1])&&a(o[1])||n(o[2]);if(l==="="&&o.length===3)return n(o[1])||a(o[2]);if((l==="rest"||l==="..."||l==="expansion")&&o.length===2)return n(o[1]);if(l==="typed-var"&&o.length===3)return n(o[1]);return a(o)},a=(o)=>{if(s(o))return!0;if(!y(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 y(o[1])&&a(o[1])||a(o[2]);if(T1(o))return i(o[1])||a(o[2]);if(k1(l)&&o.length===4)return i(o[2])||a(o[3]);if(r(o))return a(o[2]);if(F1.has(l)&&o.length===3)return y(o[1])&&n(o[1])||a(o[2]);if(l==="for-in"||l==="for-of"||l==="for-as")return y(o[1])&&o[1].some(n)||o.slice(2).some(a);if(l==="try")return o.slice(1).some((c)=>{if(!y(c))return!1;if(c[0]==="block")return a(c);return n(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 y(o[1])&&a(o[1]);if((l==="cast"||l==="satisfies")&&o.length===3)return a(o[1]);if(l==="import"||l==="type-decl")return!1;return o.some(a)};return a(e)},B3=(e,t)=>{let r=[],s=(i,n,a=[])=>{let o=(f)=>E.isReactiveDeclIn(n,f)||E.isEffectDeclIn(n,f)||E.isReadonlyDeclIn(n,f)||E.isGateDeclIn(n,f),l=(f)=>E.isReactiveDeclIn(n,f)||E.isEffectDeclIn(n,f),c=(f)=>E.isComponentDeclIn(n,f);r.push({tree:i,atoms:a,isDecl:o,isTrigger:l,isComponent:c});let h=(f)=>{if(!y(f))return;if(f[0]==="schema"&&f.length===2&&f[1]&&typeof f[1]==="object"&&Array.isArray(f[1].entries)){for(let{entry:u,tokens:d,value:p}of E.schemaBodies(f[1])){let m=e.subParse(d);if(m.stmts.length)s(["program",...m.stmts],m.stores,p?[]:e.schemaBodyParams(u).map((g)=>g.name))}return}f.forEach(h)};h(i)};return s(t,e.stores),r},U3=(e,t)=>{let r=new Set,s=(n)=>{for(let a of e.patternNames(n,[],!0))r.add(a)},i=(n,a)=>{if(!y(n))return;let[o]=n;if(e.isModuleImport(n)){for(let l of E.importedNames([n]))r.add(l);return}if(T1(n)){if(y(n[1]))for(let l of n[1])s(l);i(n[2],a);return}if(k1(o)&&n.length===4){if(typeof n[1]==="string")r.add(n[1]);if(y(n[2]))for(let l of n[2])s(l);i(n[3],a);return}if(o==="class"){if(typeof n[1]==="string")r.add(n[1]);for(let l of n.slice(2)){let c=y(l)&&l[0]==="block"?l.slice(1):[l];for(let h of c)if(y(h)&&k1(h[0])&&h.length===4){if(y(h[2]))for(let f of h[2])s(f);i(h[3],a)}else i(h,a)}return}if(o==="enum"){if(typeof n[1]==="string")r.add(n[1]);for(let l of n.slice(2))i(l,a);return}if(a(n)){if(typeof n[1]==="string")r.add(n[1]);else if(y(n[1]))s(n[1]);i(n[2],a);return}if((F1.has(o)||o==="void-assign")&&n.length>=2){if(typeof n[1]==="string")r.add(n[1]);else if(E.isPattern(n[1]))s(n[1])}if((o==="for-in"||o==="for-of"||o==="for-as")&&y(n[1]))for(let l of n[1])s(l);if(o==="try"){for(let l of n.slice(2))if(y(l)&&l.length===2&&E.isPattern(l[0]))s(l[0])}for(let l of n)i(l,a)};for(let{tree:n,atoms:a,isDecl:o}of t){i(n,o);for(let l of a)s(l)}return r},V3=(e,t)=>{let r=t.slice(1),s=new Set(e.hoistTargets(r).map(([a])=>a)),i=r.filter((a)=>e.isModuleImport(a));for(let a of E.importedNames(i))s.add(a);for(let a of e.collectReactiveNames(r))s.add(a);for(let a of e.collectEffectHandles(r))s.add(a);for(let a of e.collectReadonlyNames(r))s.add(a);let n=(a)=>{if(!y(a))return;if(a[0]==="enum"&&typeof a[1]==="string")s.add(a[1]);if(a[0]==="class"&&typeof a[1]==="string")s.add(a[1]);if(k1(a[0])&&a.length===4&&typeof a[1]==="string")s.add(a[1]);if((a[0]==="="||a[0]==="void-assign")&&typeof a[1]==="string")s.add(a[1])};for(let a of r)if(n(a),y(a)&&a[0]==="export"&&y(a[1]))n(a[1]);return s},ga=new Set(["plain","state","computed","effect","readonly","import","class","def","enum"]),W3=(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"||!Z1(r.name))throw Error(`emitter: ambientBindings entries are {name, kind} with an identifier name; got ${JSON.stringify(r)}`);if(!ga.has(r.kind))throw Error(`emitter: ambientBindings kind '${r.kind}' for '${r.name}' is not a binding kind — expected one of ${[...ga].join(", ")}`);if(t.has(r.name))throw Error(`emitter: ambientBindings names '${r.name}' twice — one binding per name`);t.add(r.name)}return e},H3=(e,t,r)=>{let s=t.slice(1),i=new Map,n=(c,h)=>{if(typeof c==="string"&&!i.has(c))i.set(c,h)},a=(c)=>{if(!r.has(c))n(c,"plain")};for(let c of s)if(e.isModuleImport(c))for(let h of E.importedNames([c]))n(h,"import");let o=e.collectComputedNames(s);for(let c of e.collectReactiveNames(s))n(c,o.has(c)?"computed":"state");for(let c of e.collectEffectHandles(s))n(c,"effect");for(let c of e.collectReadonlyNames(s))n(c,"readonly");let l=(c,h)=>{if(!y(c))return;if(c[0]==="enum"&&typeof c[1]==="string")n(c[1],"enum");if(c[0]==="class"&&typeof c[1]==="string")n(c[1],"class");if(k1(c[0])&&c.length===4&&typeof c[1]==="string")n(c[1],"def");if((c[0]==="="||c[0]==="void-assign")&&typeof c[1]==="string")if(h)n(c[1],"plain");else a(c[1])};for(let c of s)if(l(c,!1),y(c)&&c[0]==="export"&&y(c[1]))l(c[1],!0);for(let[c,,h]of e.hoistTargets(s))if(h==="target")a(c);return[...i].map(([c,h])=>({name:c,kind:h}))},Ui={field:"field",computed:"computed",derived:"derived",method:"method"};function K3(e,t,r,s){let i=[],n=(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 f=new RegExp(`(= |\\| |& )(${n(c.name)})(?= \\||;| &)`).exec(r);if(f!==null)i.push({at:f.index+f[1].length,len:c.name.length,start:c.start,end:c.start+c.name.length});continue}if((Ui[l.tag]??null)===null||typeof l.start!=="number")continue;let h=new RegExp(`([{;] )((?:readonly )?)(${n(l.name)})(\\??: )`).exec(r);if(h===null)continue;if(i.push({at:h.index+h[1].length+h[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 f=/[A-Za-z_$][\w$]*/.exec(e.b.source.slice(l.typeSpan[0],l.typeSpan[1]));if(f!==null){let u=h.index+h[0].length,d=r.indexOf(";",u)<0?r.length:r.indexOf(";",u)+1,p=new RegExp(`(?u[1]))];for(let u of h){if(c.has(u))continue;let d=a[0]+1,p=-1;while(d>0){let m=l.lastIndexOf(u,d-1);if(m<0)break;if(!/[\w$]/.test(l[m-1]??" ")&&!/[\w$]/.test(l[m+u.length]??" ")){p=m;break}d=m}if(p>=0)c.set(u,[p,p+u.length])}let f=(u,d)=>i.some((p)=>ul.at-c.at);let o=0;for(let l of i){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 G3(e,t,r,s){let i=t.story?.decl?.descriptor?.entries??null;if(i===null)return;let n=(a)=>a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");for(let a of i){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(`(= |\\| |& )(${n(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:s+l.index+l[1].length})}for(let a of i){let o=Ui[a.tag]??null;if(o===null||typeof a.start!=="number")continue;let l=n(a.name),c=new RegExp(`([{;] )((?:readonly )?)(${l})(\\??: )`).exec(r);if(c===null)continue;let h=s+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:h,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:h+c[3].length+c[4].length})}}function Ta(e,{source:t="",runtimeDelivery:r="none",face:s="js",pins:i=null,strict:n=!1,script:a=!1,browserModule:o=!1,dataPayload:l=null,ambientBindings:c=null,repl:h=!1,hmr:f=!1,tolerant:u=!1,modulePath:d=null,appStashSpec:p=null,routesUnion:m=null,routeParams:g=null}={}){if(!e.sexpr)throw Error("emitter: cannot emit a failed parse");if(s!=="js"&&s!=="ts")throw Error(`emitter: unknown face '${s}' — expected 'js' (the shipping emission) or 'ts' (the editor face)`);let b=W3(c),S=new ar(e.stores),w=new Re(S,{source:t,primitives:s==="ts"}),R=new E(S,w,{face:s,pins:i,strict:n,script:a,browserModule:o,repl:h,hmr:f,tolerant:u,modulePath:d,appStashSpec:p,routesUnion:m,routeParams:g});if(R.dataPayload=l,r!=="none"&&r!=="import"&&r!=="inline")throw Error(`emitter: unknown runtimeDelivery '${r}' — expected 'none', 'import', or 'inline'`);if(R.collectTsDirectives(e.sexpr,e.trivia??[],t),R.collectTypeOnlyImports(e.sexpr,t),R.collectAppAccessors(e.sexpr),R.tsNocheck!==null){let k=S.idOf(e.sexpr),v=R.tsNocheck;w.tsOnly(()=>{let U=()=>w.emit("//"+v.text.slice(1));if(k!==null)w.markSpan(k,"tsDirective",v.start,v.end,U);else U();w.emit(` +`)})}let T=B3(R,e.sexpr),j=(k)=>{if(typeof k==="string")R.temps.used.add(k);else if(y(k))for(let v of k)j(v)};for(let{tree:k,atoms:v}of T)j(k),j(v);for(let{name:k}of b)R.temps.used.add(k);let M=U3(R,T);for(let{name:k}of b)M.add(k);let x=[...M];for(let k of pt)for(let v of k.generatedNames??[])R.runtimeAliases.set(v,E.mintName(v,M));let A=V3(R,e.sexpr),C=H3(R,e.sexpr,new Set(b.map(({name:k})=>k)));for(let{name:k}of b)A.add(k);let O=new Set;for(let k of pt){let v=new Set(k.names.filter((U)=>!A.has(U)));if(T.some(({tree:U,isDecl:Z,isTrigger:P,isComponent:X})=>k.triggers?.(U,{isTrigger:P,isComponent:X})||Ee(U,v,Z)))O.add(k.key)}for(let k=!0;k;){k=!1;for(let v of pt){if(!O.has(v.key))continue;for(let U of Fi(v))if(!O.has(U))O.add(U),k=!0}}if(r!=="none"){let k=pt.filter((Z)=>O.has(Z.key)),v=[];if(r==="import")for(let Z of k)v.push({runtimes:[Z],names:Z.names,imp:Z.url.pathname});else{let Z=new Set(k.flatMap((P)=>Fi(P)));for(let P of k){if(Z.has(P.key))continue;let X=[],F=(Q)=>{if(X.includes(Q))return;for(let a1 of Fi(Q)){let d1=pt.find((I)=>I.key===a1);if(d1)F(d1)}X.push(Q)};if(F(P),X.length===1){v.push({runtimes:[P],names:P.names,body:pa(P),types:P.types});continue}let e1=X.some((Q)=>Q.types)?Object.assign({},...X.map((Q)=>Q.types)):void 0;v.push({runtimes:X,names:X.flatMap((Q)=>Q.names),body:X.map((Q)=>pa(Q)).join(` +`),types:e1})}}let U=S.idOf(e.sexpr);for(let Z of v){let P=new Set(Z.runtimes.flatMap((e1)=>e1.generatedNames??[])),X=Z.names.filter((e1)=>P.has(e1)||!A.has(e1)).map((e1)=>({name:e1,local:P.has(e1)?R.runtimeAliases.get(e1):e1}));if(X.length===0)continue;let F=w.offset;if(Z.imp){w.emit(`import { ${X.map(({name:Q,local:a1})=>Q===a1?Q:`${Q} as ${a1}`).join(", ")} } from `);let e1=w.offset;w.emit(JSON.stringify(Z.imp)),R.importSpans.push({start:e1,end:w.offset,specifier:JSON.stringify(Z.imp)}),w.emit(`; +`)}else{w.emit(`const { ${X.map(({name:Q,local:a1})=>Q===a1?Q:`${Q}: ${a1}`).join(", ")} }`);let e1=s==="ts"&&Z.types?`{ ${X.map(({name:Q})=>`${Q}: ${Z.types[Q]??"any"}`).join("; ")} }`:null;if(e1!==null&&e1.includes("__RipClassValue"))R._needsClassValue=!0;if(e1!==null&&e1.includes("__RipCSSProperties"))R._needsCssProperties=!0;if(w.emit(" = "),e1)w.tsOnly(()=>w.emit("("));if(w.emit(`(() => { +${Z.body} +return { ${Z.names.join(", ")} }; +})()`),e1)w.tsOnly(()=>w.emit(` as ${e1})`));w.emit(`; +`)}if(U!==null)w.rows.push({nodeId:U,role:"runtime",mappingKind:"synthetic",sourceStart:0,sourceEnd:0,generatedStart:F,generatedEnd:w.offset,fileId:0})}}let W=null;if(s==="ts"){let k=null;try{k=xn(e.sexpr,w.source,E.importedNames(e.sexpr.slice(1).filter((v)=>R.isModuleImport(v))))}catch(v){if(v instanceof _i){let U=Error(`emitter: ${v.message}`),Z=v.node!==null?S.idOf(v.node):null,P=Z!==null?S.selfSpan(Z):null;if(P)U.start=P[0],U.end=P[1];else if(v.start!==null)U.start=v.start,U.end=v.start;throw U}throw v}if(W=k,k!==null){let v=S.idOf(e.sexpr),U=w.offset;if(w.tsOnly(()=>w.emit(k.intrinsicLines.join(` `)+` -`)),v!==null)w.rows.push({nodeId:v,role:"schemaTypes",mappingKind:"synthetic",sourceStart:0,sourceEnd:0,generatedStart:j,generatedEnd:w.offset,fileId:0});R.schemaStories=new Map;let X=[...k.stories.map((x)=>({node:x.decl.node,exported:x.decl.exported,story:x,lines:x.faceAliasLines??x.aliasLines})),...k.derivations.map((x)=>({node:x.decl.node,exported:x.decl.exported,story:null,lines:x.aliasLines}))];X.forEach((x,Z)=>{if(x.story!==null)R.schemaStories.set(x.node,x.story);let U=x.exported?"export ":"",r1=S.idOf(x.node),Q=Z===X.length-1?` +`)),v!==null)w.rows.push({nodeId:v,role:"schemaTypes",mappingKind:"synthetic",sourceStart:0,sourceEnd:0,generatedStart:U,generatedEnd:w.offset,fileId:0});R.schemaStories=new Map;let Z=[...k.stories.map((P)=>({node:P.decl.node,exported:P.decl.exported,story:P,lines:P.faceAliasLines??P.aliasLines})),...k.derivations.map((P)=>({node:P.decl.node,exported:P.decl.exported,story:null,lines:P.aliasLines}))];Z.forEach((P,X)=>{if(P.story!==null)R.schemaStories.set(P.node,P.story);let F=P.exported?"export ":"",e1=S.idOf(P.node),Q=X===Z.length-1?` `:` -`;w.tsOnly(()=>{let l1=()=>{let I=w.offset,s1=x.lines.map((e1)=>`${U}${e1}`).join(` -`);U3(R,x,s1,r1),V3(R,x,s1,I)};if(r1!==null)w.mark(r1,"$self",l1);else l1();w.emit(Q)})})}}if(R.tsDirectivesArmed=!0,b.length>0){let k=new Set,v=new Set,j=new Set,X=new Set;for(let{name:x,kind:Z}of b){if(Z==="state"||Z==="computed")k.add(x);else X.add(x);if(Z==="computed")v.add(x);if(Z==="readonly")j.add(x)}R.rframes.push({reactive:k,computed:v,bound:X,ambientReadonly:j}),R.scopes.push(new Set(b.map(({name:x})=>x)))}if(R.program(e.sexpr),b.length>0)R.rframes.pop(),R.scopes.pop();if(s==="ts"&&Array.isArray(e.sexpr)){let k=(()=>{for(let v of e.sexpr){if(!Array.isArray(v)||v[0]!=="export"||!Array.isArray(v[1]))continue;let j=v[1];if(j[0]==="="){if(j[1]==="stash")return"stash";continue}if(!j.every((x)=>typeof x==="string"&&/^[A-Za-z_$][\w$]*$/.test(x)||Array.isArray(x)&&x.length===2&&typeof x[0]==="string"&&typeof x[1]==="string"))continue;for(let x of j){if(x==="stash")return"stash";if(Array.isArray(x)&&x[1]==="stash")return x[0]}}return null})();if(k!==null)R.stashKeys=E.stashKeysOf(e.sexpr,k),w.tsOnly(()=>{let v=/^(?:export\s+)?(stash)\s*=/m.exec(w.source??""),j=v!==null?S.idOf(e.sexpr):null;if(w.emit(` -export type __RipStash = typeof `),j!==null)w.markSpan(j,"identifier",v.index+v[0].indexOf("stash"),v.index+v[0].indexOf("stash")+5,()=>w.emit(k));else w.emit(k);w.emit(`; +`;w.tsOnly(()=>{let a1=()=>{let d1=w.offset,I=P.lines.map((l1)=>`${F}${l1}`).join(` +`);K3(R,P,I,e1),G3(R,P,I,d1)};if(e1!==null)w.mark(e1,"$self",a1);else a1();w.emit(Q)})})}}if(R.tsDirectivesArmed=!0,b.length>0){let k=new Set,v=new Set,U=new Set,Z=new Set;for(let{name:P,kind:X}of b){if(X==="state"||X==="computed")k.add(P);else Z.add(P);if(X==="computed")v.add(P);if(X==="readonly")U.add(P)}R.rframes.push({reactive:k,computed:v,bound:Z,ambientReadonly:U}),R.scopes.push(new Set(b.map(({name:P})=>P)))}if(R.program(e.sexpr),b.length>0)R.rframes.pop(),R.scopes.pop();if(s==="ts"&&Array.isArray(e.sexpr)){let k=(()=>{for(let v of e.sexpr){if(!Array.isArray(v)||v[0]!=="export"||!Array.isArray(v[1]))continue;let U=v[1];if(U[0]==="="){if(U[1]==="stash")return"stash";continue}if(!U.every((P)=>typeof P==="string"&&/^[A-Za-z_$][\w$]*$/.test(P)||Array.isArray(P)&&P.length===2&&typeof P[0]==="string"&&typeof P[1]==="string"))continue;for(let P of U){if(P==="stash")return"stash";if(Array.isArray(P)&&P[1]==="stash")return P[0]}}return null})();if(k!==null)R.stashKeys=E.stashKeysOf(e.sexpr,k),w.tsOnly(()=>{let v=/^(?:export\s+)?(stash)\s*=/m.exec(w.source??""),U=v!==null?S.idOf(e.sexpr):null;if(w.emit(` +export type __RipStash = typeof `),U!==null)w.markSpan(U,"identifier",v.index+v[0].indexOf("stash"),v.index+v[0].indexOf("stash")+5,()=>w.emit(k));else w.emit(k);w.emit(`; `)})}if(s==="ts"&&R.routesUnion!==null){let k=w.code;if(/\bRoutePath\b/.test(k)&&!/\b(?:type|interface)\s+RoutePath\b/.test(k)&&!/\bimport\b[^;\n]*\bRoutePath\b/.test(k))w.tsOnly(()=>w.emit(` type RoutePath = ${R.routesUnion}; `))}if(R._needsAmbienceHelper===!0)w.tsOnly(()=>w.emit(` declare function __ripAmbientStash(v: T): T; `));if(R._needsRouteHelper===!0)w.tsOnly(()=>w.emit(` -declare function __ripRoute(s: ${Xs(R.routesUnion,"T")}): T; -`));if(s==="ts"&&(R.domSurfaces.size>0||R._needsClassValue===!0||R._needsCssProperties===!0||R._needsRefCellHelper===!0||R._needsChildren===!0||R._restTags.size>0)){let k=Fs(R.domSurfaces.values(),{needsClassValue:R._needsClassValue===!0,needsCssProperties:R._needsCssProperties===!0,needsRefCell:R._needsRefCellHelper===!0,needsChildren:R._needsChildren===!0,extra:[...R._restTags].sort().map((v)=>`type ${Pi(v)} = ${sa(v,"face")};`)});if(k!=="")w.tsOnly(()=>w.emit(k))}if(R._needsSourceKeyHelper===!0){let k=`keyof import(${JSON.stringify(R.appStashSpec)}).__RipStash & string`;w.tsOnly(()=>w.emit(` +declare function __ripRoute(s: ${Zn(R.routesUnion,"T")}): T; +`));if(s==="ts"&&(R.domSurfaces.size>0||R._needsClassValue===!0||R._needsCssProperties===!0||R._needsRefCellHelper===!0||R._needsChildren===!0||R._restTags.size>0)){let k=Un(R.domSurfaces.values(),{needsClassValue:R._needsClassValue===!0,needsCssProperties:R._needsCssProperties===!0,needsRefCell:R._needsRefCellHelper===!0,needsChildren:R._needsChildren===!0,extra:[...R._restTags].sort().map((v)=>`type ${Ci(v)} = ${oa(v,"face")};`)});if(k!=="")w.tsOnly(()=>w.emit(k))}if(R._needsSourceKeyHelper===!0){let k=`keyof import(${JSON.stringify(R.appStashSpec)}).__RipStash & string`;w.tsOnly(()=>w.emit(` declare function __ripSourceKey(s: T): T; `))}if(R._needsNarrowHelper===!0)w.tsOnly(()=>w.emit(` declare function __ripNarrow(v: T): asserts v is NonNullable; `));if(R._needsNarrowedHelper===!0)w.tsOnly(()=>w.emit(` declare function __ripNarrowed(c: T): { readonly value: NonNullable; read(): NonNullable }; -`));let H=[];if(s==="ts"&&y(e.sexpr)&&e.sexpr[0]==="program"){let k=/^[A-Za-z_$][A-Za-z0-9_$]*$/;for(let v of e.sexpr.slice(1)){if(!y(v)||v[0]!=="??="||v.length!==3)continue;let j=v[1];if(!y(j)||j[0]!=="."||j[1]!=="globalThis")continue;if(typeof j[2]!=="string"||!k.test(j[2]))continue;let X=new Set(["null","undefined","true","false","this"]),x=v[2];H.push({name:j[2],anchor:typeof x==="string"&&k.test(x)&&!X.has(x)?x:null})}if(H.length)w.tsOnly(()=>{for(let v of H)if(v.anchor!==null)w.emit(` +`));let G=[];if(s==="ts"&&y(e.sexpr)&&e.sexpr[0]==="program"){let k=/^[A-Za-z_$][A-Za-z0-9_$]*$/;for(let v of e.sexpr.slice(1)){if(!y(v)||v[0]!=="??="||v.length!==3)continue;let U=v[1];if(!y(U)||U[0]!=="."||U[1]!=="globalThis")continue;if(typeof U[2]!=="string"||!k.test(U[2]))continue;let Z=new Set(["null","undefined","true","false","this"]),P=v[2];G.push({name:U[2],anchor:typeof P==="string"&&k.test(P)&&!Z.has(P)?P:null})}if(G.length)w.tsOnly(()=>{for(let v of G)if(v.anchor!==null)w.emit(` type __ripGlobal_${v.name} = typeof ${v.anchor};`);w.emit(` -declare global {`);for(let v of H)w.emit(` +declare global {`);for(let v of G)w.emit(` var ${v.name}: ${v.anchor===null?"any":`__ripGlobal_${v.name}`};`);w.emit(` } -`)})}if(s==="ts"&&!Ds(e.sexpr,(k)=>R.isModuleImport(k)))w.tsOnly(()=>w.emit(` +`)})}if(s==="ts"&&!Cn(e.sexpr,(k)=>R.isModuleImport(k)))w.tsOnly(()=>w.emit(` export {}; -`));let G=[];for(let{name:k,node:v,path:j,key:X}of R.pinnables){if(X===null)continue;let x=S.idOf(v);if(x===null)continue;let Z=w.rows.find((r1)=>r1.nodeId===x&&r1.role==="$self"),U=w.rows.find((r1)=>r1.nodeId===x&&r1.role==="value");if(!Z||!U)continue;G.push({name:k,key:X,path:j??"",stmtGen:[Z.generatedStart,Z.generatedEnd],valueGen:[U.generatedStart,U.generatedEnd]})}return{code:w.code,mappings:w.rows,vocabulary:R.vocabulary,silences:R.silences,memberDecls:R.memberDecls,narrowedDecls:R.narrowedDecls,enums:R.enums,importedRefs:R.importedRefs,stores:S,runtimes:O,bindings:D,bindingNames:P,replResultName:R.replResultName,replImportResolver:R.replImportResolver,tsRegions:w.tsRegions,echoSpans:w.echoSpans,globalDecls:H.map((k)=>k.name),pinnables:G,mutables:R.mutables,classDecls:R.classDecls,pinSpans:R.pinSpans,loopVars:R.loopVars,readLoopVarDecls:R.loopVarDecls.filter((k)=>k.owner.readVars.has(k.which)).map((k)=>k.span),attrNames:R.attrNames,routeWraps:R.routeWrapSpans,sourceKeys:R.sourceKeySpans,stashMembers:R.stashMemberSpans,stashKeys:R.stashKeys??null,memberInits:R.memberInitSites,imports:R.importSpans,intrinsics:R.intrinsics,componentUses:R.componentUses,namespaceExports:R.namespaceExports,componentNames:R.componentNames,renderPairs:R.renderPairs,kinds:R.kinds}}var ka="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",d5=new Map([...ka].map((e,t)=>[e,t])),W3=/^[$_\p{ID_Start}][$\u200C\u200D_\p{ID_Continue}]*$/u;function bt(e){let t=e<0?-e<<1|1:e<<1,r="";do{let s=t&31;if(t>>>=5,t>0)s|=32;r+=ka[s]}while(t>0);return r}function Ta({code:e,mappings:t},{source:r,file:s="output.js",sourcePath:i="input.rip"}={}){let n=new ye(r,i),a=new ye(e,s),l=(t instanceof Se?t:new Se(t)).serializableRows(),c=[],f=new Map,h=[],u=0,d=0,p=0;for(let m of l){let g=a.lineColAt(m.generatedStart),b=n.lineColAt(m.sourceStart);while(h.length<=g.line)h.push([]);let S=h[g.line],w=S.length?S[S.length-1].genCol:0,R=bt(g.col-w)+bt(0)+bt(b.line-u)+bt(b.col-d);u=b.line,d=b.col;let T=e.slice(m.generatedStart,m.generatedEnd);if(m.mappingKind==="exact"&&W3.test(T)){let F=f.get(T);if(F===void 0)F=c.length,c.push(T),f.set(T,F);R+=bt(F-p),p=F}S.push({genCol:g.col,seg:R})}return{version:3,file:s,sources:[i],sourcesContent:[r],names:c,mappings:h.map((m)=>m.map((g)=>g.seg).join(",")).join(";")}}var wa=()=>{throw Error("rip: declaration emission is unavailable in the browser")};class He extends Error{constructor(e,{path:t,start:r=null,end:s=null,line:i=null,col:n=null}={}){super(e);this.name="CompileError",this.path=t,this.start=r,this.end=s,this.line=i,this.col=n}}var H3=(e,t)=>{let{line:r,col:s}=e.lineColAt(t),i=e.lineStarts[r],n=r+1c==="\t"?"\t":" ").join("");return` ${o} | ${a} +`));let Y=[];for(let{name:k,node:v,path:U,key:Z}of R.pinnables){if(Z===null)continue;let P=S.idOf(v);if(P===null)continue;let X=w.rows.find((e1)=>e1.nodeId===P&&e1.role==="$self"),F=w.rows.find((e1)=>e1.nodeId===P&&e1.role==="value");if(!X||!F)continue;Y.push({name:k,key:Z,path:U??"",stmtGen:[X.generatedStart,X.generatedEnd],valueGen:[F.generatedStart,F.generatedEnd]})}return{code:w.code,mappings:w.rows,vocabulary:R.vocabulary,silences:R.silences,memberDecls:R.memberDecls,narrowedDecls:R.narrowedDecls,enums:R.enums,importedRefs:R.importedRefs,stores:S,runtimes:O,bindings:C,bindingNames:x,replResultName:R.replResultName,replImportResolver:R.replImportResolver,tsRegions:w.tsRegions,echoSpans:w.echoSpans,globalDecls:G.map((k)=>k.name),pinnables:Y,mutables:R.mutables,classDecls:R.classDecls,pinSpans:R.pinSpans,loopVars:R.loopVars,readLoopVarDecls:R.loopVarDecls.filter((k)=>k.owner.readVars.has(k.which)).map((k)=>k.span),attrNames:R.attrNames,routeWraps:R.routeWrapSpans,sourceKeys:R.sourceKeySpans,stashMembers:R.stashMemberSpans,stashKeys:R.stashKeys??null,memberInits:R.memberInitSites,imports:R.importSpans,intrinsics:R.intrinsics,componentUses:R.componentUses,namespaceExports:R.namespaceExports,componentNames:R.componentNames,renderPairs:R.renderPairs,kinds:R.kinds}}var wa="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",S5=new Map([...wa].map((e,t)=>[e,t])),Y3=/^[$_\p{ID_Start}][$\u200C\u200D_\p{ID_Continue}]*$/u;function bt(e){let t=e<0?-e<<1|1:e<<1,r="";do{let s=t&31;if(t>>>=5,t>0)s|=32;r+=wa[s]}while(t>0);return r}function _a({code:e,mappings:t},{source:r,file:s="output.js",sourcePath:i="input.rip"}={}){let n=new ye(r,i),a=new ye(e,s),l=(t instanceof Se?t:new Se(t)).serializableRows(),c=[],h=new Map,f=[],u=0,d=0,p=0;for(let m of l){let g=a.lineColAt(m.generatedStart),b=n.lineColAt(m.sourceStart);while(f.length<=g.line)f.push([]);let S=f[g.line],w=S.length?S[S.length-1].genCol:0,R=bt(g.col-w)+bt(0)+bt(b.line-u)+bt(b.col-d);u=b.line,d=b.col;let T=e.slice(m.generatedStart,m.generatedEnd);if(m.mappingKind==="exact"&&Y3.test(T)){let j=h.get(T);if(j===void 0)j=c.length,c.push(T),h.set(T,j);R+=bt(j-p),p=j}S.push({genCol:g.col,seg:R})}return{version:3,file:s,sources:[i],sourcesContent:[r],names:c,mappings:f.map((m)=>m.map((g)=>g.seg).join(",")).join(";")}}var Na=()=>{throw Error("rip: declaration emission is unavailable in the browser")};class He extends Error{constructor(e,{path:t,start:r=null,end:s=null,line:i=null,col:n=null}={}){super(e);this.name="CompileError",this.path=t,this.start=r,this.end=s,this.line=i,this.col=n}}var z3=(e,t)=>{let{line:r,col:s}=e.lineColAt(t),i=e.lineStarts[r],n=r+1c==="\t"?"\t":" ").join("");return` ${o} | ${a} ${" ".repeat(o.length)} | ${l}^`},Vi=(e,t,r,s,i)=>{let{line:n,col:a}=e.lineColAt(s),o=`${t}:${n+1}:${a+1}: ${r} -${H3(e,s)}`;return new He(o,{path:t,start:s,end:i,line:n+1,col:a+1})},G3=(e,t)=>{let r=e.text,s=r.slice(0,t.start),i=r.slice(t.start),n=s.slice(s.lastIndexOf(` -`)+1);if(t.expected?.[0]===":"||/\?[ \t]*$/.test(s))return"a two-operand '?' is incomplete — a default for null/undefined is spelled x ?? y";if(/^\.\.\.[^\n]*\)\s*[-=]>/.test(i)&&/[(,]\s*[A-Za-z_$][\w$]*\s*$/.test(s))return"a rest parameter is spelled `...name` — the dots lead the name";if(/^for\b/.test(i)&&/^\s*return\b/.test(n))return"`return` takes one expression — parenthesize the comprehension: `return (v for v in list)`";if(/^!/.test(i)&&/\bimport\s*$/.test(s))return"an awaited dynamic import is spelled `import!('mod')` — the call parens are required";if(/^!/.test(i)&&/\)\s*$/.test(s))return"the await bang goes on the callee — `fn!()`, not `fn()!`";if(/^if\b[^\n]*\n[ \t]*then\b/.test(i))return"`then` belongs on the `if` line (`if c then …`) — or indent the body beneath the condition";return null},K3=(e,t,r)=>{let s=G3(e,r),i=s!==null?`${r.message} - (${s})`:r.message;return Vi(e,t,i,r.start,r.end)};function _a(e,{path:t="",runtimeDelivery:r="inline",face:s="js",pins:i=null,strict:n=!1,script:a=!1,browserModule:o=!1,foldProjections:l=!1,ambientBindings:c=null,repl:f=!1,tolerant:h=!1,hmr:u=!1,appStashSpec:d=null,routesUnion:p=null,routeParams:m=null}={}){if(typeof e!=="string"){let P=e===null?"null":Array.isArray(e)?"an array":`a ${typeof e}`;throw new He(`compile: source must be a string; got ${P}`,{path:t})}let g=new ye(e,t),b=null,S=e;{let P=e.split(` -`),N=P.findIndex((D)=>D==="__DATA__");if(N!==-1){let D=P.slice(N+1);b=D.length>0?D.join(` +${z3(e,s)}`;return new He(o,{path:t,start:s,end:i,line:n+1,col:a+1})},q3=(e,t)=>{let r=e.text,s=r.slice(0,t.start),i=r.slice(t.start),n=s.slice(s.lastIndexOf(` +`)+1);if(t.expected?.[0]===":"||/\?[ \t]*$/.test(s))return"a two-operand '?' is incomplete — a default for null/undefined is spelled x ?? y";if(/^\.\.\.[^\n]*\)\s*[-=]>/.test(i)&&/[(,]\s*[A-Za-z_$][\w$]*\s*$/.test(s))return"a rest parameter is spelled `...name` — the dots lead the name";if(/^for\b/.test(i)&&/^\s*return\b/.test(n))return"`return` takes one expression — parenthesize the comprehension: `return (v for v in list)`";if(/^!/.test(i)&&/\bimport\s*$/.test(s))return"an awaited dynamic import is spelled `import!('mod')` — the call parens are required";if(/^!/.test(i)&&/\)\s*$/.test(s))return"the await bang goes on the callee — `fn!()`, not `fn()!`";if(/^if\b[^\n]*\n[ \t]*then\b/.test(i))return"`then` belongs on the `if` line (`if c then …`) — or indent the body beneath the condition";return null},X3=(e,t,r)=>{let s=q3(e,r),i=s!==null?`${r.message} + (${s})`:r.message;return Vi(e,t,i,r.start,r.end)};function Aa(e,{path:t="",runtimeDelivery:r="inline",face:s="js",pins:i=null,strict:n=!1,script:a=!1,browserModule:o=!1,foldProjections:l=!1,ambientBindings:c=null,repl:h=!1,tolerant:f=!1,hmr:u=!1,appStashSpec:d=null,routesUnion:p=null,routeParams:m=null}={}){if(typeof e!=="string"){let x=e===null?"null":Array.isArray(e)?"an array":`a ${typeof e}`;throw new He(`compile: source must be a string; got ${x}`,{path:t})}let g=new ye(e,t),b=null,S=e;{let x=e.split(` +`),A=x.findIndex((C)=>C==="__DATA__");if(A!==-1){let C=x.slice(A+1);b=C.length>0?C.join(` `)+` -`:"",S=P.slice(0,N).join(` -`)}}let w=nr();w.lexer=As(t,{tolerant:h});let R;try{R=w.parse(S,{primitives:s==="ts",tolerant:h})}catch(P){if(typeof P.start!=="number")throw P;throw Vi(g,t,P.reason??P.message,P.start,P.end)}if(R.diagnostics.length>0&&!(h&&R.sexpr!=null))throw K3(g,t,R.diagnostics[0]);if(l)Zn(R.sexpr);let T;try{T=Ea(R,{source:e,runtimeDelivery:r,face:s,pins:i,strict:n,script:a,browserModule:o,dataPayload:b,ambientBindings:c,repl:f,hmr:u,tolerant:h,modulePath:t,appStashSpec:d,routesUnion:p,routeParams:m})}catch(P){if(typeof P.start==="number")throw Vi(g,t,P.message,P.start,P.end);if(P instanceof RangeError)throw new He(`${t}: emitter: the program nests too deeply to emit (the engine stack was exhausted) — restructure the deepest expression or block`,{path:t});throw new He(`${t}: ${P.message}`,{path:t})}let F=Ta(T,{source:e,sourcePath:t,file:`${t}.js`}),L=null;return{parseDiagnostics:R.diagnostics,code:T.code,map:F,stores:T.stores,tokens:R.tokens??null,mappings:new Se(T.mappings),vocabulary:T.vocabulary??[],silences:T.silences??[],memberDecls:T.memberDecls??[],narrowedDecls:T.narrowedDecls??[],runtimes:T.runtimes,bindings:T.bindings,bindingNames:T.bindingNames,replResultName:T.replResultName,replImportResolver:T.replImportResolver,tsRegions:T.tsRegions,echoSpans:T.echoSpans??[],globalDecls:T.globalDecls??[],pinnables:T.pinnables,pinSpans:T.pinSpans??[],mutables:T.mutables,enums:T.enums,classDecls:T.classDecls,loopVars:T.loopVars,readLoopVarDecls:T.readLoopVarDecls,attrNames:T.attrNames,routeWraps:T.routeWraps,memberInits:T.memberInits,sourceKeys:T.sourceKeys,stashMembers:T.stashMembers,stashKeys:T.stashKeys,renderPairs:T.renderPairs,kinds:T.kinds,intrinsics:T.intrinsics??[],componentUses:T.componentUses??[],namespaceExports:T.namespaceExports??[],componentNames:T.componentNames??[],importedRefs:T.importedRefs,imports:T.imports,trivia:R.trivia??[],get declarations(){if(L===null)try{L=wa({sexpr:R.sexpr,stores:T.stores,source:e})}catch(P){throw new He(`${t}: ${P.message}`,{path:t})}return L}}}var pr={};Fe(pr,{__defineOwnDataProperty:()=>J3,__toPropertyKey:()=>X3});var{defineProperty:Y3,getOwnPropertyNames:z3,getOwnPropertySymbols:q3}={}.constructor,X3=(e)=>{let t={[e]:0},r=z3(t);return r.length===1?r[0]:q3(t)[0]},J3=(e,t,r)=>Y3(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0});var gr={};Fe(gr,{abort:()=>Na,assert:()=>Aa,exit:()=>va,kind:()=>Oa,noop:()=>Ia,p:()=>$a,pj:()=>xa,pp:()=>Da,pr:()=>Pa,raise:()=>Ca,rand:()=>La,sleep:()=>Ma,toMatchable:()=>Ua,todo:()=>ja,warn:()=>Fa,zip:()=>Ba});var Na=(e)=>{if(e)console.error(e);if(typeof process<"u")process.exit(1);throw Error(e||"abort")},Aa=(e,t)=>{if(!e)throw Error(t||"Assertion failed")},va=(e)=>{if(typeof process<"u")process.exit(e||0);throw Error(`exit(${e||0}) outside a process`)},Oa=(e)=>e!=null?(e.constructor?.name||Object.prototype.toString.call(e).slice(8,-1)).toLowerCase():String(e),Ia=()=>{},$a=(...e)=>console.log(...e),Da=(e)=>(console.dir(e,{depth:null,colors:!0}),e),xa=(e)=>(console.log(JSON.stringify(e,null,2)),e),Pa=(()=>{let e=/^[A-Za-z_$][A-Za-z0-9_$]*$/,t=(n,a)=>n.replace(/\\/g,"\\\\").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(new RegExp(a,"g"),"\\"+a),r=(n)=>!n.includes("'")?"'"+t(n,"'")+"'":!n.includes('"')?'"'+t(n,'"').split("#{").join("\\#{")+'"':"'"+t(n,"'")+"'",s=(n)=>{if(typeof n==="symbol"){let a=Symbol.keyFor(n);return a&&e.test(a)?":"+a:r(String(n))}return e.test(n)?n:r(n)},i=(n,a)=>{if(n===null)return"null";if(n===void 0)return"undefined";let o=typeof n;if(o==="number"||o==="boolean")return String(n);if(o==="string")return r(n);if(o==="symbol"){let l=Symbol.keyFor(n);return l&&e.test(l)?":"+l:null}if(Array.isArray(n)){if(n.length===0)return"[]";let l=" ".repeat(a+1),c=" ".repeat(a),f=n.map((h)=>i(h,a+1));if(f.some((h)=>h===null))return null;return`[ -`+l+f.join(` +`:"",S=x.slice(0,A).join(` +`)}}let w=sr();w.lexer=On(t,{tolerant:f});let R;try{R=w.parse(S,{primitives:s==="ts",tolerant:f})}catch(x){if(typeof x.start!=="number")throw x;throw Vi(g,t,x.reason??x.message,x.start,x.end)}if(R.diagnostics.length>0&&!(f&&R.sexpr!=null))throw X3(g,t,R.diagnostics[0]);if(l)Zs(R.sexpr);let T;try{T=Ta(R,{source:e,runtimeDelivery:r,face:s,pins:i,strict:n,script:a,browserModule:o,dataPayload:b,ambientBindings:c,repl:h,hmr:u,tolerant:f,modulePath:t,appStashSpec:d,routesUnion:p,routeParams:m})}catch(x){if(typeof x.start==="number")throw Vi(g,t,x.message,x.start,x.end);if(x instanceof RangeError)throw new He(`${t}: emitter: the program nests too deeply to emit (the engine stack was exhausted) — restructure the deepest expression or block`,{path:t});throw new He(`${t}: ${x.message}`,{path:t})}let j=_a(T,{source:e,sourcePath:t,file:`${t}.js`}),M=null;return{parseDiagnostics:R.diagnostics,code:T.code,map:j,stores:T.stores,tokens:R.tokens??null,mappings:new Se(T.mappings),vocabulary:T.vocabulary??[],silences:T.silences??[],memberDecls:T.memberDecls??[],narrowedDecls:T.narrowedDecls??[],runtimes:T.runtimes,bindings:T.bindings,bindingNames:T.bindingNames,replResultName:T.replResultName,replImportResolver:T.replImportResolver,tsRegions:T.tsRegions,echoSpans:T.echoSpans??[],globalDecls:T.globalDecls??[],pinnables:T.pinnables,pinSpans:T.pinSpans??[],mutables:T.mutables,enums:T.enums,classDecls:T.classDecls,loopVars:T.loopVars,readLoopVarDecls:T.readLoopVarDecls,attrNames:T.attrNames,routeWraps:T.routeWraps,memberInits:T.memberInits,sourceKeys:T.sourceKeys,stashMembers:T.stashMembers,stashKeys:T.stashKeys,renderPairs:T.renderPairs,kinds:T.kinds,intrinsics:T.intrinsics??[],componentUses:T.componentUses??[],namespaceExports:T.namespaceExports??[],componentNames:T.componentNames??[],importedRefs:T.importedRefs,imports:T.imports,trivia:R.trivia??[],get declarations(){if(M===null)try{M=Na({sexpr:R.sexpr,stores:T.stores,source:e})}catch(x){throw new He(`${t}: ${x.message}`,{path:t})}return M}}}var pr={};Fe(pr,{__defineOwnDataProperty:()=>tc,__toPropertyKey:()=>ec});var{defineProperty:J3,getOwnPropertyNames:Z3,getOwnPropertySymbols:Q3}={}.constructor,ec=(e)=>{let t={[e]:0},r=Z3(t);return r.length===1?r[0]:Q3(t)[0]},tc=(e,t,r)=>J3(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0});var gr={};Fe(gr,{abort:()=>va,assert:()=>Oa,exit:()=>Ia,kind:()=>$a,noop:()=>Da,p:()=>xa,pj:()=>Pa,pp:()=>Ca,pr:()=>La,raise:()=>Ma,rand:()=>ja,sleep:()=>Fa,toMatchable:()=>Wa,todo:()=>Ba,warn:()=>Ua,zip:()=>Va});var va=(e)=>{if(e)console.error(e);if(typeof process<"u")process.exit(1);throw Error(e||"abort")},Oa=(e,t)=>{if(!e)throw Error(t||"Assertion failed")},Ia=(e)=>{if(typeof process<"u")process.exit(e||0);throw Error(`exit(${e||0}) outside a process`)},$a=(e)=>e!=null?(e.constructor?.name||Object.prototype.toString.call(e).slice(8,-1)).toLowerCase():String(e),Da=()=>{},xa=(...e)=>console.log(...e),Ca=(e)=>(console.dir(e,{depth:null,colors:!0}),e),Pa=(e)=>(console.log(JSON.stringify(e,null,2)),e),La=(()=>{let e=/^[A-Za-z_$][A-Za-z0-9_$]*$/,t=(n,a)=>n.replace(/\\/g,"\\\\").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(new RegExp(a,"g"),"\\"+a),r=(n)=>!n.includes("'")?"'"+t(n,"'")+"'":!n.includes('"')?'"'+t(n,'"').split("#{").join("\\#{")+'"':"'"+t(n,"'")+"'",s=(n)=>{if(typeof n==="symbol"){let a=Symbol.keyFor(n);return a&&e.test(a)?":"+a:r(String(n))}return e.test(n)?n:r(n)},i=(n,a)=>{if(n===null)return"null";if(n===void 0)return"undefined";let o=typeof n;if(o==="number"||o==="boolean")return String(n);if(o==="string")return r(n);if(o==="symbol"){let l=Symbol.keyFor(n);return l&&e.test(l)?":"+l:null}if(Array.isArray(n)){if(n.length===0)return"[]";let l=" ".repeat(a+1),c=" ".repeat(a),h=n.map((f)=>i(f,a+1));if(h.some((f)=>f===null))return null;return`[ +`+l+h.join(` `+l)+` -`+c+"]"}if(o==="object"){let l=Object.getPrototypeOf(n);if(l!==Object.prototype&&l!==null)return null;let c=Object.keys(n);if(c.length===0)return"{}";let f=" ".repeat(a+1),h=" ".repeat(a),u=c.map((d)=>{let p=i(n[d],a+1);return p===null?null:s(d)+": "+p});if(u.some((d)=>d===null))return null;return`{ -`+f+u.join(` -`+f)+` -`+h+"}"}return null};return(n)=>{let a=i(n,0);if(a!==null)console.log(a);else console.dir(n,{depth:null,colors:!0});return n}})(),Ca=(e,t)=>{throw t!==void 0?new e(t):Error(e)},La=(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(),Ma=(e)=>new Promise((t)=>setTimeout(t,e)),ja=(e)=>{throw Error(e||"Not implemented")},Fa=(...e)=>console.warn(...e),Ba=(...e)=>e[0].map((t,r)=>e.map((s)=>s[r])),Ua=(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 Er={};Fe(Er,{SchemaDef:()=>Et,SchemaError:()=>I1,SchemaRegistry:()=>ie,__schema:()=>ic,installPersistence:()=>Z3,registerCoercer:()=>ec});var Ka=Symbol.for("rip.runtime.schema");if(globalThis[Ka])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[Ka]=!0;var Te=null;function Z3(e){if(Te&&Te!==e)throw Error("the Rip schema persistence runtime is already installed — two different copies met in one process");Te=e}class I1 extends Error{constructor(e,t,r){super(Q3(e,t));this.name="SchemaError",this.issues=e,this.schemaName=t||null,this.schemaKind=r||null}}function Q3(e,t){if(!e||!e.length)return"SchemaError";return(t?t+": ":"")+e.map((s)=>s.message||s.error||"invalid").join("; ")}var Ya={__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,variant:(e)=>e!==void 0,any:()=>!0},Rr={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],s=+t[3],i=new Date(Date.UTC(+t[1],r,0)).getUTCDate();if(r<1||r>12||s<1||s>i)return{ok:!1};let n=new Date(e);if(!Number.isNaN(n.getTime()))return{ok:!0,value:n}}return{ok:!1}}};Rr.datetime=Rr.date;function br(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 Hi=new Map;function ec(e,t,r){if(typeof e!=="string"||typeof t!=="function")throw Error("registerCoercer(name, fn, opts?): name string and fn required");let s=Object.prototype.toString.call(t);if(s==="[object AsyncFunction]"||s==="[object GeneratorFunction]"||s==="[object AsyncGeneratorFunction]")throw Error("registerCoercer: coercer '~:"+e+"' must be a plain synchronous function");let i=r?.raw===!0,n=Hi.get(e);if(n){if(n.raw===i&&String(n.fn)===String(t))return t;throw Error("registerCoercer: coercer '~:"+e+"' is already registered")}return Hi.set(e,{fn:t,raw:i}),t}function St(e){if(Ya[e])return null;let t=ie.get(e);return t&&(t.kind==="shape"||t.kind==="input"||t.kind==="model"||t.kind==="union")?t:null}function Gi(e,t,r){let s=Ya[t];if(s)return s(e)?{value:e}:{errors:[{field:"",error:"type",message:"must be "+t}]};let i=ie.get(t);if(!i)return{value:e};if(i.kind==="enum"){let a=i._validateEnum(e,!0);return a.length?{errors:[{field:"",error:"enum",message:a[0].message}]}:{value:i._materializeEnum(e)}}if(i.kind==="mixin")return{errors:[{field:"",error:"type",message:":mixin "+t+" is not usable as a field type"}]};if(i.kind==="union"){let a=i._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 n=r?.existing?i._runExistingSync(e,{...r,materialize:!1,materializeNested:!1}):i._runSync(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}}async function Va(e,t,r){let s=St(t);if(s===null)return Gi(e,t,r);if(s.kind==="union"){let n=s._unionResolve(e);if(n.issue)return{errors:[n.issue]};let a=r?.existing?await n.def._runExistingAsync(e,{...r,materialize:!1,materializeNested:!1}):await n.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 i=r?.existing?await s._runExistingAsync(e,{...r,materialize:!1,materializeNested:!1}):await s._runAsync(e,{...r,materialize:!1,materializeNested:!1});if(i.thrown){if(r?.derived==="throw")throw i.thrown;return{errors:[{field:"",error:"derived",message:i.thrown?.message||String(i.thrown)}]}}return i.ok?{value:i.value}:{errors:i.errors}}function Rt(e,t){if(!t)return e;return e+(t.startsWith("[")?t:"."+t)}function yr(e,t,r){if(!t)return e+" "+r;if(r.startsWith(t))return e+r.slice(t.length);return e+": "+r}var Sr=Symbol("schema.materialization-error");function Wa(e,t){if(e&&e[Sr])return{[Sr]:!0,error:e.error,field:Rt(t,e.field)};return{[Sr]:!0,error:e,field:t}}function Ge(e){return e&&e[Sr]?{thrown:e.error,derivedField:e.field}:{thrown:e,derivedField:""}}var tc=tt;function Ha(e){let t=(s)=>JSON.stringify(s??null,(i,n)=>n instanceof RegExp?String(n):typeof n==="function"?"":n),r=[e.kind];for(let s of e._desc.entries||[])switch(s.tag){case"field":r.push("f:"+s.name+":"+(s.typeName||"")+(s.array?"[]":"")+":"+(s.modifiers||[]).join("")+(s.literals?":"+s.literals.join(","):"")+":"+t(s.constraints)+(s.coerce?":~"+(s.coercer||""):"")+(s.transform?":t":""));break;case"enum-member":r.push("e:"+s.name+"="+String(s.value));break;case"directive":r.push("d:"+s.name+":"+t(s.args));break;case"ensure":r.push("n:"+(s.message||""));break;default:r.push(s.tag+":"+(s.name||""))}return r.join("|")}var ke=0,ie={_entries:new Map,replace:!1,register(e){if(!e.name)return;ke++;let t=this._entries.get(e.name);if(t&&t.def!==e&&!this.replace){if(Ha(t.def)!==Ha(e))throw new I1([{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(),ke++},scope(e){let t=this._entries;this._entries=new Map,ke++;let r=()=>{this._entries=t,ke++};try{let s=e();if(s&&typeof s.then==="function")return s.finally(r);return r(),s}catch(s){throw r(),s}}};class Et{constructor(e){if(e.kind==="model"&&!Te)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")Te.decorateDef(this,e)}_normalize(){if(this._norm)return this._norm;let e=new Map,t=new Map,r=new Map,s=new Map,i=new Map,n=new Map,a=null,o=[],l=new Map,c=[],f=(S,w)=>{throw new I1([{field:S,error:"collision",message:S+" collides with "+w}],this.name,this.kind)},h=(S)=>{if(e.has(S))f(S,"field");if(t.has(S))f(S,"method");if(r.has(S))f(S,"computed");if(s.has(S))f(S,"derived");if(i.has(S))f(S,"hook")},u=(S)=>{throw new I1([{field:"",error:"kind",message:S+" is :model-only (this schema is :"+this.kind+")"}],this.name,this.kind)},d=this.kind==="union"?new Set(["on"]):new Set(["mixin"]),p=(S,w)=>{if(!tc(S))throw new I1([{field:S,error:"invalid-name",message:w+" name '"+S+"' 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 S of this._desc.entries)switch(S.tag){case"field":p(S.name,"field"),h(S.name),e.set(S.name,{name:S.name,required:S.modifiers.includes("!"),optional:S.modifiers.includes("?"),unique:S.unique===!0,primary:S.primary===!0,attrs:S.attrs||null,typeName:S.typeName,literals:S.literals||null,array:S.array===!0,coerce:S.coerce===!0,coercer:S.coercer||null,constraints:S.constraints||null,transform:S.transform||null});break;case"method":h(S.name),t.set(S.name,S.fn);break;case"computed":h(S.name),r.set(S.name,S.fn);break;case"derived":h(S.name),s.set(S.name,S.fn);break;case"hook":if(this.kind!=="model")u("lifecycle hook '"+S.name+"'");if(i.has(S.name))f(S.name,"duplicate hook");i.set(S.name,S.fn);break;case"scope":if(this.kind!=="model")u("query scope '@scope :"+S.name+"'");if(n.has(S.name))f(S.name,"scope");n.set(S.name,S.fn);break;case"defaultScope":if(this.kind!=="model")u("@defaultScope");if(a)throw new I1([{field:"",error:"collision",message:"only one @defaultScope per model"}],this.name,this.kind);a=S.fn;break;case"directive":if(this.kind!=="model"&&!d.has(S.name))throw new I1([{field:"",error:"directive",message:"unknown directive '@"+S.name+"' on :"+this.kind+" — legal here: "+[...d].map((w)=>"@"+w).join(", ")}],this.name,this.kind);o.push({name:S.name,args:S.args||[]});break;case"enum-member":l.set(S.name,S.value!==void 0?S.value:S.name);break;case"union-member":break;case"ensure":c.push({message:S.message,field:S.field||"",async:S.async===!0,fn:S.fn});break;default:throw new I1([{field:"",error:"entry",message:"unknown schema entry tag '"+S.tag+"'"}],this.name,this.kind)}if(this.kind==="shape"||this.kind==="input"||this.kind==="mixin"||this.kind==="model")Xa(this,e,o,{stack:[this.name||""],seen:new Set([this.name||""])});let m=null,g=[];if(this.kind==="union"){for(let S of o)if(S.name==="on"&&S.args?.[0]?.field)m=S.args[0].field;for(let S of this._desc.entries)if(S.tag==="union-member")g.push(S.name)}let b={fields:e,methods:t,computed:r,derived:s,hooks:i,scopes:n,defaultScope:a,directives:o,enumMembers:l,ensures:c,hasAsyncEnsures:c.some((S)=>S.async),unionOn:m,unionMembers:g};if(this.kind==="model")Te.finishModelNorm(this,b);return this._norm=b,this._norm}_unionPlan(){if(this._unionPlanCache&&this._unionPlanCache.gen===ke)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,s=[];for(let n of e.unionMembers){let a=ie.get(n);if(!a)throw new I1([{field:"",error:"union",message:"unknown union constituent: "+n+" (import the file that declares it)"}],this.name,this.kind);s.push(a);let o=a._normalize().fields.get(t);if(!o||o.typeName!=="literal-union"||!o.literals?.length)throw new I1([{field:t,error:"union",message:n+" 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 I1([{field:t,error:"union",message:"duplicate discriminator value "+JSON.stringify(l)+" in "+(r.get(l).name||"anon")+" and "+n}],this.name,this.kind);r.set(l,a)}}let i={disc:t,map:r,expected:[...r.keys()].join(" | "),hasAsyncEnsures:s.some((n)=>n._normalize().hasAsyncEnsures)};return this._unionPlanCache={gen:ke,plan:i},i}_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,s]of t.derived){let i=s.call(e);Object.defineProperty(e,r,{value:i,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 s=this._normalize();for(let[i,n]of s.fields){let a=St(n.typeName);if(!a)continue;let o=e[i];if(o===void 0||o===null)continue;let l=t==null?void 0:t[i];if(n.array){if(!Array.isArray(o))continue;let c=Array(o.length);for(let f=0;f{let a=()=>({field:i.field||"",error:"ensure",message:i.message||"ensure failed"});if(i.async)s.push((async()=>{let o=!1;try{o=!!await i.fn(e)}catch{o=!1}if(!o)r.push({idx:n,issue:a()})})());else{let o=!1;try{o=!!i.fn(e)}catch{o=!1}if(!o)r.push({idx:n,issue:a()})}}),await Promise.all(s),r.sort((i,n)=>i.idx-n.idx),r.map((i)=>i.issue)}_transitiveAsync(){if(this._taGen===ke)return this._taCache;let e=new Set,t=(r)=>{if(e.has(r))return!1;e.add(r);let s=r._normalize();if(s.hasAsyncEnsures)return!0;if(r.kind==="union"){for(let i of s.unionMembers){let n=ie.get(i);if(n&&t(n))return!0}return!1}for(let i of s.fields.values()){let n=St(i.typeName);if(n&&t(n))return!0}return!1};return this._taCache=t(this),this._taGen=ke,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()],s={[t]:class{constructor(i){if(i&&typeof i==="object"){for(let n of r)if(n in i&&i[n]!==void 0)this[n]=i[n]}}}}[t];for(let[i,n]of e.methods)Object.defineProperty(s.prototype,i,{value:n,writable:!0,enumerable:!1,configurable:!0});for(let[i,n]of e.computed)Object.defineProperty(s.prototype,i,{get:n,enumerable:!1,configurable:!0});return this._klass=s,s}_coerceDates(e){let t=this._normalize(),r=(n)=>typeof n==="string"&&/^\d{4}-\d{2}-\d{2}([T ].*)?$/.test(n),s=(n)=>{let a=/^(\d{4})-(\d{2})-(\d{2})/.exec(n),o=+a[2],l=+a[3];return o>=1&&o<=12&&l>=1&&l<=new Date(Date.UTC(+a[1],o,0)).getUTCDate()},i=(n)=>{if(!s(n))return n;let a=new Date(n);return Number.isNaN(a.getTime())?n:a};for(let[n,a]of t.fields){if(a.typeName!=="date"&&a.typeName!=="datetime")continue;let o=e[n];if(a.array&&Array.isArray(o))e[n]=o.map((l)=>r(l)?i(l):l);else if(r(o))e[n]=i(o)}}_validateFields(e,t,r,s){let i=this._normalize(),n=t?[]:null;for(let[a,o]of i.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;n.push({field:a,error:"required",message:a+" is required"})}continue}if(o.array){if(!Array.isArray(l)){if(!t)return!1;n.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;n.push({field:a,error:"max",message:a+" must have at most "+f.max+" items"})}}if(s?.deferNested&&St(o.typeName))continue;let h=!1,u=!1,d=Array(l.length);for(let p=0;pJSON.stringify(f)).join(", ")});continue}}else{if(s?.deferNested&&St(o.typeName))continue;let f=Gi(l,o.typeName,s);if(f.errors){if(!t)return!1;for(let h of f.errors){let u=Rt(a,h.field);n.push({field:u,error:h.error,message:yr(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;n.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;n.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;n.push({field:a,error:"max",message:a+" must be <= "+c.max})}}}}return t?n:!0}_applyDefaults(e){let t=this._normalize();for(let[r,s]of t.fields)if((e[r]===void 0||e[r]===null)&&s.constraints?.default!==void 0){let i=s.constraints.default;e[r]=typeof i==="object"&&i!==null&&!(i instanceof RegExp)?structuredClone(i):i}return e}_applyTransforms(e,t){let r=this._normalize(),s=[];for(let[i,n]of r.fields){if(!n.transform)continue;try{t[i]=n.transform(e)}catch(a){s.push({field:i,error:"transform",message:a?.message||String(a)})}}return s}_applyCoercions(e,t){let r=this._normalize(),s=[];for(let[i,n]of r.fields){if(!n.coerce)continue;let a=e[i];if(a===void 0||a===null)continue;if(n.coercer){let l=Hi.get(n.coercer);if(!l)throw Error("schema: no coercer registered for '~:"+n.coercer+"' (field '"+i+"' on "+(this.name||"anon")+"). Register it with registerCoercer('"+n.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)s.push({field:i,error:"coerce",message:i+" is not a valid "+n.coercer}),t.add(i);else e[i]=f;continue}let o=Rr[n.typeName]?Rr[n.typeName](a):{ok:!1};if(o.ok)e[i]=o.value;else s.push({field:i,error:"coerce",message:i+" cannot be coerced to "+n.typeName}),t.add(i)}return s}_orderFieldErrors(...e){let t=new Map,r=0;for(let[s]of this._normalize().fields)t.set(s,r++);return e.flat().map((s,i)=>{let n=String(s.field||"").split(/[.[]/,1)[0];return{issue:s,seq:i,rank:t.has(n)?t.get(n):r}}).sort((s,i)=>s.rank-i.rank||s.seq-i.seq).map((s)=>s.issue)}_validateEnum(e,t){let r=this._normalize();for(let[i,n]of r.enumMembers)if(e===i||e===n)return t?[]:!0;if(!t)return!1;let s=[...r.enumMembers.keys()].join(", ");return[{field:"",error:"enum",message:(this.name||"enum")+" expected one of: "+s}]}_materializeEnum(e){let t=this._normalize();for(let[r,s]of t.enumMembers)if(e===r||e===s)return s;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=br(e);if(r)return{ok:!1,errors:[r]};let s=e,i={...s},n=new Set,a=this._applyTransforms(s,i),o=this._applyCoercions(i,n);this._applyDefaults(i),this._coerceDates(i);let l=this._orderFieldErrors(a,o,this._validateFields(i,!0,n,t));if(l.length)return{ok:!1,errors:l};let c=t?.skipEnsures?[]:this._applyEnsures(i);if(c.length)return{ok:!1,errors:c};if(t?.materializeNested)try{this._materializeNestedValues(i,null,!1)}catch(f){return{ok:!1,errors:null,...Ge(f)}}if(!t?.materialize)return{ok:!0,value:i};try{return{ok:!0,value:this._materializeOwnValidatedValue(i,null,!1)}}catch(f){return{ok:!1,errors:null,...Ge(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=br(e);if(r)return{ok:!1,errors:[r]};let s=e,i={...s},n=new Set,a=this._applyTransforms(s,i),o=this._applyCoercions(i,n);this._applyDefaults(i),this._coerceDates(i);let l=await this._validateFieldsAsync(i,n,t),c=this._orderFieldErrors(a,o,l);if(c.length)return{ok:!1,errors:c};let f=t?.skipEnsures?[]:await this._applyEnsuresAsync(i);if(f.length)return{ok:!1,errors:f};if(t?.materializeNested)try{this._materializeNestedValues(i,null,!1)}catch(h){return{ok:!1,errors:null,...Ge(h)}}if(!t?.materialize)return{ok:!0,value:i};try{return{ok:!0,value:this._materializeOwnValidatedValue(i,null,!1)}}catch(h){return{ok:!1,errors:null,...Ge(h)}}}async _validateFieldsAsync(e,t,r){let s=this._normalize(),i=[];for(let[n,a]of s.fields){if(t&&t.has(n))continue;let o=e[n];if(o===void 0||o===null){if(a.required)i.push({field:n,error:"required",message:n+" is required"});continue}if(a.array){if(!Array.isArray(o)){i.push({field:n,error:"type",message:n+" must be an array"});continue}let f=a.constraints;if(f?.min!=null&&o.lengthf.max)i.push({field:n,error:"max",message:n+" 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 Va(o,a.typeName,r);if(f.errors)for(let h of f.errors){let u=Rt(n,h.field);i.push({field:u,error:h.error,message:yr(u,h.field,h.message)})}else e[n]=f.value}let l=e[n],c=a.constraints;if(c){if(typeof l==="string"){if(c.min!=null&&l.lengthc.max)i.push({field:n,error:"max",message:n+" 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))i.push({field:n,error:"pattern",message:n+" is invalid"})}}else if(typeof l==="number"){if(c.min!=null&&l= "+c.min});if(c.max!=null&&l>c.max)i.push({field:n,error:"max",message:n+" must be <= "+c.max})}}}return i}_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=br(e);if(r)return{ok:!1,errors:[r]};let s={...e},i=this._validateFields(s,!0,null,{...t,existing:!0});if(i.length)return{ok:!1,errors:i};let n=t?.skipEnsures?[]:this._applyEnsures(s);if(n.length)return{ok:!1,errors:n};if(t?.materializeNested)try{this._materializeNestedValues(s,e,!0)}catch(a){return{ok:!1,errors:null,...Ge(a)}}return this._finishExistingValue(e,s,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=br(e);if(r)return{ok:!1,errors:[r]};let s={...e},i=await this._validateFieldsAsync(s,null,{...t,existing:!0});if(i.length)return{ok:!1,errors:i};let n=t?.skipEnsures?[]:await this._applyEnsuresAsync(s);if(n.length)return{ok:!1,errors:n};if(t?.materializeNested)try{this._materializeNestedValues(s,e,!0)}catch(a){return{ok:!1,errors:null,...Ge(a)}}return this._finishExistingValue(e,s,t)}_finishExistingValue(e,t,r){if(!r?.materialize)return{ok:!0,value:t};let s=this._getClass(),i=!0;for(let[a]of this._normalize().fields)if(t[a]!==e[a]){i=!1;break}if(i)return{ok:!0,value:e};let n=new s(t);try{this._applyEagerDerived(n)}catch(a){return{ok:!1,errors:null,thrown:a}}return{ok:!0,value:n}}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 I1(t.errors,r.name,r.kind)}get array(){let e=this,t=(n)=>({field:"",error:"not_array",message:"expected an array, received "+(n===null?"null":n===void 0?"undefined":typeof n==="object"?"an object with keys ["+Object.keys(n).join(", ")+"]":typeof n)}),r=(n)=>{let a=[],o=[];return n.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}},s=(n)=>{let a=[],o=[];return n.forEach((l,c)=>{try{a.push(e.parse(l))}catch(f){if(!(f instanceof I1))throw f;for(let h of f.issues)o.push({...h,field:"["+c+"]"+(h.field?"."+h.field:"")})}}),{value:a,errors:o}},i=async(n)=>{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(n){return Array.isArray(n)&&n.every((a)=>e.ok(a))},async parseAsync(n){if(!Array.isArray(n))throw new I1([t(n)],e.name,e.kind);let{value:a,errors:o}=await i(n);if(o.length)throw new I1(o,e.name,e.kind);return a},async safeAsync(n){if(!Array.isArray(n))return{ok:!1,value:null,errors:[t(n)]};let{value:a,errors:o}=r(await Promise.all(n.map((l)=>e.safeAsync(l))));return o.length?{ok:!1,value:null,errors:o}:{ok:!0,value:a,errors:null}},async okAsync(n){return Array.isArray(n)&&(await Promise.all(n.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 I1(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 yt(this,(t)=>{let r=Wi(e),s=new Map;for(let i of r){if(!t.has(i))throw Error("pick: unknown field '"+i+"' on "+(this.name||"schema"));s.set(i,t.get(i))}return s})}omit(...e){return yt(this,(t)=>{let r=new Set(Wi(e)),s=new Map;for(let[i,n]of t)if(!r.has(i))s.set(i,n);return s})}partial(){return yt(this,(e)=>{let t=new Map;for(let[r,s]of e)t.set(r,{...s,required:!1});return t})}required(...e){return yt(this,(t)=>{let r=new Set(Wi(e)),s=new Map;for(let[i,n]of t)s.set(i,{...n,required:r.has(i)?!0:n.required});return s})}extend(e){if(!(e instanceof Et))throw Error("extend(): argument must be a schema value");if(e.kind==="union")throw Error("extend(): :union schemas have no fields to merge");return yt(this,(t)=>{let r=new Map(t),s=e._normalize().fields;for(let[i,n]of s){if(r.has(i))throw Error("extend(): field '"+i+"' collides between "+(this.name||"schema")+" and "+(e.name||"other"));r.set(i,n)}return r})}toJSONSchema(){let e={defs:new Map,expanding:new Set},t=qa(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,s]of e.defs)t.$defs[r]=s}return t}}var Ga={__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:()=>({}),variant:()=>({}),any:()=>({})};function rc(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(Ga[e.typeName])r=Ga[e.typeName]();else{let i=ie.get(e.typeName);r=i?za(i,t):{}}let s=e.constraints;if(s&&!e.array){if(r.type==="string"){if(s.min!=null)r.minLength=s.min;if(s.max!=null)r.maxLength=s.max;if(s.regex)r.pattern=s.regex.source}else if(r.type==="number"||r.type==="integer"){if(s.min!=null)r.minimum=s.min;if(s.max!=null)r.maximum=s.max}}if(e.array){if(r={type:"array",items:r},s){if(s.min!=null)r.minItems=s.min;if(s.max!=null)r.maxItems=s.max}}if(s&&s.default!==void 0)r.default=s.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 za(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,qa(e,t)),t.expanding.delete(r);return{$ref:"#/$defs/"+r}}function qa(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=ie.get(l);return c?za(c,t):{}}),discriminator:{propertyName:a.disc}}}let s={},i=[];for(let[a,o]of r.fields)if(s[a]=rc(o,t),o.required&&o.constraints?.default===void 0)i.push(a);if(e.kind==="model")Te.jsonSchemaModelColumns(e,s);let n={type:"object",properties:s};if(i.length)n.required=i;if(r.ensures.length)n.description="Refinements (not expressible in JSON Schema): "+r.ensures.map((a)=>a.message).join("; ")+".";return n}function Wi(e){let t=[];for(let r of e)if(Array.isArray(r))for(let s of r)t.push(s);else t.push(r);return t}function yt(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"?Te.projectableFields(e):e._normalize().fields,s=t(r),i=[];for(let[,o]of s){let l=[];if(o.required)l.push("!");if(o.optional&&!o.required)l.push("?");i.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 n=(e.name||"Schema")+"Derived",a=new Et({kind:"shape",name:n,entries:i});return a._sourceModel=e._sourceModel||(e.kind==="model"?e:null),a}function Xa(e,t,r,s){for(let i of r){if(i.name!=="mixin"||!i.args||!i.args[0])continue;let n=i.args[0].target;if(!n)continue;if(s.stack.includes(n))throw new I1([{field:"",error:"mixin-cycle",message:"mixin cycle: "+s.stack.concat(n).join(" -> ")}],e.name,e.kind);if(s.seen.has(n))continue;let a=ie.getKind(n,"mixin");if(!a)throw new I1([{field:"",error:"mixin-missing",message:"unknown mixin: "+n}],e.name,e.kind);s.seen.add(n),s.stack.push(n);let o=a._desc.entries.filter((l)=>l.tag==="directive"&&l.name==="mixin").map((l)=>({name:l.name,args:l.args||[]}));Xa(e,t,o,s);for(let l of a._desc.entries){if(l.tag!=="field")continue;if(t.has(l.name))throw new I1([{field:l.name,error:"mixin-collision",message:l.name+" from mixin "+n+" collides with existing field"}],e.name,e.kind);if(e.kind!=="model"&&(l.unique===!0||l.attrs))throw new I1([{field:l.name,error:"mixin-persistence",message:l.name+" from mixin "+n+" 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})}s.stack.pop()}}function ic(e){let t=new Et(e);if(t.name)ie.register(t);return t}if(typeof globalThis<"u")globalThis.__ripSchema=globalThis.__ripSchema||{},globalThis.__ripSchema.SchemaRegistry=ie;var Ar={};Fe(Ar,{__batch:()=>M1,__catchErrors:()=>me,__computed:()=>Y1,__detachRef:()=>Ki,__effect:()=>x1,__handleError:()=>ne,__ownerFrame:()=>Tt,__popOwner:()=>X1,__pushOwner:()=>fe,__readonly:()=>ue,__setEffectErrorReporter:()=>nc,__setErrorHandler:()=>de,__state:()=>A1,getEffectSignal:()=>he});var Qa=Symbol.for("rip.runtime.reactive");if(globalThis[Qa])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[Qa]=!0;var N1=null,_r=[],Ke={buckets:[],cursors:[],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 nc(e){let t=kt;return kt=e,t}function eo(){try{while(Ke.size>0){let e=Ke.shift();if(!e._disposed)e.run()}}catch(e){throw Ke.clear(),e}}var to={valueOf(){return this.value},toString(){return String(this.value)},[Symbol.toPrimitive](e){return e==="string"?this.toString():this.valueOf()}};function A1(e){if(e!=null&&typeof e==="object"&&typeof e.read==="function")return e;let t=e,r=new Set,s=!1,i=!1,n=!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 _r)f.writtenSignals.add(r)},l=()=>{s=!0;try{for(let f of r)if(f.markDirty)f.markDirty(!0);else f._hard=!0,Ke.add(f);if(!wr)eo()}finally{s=!1}},c={get value(){if(n)return t;if(N1?.writtenSignals&&_r.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(n||i||f===t)return;if(a(),s)return;o(),t=f,l()},read(){return t},touch(){if(n)return;if(a(),s)return;o(),l()},lock(){return i=!0,c},free(){return r.clear(),c},kill(){return n=!0,r.clear(),t},...to};return c}var kr=0,Ja=1,Tr=2;function ro(e){let t=N1;N1=null;try{for(let[r,s]of e.computedDeps)if(r.value,r.version!==s)return!0;return!1}finally{N1=t}}function Y1(e){let t,r=Tr,s=new Set,i=!1,n=!1,a=!1,o={dependencies:new Set,computedDeps:new Map,writtenSignals:new Set,version:0,markDirty(l){if(n||i)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=Tr;else if(r===kr)r=Ja;if(c!==kr)return;for(let f of s)if(f.markDirty)f.markDirty(!1);else Ke.add(f)},get value(){if(n)return t;if(N1&&N1!==o)s.add(N1),N1.dependencies.add(s),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===Ja&&!i)r=ro(o)?Tr:kr;if(r===Tr&&!i){for(let c of o.dependencies)c.delete(o);o.dependencies.clear(),o.computedDeps.clear();let l=N1;o.writtenSignals.clear(),N1=o,_r.push(o),a=!0;try{let c=e();if(c!==t)o.version++;t=c,r=kr}finally{a=!1,_r.pop(),o.writtenSignals.clear(),N1=l}}if(N1&&N1!==o)N1.computedDeps.set(o,o.version);return t},read(){return t},lock(){return i=!0,o.value,o},free(){for(let l of o.dependencies)l.delete(o);return o.dependencies.clear(),o.computedDeps.clear(),s.clear(),o},kill(){n=!0;let l=t;return o.free(),l},...to};return o}function Za(e){let t=e._cleanup;if(!t)return;let r=N1;N1=null;try{t()}finally{N1=r}e._cleanup=null}function x1(e){let t=null,r=0,s=B1,i={depth:s?s.depth+1:0,dependencies:new Set,computedDeps:new Map,_hard:!0,_disposed:!1,get signal(){if(!t&&typeof AbortController<"u"){if(t=new AbortController,i._disposed)t.abort()}return t?t.signal:null},run(){if(i._disposed)return;let a=i._hard;if(i._hard=!1,!a&&!ro(i))return;if(t){try{t.abort()}catch{}t=null}let o=++r;Za(i);for(let f of i.dependencies)f.delete(i);i.dependencies.clear(),i.computedDeps.clear();let l=N1;N1=i;let c=B1;B1=s;try{let f=e();if(typeof f==="function")i._cleanup=f;else if(f&&typeof f.then==="function")f.then((h)=>{if(o!==r||i._disposed){if(typeof h==="function")try{h()}catch(u){kt("[Rip] superseded async cleanup error:",u)}return}if(typeof h==="function")i._cleanup=h},(h)=>{if(h&&h.name==="AbortError")return;if(o!==r||i._disposed)return;kt("[Rip] async effect error:",h)})}finally{N1=l,B1=c}},dispose(){if(i._disposed)return;if(i._disposed=!0,Ke.delete(i),t)try{t.abort()}catch{}Za(i);for(let a of i.dependencies)a.delete(i);i.dependencies.clear()}};try{i.run()}catch(a){throw i.dispose(),a}let n=()=>i.dispose();if(B1)B1.add(n);return n}function M1(e){if(wr)return e();wr=!0;try{return e()}finally{wr=!1,eo()}}function Tt({nested:e=!0}={}){let t=[],r=null,i={depth:B1?B1.depth+1:0,get disposed(){return t===null},get size(){return t===null?0:t.length},add(n){if(t===null)n();else t.push(n)},remove(n){if(t===null)return;let a=t.indexOf(n);if(a>=0)t.splice(a,1)},dispose(){if(t===null)return;let n=t;if(t=null,r!==null){let a=r;r=null,a()}for(let a of n)try{a()}catch(o){kt("[Rip] effect disposer error:",o)}}};if(e&&B1){let n=B1;n.add(i.dispose),r=()=>n.remove(i.dispose)}return i}function fe(e){let t={frame:e,prev:B1};return B1=e,t}function X1(e){if(!e||typeof e!=="object"||!("frame"in e))throw Error("reactive runtime: __popOwner takes the token the matching __pushOwner returned");if(B1!==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)");B1=e.prev}function he(){return N1?N1.signal:null}function ue(e){return Object.freeze({value:e})}function Ki(e,t){if(e&&typeof e.read==="function"&&e.read()===t)e.value=null}var Nr=null;function de(e){let t=Nr;return Nr=e,t}function ne(e){if(Nr)try{Nr(e)}catch(t){console.error("Error in error handler:",t),console.error("Original error:",e)}else throw e}function me(e){return function(...t){try{return e.apply(this,t)}catch(r){ne(r)}}}var Nt={};Fe(Nt,{__Component:()=>Eo,__claimGateConstructor:()=>en,__clsx:()=>Dr,__detach:()=>$r,__detachRef:()=>Ki,__gateBind:()=>wc,__handleComponentError:()=>Xi,__hmrClassify:()=>_t,__hmrEmit:()=>_e,__hmrEntries:()=>Ji,__hmrEvents:()=>cc,__hmrLookup:()=>sc,__hmrMigrateDiff:()=>uo,__hmrMigrateRemount:()=>dc,__hmrPatch:()=>Qi,__hmrPreserveState:()=>xr,__hmrRegisterDefinition:()=>wt,__hmrRegistry:()=>we,__hmrRestoreUi:()=>Pr,__hmrSnapshotUi:()=>Zi,__lis:()=>So,__ownerFrame:()=>Tt,__popComponent:()=>pe,__popOwner:()=>X1,__pushComponent:()=>Le,__pushOwner:()=>fe,__reconcile:()=>bc,__reportChildFailure:()=>kc,__setChildFailureReporter:()=>Ec,__style:()=>Ro,__transition:()=>Sc,getContext:()=>pc,hasContext:()=>gc,setContext:()=>mc});var co=Symbol.for("rip.runtime.components");if(globalThis[co])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[co]=!0;var z1=null,fo={},Or=null,ho=new WeakMap,io=!1,we=new Map;function Yi(e,t){if(e===t)return!0;if(!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length)return!1;for(let r=0;ri.has(c)),o=s.filter((c)=>!i.has(c)),l=r.filter((c)=>!n.has(c));return{kept:a,added:o,removed:l}}var Ir=[],lc=64;function _e(e,t={}){let r={type:e,at:Date.now(),...t};if(Ir.push(r),Ir.length>lc)Ir.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 cc(){return Ir.slice()}function xr(e,t){let r=e?.constructor?.__hmrSig,s=t?.constructor?.__hmrSig,i=r?.state,n=s?.state,a=uo(r,s);if(!Array.isArray(i)||!Array.isArray(n))return _e("migrate",{id:t?.constructor?.__hmrId??null,...a,copied:[]}),a;let o=new Set(i),l=[];for(let f of n){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 _e("migrate",{id:c,...a,copied:l}),{...a,copied:l}}var mo=["name","type","placeholder"];function po(e){let t=(s)=>typeof e[s]==="string"&&e[s]?e[s]:null,r={tag:e.tagName??null};for(let s of mo)r[s]=t(s);return r.label=typeof e.getAttribute==="function"?e.getAttribute("aria-label"):null,r.value=typeof e.value==="string"?e.value:null,r}function zi(e,t,r){if(!e||!t)return!1;let s=po(e);for(let i of["tag",...mo,"label"])if(s[i]!==t[i])return!1;return!r||t.value==null||s.value===t.value}function fc(e){let t=po(e),r=typeof e.id==="string"&&e.id?e.id:null,s=[],i=e;while(i&&i!==document.body){let n=i.parentElement??i.parentNode??null;if(!n||!n.children)return{identity:t,id:r,path:null};s.unshift(Array.prototype.indexOf.call(n.children,i)),i=n}return{identity:t,id:r,path:i===document.body?s:null}}function hc(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(zi(o,r.identity,!1))return o}if(!Array.isArray(r.path)||r.path.length===0)return null;let s=document.body;for(let o of r.path.slice(0,-1))if(s=s?.children?.[o]??null,!s)return null;let i=Array.from(s.children??[]),n=i[r.path[r.path.length-1]]??null;if(zi(n,r.identity,!0))return n;let a=i.filter((o)=>zi(o,r.identity,!0));return a.length===1?a[0]:null}function Zi(){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?fc(t):null,selection:r,scrollX:typeof window<"u"?window.scrollX:0,scrollY:typeof window<"u"?window.scrollY:0}}function Pr(e){if(!e||typeof document>"u")return;if(typeof window<"u")window.scrollTo(e.scrollX??0,e.scrollY??0);let t=hc(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 go(e,t){let r=e.constructor?.__hmrId;if(typeof r==="string"&&r)we.get(r)?.instances.delete(e);Object.setPrototypeOf(e,t.prototype),Object.defineProperty(e,"constructor",{value:t,writable:!0,configurable:!0}),wt(t),we.get(t.__hmrId)?.instances.add(e)}function Qi(e,t){if(!e||!t)throw Error("__hmrPatch requires a living instance and a replacement constructor");let r=e.constructor?.__hmrId;return go(e,t),e._hmrRerender(),_e("patch",{id:t.__hmrId??r??null}),e}function bo(e){return Object.keys(e).sort().join(",")}function uc(e,t){let s=(z1?._projectionOwner??z1)?._hmrOrphans;if(!s||s.length===0)return null;let i=e.__hmrId;if(typeof i!=="string")return null;let n=bo(t),a=null;for(let o of s){if(o._state!=="mounted"||o.constructor.__hmrId!==i||o._hmrPropKeys!==n)continue;if(a)return null;a=o}if(!a||_t(a.constructor,e)!=="patch")return null;if(s.splice(s.indexOf(a),1),a.constructor!==e)go(a,e);a._hmrRelease();try{a._hmrApplyProps(t)}catch(o){throw a._teardown({state:"failed",hooks:!1,removeDOM:!0}),o}return a._hmrRebindPending=!0,a}function dc(e,t,r={}){let s=new t(r);return xr(e,s),s}function en(){if(io)throw Error("[Rip] the render-gate construction capability is already claimed");return io=!0,(e,t)=>{let r=Or;Or={brand:fo,component:e,gates:t.gates,parent:t.parent??null,stash:t.stash??null,router:t.router??null,used:!1};try{return new e({})}finally{Or=r}}}function $r(e){if(!e||e.nodeType===11)return;if(typeof e.remove==="function")e.remove();else if(e.parentNode)e.parentNode.removeChild(e)}function Le(e){let t=z1;if(e&&e._parent==null&&t&&t!==e)e._parent=t;return z1=e,t}function pe(e){z1=e}function mc(e,t){if(!z1)throw Error("setContext must be called during component initialization");if(!z1._context)z1._context=new Map;z1._context.set(e,t)}function yo(e,t,r){if(typeof t!=="function")throw Error(r===void 0?`${e}: a context read names its provider — ${e}(Provider, ${JSON.stringify(t)})`:`${e}: the provider named for ${JSON.stringify(r)} is not a component`);let s=typeof t.__hmrId==="string"?t.__hmrId:null,i=z1,n=new Set;while(i&&!n.has(i)){if(n.add(i),i instanceof t||s!==null&&i.constructor?.__hmrId===s)return i._context!==void 0&&i._context.has(r)?{found:!0,value:i._context.get(r)}:{found:!1,provider:i};i=i._parent}return{found:!1,provider:null}}function pc(e,t){let r=yo("getContext",e,t);if(r.found)return r.value;let s=e.name||"the provider";throw Error(r.provider!==null?`getContext: ${s} offers no ${JSON.stringify(t)}`:`getContext: no ${s} above this component — render one around it, or probe with hasContext(${s}, ${JSON.stringify(t)}) where absence is legal`)}function gc(e,t){return yo("hasContext",e,t).found}function Dr(...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 s=Dr(...r);s&&(t&&(t+=" "),t+=s)}else for(let s in r)if(r[s])t&&(t+=" "),t+=s}}return t}function So(e){let t=e.length;if(t===0)return[];let r=[],s=[],i=Array(t).fill(-1);for(let o=0;o>1;if(r[f]0)i[o]=s[l-1]}let n=[],a=s[r.length-1];for(let o=r.length-1;o>=0;o--)n.push(a),a=i[a];return n.reverse(),n}function bc(e,t,r,s,i,n,...a){if(e==null)throw Error("__reconcile: no anchor — the list's create phase never placed one");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),p=n!=null,m=p?r.map((R,T)=>n(R,T)):r;if(p){let R=new Set;for(let T of m){if(R.has(T))throw Error(`__reconcile: duplicate key ${JSON.stringify(String(T))} — keyed rows need unique keys `+"(the key function must be injective over the items)");R.add(T)}}if(h===0){if(u>0){let R=document.createDocumentFragment();for(let T=0;T=g&&w>=g&&l[S]===m[w]){let R=f[S];if(!R._s)R.p(s,r[w],w,...a);d[w]=R,S--,w--}if(g>w)for(let R=g;R<=S;R++)f[R].d(!0);else if(g>S){let R=w+1=g;N--){let D=d[N];if(!L.has(N-g))D.m(o,P);P=D._first}}t.keys=p?m:r.slice(),t.items=r.slice(),t.blocks=d}var no=!1;function yc(){if(no)return;no=!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 Sc(e,t,r,s){yc();let i=e.classList,n=t+"-"+r+"-from",a=t+"-"+r+"-active",o=t+"-"+r+"-to",l=!1,c=null;i.add(n,a),requestAnimationFrame(()=>{requestAnimationFrame(()=>{i.remove(n),i.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),i.remove(a,o),s)s()};e.addEventListener("transitionend",f),e.addEventListener("transitioncancel",f);let h=0;try{let u=getComputedStyle(e),d=(p)=>Math.max(0,...String(p).split(",").map((m)=>(parseFloat(m)||0)*(/ms\s*$/.test(m.trim())?1:1000)));h=d(u.transitionDuration)+d(u.transitionDelay)}catch{}c=setTimeout(()=>f(),h+50)})})}function Rc(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 s=e!=null?e.status??e.response?.status:void 0;if(s!==void 0)r.status=s;return r.error=e,r}var qi=(e,t)=>console.error(`[Rip] ${e} construction failed:`,t);function Ec(e){let t=qi;return qi=e,t}function kc(e,t){qi(e,t)}function Xi(e,t){let r=Rc(e),s=t,i=new Set;while(s&&!i.has(s)){if(i.add(s),s.onError){let n=Le(s),a=fe(s._frame);try{s.onError(r,t);return}catch(o){}finally{X1(a),pe(n)}}s=s._parent}throw e}var so=new WeakSet;function Tc(e,t){if(so.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 s of r){if(typeof s!=="string"||s.length===0)throw Error(`${e.name||"component"}: static __props entries must be non-empty strings`);if(s.startsWith("_"))throw Error(`${e.name||"component"}: declared prop '${s}' collides with component internals — `+"underscore-prefixed names are reserved for the runtime");if(s in t)throw Error(`${e.name||"component"}: declared prop '${s}' collides with a component member (a method or lifecycle slot already answers '${s}')`)}so.add(e)}function wc(e,t){let s=ho.get(e)?.gates?.[t];if(!s?.cell)throw Error(`[Rip] render gate ${t} has no renderer-resolved source binding — `+"gated components may only be constructed by rip/app createRenderer()");let i=s.value,n=!0;return Y1(()=>{if(n)return n=!1,s.cell.read(),i;let a=s.cell.read();for(let o of s.tail){if(a==null)break;a=a[o]}if(a!=null)i=a;return i})}var vr=new WeakMap;function ao(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 Ro(e,t){let r=vr.get(e);if(t==null){e.removeAttribute("style"),vr.delete(e);return}if(typeof t!=="object"){e.setAttribute("style",String(t)),vr.delete(e);return}if(r){for(let s of r)if(!(s in t))ao(e.style,s,"")}vr.set(e,Object.keys(t));for(let s of Object.keys(t))ao(e.style,s,t[s])}var _c=new Set(["disabled","hidden","readonly","required","checked","selected","autofocus","autoplay","controls","loop","muted","multiple","novalidate","open","reversed","defer","async","formnovalidate","allowfullscreen","inert","ismap","nomodule","playsinline","default","itemscope","alpha","shadowrootdelegatesfocus","shadowrootclonable","shadowrootserializable"]),oo=(e)=>new Proxy(e,{get(t,r){let s=t[r];return s!=null&&typeof s==="object"&&typeof s.read==="function"?s.value:s}});function lo(e,t){let r=e.__props??[],s=e.__extends??null,i=null;for(let n of Object.keys(t)){if(n==="children")continue;if(n.startsWith("__bind_")&&n.endsWith("__")){let a=n.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(n))continue;if(s!==null){(i??={})[n]=t[n];continue}throw Error(`${e.name||"component"}: unknown prop '${n}' — declared props are `+`[${r.join(", ")}]`)}return i}class Eo{constructor(e={}){let t=uc(this.constructor,e);if(t)return t;this._state="new",this._owner=z1?._projectionOwner??z1??null,Tc(this.constructor,this);let r=this.constructor.__gates,s=Or,i=s?.brand===fo&&s.component===this.constructor&&s.used!==!0;if(i)s.used=!0;if(r?.length&&!i)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(i){if(ho.set(this,s),s.parent)this._parent=s.parent;if(s.stash!=null)this.stash=s.stash;if(s.router!=null)this.router=s.router,Object.defineProperty(this,"params",{get:()=>s.router.params,configurable:!0}),Object.defineProperty(this,"query",{get:()=>s.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 n=lo(this.constructor,e);if("children"in e)this.children=e.children;if(this.constructor.__hmrId)this._hmrPropKeys=bo(e);if(this.constructor.__extends!=null)this._rest=n??{},this.rest=A1(oo(this._rest));this._frame=Tt({nested:!1});let a=Le(this),o=fe(this._frame);try{this._init(e)}catch(l){X1(o),pe(a),this._teardown({state:"failed",hooks:!1,removeDOM:!0}),this._initFailed=!0,Xi(l,this);return}if(X1(o),pe(a),this.constructor.__hmrId)ac(this)}_init(e){}_beginProjection(e){let t={prev:Le(this),owner:this._projectionOwner??null};return this._projectionOwner=e,t}_endProjection(e){this._projectionOwner=e.owner,pe(e.prev)}_setChildren(e){let t=this.children;if(t!=null&&typeof t==="object"&&typeof t.read==="function"&&"value"in t){t.value=e;return}this.children=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 s=this[e];if(s&&typeof s==="object"&&"value"in s){s.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=fe(this._frame);try{this._applyInheritedProp(this._inheritedInst??this._inheritedEl,e,t)}finally{X1(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;if(this._inheritedOwn?.has(t))return;let s=this._restWriters?.[t];if(s){if(s(),this._frame)this._frame.remove(s);delete this._restWriters[t]}if(r!=null&&typeof r==="object"&&typeof r.read==="function"){(this._restWriters??={})[t]=x1(()=>{this._applyPlainInheritedProp(e,t,r.value)});return}this._applyPlainInheritedProp(e,t,r)}_applyPlainInheritedProp(e,t,r){if(typeof e._updateProp==="function"){if(e._state==="failed"||e._state==="unmounted")return;e._updateProp(t,r);return}let s=e;if(t[0]==="@"){let i=t.slice(1).split(".")[0];this._restHandlers||(this._restHandlers={});let n=this._restHandlers[t];if(n)s.removeEventListener(i,n);if(typeof r==="function"){let a=(o)=>M1(()=>r(o));this._restHandlers[t]=a,s.addEventListener(i,a)}else delete this._restHandlers[t];return}if(t==="class"||t==="className"){if(s instanceof SVGElement)s.setAttribute("class",Dr(r));else s.className=Dr(r);return}if(t==="style"){Ro(s,r);return}if(t==="innerHTML"||t==="textContent"||t==="innerText"||t==="value"){s[t]=r??"";return}if(t==="checked"){s.checked=!!r;return}if(_c.has(t)){s.toggleAttribute(t,!!r);return}if(r==null)s.removeAttribute(t);else s.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(){if(this._beginMount(),this._hmrRebindPending){if(this._hmrRebindPending=!1,!this._hmrRebind())return!1}let e=Le(this),t=fe(this._frame),r=null,s=!1;try{this._root=this._create()}catch(i){r=i,s=!0}finally{X1(t),pe(e)}if(s)return this._failMount(r),!1;return!0}_mountSetup(e=null){if(this._state!=="mounting")return this._nodes?.[0]??this._root;let t=Le(this),r=fe(this._frame),s=null,i=!1;try{if(e){let n=this._nodes?.[0]??this._root;if(n?.parentNode)n.parentNode.insertBefore(e,n)}if(this.beforeMount)this.beforeMount();if(this._setup)this._setup();if(this.mounted)this.mounted();this._state="mounted",$r(e),this._hmrDrainOrphans((n,a)=>console.error(`[Rip] ${n} error:`,a))}catch(n){s=n,i=!0}finally{X1(r),pe(t)}if(i)return this._failMount(s),e;return this._nodes?.[0]??this._root}_failMount(e){this._teardown({state:"failed",hooks:!1,removeDOM:!0}),Xi(e,this)}_dispose(e,t){if(this._children){for(let r of this._children)try{t(r)}catch(s){e("child teardown",s)}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(s){e("rest writer cleanup",s)}this._restWriters=null}if(this._restHandlers){if(this._inheritedEl)for(let[r,s]of Object.entries(this._restHandlers))try{this._inheritedEl.removeEventListener(r.slice(1).split(".")[0],s)}catch(i){e("rest handler cleanup",i)}this._restHandlers=null}if(this._refCleanups){let r=this._refCleanups;this._refCleanups=null;try{M1(()=>{for(let s of r)try{s()}catch(i){e("ref cleanup",i)}})}catch(s){e("ref cleanup batch flush",s)}}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{$r(r)}catch(s){e("DOM detach",s)}else try{$r(this._root)}catch(r){e("DOM detach",r)}this._root=null,this._nodes=null,this._inheritedEl=null,this._inheritedInst=null,this._inheritedOwn=null}_teardown({state:e,hooks:t,removeDOM:r}){if(this._state==="failed"||this._state==="unmounted")return;if(this.constructor.__hmrId)oc(this);this._state=e;let s=(i,n)=>console.error(`[Rip] ${i} error:`,n);if(this._hmrDrainOrphans(s),t)try{if(this.beforeUnmount)this.beforeUnmount()}catch(i){s("beforeUnmount",i)}if(this._dispose(s,(i)=>{if(t)i.unmount({removeDOM:r});else i._teardown({state:i._state==="mounted"?"unmounted":"failed",hooks:!1,removeDOM:!0})}),t)try{if(this.unmounted)this.unmounted()}catch(i){s("unmounted",i)}this._detachDOM(s,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=Tt({nested:!1}),this._state="new"}_hmrRebind(){let e=(s,i)=>console.error(`[Rip] ${s} error:`,i),t=Le(this),r=fe(this._frame);try{if(typeof this._hmrRefreshComputeds==="function")this._hmrRefreshComputeds();if(typeof this._hmrBindEffects==="function")this._hmrBindEffects()}catch(s){return X1(r),pe(t),e("hmr rebind",s),this._failMount(s),!1}return X1(r),pe(t),!0}_hmrApplyProps(e){let t=lo(this.constructor,e);if("children"in e)this.children=e.children;for(let r of this.constructor.__props??[]){let s=`__bind_${r}__`;if(s in e){this[r]=e[s];continue}if(!(r in e))continue;let i=e[r];if(i!=null&&typeof i==="object"&&typeof i.read==="function")this[r]=i;else this._updateProp(r,i)}if(this.constructor.__extends!=null)this._rest=t??{},this.rest.value=oo(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(s){e("orphan teardown",s)}}_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,i=(r?.[0]??this._root)?.parentNode??null,n=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=i&&i.nodeType!==11?i: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=n&&(typeof a.contains!=="function"||a.contains(n))?n: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._owner?._hmrReleasing){this._owner._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 ti={};Fe(ti,{ariaCurrent:()=>Gr,browserAdapter:()=>Vr,buildRoutes:()=>Pt,check:()=>ei,connectFeed:()=>Zr,createApply:()=>Qr,createComponents:()=>Fr,createMutation:()=>$o,createRenderer:()=>Wr,createRouter:()=>Ur,createStash:()=>Mr,createWorkspace:()=>Xr,currentRouter:()=>Wc,currentStash:()=>Vc,debounce:()=>Do,delay:()=>jr,hold:()=>Po,interceptClicks:()=>Kr,launch:()=>zr,ownsAnchor:()=>Lt,parseQuery:()=>Ze,persistStash:()=>Hr,preloadLinks:()=>Yr,rash:()=>Mt,source:()=>wo,throttle:()=>xo,unwrapStash:()=>Ne,validatePrepared:()=>Rn});var Cr,tn,ko,To=Symbol.for("rip.source"),rn=Symbol.for("rip.source.family"),Nc=64,Ac=30000,vc=/^(\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 P1(e){return e!=null&&(typeof e==="object"||typeof e==="function")&&(e[To]===!0||e[rn]===!0)}function ge(e){return e!=null&&typeof e==="function"&&e[rn]===!0}ko=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(vc),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"')};Cr=function(e,t,r=null){let s=A1(null),i=A1(!1),n=A1(null),a=0,o=null,l=null,c=!1,f=!1,h=!1,u=0,d=0,p=async function(S=!1,w=!1){let R,T;o?.abort(),o=typeof AbortController<"u"?new AbortController:null;let F=++a;if(!S)i.value=!0;let L=h;try{if(R=e(o?.signal),!(R!=null&&typeof R.then==="function"))throw TypeError("Rip App: source fetch must return a Promise");if(T=await R,F!==a)return T;return n.value=null,s.value=T,h=!0,u=Date.now(),d=w&&!f?u+Ac:0,T}catch(P){if(F!==a)return;if(P?.name==="AbortError")return;if(n.value=P,!L)throw h=!1,u=0,P;return}finally{if(F===a)i.value=!1,l=null,c=!1,f=!1,r?.()}},m=function(S=!1,w=!1){let R=p(S,w);return l=R,c=w,f=!1,R},g=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},i=function(a){if(a==null)throw TypeError("Rip App: keyed source requires a key");let o=Oc(a),l=r.get(o);if(l)return r.delete(o),r.set(o,l),l;return l=Cr(function(c){return e(a,c)},t,s),r.set(o,l),s(o),l},n=function(a){return i(a).read()};return n[rn]=!0,n.cellFor=i,n.reset=function(){let a=Array.from(r.values());r.clear();for(let o of a)o.reset();return},n};function wo(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=ko(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 Cr(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 tn(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?tn(e.fetch,t):Cr(e.fetch,t)}var ln,It,nn,vt,$1=Symbol("rip.app.stash.raw"),Ye=Symbol("rip.app.stash.signals"),Ic=Symbol("rip.app.stash.keys"),Ao=Symbol("rip.app.stash.defaults"),$c=Symbol.for("rip.app.stash.purge"),vo=new WeakMap,Dc=0,cn=A1(0),sn=function(){return cn.value++},Oo=function(e,t){let r=e[Ye];if(!r)r=new Map,Object.defineProperty(e,Ye,{value:r});let s=r.get(t);if(!s)s=A1(e[t]),r.set(t,s);return s},Ot=function(e){return Oo(e,Ic)},an=function(e){Ot(e).value=++Dc;return};It=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 _o=function(e){if(!It(e))return e;let t=vo.get(e);if(t)return t;return ln(e)},ze=function(e,t){let r=e?.[$1];if(!r)return e[t];let s=r[t];if(P1(s)){if(ge(s))return s;return _o(s.read())}return _o(Oo(r,t).value)},on=function(e,t,r){let s,i,n,a,o=e?.[$1];if(!o)return e[t]=r,r;if(Array.isArray(o)&&t==="length"){if(a=o.length,n=+r,o.length=n,n!==a){if(o[Ye]){for(let h=Math.min(a,n),u=Math.max(a,n);h0))throw TypeError("Rip App: stash path must be a non-empty string");let n=[],a=0;if(e[0]!=="["){i=a;while(a=e.length||a===i)throw TypeError(`Rip App: malformed stash path '${e}'`);if(r=e.slice(i,a),a++,e[a]!=="]")throw TypeError(`Rip App: malformed stash path '${e}'`);a++,n.push(r)}else{i=a;while(a{let s=[];for(let i in r){if(!Object.hasOwn(r,i))continue;let n=r[i];s.push(nn(n,t))}return s})()};vt=function(e){if(!It(e))return e;let t=e[$1]?e[$1]:e;if(Array.isArray(t))return(()=>{let s=[];for(let i of t)if(!P1(i))s.push(vt(i));return s})();let r={};for(let s in t){if(!Object.hasOwn(t,s))continue;let i=t[s];if(P1(i))continue;r[s]=vt(i)}return r};function Io(e){let t=e?.[$1]?e[$1]:e;if(!(t!=null&&typeof t==="object"))return;Object.defineProperty(t,Ao,{value:vt(t),configurable:!0});return}function Lr(e){if(P1(e))return e;if(!It(e))return e;let t=e[$1]?e[$1]:e;if(Array.isArray(t))return(()=>{let s=[];for(let i of t)s.push(Lr(i));return s})();let r={};for(let s in t){if(!Object.hasOwn(t,s))continue;let i=t[s];Object.defineProperty(r,s,{value:Lr(i),writable:!0,enumerable:!0,configurable:!0})}return r}function Je(e,t){let r,s,i;if(!(e!=null&&typeof e==="object"))return;if(!(t!=null&&typeof t==="object"))return;let n=e[$1]?e[$1]:e;for(let a in t){if(!Object.hasOwn(t,a))continue;let o=t[a];if(r=Object.prototype.hasOwnProperty.call(n,a)?n[a]:void 0,P1(r))continue;if(Array.isArray(r)&&r.some(function(l){return P1(l)}))continue;if(s=r!=null&&typeof r==="object"&&!Array.isArray(r),i=o!=null&&typeof o==="object"&&!Array.isArray(o),s&&i)Je(e[a],o);else e[a]=vt(o)}return}var Cc=function(e,t){let r,s=t[Ao];if(!s)return;r=function(i,n,a){let o;for(let l in n){if(!Object.hasOwn(n,l))continue;if(o=n[l],P1(o))continue;if(!(a!=null&&Object.prototype.hasOwnProperty.call(a,l))){delete i[l];continue}if(o!=null&&typeof o==="object"&&!Array.isArray(o))r(i[l],o,a[l])}return},r(e,t,s),Je(e,s);return},Lc={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(s,i=1){let n=(Me(e,s)??0)+i;return At(e,s,n),n};if(r==="dec")return function(s,i=1){let n=(Me(e,s)??0)-i;return At(e,s,n),n};if(r==="flip")return function(s){let i=!(Me(e,s)??!1);return At(e,s,i),i};if(r==="join")return function(s,i){if(!(i!=null&&typeof i==="object"&&!Array.isArray(i)))throw TypeError("Rip App: join expects a plain object");M1(function(){let n=Me(e,s);if(!(n!=null&&typeof n==="object"&&!Array.isArray(n)))At(e,s,{}),n=Me(e,s);return(()=>{let a=[];for(let o in i){if(!Object.hasOwn(i,o))continue;let l=i[o];a.push(n[o]=l)}return a})()});return};if(r==="keys")return function(s){let i=s!=null?Me(e,s):e;if(!(i!=null&&typeof i==="object"))return[];let n=i[$1]?i[$1]:i;return Ot(n).value,Object.keys(n)};if(r==="has")return function(s){let i,n,a=qe(s);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(n){return!n||n==="."||n===".."}),s=t.at(-1),i=t.slice(0,-1).some(function(n){return n.endsWith(".rip")});if(e.includes("\\")||r||i||s===".rip"||!s.endsWith(".rip"))throw TypeError(`Rip App: invalid component path '${e}'`);return e};fn=function(e){if(typeof e!=="string")throw TypeError("Rip App: component source must be a string");return e};hn=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 Fr(){let e=new Map,t=new Map,r=new Set,s=function(n,a){let o=[];for(let l of Array.from(r))o.push((()=>{try{return l(n,a)}catch(c){return console.error("[Rip] component watcher error:",c)}})());return o};return{read(n){return e.get(Ae(n))},write(n,a){n=Ae(n),a=fn(a);let o=e.has(n)?"change":"create";e.set(n,a),t.delete(n),s(o,n);return},del(n){n=Ae(n),e.delete(n),t.delete(n),s("delete",n);return},exists(n){return e.has(Ae(n))},size(){return e.size},list(n=""){let a;n=hn(n);let o=n?n+"/":"",l=[];for(let[c]of e)if(c.startsWith(o)){if(a=c.slice(o.length),!a.includes("/"))l.push(c)}return l},listAll(n=""){n=hn(n);let a=n?n+"/":"",o=[];for(let[l]of e)if(l.startsWith(a))o.push(l);return o},load(n){let a,o;if(!(n!=null&&typeof n==="object"&&!Array.isArray(n)))throw TypeError("Rip App: component load expects a source object");for(let l in n){if(!Object.hasOwn(n,l))continue;let c=n[l];l=Ae(l),c=fn(c),e.set(l,c),t.delete(l)}return},watch(n){if(typeof n!=="function")throw TypeError("Rip App: component watch expects a function");r.add(n);let a=!1;return function(){if(a)return;a=!0,r.delete(n);return}},getCompiled(n){return t.get(Ae(n))},setCompiled(n,a){if(n=Ae(n),!(a!=null&&typeof a==="object"&&!Array.isArray(a)))throw TypeError("Rip App: compiled component module must be an object");t.set(n,a);return}}}var Lo,Mo,C1,dn,jo,Fo,Bo,un=/^\w+$/,Uo={static:0,dynamic:1,optional:2,catchall:3},Co=8;C1=function(e){throw Error(`Rip App: ${e}`)};var xt=function(e){try{return decodeURIComponent(e)}catch(t){return null}};Bo=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 Vo=function(e,t){let r;if(r=/^\[\[(.+)\]\]$/.exec(e)){if(!un.test(r[1]))C1(`invalid optional segment '${e}' in '${t}'`);return{kind:"optional",name:r[1]}}else if(r=/^\[\.\.\.(.+)\]$/.exec(e)){if(!un.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(!un.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}};Lo=function(e){let t,r=(()=>{let h=[];for(let u of e.slice(0,-4).split("/"))h.push(Vo(u,e));return h})();if(r[r.length-1].kind==="group")C1(`route file name cannot be a group segment: '${e}'`);let s=r.filter(function(h){return h.kind!=="group"});for(let h=0;hCo)C1(`more than ${Co} optional segments in '${e}'`);let o="",l=[],c=[{shape:"",display:""}];for(let h of s)switch(l.push(Uo[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(Vo(c,t));return l})().filter(function(l){return l.kind!=="group"});for(let l of s)if(l.kind==="optional"||l.kind==="catchall")C1(`not-found page under an optional or catch-all segment: '${t}'`);let i=[];for(let l of s)if(l.name!=null){if(i.includes(l.name))C1(`duplicate parameter name '${l.name}' in '${t}'`);i.push(l.name)}let n="",a="",o=[];for(let l of s)if(o.push(Uo[l.kind]),l.kind==="static")n+="/"+l.text,a+="/"+l.text;else n+=`/:${l.name}`,a+="/:";return{pattern:n+"/*",shape:a+"/*",parts:s,ranks:o}};jo=function(e,t){let r;return r=function(s,i){let n,a,o,l;if(s===e.length)return i===t.length?[]:null;let c=e[s];return(()=>{switch(c.kind){case"static":if(!(if.length))continue;if(a=T.slice(f.length),l=a.split("/"),n=l.some(function(F){return!F||F==="."||F===".."}),a.includes("\\")||n||l.at(-1)===".rip")throw TypeError(`Rip App: invalid route file path '${T}'`);if(l.at(-1)==="_layout.rip"){h.set(l.slice(0,-1).join("/"),T);continue}if(l.at(-1)==="_404.rip"){if(l.slice(0,-1).some(function(F){return F.startsWith("_")}))continue;u.push({...Mo(l.slice(0,-1),a),rel:a,file:T});continue}if(l.some(function(F){return F.startsWith("_")}))continue;if(!a.endsWith(".rip"))throw TypeError(`Rip App: route files must be .rip sources: '${T}'`);d.push({...Lo(a),rel:a,file:T})}let p=new Map;for(let T of[...d].sort(function(F,L){return F.relF.pattern)return 1;return 0});let m=new Map;for(let T of[...u].sort(function(F,L){return F.relF.pattern)return 1;return 0});let g=d.map(function(T){return{route:Object.freeze({pattern:T.pattern,file:T.file,layouts:Object.freeze(dn(T.rel,h))}),parts:T.parts}}),b=u.map(function(T){return{route:Object.freeze({pattern:T.pattern,file:T.file,layouts:Object.freeze(dn(T.rel,h))}),parts:T.parts}}),S=function(T){if(typeof T!=="string")throw TypeError("Rip App: route match expects a path string");if(!T.startsWith("/"))return null;while(T.length>1&&T.endsWith("/"))T=T.slice(0,-1);return T==="/"?[]:T.slice(1).split("/")},w=function(T){let F;if(l=S(T),!l)return null;for(let L of g){if(F=jo(L.parts,l),!F)continue;return{route:L.route,params:Object.fromEntries(F)}}return null},R=function(T){let F;if(l=S(T),!l)return null;for(let L of b){if(F=Fo(L.parts,l),!F)continue;return{route:L.route,params:Object.fromEntries(F)}}return null};return Object.freeze({routes:Object.freeze(g.map(function(T){return T.route})),match:w,notFound:R})}function Ze(e){if(typeof e!=="string")throw TypeError("Rip App: parseQuery expects a query string");return Object.fromEntries(new URLSearchParams(e))}var q1,mn,Wo,Br;q1=function(e){let t=e.indexOf("#"),r=t>=0?e.slice(t+1):"",s=t>=0?e.slice(0,t):e,i=s.indexOf("?"),n=i>=0?s.slice(i+1):"";return{path:i>=0?s.slice(0,i):s,query:n,hash:r}};mn=function(e,t){let r=Object.keys(t);return r.length===Object.keys(e).length&&r.every(function(i){return e[i]===t[i]})?e:t};Br=function(e){if(!(e!=null&&typeof e.match==="function"&&Array.isArray(e.routes)))throw TypeError("Rip App: createRouter requires a route manifest");return e};Wo=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 Ur(e){let t,{routes:r,adapter:s,onError:i}=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 v of["read","push","replace","go","listen"])if(typeof s?.[v]!=="function")throw TypeError(`Rip App: router adapter requires a ${v} function`);let n=Wo(e?.base),a=e?.hash===!0;if(n&&a)throw TypeError("Rip App: a base path does not apply in hash mode");let o=typeof r==="function"?Br(r()):Br(r),l=new Set,c=null,f=A1(null),h=A1(null),u=A1({}),d=A1({}),p=A1(""),m=jr(100,A1(!1)),g=Y1(function(){let v=h.value;if(!v)return null;return{route:v,layouts:v.layouts,params:u.value,query:d.value}}),b=function(v){if(!n)return v;if(v===n)return"/";if(v.startsWith(n+"/"))return v.slice(n.length);return null},S=function(v){if(!n)return v;return v==="/"?n:n+v},w=function(v){return a?s.read().split("#")[0]+"#"+v:S(v)},R=function(v){return i?.({status:404,path:v}),!1},T=0,F=function(v){return typeof v==="string"&&!v.startsWith("//")&&!v.includes("\\")},L=function(v){if(!F(v))return null;return o.match(v)},P=function(v){if(!F(v))return null;return o.match(v)??o.notFound?.(v)??null},N=function(v,j,X,x){let Z=mn(u.value,v.params),U=mn(d.value,Ze(X));M1(function(){return f.value=j,h.value=v.route,u.value=Z,d.value=U,p.value=x});let r1={path:j,route:v.route,params:Z,query:U,hash:x};T+=1;try{for(let Q of Array.from(l))try{Q(r1)}catch(l1){console.error("[Rip] router onNavigate error:",l1)}}finally{T-=1}return!0},D=function(){if(T>=10)throw Error("Rip App: navigation loop — ten nested navigations from onNavigate")},O=function(){let v,j,X,x,Z,U=s.read();if(a){if(v=U.indexOf("#"),X=v>=0?U.slice(v+1):"/",X==="")X="/";({path:x,query:Z,hash:j}=q1(X))}else if({path:x,query:Z,hash:j}=q1(U),x=b(x),x==null)return R(q1(U).path);let r1=P(x);if(!r1)return R(x);return N(r1,x,Z,j)},W=null,H=null,G=function(){W=null;let v=s.readState?.()??{};return s.replace(s.read(),{...v,__ripScroll:s.scroll?.save?.()??null})},k=function(){return!W?W=setTimeout(G,100):void 0};return t={init(){if(c)return t;return O(),c=s.listen(function(){if(!O())return;let v=s.readState?.();return s.scroll?.restore?.(v?.__ripScroll??null)}),H=s.scroll?.watch?.(k)??null,t},push(v,j={}){D();let{path:X,query:x,hash:Z}=q1(v),U=P(X);if(!U)return R(X);let r1=s.scroll?.save?.()??null,Q=s.readState?.()??{};if(s.replace(s.read(),{...Q,__ripScroll:r1}),s.push(w(v),null),N(U,X,x,Z),!j.noScroll)s.scroll?.top?.();return!0},replace(v,j={}){D();let{path:X,query:x,hash:Z}=q1(v),U=P(X);if(!U)return R(X);let r1=s.readState?.()??{};if(s.replace(w(v),{...r1,__ripScroll:null}),N(U,X,x,Z),!j.noScroll)s.scroll?.top?.();return!0},back(){return s.go(-1)},forward(){return s.go(1)},match(v){let{path:j,query:X,hash:x}=q1(v),Z=L(j);if(!Z)return null;return{route:Z.route,params:Z.params,query:Ze(X),hash:x}},claims(v){let j,X,x,Z,U;if(!(typeof v==="string"&&v.length>0))return null;if(a){if(j=v.indexOf("#"),j<0)return null;if(x=v.slice(j+1),x==="")x="/";({path:Z,query:U,hash:X}=q1(x))}else{if(!v.startsWith("/"))return null;if({path:Z,query:U,hash:X}=q1(v),Z=b(Z),Z==null)return null}let r1=L(Z);if(!r1)return null;let Q=Z+(U?"?"+U:"")+(X?"#"+X:"");return{path:Z,url:Q,route:r1.route,params:r1.params,query:Ze(U),hash:X}},onNavigate(v){if(typeof v!=="function")throw TypeError("Rip App: onNavigate expects a function");return l.add(v),function(){return l.delete(v)}},rebuild(){let v,j,X,x,Z;if(o=typeof r==="function"?Br(r()):o,!c)return;let U=s.read();if(a){if(v=U.indexOf("#"),X=v>=0?U.slice(v+1):"/",X==="")X="/";({path:x,query:Z,hash:j}=q1(X))}else if({path:x,query:Z,hash:j}=q1(U),x=b(x),x==null)return R(q1(U).path);let r1=P(x);if(!r1)return R(x);let Q=h.value,l1=Q?.layouts??[],I=r1.route.layouts??[],s1=l1.length===I.length&&l1.every(function(e1,K){return e1===I[K]});if(Q?.file===r1.route.file&&s1&&f.value===x)return;N(r1,x,Z,j);return},destroy(){if(c?.(),c=null,H?.(),H=null,W)clearTimeout(W);W=null;return}},Object.defineProperty(t,"current",{get(){return g.value}}),Object.defineProperty(t,"path",{get(){return f.value}}),Object.defineProperty(t,"hash",{get(){return p.value}}),Object.defineProperty(t,"params",{get(){return u.value}}),Object.defineProperty(t,"query",{get(){return d.value}}),Object.defineProperty(t,"navigating",{get(){return m.value},set(v){return m.value=v}}),t}function Vr(){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,s){return window.history.pushState(s,"",r)},replace(r,s){return window.history.replaceState(s,"",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 s;if(r==null)return;let i=++t,n=r.x||0,a=r.y||0,o=0;s=function(){if(i!==t)return;let l=Math.max(0,(window.document?.documentElement?.scrollHeight||0)-window.innerHeight);return window.scrollTo(n,Math.min(a,l)),o+=1,a>l&&o<20?e(s):void 0},e(s);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 pn,Ho,je;Ho=en();je=function(e,t,r,s=null){let i=s??r?.message??String(r),n=Error(i);return n.name="GateFailure",n.status=r?.status??r?.response?.status??500,n.path=e,n.file=t,n.error=r,n};pn=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 s=function(n){return typeof n==="function"&&typeof n.prototype?.mount==="function"};if(s(r.default))return r.default;let i=[];for(let n in r){let a=r[n];if(n==="default")continue;if(s(a))i.push(a)}if(i.length!==1)throw Error(`Rip App: precompiled module '${t}' must export exactly one component class`);return i[0]};function Wr(e){let t;if(!(e!=null&&typeof e==="object"))throw TypeError("Rip App: createRenderer expects an options object");let{router:r,stash:s,components:i,target:n,onError:a}=e;if(!(r!=null&&typeof r==="object"))throw TypeError("Rip App: createRenderer requires a router object");if(!(s!=null&&Ne(s)!==s))throw TypeError("Rip App: createRenderer requires a stash built by createStash");if(!(i!=null&&typeof i.getCompiled==="function"))throw TypeError("Rip App: createRenderer requires a component registry");if(!(n!=null&&typeof n.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,p=null,m=!1,g=function(K,a1){let A=Object.keys(K);return A.length===Object.keys(a1).length&&A.every(function(V){return K[V]===a1[V]})},b=function(K,a1){return K.length===a1.length&&K.every(function(A,V){return a1[V]===A})},S=function(K){let a1=Ne(s),A=K.split(".");for(let V=0;V",M.file,`Rip App: ${M.file} static __gates must be an array`);for(let n1=0;n10))throw w(String(u1),M.file,`Rip App: ${M.file} has a malformed render gate path`);if(h1!=null&&typeof h1!=="function")throw w(u1,M.file,`Rip App: gate '${u1}' has a non-function key`);if(p1=S(u1),!p1)throw w(u1,M.file,`Rip App: gate '${u1}' does not resolve to a source`);if(V=p1.cell,ge(V)){if(!h1)throw w(u1,M.file,`Rip App: gate '${u1}' is keyed and requires a key function`);try{f1=h1(a1,A),V=V.cellFor(f1)}catch(z){throw B=z,je(u1,M.file,B,`Rip App: gate '${u1}' key failed: ${B.message}`)}}else if(h1)throw w(u1,M.file,`Rip App: gate '${u1}' is a singleton and does not accept a key function`);if(M.bindings[n1]={cell:V,tail:p1.tail,path:u1,file:M.file},!c1.has(V))c1.set(V,{cell:V,path:u1,file:M.file,entryIndex:d1})}}return Array.from(c1.values())},F=async function(K,a1,A,V){let B,i1,f1=T(K,a1,A),h1=await Promise.allSettled((()=>{let c1=[];for(let d1 of f1)c1.push(d1.cell.ensure());return c1})());if(V!==c)return!1;let u1=null,p1=function(c1,d1){if(c1.entryIndex=d1,u1==null||d1=u1.entryIndex)break;for(let M of d1.bindings){i1=M.cell.peek();for(let n1 of M.tail){if(i1==null)break;i1=i1[n1]}if(i1==null){p1(w(M.path,M.file,`Rip App: gate '${M.path}' resolved to ${i1}; every gated subpath must exist and be non-null`),c1);break}M.value=i1}}if(u1!=null)throw u1;return!0},L=function(K,a1){return Ho(K.cls,{gates:K.bindings,parent:a1,stash:s,router:r})},P=function(K){let a1=[];for(let A=K.length-1;A>=0;A--){let V=K[A];try{V.unmount?.()}catch(B){a1.push(B);try{V._teardown?.({state:"unmounted",hooks:!1,removeDOM:!0})}catch(i1){a1.push(i1)}}}return a1},N=function(){let K=o;o=[],l=null,h=[],u=null,d=null;let a1=P(K);if(a1.length)throw a1[0];return},D=null,O=function(){D?.remove?.(),D=null;return},W=function(K){let a1,A;O();let V=K.error?.stack??K.stack??K.message??String(K);D=(()=>{if(typeof document<"u"&&typeof document.createElement==="function")return a1=document.createElement("pre"),a1.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",a1.textContent=V,a1;else return A={nodeName:"PRE",textContent:V,parentNode:null,remove(){let B=A.parentNode?.children,i1=B?.indexOf(A)??-1;if(i1>=0)B.splice(i1,1);A.parentNode=null;return}},A})(),n.appendChild(D);return},H=function(){if(typeof document<"u"&&typeof document.createDocumentFragment==="function")return document.createDocumentFragment();let K=[];return{children:K,appendChild(a1){return K.push(a1),a1}}},G=function(K,a1=n){if(O(),K.nodeType===11)a1.appendChild(K);else for(let A of K.children)a1.appendChild(A);return},k=function(K,a1){let A,V=K._nodes??[K._root];for(let B of V){if(!B)continue;if(B.matches?.("#content"))return B;if(A=B.querySelector?.("#content"),A)return A}return V.find(function(B){return B!=null})??a1},v=function(K){return K?.childNodes??K?.children??[]},j=function(K,a1){K.slot=a1,K.slotOwned=v(a1).length;return},X=function(){let K,a1,A=n;for(let V=0;V0&&B.slot!=null&&B.slot!==A){a1=Array.from(v(B.slot)).slice(B.slotOwned??0),j(B,A);for(let i1 of a1)A.appendChild(i1);K._target=A}if(V===h.length-1)break;A=k(K,A)}if(h.length>1)u=A;return},x=function(K,a1,A){let V,B,i1;if(!K.some(function(c1){return typeof c1.cls.prototype?.onError==="function"}))return!1;let f1=H(),h1=f1,u1=[];try{for(let c1=0;c10)j(d1,h1);if(B.mount?.(h1),B._state==="failed")return P(u1),!1;h1=k(B,h1)}if(A!==c)return P(u1),!1;V=null;for(let c1=u1.length-1;c1>=0;c1--){let d1=u1[c1];if(typeof d1.onError==="function"){V=d1;break}}G(f1)}catch(c1){return console.error("[Rip] boundary chain failed to mount:",c1),P(u1),!1}let p1=o;o=u1,l=u1[u1.length-1]??null,h=K,u=h1,d=null;try{V.onError(a1)}catch(c1){console.error("[Rip] boundary onError error:",c1)}for(let c1 of P(p1))console.error("[Rip] boundary teardown error:",c1);return!0},Z=function(K,a1){let A=null;for(let B=K.length-1;B>=0;B--){let i1=K[B];if(typeof i1.instance?.onError==="function"){A=i1.instance;break}}if(!A)return!1;let V=o.slice(K.length);o=K.map(function(B){return B.instance}),l=o[o.length-1]??null,h=K,d=null;try{A.onError(a1)}catch(B){console.error("[Rip] boundary onError error:",B)}for(let B of P(V))console.error("[Rip] boundary teardown error:",B);return!0},U=async function(K,a1,A=i){let V,B,i1,f1,h1,u1,p1=K?.route;if(!p1?.file)throw Error("Rip App: renderer route state requires route.file");let c1=K.params??{},d1=K.query??{},M=K.layouts??[];if(!Array.isArray(M))throw Error("Rip App: renderer route state layouts must be an array");let n1=h.map(function(m1){return m1.file}),_=p;if(p=null,_==null&&l!=null&&d!=null&&p1.file===d.file){if(b([...M,p1.file],n1)&&g(c1,d.params)){if(!(g(d1,d.query)||R(h,c1,d1))){if(typeof l.load==="function")await l.load(c1,d1);if(a1!==c)return null;return d={file:p1.file,params:c1,query:d1},l}}}let z=[...M,p1.file],q=d!=null&&M.length>0&&h.length===M.length+1&&b(M,n1.slice(0,-1))&&!R(h.slice(0,-1),c1,d1),t1=_!=null?Math.max(0,Math.min(_,z.length-1)):q?M.length:0;if(_!=null&&t1>0){if(!(h.length===z.length&&b(z.slice(0,t1),n1.slice(0,t1))))t1=0}let C=[];for(let m1=0;m10){if(i1=q?Z(C.slice(0,V),B):x(C.slice(0,V),B,a1),i1)return null}}throw B}let o1=H(),E1=o1,y1=[],S1=t1>0?C[t1-1].instance:null,_1=t1>0,v1=_1?k(S1,n):n;try{for(let m1=C.slice(t1),D1=0;D10)j(be,E1);if(f1.mount?.(E1),f1._state==="failed")throw Error(`Rip App: component '${be.file}' failed during mount`);if(t1+D11?E1:v1,h=C,d={file:p1.file,params:c1,query:d1};let g1=P(R1);if(m=g1.length>0,g1.length)for(let m1 of g1)if(B=je("","",m1),a!=null)try{a(B)}catch(D1){console.error("[Rip] renderer teardown reporter failed:",D1)}else console.error("[Rip] renderer teardown error:",B);return l},r1=function(K){let a1,A,V=K?.route;if(!V?.file)return;let B=K.params??{},i1=K.query??{},f1=K.layouts??V.layouts??[],h1=h.map(function(c1){return c1.file}),u1=d!=null&&b(f1,h1.slice(0,-1));if(u1&&V.file===d.file&&g(B,d.params))return;let p1=u1?[V.file]:[...f1,V.file];try{a1=(()=>{let c1=[];for(let d1 of p1)c1.push({file:d1,cls:pn(i,d1)});return c1})(),A=T(a1,B,i1)}catch(c1){return}for(let c1 of A)c1.cell.preload().catch(function(){return null});return},Q=function(K,a1){if(!(K!=null&&typeof K==="object"&&typeof a1==="string"))return null;let A=function(B){return typeof B==="function"&&B.__hmrId===a1},V=K.__hmrComponents;if(V!=null&&typeof V==="object")for(let B in V){let i1=V[B];if(A(i1))return i1}if(A(K.default))return K.default;for(let B in K){let i1=K[B];if(A(i1))return i1}return null},l1=function(K){let a1=K+"#",A=[];for(let B of h)if(B.file===K&&B.instance!=null)A.push(B.instance);for(let[B,i1]of Ji())if(typeof B==="string"&&B.startsWith(a1)){for(let f1 of i1.instances)if(!A.includes(f1))A.push(f1)}let V=[];for(let B of A)V.push({instance:B,entry:h.find(function(i1){return i1.instance===B})??null});return V},I=function(K,a1){let A,V,B,i1,f1=(()=>{let c1=[];for(let d1 of K)if(typeof d1==="string"&&d1.endsWith(".rip"))c1.push(d1);return c1})();if(!(f1.length>0))return"unknown";let h1=0,u1=!1,p1=new Set;for(let c1 of f1){if(i1=a1.getCompiled(c1),B=l1(c1),i1==null){if(typeof a1.exists==="function"&&!a1.exists(c1)){if(B.some(function(d1){return d1.instance._state!=="unmounted"}))return"fallback"}else u1=!0;continue}for(let{instance:d1,entry:M}of B){if(p1.has(d1))continue;if(d1._state==="unmounted")continue;if(d1._state!=="mounted")return"fallback";if(V=d1.constructor?.__hmrId,A=typeof V==="string"?Q(i1,V):null,A==null)return"fallback";if(wt(A),_t(d1.constructor,A)!=="patch")return"fallback";if(Qi(d1,A),p1.add(d1),h1+=1,M!=null){if(M.cls=A,M!==h[h.length-1])X()}}}if(h1>0)return"done";return u1?"unknown":"idle"},s1=async function(K,a1=i){let A,V,B,i1,f1;if(!(Array.isArray(K)&&K.length>0))return"noop";for(let q of K)if(q==="stash.rip"||q.startsWith("stash/")||q==="seed.rip")return"escape";let h1=r.current;if(!(h1?.route?.file&&h.length>0))return"noop";let p1=[...h1.layouts??h1.route.layouts??[],h1.route.file],c1=b(p1,h.map(function(q){return q.file})),d1=Zi();try{if(f1=I(K,a1),f1==="done")return Pr(d1),"narrow";if(f1==="idle"&&c1)return _e("noop",{paths:[...K]}),"noop"}catch(q){console.error("[Rip] HMR patch failed; falling back to remount:",q),_e("reject",{reason:"patch-failed",paths:[...K],message:q?.message?String(q.message):String(q)})}let M=new Set(K),n1=-1;for(let q=0;q{if(A?.name==="GateFailure")return A;else return B=K?.route?.file??"",je(A?.path??B,B,A)})(),a?.(V),l==null)W(V);throw V}finally{if(i1===c&&(Array.isArray(r)||typeof r==="string"?r.includes("navigating"):("navigating"in r)))r.navigating=!1}};let e1=null;return e1={current:null,mount:t,preload:r1,remountDirty:s1,start(){if(f)return e1;return r.init?.(),f=x1(function(){let K=r.current;if(K?.route)t(K).catch(function(){return null});return}),e1},stop(){let K,a1;if(c++,f?.(),f=null,Array.isArray(r)||typeof r==="string"?r.includes("navigating"):("navigating"in r))r.navigating=!1;try{N()}catch(A){throw K=A,a1=je("","",K),a?.(a1),a1}return}},Object.defineProperty(e1,"current",{get(){return l}}),e1}var Ko,Yo,gn=Symbol.for("rip.app.stash.persisted"),Go=Symbol.for("rip.app.stash.purge");Yo=function(e,t){return P1(t)?void 0:t};Ko=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 Hr(e,t={}){let r,s=Ne(e)||e;if(s[gn])return function(){return null};s[gn]=!0;let i=Ko(t),n=t.key||"__rip_app",a=t.debounce??2000;try{if(r=i.getItem(n),r)Je(e,JSON.parse(r))}catch(u){}let o=null,l=function(){o=null;try{i.setItem(n,JSON.stringify(Ne(e),Yo))}catch(u){}return},c=!1,f=x1(function(){if(cn.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(s,Go,{value(){if(o!=null)clearTimeout(o),o=null;try{i.removeItem(n)}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(),s[Go]=null,s[gn]=!1;return}}var zo,bn;bn=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 Ct(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 Lt(e,t){if(t==null)return!1;if(bn(t))return!1;let r=Ct(t);if(r==null)return!1;return e.claims(r)!=null}zo=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 Gr(e,t=null){if(!(e!=null&&typeof e.claims==="function"))throw TypeError("Rip App: ariaCurrent requires a router");t=t??zo();let r=new WeakMap,s=function(){let l,c,f,h,u=e.path;for(let d of t.anchors()){if(l=bn(d)?null:e.claims(Ct(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},i=function(){try{s()}catch(l){console.error("[Rip] aria-current walk failed:",l)}return},n=x1(function(){return e.path,i()}),a=t.observe?.(i)??null,o=!1;return function(){if(o)return;o=!0,n(),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 qo,Xo,yn,Sn;Xo=50;qo=3000;Sn=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)}}}};yn=function(e){while(e!=null&&e.tagName!=="A")e=e.parentElement;return e??null};function Kr(e,t=null){if(!(e!=null&&typeof e.claims==="function"&&typeof e.push==="function"))throw TypeError("Rip App: interceptClicks requires a router");t=t??Sn();let r=function(n){if(n.defaultPrevented)return;if(n.button!==0||n.metaKey||n.ctrlKey||n.shiftKey||n.altKey)return;let a=yn(n.target);if(!(a!=null&&Lt(e,a)))return;let o=e.claims(Ct(a));if(o==null)return;n.preventDefault(),e.push(o.url,{noScroll:a.hasAttribute?.("data-router-noscroll")===!0});return},s=t.listen("click",r),i=!1;return function(){if(i)return;i=!0,s();return}}function Yr(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??Sn();let s=null,i=null,n={href:null,at:0},a=function(){if(s!=null)clearTimeout(s);s=null,i=null;return},o=function(h){let u=yn(h.target);if(!(u!=null&&Lt(e,u)))return;if(u===i)return;a(),i=u;let d=Ct(u);s=setTimeout(function(){s=null,i=null;let p=Date.now();if(d===n.href&&p-n.at1)throw AggregateError(S,"Rip App: launch.destroy failed");return};globalThis.__ripStash=l,globalThis.__ripRouter=f;try{if(typeof n.replaceChildren==="function")n.replaceChildren();else if(Array.isArray(n.children))n.children.length=0;h.start()}catch(S){throw b(),S}return{stash:l,components:c,router:f,renderer:h,destroy:b}}var En,qr,kn,Tn,wn,V1;V1=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(n){return!n||n==="."||n===".."||n.startsWith(".")}),s=t.at(-1),i=t.slice(0,-1).some(function(n){return n.endsWith(".rip")});if(e.includes("\\")||e.startsWith("/")||r||i||s===".rip"||!s.endsWith(".rip"))throw TypeError(`Rip Workspace: invalid component path '${e}'`);return e};qr=function(e){if(typeof e!=="string")throw TypeError("Rip Workspace: component source must be a string");return e};kn=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};Tn=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};wn=function(e){if(!(e!=null&&typeof e==="object"&&!Array.isArray(e)))throw TypeError("Rip Workspace: compiled component module must be an object");return e};En=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=Tn(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 s=new Map,i=new Map,n=e.sources;for(let o in n){if(!Object.hasOwn(n,o))continue;let l=n[o];s.set(V1(o),qr(l))}let a=e.compiled;for(let o in a){if(!Object.hasOwn(a,o))continue;let l=a[o];if(o=V1(o),!s.has(o))throw Error(`Rip Workspace: compiled module '${o}' has no source`);i.set(o,wn(l))}return{hash:r,sources:s,compiled:i}};function Xr(){let e,t=new Map,r=new Map,s=new Set,i=null,n=!1,a=function(l,c){for(let f of Array.from(s))try{f(l,c)}catch(h){console.error("[Rip] workspace watcher error:",h)}return},o=function(l){t=l.sources,r=l.compiled,i=l.hash;return};return e={read(l){return t.get(V1(l))},write(l,c){if(n)throw Error("Rip Workspace: cannot write during a publication transition");l=V1(l),c=qr(c);let f=t.has(l)?"change":"create";t.set(l,c),r.delete(l),a(f,l);return},del(l){if(n)throw Error("Rip Workspace: cannot delete during a publication transition");l=V1(l),t.delete(l),r.delete(l),a("delete",l);return},exists(l){return t.has(V1(l))},size(){return t.size},list(l=""){let c;l=kn(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=kn(l);let c=l?l+"/":"",f=[];for(let[h]of t)if(h.startsWith(c))f.push(h);return f},load(l){if(n)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([V1(f),qr(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");s.add(l);let c=!1;return function(){if(c)return;c=!0,s.delete(l);return}},getCompiled(l){return r.get(V1(l))},setCompiled(l,c){if(n)throw Error("Rip Workspace: cannot compile during a publication transition");if(l=V1(l),!t.has(l))throw Error(`Rip Workspace: setCompiled for unknown component path '${l}'`);r.set(l,wn(c));return},hash(){return i},activate(l){if(i!=null)throw Error("Rip Workspace: a publication is already active");if(n)throw Error("Rip Workspace: a publication transition is already staged");o(En(l));return},stage(l,c,f){if(n)throw Error("Rip Workspace: a publication transition is already staged");if(l=Tn(l),i!==l)throw Error(`Rip Workspace: change starts at ${l}, not ${i}`);if(!Array.isArray(f))throw TypeError("Rip Workspace: changed paths must be an array");let h=f.map(function(g){return V1(g)});if(new Set(h).size!==h.length)throw Error("Rip Workspace: changed paths must be unique");let u=En(c),d={sources:t,compiled:r,hash:i};n=!0;let p=!1,m=function(g){let b;if(p)throw Error("Rip Workspace: publication transition is already finished");if(p=!0,n=!1,!g)return;o(u);for(let S of h)b=!u.sources.has(S)?"delete":d.sources.has(S)?"change":"create",a(b,S);return};return{components:{getCompiled(g){return u.compiled.get(V1(g))},exists(g){return u.sources.has(V1(g))}},commit(){return m(!0)},rollback(){return m(!1)}}},commit(l,c,f){e.stage(l,c,f).commit();return}},e}var Qo,e2,t2,r2,i2,n2,s2,Jr;t2=250;e2=8000;Qo=5000;s2=0;Jr=function(e){return typeof e==="string"&&/^[A-Za-z0-9_]{6}$/.test(e)};i2=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`};n2=function(){if(typeof WebSocket>"u")throw Error("Rip App: connectFeed needs a socket factory (no global WebSocket)");return function(e){return new WebSocket(e)}};r2=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 Zr(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(!Jr(e.hash()))throw TypeError("Rip App: connectFeed client hash must be six Base64URL-folded characters");let s=t.hub??i2(),i=t.latestUrl??"/latest.json",n=t.makeSocket??n2(),a=t.fetch??r2(),o=t.report??function(...x){return console.error(...x)},l=t.backoff?.min??t2,c=t.backoff?.max??e2,f=t.ackTimeout??Qo,h=!1,u=!1,d=!1,p=!1,m=null,g=0,b=null,S=null,w=0,R=null,T=[],F=Promise.resolve(),L=new Map,P=null,N=function(x){if(u||h)return;u=!0,e.reload(x);return},D=async function(x){let Z;if(u||h)return!1;try{if(Z=await e.apply(x),Z==="rejected"){if(Jr(x?.hash))P=x?.hash;return!1}if(Z==="reload"||!Z)return N("change could not be applied"),!1;return P=null,!0}catch(U){return o("[Rip] publication change failed:",U),N("change failed"),!1}},O=function(x,Z){F=F.then(async function(){if(Z!==w)return!0;return await D(x)}),F=F.catch(function(U){return o("[Rip] publication queue failed:",U),N("change queue failed"),!1});return},W=async function(x){let Z,U;if(h||u||x!==w)return;let r1=e.hash(),Q=await a(i,{cache:"no-store"});if(!Q?.ok)throw Error(`latest.json fetch failed (${Q?.status})`);let l1=await Q.json();if(!(l1!=null&&typeof l1==="object"&&!Array.isArray(l1)&&Object.keys(l1).length===1&&Object.hasOwn(l1,"hash")&&Jr(l1.hash)))throw Error("latest.json is malformed");if(h||u||x!==w)return;if(P!=null){if(l1.hash!==P){N(`a newer App generation followed rejected ${P}`);return}T=[],p=!0,g=0;return}let I=new Set([r1]),s1=0;while(s10))return"ignore";let n=(()=>{let f=[];for(let h of s)if(typeof h==="string"&&h.endsWith(".css"))f.push(h);return f})(),a=(()=>{let f=[];for(let h of s)if(typeof h==="string"&&h.endsWith(".rip"))f.push(h);return f})(),o=(()=>{let f=[];for(let h of s)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(n.length>0)return"css";return"ignore"}let l=await e.renderer.remountDirty(a,i);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,i)==="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")},Uc=function(e){let t,r,s,i,n,a,o,l,c,f,h,u,d,p,m,g,b=Bc(e);if(typeof Bun<"u"&&Bun.CryptoHasher!=null)return new Uint8Array(new Bun.CryptoHasher("sha256").update(b).digest());let S=[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],w=b.length*8,R=new Uint8Array(b.length+9+63&-64);R.set(b),R[b.length]=128;let T=new DataView(R.buffer);T.setUint32(R.length-4,w>>>0,!1),T.setUint32(R.length-8,Math.floor(w/4294967296)>>>0,!1);let F=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],L=function(W,H){return W>>>H|W<<32-H},P=new Uint32Array(64),N=0;while(N>>3,p=L(P[W-2],17)^L(P[W-2],19)^P[W-2]>>>10,P[W]=P[W-16]+d+P[W-7]+p>>>0;[s,i,n,o,l,c,f,h]=F;for(let W=0;W<64;W++)r=L(l,6)^L(l,11)^L(l,25),a=l&c^~l&f,m=h+r+a+S[W]+P[W]>>>0,t=L(s,2)^L(s,13)^L(s,22),u=s&i^s&n^i&n,g=t+u>>>0,h=f,f=c,c=l,l=o+m>>>0,o=n,n=i,i=s,s=m+g>>>0;F[0]=F[0]+s>>>0,F[1]=F[1]+i>>>0,F[2]=F[2]+n>>>0,F[3]=F[3]+o>>>0,F[4]=F[4]+l>>>0,F[5]=F[5]+c>>>0,F[6]=F[6]+f>>>0,F[7]=F[7]+h>>>0,N+=64}let D=new Uint8Array(32),O=new DataView(D.buffer);for(let W=0;W<8;W++)O.setUint32(W*4,F[W],!1);return D},Mt=function(e){let t=Uc(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("-","_")},ei=function(e){let t=JSON.stringify(e.map(function(r){return[r.id,r.hash]}));return Mt(new TextEncoder().encode(t))};var Vc=function(){return globalThis.__ripStash},Wc=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,s=(f)=>Array.isArray(f)&&(f.includes(r)||r.endsWith("/")&&f.includes(r+"index.html")),i=(f)=>f.headers.get("etag")||f.headers.get("last-modified")||"",n=null;fetch(location.href,{method:"HEAD",cache:"no-store"}).then((f)=>{n=i(f)}).catch(()=>{});let a=()=>{if(n===null)return;fetch(location.href,{method:"HEAD",cache:"no-store"}).then((f)=>{if(i(f)!==n)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 p of Array.isArray(d)?d:[d]){if(!p||typeof p!=="object"||"<"in p)continue;if("!"in p){if(o)a();o=!0,l=0}if(s(p.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:Hc}=Nt;function Nn(e,t={}){if(t.face==="ts")throw Error("rip: TypeScript face is unavailable in the browser");return _a(e,{...t,face:"js"})}var h2={intrinsics:pr,stdlib:gr,schema:Er,reactive:Ar,components:Nt},u2=Object.freeze({...pr,...gr,...Er,...Ar,...Nt}),Gc=Object.freeze({rash:Mt,check:ei}),d2=Object.freeze({"rip/app":ti,"rip/app/rash":Gc});var Kc=new Map(Object.keys(h2).map((e)=>[new URL(`./runtime/${e}.js`,import.meta.url).pathname,e])),Yc=/(?:^|\/)src\/runtime\/(intrinsics|stdlib|schema|reactive|components)\.js$/,ri="__ripModuleBridge",zc=(e)=>e.slice(1,-1),a2=(e,t)=>{let r=e.split("/").slice(0,-1);for(let s of t.split("/")){if(s===""||s===".")continue;if(s===".."){if(!r.length)return null;r.pop()}else r.push(s)}return r.join("/")},o2=(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 m2({components:e,embeddedPackages:t={},debug:r=!1,hmr:s=!1}={}){if(!e||typeof e.read!=="function")throw TypeError("rip: createModuleLoader requires a component registry");let i=new Map,n=new Map,a=new Map,o=new Map,l=new Map,c=new Set,f=(m)=>{if(typeof m==="string"&&m.startsWith("blob:")&&typeof URL?.revokeObjectURL==="function")URL.revokeObjectURL(m)},h=async()=>{let m=[...c];c.clear(),await Promise.allSettled(m.map(async(g)=>f(await g)))},u=(m,g)=>{if(a.has(m))return a.get(m);globalThis[ri]??={};let b=globalThis[ri][m];if(b&&b!==g)throw Error(`rip: two copies of embedded module '${m}' are active on one page`);globalThis[ri][m]=g;let S=[`const ns = globalThis['${ri}'][${JSON.stringify(m)}];`];for(let R of Object.keys(g))if(R==="default")S.push("export default ns['default'];");else if(/^[A-Za-z_$][\w$]*$/.test(R))S.push(`export const ${R} = ns[${JSON.stringify(R)}];`);else throw Error(`rip: embedded module '${m}' exports '${R}', which cannot cross the module bridge`);let w=o2(S.join(` -`));return a.set(m,w),w},d=(m,g)=>{let b=zc(m),S=Kc.get(b)??b.match(Yc)?.[1];if(S)return{bridge:`runtime:${S}`,namespace:h2[S]};let w=(F)=>{try{return e.exists(F)}catch{return!1}},R=b.endsWith(".rip")?"":` — did you mean '${b}.rip'?`;if(b.startsWith("./")||b.startsWith("../")){let F=a2(g,b);if(F&&w(F))return{path:F};if(!g.startsWith("rip/")){let L=a2(`app/${g}`,b),P=L?.startsWith("app/")?L.slice(4):L;if(P&&w(P))return{path:P}}throw Error(`rip: '${g}' imports '${b}', which is not in the bundle${R}`)}let T=b.match(/^rip\/([\w-]+)(?:\/(.+))?$/);if(T){if(w(b))return{path:b};let F=`rip/${T[1]}`,L=t[b];if(L)return{bridge:`package:${b}`,namespace:L};if(t[F])throw Error(`rip: '${g}' imports '${b}', which '${F}' does not export in the browser`);let P=T[2]?T[2].endsWith(".rip")?T[2]:`${T[2]}.rip`:"index.rip",N=`${F}/${P}`;if(!w(N))throw Error(`rip: '${g}' imports '${b}', but '${N}' is not in the bundle — `+"only packages declaring browser safety travel to the browser");return{path:N}}throw Error(`rip: '${g}' imports '${b}', which is not loadable in a browser — `+"server-only and unknown modules never travel to the browser")},p=(m,g)=>{if(g.includes(m))throw Error(`rip: import cycle through '${m}' (${g.join(" -> ")} -> ${m})`);if(i.has(m))return i.get(m);let b=(async()=>{let S=e.read(m);if(S===void 0)throw Error(`rip: '${m}' is not in the bundle`);let w=Nn(S,{path:m,runtimeDelivery:"import",browserModule:!0,...s?{hmr:!0}:null}),R=w.code;for(let T of[...w.imports].reverse()){let F=d(T.specifier,m);if(F.path){let P=o.get(F.path);if(!P)o.set(F.path,P=new Set);P.add(m);let N=l.get(m);if(!N)l.set(m,N=new Set);N.add(F.path)}let L=F.bridge?u(F.bridge,F.namespace):await p(F.path,[...g,m]);R=`${R.slice(0,T.start)}${JSON.stringify(L)}${R.slice(T.end)}`}if(r){let T=btoa(unescape(encodeURIComponent(JSON.stringify(w.map))));R+=` -//# sourceMappingURL=data:application/json;charset=utf-8;base64,${T}`}return o2(R)})();return i.set(m,b),b.catch(()=>i.delete(m)),b};return{async import(m){if(n.has(m))return n.get(m);let b=await import(await p(m,[]));return n.set(m,b),e.setCompiled(m,{...b}),b},invalidate(m){let g=[m],b=new Set;while(g.length){let S=g.pop();if(b.has(S))continue;if(b.add(S),i.has(S))c.add(i.get(S));i.delete(S),n.delete(S);for(let w of o.get(S)??[])g.push(w);o.delete(S);for(let w of l.get(S)??[]){let R=o.get(w);if(R?.delete(S),R?.size===0)o.delete(w)}l.delete(S)}return b},collect:h,dispose(){for(let m of i.values())c.add(m);i.clear(),n.clear(),o.clear(),l.clear();for(let m of a.values())f(m);a.clear(),h()}}}var p2=Object.keys(u2),qc=p2.map((e)=>u2[e]),Xc=()=>{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))}}},Jc=(e)=>{let t=e.split(` +`+c+"]"}if(o==="object"){let l=Object.getPrototypeOf(n);if(l!==Object.prototype&&l!==null)return null;let c=Object.keys(n);if(c.length===0)return"{}";let h=" ".repeat(a+1),f=" ".repeat(a),u=c.map((d)=>{let p=i(n[d],a+1);return p===null?null:s(d)+": "+p});if(u.some((d)=>d===null))return null;return`{ +`+h+u.join(` +`+h)+` +`+f+"}"}return null};return(n)=>{let a=i(n,0);if(a!==null)console.log(a);else console.dir(n,{depth:null,colors:!0});return n}})(),Ma=(e,t)=>{throw t!==void 0?new e(t):Error(e)},ja=(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(),Fa=(e)=>new Promise((t)=>setTimeout(t,e)),Ba=(e)=>{throw Error(e||"Not implemented")},Ua=(...e)=>console.warn(...e),Va=(...e)=>e[0].map((t,r)=>e.map((s)=>s[r])),Wa=(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 Er={};Fe(Er,{SchemaDef:()=>Et,SchemaError:()=>I1,SchemaRegistry:()=>ie,__schema:()=>oc,installPersistence:()=>rc,registerCoercer:()=>sc});var za=Symbol.for("rip.runtime.schema");if(globalThis[za])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[za]=!0;var Te=null;function rc(e){if(Te&&Te!==e)throw Error("the Rip schema persistence runtime is already installed — two different copies met in one process");Te=e}class I1 extends Error{constructor(e,t,r){super(ic(e,t));this.name="SchemaError",this.issues=e,this.schemaName=t||null,this.schemaKind=r||null}}function ic(e,t){if(!e||!e.length)return"SchemaError";return(t?t+": ":"")+e.map((s)=>s.message||s.error||"invalid").join("; ")}var qa={__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,variant:(e)=>e!==void 0,any:()=>!0},Rr={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],s=+t[3],i=new Date(Date.UTC(+t[1],r,0)).getUTCDate();if(r<1||r>12||s<1||s>i)return{ok:!1};let n=new Date(e);if(!Number.isNaN(n.getTime()))return{ok:!0,value:n}}return{ok:!1}}};Rr.datetime=Rr.date;function br(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 Hi=new Map;function sc(e,t,r){if(typeof e!=="string"||typeof t!=="function")throw Error("registerCoercer(name, fn, opts?): name string and fn required");let s=Object.prototype.toString.call(t);if(s==="[object AsyncFunction]"||s==="[object GeneratorFunction]"||s==="[object AsyncGeneratorFunction]")throw Error("registerCoercer: coercer '~:"+e+"' must be a plain synchronous function");let i=r?.raw===!0,n=Hi.get(e);if(n){if(n.raw===i&&String(n.fn)===String(t))return t;throw Error("registerCoercer: coercer '~:"+e+"' is already registered")}return Hi.set(e,{fn:t,raw:i}),t}function St(e){if(qa[e])return null;let t=ie.get(e);return t&&(t.kind==="shape"||t.kind==="input"||t.kind==="model"||t.kind==="union")?t:null}function Ki(e,t,r){let s=qa[t];if(s)return s(e)?{value:e}:{errors:[{field:"",error:"type",message:"must be "+t}]};let i=ie.get(t);if(!i)return{value:e};if(i.kind==="enum"){let a=i._validateEnum(e,!0);return a.length?{errors:[{field:"",error:"enum",message:a[0].message}]}:{value:i._materializeEnum(e)}}if(i.kind==="mixin")return{errors:[{field:"",error:"type",message:":mixin "+t+" is not usable as a field type"}]};if(i.kind==="union"){let a=i._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 n=r?.existing?i._runExistingSync(e,{...r,materialize:!1,materializeNested:!1}):i._runSync(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}}async function Ha(e,t,r){let s=St(t);if(s===null)return Ki(e,t,r);if(s.kind==="union"){let n=s._unionResolve(e);if(n.issue)return{errors:[n.issue]};let a=r?.existing?await n.def._runExistingAsync(e,{...r,materialize:!1,materializeNested:!1}):await n.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 i=r?.existing?await s._runExistingAsync(e,{...r,materialize:!1,materializeNested:!1}):await s._runAsync(e,{...r,materialize:!1,materializeNested:!1});if(i.thrown){if(r?.derived==="throw")throw i.thrown;return{errors:[{field:"",error:"derived",message:i.thrown?.message||String(i.thrown)}]}}return i.ok?{value:i.value}:{errors:i.errors}}function Rt(e,t){if(!t)return e;return e+(t.startsWith("[")?t:"."+t)}function yr(e,t,r){if(!t)return e+" "+r;if(r.startsWith(t))return e+r.slice(t.length);return e+": "+r}var Sr=Symbol("schema.materialization-error");function Ka(e,t){if(e&&e[Sr])return{[Sr]:!0,error:e.error,field:Rt(t,e.field)};return{[Sr]:!0,error:e,field:t}}function Ke(e){return e&&e[Sr]?{thrown:e.error,derivedField:e.field}:{thrown:e,derivedField:""}}var nc=tt;function Ga(e){let t=(s)=>JSON.stringify(s??null,(i,n)=>n instanceof RegExp?String(n):typeof n==="function"?"":n),r=[e.kind];for(let s of e._desc.entries||[])switch(s.tag){case"field":r.push("f:"+s.name+":"+(s.typeName||"")+(s.array?"[]":"")+":"+(s.modifiers||[]).join("")+(s.literals?":"+s.literals.join(","):"")+":"+t(s.constraints)+(s.coerce?":~"+(s.coercer||""):"")+(s.transform?":t":""));break;case"enum-member":r.push("e:"+s.name+"="+String(s.value));break;case"directive":r.push("d:"+s.name+":"+t(s.args));break;case"ensure":r.push("n:"+(s.message||""));break;default:r.push(s.tag+":"+(s.name||""))}return r.join("|")}var ke=0,ie={_entries:new Map,replace:!1,register(e){if(!e.name)return;ke++;let t=this._entries.get(e.name);if(t&&t.def!==e&&!this.replace){if(Ga(t.def)!==Ga(e))throw new I1([{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(),ke++},scope(e){let t=this._entries;this._entries=new Map,ke++;let r=()=>{this._entries=t,ke++};try{let s=e();if(s&&typeof s.then==="function")return s.finally(r);return r(),s}catch(s){throw r(),s}}};class Et{constructor(e){if(e.kind==="model"&&!Te)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")Te.decorateDef(this,e)}_normalize(){if(this._norm)return this._norm;let e=new Map,t=new Map,r=new Map,s=new Map,i=new Map,n=new Map,a=null,o=[],l=new Map,c=[],h=(S,w)=>{throw new I1([{field:S,error:"collision",message:S+" collides with "+w}],this.name,this.kind)},f=(S)=>{if(e.has(S))h(S,"field");if(t.has(S))h(S,"method");if(r.has(S))h(S,"computed");if(s.has(S))h(S,"derived");if(i.has(S))h(S,"hook")},u=(S)=>{throw new I1([{field:"",error:"kind",message:S+" is :model-only (this schema is :"+this.kind+")"}],this.name,this.kind)},d=this.kind==="union"?new Set(["on"]):new Set(["mixin"]),p=(S,w)=>{if(!nc(S))throw new I1([{field:S,error:"invalid-name",message:w+" name '"+S+"' 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 S of this._desc.entries)switch(S.tag){case"field":p(S.name,"field"),f(S.name),e.set(S.name,{name:S.name,required:S.modifiers.includes("!"),optional:S.modifiers.includes("?"),unique:S.unique===!0,primary:S.primary===!0,attrs:S.attrs||null,typeName:S.typeName,literals:S.literals||null,array:S.array===!0,coerce:S.coerce===!0,coercer:S.coercer||null,constraints:S.constraints||null,transform:S.transform||null});break;case"method":f(S.name),t.set(S.name,S.fn);break;case"computed":f(S.name),r.set(S.name,S.fn);break;case"derived":f(S.name),s.set(S.name,S.fn);break;case"hook":if(this.kind!=="model")u("lifecycle hook '"+S.name+"'");if(i.has(S.name))h(S.name,"duplicate hook");i.set(S.name,S.fn);break;case"scope":if(this.kind!=="model")u("query scope '@scope :"+S.name+"'");if(n.has(S.name))h(S.name,"scope");n.set(S.name,S.fn);break;case"defaultScope":if(this.kind!=="model")u("@defaultScope");if(a)throw new I1([{field:"",error:"collision",message:"only one @defaultScope per model"}],this.name,this.kind);a=S.fn;break;case"directive":if(this.kind!=="model"&&!d.has(S.name))throw new I1([{field:"",error:"directive",message:"unknown directive '@"+S.name+"' on :"+this.kind+" — legal here: "+[...d].map((w)=>"@"+w).join(", ")}],this.name,this.kind);o.push({name:S.name,args:S.args||[]});break;case"enum-member":l.set(S.name,S.value!==void 0?S.value:S.name);break;case"union-member":break;case"ensure":c.push({message:S.message,field:S.field||"",async:S.async===!0,fn:S.fn});break;default:throw new I1([{field:"",error:"entry",message:"unknown schema entry tag '"+S.tag+"'"}],this.name,this.kind)}if(this.kind==="shape"||this.kind==="input"||this.kind==="mixin"||this.kind==="model")Za(this,e,o,{stack:[this.name||""],seen:new Set([this.name||""])});let m=null,g=[];if(this.kind==="union"){for(let S of o)if(S.name==="on"&&S.args?.[0]?.field)m=S.args[0].field;for(let S of this._desc.entries)if(S.tag==="union-member")g.push(S.name)}let b={fields:e,methods:t,computed:r,derived:s,hooks:i,scopes:n,defaultScope:a,directives:o,enumMembers:l,ensures:c,hasAsyncEnsures:c.some((S)=>S.async),unionOn:m,unionMembers:g};if(this.kind==="model")Te.finishModelNorm(this,b);return this._norm=b,this._norm}_unionPlan(){if(this._unionPlanCache&&this._unionPlanCache.gen===ke)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,s=[];for(let n of e.unionMembers){let a=ie.get(n);if(!a)throw new I1([{field:"",error:"union",message:"unknown union constituent: "+n+" (import the file that declares it)"}],this.name,this.kind);s.push(a);let o=a._normalize().fields.get(t);if(!o||o.typeName!=="literal-union"||!o.literals?.length)throw new I1([{field:t,error:"union",message:n+" 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 I1([{field:t,error:"union",message:"duplicate discriminator value "+JSON.stringify(l)+" in "+(r.get(l).name||"anon")+" and "+n}],this.name,this.kind);r.set(l,a)}}let i={disc:t,map:r,expected:[...r.keys()].join(" | "),hasAsyncEnsures:s.some((n)=>n._normalize().hasAsyncEnsures)};return this._unionPlanCache={gen:ke,plan:i},i}_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,s]of t.derived){let i=s.call(e);Object.defineProperty(e,r,{value:i,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 s=this._normalize();for(let[i,n]of s.fields){let a=St(n.typeName);if(!a)continue;let o=e[i];if(o===void 0||o===null)continue;let l=t==null?void 0:t[i];if(n.array){if(!Array.isArray(o))continue;let c=Array(o.length);for(let h=0;h{let a=()=>({field:i.field||"",error:"ensure",message:i.message||"ensure failed"});if(i.async)s.push((async()=>{let o=!1;try{o=!!await i.fn(e)}catch{o=!1}if(!o)r.push({idx:n,issue:a()})})());else{let o=!1;try{o=!!i.fn(e)}catch{o=!1}if(!o)r.push({idx:n,issue:a()})}}),await Promise.all(s),r.sort((i,n)=>i.idx-n.idx),r.map((i)=>i.issue)}_transitiveAsync(){if(this._taGen===ke)return this._taCache;let e=new Set,t=(r)=>{if(e.has(r))return!1;e.add(r);let s=r._normalize();if(s.hasAsyncEnsures)return!0;if(r.kind==="union"){for(let i of s.unionMembers){let n=ie.get(i);if(n&&t(n))return!0}return!1}for(let i of s.fields.values()){let n=St(i.typeName);if(n&&t(n))return!0}return!1};return this._taCache=t(this),this._taGen=ke,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()],s={[t]:class{constructor(i){if(i&&typeof i==="object"){for(let n of r)if(n in i&&i[n]!==void 0)this[n]=i[n]}}}}[t];for(let[i,n]of e.methods)Object.defineProperty(s.prototype,i,{value:n,writable:!0,enumerable:!1,configurable:!0});for(let[i,n]of e.computed)Object.defineProperty(s.prototype,i,{get:n,enumerable:!1,configurable:!0});return this._klass=s,s}_coerceDates(e){let t=this._normalize(),r=(n)=>typeof n==="string"&&/^\d{4}-\d{2}-\d{2}([T ].*)?$/.test(n),s=(n)=>{let a=/^(\d{4})-(\d{2})-(\d{2})/.exec(n),o=+a[2],l=+a[3];return o>=1&&o<=12&&l>=1&&l<=new Date(Date.UTC(+a[1],o,0)).getUTCDate()},i=(n)=>{if(!s(n))return n;let a=new Date(n);return Number.isNaN(a.getTime())?n:a};for(let[n,a]of t.fields){if(a.typeName!=="date"&&a.typeName!=="datetime")continue;let o=e[n];if(a.array&&Array.isArray(o))e[n]=o.map((l)=>r(l)?i(l):l);else if(r(o))e[n]=i(o)}}_validateFields(e,t,r,s){let i=this._normalize(),n=t?[]:null;for(let[a,o]of i.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;n.push({field:a,error:"required",message:a+" is required"})}continue}if(o.array){if(!Array.isArray(l)){if(!t)return!1;n.push({field:a,error:"type",message:a+" must be an array"});continue}let h=o.constraints;if(h){if(h.min!=null&&l.lengthh.max){if(!t)return!1;n.push({field:a,error:"max",message:a+" must have at most "+h.max+" items"})}}if(s?.deferNested&&St(o.typeName))continue;let f=!1,u=!1,d=Array(l.length);for(let p=0;pJSON.stringify(h)).join(", ")});continue}}else{if(s?.deferNested&&St(o.typeName))continue;let h=Ki(l,o.typeName,s);if(h.errors){if(!t)return!1;for(let f of h.errors){let u=Rt(a,f.field);n.push({field:u,error:f.error,message:yr(u,f.field,f.message)})}continue}if(h.value!==l)e[a]=h.value}let c=o.constraints;if(c){if(typeof l==="string"){if(c.min!=null&&l.lengthc.max){if(!t)return!1;n.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;n.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;n.push({field:a,error:"max",message:a+" must be <= "+c.max})}}}}return t?n:!0}_applyDefaults(e){let t=this._normalize();for(let[r,s]of t.fields)if((e[r]===void 0||e[r]===null)&&s.constraints?.default!==void 0){let i=s.constraints.default;e[r]=typeof i==="object"&&i!==null&&!(i instanceof RegExp)?structuredClone(i):i}return e}_applyTransforms(e,t){let r=this._normalize(),s=[];for(let[i,n]of r.fields){if(!n.transform)continue;try{t[i]=n.transform(e)}catch(a){s.push({field:i,error:"transform",message:a?.message||String(a)})}}return s}_applyCoercions(e,t){let r=this._normalize(),s=[];for(let[i,n]of r.fields){if(!n.coerce)continue;let a=e[i];if(a===void 0||a===null)continue;if(n.coercer){let l=Hi.get(n.coercer);if(!l)throw Error("schema: no coercer registered for '~:"+n.coercer+"' (field '"+i+"' on "+(this.name||"anon")+"). Register it with registerCoercer('"+n.coercer+"', fn).");let c=l.raw?a:String(a).trim(),h;try{h=l.fn(c)}catch{h=null}if(h===null||h===void 0)s.push({field:i,error:"coerce",message:i+" is not a valid "+n.coercer}),t.add(i);else e[i]=h;continue}let o=Rr[n.typeName]?Rr[n.typeName](a):{ok:!1};if(o.ok)e[i]=o.value;else s.push({field:i,error:"coerce",message:i+" cannot be coerced to "+n.typeName}),t.add(i)}return s}_orderFieldErrors(...e){let t=new Map,r=0;for(let[s]of this._normalize().fields)t.set(s,r++);return e.flat().map((s,i)=>{let n=String(s.field||"").split(/[.[]/,1)[0];return{issue:s,seq:i,rank:t.has(n)?t.get(n):r}}).sort((s,i)=>s.rank-i.rank||s.seq-i.seq).map((s)=>s.issue)}_validateEnum(e,t){let r=this._normalize();for(let[i,n]of r.enumMembers)if(e===i||e===n)return t?[]:!0;if(!t)return!1;let s=[...r.enumMembers.keys()].join(", ");return[{field:"",error:"enum",message:(this.name||"enum")+" expected one of: "+s}]}_materializeEnum(e){let t=this._normalize();for(let[r,s]of t.enumMembers)if(e===r||e===s)return s;return e}_runSync(e,t){if(this.kind==="union"){let h=this._unionResolve(e);if(h.issue)return{ok:!1,errors:[h.issue]};let f=h.def._runSync(e,t);return f.ok?f:{...f,from:f.from||h.def}}if(this.kind==="enum"){let h=this._validateEnum(e,!0);return h.length?{ok:!1,errors:h}:{ok:!0,value:this._materializeEnum(e)}}let r=br(e);if(r)return{ok:!1,errors:[r]};let s=e,i={...s},n=new Set,a=this._applyTransforms(s,i),o=this._applyCoercions(i,n);this._applyDefaults(i),this._coerceDates(i);let l=this._orderFieldErrors(a,o,this._validateFields(i,!0,n,t));if(l.length)return{ok:!1,errors:l};let c=t?.skipEnsures?[]:this._applyEnsures(i);if(c.length)return{ok:!1,errors:c};if(t?.materializeNested)try{this._materializeNestedValues(i,null,!1)}catch(h){return{ok:!1,errors:null,...Ke(h)}}if(!t?.materialize)return{ok:!0,value:i};try{return{ok:!0,value:this._materializeOwnValidatedValue(i,null,!1)}}catch(h){return{ok:!1,errors:null,...Ke(h)}}}async _runAsync(e,t){if(this.kind==="union"){let f=this._unionResolve(e);if(f.issue)return{ok:!1,errors:[f.issue]};let u=await f.def._runAsync(e,t);return u.ok?u:{...u,from:u.from||f.def}}if(this.kind==="enum")return this._runSync(e,t);let r=br(e);if(r)return{ok:!1,errors:[r]};let s=e,i={...s},n=new Set,a=this._applyTransforms(s,i),o=this._applyCoercions(i,n);this._applyDefaults(i),this._coerceDates(i);let l=await this._validateFieldsAsync(i,n,t),c=this._orderFieldErrors(a,o,l);if(c.length)return{ok:!1,errors:c};let h=t?.skipEnsures?[]:await this._applyEnsuresAsync(i);if(h.length)return{ok:!1,errors:h};if(t?.materializeNested)try{this._materializeNestedValues(i,null,!1)}catch(f){return{ok:!1,errors:null,...Ke(f)}}if(!t?.materialize)return{ok:!0,value:i};try{return{ok:!0,value:this._materializeOwnValidatedValue(i,null,!1)}}catch(f){return{ok:!1,errors:null,...Ke(f)}}}async _validateFieldsAsync(e,t,r){let s=this._normalize(),i=[];for(let[n,a]of s.fields){if(t&&t.has(n))continue;let o=e[n];if(o===void 0||o===null){if(a.required)i.push({field:n,error:"required",message:n+" is required"});continue}if(a.array){if(!Array.isArray(o)){i.push({field:n,error:"type",message:n+" must be an array"});continue}let h=a.constraints;if(h?.min!=null&&o.lengthh.max)i.push({field:n,error:"max",message:n+" must have at most "+h.max+" items"});let f=Array(o.length),u=!1;for(let d=0;dJSON.stringify(h)).join(", ")})}else{let h=await Ha(o,a.typeName,r);if(h.errors)for(let f of h.errors){let u=Rt(n,f.field);i.push({field:u,error:f.error,message:yr(u,f.field,f.message)})}else e[n]=h.value}let l=e[n],c=a.constraints;if(c){if(typeof l==="string"){if(c.min!=null&&l.lengthc.max)i.push({field:n,error:"max",message:n+" 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))i.push({field:n,error:"pattern",message:n+" is invalid"})}}else if(typeof l==="number"){if(c.min!=null&&l= "+c.min});if(c.max!=null&&l>c.max)i.push({field:n,error:"max",message:n+" must be <= "+c.max})}}}return i}_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=br(e);if(r)return{ok:!1,errors:[r]};let s={...e},i=this._validateFields(s,!0,null,{...t,existing:!0});if(i.length)return{ok:!1,errors:i};let n=t?.skipEnsures?[]:this._applyEnsures(s);if(n.length)return{ok:!1,errors:n};if(t?.materializeNested)try{this._materializeNestedValues(s,e,!0)}catch(a){return{ok:!1,errors:null,...Ke(a)}}return this._finishExistingValue(e,s,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=br(e);if(r)return{ok:!1,errors:[r]};let s={...e},i=await this._validateFieldsAsync(s,null,{...t,existing:!0});if(i.length)return{ok:!1,errors:i};let n=t?.skipEnsures?[]:await this._applyEnsuresAsync(s);if(n.length)return{ok:!1,errors:n};if(t?.materializeNested)try{this._materializeNestedValues(s,e,!0)}catch(a){return{ok:!1,errors:null,...Ke(a)}}return this._finishExistingValue(e,s,t)}_finishExistingValue(e,t,r){if(!r?.materialize)return{ok:!0,value:t};let s=this._getClass(),i=!0;for(let[a]of this._normalize().fields)if(t[a]!==e[a]){i=!1;break}if(i)return{ok:!0,value:e};let n=new s(t);try{this._applyEagerDerived(n)}catch(a){return{ok:!1,errors:null,thrown:a}}return{ok:!0,value:n}}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 I1(t.errors,r.name,r.kind)}get array(){let e=this,t=(n)=>({field:"",error:"not_array",message:"expected an array, received "+(n===null?"null":n===void 0?"undefined":typeof n==="object"?"an object with keys ["+Object.keys(n).join(", ")+"]":typeof n)}),r=(n)=>{let a=[],o=[];return n.forEach((l,c)=>{if(l.ok)a.push(l.value);else for(let h of l.errors)o.push({...h,field:"["+c+"]"+(h.field?"."+h.field:"")})}),{value:a,errors:o}},s=(n)=>{let a=[],o=[];return n.forEach((l,c)=>{try{a.push(e.parse(l))}catch(h){if(!(h instanceof I1))throw h;for(let f of h.issues)o.push({...f,field:"["+c+"]"+(f.field?"."+f.field:"")})}}),{value:a,errors:o}},i=async(n)=>{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(n){return Array.isArray(n)&&n.every((a)=>e.ok(a))},async parseAsync(n){if(!Array.isArray(n))throw new I1([t(n)],e.name,e.kind);let{value:a,errors:o}=await i(n);if(o.length)throw new I1(o,e.name,e.kind);return a},async safeAsync(n){if(!Array.isArray(n))return{ok:!1,value:null,errors:[t(n)]};let{value:a,errors:o}=r(await Promise.all(n.map((l)=>e.safeAsync(l))));return o.length?{ok:!1,value:null,errors:o}:{ok:!0,value:a,errors:null}},async okAsync(n){return Array.isArray(n)&&(await Promise.all(n.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 I1(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 yt(this,(t)=>{let r=Wi(e),s=new Map;for(let i of r){if(!t.has(i))throw Error("pick: unknown field '"+i+"' on "+(this.name||"schema"));s.set(i,t.get(i))}return s})}omit(...e){return yt(this,(t)=>{let r=new Set(Wi(e)),s=new Map;for(let[i,n]of t)if(!r.has(i))s.set(i,n);return s})}partial(){return yt(this,(e)=>{let t=new Map;for(let[r,s]of e)t.set(r,{...s,required:!1});return t})}required(...e){return yt(this,(t)=>{let r=new Set(Wi(e)),s=new Map;for(let[i,n]of t)s.set(i,{...n,required:r.has(i)?!0:n.required});return s})}extend(e){if(!(e instanceof Et))throw Error("extend(): argument must be a schema value");if(e.kind==="union")throw Error("extend(): :union schemas have no fields to merge");return yt(this,(t)=>{let r=new Map(t),s=e._normalize().fields;for(let[i,n]of s){if(r.has(i))throw Error("extend(): field '"+i+"' collides between "+(this.name||"schema")+" and "+(e.name||"other"));r.set(i,n)}return r})}toJSONSchema(){let e={defs:new Map,expanding:new Set},t=Ja(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,s]of e.defs)t.$defs[r]=s}return t}}var Ya={__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:()=>({}),variant:()=>({}),any:()=>({})};function ac(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(Ya[e.typeName])r=Ya[e.typeName]();else{let i=ie.get(e.typeName);r=i?Xa(i,t):{}}let s=e.constraints;if(s&&!e.array){if(r.type==="string"){if(s.min!=null)r.minLength=s.min;if(s.max!=null)r.maxLength=s.max;if(s.regex)r.pattern=s.regex.source}else if(r.type==="number"||r.type==="integer"){if(s.min!=null)r.minimum=s.min;if(s.max!=null)r.maximum=s.max}}if(e.array){if(r={type:"array",items:r},s){if(s.min!=null)r.minItems=s.min;if(s.max!=null)r.maxItems=s.max}}if(s&&s.default!==void 0)r.default=s.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,Ja(e,t)),t.expanding.delete(r);return{$ref:"#/$defs/"+r}}function Ja(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=ie.get(l);return c?Xa(c,t):{}}),discriminator:{propertyName:a.disc}}}let s={},i=[];for(let[a,o]of r.fields)if(s[a]=ac(o,t),o.required&&o.constraints?.default===void 0)i.push(a);if(e.kind==="model")Te.jsonSchemaModelColumns(e,s);let n={type:"object",properties:s};if(i.length)n.required=i;if(r.ensures.length)n.description="Refinements (not expressible in JSON Schema): "+r.ensures.map((a)=>a.message).join("; ")+".";return n}function Wi(e){let t=[];for(let r of e)if(Array.isArray(r))for(let s of r)t.push(s);else t.push(r);return t}function yt(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"?Te.projectableFields(e):e._normalize().fields,s=t(r),i=[];for(let[,o]of s){let l=[];if(o.required)l.push("!");if(o.optional&&!o.required)l.push("?");i.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 n=(e.name||"Schema")+"Derived",a=new Et({kind:"shape",name:n,entries:i});return a._sourceModel=e._sourceModel||(e.kind==="model"?e:null),a}function Za(e,t,r,s){for(let i of r){if(i.name!=="mixin"||!i.args||!i.args[0])continue;let n=i.args[0].target;if(!n)continue;if(s.stack.includes(n))throw new I1([{field:"",error:"mixin-cycle",message:"mixin cycle: "+s.stack.concat(n).join(" -> ")}],e.name,e.kind);if(s.seen.has(n))continue;let a=ie.getKind(n,"mixin");if(!a)throw new I1([{field:"",error:"mixin-missing",message:"unknown mixin: "+n}],e.name,e.kind);s.seen.add(n),s.stack.push(n);let o=a._desc.entries.filter((l)=>l.tag==="directive"&&l.name==="mixin").map((l)=>({name:l.name,args:l.args||[]}));Za(e,t,o,s);for(let l of a._desc.entries){if(l.tag!=="field")continue;if(t.has(l.name))throw new I1([{field:l.name,error:"mixin-collision",message:l.name+" from mixin "+n+" collides with existing field"}],e.name,e.kind);if(e.kind!=="model"&&(l.unique===!0||l.attrs))throw new I1([{field:l.name,error:"mixin-persistence",message:l.name+" from mixin "+n+" 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})}s.stack.pop()}}function oc(e){let t=new Et(e);if(t.name)ie.register(t);return t}if(typeof globalThis<"u")globalThis.__ripSchema=globalThis.__ripSchema||{},globalThis.__ripSchema.SchemaRegistry=ie;var Ar={};Fe(Ar,{__batch:()=>M1,__catchErrors:()=>me,__computed:()=>Y1,__detachRef:()=>Gi,__effect:()=>x1,__handleError:()=>se,__ownerFrame:()=>Tt,__popOwner:()=>X1,__pushOwner:()=>he,__readonly:()=>ue,__setEffectErrorReporter:()=>lc,__setErrorHandler:()=>de,__state:()=>A1,getEffectSignal:()=>fe});var to=Symbol.for("rip.runtime.reactive");if(globalThis[to])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[to]=!0;var N1=null,_r=[],Ge={buckets:[],cursors:[],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 lc(e){let t=kt;return kt=e,t}function ro(){try{while(Ge.size>0){let e=Ge.shift();if(!e._disposed)e.run()}}catch(e){throw Ge.clear(),e}}var io={valueOf(){return this.value},toString(){return String(this.value)},[Symbol.toPrimitive](e){return e==="string"?this.toString():this.valueOf()}};function A1(e){if(e!=null&&typeof e==="object"&&typeof e.read==="function")return e;let t=e,r=new Set,s=!1,i=!1,n=!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 h of _r)h.writtenSignals.add(r)},l=()=>{s=!0;try{for(let h of r)if(h.markDirty)h.markDirty(!0);else h._hard=!0,Ge.add(h);if(!wr)ro()}finally{s=!1}},c={get value(){if(n)return t;if(N1?.writtenSignals&&_r.some((h)=>h.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(h){if(n||i||h===t)return;if(a(),s)return;o(),t=h,l()},read(){return t},touch(){if(n)return;if(a(),s)return;o(),l()},lock(){return i=!0,c},free(){return r.clear(),c},kill(){return n=!0,r.clear(),t},...io};return c}var kr=0,Qa=1,Tr=2;function so(e){let t=N1;N1=null;try{for(let[r,s]of e.computedDeps)if(r.value,r.version!==s)return!0;return!1}finally{N1=t}}function Y1(e){let t,r=Tr,s=new Set,i=!1,n=!1,a=!1,o={dependencies:new Set,computedDeps:new Map,writtenSignals:new Set,version:0,markDirty(l){if(n||i)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=Tr;else if(r===kr)r=Qa;if(c!==kr)return;for(let h of s)if(h.markDirty)h.markDirty(!1);else Ge.add(h)},get value(){if(n)return t;if(N1&&N1!==o)s.add(N1),N1.dependencies.add(s),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===Qa&&!i)r=so(o)?Tr:kr;if(r===Tr&&!i){for(let c of o.dependencies)c.delete(o);o.dependencies.clear(),o.computedDeps.clear();let l=N1;o.writtenSignals.clear(),N1=o,_r.push(o),a=!0;try{let c=e();if(c!==t)o.version++;t=c,r=kr}finally{a=!1,_r.pop(),o.writtenSignals.clear(),N1=l}}if(N1&&N1!==o)N1.computedDeps.set(o,o.version);return t},read(){return t},lock(){return i=!0,o.value,o},free(){for(let l of o.dependencies)l.delete(o);return o.dependencies.clear(),o.computedDeps.clear(),s.clear(),o},kill(){n=!0;let l=t;return o.free(),l},...io};return o}function eo(e){let t=e._cleanup;if(!t)return;let r=N1;N1=null;try{t()}finally{N1=r}e._cleanup=null}function x1(e){let t=null,r=0,s=B1,i={depth:s?s.depth+1:0,dependencies:new Set,computedDeps:new Map,_hard:!0,_disposed:!1,get signal(){if(!t&&typeof AbortController<"u"){if(t=new AbortController,i._disposed)t.abort()}return t?t.signal:null},run(){if(i._disposed)return;let a=i._hard;if(i._hard=!1,!a&&!so(i))return;if(t){try{t.abort()}catch{}t=null}let o=++r;eo(i);for(let h of i.dependencies)h.delete(i);i.dependencies.clear(),i.computedDeps.clear();let l=N1;N1=i;let c=B1;B1=s;try{let h=e();if(typeof h==="function")i._cleanup=h;else if(h&&typeof h.then==="function")h.then((f)=>{if(o!==r||i._disposed){if(typeof f==="function")try{f()}catch(u){kt("[Rip] superseded async cleanup error:",u)}return}if(typeof f==="function")i._cleanup=f},(f)=>{if(f&&f.name==="AbortError")return;if(o!==r||i._disposed)return;kt("[Rip] async effect error:",f)})}finally{N1=l,B1=c}},dispose(){if(i._disposed)return;if(i._disposed=!0,Ge.delete(i),t)try{t.abort()}catch{}eo(i);for(let a of i.dependencies)a.delete(i);i.dependencies.clear()}};try{i.run()}catch(a){throw i.dispose(),a}let n=()=>i.dispose();if(B1)B1.add(n);return n}function M1(e){if(wr)return e();wr=!0;try{return e()}finally{wr=!1,ro()}}function Tt({nested:e=!0}={}){let t=[],r=null,i={depth:B1?B1.depth+1:0,get disposed(){return t===null},get size(){return t===null?0:t.length},add(n){if(t===null)n();else t.push(n)},remove(n){if(t===null)return;let a=t.indexOf(n);if(a>=0)t.splice(a,1)},dispose(){if(t===null)return;let n=t;if(t=null,r!==null){let a=r;r=null,a()}for(let a of n)try{a()}catch(o){kt("[Rip] effect disposer error:",o)}}};if(e&&B1){let n=B1;n.add(i.dispose),r=()=>n.remove(i.dispose)}return i}function he(e){let t={frame:e,prev:B1};return B1=e,t}function X1(e){if(!e||typeof e!=="object"||!("frame"in e))throw Error("reactive runtime: __popOwner takes the token the matching __pushOwner returned");if(B1!==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)");B1=e.prev}function fe(){return N1?N1.signal:null}function ue(e){return Object.freeze({value:e})}function Gi(e,t){if(e&&typeof e.read==="function"&&e.read()===t)e.value=null}var Nr=null;function de(e){let t=Nr;return Nr=e,t}function se(e){if(Nr)try{Nr(e)}catch(t){console.error("Error in error handler:",t),console.error("Original error:",e)}else throw e}function me(e){return function(...t){try{return e.apply(this,t)}catch(r){se(r)}}}var Nt={};Fe(Nt,{__Component:()=>wo,__claimGateConstructor:()=>es,__clsx:()=>Dr,__detach:()=>$r,__detachRef:()=>Gi,__gateBind:()=>vc,__handleComponentError:()=>Xi,__hmrClassify:()=>_t,__hmrEmit:()=>_e,__hmrEntries:()=>Ji,__hmrEvents:()=>dc,__hmrLookup:()=>cc,__hmrMigrateDiff:()=>go,__hmrMigrateRemount:()=>bc,__hmrPatch:()=>Qi,__hmrPreserveState:()=>xr,__hmrRegisterDefinition:()=>wt,__hmrRegistry:()=>we,__hmrRestoreUi:()=>Cr,__hmrSnapshotUi:()=>Zi,__lis:()=>ko,__ownerFrame:()=>Tt,__popComponent:()=>pe,__popOwner:()=>X1,__pushComponent:()=>Le,__pushOwner:()=>he,__reconcile:()=>Ec,__reportChildFailure:()=>Nc,__setChildFailureReporter:()=>_c,__style:()=>To,__transition:()=>Tc,getContext:()=>Sc,hasContext:()=>Rc,setContext:()=>yc});var uo=Symbol.for("rip.runtime.components");if(globalThis[uo])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[uo]=!0;var z1=null,mo={},Or=null,po=new WeakMap,no=!1,we=new Map;function Yi(e,t){if(e===t)return!0;if(!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length)return!1;for(let r=0;ri.has(c)),o=s.filter((c)=>!i.has(c)),l=r.filter((c)=>!n.has(c));return{kept:a,added:o,removed:l}}var Ir=[],uc=64;function _e(e,t={}){let r={type:e,at:Date.now(),...t};if(Ir.push(r),Ir.length>uc)Ir.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 dc(){return Ir.slice()}function xr(e,t){let r=e?.constructor?.__hmrSig,s=t?.constructor?.__hmrSig,i=r?.state,n=s?.state,a=go(r,s);if(!Array.isArray(i)||!Array.isArray(n))return _e("migrate",{id:t?.constructor?.__hmrId??null,...a,copied:[]}),a;let o=new Set(i),l=[];for(let h of n){if(!o.has(h))continue;let f=e[h],u=t[h];if(f!=null&&u!=null&&typeof f==="object"&&typeof u==="object"&&"value"in f&&"value"in u)u.value=f.value,l.push(h)}let c=t?.constructor?.__hmrId??e?.constructor?.__hmrId??null;return _e("migrate",{id:c,...a,copied:l}),{...a,copied:l}}var bo=["name","type","placeholder"];function yo(e){let t=(s)=>typeof e[s]==="string"&&e[s]?e[s]:null,r={tag:e.tagName??null};for(let s of bo)r[s]=t(s);return r.label=typeof e.getAttribute==="function"?e.getAttribute("aria-label"):null,r.value=typeof e.value==="string"?e.value:null,r}function zi(e,t,r){if(!e||!t)return!1;let s=yo(e);for(let i of["tag",...bo,"label"])if(s[i]!==t[i])return!1;return!r||t.value==null||s.value===t.value}function mc(e){let t=yo(e),r=typeof e.id==="string"&&e.id?e.id:null,s=[],i=e;while(i&&i!==document.body){let n=i.parentElement??i.parentNode??null;if(!n||!n.children)return{identity:t,id:r,path:null};s.unshift(Array.prototype.indexOf.call(n.children,i)),i=n}return{identity:t,id:r,path:i===document.body?s:null}}function pc(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(zi(o,r.identity,!1))return o}if(!Array.isArray(r.path)||r.path.length===0)return null;let s=document.body;for(let o of r.path.slice(0,-1))if(s=s?.children?.[o]??null,!s)return null;let i=Array.from(s.children??[]),n=i[r.path[r.path.length-1]]??null;if(zi(n,r.identity,!0))return n;let a=i.filter((o)=>zi(o,r.identity,!0));return a.length===1?a[0]:null}function Zi(){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?mc(t):null,selection:r,scrollX:typeof window<"u"?window.scrollX:0,scrollY:typeof window<"u"?window.scrollY:0}}function Cr(e){if(!e||typeof document>"u")return;if(typeof window<"u")window.scrollTo(e.scrollX??0,e.scrollY??0);let t=pc(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 So(e,t){let r=e.constructor?.__hmrId;if(typeof r==="string"&&r)we.get(r)?.instances.delete(e);Object.setPrototypeOf(e,t.prototype),Object.defineProperty(e,"constructor",{value:t,writable:!0,configurable:!0}),wt(t),we.get(t.__hmrId)?.instances.add(e)}function Qi(e,t){if(!e||!t)throw Error("__hmrPatch requires a living instance and a replacement constructor");let r=e.constructor?.__hmrId;return So(e,t),e._hmrRerender(),_e("patch",{id:t.__hmrId??r??null}),e}function Ro(e){return Object.keys(e).sort().join(",")}function gc(e,t){let s=(z1?._projectionOwner??z1)?._hmrOrphans;if(!s||s.length===0)return null;let i=e.__hmrId;if(typeof i!=="string")return null;let n=Ro(t),a=null;for(let o of s){if(o._state!=="mounted"||o.constructor.__hmrId!==i||o._hmrPropKeys!==n)continue;if(a)return null;a=o}if(!a||_t(a.constructor,e)!=="patch")return null;if(s.splice(s.indexOf(a),1),a.constructor!==e)So(a,e);a._hmrRelease();try{a._hmrApplyProps(t)}catch(o){throw a._teardown({state:"failed",hooks:!1,removeDOM:!0}),o}return a._hmrRebindPending=!0,a}function bc(e,t,r={}){let s=new t(r);return xr(e,s),s}function es(){if(no)throw Error("[Rip] the render-gate construction capability is already claimed");return no=!0,(e,t)=>{let r=Or;Or={brand:mo,component:e,gates:t.gates,parent:t.parent??null,stash:t.stash??null,router:t.router??null,used:!1};try{return new e({})}finally{Or=r}}}function $r(e){if(!e||e.nodeType===11)return;if(typeof e.remove==="function")e.remove();else if(e.parentNode)e.parentNode.removeChild(e)}function Le(e){let t=z1;if(e&&e._parent==null&&t&&t!==e)e._parent=t;return z1=e,t}function pe(e){z1=e}function yc(e,t){if(!z1)throw Error("setContext must be called during component initialization");if(!z1._context)z1._context=new Map;z1._context.set(e,t)}function Eo(e,t,r){if(typeof t!=="function")throw Error(r===void 0?`${e}: a context read names its provider — ${e}(Provider, ${JSON.stringify(t)})`:`${e}: the provider named for ${JSON.stringify(r)} is not a component`);let s=typeof t.__hmrId==="string"?t.__hmrId:null,i=z1,n=new Set;while(i&&!n.has(i)){if(n.add(i),i instanceof t||s!==null&&i.constructor?.__hmrId===s)return i._context!==void 0&&i._context.has(r)?{found:!0,value:i._context.get(r)}:{found:!1,provider:i};i=i._parent}return{found:!1,provider:null}}function Sc(e,t){let r=Eo("getContext",e,t);if(r.found)return r.value;let s=e.name||"the provider";throw Error(r.provider!==null?`getContext: ${s} offers no ${JSON.stringify(t)}`:`getContext: no ${s} above this component — render one around it, or probe with hasContext(${s}, ${JSON.stringify(t)}) where absence is legal`)}function Rc(e,t){return Eo("hasContext",e,t).found}function Dr(...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 s=Dr(...r);s&&(t&&(t+=" "),t+=s)}else for(let s in r)if(r[s])t&&(t+=" "),t+=s}}return t}function ko(e){let t=e.length;if(t===0)return[];let r=[],s=[],i=Array(t).fill(-1);for(let o=0;o>1;if(r[h]0)i[o]=s[l-1]}let n=[],a=s[r.length-1];for(let o=r.length-1;o>=0;o--)n.push(a),a=i[a];return n.reverse(),n}function Ec(e,t,r,s,i,n,...a){if(e==null)throw Error("__reconcile: no anchor — the list's create phase never placed one");let o=e.parentNode;if(!o)return;let l=t.keys,c=t.items||[],h=t.blocks,f=l.length,u=r.length,d=Array(u),p=n!=null,m=p?r.map((R,T)=>n(R,T)):r;if(p){let R=new Set;for(let T of m){if(R.has(T))throw Error(`__reconcile: duplicate key ${JSON.stringify(String(T))} — keyed rows need unique keys `+"(the key function must be injective over the items)");R.add(T)}}if(f===0){if(u>0){let R=document.createDocumentFragment();for(let T=0;T=g&&w>=g&&l[S]===m[w]){let R=h[S];if(!R._s)R.p(s,r[w],w,...a);d[w]=R,S--,w--}if(g>w)for(let R=g;R<=S;R++)h[R].d(!0);else if(g>S){let R=w+1=g;A--){let C=d[A];if(!M.has(A-g))C.m(o,x);x=C._first}}t.keys=p?m:r.slice(),t.items=r.slice(),t.blocks=d}var ao=!1;function kc(){if(ao)return;ao=!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 Tc(e,t,r,s){kc();let i=e.classList,n=t+"-"+r+"-from",a=t+"-"+r+"-active",o=t+"-"+r+"-to",l=!1,c=null;i.add(n,a),requestAnimationFrame(()=>{requestAnimationFrame(()=>{i.remove(n),i.add(o);let h=(u)=>{if(l||u&&u.target!==e)return;if(l=!0,clearTimeout(c),e.removeEventListener("transitionend",h),e.removeEventListener("transitioncancel",h),i.remove(a,o),s)s()};e.addEventListener("transitionend",h),e.addEventListener("transitioncancel",h);let f=0;try{let u=getComputedStyle(e),d=(p)=>Math.max(0,...String(p).split(",").map((m)=>(parseFloat(m)||0)*(/ms\s*$/.test(m.trim())?1:1000)));f=d(u.transitionDuration)+d(u.transitionDelay)}catch{}c=setTimeout(()=>h(),f+50)})})}function wc(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 s=e!=null?e.status??e.response?.status:void 0;if(s!==void 0)r.status=s;return r.error=e,r}var qi=(e,t)=>console.error(`[Rip] ${e} construction failed:`,t);function _c(e){let t=qi;return qi=e,t}function Nc(e,t){qi(e,t)}function Xi(e,t){let r=wc(e),s=t,i=new Set;while(s&&!i.has(s)){if(i.add(s),s.onError){let n=Le(s),a=he(s._frame);try{s.onError(r,t);return}catch(o){}finally{X1(a),pe(n)}}s=s._parent}throw e}var oo=new WeakSet;function Ac(e,t){if(oo.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 s of r){if(typeof s!=="string"||s.length===0)throw Error(`${e.name||"component"}: static __props entries must be non-empty strings`);if(s.startsWith("_"))throw Error(`${e.name||"component"}: declared prop '${s}' collides with component internals — `+"underscore-prefixed names are reserved for the runtime");if(s in t)throw Error(`${e.name||"component"}: declared prop '${s}' collides with a component member (a method or lifecycle slot already answers '${s}')`)}oo.add(e)}function vc(e,t){let s=po.get(e)?.gates?.[t];if(!s?.cell)throw Error(`[Rip] render gate ${t} has no renderer-resolved source binding — `+"gated components may only be constructed by rip/app createRenderer()");let i=s.value,n=!0;return Y1(()=>{if(n)return n=!1,s.cell.read(),i;let a=s.cell.read();for(let o of s.tail){if(a==null)break;a=a[o]}if(a!=null)i=a;return i})}var vr=new WeakMap;function lo(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=vr.get(e);if(t==null){e.removeAttribute("style"),vr.delete(e);return}if(typeof t!=="object"){e.setAttribute("style",String(t)),vr.delete(e);return}if(r){for(let s of r)if(!(s in t))lo(e.style,s,"")}vr.set(e,Object.keys(t));for(let s of Object.keys(t))lo(e.style,s,t[s])}var Oc=new Set(["disabled","hidden","readonly","required","checked","selected","autofocus","autoplay","controls","loop","muted","multiple","novalidate","open","reversed","defer","async","formnovalidate","allowfullscreen","inert","ismap","nomodule","playsinline","default","itemscope","alpha","shadowrootdelegatesfocus","shadowrootclonable","shadowrootserializable"]),ts=(e)=>e==="className"?"class":e,co=(e)=>new Proxy(e,{get(t,r){let s=t[typeof r==="string"?ts(r):r];return s!=null&&typeof s==="object"&&typeof s.read==="function"?s.value:s}});function ho(e,t){let r=e.__props??[],s=e.__extends??null,i=null;for(let n of Object.keys(t)){if(n==="children")continue;if(n.startsWith("__bind_")&&n.endsWith("__")){let a=n.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(n))continue;if(s!==null){(i??={})[ts(n)]=t[n];continue}throw Error(`${e.name||"component"}: unknown prop '${n}' — declared props are `+`[${r.join(", ")}]`)}return i}function fo(e,t){let r=t?.asChild;if(r==null||r===!1)return!1;if(r===!0)return!0;let s=typeof r==="object"&&typeof r.read==="function"?"a reactive value":`${typeof r} ${String(r)}`;throw Error(`${e.name||"component"}: asChild takes true or nothing, fixed at construction — got ${s}`)}function Ic(e){return e!=null&&typeof e==="object"&&typeof e.read==="function"?e.value:e}function $c(e){if(e==null)return"nothing";if(e.nodeType===3)return"text";if(e.nodeType===8)return"a comment";if(e.nodeType===11)return`a fragment of ${e.childNodes.length} nodes`;return typeof e==="object"?"an object that is not a node":`${typeof e} ${String(e)}`}class wo{constructor(e={}){let t=gc(this.constructor,e);if(t)return t;this._state="new",this._owner=z1?._projectionOwner??z1??null,Ac(this.constructor,this);let r=this.constructor.__gates,s=Or,i=s?.brand===mo&&s.component===this.constructor&&s.used!==!0;if(i)s.used=!0;if(r?.length&&!i)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(i){if(po.set(this,s),s.parent)this._parent=s.parent;if(s.stash!=null)this.stash=s.stash;if(s.router!=null)this.router=s.router,Object.defineProperty(this,"params",{get:()=>s.router.params,configurable:!0}),Object.defineProperty(this,"query",{get:()=>s.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 n=ho(this.constructor,e);if("children"in e)this.children=e.children;if(this.constructor.__hmrId)this._hmrPropKeys=Ro(e);if(this.constructor.__extends!=null)this._rest=n??{},this.rest=A1(co(this._rest)),this._asChild=fo(this.constructor,this._rest);this._frame=Tt({nested:!1});let a=Le(this),o=he(this._frame);try{this._init(e)}catch(l){X1(o),pe(a),this._teardown({state:"failed",hooks:!1,removeDOM:!0}),this._initFailed=!0,Xi(l,this);return}if(X1(o),pe(a),this.constructor.__hmrId)hc(this)}_init(e){}_beginProjection(e){let t={prev:Le(this),owner:this._projectionOwner??null};return this._projectionOwner=e,t}_endProjection(e){this._projectionOwner=e.owner,pe(e.prev)}_setChildren(e){let t=this.children;if(t!=null&&typeof t==="object"&&typeof t.read==="function"&&"value"in t)t.value=e;else this.children=e;if(this._asChild&&this._state==="mounted")this._rehost()}_adoptChild(){let e=Ic(this.children);if(e!=null&&e.nodeType===1)return e;throw Error(`${this.constructor.name||"component"}: asChild renders the projected element as the host, so the body must `+`be exactly one element — got ${$c(e)}`)}_rehost(){let e=this._inheritedEl;if(this._hmrRelease(!1),!this._hmrRebind())return;if(!this._mountCreate())return;this._mountSetup(),this._rehostAbove(e)}_rehostAbove(e){let t=this._parent;if(e==null||this._root===e||!t?._asChild||t._state!=="mounted"||t._inheritedEl!==e)return;t._setChildren(this._root)}_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 s=this[e];if(s&&typeof s==="object"&&"value"in s){s.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(e==="asChild")throw Error(`${this.constructor.name||"component"}: asChild is fixed at construction and takes no update`);if(e=ts(e),this._rest||(this._rest={}),t==null)delete this._rest[e];else this._rest[e]=t;this.rest.touch();let r=he(this._frame);try{this._applyInheritedProp(this._inheritedInst??this._inheritedEl,e,t)}finally{X1(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])}_mergeRestStyle(e){let t=this.rest.value.style;if(t==null)return e;if(e==null)return t;let r=this.constructor.name||"component";if(typeof e!=="object"||typeof t!=="object")throw Error(`${r}: style merges by key, and a string style has none — the host line's style and the caller's must both be objects`);for(let s of Object.keys(t))if(Object.hasOwn(e,s))throw Error(`${r}: style key '${s}' is set by the host line and by the caller — a shared key is refused, never resolved by precedence`);return{...e,...t}}_applyInheritedProp(e,t,r){if(this._state==="failed"||this._state==="unmounted")return;if(!e||t==="key"||t==="ref"||t==="children"||t==="asChild"||t.startsWith("__bind_"))return;if(this._inheritedOwn?.has(t))return;let s=this._restWriters?.[t];if(s){if(s(),this._frame)this._frame.remove(s);delete this._restWriters[t]}if(r!=null&&typeof r==="object"&&typeof r.read==="function"){(this._restWriters??={})[t]=x1(()=>{this._applyPlainInheritedProp(e,t,r.value)});return}this._applyPlainInheritedProp(e,t,r)}_applyPlainInheritedProp(e,t,r){if(typeof e._updateProp==="function"){if(e._state==="failed"||e._state==="unmounted")return;e._updateProp(t,r);return}let s=e;if(t[0]==="@"){let i=t.slice(1).split(".")[0];this._restHandlers||(this._restHandlers={});let n=this._restHandlers[t];if(n)s.removeEventListener(i,n);if(typeof r==="function"){let a=(o)=>M1(()=>r(o));this._restHandlers[t]=a,s.addEventListener(i,a)}else delete this._restHandlers[t];return}if(t==="class"||t==="className"){if(s instanceof SVGElement)s.setAttribute("class",Dr(r));else s.className=Dr(r);return}if(t==="style"){To(s,r);return}if(t==="innerHTML"||t==="textContent"||t==="innerText"||t==="value"){s[t]=r??"";return}if(t==="checked"){s.checked=!!r;return}if(Oc.has(t)){s.toggleAttribute(t,!!r);return}if(r==null)s.removeAttribute(t);else s.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(){if(this._beginMount(),this._hmrRebindPending){if(this._hmrRebindPending=!1,!this._hmrRebind())return!1}let e=Le(this),t=he(this._frame),r=null,s=!1;try{this._root=this._create()}catch(i){r=i,s=!0}finally{X1(t),pe(e)}if(s)return this._failMount(r),!1;return!0}_mountSetup(e=null){if(this._state!=="mounting")return this._nodes?.[0]??this._root;let t=Le(this),r=he(this._frame),s=null,i=!1;try{if(e){let n=this._nodes?.[0]??this._root;if(n?.parentNode)n.parentNode.insertBefore(e,n)}if(this.beforeMount)this.beforeMount();if(this._setup)this._setup();if(this.mounted)this.mounted();this._state="mounted",$r(e),this._hmrDrainOrphans((n,a)=>console.error(`[Rip] ${n} error:`,a))}catch(n){s=n,i=!0}finally{X1(r),pe(t)}if(i)return this._failMount(s),e;return this._nodes?.[0]??this._root}_failMount(e){this._teardown({state:"failed",hooks:!1,removeDOM:!0}),Xi(e,this)}_dispose(e,t){if(this._children){for(let r of this._children)try{t(r)}catch(s){e("child teardown",s)}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(s){e("rest writer cleanup",s)}this._restWriters=null}if(this._restHandlers){if(this._inheritedEl)for(let[r,s]of Object.entries(this._restHandlers))try{this._inheritedEl.removeEventListener(r.slice(1).split(".")[0],s)}catch(i){e("rest handler cleanup",i)}this._restHandlers=null}if(this._refCleanups){let r=this._refCleanups;this._refCleanups=null;try{M1(()=>{for(let s of r)try{s()}catch(i){e("ref cleanup",i)}})}catch(s){e("ref cleanup batch flush",s)}}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{$r(r)}catch(s){e("DOM detach",s)}else try{$r(this._root)}catch(r){e("DOM detach",r)}this._root=null,this._nodes=null,this._inheritedEl=null,this._inheritedInst=null,this._inheritedOwn=null}_teardown({state:e,hooks:t,removeDOM:r}){if(this._state==="failed"||this._state==="unmounted")return;if(this.constructor.__hmrId)fc(this);this._state=e;let s=(i,n)=>console.error(`[Rip] ${i} error:`,n);if(this._hmrDrainOrphans(s),t)try{if(this.beforeUnmount)this.beforeUnmount()}catch(i){s("beforeUnmount",i)}if(this._dispose(s,(i)=>{if(t)i.unmount({removeDOM:r});else i._teardown({state:i._state==="mounted"?"unmounted":"failed",hooks:!1,removeDOM:!0})}),t)try{if(this.unmounted)this.unmounted()}catch(i){s("unmounted",i)}this._detachDOM(s,r),this._target=null}_hmrRelease(e=!0){let t=(r,s)=>console.error(`[Rip] ${r} error:`,s);try{if(this.beforeUnmount)this.beforeUnmount()}catch(r){t("beforeUnmount",r)}this._hmrOrphans=[],this._hmrReleasing=!0;try{this._dispose(t,(r)=>r.unmount({removeDOM:!0}))}finally{this._hmrReleasing=!1}this._detachDOM(t,e),this._frame=Tt({nested:!1}),this._state="new"}_hmrRebind(){let e=(s,i)=>console.error(`[Rip] ${s} error:`,i),t=Le(this),r=he(this._frame);try{if(typeof this._hmrRefreshComputeds==="function")this._hmrRefreshComputeds();if(typeof this._hmrBindEffects==="function")this._hmrBindEffects()}catch(s){return X1(r),pe(t),e("hmr rebind",s),this._failMount(s),!1}return X1(r),pe(t),!0}_hmrApplyProps(e){let t=ho(this.constructor,e);if("children"in e)this.children=e.children;for(let r of this.constructor.__props??[]){let s=`__bind_${r}__`;if(s in e){this[r]=e[s];continue}if(!(r in e))continue;let i=e[r];if(i!=null&&typeof i==="object"&&typeof i.read==="function")this[r]=i;else this._updateProp(r,i)}if(this.constructor.__extends!=null)this._rest=t??{},this.rest.value=co(this._rest),this._asChild=fo(this.constructor,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(s){e("orphan teardown",s)}}_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,s=r?.[0]??this._root,i=s?.parentNode??null,n=r?.length?r[r.length-1].nextSibling:this._root?this._root.nextSibling:null,a=this._asChild===!0;if(this._hmrRelease(!a),!this._hmrRebind())return this;if(typeof this._create!=="function")return this._state="mounted",this._hmrDrainOrphans((o,l)=>console.error(`[Rip] ${o} error:`,l)),this;if(!this._mountCreate())return this;if(!a)try{let o=i&&i.nodeType!==11?i:null;if(o&&o.isConnected===!1)o=null;if(!o&&typeof t==="string"&&typeof document<"u")o=document.querySelector(t);else if(!o&&t&&t.nodeType!==11&&t.isConnected!==!1)o=t;else if(!o&&typeof document<"u")o=document.querySelector("#content")||document.querySelector("#app");if(o){let l=n&&(typeof o.contains!=="function"||o.contains(n))?n:null;if(this._nodes)for(let c of this._nodes)o.insertBefore(c,l);else if(this._root)o.insertBefore(this._root,l);this._target=o.nodeType===11?null:o}}catch(o){return this._failMount(o),this}return this._mountSetup(),this._rehostAbove(s),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._owner?._hmrReleasing){this._owner._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 ti={};Fe(ti,{ariaCurrent:()=>Kr,browserAdapter:()=>Vr,buildRoutes:()=>Ct,check:()=>ei,connectFeed:()=>Zr,createApply:()=>Qr,createComponents:()=>Fr,createMutation:()=>Co,createRenderer:()=>Wr,createRouter:()=>Ur,createStash:()=>Mr,createWorkspace:()=>Xr,currentRouter:()=>qc,currentStash:()=>zc,debounce:()=>Po,delay:()=>jr,hold:()=>Mo,interceptClicks:()=>Gr,launch:()=>zr,ownsAnchor:()=>Lt,parseQuery:()=>Ze,persistStash:()=>Hr,preloadLinks:()=>Yr,rash:()=>Mt,source:()=>Ao,throttle:()=>Lo,unwrapStash:()=>Ne,validatePrepared:()=>Rs});var Pr,rs,_o,No=Symbol.for("rip.source"),is=Symbol.for("rip.source.family"),Dc=64,xc=30000,Cc=/^(\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 C1(e){return e!=null&&(typeof e==="object"||typeof e==="function")&&(e[No]===!0||e[is]===!0)}function ge(e){return e!=null&&typeof e==="function"&&e[is]===!0}_o=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(Cc),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"')};Pr=function(e,t,r=null){let s=A1(null),i=A1(!1),n=A1(null),a=0,o=null,l=null,c=!1,h=!1,f=!1,u=0,d=0,p=async function(S=!1,w=!1){let R,T;o?.abort(),o=typeof AbortController<"u"?new AbortController:null;let j=++a;if(!S)i.value=!0;let M=f;try{if(R=e(o?.signal),!(R!=null&&typeof R.then==="function"))throw TypeError("Rip App: source fetch must return a Promise");if(T=await R,j!==a)return T;return n.value=null,s.value=T,f=!0,u=Date.now(),d=w&&!h?u+xc:0,T}catch(x){if(j!==a)return;if(x?.name==="AbortError")return;if(n.value=x,!M)throw f=!1,u=0,x;return}finally{if(j===a)i.value=!1,l=null,c=!1,h=!1,r?.()}},m=function(S=!1,w=!1){let R=p(S,w);return l=R,c=w,h=!1,R},g=function(){return t===1/0||Date.now()-uDc){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},i=function(a){if(a==null)throw TypeError("Rip App: keyed source requires a key");let o=Pc(a),l=r.get(o);if(l)return r.delete(o),r.set(o,l),l;return l=Pr(function(c){return e(a,c)},t,s),r.set(o,l),s(o),l},n=function(a){return i(a).read()};return n[is]=!0,n.cellFor=i,n.reset=function(){let a=Array.from(r.values());r.clear();for(let o of a)o.reset();return},n};function Ao(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=_o(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 Pr(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 rs(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?rs(e.fetch,t):Pr(e.fetch,t)}var ls,It,ss,vt,$1=Symbol("rip.app.stash.raw"),Ye=Symbol("rip.app.stash.signals"),Lc=Symbol("rip.app.stash.keys"),Io=Symbol("rip.app.stash.defaults"),Mc=Symbol.for("rip.app.stash.purge"),$o=new WeakMap,jc=0,cs=A1(0),ns=function(){return cs.value++},Do=function(e,t){let r=e[Ye];if(!r)r=new Map,Object.defineProperty(e,Ye,{value:r});let s=r.get(t);if(!s)s=A1(e[t]),r.set(t,s);return s},Ot=function(e){return Do(e,Lc)},as=function(e){Ot(e).value=++jc;return};It=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 vo=function(e){if(!It(e))return e;let t=$o.get(e);if(t)return t;return ls(e)},ze=function(e,t){let r=e?.[$1];if(!r)return e[t];let s=r[t];if(C1(s)){if(ge(s))return s;return vo(s.read())}return vo(Do(r,t).value)},os=function(e,t,r){let s,i,n,a,o=e?.[$1];if(!o)return e[t]=r,r;if(Array.isArray(o)&&t==="length"){if(a=o.length,n=+r,o.length=n,n!==a){if(o[Ye]){for(let f=Math.min(a,n),u=Math.max(a,n);f0))throw TypeError("Rip App: stash path must be a non-empty string");let n=[],a=0;if(e[0]!=="["){i=a;while(a=e.length||a===i)throw TypeError(`Rip App: malformed stash path '${e}'`);if(r=e.slice(i,a),a++,e[a]!=="]")throw TypeError(`Rip App: malformed stash path '${e}'`);a++,n.push(r)}else{i=a;while(a{let s=[];for(let i in r){if(!Object.hasOwn(r,i))continue;let n=r[i];s.push(ss(n,t))}return s})()};vt=function(e){if(!It(e))return e;let t=e[$1]?e[$1]:e;if(Array.isArray(t))return(()=>{let s=[];for(let i of t)if(!C1(i))s.push(vt(i));return s})();let r={};for(let s in t){if(!Object.hasOwn(t,s))continue;let i=t[s];if(C1(i))continue;r[s]=vt(i)}return r};function xo(e){let t=e?.[$1]?e[$1]:e;if(!(t!=null&&typeof t==="object"))return;Object.defineProperty(t,Io,{value:vt(t),configurable:!0});return}function Lr(e){if(C1(e))return e;if(!It(e))return e;let t=e[$1]?e[$1]:e;if(Array.isArray(t))return(()=>{let s=[];for(let i of t)s.push(Lr(i));return s})();let r={};for(let s in t){if(!Object.hasOwn(t,s))continue;let i=t[s];Object.defineProperty(r,s,{value:Lr(i),writable:!0,enumerable:!0,configurable:!0})}return r}function Je(e,t){let r,s,i;if(!(e!=null&&typeof e==="object"))return;if(!(t!=null&&typeof t==="object"))return;let n=e[$1]?e[$1]:e;for(let a in t){if(!Object.hasOwn(t,a))continue;let o=t[a];if(r=Object.prototype.hasOwnProperty.call(n,a)?n[a]:void 0,C1(r))continue;if(Array.isArray(r)&&r.some(function(l){return C1(l)}))continue;if(s=r!=null&&typeof r==="object"&&!Array.isArray(r),i=o!=null&&typeof o==="object"&&!Array.isArray(o),s&&i)Je(e[a],o);else e[a]=vt(o)}return}var Uc=function(e,t){let r,s=t[Io];if(!s)return;r=function(i,n,a){let o;for(let l in n){if(!Object.hasOwn(n,l))continue;if(o=n[l],C1(o))continue;if(!(a!=null&&Object.prototype.hasOwnProperty.call(a,l))){delete i[l];continue}if(o!=null&&typeof o==="object"&&!Array.isArray(o))r(i[l],o,a[l])}return},r(e,t,s),Je(e,s);return},Vc={inc:!0,dec:!0,flip:!0,join:!0,keys:!0,has:!0,del:!0,peek:!0,reset:!0,source:!0},Wc=function(e,t,r){if(r==="inc")return function(s,i=1){let n=(Me(e,s)??0)+i;return At(e,s,n),n};if(r==="dec")return function(s,i=1){let n=(Me(e,s)??0)-i;return At(e,s,n),n};if(r==="flip")return function(s){let i=!(Me(e,s)??!1);return At(e,s,i),i};if(r==="join")return function(s,i){if(!(i!=null&&typeof i==="object"&&!Array.isArray(i)))throw TypeError("Rip App: join expects a plain object");M1(function(){let n=Me(e,s);if(!(n!=null&&typeof n==="object"&&!Array.isArray(n)))At(e,s,{}),n=Me(e,s);return(()=>{let a=[];for(let o in i){if(!Object.hasOwn(i,o))continue;let l=i[o];a.push(n[o]=l)}return a})()});return};if(r==="keys")return function(s){let i=s!=null?Me(e,s):e;if(!(i!=null&&typeof i==="object"))return[];let n=i[$1]?i[$1]:i;return Ot(n).value,Object.keys(n)};if(r==="has")return function(s){let i,n,a=qe(s);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(n){return!n||n==="."||n===".."}),s=t.at(-1),i=t.slice(0,-1).some(function(n){return n.endsWith(".rip")});if(e.includes("\\")||r||i||s===".rip"||!s.endsWith(".rip"))throw TypeError(`Rip App: invalid component path '${e}'`);return e};hs=function(e){if(typeof e!=="string")throw TypeError("Rip App: component source must be a string");return e};fs=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 Fr(){let e=new Map,t=new Map,r=new Set,s=function(n,a){let o=[];for(let l of Array.from(r))o.push((()=>{try{return l(n,a)}catch(c){return console.error("[Rip] component watcher error:",c)}})());return o};return{read(n){return e.get(Ae(n))},write(n,a){n=Ae(n),a=hs(a);let o=e.has(n)?"change":"create";e.set(n,a),t.delete(n),s(o,n);return},del(n){n=Ae(n),e.delete(n),t.delete(n),s("delete",n);return},exists(n){return e.has(Ae(n))},size(){return e.size},list(n=""){let a;n=fs(n);let o=n?n+"/":"",l=[];for(let[c]of e)if(c.startsWith(o)){if(a=c.slice(o.length),!a.includes("/"))l.push(c)}return l},listAll(n=""){n=fs(n);let a=n?n+"/":"",o=[];for(let[l]of e)if(l.startsWith(a))o.push(l);return o},load(n){let a,o;if(!(n!=null&&typeof n==="object"&&!Array.isArray(n)))throw TypeError("Rip App: component load expects a source object");for(let l in n){if(!Object.hasOwn(n,l))continue;let c=n[l];l=Ae(l),c=hs(c),e.set(l,c),t.delete(l)}return},watch(n){if(typeof n!=="function")throw TypeError("Rip App: component watch expects a function");r.add(n);let a=!1;return function(){if(a)return;a=!0,r.delete(n);return}},getCompiled(n){return t.get(Ae(n))},setCompiled(n,a){if(n=Ae(n),!(a!=null&&typeof a==="object"&&!Array.isArray(a)))throw TypeError("Rip App: compiled component module must be an object");t.set(n,a);return}}}var Fo,Bo,P1,ds,Uo,Vo,Wo,us=/^\w+$/,Ho={static:0,dynamic:1,optional:2,catchall:3},jo=8;P1=function(e){throw Error(`Rip App: ${e}`)};var xt=function(e){try{return decodeURIComponent(e)}catch(t){return null}};Wo=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 Ko=function(e,t){let r;if(r=/^\[\[(.+)\]\]$/.exec(e)){if(!us.test(r[1]))P1(`invalid optional segment '${e}' in '${t}'`);return{kind:"optional",name:r[1]}}else if(r=/^\[\.\.\.(.+)\]$/.exec(e)){if(!us.test(r[1]))P1(`invalid catch-all segment '${e}' in '${t}'`);return{kind:"catchall",name:r[1]}}else if(e.startsWith("[..."))return P1(`invalid catch-all segment '${e}' in '${t}'`);else if(r=/^\[(.+)\]$/.exec(e)){if(!us.test(r[1]))P1(`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 P1(`invalid segment '${e}' in '${t}': markers claim a whole segment`);else return{kind:"static",text:e}};Fo=function(e){let t,r=(()=>{let f=[];for(let u of e.slice(0,-4).split("/"))f.push(Ko(u,e));return f})();if(r[r.length-1].kind==="group")P1(`route file name cannot be a group segment: '${e}'`);let s=r.filter(function(f){return f.kind!=="group"});for(let f=0;fjo)P1(`more than ${jo} optional segments in '${e}'`);let o="",l=[],c=[{shape:"",display:""}];for(let f of s)switch(l.push(Ho[f.kind]),f.kind){case"static":t="/"+f.text,o+=t,c=c.map(function(u){return{shape:u.shape+t,display:u.display+t}});break;case"dynamic":o+=`/:${f.name}`,c=c.map(function(u){return{shape:u.shape+"/:",display:`${u.display}/:${f.name}`}});break;case"optional":o+=`/:${f.name}?`,c=c.flatMap(function(u){return[u,{shape:u.shape+"/:",display:`${u.display}/:${f.name}`}]});break;case"catchall":o+=`/*${f.name}`,c=c.map(function(u){return{shape:u.shape+"/*",display:`${u.display}/*${f.name}`}});break}if(o==="")o="/";if(new Set(c.map(function(f){return f.shape||"/"})).size{let l=[];for(let c of e)l.push(Ko(c,t));return l})().filter(function(l){return l.kind!=="group"});for(let l of s)if(l.kind==="optional"||l.kind==="catchall")P1(`not-found page under an optional or catch-all segment: '${t}'`);let i=[];for(let l of s)if(l.name!=null){if(i.includes(l.name))P1(`duplicate parameter name '${l.name}' in '${t}'`);i.push(l.name)}let n="",a="",o=[];for(let l of s)if(o.push(Ho[l.kind]),l.kind==="static")n+="/"+l.text,a+="/"+l.text;else n+=`/:${l.name}`,a+="/:";return{pattern:n+"/*",shape:a+"/*",parts:s,ranks:o}};Uo=function(e,t){let r;return r=function(s,i){let n,a,o,l;if(s===e.length)return i===t.length?[]:null;let c=e[s];return(()=>{switch(c.kind){case"static":if(!(ih.length))continue;if(a=T.slice(h.length),l=a.split("/"),n=l.some(function(j){return!j||j==="."||j===".."}),a.includes("\\")||n||l.at(-1)===".rip")throw TypeError(`Rip App: invalid route file path '${T}'`);if(l.at(-1)==="_layout.rip"){f.set(l.slice(0,-1).join("/"),T);continue}if(l.at(-1)==="_404.rip"){if(l.slice(0,-1).some(function(j){return j.startsWith("_")}))continue;u.push({...Bo(l.slice(0,-1),a),rel:a,file:T});continue}if(l.some(function(j){return j.startsWith("_")}))continue;if(!a.endsWith(".rip"))throw TypeError(`Rip App: route files must be .rip sources: '${T}'`);d.push({...Fo(a),rel:a,file:T})}let p=new Map;for(let T of[...d].sort(function(j,M){return j.relj.pattern)return 1;return 0});let m=new Map;for(let T of[...u].sort(function(j,M){return j.relj.pattern)return 1;return 0});let g=d.map(function(T){return{route:Object.freeze({pattern:T.pattern,file:T.file,layouts:Object.freeze(ds(T.rel,f))}),parts:T.parts}}),b=u.map(function(T){return{route:Object.freeze({pattern:T.pattern,file:T.file,layouts:Object.freeze(ds(T.rel,f))}),parts:T.parts}}),S=function(T){if(typeof T!=="string")throw TypeError("Rip App: route match expects a path string");if(!T.startsWith("/"))return null;while(T.length>1&&T.endsWith("/"))T=T.slice(0,-1);return T==="/"?[]:T.slice(1).split("/")},w=function(T){let j;if(l=S(T),!l)return null;for(let M of g){if(j=Uo(M.parts,l),!j)continue;return{route:M.route,params:Object.fromEntries(j)}}return null},R=function(T){let j;if(l=S(T),!l)return null;for(let M of b){if(j=Vo(M.parts,l),!j)continue;return{route:M.route,params:Object.fromEntries(j)}}return null};return Object.freeze({routes:Object.freeze(g.map(function(T){return T.route})),match:w,notFound:R})}function Ze(e){if(typeof e!=="string")throw TypeError("Rip App: parseQuery expects a query string");return Object.fromEntries(new URLSearchParams(e))}var q1,ms,Go,Br;q1=function(e){let t=e.indexOf("#"),r=t>=0?e.slice(t+1):"",s=t>=0?e.slice(0,t):e,i=s.indexOf("?"),n=i>=0?s.slice(i+1):"";return{path:i>=0?s.slice(0,i):s,query:n,hash:r}};ms=function(e,t){let r=Object.keys(t);return r.length===Object.keys(e).length&&r.every(function(i){return e[i]===t[i]})?e:t};Br=function(e){if(!(e!=null&&typeof e.match==="function"&&Array.isArray(e.routes)))throw TypeError("Rip App: createRouter requires a route manifest");return e};Go=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 Ur(e){let t,{routes:r,adapter:s,onError:i}=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 v of["read","push","replace","go","listen"])if(typeof s?.[v]!=="function")throw TypeError(`Rip App: router adapter requires a ${v} function`);let n=Go(e?.base),a=e?.hash===!0;if(n&&a)throw TypeError("Rip App: a base path does not apply in hash mode");let o=typeof r==="function"?Br(r()):Br(r),l=new Set,c=null,h=A1(null),f=A1(null),u=A1({}),d=A1({}),p=A1(""),m=jr(100,A1(!1)),g=Y1(function(){let v=f.value;if(!v)return null;return{route:v,layouts:v.layouts,params:u.value,query:d.value}}),b=function(v){if(!n)return v;if(v===n)return"/";if(v.startsWith(n+"/"))return v.slice(n.length);return null},S=function(v){if(!n)return v;return v==="/"?n:n+v},w=function(v){return a?s.read().split("#")[0]+"#"+v:S(v)},R=function(v){return i?.({status:404,path:v}),!1},T=0,j=function(v){return typeof v==="string"&&!v.startsWith("//")&&!v.includes("\\")},M=function(v){if(!j(v))return null;return o.match(v)},x=function(v){if(!j(v))return null;return o.match(v)??o.notFound?.(v)??null},A=function(v,U,Z,P){let X=ms(u.value,v.params),F=ms(d.value,Ze(Z));M1(function(){return h.value=U,f.value=v.route,u.value=X,d.value=F,p.value=P});let e1={path:U,route:v.route,params:X,query:F,hash:P};T+=1;try{for(let Q of Array.from(l))try{Q(e1)}catch(a1){console.error("[Rip] router onNavigate error:",a1)}}finally{T-=1}return!0},C=function(){if(T>=10)throw Error("Rip App: navigation loop — ten nested navigations from onNavigate")},O=function(){let v,U,Z,P,X,F=s.read();if(a){if(v=F.indexOf("#"),Z=v>=0?F.slice(v+1):"/",Z==="")Z="/";({path:P,query:X,hash:U}=q1(Z))}else if({path:P,query:X,hash:U}=q1(F),P=b(P),P==null)return R(q1(F).path);let e1=x(P);if(!e1)return R(P);return A(e1,P,X,U)},W=null,G=null,Y=function(){W=null;let v=s.readState?.()??{};return s.replace(s.read(),{...v,__ripScroll:s.scroll?.save?.()??null})},k=function(){return!W?W=setTimeout(Y,100):void 0};return t={init(){if(c)return t;return O(),c=s.listen(function(){if(!O())return;let v=s.readState?.();return s.scroll?.restore?.(v?.__ripScroll??null)}),G=s.scroll?.watch?.(k)??null,t},push(v,U={}){C();let{path:Z,query:P,hash:X}=q1(v),F=x(Z);if(!F)return R(Z);let e1=s.scroll?.save?.()??null,Q=s.readState?.()??{};if(s.replace(s.read(),{...Q,__ripScroll:e1}),s.push(w(v),null),A(F,Z,P,X),!U.noScroll)s.scroll?.top?.();return!0},replace(v,U={}){C();let{path:Z,query:P,hash:X}=q1(v),F=x(Z);if(!F)return R(Z);let e1=s.readState?.()??{};if(s.replace(w(v),{...e1,__ripScroll:null}),A(F,Z,P,X),!U.noScroll)s.scroll?.top?.();return!0},back(){return s.go(-1)},forward(){return s.go(1)},match(v){let{path:U,query:Z,hash:P}=q1(v),X=M(U);if(!X)return null;return{route:X.route,params:X.params,query:Ze(Z),hash:P}},claims(v){let U,Z,P,X,F;if(!(typeof v==="string"&&v.length>0))return null;if(a){if(U=v.indexOf("#"),U<0)return null;if(P=v.slice(U+1),P==="")P="/";({path:X,query:F,hash:Z}=q1(P))}else{if(!v.startsWith("/"))return null;if({path:X,query:F,hash:Z}=q1(v),X=b(X),X==null)return null}let e1=M(X);if(!e1)return null;let Q=X+(F?"?"+F:"")+(Z?"#"+Z:"");return{path:X,url:Q,route:e1.route,params:e1.params,query:Ze(F),hash:Z}},onNavigate(v){if(typeof v!=="function")throw TypeError("Rip App: onNavigate expects a function");return l.add(v),function(){return l.delete(v)}},rebuild(){let v,U,Z,P,X;if(o=typeof r==="function"?Br(r()):o,!c)return;let F=s.read();if(a){if(v=F.indexOf("#"),Z=v>=0?F.slice(v+1):"/",Z==="")Z="/";({path:P,query:X,hash:U}=q1(Z))}else if({path:P,query:X,hash:U}=q1(F),P=b(P),P==null)return R(q1(F).path);let e1=x(P);if(!e1)return R(P);let Q=f.value,a1=Q?.layouts??[],d1=e1.route.layouts??[],I=a1.length===d1.length&&a1.every(function(l1,L){return l1===d1[L]});if(Q?.file===e1.route.file&&I&&h.value===P)return;A(e1,P,X,U);return},destroy(){if(c?.(),c=null,G?.(),G=null,W)clearTimeout(W);W=null;return}},Object.defineProperty(t,"current",{get(){return g.value}}),Object.defineProperty(t,"path",{get(){return h.value}}),Object.defineProperty(t,"hash",{get(){return p.value}}),Object.defineProperty(t,"params",{get(){return u.value}}),Object.defineProperty(t,"query",{get(){return d.value}}),Object.defineProperty(t,"navigating",{get(){return m.value},set(v){return m.value=v}}),t}function Vr(){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,s){return window.history.pushState(s,"",r)},replace(r,s){return window.history.replaceState(s,"",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 s;if(r==null)return;let i=++t,n=r.x||0,a=r.y||0,o=0;s=function(){if(i!==t)return;let l=Math.max(0,(window.document?.documentElement?.scrollHeight||0)-window.innerHeight);return window.scrollTo(n,Math.min(a,l)),o+=1,a>l&&o<20?e(s):void 0},e(s);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 ps,Yo,je;Yo=es();je=function(e,t,r,s=null){let i=s??r?.message??String(r),n=Error(i);return n.name="GateFailure",n.status=r?.status??r?.response?.status??500,n.path=e,n.file=t,n.error=r,n};ps=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 s=function(n){return typeof n==="function"&&typeof n.prototype?.mount==="function"};if(s(r.default))return r.default;let i=[];for(let n in r){let a=r[n];if(n==="default")continue;if(s(a))i.push(a)}if(i.length!==1)throw Error(`Rip App: precompiled module '${t}' must export exactly one component class`);return i[0]};function Wr(e){let t;if(!(e!=null&&typeof e==="object"))throw TypeError("Rip App: createRenderer expects an options object");let{router:r,stash:s,components:i,target:n,onError:a}=e;if(!(r!=null&&typeof r==="object"))throw TypeError("Rip App: createRenderer requires a router object");if(!(s!=null&&Ne(s)!==s))throw TypeError("Rip App: createRenderer requires a stash built by createStash");if(!(i!=null&&typeof i.getCompiled==="function"))throw TypeError("Rip App: createRenderer requires a component registry");if(!(n!=null&&typeof n.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,h=null,f=[],u=null,d=null,p=null,m=!1,g=function(L,t1){let N=Object.keys(L);return N.length===Object.keys(t1).length&&N.every(function(V){return L[V]===t1[V]})},b=function(L,t1){return L.length===t1.length&&L.every(function(N,V){return t1[V]===N})},S=function(L){let t1=Ne(s),N=L.split(".");for(let V=0;V",c1.file,`Rip App: ${c1.file} static __gates must be an array`);for(let K=0;K0))throw w(String(h1),c1.file,`Rip App: ${c1.file} has a malformed render gate path`);if(f1!=null&&typeof f1!=="function")throw w(h1,c1.file,`Rip App: gate '${h1}' has a non-function key`);if(p1=S(h1),!p1)throw w(h1,c1.file,`Rip App: gate '${h1}' does not resolve to a source`);if(V=p1.cell,ge(V)){if(!f1)throw w(h1,c1.file,`Rip App: gate '${h1}' is keyed and requires a key function`);try{o1=f1(t1,N),V=V.cellFor(o1)}catch(H){throw B=H,je(h1,c1.file,B,`Rip App: gate '${h1}' key failed: ${B.message}`)}}else if(f1)throw w(h1,c1.file,`Rip App: gate '${h1}' is a singleton and does not accept a key function`);if(c1.bindings[K]={cell:V,tail:p1.tail,path:h1,file:c1.file},!n1.has(V))n1.set(V,{cell:V,path:h1,file:c1.file,entryIndex:u1})}}return Array.from(n1.values())},j=async function(L,t1,N,V){let B,r1,o1=T(L,t1,N),f1=await Promise.allSettled((()=>{let n1=[];for(let u1 of o1)n1.push(u1.cell.ensure());return n1})());if(V!==c)return!1;let h1=null,p1=function(n1,u1){if(n1.entryIndex=u1,h1==null||u1=h1.entryIndex)break;for(let c1 of u1.bindings){r1=c1.cell.peek();for(let K of c1.tail){if(r1==null)break;r1=r1[K]}if(r1==null){p1(w(c1.path,c1.file,`Rip App: gate '${c1.path}' resolved to ${r1}; every gated subpath must exist and be non-null`),n1);break}c1.value=r1}}if(h1!=null)throw h1;return!0},M=function(L,t1){return Yo(L.cls,{gates:L.bindings,parent:t1,stash:s,router:r})},x=function(L){let t1=[];for(let N=L.length-1;N>=0;N--){let V=L[N];try{V.unmount?.()}catch(B){t1.push(B);try{V._teardown?.({state:"unmounted",hooks:!1,removeDOM:!0})}catch(r1){t1.push(r1)}}}return t1},A=function(){let L=o;o=[],l=null,f=[],u=null,d=null;let t1=x(L);if(t1.length)throw t1[0];return},C=null,O=function(){C?.remove?.(),C=null;return},W=function(L){let t1,N;O();let V=L.error?.stack??L.stack??L.message??String(L);C=(()=>{if(typeof document<"u"&&typeof document.createElement==="function")return t1=document.createElement("pre"),t1.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",t1.textContent=V,t1;else return N={nodeName:"PRE",textContent:V,parentNode:null,remove(){let B=N.parentNode?.children,r1=B?.indexOf(N)??-1;if(r1>=0)B.splice(r1,1);N.parentNode=null;return}},N})(),n.appendChild(C);return},G=function(){if(typeof document<"u"&&typeof document.createDocumentFragment==="function")return document.createDocumentFragment();let L=[];return{children:L,appendChild(t1){return L.push(t1),t1}}},Y=function(L,t1=n){if(O(),L.nodeType===11)t1.appendChild(L);else for(let N of L.children)t1.appendChild(N);return},k=function(L,t1){let N,V=L._nodes??[L._root];for(let B of V){if(!B)continue;if(B.matches?.("#content"))return B;if(N=B.querySelector?.("#content"),N)return N}return V.find(function(B){return B!=null})??t1},v=function(L){return L?.childNodes??L?.children??[]},U=function(L,t1){L.slot=t1,L.slotOwned=v(t1).length;return},Z=function(){let L,t1,N=n;for(let V=0;V0&&B.slot!=null&&B.slot!==N){t1=Array.from(v(B.slot)).slice(B.slotOwned??0),U(B,N);for(let r1 of t1)N.appendChild(r1);L._target=N}if(V===f.length-1)break;N=k(L,N)}if(f.length>1)u=N;return},P=function(L,t1,N){let V,B,r1;if(!L.some(function(n1){return typeof n1.cls.prototype?.onError==="function"}))return!1;let o1=G(),f1=o1,h1=[];try{for(let n1=0;n10)U(u1,f1);if(B.mount?.(f1),B._state==="failed")return x(h1),!1;f1=k(B,f1)}if(N!==c)return x(h1),!1;V=null;for(let n1=h1.length-1;n1>=0;n1--){let u1=h1[n1];if(typeof u1.onError==="function"){V=u1;break}}Y(o1)}catch(n1){return console.error("[Rip] boundary chain failed to mount:",n1),x(h1),!1}let p1=o;o=h1,l=h1[h1.length-1]??null,f=L,u=f1,d=null;try{V.onError(t1)}catch(n1){console.error("[Rip] boundary onError error:",n1)}for(let n1 of x(p1))console.error("[Rip] boundary teardown error:",n1);return!0},X=function(L,t1){let N=null;for(let B=L.length-1;B>=0;B--){let r1=L[B];if(typeof r1.instance?.onError==="function"){N=r1.instance;break}}if(!N)return!1;let V=o.slice(L.length);o=L.map(function(B){return B.instance}),l=o[o.length-1]??null,f=L,d=null;try{N.onError(t1)}catch(B){console.error("[Rip] boundary onError error:",B)}for(let B of x(V))console.error("[Rip] boundary teardown error:",B);return!0},F=async function(L,t1,N=i){let V,B,r1,o1,f1,h1,p1=L?.route;if(!p1?.file)throw Error("Rip App: renderer route state requires route.file");let n1=L.params??{},u1=L.query??{},c1=L.layouts??[];if(!Array.isArray(c1))throw Error("Rip App: renderer route state layouts must be an array");let K=f.map(function(m1){return m1.file}),_=p;if(p=null,_==null&&l!=null&&d!=null&&p1.file===d.file){if(b([...c1,p1.file],K)&&g(n1,d.params)){if(!(g(u1,d.query)||R(f,n1,u1))){if(typeof l.load==="function")await l.load(n1,u1);if(t1!==c)return null;return d={file:p1.file,params:n1,query:u1},l}}}let H=[...c1,p1.file],q=d!=null&&c1.length>0&&f.length===c1.length+1&&b(c1,K.slice(0,-1))&&!R(f.slice(0,-1),n1,u1),i1=_!=null?Math.max(0,Math.min(_,H.length-1)):q?c1.length:0;if(_!=null&&i1>0){if(!(f.length===H.length&&b(H.slice(0,i1),K.slice(0,i1))))i1=0}let D=[];for(let m1=0;m10){if(r1=q?X(D.slice(0,V),B):P(D.slice(0,V),B,t1),r1)return null}}throw B}let s1=G(),R1=s1,y1=[],S1=i1>0?D[i1-1].instance:null,_1=i1>0,v1=_1?k(S1,n):n;try{for(let m1=D.slice(i1),D1=0;D10)U(be,R1);if(o1.mount?.(R1),o1._state==="failed")throw Error(`Rip App: component '${be.file}' failed during mount`);if(i1+D11?R1:v1,f=D,d={file:p1.file,params:n1,query:u1};let g1=x(E1);if(m=g1.length>0,g1.length)for(let m1 of g1)if(B=je("","",m1),a!=null)try{a(B)}catch(D1){console.error("[Rip] renderer teardown reporter failed:",D1)}else console.error("[Rip] renderer teardown error:",B);return l},e1=function(L){let t1,N,V=L?.route;if(!V?.file)return;let B=L.params??{},r1=L.query??{},o1=L.layouts??V.layouts??[],f1=f.map(function(n1){return n1.file}),h1=d!=null&&b(o1,f1.slice(0,-1));if(h1&&V.file===d.file&&g(B,d.params))return;let p1=h1?[V.file]:[...o1,V.file];try{t1=(()=>{let n1=[];for(let u1 of p1)n1.push({file:u1,cls:ps(i,u1)});return n1})(),N=T(t1,B,r1)}catch(n1){return}for(let n1 of N)n1.cell.preload().catch(function(){return null});return},Q=function(L,t1){if(!(L!=null&&typeof L==="object"&&typeof t1==="string"))return null;let N=function(B){return typeof B==="function"&&B.__hmrId===t1},V=L.__hmrComponents;if(V!=null&&typeof V==="object")for(let B in V){let r1=V[B];if(N(r1))return r1}if(N(L.default))return L.default;for(let B in L){let r1=L[B];if(N(r1))return r1}return null},a1=function(L){let t1=L+"#",N=[];for(let B of f)if(B.file===L&&B.instance!=null)N.push(B.instance);for(let[B,r1]of Ji())if(typeof B==="string"&&B.startsWith(t1)){for(let o1 of r1.instances)if(!N.includes(o1))N.push(o1)}let V=[];for(let B of N)V.push({instance:B,entry:f.find(function(r1){return r1.instance===B})??null});return V},d1=function(L,t1){let N,V,B,r1,o1=(()=>{let n1=[];for(let u1 of L)if(typeof u1==="string"&&u1.endsWith(".rip"))n1.push(u1);return n1})();if(!(o1.length>0))return"unknown";let f1=0,h1=!1,p1=new Set;for(let n1 of o1){if(r1=t1.getCompiled(n1),B=a1(n1),r1==null){if(typeof t1.exists==="function"&&!t1.exists(n1)){if(B.some(function(u1){return u1.instance._state!=="unmounted"}))return"fallback"}else h1=!0;continue}for(let{instance:u1,entry:c1}of B){if(p1.has(u1))continue;if(u1._state==="unmounted")continue;if(u1._state!=="mounted")return"fallback";if(V=u1.constructor?.__hmrId,N=typeof V==="string"?Q(r1,V):null,N==null)return"fallback";if(wt(N),_t(u1.constructor,N)!=="patch")return"fallback";if(Qi(u1,N),p1.add(u1),f1+=1,c1!=null){if(c1.cls=N,c1!==f[f.length-1])Z()}}}if(f1>0)return"done";return h1?"unknown":"idle"},I=async function(L,t1=i){let N,V,B,r1,o1;if(!(Array.isArray(L)&&L.length>0))return"noop";for(let q of L)if(q==="stash.rip"||q.startsWith("stash/")||q==="seed.rip")return"escape";let f1=r.current;if(!(f1?.route?.file&&f.length>0))return"noop";let p1=[...f1.layouts??f1.route.layouts??[],f1.route.file],n1=b(p1,f.map(function(q){return q.file})),u1=Zi();try{if(o1=d1(L,t1),o1==="done")return Cr(u1),"narrow";if(o1==="idle"&&n1)return _e("noop",{paths:[...L]}),"noop"}catch(q){console.error("[Rip] HMR patch failed; falling back to remount:",q),_e("reject",{reason:"patch-failed",paths:[...L],message:q?.message?String(q.message):String(q)})}let c1=new Set(L),K=-1;for(let q=0;q{if(N?.name==="GateFailure")return N;else return B=L?.route?.file??"",je(N?.path??B,B,N)})(),a?.(V),l==null)W(V);throw V}finally{if(r1===c&&(Array.isArray(r)||typeof r==="string"?r.includes("navigating"):("navigating"in r)))r.navigating=!1}};let l1=null;return l1={current:null,mount:t,preload:e1,remountDirty:I,start(){if(h)return l1;return r.init?.(),h=x1(function(){let L=r.current;if(L?.route)t(L).catch(function(){return null});return}),l1},stop(){let L,t1;if(c++,h?.(),h=null,Array.isArray(r)||typeof r==="string"?r.includes("navigating"):("navigating"in r))r.navigating=!1;try{A()}catch(N){throw L=N,t1=je("","",L),a?.(t1),t1}return}},Object.defineProperty(l1,"current",{get(){return l}}),l1}var qo,Xo,gs=Symbol.for("rip.app.stash.persisted"),zo=Symbol.for("rip.app.stash.purge");Xo=function(e,t){return C1(t)?void 0:t};qo=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 Hr(e,t={}){let r,s=Ne(e)||e;if(s[gs])return function(){return null};s[gs]=!0;let i=qo(t),n=t.key||"__rip_app",a=t.debounce??2000;try{if(r=i.getItem(n),r)Je(e,JSON.parse(r))}catch(u){}let o=null,l=function(){o=null;try{i.setItem(n,JSON.stringify(Ne(e),Xo))}catch(u){}return},c=!1,h=x1(function(){if(cs.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(s,zo,{value(){if(o!=null)clearTimeout(o),o=null;try{i.removeItem(n)}catch(u){}return},configurable:!0,writable:!0});let f=!1;return function(){if(f)return;if(f=!0,h?.(),typeof window<"u")window.removeEventListener("beforeunload",l);l(),s[zo]=null,s[gs]=!1;return}}var Jo,bs;bs=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 Pt(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 Lt(e,t){if(t==null)return!1;if(bs(t))return!1;let r=Pt(t);if(r==null)return!1;return e.claims(r)!=null}Jo=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 Kr(e,t=null){if(!(e!=null&&typeof e.claims==="function"))throw TypeError("Rip App: ariaCurrent requires a router");t=t??Jo();let r=new WeakMap,s=function(){let l,c,h,f,u=e.path;for(let d of t.anchors()){if(l=bs(d)?null:e.claims(Pt(d)??""),h=l==null||u==null?null:l.path===u?"page":l.path!=="/"&&u.startsWith(l.path+"/")?"true":null,c=d.getAttribute?.("aria-current")??null,f=r.get(d),f!==void 0&&c!==f){if(r.delete(d),c!=null)continue;f=void 0}if(h!=null){if(f===void 0&&c!=null)continue;if(c!==h)d.setAttribute("aria-current",h);r.set(d,h)}else if(f!==void 0)d.removeAttribute("aria-current"),r.delete(d)}return},i=function(){try{s()}catch(l){console.error("[Rip] aria-current walk failed:",l)}return},n=x1(function(){return e.path,i()}),a=t.observe?.(i)??null,o=!1;return function(){if(o)return;o=!0,n(),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 Zo,Qo,ys,Ss;Qo=50;Zo=3000;Ss=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)}}}};ys=function(e){while(e!=null&&e.tagName!=="A")e=e.parentElement;return e??null};function Gr(e,t=null){if(!(e!=null&&typeof e.claims==="function"&&typeof e.push==="function"))throw TypeError("Rip App: interceptClicks requires a router");t=t??Ss();let r=function(n){if(n.defaultPrevented)return;if(n.button!==0||n.metaKey||n.ctrlKey||n.shiftKey||n.altKey)return;let a=ys(n.target);if(!(a!=null&&Lt(e,a)))return;let o=e.claims(Pt(a));if(o==null)return;n.preventDefault(),e.push(o.url,{noScroll:a.hasAttribute?.("data-router-noscroll")===!0});return},s=t.listen("click",r),i=!1;return function(){if(i)return;i=!0,s();return}}function Yr(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??Ss();let s=null,i=null,n={href:null,at:0},a=function(){if(s!=null)clearTimeout(s);s=null,i=null;return},o=function(f){let u=ys(f.target);if(!(u!=null&&Lt(e,u)))return;if(u===i)return;a(),i=u;let d=Pt(u);s=setTimeout(function(){s=null,i=null;let p=Date.now();if(d===n.href&&p-n.at1)throw AggregateError(S,"Rip App: launch.destroy failed");return};globalThis.__ripStash=l,globalThis.__ripRouter=h;try{if(typeof n.replaceChildren==="function")n.replaceChildren();else if(Array.isArray(n.children))n.children.length=0;f.start()}catch(S){throw b(),S}return{stash:l,components:c,router:h,renderer:f,destroy:b}}var Es,qr,ks,Ts,ws,V1;V1=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(n){return!n||n==="."||n===".."||n.startsWith(".")}),s=t.at(-1),i=t.slice(0,-1).some(function(n){return n.endsWith(".rip")});if(e.includes("\\")||e.startsWith("/")||r||i||s===".rip"||!s.endsWith(".rip"))throw TypeError(`Rip Workspace: invalid component path '${e}'`);return e};qr=function(e){if(typeof e!=="string")throw TypeError("Rip Workspace: component source must be a string");return e};ks=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};Ts=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};ws=function(e){if(!(e!=null&&typeof e==="object"&&!Array.isArray(e)))throw TypeError("Rip Workspace: compiled component module must be an object");return e};Es=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=Ts(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 s=new Map,i=new Map,n=e.sources;for(let o in n){if(!Object.hasOwn(n,o))continue;let l=n[o];s.set(V1(o),qr(l))}let a=e.compiled;for(let o in a){if(!Object.hasOwn(a,o))continue;let l=a[o];if(o=V1(o),!s.has(o))throw Error(`Rip Workspace: compiled module '${o}' has no source`);i.set(o,ws(l))}return{hash:r,sources:s,compiled:i}};function Xr(){let e,t=new Map,r=new Map,s=new Set,i=null,n=!1,a=function(l,c){for(let h of Array.from(s))try{h(l,c)}catch(f){console.error("[Rip] workspace watcher error:",f)}return},o=function(l){t=l.sources,r=l.compiled,i=l.hash;return};return e={read(l){return t.get(V1(l))},write(l,c){if(n)throw Error("Rip Workspace: cannot write during a publication transition");l=V1(l),c=qr(c);let h=t.has(l)?"change":"create";t.set(l,c),r.delete(l),a(h,l);return},del(l){if(n)throw Error("Rip Workspace: cannot delete during a publication transition");l=V1(l),t.delete(l),r.delete(l),a("delete",l);return},exists(l){return t.has(V1(l))},size(){return t.size},list(l=""){let c;l=ks(l);let h=l?l+"/":"",f=[];for(let[u]of t)if(u.startsWith(h)){if(c=u.slice(h.length),!c.includes("/"))f.push(u)}return f},listAll(l=""){l=ks(l);let c=l?l+"/":"",h=[];for(let[f]of t)if(f.startsWith(c))h.push(f);return h},load(l){if(n)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 h in l){if(!Object.hasOwn(l,h))continue;let f=l[h];c.push([V1(h),qr(f)])}for(let[h,f]of c)t.set(h,f),r.delete(h);return},watch(l){if(typeof l!=="function")throw TypeError("Rip Workspace: component watch expects a function");s.add(l);let c=!1;return function(){if(c)return;c=!0,s.delete(l);return}},getCompiled(l){return r.get(V1(l))},setCompiled(l,c){if(n)throw Error("Rip Workspace: cannot compile during a publication transition");if(l=V1(l),!t.has(l))throw Error(`Rip Workspace: setCompiled for unknown component path '${l}'`);r.set(l,ws(c));return},hash(){return i},activate(l){if(i!=null)throw Error("Rip Workspace: a publication is already active");if(n)throw Error("Rip Workspace: a publication transition is already staged");o(Es(l));return},stage(l,c,h){if(n)throw Error("Rip Workspace: a publication transition is already staged");if(l=Ts(l),i!==l)throw Error(`Rip Workspace: change starts at ${l}, not ${i}`);if(!Array.isArray(h))throw TypeError("Rip Workspace: changed paths must be an array");let f=h.map(function(g){return V1(g)});if(new Set(f).size!==f.length)throw Error("Rip Workspace: changed paths must be unique");let u=Es(c),d={sources:t,compiled:r,hash:i};n=!0;let p=!1,m=function(g){let b;if(p)throw Error("Rip Workspace: publication transition is already finished");if(p=!0,n=!1,!g)return;o(u);for(let S of f)b=!u.sources.has(S)?"delete":d.sources.has(S)?"change":"create",a(b,S);return};return{components:{getCompiled(g){return u.compiled.get(V1(g))},exists(g){return u.sources.has(V1(g))}},commit(){return m(!0)},rollback(){return m(!1)}}},commit(l,c,h){e.stage(l,c,h).commit();return}},e}var r2,i2,s2,n2,a2,o2,l2,Jr;s2=250;i2=8000;r2=5000;l2=0;Jr=function(e){return typeof e==="string"&&/^[A-Za-z0-9_]{6}$/.test(e)};a2=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`};o2=function(){if(typeof WebSocket>"u")throw Error("Rip App: connectFeed needs a socket factory (no global WebSocket)");return function(e){return new WebSocket(e)}};n2=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 Zr(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(!Jr(e.hash()))throw TypeError("Rip App: connectFeed client hash must be six Base64URL-folded characters");let s=t.hub??a2(),i=t.latestUrl??"/latest.json",n=t.makeSocket??o2(),a=t.fetch??n2(),o=t.report??function(...P){return console.error(...P)},l=t.backoff?.min??s2,c=t.backoff?.max??i2,h=t.ackTimeout??r2,f=!1,u=!1,d=!1,p=!1,m=null,g=0,b=null,S=null,w=0,R=null,T=[],j=Promise.resolve(),M=new Map,x=null,A=function(P){if(u||f)return;u=!0,e.reload(P);return},C=async function(P){let X;if(u||f)return!1;try{if(X=await e.apply(P),X==="rejected"){if(Jr(P?.hash))x=P?.hash;return!1}if(X==="reload"||!X)return A("change could not be applied"),!1;return x=null,!0}catch(F){return o("[Rip] publication change failed:",F),A("change failed"),!1}},O=function(P,X){j=j.then(async function(){if(X!==w)return!0;return await C(P)}),j=j.catch(function(F){return o("[Rip] publication queue failed:",F),A("change queue failed"),!1});return},W=async function(P){let X,F;if(f||u||P!==w)return;let e1=e.hash(),Q=await a(i,{cache:"no-store"});if(!Q?.ok)throw Error(`latest.json fetch failed (${Q?.status})`);let a1=await Q.json();if(!(a1!=null&&typeof a1==="object"&&!Array.isArray(a1)&&Object.keys(a1).length===1&&Object.hasOwn(a1,"hash")&&Jr(a1.hash)))throw Error("latest.json is malformed");if(f||u||P!==w)return;if(x!=null){if(a1.hash!==x){A(`a newer App generation followed rejected ${x}`);return}T=[],p=!0,g=0;return}let d1=new Set([e1]),I=0;while(I0))return"ignore";let n=(()=>{let h=[];for(let f of s)if(typeof f==="string"&&f.endsWith(".css"))h.push(f);return h})(),a=(()=>{let h=[];for(let f of s)if(typeof f==="string"&&f.endsWith(".rip"))h.push(f);return h})(),o=(()=>{let h=[];for(let f of s)if(typeof f==="string"&&!f.endsWith(".rip")&&!f.endsWith(".css"))h.push(f);return h})();if(a.length===0){if(o.length>0)return"reload";if(n.length>0)return"css";return"ignore"}let l=await e.renderer.remountDirty(a,i);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,i)==="reload")return"reload";return t(`[Rip] applied ${a.join(", ")} — update`),"update"}}}var Gc=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,s,i,n,a,o,l,c,h,f,u,d,p,m,g,b=Gc(e);if(typeof Bun<"u"&&Bun.CryptoHasher!=null)return new Uint8Array(new Bun.CryptoHasher("sha256").update(b).digest());let S=[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],w=b.length*8,R=new Uint8Array(b.length+9+63&-64);R.set(b),R[b.length]=128;let T=new DataView(R.buffer);T.setUint32(R.length-4,w>>>0,!1),T.setUint32(R.length-8,Math.floor(w/4294967296)>>>0,!1);let j=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],M=function(W,G){return W>>>G|W<<32-G},x=new Uint32Array(64),A=0;while(A>>3,p=M(x[W-2],17)^M(x[W-2],19)^x[W-2]>>>10,x[W]=x[W-16]+d+x[W-7]+p>>>0;[s,i,n,o,l,c,h,f]=j;for(let W=0;W<64;W++)r=M(l,6)^M(l,11)^M(l,25),a=l&c^~l&h,m=f+r+a+S[W]+x[W]>>>0,t=M(s,2)^M(s,13)^M(s,22),u=s&i^s&n^i&n,g=t+u>>>0,f=h,h=c,c=l,l=o+m>>>0,o=n,n=i,i=s,s=m+g>>>0;j[0]=j[0]+s>>>0,j[1]=j[1]+i>>>0,j[2]=j[2]+n>>>0,j[3]=j[3]+o>>>0,j[4]=j[4]+l>>>0,j[5]=j[5]+c>>>0,j[6]=j[6]+h>>>0,j[7]=j[7]+f>>>0,A+=64}let C=new Uint8Array(32),O=new DataView(C.buffer);for(let W=0;W<8;W++)O.setUint32(W*4,j[W],!1);return C},Mt=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("-","_")},ei=function(e){let t=JSON.stringify(e.map(function(r){return[r.id,r.hash]}));return Mt(new TextEncoder().encode(t))};var zc=function(){return globalThis.__ripStash},qc=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,s=(h)=>Array.isArray(h)&&(h.includes(r)||r.endsWith("/")&&h.includes(r+"index.html")),i=(h)=>h.headers.get("etag")||h.headers.get("last-modified")||"",n=null;fetch(location.href,{method:"HEAD",cache:"no-store"}).then((h)=>{n=i(h)}).catch(()=>{});let a=()=>{if(n===null)return;fetch(location.href,{method:"HEAD",cache:"no-store"}).then((h)=>{if(i(h)!==n)location.reload()}).catch(()=>{})},o=!1,l=0,c=()=>{let h=location.protocol==="https:"?"wss://":"ws://",f=new WebSocket(h+location.host+"/hub");f.onopen=()=>f.send('{"+":["/assets"],"?":"observe"}'),f.onmessage=(u)=>{let d;try{d=JSON.parse(u.data)}catch{return}for(let p of Array.isArray(d)?d:[d]){if(!p||typeof p!=="object"||"<"in p)continue;if("!"in p){if(o)a();o=!0,l=0}if(s(p.touched))location.reload()}},f.onclose=()=>{if(l+=1,!o&&l>=6)return;setTimeout(c,Math.min(8000,500*2**(l-1)))},f.onerror=()=>{}};c()})();var{__hmrEmit:Xc}=Nt;function Ns(e,t={}){if(t.face==="ts")throw Error("rip: TypeScript face is unavailable in the browser");return Aa(e,{...t,face:"js"})}var m2={intrinsics:pr,stdlib:gr,schema:Er,reactive:Ar,components:Nt},p2=Object.freeze({...pr,...gr,...Er,...Ar,...Nt}),Jc=Object.freeze({rash:Mt,check:ei}),g2=Object.freeze({"rip/app":ti,"rip/app/rash":Jc});var Zc=new Map(Object.keys(m2).map((e)=>[new URL(`./runtime/${e}.js`,import.meta.url).pathname,e])),Qc=/(?:^|\/)src\/runtime\/(intrinsics|stdlib|schema|reactive|components)\.js$/,ri="__ripModuleBridge",e4=(e)=>e.slice(1,-1),c2=(e,t)=>{let r=e.split("/").slice(0,-1);for(let s of t.split("/")){if(s===""||s===".")continue;if(s===".."){if(!r.length)return null;r.pop()}else r.push(s)}return r.join("/")},h2=(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 b2({components:e,embeddedPackages:t={},debug:r=!1,hmr:s=!1}={}){if(!e||typeof e.read!=="function")throw TypeError("rip: createModuleLoader requires a component registry");let i=new Map,n=new Map,a=new Map,o=new Map,l=new Map,c=new Set,h=(m)=>{if(typeof m==="string"&&m.startsWith("blob:")&&typeof URL?.revokeObjectURL==="function")URL.revokeObjectURL(m)},f=async()=>{let m=[...c];c.clear(),await Promise.allSettled(m.map(async(g)=>h(await g)))},u=(m,g)=>{if(a.has(m))return a.get(m);globalThis[ri]??={};let b=globalThis[ri][m];if(b&&b!==g)throw Error(`rip: two copies of embedded module '${m}' are active on one page`);globalThis[ri][m]=g;let S=[`const ns = globalThis['${ri}'][${JSON.stringify(m)}];`];for(let R of Object.keys(g))if(R==="default")S.push("export default ns['default'];");else if(/^[A-Za-z_$][\w$]*$/.test(R))S.push(`export const ${R} = ns[${JSON.stringify(R)}];`);else throw Error(`rip: embedded module '${m}' exports '${R}', which cannot cross the module bridge`);let w=h2(S.join(` +`));return a.set(m,w),w},d=(m,g)=>{let b=e4(m),S=Zc.get(b)??b.match(Qc)?.[1];if(S)return{bridge:`runtime:${S}`,namespace:m2[S]};let w=(j)=>{try{return e.exists(j)}catch{return!1}},R=b.endsWith(".rip")?"":` — did you mean '${b}.rip'?`;if(b.startsWith("./")||b.startsWith("../")){let j=c2(g,b);if(j&&w(j))return{path:j};if(!g.startsWith("rip/")){let M=c2(`app/${g}`,b),x=M?.startsWith("app/")?M.slice(4):M;if(x&&w(x))return{path:x}}throw Error(`rip: '${g}' imports '${b}', which is not in the bundle${R}`)}let T=b.match(/^rip\/([\w-]+)(?:\/(.+))?$/);if(T){if(w(b))return{path:b};let j=`rip/${T[1]}`,M=t[b];if(M)return{bridge:`package:${b}`,namespace:M};if(t[j])throw Error(`rip: '${g}' imports '${b}', which '${j}' does not export in the browser`);let x=T[2]?T[2].endsWith(".rip")?T[2]:`${T[2]}.rip`:"index.rip",A=`${j}/${x}`;if(!w(A))throw Error(`rip: '${g}' imports '${b}', but '${A}' is not in the bundle — `+"only packages declaring browser safety travel to the browser");return{path:A}}throw Error(`rip: '${g}' imports '${b}', which is not loadable in a browser — `+"server-only and unknown modules never travel to the browser")},p=(m,g)=>{if(g.includes(m))throw Error(`rip: import cycle through '${m}' (${g.join(" -> ")} -> ${m})`);if(i.has(m))return i.get(m);let b=(async()=>{let S=e.read(m);if(S===void 0)throw Error(`rip: '${m}' is not in the bundle`);let w=Ns(S,{path:m,runtimeDelivery:"import",browserModule:!0,...s?{hmr:!0}:null}),R=w.code;for(let T of[...w.imports].reverse()){let j=d(T.specifier,m);if(j.path){let x=o.get(j.path);if(!x)o.set(j.path,x=new Set);x.add(m);let A=l.get(m);if(!A)l.set(m,A=new Set);A.add(j.path)}let M=j.bridge?u(j.bridge,j.namespace):await p(j.path,[...g,m]);R=`${R.slice(0,T.start)}${JSON.stringify(M)}${R.slice(T.end)}`}if(r){let T=btoa(unescape(encodeURIComponent(JSON.stringify(w.map))));R+=` +//# sourceMappingURL=data:application/json;charset=utf-8;base64,${T}`}return h2(R)})();return i.set(m,b),b.catch(()=>i.delete(m)),b};return{async import(m){if(n.has(m))return n.get(m);let b=await import(await p(m,[]));return n.set(m,b),e.setCompiled(m,{...b}),b},invalidate(m){let g=[m],b=new Set;while(g.length){let S=g.pop();if(b.has(S))continue;if(b.add(S),i.has(S))c.add(i.get(S));i.delete(S),n.delete(S);for(let w of o.get(S)??[])g.push(w);o.delete(S);for(let w of l.get(S)??[]){let R=o.get(w);if(R?.delete(S),R?.size===0)o.delete(w)}l.delete(S)}return b},collect:f,dispose(){for(let m of i.values())c.add(m);i.clear(),n.clear(),o.clear(),l.clear();for(let m of a.values())h(m);a.clear(),f()}}}var y2=Object.keys(p2),t4=y2.map((e)=>p2[e]),r4=()=>{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))}}},i4=(e)=>{let t=e.split(` `),r=null;for(let s of t){if(!s.trim())continue;let i=s.match(/^[ \t]*/)[0];if(r===null){r=i;continue}let n=0;while(ns.trim()?s.slice(r.length):s).join(` -`)},Zc=(e)=>{try{return new URL(e,"https://rip.invalid/").href}catch{return e}};async function Mf(e=null){let t=e??Xc();await t.ready?.();let r=[],s=new Set,i=(u)=>{let d=Zc(u);if(s.has(d))throw Error(`rip: script source '${u}' is listed more than once`);s.add(d)};for(let u of t.dataSrc?.()??[])i(u),r.push({label:u,text:null,url:u});let n=0;for(let u of t.scripts?.()??[])if(n+=1,u.src)i(u.src),r.push({label:u.src,text:null,url:u.src});else r.push({label:``,text:Jc(u.text??"")});let a=[],o=(u,d)=>{a.push({label:u,error:d}),t.report?.(d)},l=[];for(let u of r){if(u.text!==null){l.push(u);continue}if(typeof t.fetchText!=="function")throw Error("rip: this host loads script sources by URL but provides no fetchText");try{l.push({...u,text:await t.fetchText(u.url)})}catch(d){o(u.label,Error(`rip: failed to load '${u.label}': ${d.message}`))}}let c=l,f=null;while(c.length){let u=[],d=1,p=[];for(let m of c){u.push({source:m,start:d});let g=m.text.endsWith(` +`)},s4=(e)=>{try{return new URL(e,"https://rip.invalid/").href}catch{return e}};async function Vh(e=null){let t=e??r4();await t.ready?.();let r=[],s=new Set,i=(u)=>{let d=s4(u);if(s.has(d))throw Error(`rip: script source '${u}' is listed more than once`);s.add(d)};for(let u of t.dataSrc?.()??[])i(u),r.push({label:u,text:null,url:u});let n=0;for(let u of t.scripts?.()??[])if(n+=1,u.src)i(u.src),r.push({label:u.src,text:null,url:u.src});else r.push({label:``,text:i4(u.text??"")});let a=[],o=(u,d)=>{a.push({label:u,error:d}),t.report?.(d)},l=[];for(let u of r){if(u.text!==null){l.push(u);continue}if(typeof t.fetchText!=="function")throw Error("rip: this host loads script sources by URL but provides no fetchText");try{l.push({...u,text:await t.fetchText(u.url)})}catch(d){o(u.label,Error(`rip: failed to load '${u.label}': ${d.message}`))}}let c=l,h=null;while(c.length){let u=[],d=1,p=[];for(let m of c){u.push({source:m,start:d});let g=m.text.endsWith(` `)?m.text.slice(0,-1):m.text;p.push(g),d+=g.split(` -`).length}try{f=Nn(p.join(` -`),{path:"",runtimeDelivery:"none",script:!0});break}catch(m){let g=u[0];for(let w of u)if(typeof m.line==="number"&&w.start<=m.line)g=w;let b=typeof m.line==="number"?m.line-g.start+1:null,S=Error(`rip: ${g.source.label}${b?`:${b}`:""} failed to compile: ${m.message}`);S.cause=m,S.line=b,S.col=m.col,o(g.source.label,S),c=c.filter((w)=>w!==g.source),f=null}}let h=!1;if(f){let u=`'use strict'; +`).length}try{h=Ns(p.join(` +`),{path:"",runtimeDelivery:"none",script:!0});break}catch(m){let g=u[0];for(let w of u)if(typeof m.line==="number"&&w.start<=m.line)g=w;let b=typeof m.line==="number"?m.line-g.start+1:null,S=Error(`rip: ${g.source.label}${b?`:${b}`:""} failed to compile: ${m.message}`);S.cause=m,S.line=b,S.col=m.col,o(g.source.label,S),c=c.filter((w)=>w!==g.source),h=null}}let f=!1;if(h){let u=`'use strict'; return (async () => { -${f.code} -})();`,d=null;try{d=t.prepare(u,p2)}catch(p){let m=Error("rip: script evaluation is blocked by Content Security Policy — running Rip from script tags requires 'unsafe-eval' "+"(script-src). Serve precompiled JavaScript or relax the policy for this page.");m.cause=p,o("",m)}if(d)try{await d(...qc),h=!0}catch(p){o("",p)}}return{count:c.length,executed:h,failures:a}}var Qc="data-rip-hmr-overlay",et=null,l2=(e)=>{if(e==null)return"Unknown update failure";if(typeof e==="string")return e;return e.message||e.stack||String(e)},c2=(e)=>{if(e==null||typeof e!=="object")return null;if(typeof e.path==="string"&&e.path)return e.path;if(typeof e.file==="string"&&e.file)return e.file;return null};function f2(e,t){if(typeof document>"u"||typeof document.createElement!=="function")return null;let r=document.body||document.documentElement;if(!r)return null;ve();let s=document.createElement("div");s.setAttribute(Qc,e||"compile"),s.setAttribute("role","alert"),s.style.cssText=["position:fixed","inset:0","z-index:2147483646","display:flex","align-items:flex-start","justify-content:center","padding:2rem 1rem","box-sizing:border-box","background:rgba(15,23,42,0.45)","overflow:auto"].join(";");let i=document.createElement("div");i.style.cssText="position:relative;max-width:52rem;width:100%";let n=document.createElement("pre");n.style.cssText=["margin:0","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"].join(";");let a=e==="activate"?"Rip: update failed to activate":"Rip: update failed to compile",o=c2(t),l=o?`${a} +${h.code} +})();`,d=null;try{d=t.prepare(u,y2)}catch(p){let m=Error("rip: script evaluation is blocked by Content Security Policy — running Rip from script tags requires 'unsafe-eval' "+"(script-src). Serve precompiled JavaScript or relax the policy for this page.");m.cause=p,o("",m)}if(d)try{await d(...t4),f=!0}catch(p){o("",p)}}return{count:c.length,executed:f,failures:a}}var n4="data-rip-hmr-overlay",et=null,f2=(e)=>{if(e==null)return"Unknown update failure";if(typeof e==="string")return e;return e.message||e.stack||String(e)},u2=(e)=>{if(e==null||typeof e!=="object")return null;if(typeof e.path==="string"&&e.path)return e.path;if(typeof e.file==="string"&&e.file)return e.file;return null};function d2(e,t){if(typeof document>"u"||typeof document.createElement!=="function")return null;let r=document.body||document.documentElement;if(!r)return null;ve();let s=document.createElement("div");s.setAttribute(n4,e||"compile"),s.setAttribute("role","alert"),s.style.cssText=["position:fixed","inset:0","z-index:2147483646","display:flex","align-items:flex-start","justify-content:center","padding:2rem 1rem","box-sizing:border-box","background:rgba(15,23,42,0.45)","overflow:auto"].join(";");let i=document.createElement("div");i.style.cssText="position:relative;max-width:52rem;width:100%";let n=document.createElement("pre");n.style.cssText=["margin:0","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"].join(";");let a=e==="activate"?"Rip: update failed to activate":"Rip: update failed to compile",o=u2(t),l=o?`${a} ${o} `:`${a} -`;n.textContent=l+l2(t);let c=document.createElement("button");c.type="button",c.textContent="Dismiss",c.style.cssText=["position:absolute","top:0.5rem","right:0.5rem","padding:0.4rem 0.75rem","font:12px/1.2 system-ui,sans-serif","color:#0f172a","background:#fff","border:1px solid #cbd5e1","border-radius:6px","cursor:pointer"].join(";"),c.addEventListener("click",()=>ve()),i.appendChild(n),i.appendChild(c),s.appendChild(i),s.addEventListener("click",(h)=>{if(h.target===s)ve()});let f=(h)=>{if(h.key==="Escape")ve()};if(s._ripOnKey=f,typeof document.addEventListener==="function")document.addEventListener("keydown",f);return r.appendChild(s),et=s,Hc("reject",{kind:e||"compile",path:c2(t),message:l2(t).slice(0,500)}),s}function ve(){if(!et)return;let e=et._ripOnKey;if(e&&typeof document<"u"&&typeof document.removeEventListener==="function")document.removeEventListener("keydown",e);et.remove?.(),et=null}function jf(){return et}var{validatePrepared:e4}=ti,g2=(e)=>e!==null&&typeof e==="object"&&!Array.isArray(e),_n=(e)=>typeof e==="string"&&/^[A-Za-z0-9_]{6}$/.test(e),b2=(e,t=!1)=>{if(typeof e!=="string"||e.length===0||e.startsWith("/")||e.includes("\\"))return!1;let r=e.split("/");if(r.some((s)=>!s||s==="."||s===".."||s.startsWith(".")))return!1;if(t){let s=r.at(-1);if(s===".rip"||!s.endsWith(".rip")||r.slice(0,-1).some((i)=>i.endsWith(".rip")))return!1}return!0},y2=(e,t)=>{let r=Object.keys(e).sort(),s=[...t].sort();return r.length===s.length&&r.every((i,n)=>i===s[n])},t4=(e)=>{if(!g2(e)||!y2(e,["hash","list"])||!_n(e.hash)||!Array.isArray(e.list))throw Error("rip: bundle must contain exactly one hash and one source list");let t={},r=null;for(let s of e.list){if(!Array.isArray(s)||s.length!==2||!b2(s[0],!0)||typeof s[1]!=="string"||r!==null&&r>=s[0])throw Error(`rip: bundle has a malformed or unsorted source entry: ${JSON.stringify(s)}`);if(s[0]==="rip/app"||s[0].startsWith("rip/app/"))throw Error(`rip: bundle source '${s[0]}' collides with embedded package 'rip/app'`);r=s[0],t[s[0]]=s[1]}return t},r4=(e)=>{if(!g2(e)||!y2(e,["from","hash","list"])||!_n(e.from)||!_n(e.hash)||!Array.isArray(e.list))throw Error("rip: publication change must contain exactly from, hash, and list");let t=null,r=[];for(let s of e.list){if(!Array.isArray(s)||s.length<1||s.length>2||!b2(s[0])||t!==null&&t>=s[0])throw Error(`rip: publication change has a malformed or unsorted entry: ${JSON.stringify(s)}`);let[i]=s,n=s.length===2&&s[1]===null;if(i.endsWith(".rip")){if(s.length!==2||!n&&typeof s[1]!=="string")throw Error(`rip: Rip change '${i}' must carry source or null`)}else if(s.length===2&&!n)throw Error(`rip: ordinary asset change '${i}' cannot carry content`);t=i,r.push({path:i,source:s[1],deletion:n})}return{from:e.from,hash:e.hash,entries:r}},i4=async(e)=>{let t=await fetch(e);if(!t.ok)throw Error(`rip: failed to fetch bundle '${e}': ${t.status} ${t.statusText}`);return t.text()};async function n4(e,{fetchText:t=i4}={}){if(!e)throw Error("rip: fetchBundle requires a url");let r=await t(e),s=typeof r==="string"?r:r?.text;if(typeof s!=="string")throw Error(`rip: bundle '${e}' fetch did not return text`);try{return JSON.parse(s)}catch(i){throw Error(`rip: bundle '${e}' is not valid JSON: ${i.message}`)}}var s4=(e,t,{hmr:r=!1}={})=>{let s=new Map(Object.entries(e)),i=new Map,a=m2({components:{read:(o)=>s.get(o),exists:(o)=>s.has(o),getCompiled:(o)=>i.get(o),setCompiled:(o,l)=>void i.set(o,l)},embeddedPackages:d2,debug:t,hmr:r});return{sources(o){s=new Map(Object.entries(o))},async compile(o=[]){let l=new Set;for(let c of o)for(let f of a.invalidate(c))l.add(f);try{let c={};for(let f of s.keys())if(!f.startsWith("rip/"))c[f]={...await a.import(f)};return{compiled:c,invalidated:[...l]}}finally{await a.collect()}},dispose:()=>a.dispose()}},a4=(e,t)=>{let r=e.split("?")[0];return`${r.slice(0,r.lastIndexOf("/")+1)}${t}`};async function Ff(e={}){if(!e.bundle&&!e.url)throw Error("rip: bootApp requires a bundle or a url");let t=e.bundle??await n4(e.url,{fetchText:e.fetchText}),r=t4(t),s=e.debug===!0,i=e.watch===!0||e.feed!=null,n=s4(r,s,{hmr:i}),a=Xr(),o=(L)=>L["seed.rip"]?.seed,l=(L)=>zr({bundle:{compiled:L,seed:o(L)},components:a,target:e.target,adapter:e.adapter,base:e.base,hash:e.hash,persist:e.persist,storage:e.storage,onError:e.onError}),c;try{let{compiled:L}=await n.compile();a.activate({hash:t.hash,sources:r,compiled:L}),c=l(L)}catch(L){throw n.dispose(),L}let f=null,h=!1,u={},d=e.feed?.report??((...L)=>console.error(...L)),p=e.feed?.report??((...L)=>console.info(...L)),m=(L)=>{if(ve(),p(`[Rip] reloading${L?` — ${L}`:""}`),typeof e.reload==="function")e.reload(L);else if(typeof location<"u")location.reload()},g=(L)=>{if(typeof document>"u"||typeof document.querySelectorAll!=="function")return[];let P=new Set,N=new URL(typeof location>"u"?"http://rip.invalid/":location.href),D=new URL("/",N);D.pathname=`/${L.replaceAll("%","%25")}`;let O=D.pathname;for(let W of document.querySelectorAll('link[rel="stylesheet"]')){let H=W.getAttribute("data-rip-css")===L;if(H)P.add(W);let G=W.getAttribute("href")||"";if(!G)continue;let k;try{k=new URL(G,N)}catch{continue}if(!H&&k.origin===N.origin&&(k.pathname===O||k.pathname.endsWith(O)))P.add(W)}return[...P]},b=(L,P)=>{for(let N of g(L)){let D=N.getAttribute("href")||N.href,O=D.indexOf("#"),W=O<0?"":D.slice(O),G=(O<0?D:D.slice(0,O)).split("?")[0];N.setAttribute("href",`${G}?hash=${encodeURIComponent(P)}${W}`),N.disabled=!1}},S=Qr({renderer:{remountDirty:(L,P)=>c.renderer.remountDirty(L,P)},escape:async()=>"reload",report:p}),w=new Set,R=async(L)=>{let P;try{P=r4(L)}catch(U){return d("[Rip] malformed publication change:",U),"reload"}if(a.hash()===P.hash)return w.clear(),ve(),!0;if(w.has(P.hash))return!0;let N=P.from;if(a.hash()!==P.from)if(w.has(P.from))N=a.hash();else return"reload";let D=()=>Object.fromEntries(a.listAll().map((U)=>[U,a.read(U)])),O=D(),W=[];for(let U of P.entries){if(!U.path.endsWith(".rip"))continue;if(W.push(U.path),U.deletion)delete O[U.path];else O[U.path]=U.source}let H,G;try{n.sources(O);let U=await n.compile(W);H=U.compiled,G=U.invalidated.filter((r1)=>!r1.startsWith("rip/")),e4({compiled:H,seed:o(H)})}catch(U){return n.sources(D()),w.add(P.hash),d("[Rip] changed Rip program failed to compile:",U),f2("compile",U),"rejected"}let k=P.entries.some((U)=>!U.path.endsWith(".rip")&&(!U.path.endsWith(".css")||U.deletion)),v=c.router.current,j=new Set([...v?.layouts??v?.route?.layouts??[],v?.route?.file].filter(Boolean)),X=P.entries.some((U)=>U.deletion&&U.path.endsWith(".rip")&&j.has(U.path));if(k||X)return n.sources(D()),"reload";let x=null,Z=!1;try{x=a.stage(N,{hash:P.hash,sources:O,compiled:H},W);let U=G.length?await S.absorb(G,x.components):"ignore";x.commit(),Z=!0,w.clear();for(let r1 of P.entries)if(r1.path.endsWith(".css"))b(r1.path,P.hash);if(ve(),U==="reload")return p("[Rip] committed App update requires a document reload"),"reload";return!0}catch(U){if(x&&!Z)x.rollback();return n.sources(D()),w.add(P.hash),d("[Rip] changed Rip program failed to activate:",U),f2("activate",U),"rejected"}};if(i){let L=e.latestUrl??e.feed?.latestUrl??(e.url?a4(e.url,"latest.json"):"/latest.json");f=Zr({hash:()=>a.hash(),apply:R,reload:m},{...e.feed??{},latestUrl:L,report:d})}return Object.assign(u,c,{workspace:a,feed:f,destroy:()=>{if(h)return;h=!0,ve(),f?.close(),c.destroy(),n.dispose()}})}function Bf(e={}){return m2({...e,embeddedPackages:{...d2,...e.embeddedPackages}})}function Uf(e,t={}){if(t.runtimeDelivery!==void 0&&t.runtimeDelivery!=="none")throw Error(`rip: browser compilation delivers runtimes by scope; runtimeDelivery '${t.runtimeDelivery}' is not available here`);return Nn(e,{...t,runtimeDelivery:"none"})}export{ti as app,Ff as bootApp,ve as clearHmrOverlay,Nn as compile,Uf as compileToJS,Bf as createModuleLoader,d2 as embeddedPackages,n4 as fetchBundle,jf as hmrOverlayElement,Mf as processRipScripts,u2 as runtimes,f2 as showHmrOverlay}; +`;n.textContent=l+f2(t);let c=document.createElement("button");c.type="button",c.textContent="Dismiss",c.style.cssText=["position:absolute","top:0.5rem","right:0.5rem","padding:0.4rem 0.75rem","font:12px/1.2 system-ui,sans-serif","color:#0f172a","background:#fff","border:1px solid #cbd5e1","border-radius:6px","cursor:pointer"].join(";"),c.addEventListener("click",()=>ve()),i.appendChild(n),i.appendChild(c),s.appendChild(i),s.addEventListener("click",(f)=>{if(f.target===s)ve()});let h=(f)=>{if(f.key==="Escape")ve()};if(s._ripOnKey=h,typeof document.addEventListener==="function")document.addEventListener("keydown",h);return r.appendChild(s),et=s,Xc("reject",{kind:e||"compile",path:u2(t),message:f2(t).slice(0,500)}),s}function ve(){if(!et)return;let e=et._ripOnKey;if(e&&typeof document<"u"&&typeof document.removeEventListener==="function")document.removeEventListener("keydown",e);et.remove?.(),et=null}function Wh(){return et}var{validatePrepared:a4}=ti,S2=(e)=>e!==null&&typeof e==="object"&&!Array.isArray(e),_s=(e)=>typeof e==="string"&&/^[A-Za-z0-9_]{6}$/.test(e),R2=(e,t=!1)=>{if(typeof e!=="string"||e.length===0||e.startsWith("/")||e.includes("\\"))return!1;let r=e.split("/");if(r.some((s)=>!s||s==="."||s===".."||s.startsWith(".")))return!1;if(t){let s=r.at(-1);if(s===".rip"||!s.endsWith(".rip")||r.slice(0,-1).some((i)=>i.endsWith(".rip")))return!1}return!0},E2=(e,t)=>{let r=Object.keys(e).sort(),s=[...t].sort();return r.length===s.length&&r.every((i,n)=>i===s[n])},o4=(e)=>{if(!S2(e)||!E2(e,["hash","list"])||!_s(e.hash)||!Array.isArray(e.list))throw Error("rip: bundle must contain exactly one hash and one source list");let t={},r=null;for(let s of e.list){if(!Array.isArray(s)||s.length!==2||!R2(s[0],!0)||typeof s[1]!=="string"||r!==null&&r>=s[0])throw Error(`rip: bundle has a malformed or unsorted source entry: ${JSON.stringify(s)}`);if(s[0]==="rip/app"||s[0].startsWith("rip/app/"))throw Error(`rip: bundle source '${s[0]}' collides with embedded package 'rip/app'`);r=s[0],t[s[0]]=s[1]}return t},l4=(e)=>{if(!S2(e)||!E2(e,["from","hash","list"])||!_s(e.from)||!_s(e.hash)||!Array.isArray(e.list))throw Error("rip: publication change must contain exactly from, hash, and list");let t=null,r=[];for(let s of e.list){if(!Array.isArray(s)||s.length<1||s.length>2||!R2(s[0])||t!==null&&t>=s[0])throw Error(`rip: publication change has a malformed or unsorted entry: ${JSON.stringify(s)}`);let[i]=s,n=s.length===2&&s[1]===null;if(i.endsWith(".rip")){if(s.length!==2||!n&&typeof s[1]!=="string")throw Error(`rip: Rip change '${i}' must carry source or null`)}else if(s.length===2&&!n)throw Error(`rip: ordinary asset change '${i}' cannot carry content`);t=i,r.push({path:i,source:s[1],deletion:n})}return{from:e.from,hash:e.hash,entries:r}},c4=async(e)=>{let t=await fetch(e);if(!t.ok)throw Error(`rip: failed to fetch bundle '${e}': ${t.status} ${t.statusText}`);return t.text()};async function h4(e,{fetchText:t=c4}={}){if(!e)throw Error("rip: fetchBundle requires a url");let r=await t(e),s=typeof r==="string"?r:r?.text;if(typeof s!=="string")throw Error(`rip: bundle '${e}' fetch did not return text`);try{return JSON.parse(s)}catch(i){throw Error(`rip: bundle '${e}' is not valid JSON: ${i.message}`)}}var f4=(e,t,{hmr:r=!1}={})=>{let s=new Map(Object.entries(e)),i=new Map,a=b2({components:{read:(o)=>s.get(o),exists:(o)=>s.has(o),getCompiled:(o)=>i.get(o),setCompiled:(o,l)=>void i.set(o,l)},embeddedPackages:g2,debug:t,hmr:r});return{sources(o){s=new Map(Object.entries(o))},async compile(o=[]){let l=new Set;for(let c of o)for(let h of a.invalidate(c))l.add(h);try{let c={};for(let h of s.keys())if(!h.startsWith("rip/"))c[h]={...await a.import(h)};return{compiled:c,invalidated:[...l]}}finally{await a.collect()}},dispose:()=>a.dispose()}},u4=(e,t)=>{let r=e.split("?")[0];return`${r.slice(0,r.lastIndexOf("/")+1)}${t}`};async function Hh(e={}){if(!e.bundle&&!e.url)throw Error("rip: bootApp requires a bundle or a url");let t=e.bundle??await h4(e.url,{fetchText:e.fetchText}),r=o4(t),s=e.debug===!0,i=e.watch===!0||e.feed!=null,n=f4(r,s,{hmr:i}),a=Xr(),o=(M)=>M["seed.rip"]?.seed,l=(M)=>zr({bundle:{compiled:M,seed:o(M)},components:a,target:e.target,adapter:e.adapter,base:e.base,hash:e.hash,persist:e.persist,storage:e.storage,onError:e.onError}),c;try{let{compiled:M}=await n.compile();a.activate({hash:t.hash,sources:r,compiled:M}),c=l(M)}catch(M){throw n.dispose(),M}let h=null,f=!1,u={},d=e.feed?.report??((...M)=>console.error(...M)),p=e.feed?.report??((...M)=>console.info(...M)),m=(M)=>{if(ve(),p(`[Rip] reloading${M?` — ${M}`:""}`),typeof e.reload==="function")e.reload(M);else if(typeof location<"u")location.reload()},g=(M)=>{if(typeof document>"u"||typeof document.querySelectorAll!=="function")return[];let x=new Set,A=new URL(typeof location>"u"?"http://rip.invalid/":location.href),C=new URL("/",A);C.pathname=`/${M.replaceAll("%","%25")}`;let O=C.pathname;for(let W of document.querySelectorAll('link[rel="stylesheet"]')){let G=W.getAttribute("data-rip-css")===M;if(G)x.add(W);let Y=W.getAttribute("href")||"";if(!Y)continue;let k;try{k=new URL(Y,A)}catch{continue}if(!G&&k.origin===A.origin&&(k.pathname===O||k.pathname.endsWith(O)))x.add(W)}return[...x]},b=(M,x)=>{for(let A of g(M)){let C=A.getAttribute("href")||A.href,O=C.indexOf("#"),W=O<0?"":C.slice(O),Y=(O<0?C:C.slice(0,O)).split("?")[0];A.setAttribute("href",`${Y}?hash=${encodeURIComponent(x)}${W}`),A.disabled=!1}},S=Qr({renderer:{remountDirty:(M,x)=>c.renderer.remountDirty(M,x)},escape:async()=>"reload",report:p}),w=new Set,R=async(M)=>{let x;try{x=l4(M)}catch(F){return d("[Rip] malformed publication change:",F),"reload"}if(a.hash()===x.hash)return w.clear(),ve(),!0;if(w.has(x.hash))return!0;let A=x.from;if(a.hash()!==x.from)if(w.has(x.from))A=a.hash();else return"reload";let C=()=>Object.fromEntries(a.listAll().map((F)=>[F,a.read(F)])),O=C(),W=[];for(let F of x.entries){if(!F.path.endsWith(".rip"))continue;if(W.push(F.path),F.deletion)delete O[F.path];else O[F.path]=F.source}let G,Y;try{n.sources(O);let F=await n.compile(W);G=F.compiled,Y=F.invalidated.filter((e1)=>!e1.startsWith("rip/")),a4({compiled:G,seed:o(G)})}catch(F){return n.sources(C()),w.add(x.hash),d("[Rip] changed Rip program failed to compile:",F),d2("compile",F),"rejected"}let k=x.entries.some((F)=>!F.path.endsWith(".rip")&&(!F.path.endsWith(".css")||F.deletion)),v=c.router.current,U=new Set([...v?.layouts??v?.route?.layouts??[],v?.route?.file].filter(Boolean)),Z=x.entries.some((F)=>F.deletion&&F.path.endsWith(".rip")&&U.has(F.path));if(k||Z)return n.sources(C()),"reload";let P=null,X=!1;try{P=a.stage(A,{hash:x.hash,sources:O,compiled:G},W);let F=Y.length?await S.absorb(Y,P.components):"ignore";P.commit(),X=!0,w.clear();for(let e1 of x.entries)if(e1.path.endsWith(".css"))b(e1.path,x.hash);if(ve(),F==="reload")return p("[Rip] committed App update requires a document reload"),"reload";return!0}catch(F){if(P&&!X)P.rollback();return n.sources(C()),w.add(x.hash),d("[Rip] changed Rip program failed to activate:",F),d2("activate",F),"rejected"}};if(i){let M=e.latestUrl??e.feed?.latestUrl??(e.url?u4(e.url,"latest.json"):"/latest.json");h=Zr({hash:()=>a.hash(),apply:R,reload:m},{...e.feed??{},latestUrl:M,report:d})}return Object.assign(u,c,{workspace:a,feed:h,destroy:()=>{if(f)return;f=!0,ve(),h?.close(),c.destroy(),n.dispose()}})}function Kh(e={}){return b2({...e,embeddedPackages:{...g2,...e.embeddedPackages}})}function Gh(e,t={}){if(t.runtimeDelivery!==void 0&&t.runtimeDelivery!=="none")throw Error(`rip: browser compilation delivers runtimes by scope; runtimeDelivery '${t.runtimeDelivery}' is not available here`);return Ns(e,{...t,runtimeDelivery:"none"})}export{ti as app,Hh as bootApp,ve as clearHmrOverlay,Ns as compile,Gh as compileToJS,Kh as createModuleLoader,g2 as embeddedPackages,h4 as fetchBundle,Wh as hmrOverlayElement,Vh as processRipScripts,p2 as runtimes,d2 as showHmrOverlay}; diff --git a/dist/@rip/rip.min.js.br b/dist/@rip/rip.min.js.br index da62a5f1..5f169e57 100644 Binary files a/dist/@rip/rip.min.js.br and b/dist/@rip/rip.min.js.br differ diff --git a/docs/HMR.md b/docs/HMR.md index 406bac97..ff4875e8 100644 --- a/docs/HMR.md +++ b/docs/HMR.md @@ -259,6 +259,25 @@ These are load-bearing invariants, not folklore: gone before the rebuilt view can claim it. The pool drains at the end of the parent's setup and on any teardown, so a claim can only land during the rebuild and nothing outlives it. +8. **A rebuilt child rebinds the part that adopted it.** Under + `asChild` a part's host is its child's root element, so a child's + patch replaces the part's host. After its own setup the child hands + the new root to the adopting part through `_setChildren`, and the + part rehosts: released as a patch releases it but with the DOM kept, + since the host's place is the child's, then rebuilt by the ordinary + create/setup path, which adopts the new element; a part above that + adopted this one's root rebinds in turn. A patch of an adopting part + itself keeps the host in place for the same reason: it releases + without detaching and skips the reinsertion. +9. **A changed module's importers patch with it.** A parent's `@event` + binding on a child component is a listener the parent's own + `_create` adds to the child's root, and a child's patch replaces + that root. The binding survives a child edit only because the + applier patches every module the loader's invalidation walk reaches, + the child first and each importer after it, so the parent's rebuild + attaches the listener to the new root. A patch of a child alone + (`__hmrPatch` on the child instance with its importers untouched) + leaves the binding on the detached root. --- diff --git a/docs/TYPES.md b/docs/TYPES.md index f16ea82d..0b0179f4 100644 --- a/docs/TYPES.md +++ b/docs/TYPES.md @@ -228,7 +228,9 @@ A component's name at a USE site hovers the component's signature — `component A component body has two kinds of name. The names it declares — state, computed, readonly, methods, gates, and props at their reads — resolve bare, and `@name` is the same read spelled through the instance: it never shadows, so it is the spelling to reach for when a local carries the member's name. The names it is provided — `stash`, `router`, `params`, `query`, and under `extends` the `rest` view of the undeclared caller props — appear nowhere in the body, so they take the sigil alone: `@stash`, `@router`, `@params`, `@query`, `@rest`. The runtime fields never resolve bare because they are not members; a bare `rest` inside an `extends` component is rejected by the emitter, while a local the author binds as `rest` is their own name and stays bare. A caller may pass an undeclared key a value or a reactive name (`Btn disabled: busy`): the props surface admits either, and the name's container may hold `undefined` as the value may; a read of the view answers the value and tracks the name, so `@rest.disabled is true` and `@rest.id ?? mint()` mean what they say however the caller spelled it. A declared prop with a default is the one slot whose container holds the value alone: its default fills an omission, a caller's `undefined` reaches the member past it, and a caller-supplied container that may hold `undefined` is refused, since the member reads as `T` inside. The refusal is stricter than the runtime, and stands: the runtime admitting a cell it would then read past the default is the same lie under another name. The view is also never assigned: it reads through the map the runtime forwards from, so the emitter rejects every write that reaches it — `@rest` itself, any chain rooted there, and the same shapes inside a destructuring pattern; a value the caller should see is set on the element in render or declared as a prop. The view is typed as the tag's passthrough object — each attribute under its own spelling, typed through the tag's DOM interface, plus the `data-`/`aria-` templates, never a catch-all — named on the face through a per-tag alias the editor shows as `Rest` and spelled inline in the shipped declarations, so `@rest.disabled` on a `button` is `boolean | undefined` and hovers `(rest) rest: Rest'); + expect(host.childNodes.map((n) => n.nodeType)).toEqual([3]); + host.dispatchEvent({ type: 'click', bubbles: false }); + expect(host.getAttribute('aria-expanded')).toBe('true'); + expect(app.clicks.value).toBe(1); + expect(host.getAttribute('asChild')).toBeNull(); + expect(part._rest.asChild).toBe(true); + expect(part._asChild).toBe(true); + }); + + test('the line\'s keys stay the line\'s under the mode: a rest value for one is refused at mount and on update', () => { + const { Part } = load(PART, 'Part'); + const span = document.createElement('span'); + const part = new Part({ asChild: true, children: span, type: 'submit' }); + part.mount(document.createElement('main')); + expect(span.getAttribute('type')).toBe('button'); + part._updateProp('type', 'reset'); + expect(span.getAttribute('type')).toBe('button'); + part._updateProp('title', 'later'); + expect(span.getAttribute('title')).toBe('later'); + }); + + test('without the mode the same part builds its own tag and projects the child into it: byte-identical DOM to the rule before the mode', () => { + const { App, Part } = load(`${PART} +${BUTTON('a')} +export App = component + render + div + Part id: 'x' + Button 'Go' +`, 'App, Part'); + const target = document.createElement('main'); + new App({}).mount(target); + expect(serialize(target)).toBe('
'); + expect(new Part({}).rest.value.asChild).toBeUndefined(); + }); + + test('one element or a throw naming the part: a fragment, text, a comment, and no body are refused at mount', () => { + const { Part } = load(PART, 'Part'); + const mount = (children) => () => new Part({ asChild: true, children }).mount(document.createElement('main')); + const frag = document.createDocumentFragment(); + frag.appendChild(document.createElement('i')); + frag.appendChild(document.createElement('b')); + expect(mount(frag)).toThrow('Part: asChild renders the projected element as the host, so the body must be exactly one element — got a fragment of 2 nodes'); + expect(mount(document.createTextNode('x'))).toThrow('got text'); + expect(mount(document.createComment('rip:child-error: Button'))).toThrow('got a comment'); + expect(mount(undefined)).toThrow('got nothing'); + // The failed mount rolled back: the instance is terminal. + const failed = new Part({ asChild: true }); + expect(() => failed.mount(document.createElement('main'))).toThrow('got nothing'); + expect(failed._state).toBe('failed'); + }); + + test('asChild is fixed at construction: a container or a non-boolean is refused there, an update is refused, and a declared prop of the name rejects at compile', () => { + const { Part } = load(PART, 'Part'); + expect(() => new Part({ asChild: RT.__state(true) })).toThrow('Part: asChild takes true or nothing, fixed at construction — got a reactive value'); + expect(() => new Part({ asChild: 'yes' })).toThrow('got string yes'); + const part = new Part({ asChild: true, children: document.createElement('span') }); + part.mount(document.createElement('main')); + expect(() => part._updateProp('asChild', false)).toThrow('Part: asChild is fixed at construction and takes no update'); + expect(() => fullCompile('P = component extends button\n @asChild?: boolean\n render\n button\n slot\n', { path: 'p.rip', runtimeDelivery: 'none' })) + .toThrow("cannot declare a prop named 'asChild'"); + }); + + test('a rebuilt child rebinds: the part\'s writers leave the old element and land on the new one, the ref follows, and the cascade reaches a part adopted above', () => { + const { target, app, button, part } = mountApp('a'); + const host = part._inheritedEl; + host.dispatchEvent({ type: 'click', bubbles: false }); + expect(host.getAttribute('aria-expanded')).toBe('true'); + const next = load(APP('b'), 'App, Part, Button'); + expect(RT.__hmrClassify(button.constructor, next.Button)).toBe('patch'); + RT.__hmrPatch(button, next.Button); + const host2 = button._root; + expect(host2).not.toBe(host); + expect(part._inheritedEl).toBe(host2); + expect(part._root).toBe(host2); + expect(part.el.value).toBe(host2); + expect(serialize(target)).toBe('
'); + // The setup effect writes the new element only; the old one is inert. + part.open.value = false; + expect(host2.getAttribute('aria-expanded')).toBe('false'); + expect(host.getAttribute('aria-expanded')).toBe('true'); + // The line's listener moved with the view. + host2.dispatchEvent({ type: 'click', bubbles: false }); + expect(host2.getAttribute('aria-expanded')).toBe('true'); + // One rest writer per key, none leaked on the old element: a later + // rest update reaches the new host alone. + part._updateProp('title', 'moved'); + expect(host2.getAttribute('title')).toBe('moved'); + expect(host.getAttribute('title')).toBe('t'); + expect(part._state).toBe('mounted'); + // Two parts on one element: the outer part adopted the inner's root, + // and a rebuild of the child reaches both. + const nested = load(`${PART} +${BUTTON('a')} +export Outer = component extends button + render + button data-outer: 'y' + slot +export App = component + render + div + Outer asChild: true + Part asChild: true + Button 'Go' +`, 'App, Part, Button, Outer'); + const target2 = document.createElement('main'); + const app2 = new nested.App({}); + app2.mount(target2); + const [button2, part2, outer] = app2._children; + expect(outer._inheritedEl).toBe(button2._root); + expect(part2._inheritedEl).toBe(button2._root); + RT.__hmrPatch(button2, next.Button); + expect(part2._inheritedEl).toBe(button2._root); + expect(outer._inheritedEl).toBe(button2._root); + expect(serialize(target2)).toBe('
'); + }); + + test('a patch of the adopting part itself keeps the host in place and adopts it again', () => { + const { mod, target, button, part } = mountApp('a'); + const host = part._inheritedEl; + const next = load(APP('a').replace("type: 'button'", "type: 'button'\n data-v: '2'"), 'App, Part, Button'); + expect(RT.__hmrClassify(mod.Part, next.Part)).toBe('patch'); + RT.__hmrPatch(part, next.Part); + expect(part._inheritedEl).toBe(host); + expect(button._root).toBe(host); + expect(host.parentNode).toBe(target.childNodes[0]); + expect(host.getAttribute('data-v')).toBe('2'); + expect(target.childNodes[0].childNodes.length).toBe(1); + }); +}); + +// On the host line of a tag-extending component, `class` and `style` +// merge with the caller's: the emitted class effect ends with the rest +// view's `class` read, and the style effect merges by key through +// `_mergeRestStyle`, which refuses a key both sides set. Reading the +// key back through `@rest` hands it to the author. +describe('extends: the host line merges class and style with the caller\'s', () => { + const load = (src, names) => { + const { code } = fullCompile(src, { path: 'merge.rip', runtimeDelivery: 'none' }); + const body = code.replace(/^export /gm, ''); + const keys = Object.keys(RT); + return new Function(...keys, `${body}\nreturn { ${names} };`)(...keys.map((n) => RT[n])); + }; + const mount = (Cls, props) => { + const inst = new Cls(props); + const target = document.createElement('main'); + inst.mount(target); + return { inst, el: inst._inheritedEl, target }; + }; + const BTN = `export Btn = component extends button + @tone := 'plain' + render + button.base type: 'button', class: { loud: tone is 'loud' }, style: { color: 'red' } + slot +`; + + test("a caller's class lands after the line's, static or reactive, and an update through _updateProp('class') applies", () => { + const { Btn } = load(BTN, 'Btn'); + const fixed = mount(Btn, { class: 'mt-4' }); + expect(fixed.el.className).toBe('base mt-4'); + expect(fixed.inst._inheritedOwn.has('class')).toBe(true); + fixed.inst.tone.value = 'loud'; + expect(fixed.el.className).toBe('base loud mt-4'); + fixed.inst._updateProp('class', ['mb-2', { hidden: false, shown: true }]); + expect(fixed.el.className).toBe('base loud mb-2 shown'); + fixed.inst._updateProp('class', null); + expect(fixed.el.className).toBe('base loud'); + const live = RT.__state('one'); + const reactive = mount(Btn, { class: live }); + expect(reactive.el.className).toBe('base one'); + live.value = 'two'; + expect(reactive.el.className).toBe('base two'); + }); + + test("a style key from each side lands; a shared key against a literal line style throws naming the part and the key, at mount and on update", () => { + const { Btn } = load(BTN, 'Btn'); + const { inst, el } = mount(Btn, { style: { margin: '1px' } }); + expect(el.style.color).toBe('red'); + expect(el.style.margin).toBe('1px'); + inst._updateProp('style', { padding: '2px' }); + expect(el.style.padding).toBe('2px'); + expect(el.style.margin).toBe(''); + expect(el.style.color).toBe('red'); + inst._updateProp('style', null); + expect(el.style.padding).toBe(''); + expect(el.style.color).toBe('red'); + expect(() => mount(Btn, { style: { color: 'blue' } })) + .toThrow("Btn: style key 'color' is set by the host line and by the caller — a shared key is refused, never resolved by precedence"); + expect(() => inst._updateProp('style', { color: 'blue' })).toThrow("Btn: style key 'color' is set by the host line and by the caller"); + expect(() => mount(Btn, { style: 'color: blue' })).toThrow('Btn: style merges by key, and a string style has none'); + }); + + test('a shared key against a computed line style throws naming the part and the key; the rest of the object merges', () => { + const { Anchor } = load(`export Anchor = component extends div + place := { top: '1px' } + render + div style: place + slot +`, 'Anchor'); + const { inst, el } = mount(Anchor, { style: { left: '2px' } }); + expect(el.style.top).toBe('1px'); + expect(el.style.left).toBe('2px'); + inst.place.value = { top: '3px', right: '0' }; + expect(el.style.top).toBe('3px'); + expect(el.style.right).toBe('0'); + expect(el.style.left).toBe('2px'); + expect(() => mount(Anchor, { style: { top: '9px' } })) + .toThrow("Anchor: style key 'top' is set by the host line and by the caller — a shared key is refused, never resolved by precedence"); + const failed = new Anchor({ style: { top: '9px' } }); + expect(() => failed.mount(document.createElement('main'))).toThrow("style key 'top'"); + expect(failed._state).toBe('failed'); + // The line's computed value moving onto a caller's key is the same refusal. + expect(() => { inst.place.value = { left: '4px' }; }).toThrow("Anchor: style key 'left' is set by the host line and by the caller"); + }); + + test('a caller\'s class or style on a line that sets neither still rides the rest road', () => { + const { Plain } = load(`export Plain = component extends span + render + span title: 't' + slot +`, 'Plain'); + const { inst, el } = mount(Plain, { class: 'a', style: { color: 'red' } }); + expect(el.className).toBe('a'); + expect(el.style.color).toBe('red'); + inst._updateProp('class', 'b'); + inst._updateProp('style', { color: 'blue' }); + expect(el.className).toBe('b'); + expect(el.style.color).toBe('blue'); + }); + + test("a wrapper's line merges the same keys on the value it passes down, and the host merges that with its own; a shared key is loud on either line", () => { + const BASE = `export Base = component extends button + render + button.base style: { color: 'red' } + slot +`; + const { Wrap } = load(`${BASE} +export Wrap = component extends Base + tone := 'plain' + render + Base class: ['wrap', { loud: tone is 'loud' }], style: { margin: '1px' } + slot +`, 'Wrap'); + // `className` is the same key as `class` in the rest map. + const { inst, target } = mount(Wrap, { className: 'mine', style: { padding: '2px' } }); + const host = inst._inheritedInst._inheritedEl; + expect(host.className).toBe('base wrap mine'); + expect([host.style.color, host.style.margin, host.style.padding]).toEqual(['red', '1px', '2px']); + inst.tone.value = 'loud'; + inst._updateProp('class', 'yours'); + inst._updateProp('style', { top: '1px' }); + expect(host.className).toBe('base wrap loud yours'); + expect([host.style.padding, host.style.top, host.style.margin]).toEqual(['', '1px', '1px']); + expect(inst.rest.value.className).toBe('yours'); + // A key the wrapper's line sets: the wrapper's merge throws while its + // construction evaluates, which the child road reports naming the part + // and the key and leaves the failure comment in the host's place. + const failures = []; + const prev = RT.__setChildFailureReporter((name, e) => failures.push([name, e.message])); + try { + const t2 = document.createElement('main'); + new Wrap({ style: { margin: '9px' } }).mount(t2); + expect(serialize(t2)).toBe('
'); + expect(failures).toEqual([['Base', "Wrap: style key 'margin' is set by the host line and by the caller — a shared key is refused, never resolved by precedence"]]); + } finally { RT.__setChildFailureReporter(prev); } + // A key the host's line sets: the host's own merge throws at its write. + expect(() => new Wrap({ style: { color: 'blue' } }).mount(document.createElement('main'))) + .toThrow("Base: style key 'color' is set by the host line and by the caller"); + expect(() => inst._updateProp('style', { margin: '3px' })).toThrow("Wrap: style key 'margin' is set by the host line and by the caller"); + // The wrapper's line owns both spellings whichever it uses: a caller's + // `class` against a line `className` reaches the merge, never the rest road. + const { Spelled } = load(`${BASE} +export Spelled = component extends Base + render + Base className: 'wrap' + slot +`, 'Spelled'); + const s = mount(Spelled, { class: 'mine' }); + const shost = s.inst._inheritedInst._inheritedEl; + expect(shost.className).toBe('base wrap mine'); + s.inst._updateProp('class', 'yours'); + expect(shost.className).toBe('base wrap yours'); + // Manual mode on a wrapper: the list and object pass exactly as spelled. + const { Manual } = load(`${BASE} +export Manual = component extends Base + render + Base class: [@rest.class, 'last'], style: (@rest.style ?? { margin: '2px' }) + slot +`, 'Manual'); + const m = mount(Manual, { class: 'mine', style: { padding: '1px' } }); + const mhost = m.inst._inheritedInst._inheritedEl; + expect(mhost.className).toBe('base mine last'); + expect(mhost.style.margin).toBeFalsy(); + expect(mhost.style.padding).toBe('1px'); + m.inst._updateProp('style', null); + expect(mhost.style.margin).toBe('2px'); + }); + + test('manual mode: a body that reads @rest.class or @rest.style owns that key — the author\'s list and object stand alone', () => { + const { Btn } = load(`export Btn = component extends button + own := { color: 'red' } + render + button.base class: [@rest.class, 'last'], style: (@rest.style ?? own) + slot +`, 'Btn'); + const { inst, el } = mount(Btn, { class: 'mine', style: { color: 'blue' } }); + expect(el.className).toBe('base mine last'); + expect(el.style.color).toBe('blue'); + inst._updateProp('class', 'yours'); + expect(el.className).toBe('base yours last'); + inst._updateProp('style', null); + expect(el.style.color).toBe('red'); + const bare = mount(Btn, {}); + expect(bare.el.className).toBe('base last'); + expect(bare.el.style.color).toBe('red'); + }); +});