From 1c7097c7780a85d4c03e7ede9cbb5edde13ac987 Mon Sep 17 00:00:00 2001 From: Steve Shreeve Date: Tue, 22 Sep 2026 13:44:32 -0600 Subject: [PATCH] emitter: a child that fails to construct runs none of its projection's setups, so its own error is the one reported; its projected children still settle, and the reconciler refuses a list whose anchor was never placed --- dist/@rip/rip.js | 29 +++++++++++ dist/@rip/rip.min.js | 100 +++++++++++++++++++------------------ dist/@rip/rip.min.js.br | Bin 183057 -> 183135 bytes packages/tui/TODO.md | 4 -- packages/tui/test.rip | 17 +++++++ src/emitter.js | 26 ++++++++++ src/runtime/components.js | 6 +++ test/ui/components.test.js | 97 +++++++++++++++++++++++++++++++++++ 8 files changed, 226 insertions(+), 53 deletions(-) diff --git a/dist/@rip/rip.js b/dist/@rip/rip.js index 4790adc3..ae562ddb 100644 --- a/dist/@rip/rip.js +++ b/dist/@rip/rip.js @@ -17830,12 +17830,37 @@ ${this.replayPad}}` : " }"); line(() => this.b.emit(`{ const ${kidV} = ${instVar}._beginProjection(${self()}); try {`)); const outerHost = this.projectionHost; this.projectionHost = instVar; + const from = rec.setups.length; let childrenVar; try { childrenVar = projection(); } finally { this.projectionHost = outerHost; } + const guard = (setups) => ({ + kind: "raw", + node: null, + fn: (pad) => { + this.b.emit(`${pad}if (${instVar}) { +`); + this.replaySetups({ setups }, `${pad} `); + this.b.emit(`${pad}} +`); + } + }); + let run = []; + for (const s of rec.setups.splice(from)) { + if (s.latch !== true) { + run.push(s); + continue; + } + if (run.length > 0) + rec.setups.push(guard(run)); + run = []; + rec.setups.push(s); + } + if (run.length > 0) + rec.setups.push(guard(run)); line(() => this.b.emit(`} finally { ${instVar}._endProjection(${kidV}); } }`)); line(() => this.b.emit(`${instVar}._setChildren(${childrenVar});`)); } @@ -17907,6 +17932,7 @@ ${this.replayPad}}` : " }"); } rec.setups.push({ kind: "raw", + latch: true, fn: (pad) => { this.b.emit(pad); const emitLatch = () => { @@ -26271,6 +26297,9 @@ function __lis(arr) { return result; } function __reconcile(anchor, state, items, ctx, factory, keyFn, ...outer) { + if (anchor == null) { + throw new Error("__reconcile: no anchor — the list's create phase never placed one"); + } const parent = anchor.parentNode; if (!parent) return; diff --git a/dist/@rip/rip.min.js b/dist/@rip/rip.min.js index 2213f6b7..3c34ca94 100644 --- a/dist/@rip/rip.min.js +++ b/dist/@rip/rip.min.js @@ -1,31 +1,31 @@ -var g2=Object.defineProperty;var b2=(e)=>e;function y2(e,t){this[e]=b2.bind(null,t)}var Fe=(e,t)=>{for(var r in t)g2(e,r,{get:t[r],enumerable:!0,configurable:!0,set:y2.bind(t,r)})};class ge{constructor(e,t=""){this.path=t,this.text=e;let r=[0];for(let n=0;nthis.text.length)e=this.text.length;let t=this.lineStarts,r=0,n=t.length-1;while(r<=n){let i=r+n>>1;if(t[i]<=e)r=i+1;else n=i-1}return{line:n,col:e-t[n]}}offsetAt(e,t){if(e<0)return 0;if(e>=this.lineStarts.length)return this.text.length;let r=this.lineStarts[e],n=e+1r&&this.text.charCodeAt(n-1)===13)n--;let i=r+Math.max(0,t);return i>n?n:i}slice(e,t){return this.text.slice(e,t)}}var Z={on:!1,n:0},Tn=()=>{if(Z.on=typeof process<"u"&&!!process.env.RIP_COUNT_OPS,Z.on)Z.n=0;return Z.on};class Qr extends Error{constructor(e){super(e);this.name="TypeTextError"}}var jt=(e)=>String(e??"").trim(),Be=(e)=>String(e??""),wn=()=>{throw Error("rip: type-text rendering is unavailable in the browser")},_n=()=>{throw Error("rip: type-text rendering is unavailable in the browser")},Nn=()=>()=>!1,An=()=>new Set;function ie(e){return String(e).replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase()}function ei(e){return String(e).replace(/_([a-z])/g,(t,r)=>r.toUpperCase())}function ti(e){return ie(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 ri(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 S2(e){return typeof e==="string"&&/^[a-z_][a-z0-9_]*$/.test(e)}function R2(e){return typeof e==="string"&&e.length>0&&!/[\u0000-\u001f\u007f".]/.test(e)}var ii={__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"},vn=["idStart","table","tableWas","primary","times","softDelete"],On=["belongsTo","hasOne","hasMany"],ni={__proto__:null,column:"literal",was:"column"},In={__proto__:null,as:"property",foreignKey:"column",through:"model",targetKey:"column"};function si(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"&&!ri(r))return"'"+t+"' is a model name — canonical PascalCase, e.g. {"+t+": Membership}";if(e==="column"&&!S2(r))return"'"+t+"' is a column name Rip generates — lowercase, digits and underscores "+"only, e.g. {"+t+': "author_id"}';if(e==="literal"&&!R2(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 E2=new Set(["input","shape","mixin","enum","union","model"]);var k2=new Set(["beforeValidation","afterValidation","beforeSave","afterSave","beforeCreate","afterCreate","beforeUpdate","afterUpdate","beforeDestroy","afterDestroy","afterCommit","afterRollback"]),$n=new Set(["integer","number","boolean","date","datetime"]),T2={__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"},w2=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"]),Dn=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"),N2=(e)=>`__${e}__behavior`,H1=(e,t,r=!1)=>{if(e[t]?.kind!==":")return null;let n=e[t+1];if(!n||n.spaced)return null;if(L1(n)||r&&/^[a-z]+$/.test(n.value)&&n.kind===n.value.toUpperCase())return n;return null};function A2(e,t){if(typeof e?.start!=="number")throw e;t(e)}function Mn(e,t,r,n,i=null){if(r.indexOf("schema")===-1)return;let s=[],a={defaultMaxString:null,tolerate:i},o=0,l=0;while(l0){l+=f;continue}if(I2(e,l,n)){l=$2(e,l,s,a,t,n,r);continue}s.push(c),l++}e.length=0;for(let c of s)e.push(c)}function v2(e,t,r,n,i){let s=e[t];if(!s||s.kind!=="IDENTIFIER"||s.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(!Dn.has(l))i(`unknown schema pragma 'schema.${l}' — known pragmas: ${[...Dn].join(", ")}`,a.start);if(n>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 jn=(e,t)=>{if(e[t]?.kind==="SYMBOL")return e[t];return e[t]?.kind===":"&&e[t].spaced?H1(e,t,!0):null},Fn=(e,t)=>e[t]?.kind==="SYMBOL"?1:2,O2=(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")s("inline schema bodies do not support '->' (methods/hooks/scopes/transforms) — use the indented form",R.start);else if(w===0&&(k==="EFFECT"||k==="!>"))s(`inline schema bodies do not support '${R.value}' (${k==="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)s("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")s(`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=D2(l,c,d,{schemaStart:o.start,defaultMaxString:n.defaultMaxString,tolerate:n.tolerate??null},s);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 D2(e,t,r,n,i){let s=[],a=x2(r);if(e==="input"&&!t&&a.length>0&&H1(a[0],0))e="enum";if(e==="enum")for(let o of a)K2(o,s,i);else if(e==="union"){for(let c of a)G2(c,s,i);let o=s.filter((c)=>c.tag==="directive"&&c.name==="on").length,l=s.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})`,n.schemaStart);if(l.length<2)i(`:union needs at least two constituent schemas (got ${l.length})`,n.schemaStart)}else{for(let o of a)C2(e,o,s,n,i);if(e==="model")j2(s,i);else for(let o of s){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:s,toJSON(){return this.kind}}}function x2(e){let t=[],r=[],n=0;for(let i of e){if(i.kind==="INDENT")n++;if(i.kind==="OUTDENT")n--;if(i.kind==="TERMINATOR"&&n===0){if(r.length)t.push(r),r=[];continue}r.push(i)}if(r.length)t.push(r);return t}function C2(e,t,r,n,i){let s=t[0];if(!s)return;if(s.kind==="@"){let U=t[1];if(!L1(U))i("expected a directive name after '@'",s.start);let r1=U.value;if(r1==="ensure"){let I=2,c1=!1;if(t[2]?.kind==="DAMMIT"&&!t[2].spaced)c1=!0,I=3;let O=B2(t.slice(I),s,i);for(let D of O)r.push({tag:"ensure",name:"ensure",message:D.message,field:D.field,fieldStart:D.fieldStart,async:c1,paramTokens:D.paramTokens,bodyTokens:D.bodyTokens,start:s.start});return}if(r1==="scope"){let I=M2(t.slice(2),s,i);r.push({tag:"scope",name:I.name,paramTokens:I.paramTokens,bodyTokens:I.bodyTokens,start:s.start});return}if(r1==="defaultScope"){let I=Bn(t.slice(2),s,"@defaultScope",i);if(I.paramTokens.length)i("@defaultScope takes no parameters — write '@defaultScope -> @where(...)'",s.start);r.push({tag:"defaultScope",name:"defaultScope",paramTokens:[],bodyTokens:I.bodyTokens,start:s.start});return}let q=null,s1=t.slice(2);if(r1==="mixin"){let I=s1[0];if(!L1(I))i("@mixin requires a target name — '@mixin Timestamps'",s.start);if(s1.length>1)i("@mixin takes exactly one schema name",s1[1].start);q=[{target:I.value}]}r.push({tag:"directive",name:r1,args:q,argTokens:s1,start:s.start,nameStart:U.start});return}if(s.kind==="PROPERTY"){if(n.tolerate){try{xn(e,s,t,r,i)}catch(U){A2(U,n.tolerate)}return}xn(e,s,t,r,i);return}if(s.kind!=="IDENTIFIER"&&!rt(s))i(`unexpected ${s.kind} at schema top level — allowed: fields ('name! type'), directives ('@name'), methods ('name: -> body'), computed getters ('name: ~> body')`,s.start);let a=s.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=T2[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(!$n.has(r1.value))i(`'~${r1.value}' is not coercible — built-in coercion exists for: ${[...$n].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 k=!1,j=(U)=>(t[U]?.kind==="["||t[U]?.kind==="INDEX_START")&&(t[U+1]?.kind==="]"||t[U+1]?.kind==="INDEX_END");if(j(l)){if(k=!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(h&&k)i(`coercion ('~${c}') does not apply to array types — coerce per-element with a transform instead`,m.start);if(d)k=!0;if(k&&f)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,L=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 P=null,v=void 0,V=!1;if(w)v=S,V=!0;let W={};if(w)W.start=w.start,W.end=w.end;let G=null,T=null,N=null,F=!1,J=!1;if(A.length>0){if(A[0]?.kind===",")A=A.slice(1);if(A.length>=2&&A[0].kind==="INDENT"){let r1=0,q=-1;for(let s1=0;s1"){let I=J2(q),c1=q[0].kind==="@"&&I===2;if(I>0&&!c1)i(`field '${a}' has a transform after other content; a comma is required before '->'`,q[I].start);if(!c1){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 s1=q[0];if(s1.kind==="["||s1.kind==="INDEX_START"){if(V)i(`field '${a}' has more than one '[…]' default bracket`,s1.start);v=q2(q,a,i,W),V=!0}else if(s1.kind==="{"){if(e!=="model"&&e!=="mixin")i(`field attrs ('{…}') are persistence metadata — :model/:mixin-only ('{was: "old_column"}' annotates a column rename)`,s1.start);if(N)i(`field '${a}' has more than one '{…}' attrs bracket`,s1.start);N=P2(q,a,i)}else if(Y2(q)){if(P)i(`field '${a}' has more than one range constraint — one 'min..max' per field`,s1.start);P=z2(q,a,i)}else if(s1.kind==="REGEX"&&q.length===1){if(G)i(`field '${a}' has more than one regex constraint`,s1.start);G=X2(s1,i)}else if(s1.kind==="->"){if(r1!==U.length-1)i(`transform '-> …' must be the last element on the field line for '${a}'`,s1.start);T=q.slice(1)}else if(s1.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)`,s1.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);T=q.slice(3),q=q.slice(0,2)}if(q.length===2&&I==="unique"){if(F)i(`field '${a}' has more than one '@unique'`,s1.start);F=!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`,s1.start);if(J)i(`field '${a}' has more than one '@primary'`,s1.start);J=!0}else i(`unknown inline attribute '@${I??""}' on field '${a}' — the inline attributes are '@unique' and '@primary'`,s1.start)}else i(`unexpected trailer for field '${a}' — expected '[…]' default, '/regex/', 'min..max' range, or '-> transform'`,s1.start)}}if(h&&T)i(`field '${a}' has both '~${c}' coercion and a '->' transform — a transform replaces coercion; coerce inside it instead`,s.start);let x={};if(P){if(P.min!==void 0)x.min=P.min;if(P.max!==void 0)x.max=P.max;if(P.min===void 0&&x.min===void 0&&o.includes("!"))x.min=1}if(G)x.regex=G;if(V)x.default=v;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(" | ")})`,s.start);if(n.defaultMaxString!=null&&!G&&!f&&w2.has(c)&&x.max===void 0)x.max=n.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`,s.start);let Q=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:k,literals:f,coerce:h,coercer:u,constraints:Q,transformTokens:T,unique:F,primary:J,attrs:N,start:s.start,typeSpan:L,defaultSpan:W.start===void 0?null:[W.start,W.end]})}function ai(e,t,r,n){if(e[e.length-1]?.kind!=="}")n(`${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"),s={};for(let a of Oe(i)){if(!a.length)continue;let o=a[0];if(!L1(o))n(`${r} options must be '{key: value}' pairs — got ${o.kind}`,o.start);let l=o.value,c=t[l];if(c===void 0)n(`unknown ${r} option '${l}' — known options: ${Object.keys(t).join(", ")}`,o.start);if(l in s)n(`${r} repeats option '${l}'`,o.start);let f=1;if(a[f]?.kind===":")f++;let h=a.slice(f);if(h.length!==1)n(`${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&&!si(c,l,g)?g:c==="model"?"Membership":"author";n(`${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('"'))n(`${r} option '${l}' names a database column, so it is QUOTED — `+`'{${l}: "${L1(u)?ie(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=si(c,l,p);if(m)n(`${r} option ${m}; got '${p}'`,o.start);s[l]=p}if(!Object.keys(s).length)n(`${r} has an empty '{…}' options bracket`,e[0].start);return s}function P2(e,t,r){return ai(e,ni,`field '${t}'`,r)}function L2(e,t,r){let n=ai(e,In,`@${t}`,r);if(n.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(n.targetKey&&!n.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 n}function M2(e,t,r){if(!e.length)r("@scope requires ':name, -> body' (or ':name, (args) -> body')",t.start);let n=H1(e,0);if(!n)r("@scope name must be a :symbol — '@scope :active, -> @where(active: true)'",e[0].start);let i=n.value,s=e[2],a=s&&!s.spaced&&s.start===n.end&&(s.value==="!"||s.value==="?");if(a||!/^[a-z][a-zA-Z0-9]*$/.test(i))r(`@scope name ':${i}${a?s.value:""}' must be a lowercase-first alphanumeric identifier — scopes chain as query-builder methods`,n.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(...)'`,n.start);let l=Bn(o,n,`@scope :${i}`,r);return{name:i,paramTokens:l.paramTokens,bodyTokens:l.bodyTokens}}function Bn(e,t,r,n){if(!e.length)n(`${r}: expected '-> body' or '(args) -> body'`,t.start);let i=[],s=0,a=e[0];if(a.kind==="("||a.kind==="PARAM_START"||a.kind==="CALL_START"){let c=1;s=1;while(s0){let f=e[s].kind;if(f==="("||f==="PARAM_START"||f==="CALL_START")c++;if(f===")"||f==="PARAM_END"||f==="CALL_END"){if(c--,c===0){s++;break}}i.push(e[s]),s++}if(c!==0)n(`${r}: unclosed '(' in parameters`,a.start)}let o=e[s];if(o?.kind!=="->")n(`${r}: expected '->' ${i.length?"after parameters":"to start the body"}`,(o??t).start);let l=e.slice(s+1);if(!l.length)n(`${r}: function body is empty`,o.start);return{paramTokens:i,bodyTokens:l}}function j2(e,t){let r=new Set;for(let m of e){if(m.tag!=="directive")continue;let g=ii[m.name];if(g===void 0)t(`unknown directive '@${m.name}' on :model — legal: ${Object.keys(ii).map((b)=>"@"+b).join(", ")}, @ensure, @scope, @defaultScope`,m.nameStart??m.start);if(vn.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=F2(m,g,t)}if(e.some((m)=>m.tag==="directive"&&m.name==="mixin"))return;let i=new Set,s=new Map,a=new Map,o=new Map,l=(m,g,b,S)=>{if(i.has(g))t(`${s.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),s.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??ie(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??ie(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??ie(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??ti(g.as??g.target);l(ei(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:ie(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 F2(e,t,r){let n=e.argTokens??[],i=(s,a)=>r(`@${e.name}: ${a}`,s.start);switch(t){case"none":{if(n.length)i(n[0],"takes no arguments");return null}case"target":{let s=n[0];if(!L1(s))r(`@${e.name} requires a target name — '@${e.name} User'`,(s??{start:e.start}).start);let a=!1,o=1;if(n[o]?.kind==="?"&&!n[o].spaced)a=!0,o++;let l=null;if(n[o]?.kind===","&&n[o+1]?.kind==="{")l=L2(n.slice(o+1),e.name,r),o=n.length;if(oL1(c)||rt(c),l=0;if(H1(n,0)){let c=H1(n,0);s.push(c.value),a.push(c),l=2}else if(o(n[0]))s.push(n[0].value),a.push(n[0]),l=1;else if(n[0]?.kind==="["||n[0]?.kind==="INDEX_START"){let c=1;l=1;let f=[];while(l0){let h=n[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(n[0],"unclosed '[' in the column list");for(let h of Oe(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]??n[0],`column names are bare identifiers or :symbols — '@${e.name} [:a, :b]'`);s.push(d.value),a.push(d)}}if(!s.length)r(`@${e.name} requires a field name or list — '@${e.name} :email' or '@${e.name} [:a, :b]'`,(n[0]??{start:e.start}).start);if(l1)i(n[1],`takes one table name — unexpected ${n[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}' → '${ie(a)}'). Spell it 'MdmUser'-style, or name the table exactly by quoting it: '@${e.name} "${a}"'`,s.start);a=ie(a)}return[{name:a}]}case"field":{let s=n[0];if(!L1(s)&&!rt(s))r(`@${e.name} requires a property name — '@${e.name} patientId'`,(s??{start:e.start}).start);let a=1,o=null;if(n[a]?.kind===","&&n[a+1]?.kind==="{")o=ai(n.slice(a+1),ni,`@${e.name}`,r),a=n.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(`'${s}': 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 '${s}:'; for methods/computed use 'name: -> body' or 'name: ~> body'`,r[1].start);else i(`schema top-level '${s}:' must be followed by '->' (method), '~>' (computed getter), or '!>' (eager derived)`,r[1].start);let h=c==="~>"?"computed":c==="!>"?"derived":e==="model"&&k2.has(s)?"hook":"method";if(o.length&&h!=="method")i(`'${s}': ${h==="computed"?"computed getters (~>)":h==="derived"?"eager-derived fields (!>)":"lifecycle hooks"} take no parameters — only methods do`,r[1].start);n.push({tag:h,name:s,paramTokens:o,bodyTokens:r.slice(f),start:t.start})}function B2(e,t,r){let n=e;if(!n.length)r("@ensure requires 'message, (x) -> body' or a '[…]' array of pairs",t.start);let i=n[0];if(i.kind==="["||i.kind==="INDEX_START"){let a=U2(n,i,r),o=V2(a);if(o.length===0)r("@ensure […] must contain at least one 'message, fn' pair",i.start);return Cn(o,i,r)}let s=Oe(n);if(s.length<2)r("@ensure inline form must be 'message, (x) -> body' — did you forget the comma?",i.start);if(s.length>3||s.length===3&&!Un(s[1]))r(`@ensure inline form takes 'message[, :field], fn' (got ${s.length} comma-separated parts) — use '@ensure […]' for multiple refinements`,i.start);return Cn(s,i,r)}var Un=(e)=>e&&e.length===2&&H1(e,0)!==null;function Cn(e,t,r){let n=[],i=0;while(i=e.length)r(`@ensure: missing function after message${a?" and :field":""}`,(s[0]??t).start);n.push(W2(s,a,e[i++],t,r))}return n}function U2(e,t,r){let n=0,i=[];for(let s=0;s=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 V2(e){let t=[],r=[],n=0;for(let i of e){let s=i.kind;if(s==="("||s==="["||s==="{"||s==="CALL_START"||s==="INDEX_START"||s==="PARAM_START"||s==="INDENT")n++;if(s===")"||s==="]"||s==="}"||s==="CALL_END"||s==="INDEX_END"||s==="PARAM_END"||s==="OUTDENT")n--;if(n===0&&(s===","||s==="TERMINATOR")){if(r.length)t.push(r),r=[];continue}r.push(i)}if(r.length)t.push(r);return t}function W2(e,t,r,n,i){if(!e?.length)i("@ensure: missing message (expected a string literal)",n.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]??n).start);let s=e[0],a=JSON.parse(s.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",s.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??s).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 Vn(e,t,r,n=null){if(!e.length)return[];let i=H2(e,t,r,n);for(let s=i.length-1;s>=0&&i[s].type===null;s--)i[s].optional=!0;return i}function H2(e,t,r,n){let i=(s)=>s.kind!=="TERMINATOR"&&s.kind!=="INDENT"&&s.kind!=="OUTDENT";return Oe(e).map((s)=>{let a=s.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]??s[0]).start);let l=o?[...s].filter(i).pop():null,c=o&&n!==null?jt(n.slice(a[1].end,l.end)).trim():null;return{name:a[0].value,type:c,optional:!1}})}function G2(e,t,r){let n=e[0];if(!n)return;if(n.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??n).start);let s=H1(e,2);if(!s)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:s.value}],start:n.start});return}if(n.kind==="IDENTIFIER"&&e.length===1){t.push({tag:"union-member",name:n.value,start:n.start});return}r(`:union bodies accept only '@on :field' and bare constituent schema names (one per line) — got ${n.kind}${e.length>1?" followed by "+e[1].kind:""}`,n.start)}function K2(e,t,r){let n=e[0];if(!n)return;if(n.kind==="@")r(`:enum schemas don't accept '@${e[1]?.value??"directive"}' — enums hold only :symbol members`,n.start);let i=H1(e,0);if(!i)r(`enum member must be a :symbol — use ':${n.value??"name"}' for a bare member or ':${n.value??"name"} value' for a valued one`,n.start);let s=i.value,a=e[2];if(!a){t.push({tag:"enum-member",name:s,value:void 0,start:n.start});return}if(a.kind===":")r(`enum member ':${s}' — drop the ':' before the value; use ':${s} value'`,a.start);if(e.length>3&&!(e.length===4&&a.kind==="-"&&e[3].kind==="NUMBER"))r(`extra tokens after enum member ':${s}' value`,e[3].start);let o=a.kind==="-"&&e[3]?.kind==="NUMBER"?-Number(e[3].value):Wn(a,`enum member ':${s}' value`,r);t.push({tag:"enum-member",name:s,value:o,start:n.start})}function Y2(e){return e.some((t)=>t.kind==="..")&&e.every((t)=>t.kind===".."||t.kind==="NUMBER"||t.kind==="-")}function z2(e,t,r){let n=0,i=()=>{let l=1;if(e[n]?.kind==="-")l=-1,n++;let c=e[n++];if(c?.kind!=="NUMBER")r("range endpoints must be numeric literals",(c??e[0]).start);return l*Number(c.value)},s;if(e[n]?.kind!=="..")s=i();n++;let a;if(na)r(`range '${s}..${a}' is reversed — write the smaller endpoint first`,e[0].start);let o={};if(s!==void 0)o.min=s;if(a!==void 0)o.max=a;return o}function q2(e,t,r,n={}){let i=e.slice(1,-1);if(i.length)n.start=i[0].start,n.end=i[i.length-1].end;let s=Oe(i);if(s.length!==1)r(s.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 ${s.length} elements)`,e[0].start);let a=s[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 Wn(a[0],`field '${t}' default`,r)}function X2(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(n){t(`invalid regex '${e.value}': ${n.message}`,e.start)}}function Wn(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 Oe(e){let t=[],r=[],n=0;for(let i of e){let s=i.kind;if(s==="("||s==="["||s==="{"||s==="CALL_START"||s==="INDEX_START"||s==="PARAM_START"||s==="INDENT")n++;if(s===")"||s==="]"||s==="}"||s==="CALL_END"||s==="INDEX_END"||s==="PARAM_END"||s==="OUTDENT")n--;if(s===","&&n===0){if(r.length)t.push(r);r=[];continue}r.push(i)}if(r.length)t.push(r);return t}function J2(e){let t=0;for(let r=0;r")return r}return-1}function Hn(e,t,r,n=null,i=null,s=!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(", ");Q2(u,r.get(d),i?.get(d)??null,c,f,s,a?.get(d)??null,o?.get(d)??null,h)}),c("]"),n)c(", adapter: "),h(n);return c("}"),l}var Ue=(e)=>typeof e==="string"?e:e.code;function Gn(e,t,r,n){let i=[];return e.entries.forEach((s,a)=>{if(s.tag!=="derived"&&s.tag!=="computed"&&s.tag!=="method")return;let o=r.get(a);if(o===void 0)return;let l=n?.get(a)??null,c=Ue(o);for(let[f,h]of Kn(o,l).reverse())c=c.slice(0,f)+h+c.slice(f);i.push(`${s.name}: ${c}`)}),i.length?`const ${N2(t)} = {${i.join(", ")}};`:null}function Kn(e,t,r=!0){if(typeof e==="string")return[];let n=r?(e.annots??[]).map(([i,s])=>[i,s]):[];if(t!==null){let{code:i,thisAt:s}=e;n.push([s,`this: ${t}${i[s]===")"?"":", "}`])}return n.sort((i,s)=>i[0]-s[0])}function Z2(e,t,r,n,i=!1){let s=Kn(e,t,i);if(s.length===0){r(Ue(e));return}let{code:a}=e,o=0;for(let[l,c]of s)r(a.slice(o,l)),n(c),o=l;r(a.slice(o))}function Q2(e,t,r,n,i,s=!1,a=null,o=null,l=n){switch(e.tag){case"computed":case"method":case"derived":case"hook":case"scope":case"defaultScope":n(`{tag: ${JSON.stringify(e.tag)}, name: ${JSON.stringify(e.name)}, fn: `),Z2(t,r,l,i,s),n("}");return;default:let c={},f=el(e,t,c),h=[];if(s&&a!==null&&c.defaultEnd!==void 0)h.push({at:c.defaultEnd,ts:` satisfies ${a}`,span:e.defaultSpan??null});if(s&&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(s&&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)n(f.slice(u,d.at)),i(d.ts,d.span??null),u=d.at;n(f.slice(u))}}function el(e,t,r={}){if(t!==void 0)t=Ue(t);switch(e.tag){case"field":{let n=['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)n.push("unique: true");if(e.primary)n.push("primary: true");if(e.literals)n.push(`literals: ${JSON.stringify(e.literals)}`);if(e.coerce){if(n.push("coerce: true"),e.coercer)n.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 s=-1;if(e.constraints.default!==void 0)s=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(s>=0){let a=`{${n.join(", ")}, constraints: {`;r.defaultEnd=a.length+i.slice(0,s+1).join(", ").length}n.push(`constraints: {${i.join(", ")}}`)}}if(e.attrs)n.push(`attrs: {${Object.keys(e.attrs).sort().map((i)=>`${i}: ${Ft(e.attrs[i])}`).join(", ")}}`);if(t)n.push(`transform: ${t}`);return`{${n.join(", ")}}`}case"directive":{let n=['tag: "directive"',`name: ${JSON.stringify(e.name)}`];if(e.args){if(e.name==="mixin"||On.includes(e.name)){let i=e.args[0];n.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")n.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")n.push(`args: [{field: ${JSON.stringify(e.args[0].field)}}]`);else if(e.name==="unique"||e.name==="index")n.push(`args: [{fields: ${JSON.stringify(e.args[0].fields)}}]`);else if(e.name==="idStart")n.push(`args: [{value: ${e.args[0].value}}]`);else if(e.name==="table"||e.name==="tableWas")n.push(`args: [{name: ${JSON.stringify(e.args[0].name)}}]`)}return`{${n.join(", ")}}`}case"ensure":{let n=['tag: "ensure"',`message: ${JSON.stringify(e.message)}`];r.fnAt=`{${n.join(", ")}, fn: `.length;let i=[...n,`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 n=['tag: "enum-member"',`name: ${JSON.stringify(e.name)}`];if(e.value!==void 0)n.push(`value: ${JSON.stringify(e.value)}`);return`{${n.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 tl=new Set(["pick","omit","partial","required","extend"]);function W1(e){return e&&e.valueOf?e.valueOf():e}function Yn(e){return e.entries.some((t)=>t.tag==="directive"&&t.name==="mixin")}function rl(e){return ei(e.foreignKey??ti(e.as??e.target))}function il(e){if(Yn(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})},n=!1,i=!1,s=[];for(let a of e.entries){if(a.tag!=="directive")continue;if(a.name==="times")n=!0;else if(a.name==="softDelete")i=!0;else if(a.name==="belongsTo"){let o=a.args&&a.args[0];if(o&&o.target)s.push({fk:rl(o),required:o.optional!==!0})}}if(r("id","integer",!0),n)r("createdAt","datetime",!0),r("updatedAt","datetime",!0);if(i)r("deletedAt","datetime",!1);for(let{fk:a,required:o}of s)r(a,"integer",o);return t}function nl(e){if(Yn(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 Pn(e,t){let r=e.modifiers.filter((i)=>i!==(t==="partial"?"!":"?")),n=t==="partial"?"?":"!";if(!r.includes(n))r=[...r,n];return{...e,modifiers:r}}function sl(e,t,r){switch(t.method){case"pick":{let n=new Map;for(let i of t.keys){if(!e.has(i))return null;n.set(i,e.get(i))}return n}case"omit":{let n=new Set(t.keys),i=new Map;for(let[s,a]of e)if(!n.has(s))i.set(s,a);return i}case"partial":{let n=new Map;for(let[i,s]of e)n.set(i,Pn(s,"partial"));return n}case"required":{let n=new Set(t.keys),i=new Map;for(let[s,a]of e)i.set(s,n.has(s)?Pn(a,"required"):a);return i}case"extend":{let n=t.otherDescriptor||r.get(t.otherName);if(!n)return null;let i=nl(n);if(!i)return null;let s=new Map(e);for(let[a,o]of i){if(s.has(a))return null;s.set(a,o)}return s}default:return null}}function al(e,t,r){let n=il(e);if(!n)return null;for(let i of t)if(n=sl(n,i,r),!n)return null;return{kind:"shape",entries:[...n.values()]}}function ol(e){let t=[],r=e;while(!0){if(!Array.isArray(r))return null;let n=r[0];if(!Array.isArray(n))return null;if(W1(n[0])!==".")return null;let i=W1(n[2]);if(!tl.has(i))return null;let s=r.slice(1),a;if(i==="partial"){if(s.length)return null;a={method:i}}else if(i==="extend"){if(s.length!==1)return null;let c=s[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=ll(s);if(!c||!c.length)return null;a={method:i,keys:c}}t.unshift(a);let o=n[1];if(Array.isArray(o)){r=o;continue}let l=W1(o);if(typeof l!=="string")return null;return{base:l,ops:t}}}function ll(e){let t=[];for(let r of e)if(Array.isArray(r)){if(W1(r[0])!=="array")return null;for(let n=1;n{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"]),Ie=new Set([...Bt,...Ve]),oi=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"]),$e=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 li(e){let t=String(e).toLowerCase(),r=new Set($e),n=it[t];if(n)for(let i of n)r.add(i);if(Ve.has(String(e)))for(let i of nt)r.add(i);return[...r]}function fl(e,t){if(Math.abs(e.length-t.length)>2)return 3;let r=Array.from({length:t.length+1},(n,i)=>i);for(let n=1;n<=e.length;n++){let i=[n];for(let s=1;s<=t.length;s++)i[s]=Math.min(r[s]+1,i[s-1]+1,r[s-1]+(e[n-1]===t[s-1]?0:1));r=i}return r[t.length]}function Xn(e,t){let r=li(e),n=String(t).toLowerCase(),i=r.find((l)=>l.toLowerCase()===n);if(i!==void 0&&i!==t)return i;if(String(t).length<3)return null;let s=null,a=3,o=!1;for(let l of r){if(l===String(t))continue;let c=fl(String(t),l);if(cIe.has(String(e).split("#")[0]),es=(e)=>typeof e==="string"&&hl.test(e),fi=(e)=>gl(e)||es(e);function ts(e,t,r){let n=!1;for(let G of e)if(G.kind==="RENDER"){n=!0;break}if(!n)return e;let i=[],s=(G,T,N,F={})=>{let{at:J,...x}=F,Q=J??N.end;return{id:t(),kind:G,value:T,start:Q,end:Q,spaced:!1,newLine:!1,generated:!0,origin:N.id,...x}},a=!1,o=0,l=0,c=[],f=[],h=[],u=(G,T,N)=>T{let x=1,Q=T;while(Q>=0&&x>0){if(Z.on)Z.n++;let U=u(G,Q,J)?.kind;if(U===N)x++;else if(U===F)x--;if(x>0)Q--}return Q},p=(G)=>{let T=i.length;while(T>0&&u(i,T,G)?.kind==="OUTDENT")T=d(i,T-1,"OUTDENT","INDENT",G);while(T>0){if(Z.on)Z.n++;let F=i[T-1].kind;if(F==="TERMINATOR"||F==="RENDER")break;if(F==="OUTDENT"){T=d(i,T-2,"OUTDENT","INDENT",G);continue}if(F==="INDENT"){let J=u(i,T,G)?.kind;if(J==="CALL_END"||J===")"){T=d(i,T-1,J,J==="CALL_END"?"CALL_START":"(",G);continue}break}if(F==="CALL_END"||F===")"){T=d(i,T-2,F,F==="CALL_END"?"CALL_START":"(",G);continue}if(F==="INTERPOLATION_END"){T=d(i,T-2,"INTERPOLATION_END","INTERPOLATION_START",G);continue}if(F==="STRING_END"){T=d(i,T-2,"STRING_END","STRING_START",G);continue}T--}let N=u(i,T,G);return N?.kind==="IDENTIFIER"&&(fi(N.value)||(T===0||["INDENT","TERMINATOR","RENDER"].includes(i[T-1]?.kind)))},m=()=>{let G=0;for(let T=i.length-1;T>=0;T--){if(Z.on)Z.n++;let N=i[T].kind;if(Zn.has(N))G++;else if(Jn.has(N)){if(G===0)return 1;G--}else if(N==="TERMINATOR"||N==="RENDER"||N==="INDENT"||N==="OUTDENT")break}return 0},g=(G)=>{let T=i[i.length-1];if(!T)return!1;if(m()!==0)return!1;let N=T.kind;if((N===","||N==="IDENTIFIER"||N==="PROPERTY")&&p(G))return!0;if((N==="INDENT"||N==="TERMINATOR")&&f.includes(l))return!0;return!1},b=(G)=>{let T=1;for(let N=G+1;N0;N++){if(Z.on)Z.n++;let F=e[N].kind;if(F==="("||F==="CALL_START")T++;else if(F===")"){if(T--,T===0)e[N].kind="CALL_END"}else if(F==="CALL_END")T--}},S=(G)=>{let T=1;for(let N=i.length-1;N>=0&&T>0;N--){if(Z.on)Z.n++;if(i[N].kind==="CALL_END")T++;else if(i[N].kind==="CALL_START"){if(T--,T===0&&N>0&&i[N-1].kind==="PROPERTY"&&i[N-1].value==="__clsx")return!0}}return!1},w=(G)=>{while(h.length>0){let T=h[h.length-1];if(G.kind==="INDENT"||Jn.has(G.kind)){T.depth++;return}if(G.kind==="OUTDENT"||Zn.has(G.kind)){if(T.depth===0){i.push(s("CALL_END",")",i[i.length-1]??G)),h.pop();continue}T.depth--;return}if(G.kind==="TERMINATOR"&&T.depth===0){i.push(s("CALL_END",")",i[i.length-1]??G)),h.pop();continue}return}},R=(G)=>G===0||st.has(e[G-1].kind),k=(G,T)=>{let N=e[G+1]?.kind==="TYPE"?e[G+2]:e[G+1];return N!==void 0&&T.has(N.kind)},j=new Set;for(let G=0,T=0;G{let T=new Set,N=G+1;while(NA.some((T)=>T.names.has(G))||L.length>0&&L[L.length-1].names.has(G)||j.has(G);for(let G=0;G0)w(T);if(!st.has(T.kind)&&R(G))v=T.kind;if(T.kind==="COMPONENT")L.push({level:l+1,names:M(G)});if(T.kind==="RENDER"){a=!0,o=l+1,A.push({level:o,names:new Set}),i.push(T);continue}if(T.kind==="INDENT"){if(l++,a){let F=e[G-1]?.kind;if(F==="->"||F==="=>")P.push(l);else if(P.length===0&&ml.has(v))A.push({level:l,names:new Set(v==="FOR"?V??[]:[])})}V=null,i.push(T);continue}if(T.kind==="OUTDENT"){l--;for(let F of[L,A])while(F.length>0&&F[F.length-1].level>l)F.pop();while(P.length>0&&P[P.length-1]>l)P.pop();while(f.length>0&&f[f.length-1]>l)f.pop();i.push(T);while(c.length>0&&c[c.length-1]>l)i.push(s("CALL_END",")",T)),c.pop();if(a&&l0){let F=i[i.length-1].kind;if(F==="TERMINATOR"||F==="INDENT"||F==="RENDER"){i.push(s("IDENTIFIER","__text__",T,{at:T.start,spaced:T.spaced,newLine:T.newLine})),i.push(s("CALL_START","(",T,{at:T.start})),h.push({depth:0});continue}}if(T.kind==="UNARY_MATH"&&T.value==="~"&&N?.kind==="IDENTIFIER"){i.push(s("PROPERTY","__transition__",T,{spaced:T.spaced,newLine:T.newLine})),i.push(s(":",":",T)),N.kind="STRING",N.value=`"${N.value}"`,N.transitionValue=!0;continue}if(T.transitionValue&&N!==null&&Qn.has(N.kind)){i.push(T),i.push(s(",",",",T,{at:N.start}));continue}if(T.kind==="BIND"){let F=i[i.length-1];if(F!==void 0&&(F.kind==="IDENTIFIER"||F.kind==="PROPERTY")&&N!==null&&(N.kind==="IDENTIFIER"||N.kind==="@")){F.value=`__bind_${F.value}__`,i.push(s(":",":",T));continue}}if(T.kind==="IDENTIFIER"&&N?.kind==="-"&&!N.spaced){let F=[T.value],J=G+1,x=T.end;while(J+11&&e[J-1].kind==="PROPERTY"){let Q=F.join("-");i.push({...T,kind:"STRING",value:`"${Q}"`,end:x}),G=J-1;continue}}if(T.kind==="."){let F=i[i.length-1]?.kind;if(F==="INDENT"||F==="TERMINATOR"||F==="RENDER"){if(N?.kind==="PROPERTY"){let J=e[G+2];if(!J||J.kind!==":"){i.push(s("IDENTIFIER","div",T,{spaced:T.spaced,newLine:T.newLine})),i.push(T);continue}T={...T,kind:"IDENTIFIER",value:"div"}}else if(!N||N.kind!=="(")T={...T,kind:"IDENTIFIER",value:"div"}}}if(T.kind==="."&&N?.kind==="("){let F=i[i.length-1]?.kind,J=F==="INDENT"||F==="TERMINATOR"||F==="RENDER";if(N.kind="CALL_START",b(G+1),J)i.push(s("IDENTIFIER","div",T,{spaced:T.spaced,newLine:T.newLine})),i.push(T),i.push(s("PROPERTY","__clsx",T));else if(F===":")i.push(s("IDENTIFIER","__clsx",T,{spaced:T.spaced,newLine:T.newLine}));else i.push(T),i.push(s("PROPERTY","__clsx",T));continue}if(T.kind==="@"&&N?.kind==="PROPERTY"&&!N.spaced){let F=e[G+2],J=F?.kind===".",x=F?.kind===":";if(!J&&!x&&g(T)){let Q=String(N.value),U=`on${Q[0].toUpperCase()}${Q.slice(1)}`;if(F?.kind==="=")r(`a \`=\` cannot follow a bare event directive on one line — \`@${Q} = expr\` would assign to the minted handler and invoke the assignment as the listener; bind explicitly (\`@${Q}: handler\`), or keep the bare \`@${Q}\` and put the text on its own \`= expr\` line`,F.start);if(i.push(T),i.push(N),i.push(s(":",":",N)),i.push(s("@","@",N)),i.push(s("PROPERTY",U,N)),G++,e[G+1]?.kind==="INDENT")i.push(s(",",",",N,{at:e[G+1].start})),i.push(s("->","->",N,{at:e[G+1].start,newLine:!0})),f.push(l+1);else if(e[G+1]!==void 0&&Qn.has(e[G+1].kind))i.push(s(",",",",N,{at:e[G+1].start}));continue}}if(N?.kind==="INDENT"&&T.kind!=="->"&&T.kind!=="=>"&&T.kind!=="CALL_START"&&T.kind!=="("){let F=i[i.length-1]?.kind,J=["IF","UNLESS","WHILE","UNTIL","WHEN","FORIN","FOROF","FORAS","FORASAWAIT","BY"].includes(F),x=T.kind==="IDENTIFIER"&&(F==="INDENT"||F==="TERMINATOR"||F==="RENDER"),Q=T.kind==="IDENTIFIER"&&fi(T.value)&&(x||!W(T.value)),U=!1,r1=!1;if(T.kind==="CALL_END")r1=S(T);if(r1)U=!0;else if(Q&&!J)U=!0;else if(T.kind==="IDENTIFIER"&&!J)U=x||p(T);else if(["PROPERTY","STRING","STRING_END","NUMBER","BOOL","CALL_END",")","]","INDEX_END","}","MAYBE_DAMMIT"].includes(T.kind))U=p(T);if(U){let q=!1;if(T.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"&&fi(i[I-2].value)){let c1=i[I-3]?.kind??null;if(c1===null||["INDENT","OUTDENT","TERMINATOR","RENDER"].includes(c1))q=!0}}let s1=r1||Q||x||q;if(i.push(T),s1)i.push(s("CALL_START","(",T,{at:N.start})),i.push(s("->","->",T,{at:N.start,newLine:!0})),c.push(l+1);else i.push(s(",",",",T,{at:N.start})),i.push(s("->","->",T,{at:N.start,newLine:!0}));f.push(l+1);continue}}if(T.kind==="IDENTIFIER"&&es(T.value)&&(N?.kind==="OUTDENT"||N?.kind==="TERMINATOR")){i.push(T),i.push(s("CALL_START","(",T)),i.push(s("CALL_END",")",T));continue}i.push(T)}e.length=i.length;for(let G=0;G=e.length)return null;if(!j1.test(e[t]))return null;let r=t+1;while(r=0;a--){if(Z.on)Z.n++;if(s>=0&&(i<0||n[s].at>i))e[a]=n[s--].token;else e[a]=e[i--]}return e}var bl=new Set(["IF","UNLESS","WHILE","UNTIL","WHEN","LEADING_WHEN","CATCH","FOR","LOOP","CLASS"]),yl=new Set(["(","[","{","PICK_START","OPTPICK_START","CALL_START","INDEX_START","PARAM_START","STRING_START","INTERPOLATION_START","HEREGEX_START"]),Sl=new Set([")","]","}","PICK_END","CALL_END","INDEX_END","PARAM_END","STRING_END","INTERPOLATION_END","HEREGEX_END"]);function Rl(e,t){let r=0;for(let n=t-1;n>=0;n--){if(Z.on)Z.n++;let i=e[n].kind;if(Sl.has(i)||i==="OUTDENT"){r++;continue}if(yl.has(i)||i==="INDENT"){if(r===0)return!1;r--;continue}if(r>0)continue;if(bl.has(i))return!0;if(i==="TERMINATOR")return!1}return!1}function El(e,t){let r=new Set(["(","[","{","PICK_START","OPTPICK_START","CALL_START","INDEX_START","PARAM_START","STRING_START","INTERPOLATION_START","HEREGEX_START"]),n=new Set([")","]","}","PICK_END","CALL_END","INDEX_END","PARAM_END","STRING_END","INTERPOLATION_END","HEREGEX_END"]),i=[],s=[],a=(p,m)=>{let g=0;for(let b=m-1;b>=p;b--){if(Z.on)Z.n++;let S=e[b].kind;if(n.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(Wt(e,b))return!0}return!1},o=(p,m)=>{let g=0;for(let b=m-1;b>=p;b--){if(Z.on)Z.n++;let S=e[b].kind;if(n.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 os(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(Z.on)Z.n++;if(!e[R].generated){b=e[R];break}}let S=null;for(let R=m;R{while(s.length&&s[s.length-1].end===p){let m=s.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)}),s.push(g)}else if(m.kind==="THEN"&&Rl(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,s.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)}),s.push(g)}}return d(e.length),i}var Vt=new Set(["IDENTIFIER","PROPERTY","SUPER",")","CALL_END","]","INDEX_END","@","THIS","DAMMIT","?","MAYBE_DAMMIT"]),is=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","@","->","=>","[","(","{","--","++"]),ns=new Set(["POST_IF","POST_UNLESS","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR","||","&&","??","THEN","ELSE"]),ss=new Set(["IF","TRY","FINALLY","CATCH","SWITCH","FOR","CLASS"]),as=new Set(["IDENTIFIER","PROPERTY","NUMBER","STRING","STRING_END","REGEX","HEREGEX_END",")","CALL_END","]","INDEX_END","}","PICK_END","BOOL","NULL","UNDEFINED","THIS","@"]),se=new Set(["(","[","{","PICK_START","OPTPICK_START","CALL_START","INDEX_START","PARAM_START","STRING_START","INTERPOLATION_START","HEREGEX_START","INDENT"]),ne=new Set([")","]","}","PICK_END","CALL_END","INDEX_END","PARAM_END","STRING_END","INTERPOLATION_END","HEREGEX_END","OUTDENT"]),Wt=(e,t)=>{let r=e[t],n=e[t+1];if(!r||!n||!n.spaced||!Vt.has(r.kind))return!1;if((r.kind==="]"||r.kind==="}")&&(n.kind==="->"||n.kind==="=>"))return!1;if(r.kind==="IDENTIFIER"&&(r.value==="Infinity"||r.value==="NaN")&&(n.kind==="->"||n.kind==="=>"))return!1;if(is.has(n.kind))return!0;return n.kind==="..."&&e[t+2]!=null&&is.has(e[t+2].kind)},os=(e,t)=>{if(!e[t])return!1;let r=(n)=>(e[n]?.kind==="DAMMIT"||e[n]?.kind==="VOID_MARKER")&&e[n+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(se.has(e[t].kind)){let n=1,i=t;while(++i0){if(Z.on)Z.n++;if(se.has(e[i].kind))n++;else if(ne.has(e[i].kind))n--}if(n===0&&e[i]?.kind===":")return!0}return!1},ls=new Set(["->","=>","[","(",",","{","ELSE","="]),hi=new Set(["INDENT","OUTDENT","TERMINATOR"]),kl=new Set(["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL","DEF"]),cs=(e,t)=>{let r=0;for(;t>=0;t--){if(Z.on)Z.n++;let n=e[t].kind;if(r===0&&kl.has(n))return!0;if(ne.has(n)){r++;continue}if(se.has(n)){if(r>0){r--;continue}if(!e[t].generated||hi.has(n))return!1;continue}if(r===0&&hi.has(n))return!1}return!1};function Tl(e,t){let r=[],n=[],i=[0],s=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(),n.push({at:g,token:l("}",s?s.end:0,s?s.id:null)})},f=(g)=>os(e,g),h=()=>{for(let g=r.length-1;g>=0;g--){if(Z.on)Z.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&&Vt.has(b.kind)&&f(g+1)&&!cs(e,g-1))},p=(g,b)=>{let S=0;for(let w=b-1;w>g;w--){if(Z.on)Z.n++;let R=e[w].kind;if(ne.has(R)){S++;continue}if(se.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(Wt(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 k=r[R];if(k.kind!=="object"&&k.kind!=="CONTROL")break;if(k.kind==="object")k.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 k=w?.kind==="VOID_MARKER"?1:0,j=ne.has(w?.kind)?o()?.at??g-1:g-1-k;if(e[g-2-k]?.kind==="@")j=g-2-k;let M=e[j-1],A=!Wt(e,j-1)&&(j<=0||hi.has(M?.kind)||Boolean(M?.newLine)),P=o(),v=r[r.length-2],V=(F)=>F&&(F.kind==="{"||F.kind==="PICK_START"||F.kind==="OPTPICK_START"||F.kind==="object"),W=(F)=>F==="{"||F==="PICK_START"||F==="OPTPICK_START",G=P?.kind==="INDENT"&&P.listContinuation?h():null,T=Boolean(G),N=G?G.at:P?.kind==="INDENT"&&v?v.at:P?.at;if(P&&(V(P)||P.kind==="INDENT"&&(W(v?.kind)||T))&&!(N!=null&&p(N,j))&&(A||M?.kind===","||W(M?.kind)||e[j]?.kind==="{"))continue;r.push({kind:"object",at:j,sameLine:!0,startsLine:A}),n.push({at:j,token:l("{",e[j].start,e[j].id,{spaced:e[j].spaced,newLine:e[j].newLine})});continue}if(ns.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 k=r[R];if(k.kind!=="object"&&k.kind!=="CONTROL")break;if(k.kind==="object")k.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(),k=(j)=>f(j)||u(R,j);if(R&&!p(R.at,g)&&!k(g+1)&&(e[g+1]?.kind!=="TERMINATOR"||!k(g+2))){if(e[g+1]?.kind==="INDENT"&&k(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)s=e[e.length-1];while(o()?.kind==="object"||o()?.kind==="CONTROL")if(o().kind==="object")c(e.length);else r.pop();return n}function wl(e,t){let r=[],n=[],i=-1,s=(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(),n.push({at:l,token:s("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"&&ss.has(h)&&!(h==="FOR"&&!c.newLine&&e[l-1]&&as.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||!ls.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(se.has(h))r.push(h);else if(ne.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(ns.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(Wt(e,l)||Vt.has(h)&&f&&f.spaced&&(f.kind==="+"||f.kind==="-")&&e[l+2]&&!e[l+2].spaced&&!e[l+2].newLine)n.push({at:l+1,token:s("CALL_START",f.start,f.generated?f.origin:f.id)}),r.push("call");else if(Vt.has(h)&&f?.kind==="INDENT"&&e[l+2]?.kind==="{"&&e[l+2].generated&&!cs(e,l))n.push({at:l+1,token:s("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 n}var Ht=(e,t)=>ui(e,El,t),Gt=(e,t)=>ui(e,Tl,t),Kt=(e,t)=>ui(e,wl,t);var ms=new Map([["as","CAST"],["satisfies","SATISFIES"]]),Xt=(e)=>e?.kind==="IDENTIFIER"&&ms.has(e.value),ps=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"]),_l=new Set(["IDENTIFIER","PROPERTY","(","CALL_START","PARAM_START","{","[","INDEX_START","STRING","NUMBER","BOOL","NULL","UNDEFINED","-","UNARY","NEW","RESERVED"]),ae=new Set(["(","CALL_START","PARAM_START","[","INDEX_START","{","PICK_START","OPTPICK_START"]),oe=new Set([")","CALL_END","PARAM_END","]","INDEX_END","}","PICK_END"]),Nl=new Set(["TERMINATOR","INDENT","OUTDENT",",","=","COMPOUND_ASSIGN","REACTIVE_ASSIGN","COMPUTED_ASSIGN","READONLY_ASSIGN","GATE","EFFECT","->"]),Al=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"]),vl=new Set(["IF","UNLESS","ELSE","THEN","WHILE","UNTIL","LOOP","FOR","WHEN","BY","SWITCH","RETURN","THROW"]),Ol=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"]),Il=new Set(["IDENTIFIER","PROPERTY","RESERVED","NUMBER","STRING","TYPE_TEMPLATE","BOOL","NULL","UNDEFINED","THIS",")","PARAM_END","]","INDEX_END","}"]),$l=new Set(["TERMINATOR","INDENT","OUTDENT","{",","]),qt=(e,t,r)=>{if(t-1{let s=0,a=[],o=(u=0)=>a[a.length-1-u],l=null,c=!1,f=[],h=(u,d)=>{s-=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")&&qt(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()==="{"&&qt(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==="="&&s>0){c=!1;continue}if((o()==="{"||i.methods&&o()===void 0)&&p==="CALL_START"){let m=e[u-1],g=qt(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)n(`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(Ol.has(p)){if(fs.has(p))a.push(fs.get(p));else if(Dl.has(p))a.pop();c=Il.has(p);continue}n(`code expression ('${d.word??d.value}') in a type body — types erase and cannot execute`,d.start)}if(s>0)n("unclosed '<' in a type body — the generic never closes",l.start)},xl=new Set(["=",":","COMPOUND_ASSIGN","REACTIVE_ASSIGN","COMPUTED_ASSIGN","READONLY_ASSIGN",",","[","(","{","CALL_START","INDEX_START","PARAM_START","PICK_START","OPTPICK_START","RETURN","THROW","AWAIT","YIELD"]),Z1=(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 n=0;for(let i=t;i>=0;i--){if(Z.on)Z.n++;let s=e[i].kind;if(s==="OUTDENT")n++;else if(s==="INDENT"){if(n===0){let a=e[i-1];return!(a&&xl.has(a.kind))}n--}}return!0},mi=(e,t,r)=>{if(r<=t)return!1;let n=new Set(["|","&",",",":","?","TERNARY",".","..."]),i=0,s=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"){s++,l=!1;continue}if(u==="]"||u==="INDEX_END"){if(--s<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(n.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&&s===0&&a===0&&o===0&&l},hs=(e,t,r,n)=>{let i=[],s=[],a=[],o=0,l=t,c=e[t-1]?.end??0,f=(u)=>n("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(ae.has(d)||d==="COMPARE"&&u.value==="<"){o++;let m=d==="{"?"{":d==="["||d==="INDEX_START"?"[":d==="COMPARE"?"<":"(";if(s.push(m),m==="<")a.push(u);i.push(u.value),c=u.end,t++;continue}if(oe.has(d)){if(o===0)break;if(s[s.length-1]==="<")f(a[a.length-1]);o--,s.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(Nl.has(d))break;if(r.stopAtFatArrow&&d==="=>")break;if(r.stopAtThen&&d==="THEN")break;if(r.cast&&Al.has(d))if(t===l&&(d==="-"||d==="+")&&e[t+1]?.kind==="NUMBER"){if(d==="+")n("a numeric literal type spells its sign with '-' (TypeScript has no '+1' type)",u.start,e[t+1].end)}else break;if(r.alias&&vl.has(d))break}else{if(d==="INDENT"||d==="OUTDENT"){t++;continue}if(d==="TERMINATOR"){i.push(";"),c=u.end,t++;continue}if(d==="PROPERTY"&&s[s.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}},Cl=(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,": "),Pl=(e,t,r)=>{let n=(l)=>l==="("||l==="PARAM_START"||l==="CALL_START",i=(l)=>l===")"||l==="PARAM_END"||l==="CALL_END";if(r-t<2||!n(e[t].kind))return!1;let s=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(n.kind==="SHIFT"&&n.value===">>")r-=2;else if(n.kind==="SHIFT"&&n.value===">>>")r-=3;else if(n.kind==="TERMINATOR"||n.kind==="INDENT"||n.kind==="OUTDENT")return-1;if(t++,r===0)break}return r===0?t:-1},Jt=(e,t)=>{if(t<0||!e[t]||pi(e[t])>=0)return t;let r=0;while(t>=0){if(Z.on)Z.n++;let n=e[t];if(n.kind==="TERMINATOR"||n.kind==="INDENT"||n.kind==="OUTDENT")return-1;if(r+=pi(n),t--,r===0)break}return r===0?t:-1},Zt=(e,t)=>{let r=Jt(e,t-1);if(r<0||e[r]?.kind!=="IDENTIFIER")return!1;let n=e[r-1];if(!(n?.kind==="IDENTIFIER"&&n.value==="type"))return!1;return Z1(e,r-2)},pi=(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,J1=(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"},Ll=(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(J1(e,t-1))return!0;let n=e[t-2]?.kind==="@"?t-3:t-2;if(Z1(e,n))return!0}if(r.kind==="VOID_MARKER"&&J1(e,t-2))return!0;return null},us=(e)=>e.kind==="TERMINATOR"||e.kind==="INDENT"||e.kind==="OUTDENT",Ml=(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&&!us(e[r])){if(Z.on)Z.n++;r--}t.upTo=r+1}for(let r=t.upTo;r{let n=e[e.length-1];if(!n)return!1;if(!(n.kind==="COMPARE"&&n.value===">"||n.kind==="SHIFT"&&(n.value===">>"||n.value===">>>")))return!1;if(t)return!0;return Ml(e,r),r.answers.get(r.level)??!1},zt=(e,t)=>{let r=0,n=!1;for(let i=t+1;i")return-1;if(s==="=>")n=!0;else if(s==="="||s==="REACTIVE_ASSIGN"||s==="COMPUTED_ASSIGN"||s==="READONLY_ASSIGN"||s==="GATE"||s==="EFFECT"){if(!n||mi(e,t+1,i))return i}}}return-1},jl=(e)=>{let t=[new Map],r=Array(e.length),n=[{id:0,up:null}],i=0;for(let s=0;s"||l==="=>";n.push({id:o,up:c?null:n[n.length-1]})}else if(a==="OUTDENT"){if(n.length>1)n.pop()}else if(ae.has(a))i++;else if(oe.has(a))i--;else if(i===0&&(a==="IDENTIFIER"||a==="PROPERTY")&&e[s+1]?.kind==="=")for(let o=n[n.length-1];o;o=o.up){if(Z.on)Z.n++;t[o.id].set(e[s].value,s)}}return{blockMaps:t,blockIdAt:r}},Fl=(e,t)=>{let r=0;for(;t"||n==="=>")return!0;if(n==="TERMINATOR"||n==="INDENT"||n==="OUTDENT")return!1}}return!1},Bl=(e,t)=>{let r=0;for(let n=t+1;n{let n=0;for(let i=t;i{let r=0;for(let n=t;n","=>","DO","DO_IIFE","TRY","LOOP"]),Hl=new Set(["IF","UNLESS","SWITCH","WHILE","UNTIL","FOR","CLASS"]),Gl=new Set(["->","=>","THEN","ELSE"]),Kl=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"]),Yl=new Map([["yes","true"],["no","false"],["on","true"],["off","false"],["true","true"],["false","false"],["null","null"],["undefined","undefined"],["this","this"]]);function Qt(e,t,r,n){let i=[],s=[],a=new WeakSet,o=()=>s[s.length-1]??null,l=!1,c=[],f=()=>c.length>0&&!!c[c.length-1],h=()=>c[c.length-1]??!1,u=(A)=>{let P=Yl.get(A.value);if(P===void 0)return;n(`'${A.value}' cannot name a binding — every read of '${A.value}' lowers to \`${P}\`, so the binding would be unreachable`,A.start,A.end)},d=-1,p=0,m=!1,g=!1,b=null,S=(A,P)=>(b??=jl(e),(b.blockMaps[b.blockIdAt[A]].get(P)??-1)>=A),w=null,R=(A)=>{let P=[],v=A,V=!0,W=-1;for(;;){if(Z.on)Z.n++;let F=Bl(e,v);if(F<0){if(zt(e,v)>=0)break;P.push({colon:v,shaped:!1,assigned:!1}),V=!1,W=-1;break}if(Vl(e,v+1,F)){P.push({colon:v,shaped:!1,assigned:!1}),V=!1,W=-1;break}P.push({colon:v,shaped:F>v+1&&mi(e,v+1,F),assigned:S(F+1,e[v-1].value)}),W=F;let J=e[F+1];if(J&&(J.kind==="IDENTIFIER"||J.kind==="PROPERTY")&&e[F+2]?.kind===":"){v=F+2;continue}break}let G=W>=0?e[W+1]:null,T=V&&G!=null&&G.kind!=="OUTDENT",N=T&&P.every((F)=>F.shaped&&F.assigned);if(!N&&T&&P.some((F)=>F.shaped)&&P.some((F)=>F.assigned)){let F=P.find((Q)=>!(Q.shaped&&Q.assigned)),J=e[F.colon-1],x=F.shaped?`'${J.value}' is never assigned in this block`:`the value after '${J.value}:' is not a type`;n("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 ('${J.value}: T = value'); for an implicit object, parenthesize the literal or assign it to a target`,J.start)}w??=new Map;for(let F of P)w.set(F.colon,N);return N},k=(A,P,v,V,W)=>({id:t(),kind:A,value:P,start:v,end:V,spaced:W.spaced,newLine:W.newLine,generated:!1,origin:null}),j=(A,P,v,V)=>{if(e[v]?.kind===":")n("type annotations use a single ':' (e.g. `x: number`), not '::'",P.start,e[v].end);let W=hs(e,v,V,n);if(W.parts.length===0)return-1;for(let G=v;G R) => body`, not `(x): (a: T) => R => body`",e[v].start);return i.push(k(A,Cl(W.parts),P.start,W.end,P)),v+W.consumed-1},M=(A)=>{let P=A+1;if(e[P]?.kind!=="IDENTIFIER")return-1;if(P++,P=Yt(e,P),P<0)return-1;if(e[P]?.kind!=="=")return-1;if(P++,e[P]?.kind==="INDENT"){let W=ds(e,P);return di(e,P+1,W,n,{methods:!0}),W}let v=hs(e,P,{alias:!0},n);if(v.parts.length===0)n("a type alias needs a type after '='",e[P-1].end);di(e,P,P+v.consumed,n);let V=e[P+v.consumed];if(V&&V.kind!=="TERMINATOR"&&V.kind!=="OUTDENT")n(`a type alias must fill its line — unexpected '${V.value}' after the type`,V.start);return P+v.consumed-1},L=(A)=>{let P=A+1;if(e[P]?.kind!=="IDENTIFIER")return-1;if(P++,P=Yt(e,P),P===-1)return-1;if(e[P]?.kind==="EXTENDS"){if(e[P+1]?.kind!=="IDENTIFIER")return-1;if(P+=2,P=Yt(e,P),P===-1)return-1}if(e[P]?.kind!=="INDENT")return-1;let v=ds(e,P);return di(e,P+1,v,n,{methods:!0}),v};for(let A=0;A=0){let G=V?.kind==="EXPORT"?i.pop():P,T=e[W].end;i.push(k("TYPE_DECL",r.slice(G.start,T).replace(/\r\n/g,` -`),G.start,T,P)),A=W;continue}}if(Xt(P)&&V&&V.kind!=="."&&V.kind!=="?."&&ps.has(V.kind)&&e[A+1]&&(_l.has(e[A+1].kind)||e[A+1].kind==="+"&&e[A+2]?.kind==="NUMBER")){let W=j(ms.get(P.value),P,A+1,{cast:!0});if(W<0)n(`'${P.value}' takes a type — \`x ${P.value} T\``,P.start,P.end);if(W>=0){A=W;let G=e[A+1],T=i[i.length-1];if(G&&G.newLine&&G.kind!=="TERMINATOR"&&G.kind!=="INDENT"&&G.kind!=="OUTDENT"&&!Xt(G)){let N=r.slice(T.end,G.start),F=N.indexOf(` -`);if(F>=0){let J=N[F-1]==="\r",x=T.end+F-(J?1:0),Q=J?2:1;i.push({id:t(),kind:"TERMINATOR",value:r.slice(x,x+Q),start:x,end:x+Q,spaced:!1,newLine:!1,generated:!0,origin:null})}}continue}}if(v==="COMPARE"&&P.value==="<"&&!P.spaced&&V&&(V.kind==="IDENTIFIER"||J1(i,i.length-1))){let W=i[i.length-2]??null,G=Yt(e,A);if(G>A){let T=G-1,N=e[T+1]?.kind,F=W?.kind==="DEF"||J1(i,i.length-1),J=N==="="&&e[T+2]?.kind==="COMPONENT";if(F||J){if(F&&N==="("){let x=0;for(let Q=T+1;Q=0){A=U;continue}}if(V.kind==="CALL_END"&&a.has(V)){let U=j("TYPE",P,A+1,{});if(U>=0){A=U;continue}}if(J1(i,i.length-1)){let U=j("TYPE",P,A+1,{});if(U>=0){if(V.kind==="PROPERTY"&&G?.kind==="DEF")u(V),V.kind="IDENTIFIER";A=U;continue}}if(V.kind==="TYPE_PARAMS"&&J1(i,i.length-2)){let U=j("TYPE",P,A+1,{});if(U>=0){A=U;continue}}if(V.kind==="VOID_MARKER"&&J1(i,i.length-2)){let U=j("TYPE",P,A+1,{});if(U>=0){A=U;continue}}if(s.length===0&&(V.kind==="PROPERTY"||V.kind==="IDENTIFIER")&&G?.kind==="CATCH"){let U=j("TYPE",P,A+1,{stopAtThen:!0});if(U>=0){if(V.kind==="PROPERTY")u(V),V.kind="IDENTIFIER";A=U;continue}}if(W&&(W.kind==="param"||W.kind==="defparam")&&!W.sawEq&&!W.sawType&&W.bodyDepth===0&&!W.inlineBody){let U=V.kind==="PROPERTY"||V.kind==="IDENTIFIER",r1=V.kind==="}"||V.kind==="]",q=V.kind==="?"&&(G?.kind==="PROPERTY"||G?.kind==="IDENTIFIER");if(U||r1||q){let s1=j("TYPE",P,A+1,{});if(s1>=0){if(q){if(V.kind="OPT_MARKER",G.kind==="PROPERTY")G.kind="IDENTIFIER"}else if(V.kind==="PROPERTY"&&e[A-2]?.kind!=="@")u(V),V.kind="IDENTIFIER";W.sawType=!0,A=s1;continue}}}let T=V.kind==="OPT_MARKER"?1:0,N=T?i[i.length-2]??null:V,F=(i[i.length-2-T]??null)?.kind==="@",J=i.length-(F?3:2)-T,x=N!==null&&(N.kind==="PROPERTY"||N.kind==="IDENTIFIER")&&Z1(i,J),Q=N!==null&&N.kind==="STRING"&&Z1(i,J);if(s.length===0&&x&&!F)g=!0;if(s.length===0&&V.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"&&Z1(i,i.length-6)&&zt(e,A)>=0)n("an annotated prototype member requires the unconditional chain (`X::m: T = v`) — "+"the soak form cannot carry the annotation",P.start,P.end);if(s.length===0&&V.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"&&Z1(i,i.length-6)&&zt(e,A)>=0){let U=j("TYPE",P,A+1,{});if(U>=0){A=U;continue}}if(s.length===0&&(x||Q)&&zt(e,A)>=0){let U=j("TYPE",P,A+1,{});if(U>=0){if(N.kind==="PROPERTY"&&!F){if(h()!=="class")u(N);N.kind="IDENTIFIER"}g=!1,A=U;continue}}if(s.length===0&&f()&&x&&!Fl(e,A+1)){let U=-1,r1=0;for(let q=A+1;qA+1&&mi(e,A+1,U)){let q=j("TYPE",P,A+1,{});if(q>=0){if(N.kind==="PROPERTY"&&!F){if(h()==="component")u(N);N.kind="IDENTIFIER"}A=q;continue}}}if(s.length===0&&!f()&&x&&!F&&!T){let U=w?.get(A);if(U!==void 0?U:!m&&R(A)){let q=j("TYPE",P,A+1,{});if(q>=0){if(V.kind==="PROPERTY")u(V),V.kind="IDENTIFIER";g=!1,A=q;continue}}}}if(ae.has(v))p++;else if(oe.has(v)){if(p--,d>=0&&p=0&&p===d){if(v==="COMPARE"&&P.value==="<")n("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",P.start);if(Kl.has(v))d=-1}if(v==="CLASS"||v==="COMPONENT")l=v==="CLASS"?"class":"component";else if(v==="THEN")l=!1;else if(v==="INDENT")c.push(l),l=!1;else if(v==="OUTDENT")c.pop();else if(v==="TERMINATOR")l=!1;if(s.length===0){if(v==="TERMINATOR")m=g,g=!1;else if(v==="INDENT"||v==="OUTDENT")m=!1,g=!1}if(ae.has(v)){let W="other";if(v==="PARAM_START")W="param";else if(v==="CALL_START"&&J1(i,i.length-1))W="defparam";else if(v==="CALL_START"&&V?.kind==="TYPE_PARAMS"&&J1(i,i.length-2))W="defparam";else if(v==="CALL_START"&&V?.kind==="VOID_MARKER"&&J1(i,i.length-2))W="defparam";s.push({kind:W,sawEq:!1,sawType:!1,bodyDepth:0,pendingImmediate:!1,pendingCond:!1,inlineBody:!1})}else if(oe.has(v)){if(s.pop()?.kind==="defparam"&&v==="CALL_END")a.add(P)}else{let W=o();if(W&&(W.kind==="param"||W.kind==="defparam")){let G=()=>{W.sawEq=!1,W.sawType=!1,W.pendingImmediate=!1,W.pendingCond=!1,W.inlineBody=!1};if(W.bodyDepth>0){if(v==="INDENT")W.bodyDepth++;else if(v==="OUTDENT")W.bodyDepth--}else if(v==="INDENT")if(W.pendingImmediate||W.pendingCond)W.bodyDepth=1,W.pendingImmediate=!1,W.pendingCond=!1,W.inlineBody=!1;else G();else if(v===","||v==="OUTDENT")G();else if(v==="TERMINATOR")if(W.inlineBody&&P.value===";")W.pendingImmediate=!1,W.pendingCond=!1;else G();else{if(W.pendingImmediate=Wl.has(v),Hl.has(v)&&V?.kind==="=")W.pendingCond=!0;else if(v==="THEN")W.pendingCond=!1;if(Gl.has(v))W.inlineBody=!0;if(v==="=")W.sawEq=!0}}}i.push(P)}e.length=i.length;for(let A=0;A"&&r!=="=>")continue;let n=t-1,i=e[n];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(Z.on)Z.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;n=o,i=e[n]}else{let a=0,o=-1;for(let l=t-1;l>=0;l--){if(Z.on)Z.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===")")n=o-2,i=e[n]}let s=0;for(let a=n-1;a>=0;a--){if(Z.on)Z.n++;let o=e[a];if(o.kind===")"||o.kind==="CALL_END"||o.kind==="INDEX_END"||o.kind==="]")s++;else if(o.kind==="("||o.kind==="CALL_START"||o.kind==="INDEX_START"||o.kind==="["){if(s>0){s--;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 ql(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"]),n=[0];for(let i=0;i0)n[a]--}else if(s==="INDEX_START"&&n[n.length-1]===0){let a=1,o=i;while(++o0){if(Z.on)Z.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))n.push(0);else if(r.has(e[i].kind))n.pop()}return e}var Xl=new Set(["STRING","STRING_END","REGEX","HEREGEX_END","NUMBER","BOOL","NULL","UNDEFINED","]","}","SYMBOL"]);function Jl(e){let t=0;for(let r=0;r0&&(n==="->"||n==="=>")&&r>0&&(Xl.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 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"]),n=(s)=>s!==void 0&&(s.kind==="IDENTIFIER"||s.kind==="PROPERTY"),i=[0];for(let s=0;s0)i[o]--}else if(n(e[s])&&i[i.length-1]===0&&e[s-1]?.kind!=="."&&e[s-1]?.kind!=="?."&&e[s-1]?.kind!=="@"){let o=s;for(;;){if(Z.on)Z.n++;let l=e[o+1],c=e[o+2];if(l===void 0||!n(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>s&&e[o+1]?.kind===":"){let l="";for(let f=s;f<=o;f++)l+=e[f].value;let c={...e[s],kind:"STRING",value:JSON.stringify(l),end:e[o].end};e.splice(s,o-s+1,c)}}if(t.has(e[s].kind))i.push(0);else if(r.has(e[s].kind))i.pop()}return e}function Ql(e){for(let t=0;t>>=":"COMPOUND_ASSIGN"},Es={"**=":"COMPOUND_ASSIGN","&&=":"COMPOUND_ASSIGN","||=":"COMPOUND_ASSIGN","??=":"COMPOUND_ASSIGN","<<=":"COMPOUND_ASSIGN",">>=":"COMPOUND_ASSIGN","//=":"COMPOUND_ASSIGN","%%=":"COMPOUND_ASSIGN",">>>":"SHIFT","...":"...","<=>":"BIND"},ks={"==":"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"},e3=new Set([".","?.","UNARY","NEW","DO","DO_IIFE","MATH","UNARY_MATH","+","-","**","SHIFT","RELATION","COMPARE","&","^","|","&&","||","??","TERNARY","EXTENDS"]),tr=new Set(["IDENTIFIER","PROPERTY",")","CALL_END","NUMBER","STRING","]","INDEX_END","SUPER","DAMMIT","MAYBE_DAMMIT","DYNAMIC_IMPORT"]),at=new Set([...tr,"BOOL","NULL","UNDEFINED","}","PICK_END","STRING_END","REGEX","HEREGEX_END","THIS","@"]);function t3(e,t){let r=t;while(r=e.length||r3.test(e[r+1])))r++;return r}var r3=/[\s,)\]};:]/,bi=/[0-9]/,i3=/^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,n3=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/,s3=/^\w*/,Ts=/^(?!.*(.).*\1)[gimsuy]*$/,a3=new Set([...at,"++","--"]);function o3(e,t="",{tolerant:r=!1}={}){Tn();let n=new ge(e,t),i=[],s=[],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(er[_]&&_!=="own")||ys.has(_)||bs.has(_)||Boolean(gi[_])||_==="in"||_==="of"||_==="when"||_==="import"||_==="export",S=(_,Y)=>w&&g(_)&&/^[^\S\n]+as[^\S\n]/.test(Y)||R&&_?.kind==="AS",w=!1,R=!1,k=!1,j=0,M=0,L=[],A=(_,Y,X=Y)=>{let{line:t1,col:C}=n.lineColAt(Y),K=Error(`${t}:${t1+1}:${C+1}: ${_}`);throw K.reason=_,K.start=Y,K.end=X,K},P=(_,Y,X=Y)=>{try{A(_,Y,X)}catch(t1){throw t1.openAtEnd=!0,t1}},v=(_,Y,X,t1,C={})=>{if((_==="STRING"||_==="STRING_START")&&(w||R)){let a1=i[i.length-1];if(a1?.kind==="IDENTIFIER"&&a1.value==="from")a1.kind="FROM"}if(_==="IDENTIFIER"&&Y==="from"&&i[i.length-1]?.kind==="YIELD")_="FROM";if(_==="IDENTIFIER"&&Y==="from"&&i[i.length-1]?.kind==="IDENTIFIER"&&i[i.length-2]?.kind==="ACCEPT")_="FROM";if(_==="RELATION"){let a1=i[i.length-1];if(a1?.kind==="UNARY"&&a1.value==="!")i.pop(),Y="!"+Y,X=a1.start}let K={id:M++,kind:_,value:Y,start:X,end:t1,spaced:d,newLine:p,generated:!1,origin:null,...C};if(i.push(K),!K.generated&&L.length>0){for(let a1 of L)a1.origin=K.id;L.length=0}d=!1,p=!1},V=(_,Y)=>{let X={id:M++,kind:_,value:_,start:Y,end:Y,spaced:!1,newLine:!1,generated:!0,origin:null};L.push(X),i.push(X)},W=()=>i[i.length-1]??null,G=()=>{let _=i.length-1;while(_>=2&&i[_].kind==="."&&i[_-1].kind==="PROPERTY"&&i[_-2].kind===".")_-=2;let Y=i[_-1];if(!Y||Y.kind==="INDENT"||Y.kind==="TERMINATOR"||Y.kind==="OUTDENT"||Y.kind==="RENDER")return!0;return Y.kind==="IDENTIFIER"&&Ie.has(String(Y.value).split("#")[0])},T=()=>{let _=0,Y=0;for(let X=i.length-1;X>=0;X--){let t1=i[X].kind;if(t1==="OUTDENT")_++;else if(t1==="INDENT"){if(_--,_=0;C--){let K=i[C].kind;if(K==="TERMINATOR"||K==="INDENT"||K==="OUTDENT")break;if(K==="COMPONENT")return!0}}}}return!1},N=()=>{if(!l[l.length-1]?.pickKeys)return!1;let Y=W()?.kind;return Y==="PICK_START"||Y==="OPTPICK_START"||Y===","||Y===":"||Y==="TERMINATOR"||Y==="INDENT"||Y==="OUTDENT"},F=(_,Y)=>{let X=c;while(c=e.length)P("unterminated string",Y);let t1=e.slice(X,c);return c+=_.length,t1},J=(_)=>_.replace(/\\[\s\S]|`|\$\{/g,(Y)=>Y[0]==="\\"?Y:`\\${Y}`),x=(_)=>{let Y=null,X=/\n+([^\S\n]*)(?=\S)/g,t1;while(t1=X.exec(_))if(Y===null||t1[1].length>0&&t1[1].length{if(Y===null)return _??"";if(_===null)return Y;return Y.length<=_.length?Y:_},U=(_,Y)=>{if(Y.length===1)return _;if(_=_.replace(/\r\n?/g,` +var g2=Object.defineProperty;var b2=(e)=>e;function y2(e,t){this[e]=b2.bind(null,t)}var Fe=(e,t)=>{for(var r in t)g2(e,r,{get:t[r],enumerable:!0,configurable:!0,set:y2.bind(t,r)})};class ge{constructor(e,t=""){this.path=t,this.text=e;let r=[0];for(let n=0;nthis.text.length)e=this.text.length;let t=this.lineStarts,r=0,n=t.length-1;while(r<=n){let i=r+n>>1;if(t[i]<=e)r=i+1;else n=i-1}return{line:n,col:e-t[n]}}offsetAt(e,t){if(e<0)return 0;if(e>=this.lineStarts.length)return this.text.length;let r=this.lineStarts[e],n=e+1r&&this.text.charCodeAt(n-1)===13)n--;let i=r+Math.max(0,t);return i>n?n:i}slice(e,t){return this.text.slice(e,t)}}var Z={on:!1,n:0},Tn=()=>{if(Z.on=typeof process<"u"&&!!process.env.RIP_COUNT_OPS,Z.on)Z.n=0;return Z.on};class Qr extends Error{constructor(e){super(e);this.name="TypeTextError"}}var jt=(e)=>String(e??"").trim(),Be=(e)=>String(e??""),wn=()=>{throw Error("rip: type-text rendering is unavailable in the browser")},_n=()=>{throw Error("rip: type-text rendering is unavailable in the browser")},Nn=()=>()=>!1,An=()=>new Set;function ie(e){return String(e).replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase()}function ei(e){return String(e).replace(/_([a-z])/g,(t,r)=>r.toUpperCase())}function ti(e){return ie(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 ri(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 S2(e){return typeof e==="string"&&/^[a-z_][a-z0-9_]*$/.test(e)}function R2(e){return typeof e==="string"&&e.length>0&&!/[\u0000-\u001f\u007f".]/.test(e)}var ii={__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"},vn=["idStart","table","tableWas","primary","times","softDelete"],On=["belongsTo","hasOne","hasMany"],ni={__proto__:null,column:"literal",was:"column"},In={__proto__:null,as:"property",foreignKey:"column",through:"model",targetKey:"column"};function si(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"&&!ri(r))return"'"+t+"' is a model name — canonical PascalCase, e.g. {"+t+": Membership}";if(e==="column"&&!S2(r))return"'"+t+"' is a column name Rip generates — lowercase, digits and underscores "+"only, e.g. {"+t+': "author_id"}';if(e==="literal"&&!R2(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 E2=new Set(["input","shape","mixin","enum","union","model"]);var k2=new Set(["beforeValidation","afterValidation","beforeSave","afterSave","beforeCreate","afterCreate","beforeUpdate","afterUpdate","beforeDestroy","afterDestroy","afterCommit","afterRollback"]),$n=new Set(["integer","number","boolean","date","datetime"]),T2={__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"},w2=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"]),Dn=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"),N2=(e)=>`__${e}__behavior`,H1=(e,t,r=!1)=>{if(e[t]?.kind!==":")return null;let n=e[t+1];if(!n||n.spaced)return null;if(L1(n)||r&&/^[a-z]+$/.test(n.value)&&n.kind===n.value.toUpperCase())return n;return null};function A2(e,t){if(typeof e?.start!=="number")throw e;t(e)}function Mn(e,t,r,n,i=null){if(r.indexOf("schema")===-1)return;let s=[],a={defaultMaxString:null,tolerate:i},o=0,l=0;while(l0){l+=f;continue}if(I2(e,l,n)){l=$2(e,l,s,a,t,n,r);continue}s.push(c),l++}e.length=0;for(let c of s)e.push(c)}function v2(e,t,r,n,i){let s=e[t];if(!s||s.kind!=="IDENTIFIER"||s.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(!Dn.has(l))i(`unknown schema pragma 'schema.${l}' — known pragmas: ${[...Dn].join(", ")}`,a.start);if(n>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 jn=(e,t)=>{if(e[t]?.kind==="SYMBOL")return e[t];return e[t]?.kind===":"&&e[t].spaced?H1(e,t,!0):null},Fn=(e,t)=>e[t]?.kind==="SYMBOL"?1:2,O2=(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")s("inline schema bodies do not support '->' (methods/hooks/scopes/transforms) — use the indented form",R.start);else if(w===0&&(k==="EFFECT"||k==="!>"))s(`inline schema bodies do not support '${R.value}' (${k==="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)s("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")s(`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=D2(l,c,d,{schemaStart:o.start,defaultMaxString:n.defaultMaxString,tolerate:n.tolerate??null},s);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 D2(e,t,r,n,i){let s=[],a=x2(r);if(e==="input"&&!t&&a.length>0&&H1(a[0],0))e="enum";if(e==="enum")for(let o of a)K2(o,s,i);else if(e==="union"){for(let c of a)G2(c,s,i);let o=s.filter((c)=>c.tag==="directive"&&c.name==="on").length,l=s.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})`,n.schemaStart);if(l.length<2)i(`:union needs at least two constituent schemas (got ${l.length})`,n.schemaStart)}else{for(let o of a)C2(e,o,s,n,i);if(e==="model")j2(s,i);else for(let o of s){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:s,toJSON(){return this.kind}}}function x2(e){let t=[],r=[],n=0;for(let i of e){if(i.kind==="INDENT")n++;if(i.kind==="OUTDENT")n--;if(i.kind==="TERMINATOR"&&n===0){if(r.length)t.push(r),r=[];continue}r.push(i)}if(r.length)t.push(r);return t}function C2(e,t,r,n,i){let s=t[0];if(!s)return;if(s.kind==="@"){let U=t[1];if(!L1(U))i("expected a directive name after '@'",s.start);let i1=U.value;if(i1==="ensure"){let I=2,c1=!1;if(t[2]?.kind==="DAMMIT"&&!t[2].spaced)c1=!0,I=3;let O=B2(t.slice(I),s,i);for(let D of O)r.push({tag:"ensure",name:"ensure",message:D.message,field:D.field,fieldStart:D.fieldStart,async:c1,paramTokens:D.paramTokens,bodyTokens:D.bodyTokens,start:s.start});return}if(i1==="scope"){let I=M2(t.slice(2),s,i);r.push({tag:"scope",name:I.name,paramTokens:I.paramTokens,bodyTokens:I.bodyTokens,start:s.start});return}if(i1==="defaultScope"){let I=Bn(t.slice(2),s,"@defaultScope",i);if(I.paramTokens.length)i("@defaultScope takes no parameters — write '@defaultScope -> @where(...)'",s.start);r.push({tag:"defaultScope",name:"defaultScope",paramTokens:[],bodyTokens:I.bodyTokens,start:s.start});return}let q=null,s1=t.slice(2);if(i1==="mixin"){let I=s1[0];if(!L1(I))i("@mixin requires a target name — '@mixin Timestamps'",s.start);if(s1.length>1)i("@mixin takes exactly one schema name",s1[1].start);q=[{target:I.value}]}r.push({tag:"directive",name:i1,args:q,argTokens:s1,start:s.start,nameStart:U.start});return}if(s.kind==="PROPERTY"){if(n.tolerate){try{xn(e,s,t,r,i)}catch(U){A2(U,n.tolerate)}return}xn(e,s,t,r,i);return}if(s.kind!=="IDENTIFIER"&&!rt(s))i(`unexpected ${s.kind} at schema top level — allowed: fields ('name! type'), directives ('@name'), methods ('name: -> body'), computed getters ('name: ~> body')`,s.start);let a=s.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),i1=t[l+1];if(U){h=!0,u=U.value;let q=T2[u];if(q&&typeof q==="object")c=q.type,d=!0;else c=q||"any";l+=3}else if(i1?.kind==="IDENTIFIER"&&!i1.spaced){if(!$n.has(i1.value))i(`'~${i1.value}' is not coercible — built-in coercion exists for: ${[...$n].join(", ")}; named coercers use a symbol ('~:${i1.value}'); otherwise write a transform ('${a}, -> …')`,i1.start);h=!0,c=i1.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=(i1)=>{if(f.push(i1.value),i1.bracketed){if(w)i(`field '${a}' brackets more than one union member as its default — a field has one default`,i1.start);S=i1.value,w={start:i1.start,end:i1.end}}};U(R),l=R.next,p=!0;while(t[l]?.kind==="|"){let i1=b(l+1);if(!i1)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(i1),l=i1.next}c="literal-union"}let k=!1,j=(U)=>(t[U]?.kind==="["||t[U]?.kind==="INDEX_START")&&(t[U+1]?.kind==="]"||t[U+1]?.kind==="INDEX_END");if(j(l)){if(k=!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(h&&k)i(`coercion ('~${c}') does not apply to array types — coerce per-element with a transform instead`,m.start);if(d)k=!0;if(k&&f)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,L=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 P=null,v=void 0,V=!1;if(w)v=S,V=!0;let H={};if(w)H.start=w.start,H.end=w.end;let G=null,T=null,N=null,F=!1,J=!1;if(A.length>0){if(A[0]?.kind===",")A=A.slice(1);if(A.length>=2&&A[0].kind==="INDENT"){let i1=0,q=-1;for(let s1=0;s1"){let I=J2(q),c1=q[0].kind==="@"&&I===2;if(I>0&&!c1)i(`field '${a}' has a transform after other content; a comma is required before '->'`,q[I].start);if(!c1){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 s1=q[0];if(s1.kind==="["||s1.kind==="INDEX_START"){if(V)i(`field '${a}' has more than one '[…]' default bracket`,s1.start);v=q2(q,a,i,H),V=!0}else if(s1.kind==="{"){if(e!=="model"&&e!=="mixin")i(`field attrs ('{…}') are persistence metadata — :model/:mixin-only ('{was: "old_column"}' annotates a column rename)`,s1.start);if(N)i(`field '${a}' has more than one '{…}' attrs bracket`,s1.start);N=P2(q,a,i)}else if(Y2(q)){if(P)i(`field '${a}' has more than one range constraint — one 'min..max' per field`,s1.start);P=z2(q,a,i)}else if(s1.kind==="REGEX"&&q.length===1){if(G)i(`field '${a}' has more than one regex constraint`,s1.start);G=X2(s1,i)}else if(s1.kind==="->"){if(i1!==U.length-1)i(`transform '-> …' must be the last element on the field line for '${a}'`,s1.start);T=q.slice(1)}else if(s1.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)`,s1.start);if(q.length>2&&q[2].kind==="->"){if(i1!==U.length-1)i(`transform '-> …' must be the last element on the field line for '${a}'`,q[2].start);T=q.slice(3),q=q.slice(0,2)}if(q.length===2&&I==="unique"){if(F)i(`field '${a}' has more than one '@unique'`,s1.start);F=!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`,s1.start);if(J)i(`field '${a}' has more than one '@primary'`,s1.start);J=!0}else i(`unknown inline attribute '@${I??""}' on field '${a}' — the inline attributes are '@unique' and '@primary'`,s1.start)}else i(`unexpected trailer for field '${a}' — expected '[…]' default, '/regex/', 'min..max' range, or '-> transform'`,s1.start)}}if(h&&T)i(`field '${a}' has both '~${c}' coercion and a '->' transform — a transform replaces coercion; coerce inside it instead`,s.start);let x={};if(P){if(P.min!==void 0)x.min=P.min;if(P.max!==void 0)x.max=P.max;if(P.min===void 0&&x.min===void 0&&o.includes("!"))x.min=1}if(G)x.regex=G;if(V)x.default=v;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(" | ")})`,s.start);if(n.defaultMaxString!=null&&!G&&!f&&w2.has(c)&&x.max===void 0)x.max=n.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`,s.start);let e1=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:k,literals:f,coerce:h,coercer:u,constraints:e1,transformTokens:T,unique:F,primary:J,attrs:N,start:s.start,typeSpan:L,defaultSpan:H.start===void 0?null:[H.start,H.end]})}function ai(e,t,r,n){if(e[e.length-1]?.kind!=="}")n(`${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"),s={};for(let a of Oe(i)){if(!a.length)continue;let o=a[0];if(!L1(o))n(`${r} options must be '{key: value}' pairs — got ${o.kind}`,o.start);let l=o.value,c=t[l];if(c===void 0)n(`unknown ${r} option '${l}' — known options: ${Object.keys(t).join(", ")}`,o.start);if(l in s)n(`${r} repeats option '${l}'`,o.start);let f=1;if(a[f]?.kind===":")f++;let h=a.slice(f);if(h.length!==1)n(`${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&&!si(c,l,g)?g:c==="model"?"Membership":"author";n(`${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('"'))n(`${r} option '${l}' names a database column, so it is QUOTED — `+`'{${l}: "${L1(u)?ie(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=si(c,l,p);if(m)n(`${r} option ${m}; got '${p}'`,o.start);s[l]=p}if(!Object.keys(s).length)n(`${r} has an empty '{…}' options bracket`,e[0].start);return s}function P2(e,t,r){return ai(e,ni,`field '${t}'`,r)}function L2(e,t,r){let n=ai(e,In,`@${t}`,r);if(n.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(n.targetKey&&!n.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 n}function M2(e,t,r){if(!e.length)r("@scope requires ':name, -> body' (or ':name, (args) -> body')",t.start);let n=H1(e,0);if(!n)r("@scope name must be a :symbol — '@scope :active, -> @where(active: true)'",e[0].start);let i=n.value,s=e[2],a=s&&!s.spaced&&s.start===n.end&&(s.value==="!"||s.value==="?");if(a||!/^[a-z][a-zA-Z0-9]*$/.test(i))r(`@scope name ':${i}${a?s.value:""}' must be a lowercase-first alphanumeric identifier — scopes chain as query-builder methods`,n.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(...)'`,n.start);let l=Bn(o,n,`@scope :${i}`,r);return{name:i,paramTokens:l.paramTokens,bodyTokens:l.bodyTokens}}function Bn(e,t,r,n){if(!e.length)n(`${r}: expected '-> body' or '(args) -> body'`,t.start);let i=[],s=0,a=e[0];if(a.kind==="("||a.kind==="PARAM_START"||a.kind==="CALL_START"){let c=1;s=1;while(s0){let f=e[s].kind;if(f==="("||f==="PARAM_START"||f==="CALL_START")c++;if(f===")"||f==="PARAM_END"||f==="CALL_END"){if(c--,c===0){s++;break}}i.push(e[s]),s++}if(c!==0)n(`${r}: unclosed '(' in parameters`,a.start)}let o=e[s];if(o?.kind!=="->")n(`${r}: expected '->' ${i.length?"after parameters":"to start the body"}`,(o??t).start);let l=e.slice(s+1);if(!l.length)n(`${r}: function body is empty`,o.start);return{paramTokens:i,bodyTokens:l}}function j2(e,t){let r=new Set;for(let m of e){if(m.tag!=="directive")continue;let g=ii[m.name];if(g===void 0)t(`unknown directive '@${m.name}' on :model — legal: ${Object.keys(ii).map((b)=>"@"+b).join(", ")}, @ensure, @scope, @defaultScope`,m.nameStart??m.start);if(vn.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=F2(m,g,t)}if(e.some((m)=>m.tag==="directive"&&m.name==="mixin"))return;let i=new Set,s=new Map,a=new Map,o=new Map,l=(m,g,b,S)=>{if(i.has(g))t(`${s.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),s.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??ie(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??ie(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??ie(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??ti(g.as??g.target);l(ei(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:ie(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 F2(e,t,r){let n=e.argTokens??[],i=(s,a)=>r(`@${e.name}: ${a}`,s.start);switch(t){case"none":{if(n.length)i(n[0],"takes no arguments");return null}case"target":{let s=n[0];if(!L1(s))r(`@${e.name} requires a target name — '@${e.name} User'`,(s??{start:e.start}).start);let a=!1,o=1;if(n[o]?.kind==="?"&&!n[o].spaced)a=!0,o++;let l=null;if(n[o]?.kind===","&&n[o+1]?.kind==="{")l=L2(n.slice(o+1),e.name,r),o=n.length;if(oL1(c)||rt(c),l=0;if(H1(n,0)){let c=H1(n,0);s.push(c.value),a.push(c),l=2}else if(o(n[0]))s.push(n[0].value),a.push(n[0]),l=1;else if(n[0]?.kind==="["||n[0]?.kind==="INDEX_START"){let c=1;l=1;let f=[];while(l0){let h=n[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(n[0],"unclosed '[' in the column list");for(let h of Oe(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]??n[0],`column names are bare identifiers or :symbols — '@${e.name} [:a, :b]'`);s.push(d.value),a.push(d)}}if(!s.length)r(`@${e.name} requires a field name or list — '@${e.name} :email' or '@${e.name} [:a, :b]'`,(n[0]??{start:e.start}).start);if(l1)i(n[1],`takes one table name — unexpected ${n[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}' → '${ie(a)}'). Spell it 'MdmUser'-style, or name the table exactly by quoting it: '@${e.name} "${a}"'`,s.start);a=ie(a)}return[{name:a}]}case"field":{let s=n[0];if(!L1(s)&&!rt(s))r(`@${e.name} requires a property name — '@${e.name} patientId'`,(s??{start:e.start}).start);let a=1,o=null;if(n[a]?.kind===","&&n[a+1]?.kind==="{")o=ai(n.slice(a+1),ni,`@${e.name}`,r),a=n.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(`'${s}': 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 '${s}:'; for methods/computed use 'name: -> body' or 'name: ~> body'`,r[1].start);else i(`schema top-level '${s}:' must be followed by '->' (method), '~>' (computed getter), or '!>' (eager derived)`,r[1].start);let h=c==="~>"?"computed":c==="!>"?"derived":e==="model"&&k2.has(s)?"hook":"method";if(o.length&&h!=="method")i(`'${s}': ${h==="computed"?"computed getters (~>)":h==="derived"?"eager-derived fields (!>)":"lifecycle hooks"} take no parameters — only methods do`,r[1].start);n.push({tag:h,name:s,paramTokens:o,bodyTokens:r.slice(f),start:t.start})}function B2(e,t,r){let n=e;if(!n.length)r("@ensure requires 'message, (x) -> body' or a '[…]' array of pairs",t.start);let i=n[0];if(i.kind==="["||i.kind==="INDEX_START"){let a=U2(n,i,r),o=V2(a);if(o.length===0)r("@ensure […] must contain at least one 'message, fn' pair",i.start);return Cn(o,i,r)}let s=Oe(n);if(s.length<2)r("@ensure inline form must be 'message, (x) -> body' — did you forget the comma?",i.start);if(s.length>3||s.length===3&&!Un(s[1]))r(`@ensure inline form takes 'message[, :field], fn' (got ${s.length} comma-separated parts) — use '@ensure […]' for multiple refinements`,i.start);return Cn(s,i,r)}var Un=(e)=>e&&e.length===2&&H1(e,0)!==null;function Cn(e,t,r){let n=[],i=0;while(i=e.length)r(`@ensure: missing function after message${a?" and :field":""}`,(s[0]??t).start);n.push(W2(s,a,e[i++],t,r))}return n}function U2(e,t,r){let n=0,i=[];for(let s=0;s=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 V2(e){let t=[],r=[],n=0;for(let i of e){let s=i.kind;if(s==="("||s==="["||s==="{"||s==="CALL_START"||s==="INDEX_START"||s==="PARAM_START"||s==="INDENT")n++;if(s===")"||s==="]"||s==="}"||s==="CALL_END"||s==="INDEX_END"||s==="PARAM_END"||s==="OUTDENT")n--;if(n===0&&(s===","||s==="TERMINATOR")){if(r.length)t.push(r),r=[];continue}r.push(i)}if(r.length)t.push(r);return t}function W2(e,t,r,n,i){if(!e?.length)i("@ensure: missing message (expected a string literal)",n.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]??n).start);let s=e[0],a=JSON.parse(s.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",s.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??s).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 Vn(e,t,r,n=null){if(!e.length)return[];let i=H2(e,t,r,n);for(let s=i.length-1;s>=0&&i[s].type===null;s--)i[s].optional=!0;return i}function H2(e,t,r,n){let i=(s)=>s.kind!=="TERMINATOR"&&s.kind!=="INDENT"&&s.kind!=="OUTDENT";return Oe(e).map((s)=>{let a=s.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]??s[0]).start);let l=o?[...s].filter(i).pop():null,c=o&&n!==null?jt(n.slice(a[1].end,l.end)).trim():null;return{name:a[0].value,type:c,optional:!1}})}function G2(e,t,r){let n=e[0];if(!n)return;if(n.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??n).start);let s=H1(e,2);if(!s)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:s.value}],start:n.start});return}if(n.kind==="IDENTIFIER"&&e.length===1){t.push({tag:"union-member",name:n.value,start:n.start});return}r(`:union bodies accept only '@on :field' and bare constituent schema names (one per line) — got ${n.kind}${e.length>1?" followed by "+e[1].kind:""}`,n.start)}function K2(e,t,r){let n=e[0];if(!n)return;if(n.kind==="@")r(`:enum schemas don't accept '@${e[1]?.value??"directive"}' — enums hold only :symbol members`,n.start);let i=H1(e,0);if(!i)r(`enum member must be a :symbol — use ':${n.value??"name"}' for a bare member or ':${n.value??"name"} value' for a valued one`,n.start);let s=i.value,a=e[2];if(!a){t.push({tag:"enum-member",name:s,value:void 0,start:n.start});return}if(a.kind===":")r(`enum member ':${s}' — drop the ':' before the value; use ':${s} value'`,a.start);if(e.length>3&&!(e.length===4&&a.kind==="-"&&e[3].kind==="NUMBER"))r(`extra tokens after enum member ':${s}' value`,e[3].start);let o=a.kind==="-"&&e[3]?.kind==="NUMBER"?-Number(e[3].value):Wn(a,`enum member ':${s}' value`,r);t.push({tag:"enum-member",name:s,value:o,start:n.start})}function Y2(e){return e.some((t)=>t.kind==="..")&&e.every((t)=>t.kind===".."||t.kind==="NUMBER"||t.kind==="-")}function z2(e,t,r){let n=0,i=()=>{let l=1;if(e[n]?.kind==="-")l=-1,n++;let c=e[n++];if(c?.kind!=="NUMBER")r("range endpoints must be numeric literals",(c??e[0]).start);return l*Number(c.value)},s;if(e[n]?.kind!=="..")s=i();n++;let a;if(na)r(`range '${s}..${a}' is reversed — write the smaller endpoint first`,e[0].start);let o={};if(s!==void 0)o.min=s;if(a!==void 0)o.max=a;return o}function q2(e,t,r,n={}){let i=e.slice(1,-1);if(i.length)n.start=i[0].start,n.end=i[i.length-1].end;let s=Oe(i);if(s.length!==1)r(s.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 ${s.length} elements)`,e[0].start);let a=s[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 Wn(a[0],`field '${t}' default`,r)}function X2(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(n){t(`invalid regex '${e.value}': ${n.message}`,e.start)}}function Wn(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 Oe(e){let t=[],r=[],n=0;for(let i of e){let s=i.kind;if(s==="("||s==="["||s==="{"||s==="CALL_START"||s==="INDEX_START"||s==="PARAM_START"||s==="INDENT")n++;if(s===")"||s==="]"||s==="}"||s==="CALL_END"||s==="INDEX_END"||s==="PARAM_END"||s==="OUTDENT")n--;if(s===","&&n===0){if(r.length)t.push(r);r=[];continue}r.push(i)}if(r.length)t.push(r);return t}function J2(e){let t=0;for(let r=0;r")return r}return-1}function Hn(e,t,r,n=null,i=null,s=!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(", ");Q2(u,r.get(d),i?.get(d)??null,c,f,s,a?.get(d)??null,o?.get(d)??null,h)}),c("]"),n)c(", adapter: "),h(n);return c("}"),l}var Ue=(e)=>typeof e==="string"?e:e.code;function Gn(e,t,r,n){let i=[];return e.entries.forEach((s,a)=>{if(s.tag!=="derived"&&s.tag!=="computed"&&s.tag!=="method")return;let o=r.get(a);if(o===void 0)return;let l=n?.get(a)??null,c=Ue(o);for(let[f,h]of Kn(o,l).reverse())c=c.slice(0,f)+h+c.slice(f);i.push(`${s.name}: ${c}`)}),i.length?`const ${N2(t)} = {${i.join(", ")}};`:null}function Kn(e,t,r=!0){if(typeof e==="string")return[];let n=r?(e.annots??[]).map(([i,s])=>[i,s]):[];if(t!==null){let{code:i,thisAt:s}=e;n.push([s,`this: ${t}${i[s]===")"?"":", "}`])}return n.sort((i,s)=>i[0]-s[0])}function Z2(e,t,r,n,i=!1){let s=Kn(e,t,i);if(s.length===0){r(Ue(e));return}let{code:a}=e,o=0;for(let[l,c]of s)r(a.slice(o,l)),n(c),o=l;r(a.slice(o))}function Q2(e,t,r,n,i,s=!1,a=null,o=null,l=n){switch(e.tag){case"computed":case"method":case"derived":case"hook":case"scope":case"defaultScope":n(`{tag: ${JSON.stringify(e.tag)}, name: ${JSON.stringify(e.name)}, fn: `),Z2(t,r,l,i,s),n("}");return;default:let c={},f=el(e,t,c),h=[];if(s&&a!==null&&c.defaultEnd!==void 0)h.push({at:c.defaultEnd,ts:` satisfies ${a}`,span:e.defaultSpan??null});if(s&&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(s&&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)n(f.slice(u,d.at)),i(d.ts,d.span??null),u=d.at;n(f.slice(u))}}function el(e,t,r={}){if(t!==void 0)t=Ue(t);switch(e.tag){case"field":{let n=['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)n.push("unique: true");if(e.primary)n.push("primary: true");if(e.literals)n.push(`literals: ${JSON.stringify(e.literals)}`);if(e.coerce){if(n.push("coerce: true"),e.coercer)n.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 s=-1;if(e.constraints.default!==void 0)s=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(s>=0){let a=`{${n.join(", ")}, constraints: {`;r.defaultEnd=a.length+i.slice(0,s+1).join(", ").length}n.push(`constraints: {${i.join(", ")}}`)}}if(e.attrs)n.push(`attrs: {${Object.keys(e.attrs).sort().map((i)=>`${i}: ${Ft(e.attrs[i])}`).join(", ")}}`);if(t)n.push(`transform: ${t}`);return`{${n.join(", ")}}`}case"directive":{let n=['tag: "directive"',`name: ${JSON.stringify(e.name)}`];if(e.args){if(e.name==="mixin"||On.includes(e.name)){let i=e.args[0];n.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")n.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")n.push(`args: [{field: ${JSON.stringify(e.args[0].field)}}]`);else if(e.name==="unique"||e.name==="index")n.push(`args: [{fields: ${JSON.stringify(e.args[0].fields)}}]`);else if(e.name==="idStart")n.push(`args: [{value: ${e.args[0].value}}]`);else if(e.name==="table"||e.name==="tableWas")n.push(`args: [{name: ${JSON.stringify(e.args[0].name)}}]`)}return`{${n.join(", ")}}`}case"ensure":{let n=['tag: "ensure"',`message: ${JSON.stringify(e.message)}`];r.fnAt=`{${n.join(", ")}, fn: `.length;let i=[...n,`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 n=['tag: "enum-member"',`name: ${JSON.stringify(e.name)}`];if(e.value!==void 0)n.push(`value: ${JSON.stringify(e.value)}`);return`{${n.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 tl=new Set(["pick","omit","partial","required","extend"]);function W1(e){return e&&e.valueOf?e.valueOf():e}function Yn(e){return e.entries.some((t)=>t.tag==="directive"&&t.name==="mixin")}function rl(e){return ei(e.foreignKey??ti(e.as??e.target))}function il(e){if(Yn(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})},n=!1,i=!1,s=[];for(let a of e.entries){if(a.tag!=="directive")continue;if(a.name==="times")n=!0;else if(a.name==="softDelete")i=!0;else if(a.name==="belongsTo"){let o=a.args&&a.args[0];if(o&&o.target)s.push({fk:rl(o),required:o.optional!==!0})}}if(r("id","integer",!0),n)r("createdAt","datetime",!0),r("updatedAt","datetime",!0);if(i)r("deletedAt","datetime",!1);for(let{fk:a,required:o}of s)r(a,"integer",o);return t}function nl(e){if(Yn(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 Pn(e,t){let r=e.modifiers.filter((i)=>i!==(t==="partial"?"!":"?")),n=t==="partial"?"?":"!";if(!r.includes(n))r=[...r,n];return{...e,modifiers:r}}function sl(e,t,r){switch(t.method){case"pick":{let n=new Map;for(let i of t.keys){if(!e.has(i))return null;n.set(i,e.get(i))}return n}case"omit":{let n=new Set(t.keys),i=new Map;for(let[s,a]of e)if(!n.has(s))i.set(s,a);return i}case"partial":{let n=new Map;for(let[i,s]of e)n.set(i,Pn(s,"partial"));return n}case"required":{let n=new Set(t.keys),i=new Map;for(let[s,a]of e)i.set(s,n.has(s)?Pn(a,"required"):a);return i}case"extend":{let n=t.otherDescriptor||r.get(t.otherName);if(!n)return null;let i=nl(n);if(!i)return null;let s=new Map(e);for(let[a,o]of i){if(s.has(a))return null;s.set(a,o)}return s}default:return null}}function al(e,t,r){let n=il(e);if(!n)return null;for(let i of t)if(n=sl(n,i,r),!n)return null;return{kind:"shape",entries:[...n.values()]}}function ol(e){let t=[],r=e;while(!0){if(!Array.isArray(r))return null;let n=r[0];if(!Array.isArray(n))return null;if(W1(n[0])!==".")return null;let i=W1(n[2]);if(!tl.has(i))return null;let s=r.slice(1),a;if(i==="partial"){if(s.length)return null;a={method:i}}else if(i==="extend"){if(s.length!==1)return null;let c=s[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=ll(s);if(!c||!c.length)return null;a={method:i,keys:c}}t.unshift(a);let o=n[1];if(Array.isArray(o)){r=o;continue}let l=W1(o);if(typeof l!=="string")return null;return{base:l,ops:t}}}function ll(e){let t=[];for(let r of e)if(Array.isArray(r)){if(W1(r[0])!=="array")return null;for(let n=1;n{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"]),Ie=new Set([...Bt,...Ve]),oi=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"]),$e=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 li(e){let t=String(e).toLowerCase(),r=new Set($e),n=it[t];if(n)for(let i of n)r.add(i);if(Ve.has(String(e)))for(let i of nt)r.add(i);return[...r]}function fl(e,t){if(Math.abs(e.length-t.length)>2)return 3;let r=Array.from({length:t.length+1},(n,i)=>i);for(let n=1;n<=e.length;n++){let i=[n];for(let s=1;s<=t.length;s++)i[s]=Math.min(r[s]+1,i[s-1]+1,r[s-1]+(e[n-1]===t[s-1]?0:1));r=i}return r[t.length]}function Xn(e,t){let r=li(e),n=String(t).toLowerCase(),i=r.find((l)=>l.toLowerCase()===n);if(i!==void 0&&i!==t)return i;if(String(t).length<3)return null;let s=null,a=3,o=!1;for(let l of r){if(l===String(t))continue;let c=fl(String(t),l);if(cIe.has(String(e).split("#")[0]),es=(e)=>typeof e==="string"&&hl.test(e),fi=(e)=>gl(e)||es(e);function ts(e,t,r){let n=!1;for(let G of e)if(G.kind==="RENDER"){n=!0;break}if(!n)return e;let i=[],s=(G,T,N,F={})=>{let{at:J,...x}=F,e1=J??N.end;return{id:t(),kind:G,value:T,start:e1,end:e1,spaced:!1,newLine:!1,generated:!0,origin:N.id,...x}},a=!1,o=0,l=0,c=[],f=[],h=[],u=(G,T,N)=>T{let x=1,e1=T;while(e1>=0&&x>0){if(Z.on)Z.n++;let U=u(G,e1,J)?.kind;if(U===N)x++;else if(U===F)x--;if(x>0)e1--}return e1},p=(G)=>{let T=i.length;while(T>0&&u(i,T,G)?.kind==="OUTDENT")T=d(i,T-1,"OUTDENT","INDENT",G);while(T>0){if(Z.on)Z.n++;let F=i[T-1].kind;if(F==="TERMINATOR"||F==="RENDER")break;if(F==="OUTDENT"){T=d(i,T-2,"OUTDENT","INDENT",G);continue}if(F==="INDENT"){let J=u(i,T,G)?.kind;if(J==="CALL_END"||J===")"){T=d(i,T-1,J,J==="CALL_END"?"CALL_START":"(",G);continue}break}if(F==="CALL_END"||F===")"){T=d(i,T-2,F,F==="CALL_END"?"CALL_START":"(",G);continue}if(F==="INTERPOLATION_END"){T=d(i,T-2,"INTERPOLATION_END","INTERPOLATION_START",G);continue}if(F==="STRING_END"){T=d(i,T-2,"STRING_END","STRING_START",G);continue}T--}let N=u(i,T,G);return N?.kind==="IDENTIFIER"&&(fi(N.value)||(T===0||["INDENT","TERMINATOR","RENDER"].includes(i[T-1]?.kind)))},m=()=>{let G=0;for(let T=i.length-1;T>=0;T--){if(Z.on)Z.n++;let N=i[T].kind;if(Zn.has(N))G++;else if(Jn.has(N)){if(G===0)return 1;G--}else if(N==="TERMINATOR"||N==="RENDER"||N==="INDENT"||N==="OUTDENT")break}return 0},g=(G)=>{let T=i[i.length-1];if(!T)return!1;if(m()!==0)return!1;let N=T.kind;if((N===","||N==="IDENTIFIER"||N==="PROPERTY")&&p(G))return!0;if((N==="INDENT"||N==="TERMINATOR")&&f.includes(l))return!0;return!1},b=(G)=>{let T=1;for(let N=G+1;N0;N++){if(Z.on)Z.n++;let F=e[N].kind;if(F==="("||F==="CALL_START")T++;else if(F===")"){if(T--,T===0)e[N].kind="CALL_END"}else if(F==="CALL_END")T--}},S=(G)=>{let T=1;for(let N=i.length-1;N>=0&&T>0;N--){if(Z.on)Z.n++;if(i[N].kind==="CALL_END")T++;else if(i[N].kind==="CALL_START"){if(T--,T===0&&N>0&&i[N-1].kind==="PROPERTY"&&i[N-1].value==="__clsx")return!0}}return!1},w=(G)=>{while(h.length>0){let T=h[h.length-1];if(G.kind==="INDENT"||Jn.has(G.kind)){T.depth++;return}if(G.kind==="OUTDENT"||Zn.has(G.kind)){if(T.depth===0){i.push(s("CALL_END",")",i[i.length-1]??G)),h.pop();continue}T.depth--;return}if(G.kind==="TERMINATOR"&&T.depth===0){i.push(s("CALL_END",")",i[i.length-1]??G)),h.pop();continue}return}},R=(G)=>G===0||st.has(e[G-1].kind),k=(G,T)=>{let N=e[G+1]?.kind==="TYPE"?e[G+2]:e[G+1];return N!==void 0&&T.has(N.kind)},j=new Set;for(let G=0,T=0;G{let T=new Set,N=G+1;while(NA.some((T)=>T.names.has(G))||L.length>0&&L[L.length-1].names.has(G)||j.has(G);for(let G=0;G0)w(T);if(!st.has(T.kind)&&R(G))v=T.kind;if(T.kind==="COMPONENT")L.push({level:l+1,names:M(G)});if(T.kind==="RENDER"){a=!0,o=l+1,A.push({level:o,names:new Set}),i.push(T);continue}if(T.kind==="INDENT"){if(l++,a){let F=e[G-1]?.kind;if(F==="->"||F==="=>")P.push(l);else if(P.length===0&&ml.has(v))A.push({level:l,names:new Set(v==="FOR"?V??[]:[])})}V=null,i.push(T);continue}if(T.kind==="OUTDENT"){l--;for(let F of[L,A])while(F.length>0&&F[F.length-1].level>l)F.pop();while(P.length>0&&P[P.length-1]>l)P.pop();while(f.length>0&&f[f.length-1]>l)f.pop();i.push(T);while(c.length>0&&c[c.length-1]>l)i.push(s("CALL_END",")",T)),c.pop();if(a&&l0){let F=i[i.length-1].kind;if(F==="TERMINATOR"||F==="INDENT"||F==="RENDER"){i.push(s("IDENTIFIER","__text__",T,{at:T.start,spaced:T.spaced,newLine:T.newLine})),i.push(s("CALL_START","(",T,{at:T.start})),h.push({depth:0});continue}}if(T.kind==="UNARY_MATH"&&T.value==="~"&&N?.kind==="IDENTIFIER"){i.push(s("PROPERTY","__transition__",T,{spaced:T.spaced,newLine:T.newLine})),i.push(s(":",":",T)),N.kind="STRING",N.value=`"${N.value}"`,N.transitionValue=!0;continue}if(T.transitionValue&&N!==null&&Qn.has(N.kind)){i.push(T),i.push(s(",",",",T,{at:N.start}));continue}if(T.kind==="BIND"){let F=i[i.length-1];if(F!==void 0&&(F.kind==="IDENTIFIER"||F.kind==="PROPERTY")&&N!==null&&(N.kind==="IDENTIFIER"||N.kind==="@")){F.value=`__bind_${F.value}__`,i.push(s(":",":",T));continue}}if(T.kind==="IDENTIFIER"&&N?.kind==="-"&&!N.spaced){let F=[T.value],J=G+1,x=T.end;while(J+11&&e[J-1].kind==="PROPERTY"){let e1=F.join("-");i.push({...T,kind:"STRING",value:`"${e1}"`,end:x}),G=J-1;continue}}if(T.kind==="."){let F=i[i.length-1]?.kind;if(F==="INDENT"||F==="TERMINATOR"||F==="RENDER"){if(N?.kind==="PROPERTY"){let J=e[G+2];if(!J||J.kind!==":"){i.push(s("IDENTIFIER","div",T,{spaced:T.spaced,newLine:T.newLine})),i.push(T);continue}T={...T,kind:"IDENTIFIER",value:"div"}}else if(!N||N.kind!=="(")T={...T,kind:"IDENTIFIER",value:"div"}}}if(T.kind==="."&&N?.kind==="("){let F=i[i.length-1]?.kind,J=F==="INDENT"||F==="TERMINATOR"||F==="RENDER";if(N.kind="CALL_START",b(G+1),J)i.push(s("IDENTIFIER","div",T,{spaced:T.spaced,newLine:T.newLine})),i.push(T),i.push(s("PROPERTY","__clsx",T));else if(F===":")i.push(s("IDENTIFIER","__clsx",T,{spaced:T.spaced,newLine:T.newLine}));else i.push(T),i.push(s("PROPERTY","__clsx",T));continue}if(T.kind==="@"&&N?.kind==="PROPERTY"&&!N.spaced){let F=e[G+2],J=F?.kind===".",x=F?.kind===":";if(!J&&!x&&g(T)){let e1=String(N.value),U=`on${e1[0].toUpperCase()}${e1.slice(1)}`;if(F?.kind==="=")r(`a \`=\` cannot follow a bare event directive on one line — \`@${e1} = expr\` would assign to the minted handler and invoke the assignment as the listener; bind explicitly (\`@${e1}: handler\`), or keep the bare \`@${e1}\` and put the text on its own \`= expr\` line`,F.start);if(i.push(T),i.push(N),i.push(s(":",":",N)),i.push(s("@","@",N)),i.push(s("PROPERTY",U,N)),G++,e[G+1]?.kind==="INDENT")i.push(s(",",",",N,{at:e[G+1].start})),i.push(s("->","->",N,{at:e[G+1].start,newLine:!0})),f.push(l+1);else if(e[G+1]!==void 0&&Qn.has(e[G+1].kind))i.push(s(",",",",N,{at:e[G+1].start}));continue}}if(N?.kind==="INDENT"&&T.kind!=="->"&&T.kind!=="=>"&&T.kind!=="CALL_START"&&T.kind!=="("){let F=i[i.length-1]?.kind,J=["IF","UNLESS","WHILE","UNTIL","WHEN","FORIN","FOROF","FORAS","FORASAWAIT","BY"].includes(F),x=T.kind==="IDENTIFIER"&&(F==="INDENT"||F==="TERMINATOR"||F==="RENDER"),e1=T.kind==="IDENTIFIER"&&fi(T.value)&&(x||!H(T.value)),U=!1,i1=!1;if(T.kind==="CALL_END")i1=S(T);if(i1)U=!0;else if(e1&&!J)U=!0;else if(T.kind==="IDENTIFIER"&&!J)U=x||p(T);else if(["PROPERTY","STRING","STRING_END","NUMBER","BOOL","CALL_END",")","]","INDEX_END","}","MAYBE_DAMMIT"].includes(T.kind))U=p(T);if(U){let q=!1;if(T.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"&&fi(i[I-2].value)){let c1=i[I-3]?.kind??null;if(c1===null||["INDENT","OUTDENT","TERMINATOR","RENDER"].includes(c1))q=!0}}let s1=i1||e1||x||q;if(i.push(T),s1)i.push(s("CALL_START","(",T,{at:N.start})),i.push(s("->","->",T,{at:N.start,newLine:!0})),c.push(l+1);else i.push(s(",",",",T,{at:N.start})),i.push(s("->","->",T,{at:N.start,newLine:!0}));f.push(l+1);continue}}if(T.kind==="IDENTIFIER"&&es(T.value)&&(N?.kind==="OUTDENT"||N?.kind==="TERMINATOR")){i.push(T),i.push(s("CALL_START","(",T)),i.push(s("CALL_END",")",T));continue}i.push(T)}e.length=i.length;for(let G=0;G=e.length)return null;if(!j1.test(e[t]))return null;let r=t+1;while(r=0;a--){if(Z.on)Z.n++;if(s>=0&&(i<0||n[s].at>i))e[a]=n[s--].token;else e[a]=e[i--]}return e}var bl=new Set(["IF","UNLESS","WHILE","UNTIL","WHEN","LEADING_WHEN","CATCH","FOR","LOOP","CLASS"]),yl=new Set(["(","[","{","PICK_START","OPTPICK_START","CALL_START","INDEX_START","PARAM_START","STRING_START","INTERPOLATION_START","HEREGEX_START"]),Sl=new Set([")","]","}","PICK_END","CALL_END","INDEX_END","PARAM_END","STRING_END","INTERPOLATION_END","HEREGEX_END"]);function Rl(e,t){let r=0;for(let n=t-1;n>=0;n--){if(Z.on)Z.n++;let i=e[n].kind;if(Sl.has(i)||i==="OUTDENT"){r++;continue}if(yl.has(i)||i==="INDENT"){if(r===0)return!1;r--;continue}if(r>0)continue;if(bl.has(i))return!0;if(i==="TERMINATOR")return!1}return!1}function El(e,t){let r=new Set(["(","[","{","PICK_START","OPTPICK_START","CALL_START","INDEX_START","PARAM_START","STRING_START","INTERPOLATION_START","HEREGEX_START"]),n=new Set([")","]","}","PICK_END","CALL_END","INDEX_END","PARAM_END","STRING_END","INTERPOLATION_END","HEREGEX_END"]),i=[],s=[],a=(p,m)=>{let g=0;for(let b=m-1;b>=p;b--){if(Z.on)Z.n++;let S=e[b].kind;if(n.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(Wt(e,b))return!0}return!1},o=(p,m)=>{let g=0;for(let b=m-1;b>=p;b--){if(Z.on)Z.n++;let S=e[b].kind;if(n.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 os(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(Z.on)Z.n++;if(!e[R].generated){b=e[R];break}}let S=null;for(let R=m;R{while(s.length&&s[s.length-1].end===p){let m=s.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)}),s.push(g)}else if(m.kind==="THEN"&&Rl(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,s.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)}),s.push(g)}}return d(e.length),i}var Vt=new Set(["IDENTIFIER","PROPERTY","SUPER",")","CALL_END","]","INDEX_END","@","THIS","DAMMIT","?","MAYBE_DAMMIT"]),is=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","@","->","=>","[","(","{","--","++"]),ns=new Set(["POST_IF","POST_UNLESS","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR","||","&&","??","THEN","ELSE"]),ss=new Set(["IF","TRY","FINALLY","CATCH","SWITCH","FOR","CLASS"]),as=new Set(["IDENTIFIER","PROPERTY","NUMBER","STRING","STRING_END","REGEX","HEREGEX_END",")","CALL_END","]","INDEX_END","}","PICK_END","BOOL","NULL","UNDEFINED","THIS","@"]),se=new Set(["(","[","{","PICK_START","OPTPICK_START","CALL_START","INDEX_START","PARAM_START","STRING_START","INTERPOLATION_START","HEREGEX_START","INDENT"]),ne=new Set([")","]","}","PICK_END","CALL_END","INDEX_END","PARAM_END","STRING_END","INTERPOLATION_END","HEREGEX_END","OUTDENT"]),Wt=(e,t)=>{let r=e[t],n=e[t+1];if(!r||!n||!n.spaced||!Vt.has(r.kind))return!1;if((r.kind==="]"||r.kind==="}")&&(n.kind==="->"||n.kind==="=>"))return!1;if(r.kind==="IDENTIFIER"&&(r.value==="Infinity"||r.value==="NaN")&&(n.kind==="->"||n.kind==="=>"))return!1;if(is.has(n.kind))return!0;return n.kind==="..."&&e[t+2]!=null&&is.has(e[t+2].kind)},os=(e,t)=>{if(!e[t])return!1;let r=(n)=>(e[n]?.kind==="DAMMIT"||e[n]?.kind==="VOID_MARKER")&&e[n+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(se.has(e[t].kind)){let n=1,i=t;while(++i0){if(Z.on)Z.n++;if(se.has(e[i].kind))n++;else if(ne.has(e[i].kind))n--}if(n===0&&e[i]?.kind===":")return!0}return!1},ls=new Set(["->","=>","[","(",",","{","ELSE","="]),hi=new Set(["INDENT","OUTDENT","TERMINATOR"]),kl=new Set(["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL","DEF"]),cs=(e,t)=>{let r=0;for(;t>=0;t--){if(Z.on)Z.n++;let n=e[t].kind;if(r===0&&kl.has(n))return!0;if(ne.has(n)){r++;continue}if(se.has(n)){if(r>0){r--;continue}if(!e[t].generated||hi.has(n))return!1;continue}if(r===0&&hi.has(n))return!1}return!1};function Tl(e,t){let r=[],n=[],i=[0],s=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(),n.push({at:g,token:l("}",s?s.end:0,s?s.id:null)})},f=(g)=>os(e,g),h=()=>{for(let g=r.length-1;g>=0;g--){if(Z.on)Z.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&&Vt.has(b.kind)&&f(g+1)&&!cs(e,g-1))},p=(g,b)=>{let S=0;for(let w=b-1;w>g;w--){if(Z.on)Z.n++;let R=e[w].kind;if(ne.has(R)){S++;continue}if(se.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(Wt(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 k=r[R];if(k.kind!=="object"&&k.kind!=="CONTROL")break;if(k.kind==="object")k.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 k=w?.kind==="VOID_MARKER"?1:0,j=ne.has(w?.kind)?o()?.at??g-1:g-1-k;if(e[g-2-k]?.kind==="@")j=g-2-k;let M=e[j-1],A=!Wt(e,j-1)&&(j<=0||hi.has(M?.kind)||Boolean(M?.newLine)),P=o(),v=r[r.length-2],V=(F)=>F&&(F.kind==="{"||F.kind==="PICK_START"||F.kind==="OPTPICK_START"||F.kind==="object"),H=(F)=>F==="{"||F==="PICK_START"||F==="OPTPICK_START",G=P?.kind==="INDENT"&&P.listContinuation?h():null,T=Boolean(G),N=G?G.at:P?.kind==="INDENT"&&v?v.at:P?.at;if(P&&(V(P)||P.kind==="INDENT"&&(H(v?.kind)||T))&&!(N!=null&&p(N,j))&&(A||M?.kind===","||H(M?.kind)||e[j]?.kind==="{"))continue;r.push({kind:"object",at:j,sameLine:!0,startsLine:A}),n.push({at:j,token:l("{",e[j].start,e[j].id,{spaced:e[j].spaced,newLine:e[j].newLine})});continue}if(ns.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 k=r[R];if(k.kind!=="object"&&k.kind!=="CONTROL")break;if(k.kind==="object")k.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(),k=(j)=>f(j)||u(R,j);if(R&&!p(R.at,g)&&!k(g+1)&&(e[g+1]?.kind!=="TERMINATOR"||!k(g+2))){if(e[g+1]?.kind==="INDENT"&&k(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)s=e[e.length-1];while(o()?.kind==="object"||o()?.kind==="CONTROL")if(o().kind==="object")c(e.length);else r.pop();return n}function wl(e,t){let r=[],n=[],i=-1,s=(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(),n.push({at:l,token:s("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"&&ss.has(h)&&!(h==="FOR"&&!c.newLine&&e[l-1]&&as.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||!ls.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(se.has(h))r.push(h);else if(ne.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(ns.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(Wt(e,l)||Vt.has(h)&&f&&f.spaced&&(f.kind==="+"||f.kind==="-")&&e[l+2]&&!e[l+2].spaced&&!e[l+2].newLine)n.push({at:l+1,token:s("CALL_START",f.start,f.generated?f.origin:f.id)}),r.push("call");else if(Vt.has(h)&&f?.kind==="INDENT"&&e[l+2]?.kind==="{"&&e[l+2].generated&&!cs(e,l))n.push({at:l+1,token:s("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 n}var Ht=(e,t)=>ui(e,El,t),Gt=(e,t)=>ui(e,Tl,t),Kt=(e,t)=>ui(e,wl,t);var ms=new Map([["as","CAST"],["satisfies","SATISFIES"]]),Xt=(e)=>e?.kind==="IDENTIFIER"&&ms.has(e.value),ps=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"]),_l=new Set(["IDENTIFIER","PROPERTY","(","CALL_START","PARAM_START","{","[","INDEX_START","STRING","NUMBER","BOOL","NULL","UNDEFINED","-","UNARY","NEW","RESERVED"]),ae=new Set(["(","CALL_START","PARAM_START","[","INDEX_START","{","PICK_START","OPTPICK_START"]),oe=new Set([")","CALL_END","PARAM_END","]","INDEX_END","}","PICK_END"]),Nl=new Set(["TERMINATOR","INDENT","OUTDENT",",","=","COMPOUND_ASSIGN","REACTIVE_ASSIGN","COMPUTED_ASSIGN","READONLY_ASSIGN","GATE","EFFECT","->"]),Al=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"]),vl=new Set(["IF","UNLESS","ELSE","THEN","WHILE","UNTIL","LOOP","FOR","WHEN","BY","SWITCH","RETURN","THROW"]),Ol=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"]),Il=new Set(["IDENTIFIER","PROPERTY","RESERVED","NUMBER","STRING","TYPE_TEMPLATE","BOOL","NULL","UNDEFINED","THIS",")","PARAM_END","]","INDEX_END","}"]),$l=new Set(["TERMINATOR","INDENT","OUTDENT","{",","]),qt=(e,t,r)=>{if(t-1{let s=0,a=[],o=(u=0)=>a[a.length-1-u],l=null,c=!1,f=[],h=(u,d)=>{s-=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")&&qt(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()==="{"&&qt(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==="="&&s>0){c=!1;continue}if((o()==="{"||i.methods&&o()===void 0)&&p==="CALL_START"){let m=e[u-1],g=qt(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)n(`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(Ol.has(p)){if(fs.has(p))a.push(fs.get(p));else if(Dl.has(p))a.pop();c=Il.has(p);continue}n(`code expression ('${d.word??d.value}') in a type body — types erase and cannot execute`,d.start)}if(s>0)n("unclosed '<' in a type body — the generic never closes",l.start)},xl=new Set(["=",":","COMPOUND_ASSIGN","REACTIVE_ASSIGN","COMPUTED_ASSIGN","READONLY_ASSIGN",",","[","(","{","CALL_START","INDEX_START","PARAM_START","PICK_START","OPTPICK_START","RETURN","THROW","AWAIT","YIELD"]),Z1=(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 n=0;for(let i=t;i>=0;i--){if(Z.on)Z.n++;let s=e[i].kind;if(s==="OUTDENT")n++;else if(s==="INDENT"){if(n===0){let a=e[i-1];return!(a&&xl.has(a.kind))}n--}}return!0},mi=(e,t,r)=>{if(r<=t)return!1;let n=new Set(["|","&",",",":","?","TERNARY",".","..."]),i=0,s=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"){s++,l=!1;continue}if(u==="]"||u==="INDEX_END"){if(--s<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(n.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&&s===0&&a===0&&o===0&&l},hs=(e,t,r,n)=>{let i=[],s=[],a=[],o=0,l=t,c=e[t-1]?.end??0,f=(u)=>n("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(ae.has(d)||d==="COMPARE"&&u.value==="<"){o++;let m=d==="{"?"{":d==="["||d==="INDEX_START"?"[":d==="COMPARE"?"<":"(";if(s.push(m),m==="<")a.push(u);i.push(u.value),c=u.end,t++;continue}if(oe.has(d)){if(o===0)break;if(s[s.length-1]==="<")f(a[a.length-1]);o--,s.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(Nl.has(d))break;if(r.stopAtFatArrow&&d==="=>")break;if(r.stopAtThen&&d==="THEN")break;if(r.cast&&Al.has(d))if(t===l&&(d==="-"||d==="+")&&e[t+1]?.kind==="NUMBER"){if(d==="+")n("a numeric literal type spells its sign with '-' (TypeScript has no '+1' type)",u.start,e[t+1].end)}else break;if(r.alias&&vl.has(d))break}else{if(d==="INDENT"||d==="OUTDENT"){t++;continue}if(d==="TERMINATOR"){i.push(";"),c=u.end,t++;continue}if(d==="PROPERTY"&&s[s.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}},Cl=(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,": "),Pl=(e,t,r)=>{let n=(l)=>l==="("||l==="PARAM_START"||l==="CALL_START",i=(l)=>l===")"||l==="PARAM_END"||l==="CALL_END";if(r-t<2||!n(e[t].kind))return!1;let s=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(n.kind==="SHIFT"&&n.value===">>")r-=2;else if(n.kind==="SHIFT"&&n.value===">>>")r-=3;else if(n.kind==="TERMINATOR"||n.kind==="INDENT"||n.kind==="OUTDENT")return-1;if(t++,r===0)break}return r===0?t:-1},Jt=(e,t)=>{if(t<0||!e[t]||pi(e[t])>=0)return t;let r=0;while(t>=0){if(Z.on)Z.n++;let n=e[t];if(n.kind==="TERMINATOR"||n.kind==="INDENT"||n.kind==="OUTDENT")return-1;if(r+=pi(n),t--,r===0)break}return r===0?t:-1},Zt=(e,t)=>{let r=Jt(e,t-1);if(r<0||e[r]?.kind!=="IDENTIFIER")return!1;let n=e[r-1];if(!(n?.kind==="IDENTIFIER"&&n.value==="type"))return!1;return Z1(e,r-2)},pi=(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,J1=(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"},Ll=(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(J1(e,t-1))return!0;let n=e[t-2]?.kind==="@"?t-3:t-2;if(Z1(e,n))return!0}if(r.kind==="VOID_MARKER"&&J1(e,t-2))return!0;return null},us=(e)=>e.kind==="TERMINATOR"||e.kind==="INDENT"||e.kind==="OUTDENT",Ml=(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&&!us(e[r])){if(Z.on)Z.n++;r--}t.upTo=r+1}for(let r=t.upTo;r{let n=e[e.length-1];if(!n)return!1;if(!(n.kind==="COMPARE"&&n.value===">"||n.kind==="SHIFT"&&(n.value===">>"||n.value===">>>")))return!1;if(t)return!0;return Ml(e,r),r.answers.get(r.level)??!1},zt=(e,t)=>{let r=0,n=!1;for(let i=t+1;i")return-1;if(s==="=>")n=!0;else if(s==="="||s==="REACTIVE_ASSIGN"||s==="COMPUTED_ASSIGN"||s==="READONLY_ASSIGN"||s==="GATE"||s==="EFFECT"){if(!n||mi(e,t+1,i))return i}}}return-1},jl=(e)=>{let t=[new Map],r=Array(e.length),n=[{id:0,up:null}],i=0;for(let s=0;s"||l==="=>";n.push({id:o,up:c?null:n[n.length-1]})}else if(a==="OUTDENT"){if(n.length>1)n.pop()}else if(ae.has(a))i++;else if(oe.has(a))i--;else if(i===0&&(a==="IDENTIFIER"||a==="PROPERTY")&&e[s+1]?.kind==="=")for(let o=n[n.length-1];o;o=o.up){if(Z.on)Z.n++;t[o.id].set(e[s].value,s)}}return{blockMaps:t,blockIdAt:r}},Fl=(e,t)=>{let r=0;for(;t"||n==="=>")return!0;if(n==="TERMINATOR"||n==="INDENT"||n==="OUTDENT")return!1}}return!1},Bl=(e,t)=>{let r=0;for(let n=t+1;n{let n=0;for(let i=t;i{let r=0;for(let n=t;n","=>","DO","DO_IIFE","TRY","LOOP"]),Hl=new Set(["IF","UNLESS","SWITCH","WHILE","UNTIL","FOR","CLASS"]),Gl=new Set(["->","=>","THEN","ELSE"]),Kl=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"]),Yl=new Map([["yes","true"],["no","false"],["on","true"],["off","false"],["true","true"],["false","false"],["null","null"],["undefined","undefined"],["this","this"]]);function Qt(e,t,r,n){let i=[],s=[],a=new WeakSet,o=()=>s[s.length-1]??null,l=!1,c=[],f=()=>c.length>0&&!!c[c.length-1],h=()=>c[c.length-1]??!1,u=(A)=>{let P=Yl.get(A.value);if(P===void 0)return;n(`'${A.value}' cannot name a binding — every read of '${A.value}' lowers to \`${P}\`, so the binding would be unreachable`,A.start,A.end)},d=-1,p=0,m=!1,g=!1,b=null,S=(A,P)=>(b??=jl(e),(b.blockMaps[b.blockIdAt[A]].get(P)??-1)>=A),w=null,R=(A)=>{let P=[],v=A,V=!0,H=-1;for(;;){if(Z.on)Z.n++;let F=Bl(e,v);if(F<0){if(zt(e,v)>=0)break;P.push({colon:v,shaped:!1,assigned:!1}),V=!1,H=-1;break}if(Vl(e,v+1,F)){P.push({colon:v,shaped:!1,assigned:!1}),V=!1,H=-1;break}P.push({colon:v,shaped:F>v+1&&mi(e,v+1,F),assigned:S(F+1,e[v-1].value)}),H=F;let J=e[F+1];if(J&&(J.kind==="IDENTIFIER"||J.kind==="PROPERTY")&&e[F+2]?.kind===":"){v=F+2;continue}break}let G=H>=0?e[H+1]:null,T=V&&G!=null&&G.kind!=="OUTDENT",N=T&&P.every((F)=>F.shaped&&F.assigned);if(!N&&T&&P.some((F)=>F.shaped)&&P.some((F)=>F.assigned)){let F=P.find((e1)=>!(e1.shaped&&e1.assigned)),J=e[F.colon-1],x=F.shaped?`'${J.value}' is never assigned in this block`:`the value after '${J.value}:' is not a type`;n("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 ('${J.value}: T = value'); for an implicit object, parenthesize the literal or assign it to a target`,J.start)}w??=new Map;for(let F of P)w.set(F.colon,N);return N},k=(A,P,v,V,H)=>({id:t(),kind:A,value:P,start:v,end:V,spaced:H.spaced,newLine:H.newLine,generated:!1,origin:null}),j=(A,P,v,V)=>{if(e[v]?.kind===":")n("type annotations use a single ':' (e.g. `x: number`), not '::'",P.start,e[v].end);let H=hs(e,v,V,n);if(H.parts.length===0)return-1;for(let G=v;G R) => body`, not `(x): (a: T) => R => body`",e[v].start);return i.push(k(A,Cl(H.parts),P.start,H.end,P)),v+H.consumed-1},M=(A)=>{let P=A+1;if(e[P]?.kind!=="IDENTIFIER")return-1;if(P++,P=Yt(e,P),P<0)return-1;if(e[P]?.kind!=="=")return-1;if(P++,e[P]?.kind==="INDENT"){let H=ds(e,P);return di(e,P+1,H,n,{methods:!0}),H}let v=hs(e,P,{alias:!0},n);if(v.parts.length===0)n("a type alias needs a type after '='",e[P-1].end);di(e,P,P+v.consumed,n);let V=e[P+v.consumed];if(V&&V.kind!=="TERMINATOR"&&V.kind!=="OUTDENT")n(`a type alias must fill its line — unexpected '${V.value}' after the type`,V.start);return P+v.consumed-1},L=(A)=>{let P=A+1;if(e[P]?.kind!=="IDENTIFIER")return-1;if(P++,P=Yt(e,P),P===-1)return-1;if(e[P]?.kind==="EXTENDS"){if(e[P+1]?.kind!=="IDENTIFIER")return-1;if(P+=2,P=Yt(e,P),P===-1)return-1}if(e[P]?.kind!=="INDENT")return-1;let v=ds(e,P);return di(e,P+1,v,n,{methods:!0}),v};for(let A=0;A=0){let G=V?.kind==="EXPORT"?i.pop():P,T=e[H].end;i.push(k("TYPE_DECL",r.slice(G.start,T).replace(/\r\n/g,` +`),G.start,T,P)),A=H;continue}}if(Xt(P)&&V&&V.kind!=="."&&V.kind!=="?."&&ps.has(V.kind)&&e[A+1]&&(_l.has(e[A+1].kind)||e[A+1].kind==="+"&&e[A+2]?.kind==="NUMBER")){let H=j(ms.get(P.value),P,A+1,{cast:!0});if(H<0)n(`'${P.value}' takes a type — \`x ${P.value} T\``,P.start,P.end);if(H>=0){A=H;let G=e[A+1],T=i[i.length-1];if(G&&G.newLine&&G.kind!=="TERMINATOR"&&G.kind!=="INDENT"&&G.kind!=="OUTDENT"&&!Xt(G)){let N=r.slice(T.end,G.start),F=N.indexOf(` +`);if(F>=0){let J=N[F-1]==="\r",x=T.end+F-(J?1:0),e1=J?2:1;i.push({id:t(),kind:"TERMINATOR",value:r.slice(x,x+e1),start:x,end:x+e1,spaced:!1,newLine:!1,generated:!0,origin:null})}}continue}}if(v==="COMPARE"&&P.value==="<"&&!P.spaced&&V&&(V.kind==="IDENTIFIER"||J1(i,i.length-1))){let H=i[i.length-2]??null,G=Yt(e,A);if(G>A){let T=G-1,N=e[T+1]?.kind,F=H?.kind==="DEF"||J1(i,i.length-1),J=N==="="&&e[T+2]?.kind==="COMPONENT";if(F||J){if(F&&N==="("){let x=0;for(let e1=T+1;e1=0){A=U;continue}}if(V.kind==="CALL_END"&&a.has(V)){let U=j("TYPE",P,A+1,{});if(U>=0){A=U;continue}}if(J1(i,i.length-1)){let U=j("TYPE",P,A+1,{});if(U>=0){if(V.kind==="PROPERTY"&&G?.kind==="DEF")u(V),V.kind="IDENTIFIER";A=U;continue}}if(V.kind==="TYPE_PARAMS"&&J1(i,i.length-2)){let U=j("TYPE",P,A+1,{});if(U>=0){A=U;continue}}if(V.kind==="VOID_MARKER"&&J1(i,i.length-2)){let U=j("TYPE",P,A+1,{});if(U>=0){A=U;continue}}if(s.length===0&&(V.kind==="PROPERTY"||V.kind==="IDENTIFIER")&&G?.kind==="CATCH"){let U=j("TYPE",P,A+1,{stopAtThen:!0});if(U>=0){if(V.kind==="PROPERTY")u(V),V.kind="IDENTIFIER";A=U;continue}}if(H&&(H.kind==="param"||H.kind==="defparam")&&!H.sawEq&&!H.sawType&&H.bodyDepth===0&&!H.inlineBody){let U=V.kind==="PROPERTY"||V.kind==="IDENTIFIER",i1=V.kind==="}"||V.kind==="]",q=V.kind==="?"&&(G?.kind==="PROPERTY"||G?.kind==="IDENTIFIER");if(U||i1||q){let s1=j("TYPE",P,A+1,{});if(s1>=0){if(q){if(V.kind="OPT_MARKER",G.kind==="PROPERTY")G.kind="IDENTIFIER"}else if(V.kind==="PROPERTY"&&e[A-2]?.kind!=="@")u(V),V.kind="IDENTIFIER";H.sawType=!0,A=s1;continue}}}let T=V.kind==="OPT_MARKER"?1:0,N=T?i[i.length-2]??null:V,F=(i[i.length-2-T]??null)?.kind==="@",J=i.length-(F?3:2)-T,x=N!==null&&(N.kind==="PROPERTY"||N.kind==="IDENTIFIER")&&Z1(i,J),e1=N!==null&&N.kind==="STRING"&&Z1(i,J);if(s.length===0&&x&&!F)g=!0;if(s.length===0&&V.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"&&Z1(i,i.length-6)&&zt(e,A)>=0)n("an annotated prototype member requires the unconditional chain (`X::m: T = v`) — "+"the soak form cannot carry the annotation",P.start,P.end);if(s.length===0&&V.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"&&Z1(i,i.length-6)&&zt(e,A)>=0){let U=j("TYPE",P,A+1,{});if(U>=0){A=U;continue}}if(s.length===0&&(x||e1)&&zt(e,A)>=0){let U=j("TYPE",P,A+1,{});if(U>=0){if(N.kind==="PROPERTY"&&!F){if(h()!=="class")u(N);N.kind="IDENTIFIER"}g=!1,A=U;continue}}if(s.length===0&&f()&&x&&!Fl(e,A+1)){let U=-1,i1=0;for(let q=A+1;qA+1&&mi(e,A+1,U)){let q=j("TYPE",P,A+1,{});if(q>=0){if(N.kind==="PROPERTY"&&!F){if(h()==="component")u(N);N.kind="IDENTIFIER"}A=q;continue}}}if(s.length===0&&!f()&&x&&!F&&!T){let U=w?.get(A);if(U!==void 0?U:!m&&R(A)){let q=j("TYPE",P,A+1,{});if(q>=0){if(V.kind==="PROPERTY")u(V),V.kind="IDENTIFIER";g=!1,A=q;continue}}}}if(ae.has(v))p++;else if(oe.has(v)){if(p--,d>=0&&p=0&&p===d){if(v==="COMPARE"&&P.value==="<")n("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",P.start);if(Kl.has(v))d=-1}if(v==="CLASS"||v==="COMPONENT")l=v==="CLASS"?"class":"component";else if(v==="THEN")l=!1;else if(v==="INDENT")c.push(l),l=!1;else if(v==="OUTDENT")c.pop();else if(v==="TERMINATOR")l=!1;if(s.length===0){if(v==="TERMINATOR")m=g,g=!1;else if(v==="INDENT"||v==="OUTDENT")m=!1,g=!1}if(ae.has(v)){let H="other";if(v==="PARAM_START")H="param";else if(v==="CALL_START"&&J1(i,i.length-1))H="defparam";else if(v==="CALL_START"&&V?.kind==="TYPE_PARAMS"&&J1(i,i.length-2))H="defparam";else if(v==="CALL_START"&&V?.kind==="VOID_MARKER"&&J1(i,i.length-2))H="defparam";s.push({kind:H,sawEq:!1,sawType:!1,bodyDepth:0,pendingImmediate:!1,pendingCond:!1,inlineBody:!1})}else if(oe.has(v)){if(s.pop()?.kind==="defparam"&&v==="CALL_END")a.add(P)}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(v==="INDENT")H.bodyDepth++;else if(v==="OUTDENT")H.bodyDepth--}else if(v==="INDENT")if(H.pendingImmediate||H.pendingCond)H.bodyDepth=1,H.pendingImmediate=!1,H.pendingCond=!1,H.inlineBody=!1;else G();else if(v===","||v==="OUTDENT")G();else if(v==="TERMINATOR")if(H.inlineBody&&P.value===";")H.pendingImmediate=!1,H.pendingCond=!1;else G();else{if(H.pendingImmediate=Wl.has(v),Hl.has(v)&&V?.kind==="=")H.pendingCond=!0;else if(v==="THEN")H.pendingCond=!1;if(Gl.has(v))H.inlineBody=!0;if(v==="=")H.sawEq=!0}}}i.push(P)}e.length=i.length;for(let A=0;A"&&r!=="=>")continue;let n=t-1,i=e[n];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(Z.on)Z.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;n=o,i=e[n]}else{let a=0,o=-1;for(let l=t-1;l>=0;l--){if(Z.on)Z.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===")")n=o-2,i=e[n]}let s=0;for(let a=n-1;a>=0;a--){if(Z.on)Z.n++;let o=e[a];if(o.kind===")"||o.kind==="CALL_END"||o.kind==="INDEX_END"||o.kind==="]")s++;else if(o.kind==="("||o.kind==="CALL_START"||o.kind==="INDEX_START"||o.kind==="["){if(s>0){s--;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 ql(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"]),n=[0];for(let i=0;i0)n[a]--}else if(s==="INDEX_START"&&n[n.length-1]===0){let a=1,o=i;while(++o0){if(Z.on)Z.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))n.push(0);else if(r.has(e[i].kind))n.pop()}return e}var Xl=new Set(["STRING","STRING_END","REGEX","HEREGEX_END","NUMBER","BOOL","NULL","UNDEFINED","]","}","SYMBOL"]);function Jl(e){let t=0;for(let r=0;r0&&(n==="->"||n==="=>")&&r>0&&(Xl.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 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"]),n=(s)=>s!==void 0&&(s.kind==="IDENTIFIER"||s.kind==="PROPERTY"),i=[0];for(let s=0;s0)i[o]--}else if(n(e[s])&&i[i.length-1]===0&&e[s-1]?.kind!=="."&&e[s-1]?.kind!=="?."&&e[s-1]?.kind!=="@"){let o=s;for(;;){if(Z.on)Z.n++;let l=e[o+1],c=e[o+2];if(l===void 0||!n(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>s&&e[o+1]?.kind===":"){let l="";for(let f=s;f<=o;f++)l+=e[f].value;let c={...e[s],kind:"STRING",value:JSON.stringify(l),end:e[o].end};e.splice(s,o-s+1,c)}}if(t.has(e[s].kind))i.push(0);else if(r.has(e[s].kind))i.pop()}return e}function Ql(e){for(let t=0;t>>=":"COMPOUND_ASSIGN"},Es={"**=":"COMPOUND_ASSIGN","&&=":"COMPOUND_ASSIGN","||=":"COMPOUND_ASSIGN","??=":"COMPOUND_ASSIGN","<<=":"COMPOUND_ASSIGN",">>=":"COMPOUND_ASSIGN","//=":"COMPOUND_ASSIGN","%%=":"COMPOUND_ASSIGN",">>>":"SHIFT","...":"...","<=>":"BIND"},ks={"==":"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"},e3=new Set([".","?.","UNARY","NEW","DO","DO_IIFE","MATH","UNARY_MATH","+","-","**","SHIFT","RELATION","COMPARE","&","^","|","&&","||","??","TERNARY","EXTENDS"]),tr=new Set(["IDENTIFIER","PROPERTY",")","CALL_END","NUMBER","STRING","]","INDEX_END","SUPER","DAMMIT","MAYBE_DAMMIT","DYNAMIC_IMPORT"]),at=new Set([...tr,"BOOL","NULL","UNDEFINED","}","PICK_END","STRING_END","REGEX","HEREGEX_END","THIS","@"]);function t3(e,t){let r=t;while(r=e.length||r3.test(e[r+1])))r++;return r}var r3=/[\s,)\]};:]/,bi=/[0-9]/,i3=/^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,n3=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/,s3=/^\w*/,Ts=/^(?!.*(.).*\1)[gimsuy]*$/,a3=new Set([...at,"++","--"]);function o3(e,t="",{tolerant:r=!1}={}){Tn();let n=new ge(e,t),i=[],s=[],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(er[_]&&_!=="own")||ys.has(_)||bs.has(_)||Boolean(gi[_])||_==="in"||_==="of"||_==="when"||_==="import"||_==="export",S=(_,z)=>w&&g(_)&&/^[^\S\n]+as[^\S\n]/.test(z)||R&&_?.kind==="AS",w=!1,R=!1,k=!1,j=0,M=0,L=[],A=(_,z,X=z)=>{let{line:t1,col:C}=n.lineColAt(z),K=Error(`${t}:${t1+1}:${C+1}: ${_}`);throw K.reason=_,K.start=z,K.end=X,K},P=(_,z,X=z)=>{try{A(_,z,X)}catch(t1){throw t1.openAtEnd=!0,t1}},v=(_,z,X,t1,C={})=>{if((_==="STRING"||_==="STRING_START")&&(w||R)){let a1=i[i.length-1];if(a1?.kind==="IDENTIFIER"&&a1.value==="from")a1.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 a1=i[i.length-1];if(a1?.kind==="UNARY"&&a1.value==="!")i.pop(),z="!"+z,X=a1.start}let K={id:M++,kind:_,value:z,start:X,end:t1,spaced:d,newLine:p,generated:!1,origin:null,...C};if(i.push(K),!K.generated&&L.length>0){for(let a1 of L)a1.origin=K.id;L.length=0}d=!1,p=!1},V=(_,z)=>{let X={id:M++,kind:_,value:_,start:z,end:z,spaced:!1,newLine:!1,generated:!0,origin:null};L.push(X),i.push(X)},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"&&Ie.has(String(z.value).split("#")[0])},T=()=>{let _=0,z=0;for(let X=i.length-1;X>=0;X--){let t1=i[X].kind;if(t1==="OUTDENT")_++;else if(t1==="INDENT"){if(_--,_=0;C--){let K=i[C].kind;if(K==="TERMINATOR"||K==="INDENT"||K==="OUTDENT")break;if(K==="COMPONENT")return!0}}}}return!1},N=()=>{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"},F=(_,z)=>{let X=c;while(c=e.length)P("unterminated string",z);let t1=e.slice(X,c);return c+=_.length,t1},J=(_)=>_.replace(/\\[\s\S]|`|\$\{/g,(z)=>z[0]==="\\"?z:`\\${z}`),x=(_)=>{let z=null,X=/\n+([^\S\n]*)(?=\S)/g,t1;while(t1=X.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,` `),!_.includes(` `))return _;let X=_.slice(_.lastIndexOf(` -`)+1),t1=/^[^\S\n]*$/.test(X)?X:null,C=Q(x(_),t1),K=C?_.split(` +`)+1),t1=/^[^\S\n]*$/.test(X)?X:null,C=e1(x(_),t1),K=C?_.split(` ${C}`).join(` -`):_;return K=K.replace(/^\n/,""),K.replace(/\n[^\S\n]*$/,"")},r1=(_)=>{let Y=c,X=-1;while(c=e.length)P("unterminated string",_.opener);let t1=e.slice(Y,X===-1?c:X);if(X===-1&&!_.started){let C=c+_.delim.length,K=U(t1,_.delim),a1=_.delim.length===3?`\`${J(K)}\``:`"${K}"`;v("STRING",a1,_.opener,C),c=C;return}if(!_.started)_.started=!0,v("STRING_START","(",_.opener,_.opener+_.delim.length);if(X===-1){_.chunkIdx.push(i.length),v("STRING",`"${t1}"`,Y,c);let C=c+_.delim.length;if(v("STRING_END",")",c,C),c=C,_.delim.length===3)q(_);return}_.chunkIdx.push(i.length),v("STRING",`"${t1}"`,Y,X),v("INTERPOLATION_START","(",X,X+2),O("interp",X,{ctx:_}),c=X+2},q=(_)=>{let Y=i[i.length-1],X=Y.start-1,t1=X<0?-1:Math.max(e.lastIndexOf(` -`,X),e.lastIndexOf("\r",X)),C=e.slice(t1+1,Y.start),K=/^[^\S\n]*$/.test(C)?C:null,a1=_.chunkIdx.map((y1)=>i[y1].value.slice(1,-1).replace(/\r\n?/g,` -`)),E1=Q(x(a1.join("")),K);_.chunkIdx.forEach((y1,S1)=>{let _1=a1[S1];if(E1)_1=_1.split(` +`):_;return K=K.replace(/^\n/,""),K.replace(/\n[^\S\n]*$/,"")},i1=(_)=>{let z=c,X=-1;while(c=e.length)P("unterminated string",_.opener);let t1=e.slice(z,X===-1?c:X);if(X===-1&&!_.started){let C=c+_.delim.length,K=U(t1,_.delim),a1=_.delim.length===3?`\`${J(K)}\``:`"${K}"`;v("STRING",a1,_.opener,C),c=C;return}if(!_.started)_.started=!0,v("STRING_START","(",_.opener,_.opener+_.delim.length);if(X===-1){_.chunkIdx.push(i.length),v("STRING",`"${t1}"`,z,c);let C=c+_.delim.length;if(v("STRING_END",")",c,C),c=C,_.delim.length===3)q(_);return}_.chunkIdx.push(i.length),v("STRING",`"${t1}"`,z,X),v("INTERPOLATION_START","(",X,X+2),O("interp",X,{ctx:_}),c=X+2},q=(_)=>{let z=i[i.length-1],X=z.start-1,t1=X<0?-1:Math.max(e.lastIndexOf(` +`,X),e.lastIndexOf("\r",X)),C=e.slice(t1+1,z.start),K=/^[^\S\n]*$/.test(C)?C:null,a1=_.chunkIdx.map((y1)=>i[y1].value.slice(1,-1).replace(/\r\n?/g,` +`)),E1=e1(x(a1.join("")),K);_.chunkIdx.forEach((y1,S1)=>{let _1=a1[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}"`})},s1=(_)=>{let Y=c,X="",t1=-1;while(c=e.length)break;X+=e.slice(c,c+2),c+=2;continue}if(C==="#"&&e[c+1]==="{"){t1=c;break}if(_.inClass){if(C===` +`);if(S1===0)_1=_1.replace(/^\n/,"");if(S1===_.chunkIdx.length-1)_1=_1.replace(/\n[^\S\n]*$/,"");i[y1].value=`"${_1}"`})},s1=(_)=>{let z=c,X="",t1=-1;while(c=e.length)break;X+=e.slice(c,c+2),c+=2;continue}if(C==="#"&&e[c+1]==="{"){t1=c;break}if(_.inClass){if(C===` `||C==="\r")A("newline inside a heregex character class (a regex literal cannot contain one)",c);if(C==="]")_.inClass=!1;X+=C,c++;continue}if(C==="["){_.inClass=!0,X+=C,c++;continue}if(/\s/.test(C)){while(c{let{out:Y,chunkStart:X,interpAt:t1}=s1(_);if(t1>=0){if(!_.started)_.started=!0,v("HEREGEX_START","///",_.opener,_.opener+3);v("STRING",`"${Y}"`,X,t1),v("INTERPOLATION_START","(",t1,t1+2),O("interp",t1,{ctx:_,heregex:!0}),c=t1+2;return}if(!e.startsWith("///",c))P("missing /// (unclosed heregex)",_.opener);let C=c;c+=3;let K=/^\w*/.exec(e.slice(c))[0];if(!Ts.test(K))A(`invalid regular expression flags ${K}`,c);let a1=c+K.length;if(!_.started)v("REGEX",`/${Y===""?"(?:)":Y}/${K}`,_.opener,a1);else v("STRING",`"${Y}"`,X,C),v("HEREGEX_END",K,C,a1);c=a1},c1=()=>{for(let _=i.length-1;_>=0;_--)if(!i[_].generated)return i[_].end;return 0},O=(_,Y,X={})=>{l.push({kind:_,at:Y,depth:o.length,...X})},D=null,H={upTo:0,ref:null,level:0,answers:new Map},z=()=>D!==null&&o.length>=D,i1=()=>{for(let _=i.length-1;_>=0;_--){let Y=i[_].kind;if(Y==="TERMINATOR"||Y==="INDENT"||Y==="OUTDENT")return!1;if(Y==="=")return Zt(i,_)}return!1},e1=()=>{if(D!==null&&o.length{let _=i.length;if(i[_-1]?.kind==="=")return Zt(i,_-1);let Y=(t1)=>i[t1]?.kind==="RESERVED"&&i[t1].value==="interface",X=Jt(i,_-1);if(X<0||i[X]?.kind!=="IDENTIFIER")return!1;if(Y(X-1))return Z1(i,X-2);if(i[X-1]?.kind==="EXTENDS"){let t1=Jt(i,X-2);if(t1>=0&&i[t1]?.kind==="IDENTIFIER"&&Y(t1-1))return Z1(i,t1-2)}return!1},f1=(_)=>e[_]===` -`||e[_]==="\r",h1=(_)=>{let Y=_+1;while(Y{let Y=_,X=1;while(Y{let Y=e[_],X=_+1;while(X{let _=l.pop();if(!_)return null;while(i.length&&i[i.length-1].kind==="TERMINATOR")i.pop();let Y=c1();while(o.length>_.depth)o.pop(),V("OUTDENT",Y);return e1(),_},d1=(_,Y,X="")=>{let t1=c1(),C=l.length>0?l[l.length-1].depth:1;while(o.length>1&&o[o.length-1].length>_.length){if(o.length<=C)A(`dedent to ${JSON.stringify(_)} crosses the enclosing bracket's indentation floor ${JSON.stringify(o[o.length-1])}`,Y);o.pop(),V("OUTDENT",t1)}if(e1(),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${X}`,Y)};while(c=e.length)break;let a1=e[c]===` +`)c++;continue}if(C==="/"){X+="\\/",c++;continue}X+=C,c++}return{out:X,chunkStart:z,interpAt:t1}},I=(_)=>{let{out:z,chunkStart:X,interpAt:t1}=s1(_);if(t1>=0){if(!_.started)_.started=!0,v("HEREGEX_START","///",_.opener,_.opener+3);v("STRING",`"${z}"`,X,t1),v("INTERPOLATION_START","(",t1,t1+2),O("interp",t1,{ctx:_,heregex:!0}),c=t1+2;return}if(!e.startsWith("///",c))P("missing /// (unclosed heregex)",_.opener);let C=c;c+=3;let K=/^\w*/.exec(e.slice(c))[0];if(!Ts.test(K))A(`invalid regular expression flags ${K}`,c);let a1=c+K.length;if(!_.started)v("REGEX",`/${z===""?"(?:)":z}/${K}`,_.opener,a1);else v("STRING",`"${z}"`,X,C),v("HEREGEX_END",K,C,a1);c=a1},c1=()=>{for(let _=i.length-1;_>=0;_--)if(!i[_].generated)return i[_].end;return 0},O=(_,z,X={})=>{l.push({kind:_,at:z,depth:o.length,...X})},D=null,W={upTo:0,ref:null,level:0,answers:new Map},Y=()=>D!==null&&o.length>=D,r1=()=>{for(let _=i.length-1;_>=0;_--){let z=i[_].kind;if(z==="TERMINATOR"||z==="INDENT"||z==="OUTDENT")return!1;if(z==="=")return Zt(i,_)}return!1},Q=()=>{if(D!==null&&o.length{let _=i.length;if(i[_-1]?.kind==="=")return Zt(i,_-1);let z=(t1)=>i[t1]?.kind==="RESERVED"&&i[t1].value==="interface",X=Jt(i,_-1);if(X<0||i[X]?.kind!=="IDENTIFIER")return!1;if(z(X-1))return Z1(i,X-2);if(i[X-1]?.kind==="EXTENDS"){let t1=Jt(i,X-2);if(t1>=0&&i[t1]?.kind==="IDENTIFIER"&&z(t1-1))return Z1(i,t1-2)}return!1},f1=(_)=>e[_]===` +`||e[_]==="\r",h1=(_)=>{let z=_+1;while(z{let z=_,X=1;while(z{let z=e[_],X=_+1;while(X{let _=l.pop();if(!_)return null;while(i.length&&i[i.length-1].kind==="TERMINATOR")i.pop();let z=c1();while(o.length>_.depth)o.pop(),V("OUTDENT",z);return Q(),_},d1=(_,z,X="")=>{let t1=c1(),C=l.length>0?l[l.length-1].depth:1;while(o.length>1&&o[o.length-1].length>_.length){if(o.length<=C)A(`dedent to ${JSON.stringify(_)} crosses the enclosing bracket's indentation floor ${JSON.stringify(o[o.length-1])}`,z);o.pop(),V("OUTDENT",t1)}if(Q(),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${X}`,z)};while(c=e.length)break;let a1=e[c]===` `?1:e[c]==="\r"&&e[c+1]===` `?2:0;if(a1){s.push({kind:"blank",start:C,end:c+a1,text:e.slice(C,c+a1)}),c+=a1;continue}let E1=k&&/^#[A-Za-z_]/.test(e.slice(c,c+2))&&K.length>(o[j-1]??"").length;if(e[c]==="#"&&!E1){let m1=c;if(e.startsWith("###",c)&&e[c+3]!=="#"){let pe=e.indexOf("###",c+3);if(pe<0)P("unclosed `###` block comment — close it with `###`",c,c+3);m1=pe+3;let ve=m1;while(e[ve]===" "||e[ve]==="\t")ve++;if(ve{if(S1==null||S1.kind!=="."&&S1.kind!=="?.")return!1;if(l.length>0)return!1;if(k)return!1;if(K.length>y1.length)return!1;if(!j1.test(e[c]??""))return!1;let m1=c;while(m1=0&&e[w1+1]!=="."&&!bi.test(e[w1+1]??"")&&!k;if(R1&&!v1&&K.lengthe.startsWith(D1,c)&&!G1.test(e[c+D1.length]??""));if(i.length>0&&u>=0&&!m1&&W()?.kind!=="TERMINATOR"){let D1=e[u]==="\r"?2:1;v("TERMINATOR",e.slice(u,u+D1),u,u+D1,{generated:!0})}}if(k&&o.length<=j)k=!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]!==` +`))m1++;let D1=m1{if(S1==null||S1.kind!=="."&&S1.kind!=="?.")return!1;if(l.length>0)return!1;if(k)return!1;if(K.length>y1.length)return!1;if(!j1.test(e[c]??""))return!1;let m1=c;while(m1=0&&e[w1+1]!=="."&&!bi.test(e[w1+1]??"")&&!k;if(R1&&!v1&&K.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;v("TERMINATOR",e.slice(u,u+D1),u,u+D1,{generated:!0})}}if(k&&o.length<=j)k=!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]!==` `)A("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(k&&/[A-Za-z_]/.test(e[c+1]??"")){let K=/^#([A-Za-z_][\w-]*)/.exec(e.slice(c)),a1=W();if(a1&&(a1.kind==="IDENTIFIER"||a1.kind==="PROPERTY")&&!d&&!a1.generated){a1.value+=K[0],a1.end=c+K[0].length,c+=K[0].length;continue}if(a1&&(a1.kind==="TERMINATOR"||a1.kind==="INDENT"||a1.kind==="OUTDENT"||a1.kind==="RENDER")){v("IDENTIFIER",`div${K[0]}`,c,c+K[0].length),c+=K[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 p1=R1+1;while(p1{let R1=c;while(e[R1]===" "||e[R1]==="\t")R1++;return e[R1]==="{"})())v("EXPORT_TYPE",K,C,c);else if(K==="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=a1!==C,y1=1,S1=c+3;while(S10){let p1=e[S1];if(p1==="\\"){S1+=2;continue}if(E1&&p1===C)y1++;if(p1===a1)y1--;if(y1>0)S1++}if(y1!==0)P(`unclosed %w${C} — never closed by '${a1}'`,c,c+3);v("[","[",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=p1}v("]","]",S1,S1+1),c=S1+1;continue}}let Y=e.slice(c,c+4);if(Rs[Y]){v(Rs[Y],Y,c,c+4),c+=4;continue}let X=e.slice(c,c+3);if(X==="==="||X==="!=="){v("COMPARE",X.slice(0,2),c,c+3),c+=3;continue}if(Es[X]){v(Es[X],X,c,c+3),c+=3;continue}let t1=e.slice(c,c+2);if(t1==="?="&&e[c+2]!=="="){v("COMPOUND_ASSIGN","??=",c,c+2),c+=2;continue}if(t1==="*{"){v("MAP_START","*",c,c+1),c+=1;continue}if(ks[t1]){if(t1==="!="&&!d&&(W()?.kind==="IDENTIFIER"||W()?.kind==="PROPERTY"))A(`cannot use the '!' sigil in an assignment to '${W().value}' (write 'a != b' with a space for comparison)`,c);v(ks[t1],t1,c,c+2),c+=2;continue}if(_==="<"||_===">"){v("COMPARE",_,c,c+1),c++;continue}if(_==="*"||_==="/"||_==="%"){if(_==="*"&&w&&(W()?.kind==="IMPORT"||W()?.kind==="IMPORT_TYPE"||W()?.kind===","))v("IMPORT_ALL",_,c,c+1);else if(_==="*"&&W()?.kind==="EXPORT")v("EXPORT_ALL",_,c,c+1);else if(_==="*"&&W()?.kind==="YIELD"&&!p)v("FROM",_,c,c+1);else v("MATH",_,c,c+1);c++;continue}if(_==="!"||_==="~"){if(_==="!"&&!d&&(W()?.kind==="IDENTIFIER"||W()?.kind==="PROPERTY"||W()?.kind==="DYNAMIC_IMPORT")){v("DAMMIT","!",c,c+1),c++;continue}v("UNARY_MATH",_,c,c+1),c++;continue}if(_==="&"||_==="|"||_==="^"){v(_,_,c,c+1),c++;continue}if(_==="?"){if(!d){if(e[c+1]==="("||e[c+1]==="["){v("?.","?",c,c+1),c++;continue}let C=W();if(e[c+1]==="!"&&C&&!C.generated&&at.has(C.kind)){if(C.kind!=="IDENTIFIER"&&C.kind!=="PROPERTY")A("maybe dammit '?!' follows a name, as dammit does (`f?!`, `obj.method?!`) — bind the value to a name first",c,c+2);v("MAYBE_DAMMIT","?!",c,c+2),c+=2;continue}if(C&&!C.generated&&at.has(C.kind)){let a1=i[i.length-2]??null,E1=a1===null||a1.kind==="@"||a1.kind==="TERMINATOR"||a1.kind==="INDENT"||a1.kind==="OUTDENT";if((C.kind==="PROPERTY"||C.kind==="IDENTIFIER")&&E1&&/^[^\S\n]*(:=|~=|=!|=(?![=>!])|:(?![:=]))/.test(e.slice(c+1))){v("OPT_MARKER","?",c,c+1),c++;continue}v("?","?",c,c+1),c++;continue}let K=i[i.length-2]??null;if(C&&(C.kind==="-"||C.kind==="+")&&!C.spaced&&(K?.kind==="]"||K?.kind==="INDEX_END")&&e[c+1]===":"){v("?","?",c,c+1),c++;continue}A("unspaced '?' needs a value before it (postfix existence) — write ' ? ' for a ternary",c)}f++,v("TERNARY","?",c,c+1),c++;continue}if(_==="@"){v("@","@",c,c+1),c++;continue}if(_==="("){let C=W();if(C&&!d&&C.kind==="?."){C.kind="ES6_OPTIONAL_CALL",O("call",c),v("CALL_START","(",c,c+1),c++;continue}let K=C&&!d&&!C.generated&&tr.has(C.kind);O(K?"call":"group",c),v(K?"CALL_START":"(","(",c,c+1),c++;continue}if(_===")"){let C=l1();if(C?.kind!=="call"&&C?.kind!=="group")A("unmatched ')'",c);v(C.kind==="call"?"CALL_END":")",")",c,c+1),c++;continue}if(_==="["){let C=W();if(C&&!d&&C.kind==="?."){C.kind="ES6_OPTIONAL_INDEX",O("index",c),v("INDEX_START","[",c,c+1),c++;continue}let K=C&&!d&&!C.generated&&at.has(C.kind);O(K?"index":"array",c),v(K?"INDEX_START":"[","[",c,c+1),c++;continue}if(_==="]"){let C=l1();if(C?.kind!=="index"&&C?.kind!=="array")A("unmatched ']'",c);v(C.kind==="index"?"INDEX_END":"]","]",c,c+1),c++;continue}if(_==="{"){let C=W();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(),O("object",c,{pick:!0,pickKeys:e[c+1]!==" "&&e[c+1]!=="\t"}),v(C.kind==="?."?"OPTPICK_START":"PICK_START","{",c,c+1);else{let a1=C!=null&&(C.kind==="IMPORT"||C.kind==="IMPORT_TYPE"||C.kind==="EXPORT"||C.kind==="EXPORT_TYPE"||w&&C.kind===",");O("object",c,a1?{specifiers:!0}:{}),v("{","{",c,c+1)}c++;continue}if(_==="}"){let C=l1();if(C?.kind==="interp"){if(v("INTERPOLATION_END",")",c,c+1),c++,C.heregex)I(C.ctx);else r1(C.ctx);continue}if(C?.kind!=="object")A("unmatched '}'",c);v(C.pick?"PICK_END":"}","}",c,c+1),c++;continue}if(_===":"&&e[c+1]===":"){if(!z()&&!i1()&&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,v("PROPERTY","prototype",c,c+2),v(".",".",c,c+2);else v(".",".",c,c+2),v("PROPERTY","prototype",c,c+2),v(".",".",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]??"")&&!z()&&!i1()){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 a1=t3(e,c+1);v("SYMBOL",e.slice(c+1,a1),c,a1),c=a1;continue}}if(_==="="||_==="+"||_==="-"||_==="."||_===","||_===";"||_===":"){if(_===":"&&f>0)f--;v(_===";"?"TERMINATOR":_,_,c,c+1),c++;continue}if(_==="`"&&(z()||i1())){let C=h1(c);v("TYPE_TEMPLATE",e.slice(c,C),c,C),c=C;continue}A(`cannot tokenize '${_}'`,c)}if(l.length>0){if(!(r&&l.every((X)=>X.kind!=="interp"))){let X=l[0],t1={call:"(",group:"(",index:"[",array:"[",object:"{",interp:"#{"}[X.kind]??X.kind;P(`unclosed '${t1}' — never closed by end of input`,X.at,X.at+t1.length)}let Y=e.length;while(Y>0&&(e[Y-1]===` -`||e[Y-1]==="\r"))Y--;while(l.length>0){let X=l[l.length-1],t1={call:"(",group:"(",index:"[",array:"[",object:"{"}[X.kind]??X.kind;a.push({message:`unclosed '${t1}' — never closed by end of input`,start:X.at,end:X.at+t1.length,expected:[],got:"end of input"});let C=X.kind==="call"?"CALL_END":X.kind==="group"?")":X.kind==="index"?"INDEX_END":X.kind==="array"?"]":X.pick?"PICK_END":"}";l1();let K=i.length;while(K>0&&(i[K-1].kind==="OUTDENT"||i[K-1].kind==="INDENT"||i[K-1].kind==="TERMINATOR"))K--;let a1=i[K-1]?.kind,E1=X.kind==="call"&&a1==="CALL_START"||X.kind==="index"&&a1==="INDEX_START";if(a1===","||E1){let y1={id:M++,kind:"IDENTIFIER",value:"",start:Y,end:Y,spaced:!1,newLine:!1,generated:!0,origin:null};L.push(y1),i.splice(K,0,y1)}V(C,Y)}}let B=c1();while(o.length>1)o.pop(),V("OUTDENT",B);let n1=()=>M++;zl(i),ql(i),Ql(i),Mn(i,n1,e,A,r?(_)=>a.push({message:_.reason??String(_.message),start:_.start??0,end:_.end??_.start??0,expected:[],got:""}):null),Qt(i,n1,e,A);for(let _ of i)if(_.kind==="RESERVED")A(`'${_.value}' is reserved and not supported yet`,_.start);return ts(i,n1,A),Zl(i),Ht(i,n1),yi(i),Gt(i,n1),Kt(i,n1),Jl(i),{tokens:i,trivia:s,source:n,lexDiagnostics:a}}function yi(e){for(let t=0;t"&&o!=="=>"&&o!=="ELSE"&&o!=="TRY"&&o!=="FINALLY"){n=!1;break}}}if(se.has(a))i++;else if(ne.has(a)){if(i--,i<0)break}}if(n)e[t].kind=r==="IF"?"POST_IF":"POST_UNLESS"}return e}function ws(e="",{tolerant:t=!1}={}){return{setInput(r){let n=o3(r,e,{tolerant:t});this.tokens=n.tokens,this.trivia=n.trivia,this.source=n.source,this.lexDiagnostics=n.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 l3={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,RENDER:182,ES6_OPTIONAL_CALL:183,"?":184,"(":185,")":186,RETURN:187,WHILE:188,UNTIL:189,WHEN:190,Loop:191,IfBlock:192,IF:193,IfElseTail:194,ELSE:195,UnlessBlock:196,UNLESS:197,POST_IF:198,POST_UNLESS:199,TRY:200,Catch:201,Finalizer:202,FINALLY:203,CATCH:204,CatchVar:205,THROW:206,SWITCH:207,Cases:208,When:209,LEADING_WHEN:210,SimpleArgs:211,FOR:212,ForVariables:213,FORIN:214,BY:215,FOROF:216,OWN:217,FORAS:218,AWAIT:219,FORASAWAIT:220,ForValue:221,LOOP:222,"--":223,"++":224,CAST:225,SATISFIES:226,TERNARY:227,UNARY:228,DO:229,UNARY_MATH:230,YIELD:231,"-":232,"+":233,"**":234,MATH:235,SHIFT:236,"&":237,"^":238,"|":239,COMPARE:240,MATCH:241,RELATION:242,"&&":243,"||":244,"??":245,THEN:246},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",182:"render",183:"?.(",184:"?",185:"(",186:")",187:"return",188:"while",189:"until",190:"when",193:"if",195:"else",197:"unless",198:"if",199:"unless",200:"try",203:"finally",204:"catch",206:"throw",207:"switch",210:"when",212:"for",214:"in",215:"by",216:"of",217:"own",218:"as",219:"await",220:"as!",222:"loop",223:"--",224:"++",225:"as",226:"satisfies",227:"?",228:"not/typeof/delete",229:"do",230:"!/~",231:"yield",232:"-",233:"+",234:"**",235:"a math operator",236:"a shift operator",237:"&",238:"^",239:"|",240:"a comparison",241:"=~",242:"in/of/instanceof",243:"&&",244:"||",245:"??",246:"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}]},"383":{kind:"render",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"384":{kind:"render",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"385":{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}]},"386":{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}]},"387":{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}]},"388":{kind:"call",roles:[{name:"callee",grammarRef:1,childSlot:0,spread:!1},{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"389":{kind:"super",roles:[{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"390":{kind:"optcall",roles:[{name:"callee",grammarRef:1,childSlot:1,spread:!1},{name:"args",grammarRef:3,childSlot:2,spread:!0}]},"391":{kind:"optcall",roles:[{name:"callee",grammarRef:1,childSlot:1,spread:!1},{name:"args",grammarRef:3,childSlot:2,spread:!0}]},"392":{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}]},"393":{kind:"maybe-dammit",roles:[{name:"callee",grammarRef:1,childSlot:1,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"394":{kind:"dynimport",roles:[{name:"keyword",grammarRef:1,childSlot:0,spread:!1},{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"395":{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:[]}]},"407":{kind:"block",roles:[]},"408":{kind:"block",roles:[{name:"statements",grammarRef:2,childSlot:1,spread:!0}]},"411":{kind:"return",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"412":{kind:"return",roles:[{name:"value",grammarRef:3,childSlot:1,spread:!1}]},"413":{kind:"return",roles:[]},"414":{kind:"while",roles:[{name:"condition",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:3,childSlot:2,spread:!1}]},"415":{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:[]}]},"416":{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}]},"417":{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:[]}]},"418":{kind:"while",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"body",grammarRef:1,childSlot:null,spread:!1}]},"419":{kind:"while",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"body",grammarRef:1,childSlot:null,spread:!1}]},"420":{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:[]}]},"421":{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:[]}]},"422":{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}]},"423":{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}]},"424":{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:[]}]},"425":{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:"if",roles:[{name:"condition",grammarRef:2,childSlot:1,spread:!1},{name:"then",grammarRef:3,childSlot:2,spread:!1}]},"428":{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}]},"429":{kind:"if",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:4,childSlot:2,spread:!1}]},"430":{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}]},"432":{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:[]}]},"433":{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:[]}]},"436":{kind:"if",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:1,childSlot:null,spread:!1}]},"437":{kind:"if",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:1,childSlot:null,spread:!1}]},"438":{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:[]}]},"439":{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:[]}]},"440":{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}]},"441":{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}]},"442":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"443":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"444":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"handler",grammarRef:3,childSlot:2,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},{name:"handler",grammarRef:3,childSlot:2,spread:!1}]},"448":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"finalizer",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},{name:"finalizer",grammarRef:4,childSlot:3,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}]},"455":{kind:"block",roles:[{name:"statements",grammarRef:2,childSlot:1,spread:!1}]},"456":{kind:"catch",roles:[{name:"binding",grammarRef:2,childSlot:0,spread:!1},{name:"body",grammarRef:3,childSlot:1,spread:!1}]},"457":{kind:"catch",roles:[{name:"binding",grammarRef:2,childSlot:0,spread:!1},{name:"body",grammarRef:3,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:null,childSlot:0,literal:null},{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"461":{kind:"typedvar",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:2,childSlot:2,spread:!1}]},"462":{kind:"throw",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"463":{kind:"throw",roles:[{name:"value",grammarRef:3,childSlot:1,spread:!1}]},"464":{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}]},"465":{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}]},"466":{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}]},"467":{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}]},"470":{kind:"when",roles:[{name:"conditions",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:3,childSlot:2,spread:!1}]},"471":{kind:"when",roles:[{name:"conditions",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:3,childSlot:2,spread:!1}]},"474":{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}]},"475":{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}]},"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:6,childSlot:4,spread:!1},{name:"body",grammarRef:7,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:8,childSlot:3,spread:!1},{name:"guard",grammarRef:6,childSlot:4,spread:!1},{name:"body",grammarRef:9,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:6,childSlot:3,spread:!1},{name:"guard",grammarRef:8,childSlot:4,spread:!1},{name:"body",grammarRef:9,childSlot:5,spread:!1}]},"479":{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}]},"480":{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}]},"481":{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}]},"482":{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}]},"483":{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}]},"484":{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}]},"485":{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}]},"486":{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}]},"487":{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}]},"488":{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}]},"489":{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}]},"490":{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}]},"491":{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:[]}]},"492":{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:[]}]},"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:7,childSlot:3,spread:!1}],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:9,childSlot:3,spread:!1}],nested:[]}]},"495":{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:[]}]},"496":{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:[]}]},"497":{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:[]}]},"498":{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:[]}]},"499":{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:[]}]},"500":{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:[]}]},"501":{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:[]}]},"502":{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:[]}]},"503":{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:[]}]},"504":{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:[]}]},"505":{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:[]}]},"509":{kind:"loop",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"510":{kind:"loop",roles:[{name:"count",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:3,childSlot:2,spread:!1}]},"511":{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}]},"512":{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}]},"513":{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}]},"514":{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}]},"515":{kind:"existence",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?"},{name:"value",grammarRef:1,childSlot:1,spread:!1}]},"516":{kind:"cast",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:2,childSlot:2,spread:!1}]},"517":{kind:"satisfies",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:2,childSlot:2,spread:!1}]},"518":{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}]},"519":{kind:"unary",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"520":{kind:"doiife",roles:[{name:"func",grammarRef:2,childSlot:1,spread:!1}]},"521":{kind:"unary",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"522":{kind:"await",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1},{name:"operator",grammarRef:1,childSlot:null,spread:!1}]},"523":{kind:"await",roles:[{name:"value",grammarRef:3,childSlot:1,spread:!1},{name:"operator",grammarRef:1,childSlot:null,spread:!1}]},"524":{kind:"yield",roles:[]},"525":{kind:"yield",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"526":{kind:"yield",roles:[{name:"value",grammarRef:3,childSlot:1,spread:!1}]},"527":{kind:"yieldfrom",roles:[{name:"value",grammarRef:3,childSlot:1,spread:!1}]},"528":{kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"-"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"529":{kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"+"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"530":{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}]},"531":{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}]},"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:2,childSlot:0,spread:!1},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"534":{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}]},"535":{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}]},"536":{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}]},"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:2,childSlot:0,spread:!1},{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:"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}]},"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:"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}]},"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}]}},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":[2],"384":[2],"385":[3],"386":[3],"387":[4],"388":[1,2],"389":[2],"390":[1,3],"391":[1,3],"392":[1,3],"393":[1],"394":[1,2],"395":[3],"396":[],"397":[2],"398":[1],"399":[1,3],"400":[1,4],"401":[2],"402":[1,4],"403":[1],"404":[1],"405":[1],"406":[1],"407":[],"408":[2],"409":[2],"410":[3],"411":[2],"412":[3],"413":[],"414":[2,3],"415":[2,3],"416":[2,4,5],"417":[2,4,5],"418":[3,1],"419":[3,1],"420":[3,1],"421":[3,1],"422":[3,5,1],"423":[3,5,1],"424":[3,5,1],"425":[3,5,1],"426":[1],"427":[2,3],"428":[2,3,4],"429":[3,4],"430":[3,4,5],"431":[2],"432":[2,3],"433":[2,3,5],"434":[1],"435":[1],"436":[3,1],"437":[3,1],"438":[3,1],"439":[3,1],"440":[3,1,6],"441":[3,1,5],"442":[2],"443":[2],"444":[2,3],"445":[2],"446":[2,3],"447":[2,3],"448":[2,3],"449":[2,3,4],"450":[2,3],"451":[2,3,4],"452":[2,3],"453":[2,3,4],"454":[2],"455":[2],"456":[2,3],"457":[2,3],"458":[2,3],"459":[2],"460":[1],"461":[1,2],"462":[2],"463":[3],"464":[2,4],"465":[2,4,6],"466":[3],"467":[3,5],"468":[1],"469":[1,2],"470":[2,3],"471":[2,3],"472":[1],"473":[1,3],"474":[2,4,5],"475":[2,4,6,7],"476":[2,4,6,7],"477":[2,4,8,6,9],"478":[2,4,6,8,9],"479":[2,4,5],"480":[2,4,6,7],"481":[3,5,6],"482":[3,5,7,8],"483":[2,4,5],"484":[2,4,6,7],"485":[3,5,6],"486":[3,5,7,8],"487":[2,4,5],"488":[2,4,6,7],"489":[2,3],"490":[2,4,5],"491":[1,3,5],"492":[1,3,5,7],"493":[1,3,5,7],"494":[1,3,5,9,7],"495":[1,3,5,7,9],"496":[1,3,5],"497":[1,3,5,7],"498":[1,4,6],"499":[1,4,6,8],"500":[1,3,5],"501":[1,3,5,7],"502":[1,4,6],"503":[1,4,6,8],"504":[1,3,5],"505":[1,3,5,7],"506":[1],"507":[1],"508":[1,3],"509":[2],"510":[2,3],"511":[2],"512":[2],"513":[1],"514":[1],"515":[1],"516":[1,2],"517":[1,2],"518":[1,3,5],"519":[1,2],"520":[2],"521":[1,2],"522":[2],"523":[3],"524":[],"525":[2],"526":[3],"527":[3],"528":[2],"529":[2],"530":[1,3],"531":[1,3],"532":[1,3],"533":[2,1,3],"534":[2,1,3],"535":[1,3],"536":[1,3],"537":[1,3],"538":[2,1,3],"539":[1,3],"540":[2,1,3],"541":[1,3],"542":[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]},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,"399":!0,"400":!0,"402":!0,"469":!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,6,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,88,-3,-3,-3,-3,-3,29,1,5,31,61,88,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,88,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,18,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,18,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,18,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,18,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,18,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,18,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,18,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,18,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,18,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,18,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,25,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,25,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,18,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,6,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,6,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,6,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,6,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,6,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,-524,-524,183,178,26,27,28,29,30,31,73,32,65,54,71,103,185,100,-524,-524,76,184,-524,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,-524,105,106,96,45,75,-524,92,93,-524,-524,94,95,89,41,-524,42,90,91,86,87,88,83,-524,101,-524,-524,84,85,-524,66,74,67,68,69,82,-524,70,-524,-524,-524,63,56,97,-524,57,98,-524,-524,58,-524,-524,64,60,-524,-524,49,99,43,44,-524,-524,-524,46,47,48,50,51,52,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,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,6,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,18,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,18,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,6,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,21,2,1,1,5,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,-434,-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,21,2,1,1,5,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,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,6,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,45,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,6,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,6,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,6,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,21,2,1,1,5,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,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,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,6,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,14,2,1,1,5,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,6,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,6,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,-413,-413,223,178,26,27,28,29,30,31,73,32,65,54,71,103,100,-413,-413,76,224,-413,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,-413,105,106,96,45,75,-413,92,93,-413,-413,94,95,89,41,-413,42,90,91,86,87,88,83,-413,101,-413,-413,84,85,-413,66,74,67,68,69,82,-413,70,-413,-413,-413,63,56,97,-413,57,98,-413,-413,58,-413,-413,64,60,-413,-413,49,99,43,44,-413,-413,-413,46,47,48,50,51,52,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,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,12,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,21,2,1,1,5,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,18,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,18,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,18,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,18,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,18,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,18,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,18,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,6,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,6,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,18,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,18,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,26,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,18,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,11,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,6,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,6,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,6,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,18,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,18,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,18,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,18,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,6,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,21,2,1,1,5,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,-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,-517,-517,-517,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,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,6,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,6,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,6,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,6,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,6,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,6,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,6,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,6,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,6,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,6,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,6,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,6,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,6,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,6,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,6,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,6,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,6,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,6,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,45,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,6,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,6,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,6,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,6,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,6,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,6,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,18,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,21,2,1,1,5,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,143,-515,-515,-515,351,-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,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,18,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,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,18,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,143,-393,-393,-393,-393,-393,-393,-393,-393,-393,353,-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,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,6,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,6,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,21,2,1,1,5,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,6,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,6,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,25,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,6,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,6,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,-405,384,383,-405,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,79,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,79,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,79,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,79,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,6,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,18,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,6,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,18,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,-511,-511,-511,-511,-511,-511,-175,-175,-511,-175,-511,-175,-175,-175,-511,-175,-175,-511,-175,-511,-511,-511,-511,-175,-511,-175,-175,-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,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,18,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,22,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,18,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,18,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,18,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,-512,-512,-512,-512,-512,-512,-175,-175,-512,-175,-512,-175,-175,-175,-512,-175,-175,-512,-175,-512,-512,-512,-512,-175,-512,-175,-175,-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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,-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,-513,-513,-513,-513,-513,-513,-513,-513,-513,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,-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,-514,-514,-514,-514,-514,-514,-514,-514,-514,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,6,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,6,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,21,2,1,1,5,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,4,188,1,9,1,135,136,133,134,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,112,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,3,27,6,118,100,396,101,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-525,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,6,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,21,2,1,1,5,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,112,-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,21,2,1,1,5,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,-529,-529,-529,-529,-529,112,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,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,21,2,1,1,5,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,21,2,1,1,5,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,6,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,21,2,1,1,5,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,21,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,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,404,405,407,406,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,46,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,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,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,131,132,-443,127,128,129,408,409,407,406,130,-443,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,21,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,135,136,-445,-445,133,134,410,411,407,406,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,4,214,2,2,2,412,413,414,415,12,20,7,6,69,6,7,26,1,9,17,45,8,158,100,160,96,159,161,163,162,101,203,416,202,12,20,7,6,69,6,7,26,1,9,17,45,8,158,100,160,96,159,161,163,162,101,203,417,202,3,36,22,157,165,418,419,5,31,183,2,2,2,420,-507,-507,-507,-507,5,31,183,2,2,2,-506,-506,-506,-506,-506,25,36,152,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,208,1,1,422,423,424,27,36,22,130,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,130,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,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-462,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,21,2,1,1,5,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,6,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,14,2,1,1,5,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,14,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,6,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,1,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,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,131,132,-384,127,-384,-384,-384,-384,130,-384,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-384,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-411,3,27,6,118,100,449,101,45,1,5,22,3,1,4,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,6,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,22,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,22,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,18,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,180,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,6,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,23,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-403,-403,-403,-403,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,18,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,6,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,-405,493,492,-405,-405,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,6,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,6,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,6,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,-404,-404,-404,-404,-404,-404,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,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,18,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,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,6,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,18,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,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,18,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,11,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,11,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,11,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,18,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,18,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,18,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,18,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,18,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,18,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,18,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,18,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,6,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,130,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,130,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,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,26,36,22,130,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,-405,-405,528,529,-405,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,6,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,25,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,6,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,88,-4,-4,-4,-4,-4,25,155,33,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,21,2,1,1,5,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,21,2,1,1,5,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,115,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,115,-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,21,2,1,1,5,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,-533,-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,21,2,1,1,5,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,114,113,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,21,2,1,1,5,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,109,110,-535,114,113,112,115,116,-535,-535,-535,120,121,122,-535,-535,-535,-535,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,109,110,-536,114,113,112,115,116,117,-536,-536,120,121,122,-536,-536,-536,-536,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,117,118,-537,120,121,122,-537,-537,-537,-537,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,-538,-538,-538,-538,-538,122,-538,-538,-538,-538,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,-539,-539,-539,-539,-539,122,-539,-539,-539,-539,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,-540,-540,-540,-540,-540,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,117,118,119,120,121,122,-541,-541,-541,-541,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,21,2,1,1,5,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,117,118,119,120,121,122,123,-542,-542,-542,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,21,2,1,1,5,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,123,-543,-543,-543,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,131,132,-550,127,-550,-550,-550,-550,130,-550,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-550,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,21,2,1,1,5,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,131,132,-551,127,-551,-551,-551,-551,130,-551,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-551,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,21,2,1,1,5,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,131,132,-437,552,-437,-437,-437,-437,130,-437,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,21,2,1,1,5,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,127,-439,-439,-439,-439,130,-439,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,4,214,2,2,2,553,554,555,556,12,20,7,6,69,6,7,26,1,9,17,45,8,158,100,160,96,159,161,163,162,101,203,557,202,12,20,7,6,69,6,7,26,1,9,17,45,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,21,2,1,1,5,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,131,132,559,127,-418,-418,-418,-418,130,-418,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-418,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,560,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,21,2,1,1,5,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,131,132,-436,127,-436,-436,-436,-436,130,-436,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,21,2,1,1,5,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,21,2,1,1,5,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,131,132,561,127,-419,-419,-419,-419,130,-419,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-419,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,562,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,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,18,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,18,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,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,18,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,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,18,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,18,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,5,6,24,1,5,77,-405,563,564,-405,-405,5,6,25,5,1,76,-398,-398,-398,-398,-398,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,6,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,45,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-403,-403,-403,-403,-403,-403,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,21,2,1,1,5,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,6,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,6,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,6,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,6,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,6,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,25,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,6,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,6,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,6,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,21,2,1,1,5,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,6,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,6,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,6,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,6,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,21,2,1,1,5,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,21,2,1,1,5,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,6,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,6,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,21,2,1,1,5,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,18,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,21,2,1,1,5,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,21,2,1,1,5,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,-406,158,100,160,-406,-406,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,6,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,18,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,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,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,21,2,1,1,5,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,6,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,6,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,21,2,1,1,5,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,21,2,1,1,5,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,6,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,6,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,6,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,21,2,1,1,5,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,21,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,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,609,407,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,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,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,10,20,7,6,3,22,44,6,34,9,54,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,6,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,21,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,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,617,407,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,45,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,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,618,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,21,2,1,1,5,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,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,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,6,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,6,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,6,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,216,623,1,218,624,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,6,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,53,158,100,160,96,159,161,163,162,101,203,626,3,208,1,1,627,423,424,4,37,158,14,1,628,629,630,424,3,37,158,15,-468,-468,-468,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,6,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,21,2,1,1,5,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,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,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,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,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,21,2,1,1,5,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,21,2,1,1,5,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,6,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,21,2,1,1,5,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,6,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,11,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,151,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,151,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,6,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,-405,-405,660,661,-405,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,21,2,1,1,5,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,-405,-405,671,672,-405,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,21,2,1,1,5,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,6,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,21,2,1,1,5,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,18,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,-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,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,6,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,6,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,6,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,18,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,6,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,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,-406,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,258,76,-406,-406,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,-406,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,6,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,-405,493,492,-405,-405,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,6,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,45,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,18,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,-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,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,25,120,68,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,6,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,18,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,-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,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,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,18,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,6,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,18,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,18,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,18,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,23,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,6,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,6,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,6,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,-405,719,720,-405,-405,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,-405,724,720,-405,-405,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,18,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,18,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,21,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,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,726,727,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,728,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,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,-406,302,103,-406,-406,-406,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,6,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,6,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,6,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,45,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,6,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,-405,-405,752,529,-405,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,18,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,6,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,18,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,6,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,6,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,6,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,6,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,6,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,6,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,216,762,1,218,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,6,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,6,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,6,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,6,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,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,-406,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,-406,-406,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,-406,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,-405,772,564,-405,-405,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,151,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,21,2,1,1,5,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,6,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,6,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,21,2,1,1,5,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,21,2,1,1,5,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,18,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,6,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,6,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,6,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,6,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,6,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,6,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,151,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,6,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,53,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,18,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,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,25,37,151,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,21,2,1,1,5,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,21,2,1,1,5,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,-523,-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,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,21,2,1,1,5,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,6,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,6,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,21,2,1,1,5,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,6,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,6,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,21,2,1,1,5,3,1,4,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,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,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,21,2,1,1,5,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,2,17,19,800,-460,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,131,132,-455,127,128,129,-455,-455,130,-455,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,21,2,1,1,5,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,28,36,22,130,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,130,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,130,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,130,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,6,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,6,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,130,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,214,2,2,2,-508,-508,-508,-508,4,37,158,14,1,813,814,630,424,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,815,3,37,158,15,-469,-469,-469,3,31,5,22,817,165,816,26,31,5,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-472,-472,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,130,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,130,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,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,21,2,1,1,5,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,-405,384,383,-405,825,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,130,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,21,2,1,1,5,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,21,2,1,1,5,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,1,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,151,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,21,2,1,1,5,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,-406,458,-406,843,-406,-406,459,96,5,6,24,1,5,1,-405,844,661,-405,-405,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,-405,-405,850,661,-405,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,-406,674,-406,-406,-406,469,855,96,5,6,24,1,5,1,-405,856,672,-405,-405,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,21,2,1,1,5,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,-405,-405,863,672,-405,3,17,19,22,864,165,636,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,6,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,6,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,6,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,6,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,6,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,6,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,6,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,6,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,6,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,6,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,186,889,25,143,45,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,18,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,6,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,6,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,6,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,18,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,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,25,37,151,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,18,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,18,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,18,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,68,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,18,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,18,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,6,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,6,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,23,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,18,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,68,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,68,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,6,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,-406,519,-406,-406,96,520,270,-406,905,518,5,6,24,1,5,1,-405,906,720,-405,-405,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,6,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,-405,910,720,-405,-405,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,3,36,22,135,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,18,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,151,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,6,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,151,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,151,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,6,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,6,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,45,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,6,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,21,2,1,1,5,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,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-518,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,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,21,2,1,1,5,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,-441,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,933,-491,-491,-491,-491,-491,-491,934,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-491,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,935,-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,21,2,1,1,5,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,936,-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,21,2,1,1,5,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,937,-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,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,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,6,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,21,2,1,1,5,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,-422,-422,-422,-422,-422,-422,-422,-422,-422,-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,21,2,1,1,5,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,21,2,1,1,5,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,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-423,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,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,18,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,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,6,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,6,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,-399,-399,-399,-399,-399,3,6,30,1,769,770,942,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,21,2,1,1,5,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,151,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,6,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,21,2,1,1,5,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,151,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,21,2,1,1,5,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,6,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,6,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,18,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,-396,-396,-194,-396,-194,-396,-396,-396,-194,-396,-396,-194,-396,-194,-194,-194,-194,-396,-194,-396,-396,-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,-405,949,564,-405,-405,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,18,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,-405,951,383,-405,-405,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,21,2,1,1,5,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,151,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,21,2,1,1,5,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,151,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,21,2,1,1,5,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,21,2,1,1,5,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,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,1,36,-461,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,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,6,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,21,2,1,1,5,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,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,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,21,2,1,1,5,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,6,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,21,2,1,1,5,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,6,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,130,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,130,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,21,2,1,1,5,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,2,36,22,165,963,1,37,964,4,6,31,158,15,965,-470,-470,-470,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,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,21,2,1,1,5,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,1,102,971,3,27,6,118,100,972,101,3,23,69,1,973,171,107,5,6,22,2,1,5,-405,-405,974,661,-405,3,27,6,118,100,975,101,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,976,4,20,15,4,63,458,977,459,96,6,20,9,6,1,3,63,458,978,456,457,459,96,5,6,22,3,5,1,-36,-36,-36,-36,-36,3,6,30,1,841,842,979,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,21,2,1,1,5,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,21,2,1,1,5,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,980,171,107,3,6,22,8,841,981,842,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,21,2,1,1,5,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,982,-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,983,96,6,20,16,3,3,18,42,674,467,469,984,466,96,5,6,22,3,5,1,-90,-90,-90,-90,-90,3,6,30,1,853,854,985,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,21,2,1,1,5,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,986,171,107,3,23,69,1,987,171,107,3,6,22,8,853,988,854,2,36,22,165,820,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,989,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,21,2,1,1,5,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,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,990,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,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,6,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,6,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,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,6,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,21,2,1,1,5,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,21,2,1,1,5,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,6,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,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,6,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,6,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,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,6,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,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,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,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,18,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,-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,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,18,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,-405,493,492,-405,-405,1002,5,6,25,5,1,106,-254,-254,-254,-254,-254,5,6,25,5,1,106,-255,-255,-255,-255,-255,1,120,1003,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,18,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,68,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1004,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,68,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,1005,1,120,1006,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,18,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,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1007,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,18,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,1008,518,7,20,82,1,1,20,38,1,519,96,520,270,1009,517,518,5,6,25,5,1,88,-304,-304,-304,-304,-304,3,6,30,1,903,904,1010,6,6,25,5,1,15,73,-308,-308,-308,-308,1011,-308,29,6,25,5,1,88,63,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,18,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,1012,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1013,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,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,21,2,1,1,5,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,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,5,6,22,3,5,1,-270,-270,-270,-270,-270,5,6,24,1,5,1,-405,1014,529,-405,-405,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1015,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,151,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,29,6,22,3,5,1,151,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,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1017,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,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,68,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1018,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,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1019,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,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,-405,1020,720,-405,-405,7,20,82,1,1,20,38,1,519,96,520,270,1021,517,518,5,6,24,1,5,89,-405,1022,720,-405,-405,7,20,82,1,1,20,38,1,519,96,520,270,1023,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,18,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,1024,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1025,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,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1026,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,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,6,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,6,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,6,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,6,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,1031,-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,21,2,1,1,5,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,1032,-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,5,6,25,5,1,76,-400,-400,-400,-400,-400,5,6,24,1,5,1,-405,1033,564,-405,-405,5,6,25,5,1,76,-401,-401,-401,-401,-401,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,18,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,-396,-396,-195,-396,-195,-396,-396,-396,-195,-396,-396,-195,-396,-195,-195,-195,-195,-396,-195,-396,-396,-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,-405,1034,564,-405,-405,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,21,2,1,1,5,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,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1035,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,1036,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,18,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,1037,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,21,2,1,1,5,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,130,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,1038,131,132,1039,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,130,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,1040,131,132,127,128,129,130,1041,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,26,36,22,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1042,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,130,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,130,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1045,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,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,21,2,1,1,5,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,6,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,1,37,1047,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,3,37,158,15,-471,-471,-471,26,31,5,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-473,-473,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,2,6,31,-382,-382,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,21,2,1,1,5,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,1048,-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,1049,842,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,1050,171,107,5,6,22,3,5,1,-37,-37,-37,-37,-37,5,6,24,1,5,1,-405,1051,661,-405,-405,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,21,2,1,1,5,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,1052,3,23,69,1,1053,171,107,5,6,22,3,5,1,-91,-91,-91,-91,-91,5,6,24,1,5,1,-405,1054,672,-405,-405,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,21,2,1,1,5,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,21,2,1,1,5,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,1055,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,21,2,1,1,5,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,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1056,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,21,2,1,1,5,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,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1057,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,21,2,1,1,5,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,21,2,1,1,5,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,151,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,21,2,1,1,5,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,21,2,1,1,5,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,151,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,21,2,1,1,5,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,151,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,2,36,1,698,1061,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,18,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,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,18,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,18,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,18,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,1062,5,6,25,5,1,88,-305,-305,-305,-305,-305,5,6,24,1,5,1,-405,1063,720,-405,-405,1,125,1064,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1065,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,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,1066,26,36,22,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1067,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,1068,5,6,22,3,5,1,-275,-275,-275,-275,-275,5,6,22,3,5,1,-278,-278,-278,-278,-278,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,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,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1070,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,1071,5,6,24,1,5,1,-405,1072,720,-405,-405,3,6,30,89,903,904,1073,5,6,24,1,5,1,-405,1074,720,-405,-405,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,21,2,1,1,5,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,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,1075,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-492,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,1076,-493,-493,-493,-493,-493,-493,-493,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1077,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,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,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1078,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,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,1079,3,6,30,77,769,770,1080,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,18,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,-397,-397,-196,-397,-196,-397,-397,-397,-196,-397,-397,-196,-397,-196,-196,-196,-196,-397,-196,-397,-397,-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,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1081,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,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,21,2,1,1,5,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,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1082,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,26,36,22,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1083,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,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1084,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,21,2,1,1,5,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,3,27,6,118,100,1085,101,1,25,1086,45,1,5,22,3,1,4,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,1087,-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,1088,3,23,69,1,1089,171,107,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,1090,3,23,69,1,1091,171,107,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,18,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,1092,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,18,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,63,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,18,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,21,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,1093,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,5,6,22,3,5,1,-271,-271,-271,-271,-271,5,6,22,3,5,1,-280,-280,-280,-280,-280,1,120,1094,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,1095,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,1096,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1097,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,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,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1098,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,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,21,2,1,1,5,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,21,2,1,1,5,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,5,6,25,5,1,76,-402,-402,-402,-402,-402,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,18,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,-397,-397,-197,-397,-197,-397,-397,-397,-197,-397,-397,-197,-397,-197,-197,-197,-197,-397,-197,-397,-397,-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,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1099,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,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1100,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,1101,171,107,3,27,6,118,100,1102,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,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,1103,1,125,1104,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,-494,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,21,2,1,1,5,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,-495,-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,21,2,1,1,5,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,45,1,5,22,3,1,4,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,1105,-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,21,2,1,1,5,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,1106,101,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,n,i,s,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 IDENTIFIER","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,n)=>{let i=t,s=t.length-1;switch(e){case 1:return["program"];case 2:return["program",...i[s]];case 3:case 35:case 89:case 140:case 257:case 261:case 268:case 303:case 342:case 375:case 398:case 468:case 472:case 507:return[i[s]];case 4:case 36:case 90:case 269:case 304:case 343:case 376:case 399:{let a=i[s-2];return a.push(i[s]),a}break;case 5:case 142:case 180:case 264:case 340:case 377:return i[s-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 403:case 404:case 405:case 406:case 426:case 431:case 434:case 435:case 454:case 460:case 506:return i[s];case 14:return["type-decl",i[s]];case 15:case 351:case 461:return["typed-var",i[s-1],i[s]];case 16:case 352:return["typed-var",i[s-2],i[s]];case 17:return["def-sig",i[s-2],i[s-1],i[s]];case 18:return["import",i[s]];case 19:case 20:case 31:case 32:return["import",i[s-2],i[s]];case 21:case 33:return["import","{}",i[s]];case 22:case 34:return["import",i[s-4],i[s]];case 23:return["import",i[s-4],i[s-2],i[s]];case 24:return["import",i[s-7],i[s-4],i[s]];case 25:return["import",[i[s-1],i[s]],i[s-2]];case 26:case 27:return["import",i[s-4],[i[s-1],i[s]],i[s-2]];case 28:return["import",i[s-6],[i[s-1],i[s]],i[s-2]];case 29:return["import",i[s-6],i[s-4],[i[s-1],i[s]],i[s-2]];case 30:return["import",i[s-9],i[s-6],[i[s-1],i[s]],i[s-2]];case 37:case 91:case 270:case 305:case 344:case 400:{let a=i[s-3];return a.push(i[s]),a}break;case 38:case 92:case 143:case 397:case 401:return i[s-2];case 39:case 93:case 271:case 306:case 345:case 402:{let a=i[s-5];return a.push(...i[s-2]),a}break;case 41:case 43:case 95:case 96:case 98:case 508:return[i[s-2],i[s]];case 45:return["*",i[s]];case 46:return["export","{}"];case 47:return["export",i[s-2]];case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:return["export",i[s]];case 56:return["export-default",i[s]];case 57:return["export-default",i[s-1]];case 58:return["export-all",i[s]];case 59:case 60:return["export-all",i[s],i[s-2]];case 61:return["export-from","{}",i[s]];case 62:case 63:return["export-from",i[s-4],i[s]];case 64:case 150:case 162:case 277:return["=",i[s-2],i[s]];case 65:case 67:case 70:case 151:case 153:case 156:case 163:case 164:return["=",i[s-3],i[s]];case 66:case 152:case 278:return["=",i[s-4],i[s-1]];case 68:case 154:case 157:case 159:return["=",i[s-4],i[s]];case 69:case 155:case 158:return["=",i[s-5],i[s-1]];case 71:case 169:return["void-assign",i[s-3],i[s]];case 72:case 170:return["void-assign",i[s-4],i[s]];case 73:case 171:return["void-assign",i[s-5],i[s-1]];case 74:case 172:return["void-readonly",i[s-3],i[s]];case 75:case 173:return["void-readonly",i[s-4],i[s]];case 76:case 174:return["void-readonly",i[s-5],i[s-1]];case 77:case 185:case 186:return["state",i[s-3],i[s]];case 78:case 187:return["state",i[s-4],i[s]];case 79:return["state",i[s-5],i[s-1]];case 80:case 82:case 189:case 190:return["computed",i[s-3],i[s]];case 81:case 191:return["computed",i[s-4],i[s]];case 83:case 199:case 200:return["readonly",i[s-3],i[s]];case 84:case 201:return["readonly",i[s-4],i[s]];case 85:return["readonly",i[s-5],i[s-1]];case 86:case 88:case 203:return["effect",i[s-3],i[s]];case 87:return["effect",i[s-4],i[s]];case 127:case 296:return["dammit!",i[s-1]];case 129:case 236:return["tagged-template",i[s-2],i[s]];case 132:return"undefined";case 133:return"null";case 137:return["symbol",i[s]];case 139:return["str",...i[s-1]];case 141:case 262:case 469:{let a=i[s-1];return a.push(i[s]),a}break;case 144:return"";case 147:return["here-regex",i[s],...i[s-1]];case 160:return["=",i[s-5],i[s]];case 161:return["=",i[s-6],i[s-1]];case 165:case 323:case 533:case 534:case 538:case 540:return[i[s-1],i[s-2],i[s]];case 166:return[i[s-3],i[s-4],i[s-1]];case 167:return[i[s-2],i[s-3],i[s]];case 168:return[".=",i[s-2],i[s]];case 184:return["state",i[s-2],i[s]];case 188:return["computed",i[s-2],i[s]];case 192:return["gate",i[s-2],i[s]];case 193:return["gate",i[s-3],i[s]];case 194:return["gate",i[s-4],i[s-2]];case 195:return["gate",i[s-5],i[s-2]];case 196:return["gate",i[s-6],i[s-4],...i[s-2]];case 197:return["gate",i[s-7],i[s-4],...i[s-2]];case 198:return["readonly",i[s-2],i[s]];case 202:return["effect",i[s-2],i[s]];case 204:return["effect",null,i[s]];case 207:case 220:case 221:case 233:case 292:return[".",i[s-2],i[s]];case 208:case 234:case 293:return["?.",i[s-2],i[s]];case 209:case 212:case 235:case 294:return["[]",i[s-3],i[s-1]];case 210:case 213:case 295:return["[]",i[s-5],i[s-2]];case 211:return["regex-index",i[s-5],i[s-3],i[s-1]];case 214:return["optindex",i[s-4],i[s-1]];case 215:return["optindex",i[s-6],i[s-2]];case 216:case 299:return[".{}",i[s-4],...i[s-2]];case 217:case 300:return["?.{}",i[s-4],...i[s-2]];case 218:case 301:return[".{}",i[s-6],...i[s-3]];case 219:case 302:return["?.{}",i[s-6],...i[s-3]];case 222:case 223:case 224:case 456:case 457:case 458:case 519:case 521:return[i[s-1],i[s]];case 225:return["await",["new",i[s-1]]];case 226:return["await",["new",[i[s-2],...i[s]]]];case 227:case 289:case 290:case 291:case 388:case 394:return[i[s-1],...i[s]];case 239:return[i[s-1],i[s-3],i[s]];case 240:return[i[s-1],i[s-4],i[s]];case 241:return[i[s-1],[],i[s]];case 244:case 520:return["do-iife",i[s]];case 245:case 246:return"this";case 247:case 248:return[".","this",i[s]];case 249:return["array"];case 250:return["array",...i[s-1]];case 251:return["array",...i[s-2],...i[s-1]];case 253:{let a=i[s-2];return a.push(...i[s]),a}break;case 254:{let a=i[s-3];return a.push(...i[s]),a}break;case 255:return[...i[s-2],...i[s-1]];case 256:{let a=i[s-5];return a.push(...i[s-4],...i[s-2],...i[s-1]),a}break;case 258:return[...i[s-1],i[s]];case 259:case 267:case 339:case 341:case 396:return[];case 260:return[...i[s]];case 263:return null;case 265:return["object",...i[s-2]];case 266:return["map",...i[s-2]];case 272:return[null,i[s],i[s]];case 274:case 276:return[":",i[s-2],i[s]];case 275:return[":",i[s-4],i[s-1]];case 279:return["void-pair",i[s-3],i[s]];case 280:return["void-pair",i[s-5],i[s-1]];case 281:case 282:case 358:return["...",i[s]];case 288:case 389:return["super",...i[s]];case 297:case 392:return["dammit?",i[s-2],...i[s]];case 298:case 393:return["dammit?",i[s-1]];case 307:return[i[s],i[s],null];case 308:return[i[s-2],i[s],null];case 309:return[i[s-2],i[s-2],i[s]];case 310:return[i[s-4],i[s-2],i[s]];case 318:return["dynamicKey",i[s-1]];case 319:return["[]","this",i[s-1]];case 320:return"..";case 321:return"...";case 322:return[i[s-2],i[s-3],i[s-1]];case 324:return[i[s],i[s-1],null];case 325:return[i[s-1],null,i[s]];case 326:return[i[s],null,null];case 327:case 333:return["def",i[s-2],i[s-1],i[s]];case 328:case 334:return["def",i[s-3],i[s-2],i[s]];case 329:case 335:return["def",i[s-3],i[s-1],i[s]];case 330:case 336:return["def",i[s-4],i[s-2],i[s]];case 331:case 337:return["void-def",i[s-3],i[s-1],i[s]];case 332:case 338:return["void-def",i[s-4],i[s-2],i[s]];case 347:return["default",i[s-2],i[s]];case 348:return["rest",i[s]];case 349:return["expansion"];case 353:return["typed-var",i[s-1],""];case 360:return["class",null,null];case 361:return["class",null,null,i[s]];case 362:return["class",null,i[s]];case 363:return["class",null,i[s-1],i[s]];case 364:return["class",i[s],null];case 365:case 368:return["class",i[s-1],null,i[s]];case 366:return["class",i[s-2],i[s]];case 367:case 369:return["class",i[s-3],i[s-1],i[s]];case 370:return["enum",i[s-1],i[s]];case 371:return["schema",i[s]];case 372:return["component",null,i[s]];case 373:return["component",i[s-1],i[s]];case 374:case 408:return["block",...i[s-1]];case 380:return["offer",i[s]];case 381:return["accept",i[s]];case 382:return["accept",i[s-2],i[s]];case 383:case 384:return["render",i[s]];case 385:return[".","super",i[s]];case 386:return["[]","super",i[s-1]];case 387:return["[]","super",i[s-2]];case 390:case 391:return["optcall",i[s-2],...i[s]];case 395:return["await",["import",...i[s]]];case 407:return["block"];case 409:return i[s-1].length===1?(Array.isArray(i[s-1][0])&&(i[s-1][0].parenthesized=!0),i[s-1][0]):["block",...i[s-1]];case 410:return i[s-2].length===1?(Array.isArray(i[s-2][0])&&(i[s-2][0].parenthesized=!0),i[s-2][0]):["block",...i[s-2]];case 411:return["return",i[s]];case 412:return["return",i[s-1]];case 413:return["return"];case 414:return["while",i[s-1],i[s]];case 415:return["while",["!",i[s-1]],i[s]];case 416:return["while",i[s-3],i[s-1],i[s]];case 417:return["while",["!",i[s-3]],i[s-1],i[s]];case 418:case 419:return["while",i[s],[i[s-2]]];case 420:case 421:return["while",["!",i[s]],[i[s-2]]];case 422:case 423:return["while",i[s-2],i[s],[i[s-4]]];case 424:case 425:return["while",["!",i[s-2]],i[s],[i[s-4]]];case 427:case 429:return["if",i[s-1],i[s]];case 428:case 430:return["if",i[s-2],i[s-1],i[s]];case 432:return["if",["!",i[s-1]],i[s]];case 433:return["if",["!",i[s-3]],i[s-2],i[s]];case 436:case 437:return["if",i[s],[i[s-2]]];case 438:case 439:return["if",["!",i[s]],[i[s-2]]];case 440:return["?:",i[s-4],i[s-6],i[s-1]];case 441:return["?:",i[s-2],i[s-4],i[s]];case 442:case 443:case 445:return["try",i[s]];case 444:case 446:case 447:case 448:case 450:case 452:return["try",i[s-1],i[s]];case 449:case 451:case 453:return["try",i[s-2],i[s-1],i[s]];case 455:return["block",i[s]];case 459:return[null,i[s]];case 462:return["throw",i[s]];case 463:return["throw",i[s-1]];case 464:return["switch",i[s-3],i[s-1],null];case 465:return["switch",i[s-5],i[s-3],i[s-1]];case 466:return["switch",null,i[s-1],null];case 467:return["switch",null,i[s-3],i[s-1]];case 470:return["when",i[s-1],i[s]];case 471:return["when",i[s-2],i[s-1]];case 473:return[...i[s-2],i[s]];case 474:return["for-in",i[s-3],i[s-1],null,null,i[s]];case 475:return["for-in",i[s-5],i[s-3],i[s-1],null,i[s]];case 476:return["for-in",i[s-5],i[s-3],null,i[s-1],i[s]];case 477:return["for-in",i[s-7],i[s-5],i[s-1],i[s-3],i[s]];case 478:return["for-in",i[s-7],i[s-5],i[s-3],i[s-1],i[s]];case 479:return["for-of",i[s-3],i[s-1],!1,null,i[s]];case 480:return["for-of",i[s-5],i[s-3],!1,i[s-1],i[s]];case 481:return["for-of",i[s-3],i[s-1],!0,null,i[s]];case 482:return["for-of",i[s-5],i[s-3],!0,i[s-1],i[s]];case 483:return["for-as",i[s-3],i[s-1],!1,null,i[s]];case 484:return["for-as",i[s-5],i[s-3],!1,i[s-1],i[s]];case 485:case 487:return["for-as",i[s-3],i[s-1],!0,null,i[s]];case 486:case 488:return["for-as",i[s-5],i[s-3],!0,i[s-1],i[s]];case 489:return["for-in",[],i[s-1],null,null,i[s]];case 490:return["for-in",[],i[s-3],i[s-1],null,i[s]];case 491:return["comprehension",i[s-4],[["for-in",i[s-2],i[s],null]],[]];case 492:return["comprehension",i[s-6],[["for-in",i[s-4],i[s-2],null]],[i[s]]];case 493:return["comprehension",i[s-6],[["for-in",i[s-4],i[s-2],i[s]]],[]];case 494:return["comprehension",i[s-8],[["for-in",i[s-6],i[s-4],i[s]]],[i[s-2]]];case 495:return["comprehension",i[s-8],[["for-in",i[s-6],i[s-4],i[s-2]]],[i[s]]];case 496:return["comprehension",i[s-4],[["for-of",i[s-2],i[s],!1]],[]];case 497:return["comprehension",i[s-6],[["for-of",i[s-4],i[s-2],!1]],[i[s]]];case 498:return["comprehension",i[s-5],[["for-of",i[s-2],i[s],!0]],[]];case 499:return["comprehension",i[s-7],[["for-of",i[s-4],i[s-2],!0]],[i[s]]];case 500:return["comprehension",i[s-4],[["for-as",i[s-2],i[s],!1,null]],[]];case 501:return["comprehension",i[s-6],[["for-as",i[s-4],i[s-2],!1,null]],[i[s]]];case 502:return["comprehension",i[s-5],[["for-as",i[s-2],i[s],!0,null]],[]];case 503:return["comprehension",i[s-7],[["for-as",i[s-4],i[s-2],!0,null]],[i[s]]];case 504:return["comprehension",i[s-4],[["for-as",i[s-2],i[s],!0,null]],[]];case 505:return["comprehension",i[s-6],[["for-as",i[s-4],i[s-2],!0,null]],[i[s]]];case 509:return["loop",i[s]];case 510:return["loop-n",i[s-1],i[s]];case 511:return["--",i[s],!1];case 512:return["++",i[s],!1];case 513:return["--",i[s-1],!0];case 514:return["++",i[s-1],!0];case 515:return["?",i[s-1]];case 516:return["cast",i[s-1],i[s]];case 517:return["satisfies",i[s-1],i[s]];case 518:return["?:",i[s-4],i[s-2],i[s]];case 522:return["await",i[s]];case 523:return["await",i[s-1]];case 524:return["yield"];case 525:return["yield",i[s]];case 526:return["yield",i[s-1]];case 527:return["yield-from",i[s]];case 528:return["-",i[s]];case 529:return["+",i[s]];case 530:return["**",i[s-2],i[s]];case 531:return["+",i[s-2],i[s]];case 532:return["-",i[s-2],i[s]];case 535:return["&",i[s-2],i[s]];case 536:return["^",i[s-2],i[s]];case 537:return["|",i[s-2],i[s]];case 539:return["=~",i[s-2],i[s]];case 541:case 544:case 547:case 550:case 552:case 554:return["&&",i[s-2],i[s]];case 542:case 545:case 548:case 551:case 553:case 555:return["||",i[s-2],i[s]];case 543:case 546:case 549:return["??",i[s-2],i[s]]}},parse(e,{primitives:t=!1,tolerant:r=!1}={}){let n,i,s,a,o,l,c,f,h,u,d,p,m,g,b,S,w,R,k,j,M,L,A,P,v,V,[W,G,T,N]=[[0],[null],[null],[[]]],F=this.parseTable,J=1,x=[],Q=[],U=24,r1=e.length;if(r)while(r1>0&&(e[r1-1]===` -`||e[r1-1]==="\r"))r1--;let q=new Set,s1=!1,I=[],c1=[],O=[],D=new WeakMap,H=1,z=Object.create(this.lexer),i1={ctx:{}},e1=this.ctx;for(let B in e1){if(!Object.hasOwn(e1,B))continue;let n1=e1[B];i1.ctx[B]=n1}if(z.setInput(e,i1.ctx),r&&Array.isArray(z.lexDiagnostics))x.push(...z.lexDiagnostics);[i1.ctx.lexer,i1.ctx.parser]=[z,this];let o1=()=>{let B=z.lex()||J;if(typeof B!=="number")B=this.symbolIds[B]||B;return B},f1=null,h1=null,u1={},b1=()=>{f=[];let B=F[V];for(let n1 in B){if(!Object.hasOwn(B,n1))continue;if(this.tokenNames[n1]&&+n1>2){if(!f.includes(this.tokenNames[n1]))f.push(this.tokenNames[n1])}}return f},l1=[this.symbolIds.INDENT,this.symbolIds.OUTDENT,this.symbolIds.TERMINATOR],d1=()=>{if(f1===J)return"end of input";let B=this.tokenNames[f1]||f1,n1=z.text,_=typeof n1==="string"&&n1.trim().length>0&&n1.length<=24&&!l1.includes(f1)&&!/^["'`]/.test(n1);if(_&&z.token?.generated)return`implicit '${n1}'`;return _?`'${n1}'`:`'${B}'`};while(!0){if(V=W[W.length-1],f1==null)if(Q.length>0)R=Q.shift(),f1=R.symbol,h1=R.loc,z.text=R.text,z.loc=R.loc,z.token=R.token;else f1=o1(),h1=f1===J?{start:e.length,end:e.length}:z.loc??null;if(n=F[V]?.[f1],n==null&&r&&U>0){a=f1===J?r1:h1?.start??r1,j=(B=null)=>{if(s1)return;if(s1=!0,u=d1(),f=B!=null?[this.tokenNames[B]||B]:b1(),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===J||z.token?.generated,d=function(B){return`${W.length}:${V}:${B}`},p=null;for(let B of this.repairTable[V]??[]){if(q.has(d(B)))continue;if(i||B===this.symbolIds.TERMINATOR){p=B;break}}if(p!=null)j(p),U--,q.add(d(p)),Q.unshift({symbol:f1,loc:h1,text:z.text,token:z.token}),f1=p,h1={start:a,end:a},z.text="",z.loc=h1,z.token={generated:!0,hole:!0},n=F[V]?.[f1];else if(f1!==J){if(j(),U--,!z.token?.hole)q.clear();f1=null;continue}}if(n==null){if(f=b1(),u=d1(),v=h1?.start??0,c=h1?.end??v,b=`Unexpected ${u}`,f.length)b+=` — expected ${f.join(", ")}`;return x.push({message:b,start:v,end:c,expected:f,got:u}),{sexpr:null,stores:null,diagnostics:x,trivia:z.trivia??null,tokens:z.tokens??null}}if(n>0){if(r&&!z.token?.hole)q.clear();if(W.push(f1,n),G.push(z.text),T.push(z.loc??null),t)N.push(Array.isArray(z.text?.primitiveSpans)?z.text.primitiveSpans:z.loc!=null?[{value:z.text,sourceStart:z.loc.start,sourceEnd:z.loc.end}]:[]);f1=null}else if(n<0){if(this.ctx?.onReduce)this.ctx.onReduce(-n);if(g=this.ruleTable[-n*2+1],P=(()=>{if(g)return h=T[T.length-g],m=T[T.length-1],{start:h?.start??0,end:m?.end??(h?.end??0)};else return s=h1?.start??(T[T.length-1]?.end??0),{start:s,end:s}})(),u1.$=G[G.length-(g||1)],u1._$=P,k=this.ruleActions.call(u1,-n,G,T,i1.ctx),k!=null)u1.$=k;if(o=G.length-g,l=[],t)for(let B of this.primitiveRefs[-n])l.push(...N[o+B-1]??[]);if(S=u1.$,Array.isArray(S)&&D.has(S)&&this.accumulators[-n])L=I[D.get(S)-1],L.sourceStart=P.start,L.sourceEnd=P.end;if(Array.isArray(S)&&!D.has(S))A=this.semantics[-n],o=G.length-g,M=(B,n1,_,Y,X)=>{let t1,C,K,a1,E1,y1,S1=[],_1=1/0,v1=-1/0;for(let p1 of Y){t1=B;for(let m1 of p1.path)t1=t1[m1];if(!(Array.isArray(t1)&&!D.has(t1)))throw Error(`parse: nested annotation '${p1.role}' of rule ${-n} does not address a fresh array`);C=M(t1,p1.kind,p1.roles,p1.nested,null),S1.push(C),_1=Math.min(_1,I[C-1].sourceStart),v1=Math.max(v1,I[C-1].sourceEnd)}for(let p1 of _)if(p1.grammarRef!=null){if(E1=T[o+p1.grammarRef-1],E1==null)throw Error(`parse: missing loc for grammarRef ${p1.grammarRef} of rule ${-n} — lexer protocol violation`);_1=Math.min(_1,E1.start),v1=Math.max(v1,E1.end)}let R1=X??(_1===1/0?P:{start:_1,end:v1}),w1=H++;D.set(B,w1),I.push({nodeId:w1,fileId:0,semanticKind:n1,ruleId:-n,sourceStart:R1.start,sourceEnd:R1.end});for(let p1 of _)if(p1.grammarRef!=null){if(a1=o+p1.grammarRef-1,E1=T[a1],y1={nodeId:w1,role:p1.name,grammarRef:p1.grammarRef,childSlot:p1.childSlot,sourceStart:E1.start,sourceEnd:E1.end,childNodeId:null,fileId:0},p1.spread)y1.spread=!0;else y1.childNodeId=D.get(G[a1])??null;c1.push(y1)}else c1.push({nodeId:w1,role:p1.name,grammarRef:null,childSlot:p1.childSlot,literal:p1.literal,fileId:0});for(let p1=0;p1{let t=Object.create(l3);return Object.defineProperty(t,"ctx",{value:{...e},enumerable:!1,writable:!0,configurable:!0}),t},_s=Ns();var rr=Ns,Dc=_s.parse.bind(_s);var As=()=>{throw Error("rip: filesystem access is unavailable in the browser")};class nr{constructor({nodes:e,roles:t,primitives:r=[],nodeIds:n=null}){this.nodes=e,this.roles=t,this.primitives=r,this.nodeIds=n,this.byId=new Map(e.map((i)=>[i.nodeId,i])),this.rolesByNode=new Map,this.primitivesByValue=new Map;for(let i of t){let s=this.rolesByNode.get(i.nodeId);if(!s)s={list:[],byName:new Map},this.rolesByNode.set(i.nodeId,s);s.list.push(i),s.byName.set(i.role,i)}for(let i of r){let s=this.primitivesByValue.get(i.value);if(!s)this.primitivesByValue.set(i.value,s=[]);s.push(i)}for(let i of this.primitivesByValue.values())i.sort((s,a)=>s.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((n)=>t<=n.sourceStart&&n.sourceEnd<=r)}selfSpan(e){let t=this.byId.get(e);return t?[t.sourceStart,t.sourceEnd]:null}}var ir=(e)=>{if(e.length===0)return null;let t=e[e.length>>1].start,r=[],n=[],i=[];for(let s of e){if(Z.on)Z.n++;if(s.end<=t)n.push(s);else if(s.start>t)i.push(s);else r.push(s)}return{center:t,byStart:r,byEnd:[...r].sort((s,a)=>a.end-s.end),left:ir(n),right:ir(i)}},c3=(e,t,r)=>{let n=e;while(n!==null){if(Z.on)Z.n++;if(tt)break;r.push(i)}n=n.left}else if(t>n.center){for(let i of n.byEnd){if(Z.on)Z.n++;if(i.end<=t)break;r.push(i)}n=n.right}else{for(let i of n.byStart){if(Z.on)Z.n++;r.push(i)}break}}return r},Si=new Set(["tsDirective","shorthandProp","identifier","literal"]);class ye{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((n,i)=>{if(Z.on)Z.n++;let s=t?n.generatedStart:n.sourceStart,a=t?n.generatedEnd:n.sourceEnd;if(s!=null&&sn.start-i.start||n.i-i.i),t)this._genTree=ir(r),this._genCount=this.rows.length;else this._srcTree=ir(r),this._srcCount=this.rows.length}return t?this._genTree:this._srcTree}_stab(e,t){let r=c3(this._tree(e),t,[]);return r.sort((n,i)=>n.width-i.width||n.i-i.i),r.map((n)=>this.rows[n.i])}of(e,t){return this.rows.filter((r)=>r.nodeId===e&&r.role===t).sort((r,n)=>r.generatedStart-n.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(ye.isDirect)??null}directAtSource(e){let t=this.atSource(e).filter(ye.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)=>!Si.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.generatedStarts.mappingKind==="exact"||s.mappingKind==="cover"&&s.role==="$self"&&s.generatedStart!==s.generatedEnd,t=(s)=>s.mappingKind==="exact"?0:1,r=(s)=>s.generatedEnd-s.generatedStart,n=(s)=>s.sourceEnd-s.sourceStart,i=new Map;for(let s of this.rows){if(!e(s))continue;let a=i.get(s.generatedStart);if(!a||t(s)s.generatedStart-a.generatedStart)}}class Se{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,n,i=null;if(t==="$self"){let s=this.stores.node(e);r=s.sourceStart,n=s.sourceEnd}else{let s=this.stores.role(e,t);if("literal"in s)i="synthetic",r=n=this.stores.node(e).sourceStart;else r=s.sourceStart,n=s.sourceEnd}this.openMarks++,this.markStack.push({nodeId:e,role:t,sourceStart:r,sourceEnd:n,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"&&Se.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 n=this.source.slice(e.sourceStart,e.sourceEnd),i=this.chunks.slice(e.chunkStart).join("");if(n.replace(/\s+/g," ")!==i.replace(/\s+/g," "))return;let s=0,a=0;while(s0)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,n=this.exactRanges.get(r),i=n!==void 0&&n.genEnd<=t,s=this.chunks.length,{generatedStart:a,chunkStart:o}=e;while(o=n.genStart&&a{throw Error("rip: schema type story is unavailable in the browser")},Os=()=>!1;var f3={__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"},h3="type __RipClassValue = string | boolean | null | undefined | Record | __RipClassValue[];",u3="/** 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;",Is="(...args: (__RipClassValue | __RipClassValue[])[]) => string",d3=`type __RipAV = E extends Record ? V | string : F; +`))C++;s.push({kind:"comment",start:c,end:C,text:e.slice(c,C)}),c=C;continue}if(_==="$"&&(e[c+1]==='"'||e[c+1]==="'")){let C=i[i.length-1];if(C&&Ss.has(C.kind)){v("TEMPLATE_TAG","$",c,c+1),c+=1;continue}}if(j1.test(_)){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 p1=R1+1;while(p1{let R1=c;while(e[R1]===" "||e[R1]==="\t")R1++;return e[R1]==="{"})())v("EXPORT_TYPE",K,C,c);else if(K==="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=a1!==C,y1=1,S1=c+3;while(S10){let p1=e[S1];if(p1==="\\"){S1+=2;continue}if(E1&&p1===C)y1++;if(p1===a1)y1--;if(y1>0)S1++}if(y1!==0)P(`unclosed %w${C} — never closed by '${a1}'`,c,c+3);v("[","[",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=p1}v("]","]",S1,S1+1),c=S1+1;continue}}let z=e.slice(c,c+4);if(Rs[z]){v(Rs[z],z,c,c+4),c+=4;continue}let X=e.slice(c,c+3);if(X==="==="||X==="!=="){v("COMPARE",X.slice(0,2),c,c+3),c+=3;continue}if(Es[X]){v(Es[X],X,c,c+3),c+=3;continue}let t1=e.slice(c,c+2);if(t1==="?="&&e[c+2]!=="="){v("COMPOUND_ASSIGN","??=",c,c+2),c+=2;continue}if(t1==="*{"){v("MAP_START","*",c,c+1),c+=1;continue}if(ks[t1]){if(t1==="!="&&!d&&(H()?.kind==="IDENTIFIER"||H()?.kind==="PROPERTY"))A(`cannot use the '!' sigil in an assignment to '${H().value}' (write 'a != b' with a space for comparison)`,c);v(ks[t1],t1,c,c+2),c+=2;continue}if(_==="<"||_===">"){v("COMPARE",_,c,c+1),c++;continue}if(_==="*"||_==="/"||_==="%"){if(_==="*"&&w&&(H()?.kind==="IMPORT"||H()?.kind==="IMPORT_TYPE"||H()?.kind===","))v("IMPORT_ALL",_,c,c+1);else if(_==="*"&&H()?.kind==="EXPORT")v("EXPORT_ALL",_,c,c+1);else if(_==="*"&&H()?.kind==="YIELD"&&!p)v("FROM",_,c,c+1);else v("MATH",_,c,c+1);c++;continue}if(_==="!"||_==="~"){if(_==="!"&&!d&&(H()?.kind==="IDENTIFIER"||H()?.kind==="PROPERTY"||H()?.kind==="DYNAMIC_IMPORT")){v("DAMMIT","!",c,c+1),c++;continue}v("UNARY_MATH",_,c,c+1),c++;continue}if(_==="&"||_==="|"||_==="^"){v(_,_,c,c+1),c++;continue}if(_==="?"){if(!d){if(e[c+1]==="("||e[c+1]==="["){v("?.","?",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")A("maybe dammit '?!' follows a name, as dammit does (`f?!`, `obj.method?!`) — bind the value to a name first",c,c+2);v("MAYBE_DAMMIT","?!",c,c+2),c+=2;continue}if(C&&!C.generated&&at.has(C.kind)){let a1=i[i.length-2]??null,E1=a1===null||a1.kind==="@"||a1.kind==="TERMINATOR"||a1.kind==="INDENT"||a1.kind==="OUTDENT";if((C.kind==="PROPERTY"||C.kind==="IDENTIFIER")&&E1&&/^[^\S\n]*(:=|~=|=!|=(?![=>!])|:(?![:=]))/.test(e.slice(c+1))){v("OPT_MARKER","?",c,c+1),c++;continue}v("?","?",c,c+1),c++;continue}let K=i[i.length-2]??null;if(C&&(C.kind==="-"||C.kind==="+")&&!C.spaced&&(K?.kind==="]"||K?.kind==="INDEX_END")&&e[c+1]===":"){v("?","?",c,c+1),c++;continue}A("unspaced '?' needs a value before it (postfix existence) — write ' ? ' for a ternary",c)}f++,v("TERNARY","?",c,c+1),c++;continue}if(_==="@"){v("@","@",c,c+1),c++;continue}if(_==="("){let C=H();if(C&&!d&&C.kind==="?."){C.kind="ES6_OPTIONAL_CALL",O("call",c),v("CALL_START","(",c,c+1),c++;continue}let K=C&&!d&&!C.generated&&tr.has(C.kind);O(K?"call":"group",c),v(K?"CALL_START":"(","(",c,c+1),c++;continue}if(_===")"){let C=l1();if(C?.kind!=="call"&&C?.kind!=="group")A("unmatched ')'",c);v(C.kind==="call"?"CALL_END":")",")",c,c+1),c++;continue}if(_==="["){let C=H();if(C&&!d&&C.kind==="?."){C.kind="ES6_OPTIONAL_INDEX",O("index",c),v("INDEX_START","[",c,c+1),c++;continue}let K=C&&!d&&!C.generated&&at.has(C.kind);O(K?"index":"array",c),v(K?"INDEX_START":"[","[",c,c+1),c++;continue}if(_==="]"){let C=l1();if(C?.kind!=="index"&&C?.kind!=="array")A("unmatched ']'",c);v(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(),O("object",c,{pick:!0,pickKeys:e[c+1]!==" "&&e[c+1]!=="\t"}),v(C.kind==="?."?"OPTPICK_START":"PICK_START","{",c,c+1);else{let a1=C!=null&&(C.kind==="IMPORT"||C.kind==="IMPORT_TYPE"||C.kind==="EXPORT"||C.kind==="EXPORT_TYPE"||w&&C.kind===",");O("object",c,a1?{specifiers:!0}:{}),v("{","{",c,c+1)}c++;continue}if(_==="}"){let C=l1();if(C?.kind==="interp"){if(v("INTERPOLATION_END",")",c,c+1),c++,C.heregex)I(C.ctx);else i1(C.ctx);continue}if(C?.kind!=="object")A("unmatched '}'",c);v(C.pick?"PICK_END":"}","}",c,c+1),c++;continue}if(_===":"&&e[c+1]===":"){if(!Y()&&!r1()&&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,v("PROPERTY","prototype",c,c+2),v(".",".",c,c+2);else v(".",".",c,c+2),v("PROPERTY","prototype",c,c+2),v(".",".",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]??"")&&!Y()&&!r1()){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 a1=t3(e,c+1);v("SYMBOL",e.slice(c+1,a1),c,a1),c=a1;continue}}if(_==="="||_==="+"||_==="-"||_==="."||_===","||_===";"||_===":"){if(_===":"&&f>0)f--;v(_===";"?"TERMINATOR":_,_,c,c+1),c++;continue}if(_==="`"&&(Y()||r1())){let C=h1(c);v("TYPE_TEMPLATE",e.slice(c,C),c,C),c=C;continue}A(`cannot tokenize '${_}'`,c)}if(l.length>0){if(!(r&&l.every((X)=>X.kind!=="interp"))){let X=l[0],t1={call:"(",group:"(",index:"[",array:"[",object:"{",interp:"#{"}[X.kind]??X.kind;P(`unclosed '${t1}' — never closed by end of input`,X.at,X.at+t1.length)}let z=e.length;while(z>0&&(e[z-1]===` +`||e[z-1]==="\r"))z--;while(l.length>0){let X=l[l.length-1],t1={call:"(",group:"(",index:"[",array:"[",object:"{"}[X.kind]??X.kind;a.push({message:`unclosed '${t1}' — never closed by end of input`,start:X.at,end:X.at+t1.length,expected:[],got:"end of input"});let C=X.kind==="call"?"CALL_END":X.kind==="group"?")":X.kind==="index"?"INDEX_END":X.kind==="array"?"]":X.pick?"PICK_END":"}";l1();let K=i.length;while(K>0&&(i[K-1].kind==="OUTDENT"||i[K-1].kind==="INDENT"||i[K-1].kind==="TERMINATOR"))K--;let a1=i[K-1]?.kind,E1=X.kind==="call"&&a1==="CALL_START"||X.kind==="index"&&a1==="INDEX_START";if(a1===","||E1){let y1={id:M++,kind:"IDENTIFIER",value:"",start:z,end:z,spaced:!1,newLine:!1,generated:!0,origin:null};L.push(y1),i.splice(K,0,y1)}V(C,z)}}let B=c1();while(o.length>1)o.pop(),V("OUTDENT",B);let n1=()=>M++;zl(i),ql(i),Ql(i),Mn(i,n1,e,A,r?(_)=>a.push({message:_.reason??String(_.message),start:_.start??0,end:_.end??_.start??0,expected:[],got:""}):null),Qt(i,n1,e,A);for(let _ of i)if(_.kind==="RESERVED")A(`'${_.value}' is reserved and not supported yet`,_.start);return ts(i,n1,A),Zl(i),Ht(i,n1),yi(i),Gt(i,n1),Kt(i,n1),Jl(i),{tokens:i,trivia:s,source:n,lexDiagnostics:a}}function yi(e){for(let t=0;t"&&o!=="=>"&&o!=="ELSE"&&o!=="TRY"&&o!=="FINALLY"){n=!1;break}}}if(se.has(a))i++;else if(ne.has(a)){if(i--,i<0)break}}if(n)e[t].kind=r==="IF"?"POST_IF":"POST_UNLESS"}return e}function ws(e="",{tolerant:t=!1}={}){return{setInput(r){let n=o3(r,e,{tolerant:t});this.tokens=n.tokens,this.trivia=n.trivia,this.source=n.source,this.lexDiagnostics=n.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 l3={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,RENDER:182,ES6_OPTIONAL_CALL:183,"?":184,"(":185,")":186,RETURN:187,WHILE:188,UNTIL:189,WHEN:190,Loop:191,IfBlock:192,IF:193,IfElseTail:194,ELSE:195,UnlessBlock:196,UNLESS:197,POST_IF:198,POST_UNLESS:199,TRY:200,Catch:201,Finalizer:202,FINALLY:203,CATCH:204,CatchVar:205,THROW:206,SWITCH:207,Cases:208,When:209,LEADING_WHEN:210,SimpleArgs:211,FOR:212,ForVariables:213,FORIN:214,BY:215,FOROF:216,OWN:217,FORAS:218,AWAIT:219,FORASAWAIT:220,ForValue:221,LOOP:222,"--":223,"++":224,CAST:225,SATISFIES:226,TERNARY:227,UNARY:228,DO:229,UNARY_MATH:230,YIELD:231,"-":232,"+":233,"**":234,MATH:235,SHIFT:236,"&":237,"^":238,"|":239,COMPARE:240,MATCH:241,RELATION:242,"&&":243,"||":244,"??":245,THEN:246},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",182:"render",183:"?.(",184:"?",185:"(",186:")",187:"return",188:"while",189:"until",190:"when",193:"if",195:"else",197:"unless",198:"if",199:"unless",200:"try",203:"finally",204:"catch",206:"throw",207:"switch",210:"when",212:"for",214:"in",215:"by",216:"of",217:"own",218:"as",219:"await",220:"as!",222:"loop",223:"--",224:"++",225:"as",226:"satisfies",227:"?",228:"not/typeof/delete",229:"do",230:"!/~",231:"yield",232:"-",233:"+",234:"**",235:"a math operator",236:"a shift operator",237:"&",238:"^",239:"|",240:"a comparison",241:"=~",242:"in/of/instanceof",243:"&&",244:"||",245:"??",246:"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}]},"383":{kind:"render",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"384":{kind:"render",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"385":{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}]},"386":{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}]},"387":{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}]},"388":{kind:"call",roles:[{name:"callee",grammarRef:1,childSlot:0,spread:!1},{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"389":{kind:"super",roles:[{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"390":{kind:"optcall",roles:[{name:"callee",grammarRef:1,childSlot:1,spread:!1},{name:"args",grammarRef:3,childSlot:2,spread:!0}]},"391":{kind:"optcall",roles:[{name:"callee",grammarRef:1,childSlot:1,spread:!1},{name:"args",grammarRef:3,childSlot:2,spread:!0}]},"392":{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}]},"393":{kind:"maybe-dammit",roles:[{name:"callee",grammarRef:1,childSlot:1,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"394":{kind:"dynimport",roles:[{name:"keyword",grammarRef:1,childSlot:0,spread:!1},{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"395":{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:[]}]},"407":{kind:"block",roles:[]},"408":{kind:"block",roles:[{name:"statements",grammarRef:2,childSlot:1,spread:!0}]},"411":{kind:"return",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"412":{kind:"return",roles:[{name:"value",grammarRef:3,childSlot:1,spread:!1}]},"413":{kind:"return",roles:[]},"414":{kind:"while",roles:[{name:"condition",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:3,childSlot:2,spread:!1}]},"415":{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:[]}]},"416":{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}]},"417":{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:[]}]},"418":{kind:"while",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"body",grammarRef:1,childSlot:null,spread:!1}]},"419":{kind:"while",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"body",grammarRef:1,childSlot:null,spread:!1}]},"420":{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:[]}]},"421":{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:[]}]},"422":{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}]},"423":{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}]},"424":{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:[]}]},"425":{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:"if",roles:[{name:"condition",grammarRef:2,childSlot:1,spread:!1},{name:"then",grammarRef:3,childSlot:2,spread:!1}]},"428":{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}]},"429":{kind:"if",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:4,childSlot:2,spread:!1}]},"430":{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}]},"432":{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:[]}]},"433":{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:[]}]},"436":{kind:"if",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:1,childSlot:null,spread:!1}]},"437":{kind:"if",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:1,childSlot:null,spread:!1}]},"438":{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:[]}]},"439":{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:[]}]},"440":{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}]},"441":{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}]},"442":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"443":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"444":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"handler",grammarRef:3,childSlot:2,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},{name:"handler",grammarRef:3,childSlot:2,spread:!1}]},"448":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"finalizer",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},{name:"finalizer",grammarRef:4,childSlot:3,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}]},"455":{kind:"block",roles:[{name:"statements",grammarRef:2,childSlot:1,spread:!1}]},"456":{kind:"catch",roles:[{name:"binding",grammarRef:2,childSlot:0,spread:!1},{name:"body",grammarRef:3,childSlot:1,spread:!1}]},"457":{kind:"catch",roles:[{name:"binding",grammarRef:2,childSlot:0,spread:!1},{name:"body",grammarRef:3,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:null,childSlot:0,literal:null},{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"461":{kind:"typedvar",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:2,childSlot:2,spread:!1}]},"462":{kind:"throw",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"463":{kind:"throw",roles:[{name:"value",grammarRef:3,childSlot:1,spread:!1}]},"464":{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}]},"465":{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}]},"466":{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}]},"467":{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}]},"470":{kind:"when",roles:[{name:"conditions",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:3,childSlot:2,spread:!1}]},"471":{kind:"when",roles:[{name:"conditions",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:3,childSlot:2,spread:!1}]},"474":{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}]},"475":{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}]},"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:6,childSlot:4,spread:!1},{name:"body",grammarRef:7,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:8,childSlot:3,spread:!1},{name:"guard",grammarRef:6,childSlot:4,spread:!1},{name:"body",grammarRef:9,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:6,childSlot:3,spread:!1},{name:"guard",grammarRef:8,childSlot:4,spread:!1},{name:"body",grammarRef:9,childSlot:5,spread:!1}]},"479":{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}]},"480":{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}]},"481":{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}]},"482":{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}]},"483":{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}]},"484":{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}]},"485":{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}]},"486":{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}]},"487":{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}]},"488":{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}]},"489":{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}]},"490":{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}]},"491":{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:[]}]},"492":{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:[]}]},"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:7,childSlot:3,spread:!1}],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:9,childSlot:3,spread:!1}],nested:[]}]},"495":{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:[]}]},"496":{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:[]}]},"497":{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:[]}]},"498":{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:[]}]},"499":{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:[]}]},"500":{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:[]}]},"501":{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:[]}]},"502":{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:[]}]},"503":{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:[]}]},"504":{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:[]}]},"505":{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:[]}]},"509":{kind:"loop",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"510":{kind:"loop",roles:[{name:"count",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:3,childSlot:2,spread:!1}]},"511":{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}]},"512":{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}]},"513":{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}]},"514":{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}]},"515":{kind:"existence",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?"},{name:"value",grammarRef:1,childSlot:1,spread:!1}]},"516":{kind:"cast",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:2,childSlot:2,spread:!1}]},"517":{kind:"satisfies",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:2,childSlot:2,spread:!1}]},"518":{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}]},"519":{kind:"unary",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"520":{kind:"doiife",roles:[{name:"func",grammarRef:2,childSlot:1,spread:!1}]},"521":{kind:"unary",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"522":{kind:"await",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1},{name:"operator",grammarRef:1,childSlot:null,spread:!1}]},"523":{kind:"await",roles:[{name:"value",grammarRef:3,childSlot:1,spread:!1},{name:"operator",grammarRef:1,childSlot:null,spread:!1}]},"524":{kind:"yield",roles:[]},"525":{kind:"yield",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"526":{kind:"yield",roles:[{name:"value",grammarRef:3,childSlot:1,spread:!1}]},"527":{kind:"yieldfrom",roles:[{name:"value",grammarRef:3,childSlot:1,spread:!1}]},"528":{kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"-"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"529":{kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"+"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"530":{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}]},"531":{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}]},"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:2,childSlot:0,spread:!1},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"534":{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}]},"535":{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}]},"536":{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}]},"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:2,childSlot:0,spread:!1},{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:"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}]},"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:"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}]},"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}]}},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":[2],"384":[2],"385":[3],"386":[3],"387":[4],"388":[1,2],"389":[2],"390":[1,3],"391":[1,3],"392":[1,3],"393":[1],"394":[1,2],"395":[3],"396":[],"397":[2],"398":[1],"399":[1,3],"400":[1,4],"401":[2],"402":[1,4],"403":[1],"404":[1],"405":[1],"406":[1],"407":[],"408":[2],"409":[2],"410":[3],"411":[2],"412":[3],"413":[],"414":[2,3],"415":[2,3],"416":[2,4,5],"417":[2,4,5],"418":[3,1],"419":[3,1],"420":[3,1],"421":[3,1],"422":[3,5,1],"423":[3,5,1],"424":[3,5,1],"425":[3,5,1],"426":[1],"427":[2,3],"428":[2,3,4],"429":[3,4],"430":[3,4,5],"431":[2],"432":[2,3],"433":[2,3,5],"434":[1],"435":[1],"436":[3,1],"437":[3,1],"438":[3,1],"439":[3,1],"440":[3,1,6],"441":[3,1,5],"442":[2],"443":[2],"444":[2,3],"445":[2],"446":[2,3],"447":[2,3],"448":[2,3],"449":[2,3,4],"450":[2,3],"451":[2,3,4],"452":[2,3],"453":[2,3,4],"454":[2],"455":[2],"456":[2,3],"457":[2,3],"458":[2,3],"459":[2],"460":[1],"461":[1,2],"462":[2],"463":[3],"464":[2,4],"465":[2,4,6],"466":[3],"467":[3,5],"468":[1],"469":[1,2],"470":[2,3],"471":[2,3],"472":[1],"473":[1,3],"474":[2,4,5],"475":[2,4,6,7],"476":[2,4,6,7],"477":[2,4,8,6,9],"478":[2,4,6,8,9],"479":[2,4,5],"480":[2,4,6,7],"481":[3,5,6],"482":[3,5,7,8],"483":[2,4,5],"484":[2,4,6,7],"485":[3,5,6],"486":[3,5,7,8],"487":[2,4,5],"488":[2,4,6,7],"489":[2,3],"490":[2,4,5],"491":[1,3,5],"492":[1,3,5,7],"493":[1,3,5,7],"494":[1,3,5,9,7],"495":[1,3,5,7,9],"496":[1,3,5],"497":[1,3,5,7],"498":[1,4,6],"499":[1,4,6,8],"500":[1,3,5],"501":[1,3,5,7],"502":[1,4,6],"503":[1,4,6,8],"504":[1,3,5],"505":[1,3,5,7],"506":[1],"507":[1],"508":[1,3],"509":[2],"510":[2,3],"511":[2],"512":[2],"513":[1],"514":[1],"515":[1],"516":[1,2],"517":[1,2],"518":[1,3,5],"519":[1,2],"520":[2],"521":[1,2],"522":[2],"523":[3],"524":[],"525":[2],"526":[3],"527":[3],"528":[2],"529":[2],"530":[1,3],"531":[1,3],"532":[1,3],"533":[2,1,3],"534":[2,1,3],"535":[1,3],"536":[1,3],"537":[1,3],"538":[2,1,3],"539":[1,3],"540":[2,1,3],"541":[1,3],"542":[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]},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,"399":!0,"400":!0,"402":!0,"469":!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,6,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,88,-3,-3,-3,-3,-3,29,1,5,31,61,88,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,88,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,18,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,18,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,18,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,18,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,18,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,18,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,18,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,18,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,18,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,18,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,25,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,25,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,18,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,6,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,6,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,6,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,6,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,6,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,-524,-524,183,178,26,27,28,29,30,31,73,32,65,54,71,103,185,100,-524,-524,76,184,-524,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,-524,105,106,96,45,75,-524,92,93,-524,-524,94,95,89,41,-524,42,90,91,86,87,88,83,-524,101,-524,-524,84,85,-524,66,74,67,68,69,82,-524,70,-524,-524,-524,63,56,97,-524,57,98,-524,-524,58,-524,-524,64,60,-524,-524,49,99,43,44,-524,-524,-524,46,47,48,50,51,52,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,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,6,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,18,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,18,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,6,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,21,2,1,1,5,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,-434,-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,21,2,1,1,5,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,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,6,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,45,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,6,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,6,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,6,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,21,2,1,1,5,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,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,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,6,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,14,2,1,1,5,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,6,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,6,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,-413,-413,223,178,26,27,28,29,30,31,73,32,65,54,71,103,100,-413,-413,76,224,-413,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,-413,105,106,96,45,75,-413,92,93,-413,-413,94,95,89,41,-413,42,90,91,86,87,88,83,-413,101,-413,-413,84,85,-413,66,74,67,68,69,82,-413,70,-413,-413,-413,63,56,97,-413,57,98,-413,-413,58,-413,-413,64,60,-413,-413,49,99,43,44,-413,-413,-413,46,47,48,50,51,52,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,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,12,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,21,2,1,1,5,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,18,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,18,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,18,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,18,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,18,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,18,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,18,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,6,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,6,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,18,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,18,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,26,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,18,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,11,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,6,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,6,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,6,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,18,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,18,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,18,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,18,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,6,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,21,2,1,1,5,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,-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,-517,-517,-517,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,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,6,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,6,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,6,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,6,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,6,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,6,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,6,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,6,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,6,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,6,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,6,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,6,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,6,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,6,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,6,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,6,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,6,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,6,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,45,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,6,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,6,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,6,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,6,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,6,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,6,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,18,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,21,2,1,1,5,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,143,-515,-515,-515,351,-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,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,18,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,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,18,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,143,-393,-393,-393,-393,-393,-393,-393,-393,-393,353,-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,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,6,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,6,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,21,2,1,1,5,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,6,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,6,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,25,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,6,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,6,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,-405,384,383,-405,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,79,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,79,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,79,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,79,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,6,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,18,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,6,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,18,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,-511,-511,-511,-511,-511,-511,-175,-175,-511,-175,-511,-175,-175,-175,-511,-175,-175,-511,-175,-511,-511,-511,-511,-175,-511,-175,-175,-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,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,18,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,22,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,18,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,18,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,18,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,-512,-512,-512,-512,-512,-512,-175,-175,-512,-175,-512,-175,-175,-175,-512,-175,-175,-512,-175,-512,-512,-512,-512,-175,-512,-175,-175,-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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,-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,-513,-513,-513,-513,-513,-513,-513,-513,-513,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,-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,-514,-514,-514,-514,-514,-514,-514,-514,-514,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,6,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,6,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,21,2,1,1,5,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,4,188,1,9,1,135,136,133,134,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,112,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,3,27,6,118,100,396,101,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-525,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,6,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,21,2,1,1,5,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,112,-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,21,2,1,1,5,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,-529,-529,-529,-529,-529,112,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,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,21,2,1,1,5,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,21,2,1,1,5,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,6,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,21,2,1,1,5,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,21,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,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,404,405,407,406,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,46,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,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,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,131,132,-443,127,128,129,408,409,407,406,130,-443,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,21,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,135,136,-445,-445,133,134,410,411,407,406,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,4,214,2,2,2,412,413,414,415,12,20,7,6,69,6,7,26,1,9,17,45,8,158,100,160,96,159,161,163,162,101,203,416,202,12,20,7,6,69,6,7,26,1,9,17,45,8,158,100,160,96,159,161,163,162,101,203,417,202,3,36,22,157,165,418,419,5,31,183,2,2,2,420,-507,-507,-507,-507,5,31,183,2,2,2,-506,-506,-506,-506,-506,25,36,152,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,208,1,1,422,423,424,27,36,22,130,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,130,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,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-462,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,21,2,1,1,5,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,6,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,14,2,1,1,5,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,14,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,6,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,1,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,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,131,132,-384,127,-384,-384,-384,-384,130,-384,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-384,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-411,3,27,6,118,100,449,101,45,1,5,22,3,1,4,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,6,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,22,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,22,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,18,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,180,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,6,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,23,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-403,-403,-403,-403,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,18,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,6,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,-405,493,492,-405,-405,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,6,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,6,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,6,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,-404,-404,-404,-404,-404,-404,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,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,18,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,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,6,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,18,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,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,18,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,11,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,11,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,11,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,18,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,18,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,18,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,18,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,18,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,18,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,18,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,18,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,6,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,130,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,130,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,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,26,36,22,130,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,-405,-405,528,529,-405,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,6,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,25,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,6,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,88,-4,-4,-4,-4,-4,25,155,33,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,21,2,1,1,5,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,21,2,1,1,5,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,115,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,115,-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,21,2,1,1,5,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,-533,-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,21,2,1,1,5,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,114,113,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,21,2,1,1,5,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,109,110,-535,114,113,112,115,116,-535,-535,-535,120,121,122,-535,-535,-535,-535,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,109,110,-536,114,113,112,115,116,117,-536,-536,120,121,122,-536,-536,-536,-536,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,117,118,-537,120,121,122,-537,-537,-537,-537,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,-538,-538,-538,-538,-538,122,-538,-538,-538,-538,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,-539,-539,-539,-539,-539,122,-539,-539,-539,-539,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,-540,-540,-540,-540,-540,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,117,118,119,120,121,122,-541,-541,-541,-541,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,21,2,1,1,5,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,117,118,119,120,121,122,123,-542,-542,-542,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,21,2,1,1,5,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,123,-543,-543,-543,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,131,132,-550,127,-550,-550,-550,-550,130,-550,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-550,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,21,2,1,1,5,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,131,132,-551,127,-551,-551,-551,-551,130,-551,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-551,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,21,2,1,1,5,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,131,132,-437,552,-437,-437,-437,-437,130,-437,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,21,2,1,1,5,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,127,-439,-439,-439,-439,130,-439,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,4,214,2,2,2,553,554,555,556,12,20,7,6,69,6,7,26,1,9,17,45,8,158,100,160,96,159,161,163,162,101,203,557,202,12,20,7,6,69,6,7,26,1,9,17,45,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,21,2,1,1,5,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,131,132,559,127,-418,-418,-418,-418,130,-418,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-418,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,560,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,21,2,1,1,5,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,131,132,-436,127,-436,-436,-436,-436,130,-436,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,21,2,1,1,5,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,21,2,1,1,5,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,131,132,561,127,-419,-419,-419,-419,130,-419,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-419,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,562,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,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,18,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,18,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,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,18,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,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,18,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,18,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,5,6,24,1,5,77,-405,563,564,-405,-405,5,6,25,5,1,76,-398,-398,-398,-398,-398,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,6,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,45,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-403,-403,-403,-403,-403,-403,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,21,2,1,1,5,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,6,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,6,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,6,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,6,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,6,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,25,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,6,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,6,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,6,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,21,2,1,1,5,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,6,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,6,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,6,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,6,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,21,2,1,1,5,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,21,2,1,1,5,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,6,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,6,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,21,2,1,1,5,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,18,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,21,2,1,1,5,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,21,2,1,1,5,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,-406,158,100,160,-406,-406,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,6,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,18,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,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,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,21,2,1,1,5,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,6,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,6,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,21,2,1,1,5,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,21,2,1,1,5,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,6,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,6,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,6,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,21,2,1,1,5,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,21,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,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,609,407,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,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,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,10,20,7,6,3,22,44,6,34,9,54,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,6,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,21,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,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,617,407,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,45,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,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,618,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,21,2,1,1,5,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,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,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,6,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,6,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,6,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,216,623,1,218,624,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,6,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,53,158,100,160,96,159,161,163,162,101,203,626,3,208,1,1,627,423,424,4,37,158,14,1,628,629,630,424,3,37,158,15,-468,-468,-468,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,6,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,21,2,1,1,5,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,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,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,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,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,21,2,1,1,5,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,21,2,1,1,5,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,6,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,21,2,1,1,5,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,6,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,11,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,151,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,151,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,6,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,-405,-405,660,661,-405,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,21,2,1,1,5,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,-405,-405,671,672,-405,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,21,2,1,1,5,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,6,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,21,2,1,1,5,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,18,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,-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,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,6,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,6,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,6,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,18,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,6,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,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,-406,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,258,76,-406,-406,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,-406,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,6,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,-405,493,492,-405,-405,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,6,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,45,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,18,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,-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,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,25,120,68,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,6,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,18,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,-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,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,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,18,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,6,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,18,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,18,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,18,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,23,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,6,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,6,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,6,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,-405,719,720,-405,-405,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,-405,724,720,-405,-405,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,18,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,18,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,21,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,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,726,727,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,728,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,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,-406,302,103,-406,-406,-406,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,6,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,6,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,6,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,45,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,6,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,-405,-405,752,529,-405,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,18,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,6,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,18,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,6,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,6,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,6,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,6,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,6,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,6,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,216,762,1,218,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,6,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,6,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,6,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,6,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,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,-406,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,-406,-406,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,-406,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,-405,772,564,-405,-405,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,151,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,21,2,1,1,5,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,6,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,6,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,21,2,1,1,5,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,21,2,1,1,5,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,18,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,6,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,6,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,6,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,6,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,6,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,6,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,151,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,6,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,53,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,18,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,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,25,37,151,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,21,2,1,1,5,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,21,2,1,1,5,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,-523,-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,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,21,2,1,1,5,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,6,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,6,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,21,2,1,1,5,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,6,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,6,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,21,2,1,1,5,3,1,4,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,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,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,21,2,1,1,5,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,2,17,19,800,-460,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,131,132,-455,127,128,129,-455,-455,130,-455,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,21,2,1,1,5,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,28,36,22,130,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,130,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,130,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,130,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,6,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,6,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,130,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,214,2,2,2,-508,-508,-508,-508,4,37,158,14,1,813,814,630,424,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,815,3,37,158,15,-469,-469,-469,3,31,5,22,817,165,816,26,31,5,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-472,-472,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,130,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,130,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,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,21,2,1,1,5,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,-405,384,383,-405,825,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,130,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,21,2,1,1,5,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,21,2,1,1,5,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,1,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,151,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,21,2,1,1,5,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,-406,458,-406,843,-406,-406,459,96,5,6,24,1,5,1,-405,844,661,-405,-405,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,-405,-405,850,661,-405,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,-406,674,-406,-406,-406,469,855,96,5,6,24,1,5,1,-405,856,672,-405,-405,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,21,2,1,1,5,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,-405,-405,863,672,-405,3,17,19,22,864,165,636,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,6,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,6,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,6,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,6,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,6,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,6,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,6,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,6,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,6,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,6,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,186,889,25,143,45,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,18,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,6,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,6,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,6,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,18,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,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,25,37,151,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,18,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,18,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,18,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,68,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,18,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,18,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,6,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,6,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,23,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,18,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,68,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,68,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,6,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,-406,519,-406,-406,96,520,270,-406,905,518,5,6,24,1,5,1,-405,906,720,-405,-405,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,6,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,-405,910,720,-405,-405,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,3,36,22,135,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,18,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,151,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,6,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,151,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,151,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,6,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,6,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,45,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,6,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,21,2,1,1,5,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,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-518,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,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,21,2,1,1,5,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,-441,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,933,-491,-491,-491,-491,-491,-491,934,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-491,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,935,-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,21,2,1,1,5,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,936,-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,21,2,1,1,5,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,937,-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,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,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,6,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,21,2,1,1,5,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,-422,-422,-422,-422,-422,-422,-422,-422,-422,-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,21,2,1,1,5,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,21,2,1,1,5,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,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-423,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,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,18,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,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,6,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,6,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,-399,-399,-399,-399,-399,3,6,30,1,769,770,942,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,21,2,1,1,5,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,151,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,6,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,21,2,1,1,5,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,151,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,21,2,1,1,5,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,6,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,6,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,18,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,-396,-396,-194,-396,-194,-396,-396,-396,-194,-396,-396,-194,-396,-194,-194,-194,-194,-396,-194,-396,-396,-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,-405,949,564,-405,-405,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,18,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,-405,951,383,-405,-405,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,21,2,1,1,5,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,151,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,21,2,1,1,5,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,151,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,21,2,1,1,5,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,21,2,1,1,5,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,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,1,36,-461,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,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,6,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,21,2,1,1,5,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,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,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,21,2,1,1,5,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,6,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,21,2,1,1,5,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,6,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,130,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,130,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,21,2,1,1,5,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,2,36,22,165,963,1,37,964,4,6,31,158,15,965,-470,-470,-470,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,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,21,2,1,1,5,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,1,102,971,3,27,6,118,100,972,101,3,23,69,1,973,171,107,5,6,22,2,1,5,-405,-405,974,661,-405,3,27,6,118,100,975,101,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,976,4,20,15,4,63,458,977,459,96,6,20,9,6,1,3,63,458,978,456,457,459,96,5,6,22,3,5,1,-36,-36,-36,-36,-36,3,6,30,1,841,842,979,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,21,2,1,1,5,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,21,2,1,1,5,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,980,171,107,3,6,22,8,841,981,842,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,21,2,1,1,5,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,982,-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,983,96,6,20,16,3,3,18,42,674,467,469,984,466,96,5,6,22,3,5,1,-90,-90,-90,-90,-90,3,6,30,1,853,854,985,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,21,2,1,1,5,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,986,171,107,3,23,69,1,987,171,107,3,6,22,8,853,988,854,2,36,22,165,820,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,989,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,21,2,1,1,5,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,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,990,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,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,6,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,6,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,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,6,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,21,2,1,1,5,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,21,2,1,1,5,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,6,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,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,6,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,6,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,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,6,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,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,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,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,18,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,-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,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,18,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,-405,493,492,-405,-405,1002,5,6,25,5,1,106,-254,-254,-254,-254,-254,5,6,25,5,1,106,-255,-255,-255,-255,-255,1,120,1003,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,18,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,68,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1004,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,68,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,1005,1,120,1006,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,18,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,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1007,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,18,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,1008,518,7,20,82,1,1,20,38,1,519,96,520,270,1009,517,518,5,6,25,5,1,88,-304,-304,-304,-304,-304,3,6,30,1,903,904,1010,6,6,25,5,1,15,73,-308,-308,-308,-308,1011,-308,29,6,25,5,1,88,63,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,18,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,1012,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1013,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,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,21,2,1,1,5,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,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,5,6,22,3,5,1,-270,-270,-270,-270,-270,5,6,24,1,5,1,-405,1014,529,-405,-405,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1015,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,151,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,29,6,22,3,5,1,151,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,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1017,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,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,68,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1018,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,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1019,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,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,-405,1020,720,-405,-405,7,20,82,1,1,20,38,1,519,96,520,270,1021,517,518,5,6,24,1,5,89,-405,1022,720,-405,-405,7,20,82,1,1,20,38,1,519,96,520,270,1023,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,18,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,1024,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1025,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,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1026,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,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,6,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,6,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,6,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,6,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,1031,-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,21,2,1,1,5,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,1032,-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,5,6,25,5,1,76,-400,-400,-400,-400,-400,5,6,24,1,5,1,-405,1033,564,-405,-405,5,6,25,5,1,76,-401,-401,-401,-401,-401,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,18,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,-396,-396,-195,-396,-195,-396,-396,-396,-195,-396,-396,-195,-396,-195,-195,-195,-195,-396,-195,-396,-396,-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,-405,1034,564,-405,-405,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,21,2,1,1,5,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,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1035,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,1036,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,18,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,1037,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,21,2,1,1,5,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,130,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,1038,131,132,1039,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,130,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,1040,131,132,127,128,129,130,1041,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,26,36,22,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1042,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,130,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,130,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1045,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,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,21,2,1,1,5,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,6,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,1,37,1047,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,3,37,158,15,-471,-471,-471,26,31,5,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-473,-473,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,2,6,31,-382,-382,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,21,2,1,1,5,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,1048,-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,1049,842,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,1050,171,107,5,6,22,3,5,1,-37,-37,-37,-37,-37,5,6,24,1,5,1,-405,1051,661,-405,-405,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,21,2,1,1,5,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,1052,3,23,69,1,1053,171,107,5,6,22,3,5,1,-91,-91,-91,-91,-91,5,6,24,1,5,1,-405,1054,672,-405,-405,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,21,2,1,1,5,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,21,2,1,1,5,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,1055,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,21,2,1,1,5,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,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1056,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,21,2,1,1,5,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,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1057,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,21,2,1,1,5,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,21,2,1,1,5,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,151,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,21,2,1,1,5,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,21,2,1,1,5,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,151,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,21,2,1,1,5,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,151,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,2,36,1,698,1061,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,18,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,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,18,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,18,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,18,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,1062,5,6,25,5,1,88,-305,-305,-305,-305,-305,5,6,24,1,5,1,-405,1063,720,-405,-405,1,125,1064,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1065,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,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,1066,26,36,22,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1067,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,1068,5,6,22,3,5,1,-275,-275,-275,-275,-275,5,6,22,3,5,1,-278,-278,-278,-278,-278,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,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,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1070,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,1071,5,6,24,1,5,1,-405,1072,720,-405,-405,3,6,30,89,903,904,1073,5,6,24,1,5,1,-405,1074,720,-405,-405,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,21,2,1,1,5,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,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,1075,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-492,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,1076,-493,-493,-493,-493,-493,-493,-493,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1077,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,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,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1078,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,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,1079,3,6,30,77,769,770,1080,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,18,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,-397,-397,-196,-397,-196,-397,-397,-397,-196,-397,-397,-196,-397,-196,-196,-196,-196,-397,-196,-397,-397,-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,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1081,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,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,21,2,1,1,5,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,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1082,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,26,36,22,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1083,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,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1084,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,21,2,1,1,5,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,3,27,6,118,100,1085,101,1,25,1086,45,1,5,22,3,1,4,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,1087,-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,1088,3,23,69,1,1089,171,107,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,1090,3,23,69,1,1091,171,107,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,18,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,1092,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,18,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,63,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,18,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,21,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,1093,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,5,6,22,3,5,1,-271,-271,-271,-271,-271,5,6,22,3,5,1,-280,-280,-280,-280,-280,1,120,1094,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,1095,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,1096,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1097,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,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,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1098,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,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,21,2,1,1,5,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,21,2,1,1,5,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,5,6,25,5,1,76,-402,-402,-402,-402,-402,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,18,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,-397,-397,-197,-397,-197,-397,-397,-397,-197,-397,-397,-197,-397,-197,-197,-197,-197,-397,-197,-397,-397,-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,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1099,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,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1100,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,1101,171,107,3,27,6,118,100,1102,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,21,2,1,1,5,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,21,2,1,1,5,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,21,2,1,1,5,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,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,1103,1,125,1104,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,-494,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,21,2,1,1,5,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,-495,-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,21,2,1,1,5,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,45,1,5,22,3,1,4,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,1105,-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,21,2,1,1,5,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,1106,101,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,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,n,i,s,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 IDENTIFIER","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,n)=>{let i=t,s=t.length-1;switch(e){case 1:return["program"];case 2:return["program",...i[s]];case 3:case 35:case 89:case 140:case 257:case 261:case 268:case 303:case 342:case 375:case 398:case 468:case 472:case 507:return[i[s]];case 4:case 36:case 90:case 269:case 304:case 343:case 376:case 399:{let a=i[s-2];return a.push(i[s]),a}break;case 5:case 142:case 180:case 264:case 340:case 377:return i[s-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 403:case 404:case 405:case 406:case 426:case 431:case 434:case 435:case 454:case 460:case 506:return i[s];case 14:return["type-decl",i[s]];case 15:case 351:case 461:return["typed-var",i[s-1],i[s]];case 16:case 352:return["typed-var",i[s-2],i[s]];case 17:return["def-sig",i[s-2],i[s-1],i[s]];case 18:return["import",i[s]];case 19:case 20:case 31:case 32:return["import",i[s-2],i[s]];case 21:case 33:return["import","{}",i[s]];case 22:case 34:return["import",i[s-4],i[s]];case 23:return["import",i[s-4],i[s-2],i[s]];case 24:return["import",i[s-7],i[s-4],i[s]];case 25:return["import",[i[s-1],i[s]],i[s-2]];case 26:case 27:return["import",i[s-4],[i[s-1],i[s]],i[s-2]];case 28:return["import",i[s-6],[i[s-1],i[s]],i[s-2]];case 29:return["import",i[s-6],i[s-4],[i[s-1],i[s]],i[s-2]];case 30:return["import",i[s-9],i[s-6],[i[s-1],i[s]],i[s-2]];case 37:case 91:case 270:case 305:case 344:case 400:{let a=i[s-3];return a.push(i[s]),a}break;case 38:case 92:case 143:case 397:case 401:return i[s-2];case 39:case 93:case 271:case 306:case 345:case 402:{let a=i[s-5];return a.push(...i[s-2]),a}break;case 41:case 43:case 95:case 96:case 98:case 508:return[i[s-2],i[s]];case 45:return["*",i[s]];case 46:return["export","{}"];case 47:return["export",i[s-2]];case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:return["export",i[s]];case 56:return["export-default",i[s]];case 57:return["export-default",i[s-1]];case 58:return["export-all",i[s]];case 59:case 60:return["export-all",i[s],i[s-2]];case 61:return["export-from","{}",i[s]];case 62:case 63:return["export-from",i[s-4],i[s]];case 64:case 150:case 162:case 277:return["=",i[s-2],i[s]];case 65:case 67:case 70:case 151:case 153:case 156:case 163:case 164:return["=",i[s-3],i[s]];case 66:case 152:case 278:return["=",i[s-4],i[s-1]];case 68:case 154:case 157:case 159:return["=",i[s-4],i[s]];case 69:case 155:case 158:return["=",i[s-5],i[s-1]];case 71:case 169:return["void-assign",i[s-3],i[s]];case 72:case 170:return["void-assign",i[s-4],i[s]];case 73:case 171:return["void-assign",i[s-5],i[s-1]];case 74:case 172:return["void-readonly",i[s-3],i[s]];case 75:case 173:return["void-readonly",i[s-4],i[s]];case 76:case 174:return["void-readonly",i[s-5],i[s-1]];case 77:case 185:case 186:return["state",i[s-3],i[s]];case 78:case 187:return["state",i[s-4],i[s]];case 79:return["state",i[s-5],i[s-1]];case 80:case 82:case 189:case 190:return["computed",i[s-3],i[s]];case 81:case 191:return["computed",i[s-4],i[s]];case 83:case 199:case 200:return["readonly",i[s-3],i[s]];case 84:case 201:return["readonly",i[s-4],i[s]];case 85:return["readonly",i[s-5],i[s-1]];case 86:case 88:case 203:return["effect",i[s-3],i[s]];case 87:return["effect",i[s-4],i[s]];case 127:case 296:return["dammit!",i[s-1]];case 129:case 236:return["tagged-template",i[s-2],i[s]];case 132:return"undefined";case 133:return"null";case 137:return["symbol",i[s]];case 139:return["str",...i[s-1]];case 141:case 262:case 469:{let a=i[s-1];return a.push(i[s]),a}break;case 144:return"";case 147:return["here-regex",i[s],...i[s-1]];case 160:return["=",i[s-5],i[s]];case 161:return["=",i[s-6],i[s-1]];case 165:case 323:case 533:case 534:case 538:case 540:return[i[s-1],i[s-2],i[s]];case 166:return[i[s-3],i[s-4],i[s-1]];case 167:return[i[s-2],i[s-3],i[s]];case 168:return[".=",i[s-2],i[s]];case 184:return["state",i[s-2],i[s]];case 188:return["computed",i[s-2],i[s]];case 192:return["gate",i[s-2],i[s]];case 193:return["gate",i[s-3],i[s]];case 194:return["gate",i[s-4],i[s-2]];case 195:return["gate",i[s-5],i[s-2]];case 196:return["gate",i[s-6],i[s-4],...i[s-2]];case 197:return["gate",i[s-7],i[s-4],...i[s-2]];case 198:return["readonly",i[s-2],i[s]];case 202:return["effect",i[s-2],i[s]];case 204:return["effect",null,i[s]];case 207:case 220:case 221:case 233:case 292:return[".",i[s-2],i[s]];case 208:case 234:case 293:return["?.",i[s-2],i[s]];case 209:case 212:case 235:case 294:return["[]",i[s-3],i[s-1]];case 210:case 213:case 295:return["[]",i[s-5],i[s-2]];case 211:return["regex-index",i[s-5],i[s-3],i[s-1]];case 214:return["optindex",i[s-4],i[s-1]];case 215:return["optindex",i[s-6],i[s-2]];case 216:case 299:return[".{}",i[s-4],...i[s-2]];case 217:case 300:return["?.{}",i[s-4],...i[s-2]];case 218:case 301:return[".{}",i[s-6],...i[s-3]];case 219:case 302:return["?.{}",i[s-6],...i[s-3]];case 222:case 223:case 224:case 456:case 457:case 458:case 519:case 521:return[i[s-1],i[s]];case 225:return["await",["new",i[s-1]]];case 226:return["await",["new",[i[s-2],...i[s]]]];case 227:case 289:case 290:case 291:case 388:case 394:return[i[s-1],...i[s]];case 239:return[i[s-1],i[s-3],i[s]];case 240:return[i[s-1],i[s-4],i[s]];case 241:return[i[s-1],[],i[s]];case 244:case 520:return["do-iife",i[s]];case 245:case 246:return"this";case 247:case 248:return[".","this",i[s]];case 249:return["array"];case 250:return["array",...i[s-1]];case 251:return["array",...i[s-2],...i[s-1]];case 253:{let a=i[s-2];return a.push(...i[s]),a}break;case 254:{let a=i[s-3];return a.push(...i[s]),a}break;case 255:return[...i[s-2],...i[s-1]];case 256:{let a=i[s-5];return a.push(...i[s-4],...i[s-2],...i[s-1]),a}break;case 258:return[...i[s-1],i[s]];case 259:case 267:case 339:case 341:case 396:return[];case 260:return[...i[s]];case 263:return null;case 265:return["object",...i[s-2]];case 266:return["map",...i[s-2]];case 272:return[null,i[s],i[s]];case 274:case 276:return[":",i[s-2],i[s]];case 275:return[":",i[s-4],i[s-1]];case 279:return["void-pair",i[s-3],i[s]];case 280:return["void-pair",i[s-5],i[s-1]];case 281:case 282:case 358:return["...",i[s]];case 288:case 389:return["super",...i[s]];case 297:case 392:return["dammit?",i[s-2],...i[s]];case 298:case 393:return["dammit?",i[s-1]];case 307:return[i[s],i[s],null];case 308:return[i[s-2],i[s],null];case 309:return[i[s-2],i[s-2],i[s]];case 310:return[i[s-4],i[s-2],i[s]];case 318:return["dynamicKey",i[s-1]];case 319:return["[]","this",i[s-1]];case 320:return"..";case 321:return"...";case 322:return[i[s-2],i[s-3],i[s-1]];case 324:return[i[s],i[s-1],null];case 325:return[i[s-1],null,i[s]];case 326:return[i[s],null,null];case 327:case 333:return["def",i[s-2],i[s-1],i[s]];case 328:case 334:return["def",i[s-3],i[s-2],i[s]];case 329:case 335:return["def",i[s-3],i[s-1],i[s]];case 330:case 336:return["def",i[s-4],i[s-2],i[s]];case 331:case 337:return["void-def",i[s-3],i[s-1],i[s]];case 332:case 338:return["void-def",i[s-4],i[s-2],i[s]];case 347:return["default",i[s-2],i[s]];case 348:return["rest",i[s]];case 349:return["expansion"];case 353:return["typed-var",i[s-1],""];case 360:return["class",null,null];case 361:return["class",null,null,i[s]];case 362:return["class",null,i[s]];case 363:return["class",null,i[s-1],i[s]];case 364:return["class",i[s],null];case 365:case 368:return["class",i[s-1],null,i[s]];case 366:return["class",i[s-2],i[s]];case 367:case 369:return["class",i[s-3],i[s-1],i[s]];case 370:return["enum",i[s-1],i[s]];case 371:return["schema",i[s]];case 372:return["component",null,i[s]];case 373:return["component",i[s-1],i[s]];case 374:case 408:return["block",...i[s-1]];case 380:return["offer",i[s]];case 381:return["accept",i[s]];case 382:return["accept",i[s-2],i[s]];case 383:case 384:return["render",i[s]];case 385:return[".","super",i[s]];case 386:return["[]","super",i[s-1]];case 387:return["[]","super",i[s-2]];case 390:case 391:return["optcall",i[s-2],...i[s]];case 395:return["await",["import",...i[s]]];case 407:return["block"];case 409:return i[s-1].length===1?(Array.isArray(i[s-1][0])&&(i[s-1][0].parenthesized=!0),i[s-1][0]):["block",...i[s-1]];case 410:return i[s-2].length===1?(Array.isArray(i[s-2][0])&&(i[s-2][0].parenthesized=!0),i[s-2][0]):["block",...i[s-2]];case 411:return["return",i[s]];case 412:return["return",i[s-1]];case 413:return["return"];case 414:return["while",i[s-1],i[s]];case 415:return["while",["!",i[s-1]],i[s]];case 416:return["while",i[s-3],i[s-1],i[s]];case 417:return["while",["!",i[s-3]],i[s-1],i[s]];case 418:case 419:return["while",i[s],[i[s-2]]];case 420:case 421:return["while",["!",i[s]],[i[s-2]]];case 422:case 423:return["while",i[s-2],i[s],[i[s-4]]];case 424:case 425:return["while",["!",i[s-2]],i[s],[i[s-4]]];case 427:case 429:return["if",i[s-1],i[s]];case 428:case 430:return["if",i[s-2],i[s-1],i[s]];case 432:return["if",["!",i[s-1]],i[s]];case 433:return["if",["!",i[s-3]],i[s-2],i[s]];case 436:case 437:return["if",i[s],[i[s-2]]];case 438:case 439:return["if",["!",i[s]],[i[s-2]]];case 440:return["?:",i[s-4],i[s-6],i[s-1]];case 441:return["?:",i[s-2],i[s-4],i[s]];case 442:case 443:case 445:return["try",i[s]];case 444:case 446:case 447:case 448:case 450:case 452:return["try",i[s-1],i[s]];case 449:case 451:case 453:return["try",i[s-2],i[s-1],i[s]];case 455:return["block",i[s]];case 459:return[null,i[s]];case 462:return["throw",i[s]];case 463:return["throw",i[s-1]];case 464:return["switch",i[s-3],i[s-1],null];case 465:return["switch",i[s-5],i[s-3],i[s-1]];case 466:return["switch",null,i[s-1],null];case 467:return["switch",null,i[s-3],i[s-1]];case 470:return["when",i[s-1],i[s]];case 471:return["when",i[s-2],i[s-1]];case 473:return[...i[s-2],i[s]];case 474:return["for-in",i[s-3],i[s-1],null,null,i[s]];case 475:return["for-in",i[s-5],i[s-3],i[s-1],null,i[s]];case 476:return["for-in",i[s-5],i[s-3],null,i[s-1],i[s]];case 477:return["for-in",i[s-7],i[s-5],i[s-1],i[s-3],i[s]];case 478:return["for-in",i[s-7],i[s-5],i[s-3],i[s-1],i[s]];case 479:return["for-of",i[s-3],i[s-1],!1,null,i[s]];case 480:return["for-of",i[s-5],i[s-3],!1,i[s-1],i[s]];case 481:return["for-of",i[s-3],i[s-1],!0,null,i[s]];case 482:return["for-of",i[s-5],i[s-3],!0,i[s-1],i[s]];case 483:return["for-as",i[s-3],i[s-1],!1,null,i[s]];case 484:return["for-as",i[s-5],i[s-3],!1,i[s-1],i[s]];case 485:case 487:return["for-as",i[s-3],i[s-1],!0,null,i[s]];case 486:case 488:return["for-as",i[s-5],i[s-3],!0,i[s-1],i[s]];case 489:return["for-in",[],i[s-1],null,null,i[s]];case 490:return["for-in",[],i[s-3],i[s-1],null,i[s]];case 491:return["comprehension",i[s-4],[["for-in",i[s-2],i[s],null]],[]];case 492:return["comprehension",i[s-6],[["for-in",i[s-4],i[s-2],null]],[i[s]]];case 493:return["comprehension",i[s-6],[["for-in",i[s-4],i[s-2],i[s]]],[]];case 494:return["comprehension",i[s-8],[["for-in",i[s-6],i[s-4],i[s]]],[i[s-2]]];case 495:return["comprehension",i[s-8],[["for-in",i[s-6],i[s-4],i[s-2]]],[i[s]]];case 496:return["comprehension",i[s-4],[["for-of",i[s-2],i[s],!1]],[]];case 497:return["comprehension",i[s-6],[["for-of",i[s-4],i[s-2],!1]],[i[s]]];case 498:return["comprehension",i[s-5],[["for-of",i[s-2],i[s],!0]],[]];case 499:return["comprehension",i[s-7],[["for-of",i[s-4],i[s-2],!0]],[i[s]]];case 500:return["comprehension",i[s-4],[["for-as",i[s-2],i[s],!1,null]],[]];case 501:return["comprehension",i[s-6],[["for-as",i[s-4],i[s-2],!1,null]],[i[s]]];case 502:return["comprehension",i[s-5],[["for-as",i[s-2],i[s],!0,null]],[]];case 503:return["comprehension",i[s-7],[["for-as",i[s-4],i[s-2],!0,null]],[i[s]]];case 504:return["comprehension",i[s-4],[["for-as",i[s-2],i[s],!0,null]],[]];case 505:return["comprehension",i[s-6],[["for-as",i[s-4],i[s-2],!0,null]],[i[s]]];case 509:return["loop",i[s]];case 510:return["loop-n",i[s-1],i[s]];case 511:return["--",i[s],!1];case 512:return["++",i[s],!1];case 513:return["--",i[s-1],!0];case 514:return["++",i[s-1],!0];case 515:return["?",i[s-1]];case 516:return["cast",i[s-1],i[s]];case 517:return["satisfies",i[s-1],i[s]];case 518:return["?:",i[s-4],i[s-2],i[s]];case 522:return["await",i[s]];case 523:return["await",i[s-1]];case 524:return["yield"];case 525:return["yield",i[s]];case 526:return["yield",i[s-1]];case 527:return["yield-from",i[s]];case 528:return["-",i[s]];case 529:return["+",i[s]];case 530:return["**",i[s-2],i[s]];case 531:return["+",i[s-2],i[s]];case 532:return["-",i[s-2],i[s]];case 535:return["&",i[s-2],i[s]];case 536:return["^",i[s-2],i[s]];case 537:return["|",i[s-2],i[s]];case 539:return["=~",i[s-2],i[s]];case 541:case 544:case 547:case 550:case 552:case 554:return["&&",i[s-2],i[s]];case 542:case 545:case 548:case 551:case 553:case 555:return["||",i[s-2],i[s]];case 543:case 546:case 549:return["??",i[s-2],i[s]]}},parse(e,{primitives:t=!1,tolerant:r=!1}={}){let n,i,s,a,o,l,c,f,h,u,d,p,m,g,b,S,w,R,k,j,M,L,A,P,v,V,[H,G,T,N]=[[0],[null],[null],[[]]],F=this.parseTable,J=1,x=[],e1=[],U=24,i1=e.length;if(r)while(i1>0&&(e[i1-1]===` +`||e[i1-1]==="\r"))i1--;let q=new Set,s1=!1,I=[],c1=[],O=[],D=new WeakMap,W=1,Y=Object.create(this.lexer),r1={ctx:{}},Q=this.ctx;for(let B in Q){if(!Object.hasOwn(Q,B))continue;let n1=Q[B];r1.ctx[B]=n1}if(Y.setInput(e,r1.ctx),r&&Array.isArray(Y.lexDiagnostics))x.push(...Y.lexDiagnostics);[r1.ctx.lexer,r1.ctx.parser]=[Y,this];let o1=()=>{let B=Y.lex()||J;if(typeof B!=="number")B=this.symbolIds[B]||B;return B},f1=null,h1=null,u1={},b1=()=>{f=[];let B=F[V];for(let n1 in B){if(!Object.hasOwn(B,n1))continue;if(this.tokenNames[n1]&&+n1>2){if(!f.includes(this.tokenNames[n1]))f.push(this.tokenNames[n1])}}return f},l1=[this.symbolIds.INDENT,this.symbolIds.OUTDENT,this.symbolIds.TERMINATOR],d1=()=>{if(f1===J)return"end of input";let B=this.tokenNames[f1]||f1,n1=Y.text,_=typeof n1==="string"&&n1.trim().length>0&&n1.length<=24&&!l1.includes(f1)&&!/^["'`]/.test(n1);if(_&&Y.token?.generated)return`implicit '${n1}'`;return _?`'${n1}'`:`'${B}'`};while(!0){if(V=H[H.length-1],f1==null)if(e1.length>0)R=e1.shift(),f1=R.symbol,h1=R.loc,Y.text=R.text,Y.loc=R.loc,Y.token=R.token;else f1=o1(),h1=f1===J?{start:e.length,end:e.length}:Y.loc??null;if(n=F[V]?.[f1],n==null&&r&&U>0){a=f1===J?i1:h1?.start??i1,j=(B=null)=>{if(s1)return;if(s1=!0,u=d1(),f=B!=null?[this.tokenNames[B]||B]:b1(),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===J||Y.token?.generated,d=function(B){return`${H.length}:${V}:${B}`},p=null;for(let B of this.repairTable[V]??[]){if(q.has(d(B)))continue;if(i||B===this.symbolIds.TERMINATOR){p=B;break}}if(p!=null)j(p),U--,q.add(d(p)),e1.unshift({symbol:f1,loc:h1,text:Y.text,token:Y.token}),f1=p,h1={start:a,end:a},Y.text="",Y.loc=h1,Y.token={generated:!0,hole:!0},n=F[V]?.[f1];else if(f1!==J){if(j(),U--,!Y.token?.hole)q.clear();f1=null;continue}}if(n==null){if(f=b1(),u=d1(),v=h1?.start??0,c=h1?.end??v,b=`Unexpected ${u}`,f.length)b+=` — expected ${f.join(", ")}`;return x.push({message:b,start:v,end:c,expected:f,got:u}),{sexpr:null,stores:null,diagnostics:x,trivia:Y.trivia??null,tokens:Y.tokens??null}}if(n>0){if(r&&!Y.token?.hole)q.clear();if(H.push(f1,n),G.push(Y.text),T.push(Y.loc??null),t)N.push(Array.isArray(Y.text?.primitiveSpans)?Y.text.primitiveSpans:Y.loc!=null?[{value:Y.text,sourceStart:Y.loc.start,sourceEnd:Y.loc.end}]:[]);f1=null}else if(n<0){if(this.ctx?.onReduce)this.ctx.onReduce(-n);if(g=this.ruleTable[-n*2+1],P=(()=>{if(g)return h=T[T.length-g],m=T[T.length-1],{start:h?.start??0,end:m?.end??(h?.end??0)};else return s=h1?.start??(T[T.length-1]?.end??0),{start:s,end:s}})(),u1.$=G[G.length-(g||1)],u1._$=P,k=this.ruleActions.call(u1,-n,G,T,r1.ctx),k!=null)u1.$=k;if(o=G.length-g,l=[],t)for(let B of this.primitiveRefs[-n])l.push(...N[o+B-1]??[]);if(S=u1.$,Array.isArray(S)&&D.has(S)&&this.accumulators[-n])L=I[D.get(S)-1],L.sourceStart=P.start,L.sourceEnd=P.end;if(Array.isArray(S)&&!D.has(S))A=this.semantics[-n],o=G.length-g,M=(B,n1,_,z,X)=>{let t1,C,K,a1,E1,y1,S1=[],_1=1/0,v1=-1/0;for(let p1 of z){t1=B;for(let m1 of p1.path)t1=t1[m1];if(!(Array.isArray(t1)&&!D.has(t1)))throw Error(`parse: nested annotation '${p1.role}' of rule ${-n} does not address a fresh array`);C=M(t1,p1.kind,p1.roles,p1.nested,null),S1.push(C),_1=Math.min(_1,I[C-1].sourceStart),v1=Math.max(v1,I[C-1].sourceEnd)}for(let p1 of _)if(p1.grammarRef!=null){if(E1=T[o+p1.grammarRef-1],E1==null)throw Error(`parse: missing loc for grammarRef ${p1.grammarRef} of rule ${-n} — lexer protocol violation`);_1=Math.min(_1,E1.start),v1=Math.max(v1,E1.end)}let R1=X??(_1===1/0?P:{start:_1,end:v1}),w1=W++;D.set(B,w1),I.push({nodeId:w1,fileId:0,semanticKind:n1,ruleId:-n,sourceStart:R1.start,sourceEnd:R1.end});for(let p1 of _)if(p1.grammarRef!=null){if(a1=o+p1.grammarRef-1,E1=T[a1],y1={nodeId:w1,role:p1.name,grammarRef:p1.grammarRef,childSlot:p1.childSlot,sourceStart:E1.start,sourceEnd:E1.end,childNodeId:null,fileId:0},p1.spread)y1.spread=!0;else y1.childNodeId=D.get(G[a1])??null;c1.push(y1)}else c1.push({nodeId:w1,role:p1.name,grammarRef:null,childSlot:p1.childSlot,literal:p1.literal,fileId:0});for(let p1=0;p1{let t=Object.create(l3);return Object.defineProperty(t,"ctx",{value:{...e},enumerable:!1,writable:!0,configurable:!0}),t},_s=Ns();var rr=Ns,Dc=_s.parse.bind(_s);var As=()=>{throw Error("rip: filesystem access is unavailable in the browser")};class nr{constructor({nodes:e,roles:t,primitives:r=[],nodeIds:n=null}){this.nodes=e,this.roles=t,this.primitives=r,this.nodeIds=n,this.byId=new Map(e.map((i)=>[i.nodeId,i])),this.rolesByNode=new Map,this.primitivesByValue=new Map;for(let i of t){let s=this.rolesByNode.get(i.nodeId);if(!s)s={list:[],byName:new Map},this.rolesByNode.set(i.nodeId,s);s.list.push(i),s.byName.set(i.role,i)}for(let i of r){let s=this.primitivesByValue.get(i.value);if(!s)this.primitivesByValue.set(i.value,s=[]);s.push(i)}for(let i of this.primitivesByValue.values())i.sort((s,a)=>s.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((n)=>t<=n.sourceStart&&n.sourceEnd<=r)}selfSpan(e){let t=this.byId.get(e);return t?[t.sourceStart,t.sourceEnd]:null}}var ir=(e)=>{if(e.length===0)return null;let t=e[e.length>>1].start,r=[],n=[],i=[];for(let s of e){if(Z.on)Z.n++;if(s.end<=t)n.push(s);else if(s.start>t)i.push(s);else r.push(s)}return{center:t,byStart:r,byEnd:[...r].sort((s,a)=>a.end-s.end),left:ir(n),right:ir(i)}},c3=(e,t,r)=>{let n=e;while(n!==null){if(Z.on)Z.n++;if(tt)break;r.push(i)}n=n.left}else if(t>n.center){for(let i of n.byEnd){if(Z.on)Z.n++;if(i.end<=t)break;r.push(i)}n=n.right}else{for(let i of n.byStart){if(Z.on)Z.n++;r.push(i)}break}}return r},Si=new Set(["tsDirective","shorthandProp","identifier","literal"]);class ye{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((n,i)=>{if(Z.on)Z.n++;let s=t?n.generatedStart:n.sourceStart,a=t?n.generatedEnd:n.sourceEnd;if(s!=null&&sn.start-i.start||n.i-i.i),t)this._genTree=ir(r),this._genCount=this.rows.length;else this._srcTree=ir(r),this._srcCount=this.rows.length}return t?this._genTree:this._srcTree}_stab(e,t){let r=c3(this._tree(e),t,[]);return r.sort((n,i)=>n.width-i.width||n.i-i.i),r.map((n)=>this.rows[n.i])}of(e,t){return this.rows.filter((r)=>r.nodeId===e&&r.role===t).sort((r,n)=>r.generatedStart-n.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(ye.isDirect)??null}directAtSource(e){let t=this.atSource(e).filter(ye.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)=>!Si.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.generatedStarts.mappingKind==="exact"||s.mappingKind==="cover"&&s.role==="$self"&&s.generatedStart!==s.generatedEnd,t=(s)=>s.mappingKind==="exact"?0:1,r=(s)=>s.generatedEnd-s.generatedStart,n=(s)=>s.sourceEnd-s.sourceStart,i=new Map;for(let s of this.rows){if(!e(s))continue;let a=i.get(s.generatedStart);if(!a||t(s)s.generatedStart-a.generatedStart)}}class Se{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,n,i=null;if(t==="$self"){let s=this.stores.node(e);r=s.sourceStart,n=s.sourceEnd}else{let s=this.stores.role(e,t);if("literal"in s)i="synthetic",r=n=this.stores.node(e).sourceStart;else r=s.sourceStart,n=s.sourceEnd}this.openMarks++,this.markStack.push({nodeId:e,role:t,sourceStart:r,sourceEnd:n,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"&&Se.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 n=this.source.slice(e.sourceStart,e.sourceEnd),i=this.chunks.slice(e.chunkStart).join("");if(n.replace(/\s+/g," ")!==i.replace(/\s+/g," "))return;let s=0,a=0;while(s0)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,n=this.exactRanges.get(r),i=n!==void 0&&n.genEnd<=t,s=this.chunks.length,{generatedStart:a,chunkStart:o}=e;while(o=n.genStart&&a{throw Error("rip: schema type story is unavailable in the browser")},Os=()=>!1;var f3={__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"},h3="type __RipClassValue = string | boolean | null | undefined | Record | __RipClassValue[];",u3="/** 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;",Is="(...args: (__RipClassValue | __RipClassValue[])[]) => string",d3=`type __RipAV = E extends Record ? V | string : F; type __RipProp = E extends Record ? V : any;`,m3=["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"],$s=m3.map((e)=>`'${e}'`).join(" | "),Ds=(e)=>`{ [K in Exclude]?: K extends ${e} ? string | number : string | 0 } & { [k: \`--\${string}\`]: string | number }`,p3=`type __RipUnitless = ${$s}; `+"/** 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 = ${Ds("__RipUnitless")};`,Vc=`(${Ds($s)})`,Ei="__RipCSSProperties | string",xs="(el: object, value: __RipCSSProperties | string | null | undefined) => void",sr="__RipClassValue | __RipClassValue[]",Cs=" [k: `data-${string}`]: string | number | boolean;\n [k: `aria-${string}`]: string | number | boolean;",ki=(e)=>/^[A-Za-z_$][\w$]*$/.test(e)?e:`'${e}'`,ar=(e,t)=>`__RipAttrVals_${t?"svg_":""}${e}`,Ti=(e,t)=>`__RipEl_${t?"svg_":""}${e}`,De=(e,t)=>`${t?"SVGElementTagNameMap":"HTMLElementTagNameMap"}['${e}']`,ot=(e,t)=>typeof e==="string"&&(t?Ve.has(e):Bt.has(e));function Ps(e,t){let r=f3[e]??e,n=e==="class"?sr:e==="style"?Ei:`__RipAV<${t}, '${r}'>`;return[` ${ki(e)}: ${n};`]}function g3(){let e=[];for(let t of $e)e.push(...Ps(t,"HTMLElement"));return`interface __RipGlobalAttrVals { ${e.join(` @@ -162,23 +162,23 @@ ${s??""}`);let h=()=>{if(f)this.b.emit(f);else this.expr(n)};if(this.b.emit("for `)))}else if(!this.scopes[0].has(i.head)){let c=_3[i.head]??"";if(this.ts)this.b.tsOnly(()=>this.mark(e,"annotation",()=>l(`declare global { interface ${i.head}${c} { `,`: ${s} } } `)))}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(n)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,s=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=s,this._componentTypeParams=a,n)this.b.emit(")")})))}reactiveDecl(e,t){let[r,n,i]=e,s=r==="state"?":=":"~=";if(typeof n!=="string")throw this.positionedError(e,`emitter: a reactive declaration takes a plain name — ' ${s} …' cannot declare a ${y(n)&&n[0]==="object"?"destructuring pattern":y(n)&&n[0]==="array"?"destructuring pattern":"member or index target"}`);if(r==="state"&&n==="__state"||r==="computed"&&n==="__computed")throw this.positionedError(e,`emitter: '${n} ${s} …' would bind the very runtime name its own lowering calls (const ${n} = ${n}(…) — 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(n)),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",Ni(this.annotationText(e),c,vi))}else if(this.ts){let c=Ws(i);if(c!==null){let f=r==="computed"?"readonly ":"";this.b.tsOnly(()=>this.b.emit(`: ${Ni(c,f,vi)}`))}}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(g1(t)&&t.length>2){let i=this.liveStmts(t.slice(1),{forwards:!0}),{entries:s,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,s),this.scopes.pop(),this.rframes.pop();return}let n=E.needsGrouping(t,"operand")||O1(t);if(n)this.b.emit("(");if(this.expr(t),n)this.b.emit(")")}readonlyDecl(e,t){let[r,n,i]=e;if(r==="void-readonly")this.registerVoidValue(i,e);if(typeof n!=="string")throw this.positionedError(e,`emitter: a readonly declaration takes a plain name — ' =! …' cannot declare a ${y(n)&&(n[0]==="object"||n[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(n)),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 s=E.needsGrouping(i,"operand");if(s)this.b.emit("(");if(this.expr(i),s)this.b.emit(")")}))}))),this.b.emit(";")}effectStatement(e,t){let[,r,n]=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,n,t,!1)}else this.effectValue(e,n,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 n=this.firstAwaitIn(r);if(n!==null)return n}return null}effectValue(e,t,r,n){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(n)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 s=this.containsAwait(t);if(i(),this.b.emit(s?"(async () => ":"(() => "),g1(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=E3;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 n=this.stores.idOf(e);return(n!==null?this.stores.node(n)?.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 n=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 s=i.slice(2).join(".");if(n===null)return{path:s,pathNode:t,key:null,keyCode:null,keyParts:null};if(typeof n==="string"&&(/^-?(?:\d+(?:\.\d+)?|\.\d+)$/.test(n.replace(/_/g,""))||/^["'][^]*["']$/.test(n)||n==="true"||n==="false"))return{path:s,pathNode:t,key:n,keyCode:n,keyParts:null};let a=E.gateChain(n);if(a===null)return{error:"key",node:n};if(a[0]==="this")a.shift();if(a[0]!=="params"&&a[0]!=="query"||a.length<2)return{error:"key",node:n};return{path:s,pathNode:t,key:n,keyCode:a.join("."),keyParts:a}}static hmrFingerprint(e){let t=JSON.stringify(e),r=2166136261;for(let n=0;n>>0).toString(16).padStart(8,"0")}emitComponentHmrMeta(e,{bindingName:t,declaredProps:r,stateVars:n,derivedVars:i,gateVars:s,extendsTag:a,methods:o,hooks:l,hasRender:c}){let f=(k)=>[...k].sort(),h=f(r),u=f(n.map((k)=>k.name)),d=f(i.map((k)=>k.name)),p=f(o.map((k)=>k.name)),m=f(l.map((k)=>k.name)),g=s.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.b.emit(`${e}static __hmrSig = ${JSON.stringify(R)}; -`)}componentExpr(e){let[,t,r]=e,n=null,i=null;if(t!==null){let I=typeof t==="string"?t:null;if(I!==null&&Q1(I)&&!I.includes("#"))n=I;else if(I!==null&&Ce(I)&&(this.inScope(I)||this.moduleBound.has(I))){if(I===this._componentName)throw this.positionedError(e,`emitter: component '${I}' cannot extend itself — the render would construct it without end`);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; '${typeof t==="string"?t:"…"}' is neither`)}let s=n??i,a=null,o=null;if(this.ts){let I=this.stores.idOf(e)??null,c1=I!==null?this.stores.selfSpan(I):null,O=this.b.source;if(c1!==null&&O!==null&&O.startsWith("component",c1[0])){if(this.silences.push([c1[0],c1[0]+9]),s!==null){let D=/^component(\s+)extends(\s+)/.exec(O.slice(c1[0],c1[1]));if(D!==null&&O.startsWith(s,c1[0]+D[0].length)){let H=c1[0]+9+D[1].length;this.silences.push([H,H+7]);let z=c1[0]+D[0].length;if(n!==null)this.intrinsics.push({start:z,end:z+n.length,kind:"tag",tag:n,svg:!1});else a=[z,z+i.length],o=I}}}}let l=g1(r)?r.slice(1):[],c=[],f=[],h=[],u=[],d=[],p=[],m=[],g=[],b=[],S=[],w=new Map,R=null,k=new Map,j=new Set,M=new Map,L=(I,c1,O,D)=>{if(M.has(I))throw this.positionedError(O,`emitter: duplicate component member '${I}' — it is already declared in this component body; `+"duplicates clobber silently across kinds",e);if(k3.has(I))throw this.positionedError(O,`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(O,`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(O,`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,O),c1!=="hook"){if(k.set(I,c1),D)j.add(I)}},A=(I)=>{let c1="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",O=this.b.source;if((!y(I)||this.stores.idOf(I)===null)&&O!==null){let D=(e1)=>{let o1=y(e1)?this.stores.idOf(e1):null;return o1!==null?this.stores.selfSpan(o1):null},H=l.indexOf(I),z=D(r),i1=null;for(let e1=H-1;e1>=0&&i1===null;e1--)i1=D(l[e1])?.[1]??null;if(i1===null)i1=z?.[0]??null;if(i1!==null){while(i1i1&&/\s/.test(O[e1-1]))e1--;throw this.positionedErrorAt(i1,e1,c1)}}throw this.positionedError(I,c1,e)},P=(I,c1,O,D)=>{let H=this.stores.idOf(I),z=H!==null?this.stores.role(H,c1):null;if(z?.sourceStart!=null)throw this.positionedErrorAt(z.sourceStart,z.sourceEnd,D);throw this.positionedError(O,D,I,e)},v=(I,c1)=>{if(this.isRenderNode(I)){if(c1)V(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(c1)V(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 O=I[2];if(!(Ce(O)&&(this.inScope(O)||this.moduleBound.has(O))))throw this.positionedError(I,`emitter: accept reads from a component bound in this module — '${O}' is not one`,e);L(I[1],"accept",I,!0),S.push(I[1]),w.set(I[1],O);return}if(this.isGateDecl(I)){if(c1)V(I);let O=E.memberTarget(I[1]);if(O===null)P(I,"target",I[1],"emitter: a render gate ('<~') target must be one private component name — patterns and member chains cannot name a gate");if(O.isPublic)P(I,"target",I[1],`emitter: render gate '${O.name}' must be private — '@${O.name} <~ …' would expose route-prefetched state as a caller prop; remove '@' and pass an explicit prop where public input is intended`);let D=E.gateSource(I);if(D.error==="arity")P(I,"key",D.node,"emitter: a keyed render gate takes exactly one key argument — use @stash.name(params.id)");if(D.error==="path")P(I,"rhs",D.node,"emitter: '<~' requires a literal @stash. on the right-hand side, optionally called with one key");if(D.error==="key")P(I,"key",D.node,"emitter: a keyed render gate key may only be a literal or a params/query path (for example params.id or @query.tab)");L(O.name,"gate",I,!0),d.push({name:O.name,...D,node:I});return}if(this.isReactiveDecl(I)){let O=E.memberTarget(I[1]);if(O===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);L(O.name,"state",I,!0),h.push({name:O.name,value:I[2],isPublic:O.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);L(O.name,"computed",I,!0),u.push({name:O.name,value:I[2],node:I})}return}if(this.isReadonlyDecl(I)){let O=E.memberTarget(I[1]);if(O===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);L(O.name,"readonly",I,!1),c.push({name:O.name,value:I[2],isPublic:O.isPublic,node:I});return}if(this.isEffectDecl(I)){if(c1)V(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 O=E.memberTarget(I[1]);if(O!==null&&O.isPublic){L(O.name,"prop",I,!0),h.push({name:O.name,value:void 0,isPublic:!0,required:!1,optional:!0,node:I});return}A(I)}if(E.isTypedWrapper(I)){let O=E.memberTarget(I[1]);if(O!==null&&O.isPublic){L(O.name,"prop",I,!0),h.push({name:O.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"){L(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 O=E.memberTarget(I[1]);if(O===null)A(I);let D=I[0]==="void-assign";if(E.COMPONENT_HOOKS.has(O.name)){if(c1)V(I);if(!T1(I[2]))throw this.positionedError(I,`emitter: the lifecycle hook '${O.name}' takes a function value — \`${O.name} = -> …\``,e);L(O.name,"hook",I,!1),m.push({name:O.name,func:I[2],isVoid:D,node:I});return}if(T1(I[2])){L(O.name,"method",I,!1),p.push({name:O.name,func:I[2],isVoid:D,node:I});return}if(D)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);L(O.name,"plain",I,!1),f.push({name:O.name,value:I[2],isPublic:O.isPublic,node:I});return}if(O1(I)){if(c1)V(I);for(let O of I.slice(1)){if(!y(O)||O[0]!==":"&&O[0]!=="void-pair"||typeof O[1]!=="string"||!T1(O[2]))A(I);let D=O[0]==="void-pair";if(E.COMPONENT_HOOKS.has(O[1]))L(O[1],"hook",I,!1),m.push({name:O[1],func:O[2],isVoid:D,node:O});else L(O[1],"method",I,!1),p.push({name:O[1],func:O[2],isVoid:D,node:O})}return}A(I)},V=(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 c1=I[1];if(!(this.isReactiveDecl(c1)&&c1[0]==="state"))V(I);this.noteHeadKeyword("context-channel","offer",I),v(c1,!0);let O=E.memberTarget(c1[1]);b.push(O.name);continue}v(I,!1)}let W=[];for(let{name:I,isPublic:c1}of[...h,...c,...f])if(c1)W.push(I);if(s!==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);k.set("rest","rest"),j.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,T=this.ts?wi(this.stores,this.b.source,e,G):null;if(T)T.hostSpan=a,T.hostNodeId=o,T.appStashSpec=this.appStashSpec,T.routesUnion=this.routesUnion,T.routeParams=this.routeParams;if(T!==null)this.componentInfo.set(e,T);let N=new Map;for(let I of T?.members??[]){let c1=E.memberLabel(I);if(c1!==null)N.set(I.name,{label:c1,optional:I.optional===!0})}if(s!==null)N.set("rest",{label:"rest",optional:!1});let F={members:k,memberReactive:j,memberKinds:N,name:this._componentName,extendsTag:n,extendsComponent:i,plainWrites:new Map,renderPlainReads:new Set},J=this.ind,x=" ".repeat(J+1),Q=x+" ";this.cframes.push(F),this.rframes.push({reactive:new Set,bound:new Set,members:k,memberReactive:j,memberKinds:N});let U=this.methodName;this.methodName=null;let r1=[...[...c,...f,...h].map((I)=>I.value),...u.map((I)=>I.value).filter((I)=>!(g1(I)&&I.length>2))].filter((I)=>I!==void 0),{entries:q,names:s1}=this.scopedHoist(r1,[],{declareInPlace:!1});this.mark(e,"$self",()=>{if(this.b.emit("class"),this.ts&&this._componentTypeParams){let{text:B,owner:n1}=this._componentTypeParams;this.b.tsOnly(()=>this.mark(n1,"typeParams",()=>this.emitTypeText(n1,"typeParams",B)))}if(this.b.emit(` extends ${this.runtimeName("__Component")} { -`),T!==null)this.tsComponentMemberDeclares(T,x);if(d.length>0)this.b.emit(`${x}static __gates = [`),d.forEach((B,n1)=>{if(n1>0)this.b.emit(", ");if(!(this.ts&&T!==null&&T.members.some((Y)=>Y.node===B.node&&this.gateTwinSource(Y,T)!==null))){this.noteVocabulary("gate-prefix","stash",B.pathNode);for(let Y of B.keyParts??[])this.noteSilence(Y,B.key)}this.mark(B.node,"$self",()=>{this.mark(B.node,"operator",()=>{}),this.mark(B.node,"rhs",()=>{if(B.key===null)this.emitQuotedPrimitive(B.path);else{if(this.b.emit("{ path: "),this.emitQuotedPrimitive(B.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(B.node,"key",()=>{this.mark(B.key,"$self",()=>{if(B.keyParts===null){this.b.emit(B.keyCode);return}B.keyParts.forEach((Y,X)=>{if(X>0)this.b.emit(".");this.emitPrimitive(Y)})})}),this.b.emit(" }")}})})}),this.b.emit(`]; -`);if(W.length>0)this.b.emit(`${x}static __props = [${W.map((B)=>`'${B}'`).join(", ")}]; +`)}componentExpr(e){let[,t,r]=e,n=null,i=null;if(t!==null){let I=typeof t==="string"?t:null;if(I!==null&&Q1(I)&&!I.includes("#"))n=I;else if(I!==null&&Ce(I)&&(this.inScope(I)||this.moduleBound.has(I))){if(I===this._componentName)throw this.positionedError(e,`emitter: component '${I}' cannot extend itself — the render would construct it without end`);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; '${typeof t==="string"?t:"…"}' is neither`)}let s=n??i,a=null,o=null;if(this.ts){let I=this.stores.idOf(e)??null,c1=I!==null?this.stores.selfSpan(I):null,O=this.b.source;if(c1!==null&&O!==null&&O.startsWith("component",c1[0])){if(this.silences.push([c1[0],c1[0]+9]),s!==null){let D=/^component(\s+)extends(\s+)/.exec(O.slice(c1[0],c1[1]));if(D!==null&&O.startsWith(s,c1[0]+D[0].length)){let W=c1[0]+9+D[1].length;this.silences.push([W,W+7]);let Y=c1[0]+D[0].length;if(n!==null)this.intrinsics.push({start:Y,end:Y+n.length,kind:"tag",tag:n,svg:!1});else a=[Y,Y+i.length],o=I}}}}let l=g1(r)?r.slice(1):[],c=[],f=[],h=[],u=[],d=[],p=[],m=[],g=[],b=[],S=[],w=new Map,R=null,k=new Map,j=new Set,M=new Map,L=(I,c1,O,D)=>{if(M.has(I))throw this.positionedError(O,`emitter: duplicate component member '${I}' — it is already declared in this component body; `+"duplicates clobber silently across kinds",e);if(k3.has(I))throw this.positionedError(O,`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(O,`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(O,`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,O),c1!=="hook"){if(k.set(I,c1),D)j.add(I)}},A=(I)=>{let c1="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",O=this.b.source;if((!y(I)||this.stores.idOf(I)===null)&&O!==null){let D=(Q)=>{let o1=y(Q)?this.stores.idOf(Q):null;return o1!==null?this.stores.selfSpan(o1):null},W=l.indexOf(I),Y=D(r),r1=null;for(let Q=W-1;Q>=0&&r1===null;Q--)r1=D(l[Q])?.[1]??null;if(r1===null)r1=Y?.[0]??null;if(r1!==null){while(r1r1&&/\s/.test(O[Q-1]))Q--;throw this.positionedErrorAt(r1,Q,c1)}}throw this.positionedError(I,c1,e)},P=(I,c1,O,D)=>{let W=this.stores.idOf(I),Y=W!==null?this.stores.role(W,c1):null;if(Y?.sourceStart!=null)throw this.positionedErrorAt(Y.sourceStart,Y.sourceEnd,D);throw this.positionedError(O,D,I,e)},v=(I,c1)=>{if(this.isRenderNode(I)){if(c1)V(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(c1)V(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 O=I[2];if(!(Ce(O)&&(this.inScope(O)||this.moduleBound.has(O))))throw this.positionedError(I,`emitter: accept reads from a component bound in this module — '${O}' is not one`,e);L(I[1],"accept",I,!0),S.push(I[1]),w.set(I[1],O);return}if(this.isGateDecl(I)){if(c1)V(I);let O=E.memberTarget(I[1]);if(O===null)P(I,"target",I[1],"emitter: a render gate ('<~') target must be one private component name — patterns and member chains cannot name a gate");if(O.isPublic)P(I,"target",I[1],`emitter: render gate '${O.name}' must be private — '@${O.name} <~ …' would expose route-prefetched state as a caller prop; remove '@' and pass an explicit prop where public input is intended`);let D=E.gateSource(I);if(D.error==="arity")P(I,"key",D.node,"emitter: a keyed render gate takes exactly one key argument — use @stash.name(params.id)");if(D.error==="path")P(I,"rhs",D.node,"emitter: '<~' requires a literal @stash. on the right-hand side, optionally called with one key");if(D.error==="key")P(I,"key",D.node,"emitter: a keyed render gate key may only be a literal or a params/query path (for example params.id or @query.tab)");L(O.name,"gate",I,!0),d.push({name:O.name,...D,node:I});return}if(this.isReactiveDecl(I)){let O=E.memberTarget(I[1]);if(O===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);L(O.name,"state",I,!0),h.push({name:O.name,value:I[2],isPublic:O.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);L(O.name,"computed",I,!0),u.push({name:O.name,value:I[2],node:I})}return}if(this.isReadonlyDecl(I)){let O=E.memberTarget(I[1]);if(O===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);L(O.name,"readonly",I,!1),c.push({name:O.name,value:I[2],isPublic:O.isPublic,node:I});return}if(this.isEffectDecl(I)){if(c1)V(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 O=E.memberTarget(I[1]);if(O!==null&&O.isPublic){L(O.name,"prop",I,!0),h.push({name:O.name,value:void 0,isPublic:!0,required:!1,optional:!0,node:I});return}A(I)}if(E.isTypedWrapper(I)){let O=E.memberTarget(I[1]);if(O!==null&&O.isPublic){L(O.name,"prop",I,!0),h.push({name:O.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"){L(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 O=E.memberTarget(I[1]);if(O===null)A(I);let D=I[0]==="void-assign";if(E.COMPONENT_HOOKS.has(O.name)){if(c1)V(I);if(!T1(I[2]))throw this.positionedError(I,`emitter: the lifecycle hook '${O.name}' takes a function value — \`${O.name} = -> …\``,e);L(O.name,"hook",I,!1),m.push({name:O.name,func:I[2],isVoid:D,node:I});return}if(T1(I[2])){L(O.name,"method",I,!1),p.push({name:O.name,func:I[2],isVoid:D,node:I});return}if(D)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);L(O.name,"plain",I,!1),f.push({name:O.name,value:I[2],isPublic:O.isPublic,node:I});return}if(O1(I)){if(c1)V(I);for(let O of I.slice(1)){if(!y(O)||O[0]!==":"&&O[0]!=="void-pair"||typeof O[1]!=="string"||!T1(O[2]))A(I);let D=O[0]==="void-pair";if(E.COMPONENT_HOOKS.has(O[1]))L(O[1],"hook",I,!1),m.push({name:O[1],func:O[2],isVoid:D,node:O});else L(O[1],"method",I,!1),p.push({name:O[1],func:O[2],isVoid:D,node:O})}return}A(I)},V=(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 c1=I[1];if(!(this.isReactiveDecl(c1)&&c1[0]==="state"))V(I);this.noteHeadKeyword("context-channel","offer",I),v(c1,!0);let O=E.memberTarget(c1[1]);b.push(O.name);continue}v(I,!1)}let H=[];for(let{name:I,isPublic:c1}of[...h,...c,...f])if(c1)H.push(I);if(s!==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);k.set("rest","rest"),j.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,T=this.ts?wi(this.stores,this.b.source,e,G):null;if(T)T.hostSpan=a,T.hostNodeId=o,T.appStashSpec=this.appStashSpec,T.routesUnion=this.routesUnion,T.routeParams=this.routeParams;if(T!==null)this.componentInfo.set(e,T);let N=new Map;for(let I of T?.members??[]){let c1=E.memberLabel(I);if(c1!==null)N.set(I.name,{label:c1,optional:I.optional===!0})}if(s!==null)N.set("rest",{label:"rest",optional:!1});let F={members:k,memberReactive:j,memberKinds:N,name:this._componentName,extendsTag:n,extendsComponent:i,plainWrites:new Map,renderPlainReads:new Set},J=this.ind,x=" ".repeat(J+1),e1=x+" ";this.cframes.push(F),this.rframes.push({reactive:new Set,bound:new Set,members:k,memberReactive:j,memberKinds:N});let U=this.methodName;this.methodName=null;let i1=[...[...c,...f,...h].map((I)=>I.value),...u.map((I)=>I.value).filter((I)=>!(g1(I)&&I.length>2))].filter((I)=>I!==void 0),{entries:q,names:s1}=this.scopedHoist(i1,[],{declareInPlace:!1});this.mark(e,"$self",()=>{if(this.b.emit("class"),this.ts&&this._componentTypeParams){let{text:B,owner:n1}=this._componentTypeParams;this.b.tsOnly(()=>this.mark(n1,"typeParams",()=>this.emitTypeText(n1,"typeParams",B)))}if(this.b.emit(` extends ${this.runtimeName("__Component")} { +`),T!==null)this.tsComponentMemberDeclares(T,x);if(d.length>0)this.b.emit(`${x}static __gates = [`),d.forEach((B,n1)=>{if(n1>0)this.b.emit(", ");if(!(this.ts&&T!==null&&T.members.some((z)=>z.node===B.node&&this.gateTwinSource(z,T)!==null))){this.noteVocabulary("gate-prefix","stash",B.pathNode);for(let z of B.keyParts??[])this.noteSilence(z,B.key)}this.mark(B.node,"$self",()=>{this.mark(B.node,"operator",()=>{}),this.mark(B.node,"rhs",()=>{if(B.key===null)this.emitQuotedPrimitive(B.path);else{if(this.b.emit("{ path: "),this.emitQuotedPrimitive(B.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(B.node,"key",()=>{this.mark(B.key,"$self",()=>{if(B.keyParts===null){this.b.emit(B.keyCode);return}B.keyParts.forEach((z,X)=>{if(X>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((B)=>`'${B}'`).join(", ")}]; `);if(s!==null){if(this.b.emit(`${x}static __extends = `),n!==null)this.emitQuotedPrimitive(n);else this.b.emit(`'${i}'`);this.b.emit(`; -`)}if(this.hmr&&this.modulePath&&this.scopes.length===1&&typeof this._componentName==="string")this.emitComponentHmrMeta(x,{bindingName:this._componentName,declaredProps:W,stateVars:h,derivedVars:u,gateVars:d,extendsTag:s,methods:p,hooks:m,hasRender:R!==null});if(T!==null)this.tsComponentCtor(T,x);if(this.b.emit(x),T!==null)this.b.tsOnly(()=>this.b.emit("private "));if(this.b.emit("_init(__given"),T!==null)this.b.tsOnly(()=>{this.b.emit(": "),this.emitDeclaredTypeCopies(Us(T,{road:"face"}))});if(this.b.emit(`) { -`),this.scopes.push(s1),this.rframes.push({reactive:new Set,bound:s1}),q.length)this.b.emit(Q),this.hoistLine(q,Q),this.b.emit(` -`);let I=(B,n1)=>{this.renderDirectives(B,Q),this.b.emit(Q),this.mark(B,"$self",n1),this.b.emit(`; -`)},c1=(B,n1)=>{this.mark(B,"value",()=>this.withExpression(()=>{let _=E.needsGrouping(n1,"operand");if(_)this.b.emit("(");if(this.expr(n1),_)this.b.emit(")")}))},O=(B,n1,_="target")=>{let Y=this.b.offset;if(this.b.emit("this."),this.mark(B,_,()=>this.b.emit(n1)),this.ts){let X=this.stores.idOf(B),t1=X!==null?this.stores.role(X,_):null;if(t1&&typeof t1.sourceStart==="number")this.memberInitSites.push({key:[t1.sourceStart,t1.sourceEnd],site:[Y,this.b.offset]})}},D=new Set(c),H=[];if(T!==null)T.computedBodies=H;let z=(B)=>{if(I(B.node,()=>{if(D.has(B)&&this.ts){let _=T?.members.find((Y)=>Y.node===B.node&&Y.kind==="readonly");this.b.tsOnly(()=>this.b.emit("(")),this.b.emit("this"),this.b.tsOnly(()=>{this.b.emit(" as "),this.emitDeclaredTypeCopies(_?Ks(_):"any"),this.b.emit(")")}),this.b.emit("."),this.mark(B.node,"target",()=>this.b.emit(B.name))}else O(B.node,B.name);if(this.b.emit(" = "),B.isPublic)this.b.emit(`__given.${B.name} ?? `);let n1=this._componentName;if(this.isComponentDecl(B.value))this._componentName=B.name;c1(B.node,B.value),this._componentName=n1}),G!==null&&T!==null){let n1=T.members.find((_)=>_.node===B.node);if(n1!==void 0&&Xs(n1)){let _=this.capturedExprText(()=>c1(B.node,B.value));H.push({name:B.name,code:_,block:!1})}}},i1=(B)=>{let n1=M.get(B);I(n1,()=>{O(n1,B,"name"),this.b.emit(` = ${this.runtimeName("getContext")}(`),this.mark(n1,"provider",()=>this.noteNameSpan(w.get(B))),this.b.emit(`, '${B}')`)})},e1=(B)=>{if(I(B.node,()=>{if(O(B.node,B.name,B.value===void 0?"property":"target"),this.b.emit(` = ${this.runtimeName("__state")}(`),B.isPublic&&(B.required||B.value===void 0)){if(this.b.emit(`__given.__bind_${B.name}__ ?? __given.${B.name}`),B.required&&this.ts)this.b.tsOnly(()=>this.b.emit("!"))}else if(B.isPublic)this.b.emit(`__given.__bind_${B.name}__ ?? __given.${B.name} ?? `),c1(B.node,B.value);else c1(B.node,B.value);this.b.emit(")")}),G!==null&&T!==null){let n1=T.members.find((_)=>_.node===B.node);if(n1!==void 0&&Js(n1)){let _=this.capturedExprText(()=>c1(B.node,B.value));H.push({name:B.name,code:_,block:!1})}}},o1=(B)=>{if(I(B.node,()=>{O(B.node,B.name),this.b.emit(` = ${this.runtimeName("__computed")}(() => `),this.mark(B.node,"value",()=>this.withExpression(()=>this.computedBody(B.node,B.value,J+2))),this.b.emit(")")}),G===null||T===null)return;let n1=T.members.find((Y)=>Y.node===B.node&&Y.kind==="computed");if(n1===void 0||n1.annotation!=null)return;let _=this.capturedExprText(()=>this.computedBody(B.node,B.value,0));H.push({name:B.name,code:_,block:g1(B.value)&&B.value.length>2})},f1=(B,n1)=>{I(B.node,()=>{O(B.node,B.name),this.b.emit(` = ${this.runtimeName("__gateBind")}(`),this.mark(B.node,"operator",()=>{}),this.mark(B.node,"rhs",()=>{this.b.emit(`this, ${n1}`)}),this.b.emit(")")})},h1=new Map;l.forEach((B,n1)=>{if(h1.set(B,n1),this.isOfferNode(B))h1.set(B[1],n1)});let u1=[...[...c,...f].map((B)=>({at:h1.get(B.node)??0,run:()=>z(B)})),...S.map((B)=>({at:h1.get(M.get(B))??0,run:()=>i1(B)})),...h.map((B)=>({at:h1.get(B.node)??0,run:()=>e1(B)})),...u.map((B)=>({at:h1.get(B.node)??0,run:()=>o1(B)}))].sort((B,n1)=>B.at-n1.at);for(let[B,n1]of d.entries())f1(n1,B);for(let B of u1)B.run();for(let B of b)I(M.get(B),()=>this.b.emit(`${this.runtimeName("setContext")}('${B}', this.${B})`));let b1=(B)=>{for(let n1 of g){let _=n1[2],Y=this.containsAwait(_);this.b.emit(B),this.mark(n1,"$self",()=>{if(this.mark(n1,"operator",()=>this.b.emit(this.runtimeName("__effect"))),this.b.emit(Y?"(async () => ":"(() => "),g1(_)&&_.length>2)this.mark(n1,"value",()=>this.withExpression(()=>{let X=this.liveStmts(_.slice(1),{forwards:!0}),{entries:t1,names:C}=this.scopedHoist(X,[]);for(let K of this.pushReactiveFrame(X,C))C.add(K);this.scopes.push(C),this.funcBlock(n1,_,X,J+2,t1),this.scopes.pop(),this.rframes.pop()}));else{let X=g1(_)?_[1]:_,{entries:t1,names:C}=this.scopedHoist([X],[]);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 K=E.needsGrouping(X,"operand")||O1(X);if(K)this.b.emit("(");if(this.expr(X),K)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(`${Q}this._hmrBindEffects(); -`);else b1(Q);if(this.rframes.pop(),this.scopes.pop(),this.b.emit(`${x}} +`)}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:s,methods:p,hooks:m,hasRender:R!==null});if(T!==null)this.tsComponentCtor(T,x);if(this.b.emit(x),T!==null)this.b.tsOnly(()=>this.b.emit("private "));if(this.b.emit("_init(__given"),T!==null)this.b.tsOnly(()=>{this.b.emit(": "),this.emitDeclaredTypeCopies(Us(T,{road:"face"}))});if(this.b.emit(`) { +`),this.scopes.push(s1),this.rframes.push({reactive:new Set,bound:s1}),q.length)this.b.emit(e1),this.hoistLine(q,e1),this.b.emit(` +`);let I=(B,n1)=>{this.renderDirectives(B,e1),this.b.emit(e1),this.mark(B,"$self",n1),this.b.emit(`; +`)},c1=(B,n1)=>{this.mark(B,"value",()=>this.withExpression(()=>{let _=E.needsGrouping(n1,"operand");if(_)this.b.emit("(");if(this.expr(n1),_)this.b.emit(")")}))},O=(B,n1,_="target")=>{let z=this.b.offset;if(this.b.emit("this."),this.mark(B,_,()=>this.b.emit(n1)),this.ts){let X=this.stores.idOf(B),t1=X!==null?this.stores.role(X,_):null;if(t1&&typeof t1.sourceStart==="number")this.memberInitSites.push({key:[t1.sourceStart,t1.sourceEnd],site:[z,this.b.offset]})}},D=new Set(c),W=[];if(T!==null)T.computedBodies=W;let Y=(B)=>{if(I(B.node,()=>{if(D.has(B)&&this.ts){let _=T?.members.find((z)=>z.node===B.node&&z.kind==="readonly");this.b.tsOnly(()=>this.b.emit("(")),this.b.emit("this"),this.b.tsOnly(()=>{this.b.emit(" as "),this.emitDeclaredTypeCopies(_?Ks(_):"any"),this.b.emit(")")}),this.b.emit("."),this.mark(B.node,"target",()=>this.b.emit(B.name))}else O(B.node,B.name);if(this.b.emit(" = "),B.isPublic)this.b.emit(`__given.${B.name} ?? `);let n1=this._componentName;if(this.isComponentDecl(B.value))this._componentName=B.name;c1(B.node,B.value),this._componentName=n1}),G!==null&&T!==null){let n1=T.members.find((_)=>_.node===B.node);if(n1!==void 0&&Xs(n1)){let _=this.capturedExprText(()=>c1(B.node,B.value));W.push({name:B.name,code:_,block:!1})}}},r1=(B)=>{let n1=M.get(B);I(n1,()=>{O(n1,B,"name"),this.b.emit(` = ${this.runtimeName("getContext")}(`),this.mark(n1,"provider",()=>this.noteNameSpan(w.get(B))),this.b.emit(`, '${B}')`)})},Q=(B)=>{if(I(B.node,()=>{if(O(B.node,B.name,B.value===void 0?"property":"target"),this.b.emit(` = ${this.runtimeName("__state")}(`),B.isPublic&&(B.required||B.value===void 0)){if(this.b.emit(`__given.__bind_${B.name}__ ?? __given.${B.name}`),B.required&&this.ts)this.b.tsOnly(()=>this.b.emit("!"))}else if(B.isPublic)this.b.emit(`__given.__bind_${B.name}__ ?? __given.${B.name} ?? `),c1(B.node,B.value);else c1(B.node,B.value);this.b.emit(")")}),G!==null&&T!==null){let n1=T.members.find((_)=>_.node===B.node);if(n1!==void 0&&Js(n1)){let _=this.capturedExprText(()=>c1(B.node,B.value));W.push({name:B.name,code:_,block:!1})}}},o1=(B)=>{if(I(B.node,()=>{O(B.node,B.name),this.b.emit(` = ${this.runtimeName("__computed")}(() => `),this.mark(B.node,"value",()=>this.withExpression(()=>this.computedBody(B.node,B.value,J+2))),this.b.emit(")")}),G===null||T===null)return;let n1=T.members.find((z)=>z.node===B.node&&z.kind==="computed");if(n1===void 0||n1.annotation!=null)return;let _=this.capturedExprText(()=>this.computedBody(B.node,B.value,0));W.push({name:B.name,code:_,block:g1(B.value)&&B.value.length>2})},f1=(B,n1)=>{I(B.node,()=>{O(B.node,B.name),this.b.emit(` = ${this.runtimeName("__gateBind")}(`),this.mark(B.node,"operator",()=>{}),this.mark(B.node,"rhs",()=>{this.b.emit(`this, ${n1}`)}),this.b.emit(")")})},h1=new Map;l.forEach((B,n1)=>{if(h1.set(B,n1),this.isOfferNode(B))h1.set(B[1],n1)});let u1=[...[...c,...f].map((B)=>({at:h1.get(B.node)??0,run:()=>Y(B)})),...S.map((B)=>({at:h1.get(M.get(B))??0,run:()=>r1(B)})),...h.map((B)=>({at:h1.get(B.node)??0,run:()=>Q(B)})),...u.map((B)=>({at:h1.get(B.node)??0,run:()=>o1(B)}))].sort((B,n1)=>B.at-n1.at);for(let[B,n1]of d.entries())f1(n1,B);for(let B of u1)B.run();for(let B of b)I(M.get(B),()=>this.b.emit(`${this.runtimeName("setContext")}('${B}', this.${B})`));let b1=(B)=>{for(let n1 of g){let _=n1[2],z=this.containsAwait(_);this.b.emit(B),this.mark(n1,"$self",()=>{if(this.mark(n1,"operator",()=>this.b.emit(this.runtimeName("__effect"))),this.b.emit(z?"(async () => ":"(() => "),g1(_)&&_.length>2)this.mark(n1,"value",()=>this.withExpression(()=>{let X=this.liveStmts(_.slice(1),{forwards:!0}),{entries:t1,names:C}=this.scopedHoist(X,[]);for(let K of this.pushReactiveFrame(X,C))C.add(K);this.scopes.push(C),this.funcBlock(n1,_,X,J+2,t1),this.scopes.pop(),this.rframes.pop()}));else{let X=g1(_)?_[1]:_,{entries:t1,names:C}=this.scopedHoist([X],[]);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 K=E.needsGrouping(X,"operand")||O1(X);if(K)this.b.emit("(");if(this.expr(X),K)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(`${e1}this._hmrBindEffects(); +`);else b1(e1);if(this.rframes.pop(),this.scopes.pop(),this.b.emit(`${x}} `),this.hmr&&g.length>0)this.b.emit(`${x}_hmrBindEffects() { -`),this.scopes.push(s1),this.rframes.push({reactive:new Set,bound:s1}),b1(Q),this.rframes.pop(),this.scopes.pop(),this.b.emit(`${x}} +`),this.scopes.push(s1),this.rframes.push({reactive:new Set,bound:s1}),b1(e1),this.rframes.pop(),this.scopes.pop(),this.b.emit(`${x}} `);if(this.hmr&&u.length>0){this.b.emit(`${x}_hmrRefreshComputeds() { -`),this.scopes.push(s1),this.rframes.push({reactive:new Set,bound:s1});for(let B of u)this.b.emit(`${Q}this.${B.name}?.kill?.(); -`),this.b.emit(Q),O(B.node,B.name),this.b.emit(` = ${this.runtimeName("__computed")}(() => `),this.mark(B.node,"value",()=>this.withExpression(()=>this.computedBody(B.node,B.value,J+2))),this.b.emit(`); +`),this.scopes.push(s1),this.rframes.push({reactive:new Set,bound:s1});for(let B of u)this.b.emit(`${e1}this.${B.name}?.kill?.(); +`),this.b.emit(e1),O(B.node,B.name),this.b.emit(` = ${this.runtimeName("__computed")}(() => `),this.mark(B.node,"value",()=>this.withExpression(()=>this.computedBody(B.node,B.value,J+2))),this.b.emit(`); `);this.rframes.pop(),this.scopes.pop(),this.b.emit(`${x}} -`)}let l1=new Map;if(this.ts&&R!==null){let B=(n1,_)=>{if(!y(n1))return;let Y=_,X=n1[0]==="switch"&&n1.length===4?null:E.templateHeadTag(n1);if(X==="object")Y=O1(n1)&&n1.slice(1).some((t1)=>y(t1)&&t1[0]===":")?_:null;else if(X!==null&&Ie.has(X))Y={tag:X,svg:_?.svg===!0||oi.has(X)};else if(typeof n1[0]==="string"&&/^[A-Z]/.test(n1[0]))Y=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"&&k.has(t1)?t1:y(t1)&&t1[0]==="."&&t1[1]==="this"&&t1.length===3&&typeof t1[2]==="string"&&k.has(t1[2])?t1[2]:null;if(C!==null){if(!l1.has(C))l1.set(C,{events:new Set,hosts:new Set,unknownHost:!1});let K=l1.get(C);if(K.events.add(n1[1][2]),_!==null&&ot(_.tag,_.svg))K.hosts.add(De(_.tag,_.svg));else K.unknownHost=!0}}for(let t1 of n1)B(t1,Y)};B(R,null)}let d1=({name:B,func:n1,isVoid:_,node:Y})=>{let[,X,t1]=n1,C=l1.get(B),K=C!==void 0&&!C.unknownHost&&C.hosts.size>0?[...C.hosts].join(" | "):null,a1=C!==void 0?this.tsEventTypeText([...C.events],K):B==="onError"?zs:null;this.b.emit(x),this.mark(Y,"$self",()=>{if(this.containsAwait(t1))this.b.emit("async ");if(E.containsYield(t1))this.b.emit("*");this.mark(Y,"target",()=>this.mark(Y,"key",()=>this.b.emit(B))),this.b.emit("("),this.emitParams(X,a1),this.b.emit(")"),this.tsReturnAnnotation(n1,this.containsAwait(t1),_,E.containsYield(t1),Y),this.b.emit(" "),this.mark(Y,"value",()=>{this.methodBlock(n1,t1,J+1,{isConstructor:!1,binds:[],methodName:B,voidBody:_})})}),this.b.emit(` +`)}let l1=new Map;if(this.ts&&R!==null){let B=(n1,_)=>{if(!y(n1))return;let z=_,X=n1[0]==="switch"&&n1.length===4?null:E.templateHeadTag(n1);if(X==="object")z=O1(n1)&&n1.slice(1).some((t1)=>y(t1)&&t1[0]===":")?_:null;else if(X!==null&&Ie.has(X))z={tag:X,svg:_?.svg===!0||oi.has(X)};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"&&k.has(t1)?t1:y(t1)&&t1[0]==="."&&t1[1]==="this"&&t1.length===3&&typeof t1[2]==="string"&&k.has(t1[2])?t1[2]:null;if(C!==null){if(!l1.has(C))l1.set(C,{events:new Set,hosts:new Set,unknownHost:!1});let K=l1.get(C);if(K.events.add(n1[1][2]),_!==null&&ot(_.tag,_.svg))K.hosts.add(De(_.tag,_.svg));else K.unknownHost=!0}}for(let t1 of n1)B(t1,z)};B(R,null)}let d1=({name:B,func:n1,isVoid:_,node:z})=>{let[,X,t1]=n1,C=l1.get(B),K=C!==void 0&&!C.unknownHost&&C.hosts.size>0?[...C.hosts].join(" | "):null,a1=C!==void 0?this.tsEventTypeText([...C.events],K):B==="onError"?zs: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(B))),this.b.emit("("),this.emitParams(X,a1),this.b.emit(")"),this.tsReturnAnnotation(n1,this.containsAwait(t1),_,E.containsYield(t1),z),this.b.emit(" "),this.mark(z,"value",()=>{this.methodBlock(n1,t1,J+1,{isConstructor:!1,binds:[],methodName:B,voidBody:_})})}),this.b.emit(` `)};for(let B of p)d1(B);for(let B of m)d1(B);if(R!==null)this.renderBody(R,J,F);if(n!==null&&F.inheritedBound!==!0)throw this.positionedError(e,`emitter: this component extends '${n}' but its render never creates a '<${n}>' 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&&F.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(J)+"}")}),this.methodName=U;for(let[I,c1]of F.plainWrites)if(F.renderPlainReads.has(I))throw this.positionedError(c1,`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=J}renderBody(e,t,r){let n=" ".repeat(t+1),i=n+" ",s=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=g1(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(n),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}; @@ -188,14 +188,16 @@ ${s??""}`);let h=()=>{if(f)this.b.emit(f);else this.expr(n)};if(this.b.emit("for `)}for(let f of this.rstate.records)this.emitFactory(f,t,e);this.rstate=s}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},n=e.reduce((a,o)=>a+(this.isRenderBinding(o)?0:1),0);if(n===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(n===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 s=[];for(let a of e){let o=this.renderNode(a);if(o==null)continue;r(),this.renderLine(null,()=>this.b.emit(`${i}.appendChild(${o})`)),s.push(o)}return this.rstate.fragChildren.set(i,s),i}withRecordContext(e,t){let r=this.renderSelf,n=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=n}}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 n of r)this.tsDirectiveLine(n,t,!0)}replayCreates(e,t){let r=this.replayPad;this.replayPad=t;try{for(let{node:n,fn:i,semi:s}of e.creates){if(this.renderDirectives(n,t),this.b.emit(t),n!=null)this.mark(n,"$self",i);else i();this.b.emit(s?`; `:` `)}}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 n=()=>{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",n);else if(r.within!=null){let i=this.b.claimWithin;this.b.claimWithin=r.within;try{n()}finally{this.b.claimWithin=i}}else n();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 n=`_${e}${t}`;return r.vars.add(n),n}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 n=e==null?this._textOwner:null,i=n!=null?this.stores.idOf(n):null,s=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:s})}checkSetupLocalRefs(e,t){let r=this.rstate.sink;if(r.kind!=="class"||r.locals.size===0)return;if(Re(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 n=this.b.offset;if(this.expr(e),t=[n,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 n=r.sink.loopStack.length-1;n>=0;n--){let i=r.sink.loopStack[n];if(i.itemVar===e||i.indexVar===e)return i.reactiveSource?"loop-reactive":"loop"}if(t!==void 0){for(let n=r.sink.parent;n;n=n.parent)if(n.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 s=this.resolveBareRead(e);return s==="reactive"||s==="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 s=this.resolveBareRead(i);return s==="member"||s===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)},n=(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&&n(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)&&sa.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 o=this.newRenderText();return this.renderLine(null,()=>this.b.emit(`${o} = document.createTextNode(${e})`)),o}let n=this.renderVarKind(e,e);if(n!==null){let o=this.newRenderText();if(n==="loop-reactive")this.renderLine(null,()=>this.b.emit(`${o} = document.createTextNode('')`)),this.renderEffect(null,()=>this.b.emit(`${o}.data = ${e};`));else this.renderLine(null,()=>this.b.emit(`${o} = document.createTextNode(String(${e}))`));return o}let i=this.resolveBareRead(e);if(i==="reactive"||i==="member-reactive"){let o=this.newRenderText();return this.renderLine(null,()=>this.b.emit(`${o} = document.createTextNode('')`)),this.renderEffect(null,()=>{this.b.emit(`${o}.data = `),this.expr(e),this.b.emit(";")}),o}if(e==="slot")return this.renderSlot(e,[]);if(Ce(e))return this.renderChildComponent(e,e,[]);if(i==="member"){let o=this.newRenderText();return this.renderLine(null,()=>{this.b.emit(`${o} = document.createTextNode(String(`),this.expr(e),this.b.emit("))")}),o}let[s,a]=e.split("#");return this.renderTag(e,s||"div",[],[],a)}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&&Ce(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`);if(r==="."){let{tag:n,classes:i,id:s}=E.collectTemplateClasses(e);if(n!==null&&Q1(n)&&this.renderVarKind(n)===null)return this.renderTag(e,n,i,[],s);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&&Q1(r.split("#")[0])&&e.length>=1&&this.renderVarKind(r)===null){let[n,i]=r.split("#");return this.renderTag(e,n||"div",[],e.slice(1),i)}if(y(t)){if(y(t[0])&&t[0][0]==="."&&t[0][2]==="__clsx"){let a=t[0][1],o=t.slice(1);if(y(a)){let{tag:l,classes:c,id:f}=E.collectTemplateClasses(a);if(l!==null&&Q1(l))return this.renderDynamicTag(e,l,o,e.slice(1),c,f)}else if(typeof a==="string"&&Q1(a.split("#")[0])){let[l,c]=a.split("#");return this.renderDynamicTag(e,l||"div",o,e.slice(1),[],c)}}let{tag:n,classes:i,id:s}=E.collectTemplateClasses(t);if(n!==null&&Q1(n)&&this.renderVarKind(n)===null){if(i.length>0&&i[i.length-1]==="__clsx")return this.renderDynamicTag(e,n,e.slice(1),[],i.slice(0,-1),s);return this.renderTag(e,n,i,e.slice(1),s)}}if(r==="->"||r==="=>")return this.renderChildBlock(e[2]);return this.renderTextExpr(e)}renderTextExpr(e,t=null,r=!1){let n=this.newRenderText(),i=t??(y(e)?e:null);this.checkCrossScopeLocals(e,i??this.rstate.node);let s=(a)=>{if(r&&t!==null)this.mark(t,"args",a);else a()};if(this.renderReactive(e))this.renderLine(i,()=>this.b.emit(`${n} = document.createTextNode('')`)),this.renderEffect(i,()=>{if(this.b.emit(`${n}.data = `),r)this.b.emit("String("),s(()=>this.renderExpr(e)),this.b.emit(")");else this.renderExpr(e);this.b.emit(";")},e);else this.renderLine(i,()=>{this.b.emit(`${n} = document.createTextNode(String(`),s(()=>this.withExpression(()=>this.expr(e))),this.b.emit("))")});return n}bindInheritedTarget(e,t,r,n){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}`)),n.length>0)this.renderLine(e,()=>this.b.emit(`this._inheritedOwn = new Set([${n.map((s)=>JSON.stringify(s)).join(", ")}])`));this.renderLine(e,()=>this.b.emit("this._applyRestToInheritedEl()"))}elementOwnKeys(e,t,r){let n=new Set;if(r)n.add("id");if(e)n.add("class");let i=(s)=>{for(let a of s.slice(1)){if(!y(a)||a.length!==3||typeof a[1]!=="string")continue;let o=a[1];n.add(o.startsWith('"')&&o.endsWith('"')?o.slice(1,-1):o)}};for(let s of t)if(O1(s))i(s);else if(T1(s)&&g1(s[2])){for(let a of s[2].slice(1))if(O1(a))i(a)}for(let s of["ref","key"])n.delete(s);for(let s of[...n])if(s.startsWith("__"))n.delete(s);if(n.has("class")||n.has("className"))n.add("class"),n.add("className");return[...n]}renderElementPrologue(e,t){let r=this.rstate,n=this.newRenderVar();if(r.tags.set(n,t),r.transitionSlot!==null&&r.transitionSlot.record===r.sink&&r.transitionSlot.el===null)r.transitionSlot.el=n;let i=r.svgDepth>0||oi.has(t);if(i)r.svgEls.add(n);return this.renderLine(e,()=>{if(i)this.b.emit(`${n} = document.createElementNS('${E.SVG_NS}', `);else this.b.emit(`${n} = document.createElement(`);let s=this.emitQuotedPrimitive(t);if(s!==null&&ot(t,i))this.intrinsics.push({start:s[0],end:s[1],kind:"tag",tag:t,svg:i});this.b.emit(")")}),{el:n,isSvg:i}}renderElementBasics(e,t,r,n,i){let s=this.rstate;if(n)this.renderLine(e,()=>this.b.emit(`${r}.id = '${n}'`));if(this.bindInheritedTarget(e,t,r,i),s.frame.name!==null&&s.elCount===1&&s.sink.kind==="class")this.renderLine(e,()=>this.b.emit(`${r}.setAttribute('data-part', '${s.frame.name}')`))}renderTag(e,t,r,n,i){this.noteShorthandClasses(r,e);let s=this.rstate,{el:a,isSvg:o}=this.renderElementPrologue(e,t);this.renderElementBasics(e,t,a,i,this.elementOwnKeys(r.length>0,n,i));let{pendingClassArgs:l,pendingClassEl:c,pendingClassKeys:f}=s;if(r.length>0)s.pendingClassArgs=[`'${r.join(" ")}'`],s.pendingClassEl=a,s.pendingClassKeys=null;if(o)s.svgDepth++;if(this.renderChildren(a,n,e),o)s.svgDepth--;if(r.length>0){if(s.pendingClassArgs.length===1)this.renderLine(e,()=>this.b.emit(o?`${a}.setAttribute('class', '${r.join(" ")}')`:`${a}.className = '${r.join(" ")}'`));else{let h=s.pendingClassArgs.slice(1),u=s.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?"));":");")})}s.pendingClassKeys=f,s.pendingClassArgs=l,s.pendingClassEl=c}return a}renderDynamicTag(e,t,r,n,i,s){this.noteShorthandClasses(i,e);let a=this.rstate,{el:o,isSvg:l}=this.renderElementPrologue(e,t);this.renderElementBasics(e,t,o,s,this.elementOwnKeys(!0,n,s));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,n,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(!g1(e)){let r=this.renderNode(e);if(r!=null)return r;let n=this.newRenderVar("empty");return this.renderLine(null,()=>this.b.emit(`${n} = document.createComment('')`)),n}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 n=this._textOwner;this._textOwner=r;try{this.renderChildrenOf(e,t,r)}finally{this._textOwner=n}}renderChildrenOf(e,t,r){for(let n=0;n0)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 s=i[2];if(g1(s))for(let a=1;athis.b.emit(`${e}.appendChild(${l})`))}}else if(s){if(!this.renderOwnLineWord(e,s,[s],0,r)){let a=this.renderNode(s);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 s=i.split(/[#.]/)[0],a=s===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(Q1(s||"div")){let l=this.renderNode(i);this.renderLine(null,()=>this.b.emit(`${e}.appendChild(${l})`));continue}if(Ce(s)&&s===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,n,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 s=this.renderNode(i);this.renderLine(null,()=>this.b.emit(`${e}.appendChild(${s})`))}}}renderTagOf(e){return this.rstate.tags?.get(e)??"div"}renderBareAttribute(e,t,r,n,i){let s=this.renderTagOf(e),a=null;if(this.ts&&!ci(s,t)){let c=this.bareChildSpan(r,n,i);if(c!==null)a=c,this.intrinsics.push({start:c[0],end:c[1],kind:"unknown-attr",tag:s,name:t,message:this.unknownAttrMessage(s,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,n,i){if(typeof t!=="string"||!/^[A-Za-z_$][\w$]*$/.test(t))return!1;if(Q1(t)||Ce(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,n,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 n=this.newRenderVar("slot"),i=this.ts?this.wordSpanIn("slot",r??this.rstate.node):null;return this.renderLine(r,()=>{let s=this.childrenReadText();this.b.emit(`${n} = `),this.emitChildrenRead(i),this.b.emit(` instanceof Node ? ${s} : (${s} != null ? document.createTextNode(String(${s})) : document.createComment(''))`)}),n}renderChildComponent(e,t,r){let n=this.rstate,i=n.sink,s=y(e)?e:null,a;if(this.renderVarKind(t)!==null)a=()=>this.emitPrimitive(t);else{let O=this.resolveBareRead(t);if(O==="member"||O==="member-reactive")a=()=>{if(this.b.emit(`${this.renderSelf??"this"}.`),this.emitPrimitive(t),O==="member-reactive")this.b.emit(".value")};else if(O==="reactive")a=()=>{this.emitPrimitive(t),this.b.emit(".value")};else if(this.inScope(t)||this.moduleBound!==void 0&&this.moduleBound.has(t))a=()=>this.emitPrimitive(t);else throw this.positionedError(s??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 o=this.newRenderVar("inst"),l=this.newRenderVar("el"),c=n.frame.extendsComponent===t&&i.kind==="class"&&n.frame.inheritedBound!==!0&&this.renderVarKind(t)===null&&this.resolveBareRead(t)===null;if(c)n.frame.inheritedBound=!0;let f=[],h=[],u=[],d=[],p=new Map,m={prop:"an explicit `children:` prop",body:"element body content",slot:"a nested `slot`"},g=null,b=(O,D,H="prop")=>{let z=O.startsWith("__bind_")&&O.endsWith("__")?O.slice(7,-2):O;if(p.has(z)){if(z==="children")throw this.positionedError(D??s??e,`emitter: this child component receives \`children\` TWICE — ${m[g]} beside ${m[H]}; 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(D??s??e,`emitter: duplicate prop '${z}' 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(p.set(z,D??null),z==="children")g=H},S=(O)=>{if(dt(O))throw this.renderSpreadError(O,t);if(!y(O)||O.length!==3)throw this.positionedError(O,"emitter: unsupported attribute form on a child component",s??this.rstate.node);if(n.suppressedPairs.has(O))return;let[,D,H]=O;if(y(D)&&D[0]==="."&&D[1]==="this"&&typeof D[2]==="string"){this.checkBareEventHandler(O,H),this.checkCrossScopeLocals(H,O),u.push({pair:O,event:D[2],value:H});return}if(P(O),typeof D!=="string")throw this.positionedError(O,"emitter: computed prop keys are not supported on a child component",s??this.rstate.node);let z=D.startsWith('"')&&D.endsWith('"')?D.slice(1,-1):D;if(z==="__transition__")throw this.positionedError(O,"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(z==="ref")throw this.positionedError(O,"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(z==="key")throw this.positionedError(O,"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(b(z,O),z.startsWith("__bind_")&&z.endsWith("__")){this.checkUserSpelledBind(O),this.noteVocabulary("render-channel",z,O);let e1=z.slice(7,-2),o1=this.childContainerRef(H);if(o1!==null){f.push({pair:O,key:D,fn:o1});return}let f1=(h1,u1)=>this.positionedError(O,`emitter: \`${e1} <=> …\` on a child component shares a reactive CONTAINER, and ${h1} ; ${u1}`,this.rstate.node);if(typeof H==="string"&&this.renderVarKind(H)===null){let h1=this.resolveBareRead(H);if(h1==="member")throw f1(`'${H}' is a plain member`,"declare it with ':=' to share it");if(h1===null&&!this.inScope(H))throw f1(`'${H}' is not declared`,"bind a reactive member or module reactive name")}if(y(H)&&H[0]==="."&&H[1]==="this"&&H.length===3&&typeof H[2]==="string")throw f1(`'@${H[2]}' is not a reactive member`,"declare it with ':=' to share it");if(typeof H!=="string"&&!E.isChainNode(H))throw f1("this expression is never a container","bind a reactive member or module reactive name");this.checkCrossScopeLocals(H,O),f.push({pair:O,key:D,fn:()=>this.renderExpr(H)});return}this.addChildProp(f,h,O,D,z,H)},w=(O,D)=>{throw this.positionedError(O,`emitter: bare '${D}' 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 \`= ${D}\`, or give the element content or attributes`,this.rstate.node)},R=(O,D)=>{b(D,null),f.push({pair:null,key:D,span:L(D),fn:()=>this.b.emit("true")})},k=s!==null&&this.stores.idOf(s)!==null?this.stores.selfSpan(this.stores.idOf(s)):null,j=k!==null&&this.b.source!==null?k[0]:null,M=(O)=>{if(j===null||O==null)return;if(y(O)){let D=this.stores.idOf(O),H=D!==null?this.stores.selfSpan(D):null;j=H!==null?Math.max(j,H[1]):null;return}if(typeof O==="string"){let D=this.b.source.indexOf(O,j);j=D>=0&&D+O.length<=k[1]?D+O.length:null;return}j=null},L=(O)=>{if(j===null)return null;let D=new RegExp(`(?k[1])return null;return j=H.index+O.length,[H.index,H.index+O.length]},A=new Map,P=(O)=>{if(!this.tsDirectivesArmed)return;let D=this.tsDirectiveMap.get(O);if(D===void 0)return;this.tsDirectiveMap.delete(O),A.set(O,[...A.get(O)??[],...D])},v=(O)=>{if(!this.tsDirectivesArmed)return;let D=this.tsDirectiveMap.get(O);if(D===void 0)return;let H=O.slice(1).find((z)=>y(z));if(H===void 0||n.suppressedPairs.has(H))return;this.tsDirectiveMap.delete(O),this.tsDirectiveMap.set(H,[...D,...this.tsDirectiveMap.get(H)??[]])},V=[],W=!1,G=(O)=>!y(O)&&!(typeof O==="string"&&((Q1(O.split(/[#.]/)[0])||Ce(O.split(/[#.]/)[0]))&&this.renderVarKind(O)===null&&this.resolveBareRead(O)===null)),T=(O)=>{if(O==null)return;if(dt(O))throw this.renderSpreadError(O,t);let D=typeof O==="string"&&ft.test(O)&&this.renderVarKind(O)===null&&this.resolveBareRead(O)===null;if(D&&(Q1(O)||O==="slot")&&(this.inScope(O)||this.moduleBound.has(O)))w(s??this.rstate.node,O);if(D&&O==="slot"){W=!0,M(O),V.push(O);return}if(D&&!this.inScope(O)&&!this.moduleBound.has(O)){R(s??this.rstate.node,O);return}M(O),V.push(O)};for(let O of r)if(O1(O)){v(O);for(let D of O.slice(1))S(D);M(O)}else if(T1(O)){if(y(O[1])&&O[1].length>0)throw this.positionedError(O,`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 D=O[2],H=g1(D)?D.slice(1):D!=null?[D]:[];for(let z of H)if(O1(z)){v(z);for(let i1 of z.slice(1))S(i1);M(z)}else T(z)}else T(O);let N=(O)=>{if(!G(O))return this.renderNode(O);this.checkCrossScopeLocals(O,s??this.rstate.node);let D=this.newRenderText();if(this.renderReactive(O))this.renderLine(s,()=>this.b.emit(`${D} = document.createTextNode('')`)),this.renderEffect(s,()=>{this.b.emit(`${D}.data = `),this.renderExpr(O),this.b.emit(";")},O);else this.renderLine(s,()=>{this.b.emit(`${D} = document.createTextNode(`),this.renderExpr(O),this.b.emit(")")});return D},F=null,J=V.filter((O)=>!this.isRenderBinding(O));if(J.length===1&&W){b("children",null,"slot"),this.claimSlot(s);let O=this.ts?this.wordSpanIn("slot",s??this.rstate.node):null;for(let D of V)if(D!=="slot")N(D);f.push({pair:null,key:"children",fn:()=>this.emitChildrenRead(O)})}else if(J.length===1)b("children",null,"body"),F=()=>{let O=null;for(let D of V){let H=N(D);if(H!=null)O=H}return O};else if(J.length>1)b("children",null,"body"),F=()=>{let O=this.newRenderVar("frag");this.renderLine(null,()=>this.b.emit(`${O} = document.createDocumentFragment()`));for(let D of V){let H=N(D);if(H!=null)this.renderLine(null,()=>this.b.emit(`${O}.appendChild(${H})`))}return O};else for(let O of V)N(O);let x=new Set([...i.bindings,...i.locals]);if(i.vars!==null)for(let O of i.vars)x.add(O);if(y(e))E.collectLeafNames(e,x);let Q=E.mintName("__prev",x),U=E.mintName("__kid",x),r1=E.mintName("__childErr",x);if(i.kind!=="class")i.hasKids=!0;let q=(O)=>this.renderLine(s,O,!1),s1=()=>this.renderSelf??"this",I=this.projectionHost;this.threadProjectionHost(I);let c1=()=>I!==null&&I.startsWith("this.")?`${s1()}.${I.slice(5)}`:I;if(q(()=>this.b.emit(I!==null?`{ const ${Q} = ${c1()}._beginProjection(${s1()}); try {`:`{ const ${Q} = ${this.runtimeName("__pushComponent")}(${s1()}); try {`)),q(()=>this.b.emit("try {")),q(()=>{if(this.b.emit(`${o} = new `),a(),this.b.emit("("),f.length===0)this.b.emit(c?`{ ...${s1()}._rest }`:"{}");else{let O=A.size>0,D=this.replayPad+" ";if(this.b.emit(O?"{":"{ "),c)this.b.emit(O?` -${D}...${s1()}._rest,`:`...${s1()}._rest, `);f.forEach((H,z)=>{if(O){if(z>0)this.b.emit(",");this.b.emit(` -`);let e1=H.pair!==null?A.get(H.pair):void 0;if(this.ts&&e1!==void 0)for(let o1 of e1)this.tsDirectiveLine(o1,D,!0);this.b.emit(D)}else if(z>0)this.b.emit(", ");let i1=()=>{let e1=(f1)=>{let h1=this.b.offset,u1=f1();if(this.ts)this.attrNames.push([h1,this.b.offset]);if("routeKey"in H)H.routeKey=[h1,this.b.offset];if(this.ts&&u1!=null){let b1=H.pair!==null?this.stores.idOf(H.pair):null,l1=b1!==null?this.stores.selfSpan(b1):null,d1=[u1[0],u1[1]];this.renderPairs.push({key:d1,pair:l1??d1,sites:[[h1,this.b.offset]]})}},o1=y(s)?this.stores.idOf(s):null;if(this.ts&&H.span!=null&&o1!==null){e1(()=>(this.b.markSpan(o1,"shorthandProp",H.span[0],H.span[1],()=>this.b.emit(H.key)),[H.span[0],H.span[1]])),this.b.emit(": "),H.fn();return}if(H.key.startsWith("__bind_")&&H.key.endsWith("__"))e1(()=>{let f1=this.b.offset;this.b.emit("__bind_");let h1=this.emitRewrittenPrimitive(H.key,H.key.slice(7,-2));if(this.ts&&h1!==null)this.intrinsics.push({start:h1[0],end:h1[1],kind:"bind",name:H.key.slice(7,-2),gen:f1});return this.b.emit("__"),h1});else e1(()=>this.emitPrimitive(H.key));this.b.emit(": "),H.fn()};if(H.pair!==null&&this.stores.idOf(H.pair)!==null)this.mark(H.pair,"$self",i1);else i1()}),this.b.emit(O?` -${this.replayPad}}`:" }")}this.b.emit(");")}),q(()=>this.b.emit(`if (${o} && ${o}._initFailed) {`)),q(()=>this.b.emit(` ${o} = null;`)),q(()=>this.b.emit(` ${l} = document.createComment('rip:child-init-failed: ${t}');`)),F!==null){q(()=>this.b.emit("} else {")),q(()=>this.b.emit(`{ const ${U} = ${o}._beginProjection(${s1()}); try {`));let O=this.projectionHost;this.projectionHost=o;let D;try{D=F()}finally{this.projectionHost=O}q(()=>this.b.emit(`} finally { ${o}._endProjection(${U}); } }`)),q(()=>this.b.emit(`${o}._setChildren(${D});`))}if(q(()=>{this.b.emit(F!==null?"if (":"} else if (");let O=()=>this.b.emit(`${o}._mountCreate()`);if(s!==null)this.mark(s,"$self",O);else O();this.b.emit(") {")}),q(()=>this.b.emit(` ${l} = ${o}._root;`)),c){let O=[...p.keys()].filter((D)=>D!=="children").map((D)=>JSON.stringify(D)).join(", ");q(()=>this.b.emit(` ${s1()}._inheritedInst = ${o};`)),q(()=>this.b.emit(` ${s1()}._inheritedOwn = new Set([${O}]);`))}if(i.kind==="class")q(()=>this.b.emit(` (this._children || (this._children = [])).push(${o});`));else q(()=>this.b.emit(` ${i.kidsVar}.push(${o});`));if(q(()=>this.b.emit("} else {")),q(()=>this.b.emit(` ${o} = null;`)),q(()=>this.b.emit(` ${l} = document.createComment('rip:child-error: ${t}');`)),q(()=>this.b.emit("}")),F!==null)q(()=>this.b.emit("}"));q(()=>this.b.emit(`} catch (${r1}) {`)),q(()=>this.b.emit(` ${this.runtimeName("__reportChildFailure")}('${t}', ${r1});`)),q(()=>this.b.emit(` ${o} = null;`)),q(()=>this.b.emit(` ${l} = document.createComment('rip:child-error: ${t}');`)),q(()=>this.b.emit("}")),q(()=>this.b.emit(I!==null?`} finally { ${c1()}._endProjection(${Q}); } }`:`} finally { ${this.runtimeName("__popComponent")}(${Q}); } }`));for(let{pair:O,event:D,value:H}of u){if(this.ts){let e1=y(O)&&y(O[1])?O[1]:null,o1=e1!==null?this.stores.idOf(e1)??null:null,f1=o1!==null?this.stores.selfSpan(o1):null;if(f1!==null)this.intrinsics.push({start:f1[0],end:f1[1],kind:"event",name:D,type:this.tsEventTypeText([D])!==null?`HTMLElementEventMap['${D}']`:null,child:t})}let z=new Set;E.collectLeafNames(H,z);let i1=E.mintName("e",z);this.renderLine(O,()=>{let e1=`(${o}._nodes?.[0] ?? ${l})`;if(!this.ts)this.b.emit(`if (${o}) ${e1}.addEventListener('${D}', (${i1}`);else this.b.emit(`if (${o}) ${e1}.addEventListener(`),this.emitQuotedPrimitive(D),this.b.emit(`, (${i1}`);this.tsScaffoldAny(),this.b.emit(`) => ${this.runtimeName("__batch")}(() => (`),this.tsHandlerCast(()=>this.withExpression(()=>this.expr(H))),this.b.emit(`)(${i1})))`)})}i.setups.push({kind:"raw",fn:(O)=>{this.b.emit(O);let D=()=>{this.b.emit(`if (${o} && ${o}._state === 'mounting') { +`)}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 n=`_${e}${t}`;return r.vars.add(n),n}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 n=e==null?this._textOwner:null,i=n!=null?this.stores.idOf(n):null,s=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:s})}checkSetupLocalRefs(e,t){let r=this.rstate.sink;if(r.kind!=="class"||r.locals.size===0)return;if(Re(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 n=this.b.offset;if(this.expr(e),t=[n,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 n=r.sink.loopStack.length-1;n>=0;n--){let i=r.sink.loopStack[n];if(i.itemVar===e||i.indexVar===e)return i.reactiveSource?"loop-reactive":"loop"}if(t!==void 0){for(let n=r.sink.parent;n;n=n.parent)if(n.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 s=this.resolveBareRead(e);return s==="reactive"||s==="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 s=this.resolveBareRead(i);return s==="member"||s===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)},n=(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&&n(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)&&sa.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 o=this.newRenderText();return this.renderLine(null,()=>this.b.emit(`${o} = document.createTextNode(${e})`)),o}let n=this.renderVarKind(e,e);if(n!==null){let o=this.newRenderText();if(n==="loop-reactive")this.renderLine(null,()=>this.b.emit(`${o} = document.createTextNode('')`)),this.renderEffect(null,()=>this.b.emit(`${o}.data = ${e};`));else this.renderLine(null,()=>this.b.emit(`${o} = document.createTextNode(String(${e}))`));return o}let i=this.resolveBareRead(e);if(i==="reactive"||i==="member-reactive"){let o=this.newRenderText();return this.renderLine(null,()=>this.b.emit(`${o} = document.createTextNode('')`)),this.renderEffect(null,()=>{this.b.emit(`${o}.data = `),this.expr(e),this.b.emit(";")}),o}if(e==="slot")return this.renderSlot(e,[]);if(Ce(e))return this.renderChildComponent(e,e,[]);if(i==="member"){let o=this.newRenderText();return this.renderLine(null,()=>{this.b.emit(`${o} = document.createTextNode(String(`),this.expr(e),this.b.emit("))")}),o}let[s,a]=e.split("#");return this.renderTag(e,s||"div",[],[],a)}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&&Ce(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`);if(r==="."){let{tag:n,classes:i,id:s}=E.collectTemplateClasses(e);if(n!==null&&Q1(n)&&this.renderVarKind(n)===null)return this.renderTag(e,n,i,[],s);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&&Q1(r.split("#")[0])&&e.length>=1&&this.renderVarKind(r)===null){let[n,i]=r.split("#");return this.renderTag(e,n||"div",[],e.slice(1),i)}if(y(t)){if(y(t[0])&&t[0][0]==="."&&t[0][2]==="__clsx"){let a=t[0][1],o=t.slice(1);if(y(a)){let{tag:l,classes:c,id:f}=E.collectTemplateClasses(a);if(l!==null&&Q1(l))return this.renderDynamicTag(e,l,o,e.slice(1),c,f)}else if(typeof a==="string"&&Q1(a.split("#")[0])){let[l,c]=a.split("#");return this.renderDynamicTag(e,l||"div",o,e.slice(1),[],c)}}let{tag:n,classes:i,id:s}=E.collectTemplateClasses(t);if(n!==null&&Q1(n)&&this.renderVarKind(n)===null){if(i.length>0&&i[i.length-1]==="__clsx")return this.renderDynamicTag(e,n,e.slice(1),[],i.slice(0,-1),s);return this.renderTag(e,n,i,e.slice(1),s)}}if(r==="->"||r==="=>")return this.renderChildBlock(e[2]);return this.renderTextExpr(e)}renderTextExpr(e,t=null,r=!1){let n=this.newRenderText(),i=t??(y(e)?e:null);this.checkCrossScopeLocals(e,i??this.rstate.node);let s=(a)=>{if(r&&t!==null)this.mark(t,"args",a);else a()};if(this.renderReactive(e))this.renderLine(i,()=>this.b.emit(`${n} = document.createTextNode('')`)),this.renderEffect(i,()=>{if(this.b.emit(`${n}.data = `),r)this.b.emit("String("),s(()=>this.renderExpr(e)),this.b.emit(")");else this.renderExpr(e);this.b.emit(";")},e);else this.renderLine(i,()=>{this.b.emit(`${n} = document.createTextNode(String(`),s(()=>this.withExpression(()=>this.expr(e))),this.b.emit("))")});return n}bindInheritedTarget(e,t,r,n){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}`)),n.length>0)this.renderLine(e,()=>this.b.emit(`this._inheritedOwn = new Set([${n.map((s)=>JSON.stringify(s)).join(", ")}])`));this.renderLine(e,()=>this.b.emit("this._applyRestToInheritedEl()"))}elementOwnKeys(e,t,r){let n=new Set;if(r)n.add("id");if(e)n.add("class");let i=(s)=>{for(let a of s.slice(1)){if(!y(a)||a.length!==3||typeof a[1]!=="string")continue;let o=a[1];n.add(o.startsWith('"')&&o.endsWith('"')?o.slice(1,-1):o)}};for(let s of t)if(O1(s))i(s);else if(T1(s)&&g1(s[2])){for(let a of s[2].slice(1))if(O1(a))i(a)}for(let s of["ref","key"])n.delete(s);for(let s of[...n])if(s.startsWith("__"))n.delete(s);if(n.has("class")||n.has("className"))n.add("class"),n.add("className");return[...n]}renderElementPrologue(e,t){let r=this.rstate,n=this.newRenderVar();if(r.tags.set(n,t),r.transitionSlot!==null&&r.transitionSlot.record===r.sink&&r.transitionSlot.el===null)r.transitionSlot.el=n;let i=r.svgDepth>0||oi.has(t);if(i)r.svgEls.add(n);return this.renderLine(e,()=>{if(i)this.b.emit(`${n} = document.createElementNS('${E.SVG_NS}', `);else this.b.emit(`${n} = document.createElement(`);let s=this.emitQuotedPrimitive(t);if(s!==null&&ot(t,i))this.intrinsics.push({start:s[0],end:s[1],kind:"tag",tag:t,svg:i});this.b.emit(")")}),{el:n,isSvg:i}}renderElementBasics(e,t,r,n,i){let s=this.rstate;if(n)this.renderLine(e,()=>this.b.emit(`${r}.id = '${n}'`));if(this.bindInheritedTarget(e,t,r,i),s.frame.name!==null&&s.elCount===1&&s.sink.kind==="class")this.renderLine(e,()=>this.b.emit(`${r}.setAttribute('data-part', '${s.frame.name}')`))}renderTag(e,t,r,n,i){this.noteShorthandClasses(r,e);let s=this.rstate,{el:a,isSvg:o}=this.renderElementPrologue(e,t);this.renderElementBasics(e,t,a,i,this.elementOwnKeys(r.length>0,n,i));let{pendingClassArgs:l,pendingClassEl:c,pendingClassKeys:f}=s;if(r.length>0)s.pendingClassArgs=[`'${r.join(" ")}'`],s.pendingClassEl=a,s.pendingClassKeys=null;if(o)s.svgDepth++;if(this.renderChildren(a,n,e),o)s.svgDepth--;if(r.length>0){if(s.pendingClassArgs.length===1)this.renderLine(e,()=>this.b.emit(o?`${a}.setAttribute('class', '${r.join(" ")}')`:`${a}.className = '${r.join(" ")}'`));else{let h=s.pendingClassArgs.slice(1),u=s.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?"));":");")})}s.pendingClassKeys=f,s.pendingClassArgs=l,s.pendingClassEl=c}return a}renderDynamicTag(e,t,r,n,i,s){this.noteShorthandClasses(i,e);let a=this.rstate,{el:o,isSvg:l}=this.renderElementPrologue(e,t);this.renderElementBasics(e,t,o,s,this.elementOwnKeys(!0,n,s));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,n,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(!g1(e)){let r=this.renderNode(e);if(r!=null)return r;let n=this.newRenderVar("empty");return this.renderLine(null,()=>this.b.emit(`${n} = document.createComment('')`)),n}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 n=this._textOwner;this._textOwner=r;try{this.renderChildrenOf(e,t,r)}finally{this._textOwner=n}}renderChildrenOf(e,t,r){for(let n=0;n0)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 s=i[2];if(g1(s))for(let a=1;athis.b.emit(`${e}.appendChild(${l})`))}}else if(s){if(!this.renderOwnLineWord(e,s,[s],0,r)){let a=this.renderNode(s);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 s=i.split(/[#.]/)[0],a=s===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(Q1(s||"div")){let l=this.renderNode(i);this.renderLine(null,()=>this.b.emit(`${e}.appendChild(${l})`));continue}if(Ce(s)&&s===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,n,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 s=this.renderNode(i);this.renderLine(null,()=>this.b.emit(`${e}.appendChild(${s})`))}}}renderTagOf(e){return this.rstate.tags?.get(e)??"div"}renderBareAttribute(e,t,r,n,i){let s=this.renderTagOf(e),a=null;if(this.ts&&!ci(s,t)){let c=this.bareChildSpan(r,n,i);if(c!==null)a=c,this.intrinsics.push({start:c[0],end:c[1],kind:"unknown-attr",tag:s,name:t,message:this.unknownAttrMessage(s,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,n,i){if(typeof t!=="string"||!/^[A-Za-z_$][\w$]*$/.test(t))return!1;if(Q1(t)||Ce(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,n,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 n=this.newRenderVar("slot"),i=this.ts?this.wordSpanIn("slot",r??this.rstate.node):null;return this.renderLine(r,()=>{let s=this.childrenReadText();this.b.emit(`${n} = `),this.emitChildrenRead(i),this.b.emit(` instanceof Node ? ${s} : (${s} != null ? document.createTextNode(String(${s})) : document.createComment(''))`)}),n}renderChildComponent(e,t,r){let n=this.rstate,i=n.sink,s=y(e)?e:null,a;if(this.renderVarKind(t)!==null)a=()=>this.emitPrimitive(t);else{let O=this.resolveBareRead(t);if(O==="member"||O==="member-reactive")a=()=>{if(this.b.emit(`${this.renderSelf??"this"}.`),this.emitPrimitive(t),O==="member-reactive")this.b.emit(".value")};else if(O==="reactive")a=()=>{this.emitPrimitive(t),this.b.emit(".value")};else if(this.inScope(t)||this.moduleBound!==void 0&&this.moduleBound.has(t))a=()=>this.emitPrimitive(t);else throw this.positionedError(s??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 o=this.newRenderVar("inst"),l=this.newRenderVar("el"),c=n.frame.extendsComponent===t&&i.kind==="class"&&n.frame.inheritedBound!==!0&&this.renderVarKind(t)===null&&this.resolveBareRead(t)===null;if(c)n.frame.inheritedBound=!0;let f=[],h=[],u=[],d=[],p=new Map,m={prop:"an explicit `children:` prop",body:"element body content",slot:"a nested `slot`"},g=null,b=(O,D,W="prop")=>{let Y=O.startsWith("__bind_")&&O.endsWith("__")?O.slice(7,-2):O;if(p.has(Y)){if(Y==="children")throw this.positionedError(D??s??e,`emitter: this child component receives \`children\` TWICE — ${m[g]} beside ${m[W]}; 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(D??s??e,`emitter: duplicate prop '${Y}' 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(p.set(Y,D??null),Y==="children")g=W},S=(O)=>{if(dt(O))throw this.renderSpreadError(O,t);if(!y(O)||O.length!==3)throw this.positionedError(O,"emitter: unsupported attribute form on a child component",s??this.rstate.node);if(n.suppressedPairs.has(O))return;let[,D,W]=O;if(y(D)&&D[0]==="."&&D[1]==="this"&&typeof D[2]==="string"){this.checkBareEventHandler(O,W),this.checkCrossScopeLocals(W,O),u.push({pair:O,event:D[2],value:W});return}if(P(O),typeof D!=="string")throw this.positionedError(O,"emitter: computed prop keys are not supported on a child component",s??this.rstate.node);let Y=D.startsWith('"')&&D.endsWith('"')?D.slice(1,-1):D;if(Y==="__transition__")throw this.positionedError(O,"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(Y==="ref")throw this.positionedError(O,"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(Y==="key")throw this.positionedError(O,"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(b(Y,O),Y.startsWith("__bind_")&&Y.endsWith("__")){this.checkUserSpelledBind(O),this.noteVocabulary("render-channel",Y,O);let Q=Y.slice(7,-2),o1=this.childContainerRef(W);if(o1!==null){f.push({pair:O,key:D,fn:o1});return}let f1=(h1,u1)=>this.positionedError(O,`emitter: \`${Q} <=> …\` on a child component shares a reactive CONTAINER, and ${h1} ; ${u1}`,this.rstate.node);if(typeof W==="string"&&this.renderVarKind(W)===null){let h1=this.resolveBareRead(W);if(h1==="member")throw f1(`'${W}' is a plain member`,"declare it with ':=' to share it");if(h1===null&&!this.inScope(W))throw f1(`'${W}' is not declared`,"bind a reactive member or module reactive name")}if(y(W)&&W[0]==="."&&W[1]==="this"&&W.length===3&&typeof W[2]==="string")throw f1(`'@${W[2]}' is not a reactive member`,"declare it with ':=' to share it");if(typeof W!=="string"&&!E.isChainNode(W))throw f1("this expression is never a container","bind a reactive member or module reactive name");this.checkCrossScopeLocals(W,O),f.push({pair:O,key:D,fn:()=>this.renderExpr(W)});return}this.addChildProp(f,h,O,D,Y,W)},w=(O,D)=>{throw this.positionedError(O,`emitter: bare '${D}' 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 \`= ${D}\`, or give the element content or attributes`,this.rstate.node)},R=(O,D)=>{b(D,null),f.push({pair:null,key:D,span:L(D),fn:()=>this.b.emit("true")})},k=s!==null&&this.stores.idOf(s)!==null?this.stores.selfSpan(this.stores.idOf(s)):null,j=k!==null&&this.b.source!==null?k[0]:null,M=(O)=>{if(j===null||O==null)return;if(y(O)){let D=this.stores.idOf(O),W=D!==null?this.stores.selfSpan(D):null;j=W!==null?Math.max(j,W[1]):null;return}if(typeof O==="string"){let D=this.b.source.indexOf(O,j);j=D>=0&&D+O.length<=k[1]?D+O.length:null;return}j=null},L=(O)=>{if(j===null)return null;let D=new RegExp(`(?k[1])return null;return j=W.index+O.length,[W.index,W.index+O.length]},A=new Map,P=(O)=>{if(!this.tsDirectivesArmed)return;let D=this.tsDirectiveMap.get(O);if(D===void 0)return;this.tsDirectiveMap.delete(O),A.set(O,[...A.get(O)??[],...D])},v=(O)=>{if(!this.tsDirectivesArmed)return;let D=this.tsDirectiveMap.get(O);if(D===void 0)return;let W=O.slice(1).find((Y)=>y(Y));if(W===void 0||n.suppressedPairs.has(W))return;this.tsDirectiveMap.delete(O),this.tsDirectiveMap.set(W,[...D,...this.tsDirectiveMap.get(W)??[]])},V=[],H=!1,G=(O)=>!y(O)&&!(typeof O==="string"&&((Q1(O.split(/[#.]/)[0])||Ce(O.split(/[#.]/)[0]))&&this.renderVarKind(O)===null&&this.resolveBareRead(O)===null)),T=(O)=>{if(O==null)return;if(dt(O))throw this.renderSpreadError(O,t);let D=typeof O==="string"&&ft.test(O)&&this.renderVarKind(O)===null&&this.resolveBareRead(O)===null;if(D&&(Q1(O)||O==="slot")&&(this.inScope(O)||this.moduleBound.has(O)))w(s??this.rstate.node,O);if(D&&O==="slot"){H=!0,M(O),V.push(O);return}if(D&&!this.inScope(O)&&!this.moduleBound.has(O)){R(s??this.rstate.node,O);return}M(O),V.push(O)};for(let O of r)if(O1(O)){v(O);for(let D of O.slice(1))S(D);M(O)}else if(T1(O)){if(y(O[1])&&O[1].length>0)throw this.positionedError(O,`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 D=O[2],W=g1(D)?D.slice(1):D!=null?[D]:[];for(let Y of W)if(O1(Y)){v(Y);for(let r1 of Y.slice(1))S(r1);M(Y)}else T(Y)}else T(O);let N=(O)=>{if(!G(O))return this.renderNode(O);this.checkCrossScopeLocals(O,s??this.rstate.node);let D=this.newRenderText();if(this.renderReactive(O))this.renderLine(s,()=>this.b.emit(`${D} = document.createTextNode('')`)),this.renderEffect(s,()=>{this.b.emit(`${D}.data = `),this.renderExpr(O),this.b.emit(";")},O);else this.renderLine(s,()=>{this.b.emit(`${D} = document.createTextNode(`),this.renderExpr(O),this.b.emit(")")});return D},F=null,J=V.filter((O)=>!this.isRenderBinding(O));if(J.length===1&&H){b("children",null,"slot"),this.claimSlot(s);let O=this.ts?this.wordSpanIn("slot",s??this.rstate.node):null;for(let D of V)if(D!=="slot")N(D);f.push({pair:null,key:"children",fn:()=>this.emitChildrenRead(O)})}else if(J.length===1)b("children",null,"body"),F=()=>{let O=null;for(let D of V){let W=N(D);if(W!=null)O=W}return O};else if(J.length>1)b("children",null,"body"),F=()=>{let O=this.newRenderVar("frag");this.renderLine(null,()=>this.b.emit(`${O} = document.createDocumentFragment()`));for(let D of V){let W=N(D);if(W!=null)this.renderLine(null,()=>this.b.emit(`${O}.appendChild(${W})`))}return O};else for(let O of V)N(O);let x=new Set([...i.bindings,...i.locals]);if(i.vars!==null)for(let O of i.vars)x.add(O);if(y(e))E.collectLeafNames(e,x);let e1=E.mintName("__prev",x),U=E.mintName("__kid",x),i1=E.mintName("__childErr",x);if(i.kind!=="class")i.hasKids=!0;let q=(O)=>this.renderLine(s,O,!1),s1=()=>this.renderSelf??"this",I=this.projectionHost;this.threadProjectionHost(I);let c1=()=>I!==null&&I.startsWith("this.")?`${s1()}.${I.slice(5)}`:I;if(q(()=>this.b.emit(I!==null?`{ const ${e1} = ${c1()}._beginProjection(${s1()}); try {`:`{ const ${e1} = ${this.runtimeName("__pushComponent")}(${s1()}); try {`)),q(()=>this.b.emit("try {")),q(()=>{if(this.b.emit(`${o} = new `),a(),this.b.emit("("),f.length===0)this.b.emit(c?`{ ...${s1()}._rest }`:"{}");else{let O=A.size>0,D=this.replayPad+" ";if(this.b.emit(O?"{":"{ "),c)this.b.emit(O?` +${D}...${s1()}._rest,`:`...${s1()}._rest, `);f.forEach((W,Y)=>{if(O){if(Y>0)this.b.emit(",");this.b.emit(` +`);let Q=W.pair!==null?A.get(W.pair):void 0;if(this.ts&&Q!==void 0)for(let o1 of Q)this.tsDirectiveLine(o1,D,!0);this.b.emit(D)}else if(Y>0)this.b.emit(", ");let r1=()=>{let Q=(f1)=>{let h1=this.b.offset,u1=f1();if(this.ts)this.attrNames.push([h1,this.b.offset]);if("routeKey"in W)W.routeKey=[h1,this.b.offset];if(this.ts&&u1!=null){let b1=W.pair!==null?this.stores.idOf(W.pair):null,l1=b1!==null?this.stores.selfSpan(b1):null,d1=[u1[0],u1[1]];this.renderPairs.push({key:d1,pair:l1??d1,sites:[[h1,this.b.offset]]})}},o1=y(s)?this.stores.idOf(s):null;if(this.ts&&W.span!=null&&o1!==null){Q(()=>(this.b.markSpan(o1,"shorthandProp",W.span[0],W.span[1],()=>this.b.emit(W.key)),[W.span[0],W.span[1]])),this.b.emit(": "),W.fn();return}if(W.key.startsWith("__bind_")&&W.key.endsWith("__"))Q(()=>{let f1=this.b.offset;this.b.emit("__bind_");let h1=this.emitRewrittenPrimitive(W.key,W.key.slice(7,-2));if(this.ts&&h1!==null)this.intrinsics.push({start:h1[0],end:h1[1],kind:"bind",name:W.key.slice(7,-2),gen:f1});return this.b.emit("__"),h1});else Q(()=>this.emitPrimitive(W.key));this.b.emit(": "),W.fn()};if(W.pair!==null&&this.stores.idOf(W.pair)!==null)this.mark(W.pair,"$self",r1);else r1()}),this.b.emit(O?` +${this.replayPad}}`:" }")}this.b.emit(");")}),q(()=>this.b.emit(`if (${o} && ${o}._initFailed) {`)),q(()=>this.b.emit(` ${o} = null;`)),q(()=>this.b.emit(` ${l} = document.createComment('rip:child-init-failed: ${t}');`)),F!==null){q(()=>this.b.emit("} else {")),q(()=>this.b.emit(`{ const ${U} = ${o}._beginProjection(${s1()}); try {`));let O=this.projectionHost;this.projectionHost=o;let D=i.setups.length,W;try{W=F()}finally{this.projectionHost=O}let Y=(Q)=>({kind:"raw",node:null,fn:(o1)=>{this.b.emit(`${o1}if (${o}) { +`),this.replaySetups({setups:Q},`${o1} `),this.b.emit(`${o1}} +`)}}),r1=[];for(let Q of i.setups.splice(D)){if(Q.latch!==!0){r1.push(Q);continue}if(r1.length>0)i.setups.push(Y(r1));r1=[],i.setups.push(Q)}if(r1.length>0)i.setups.push(Y(r1));q(()=>this.b.emit(`} finally { ${o}._endProjection(${U}); } }`)),q(()=>this.b.emit(`${o}._setChildren(${W});`))}if(q(()=>{this.b.emit(F!==null?"if (":"} else if (");let O=()=>this.b.emit(`${o}._mountCreate()`);if(s!==null)this.mark(s,"$self",O);else O();this.b.emit(") {")}),q(()=>this.b.emit(` ${l} = ${o}._root;`)),c){let O=[...p.keys()].filter((D)=>D!=="children").map((D)=>JSON.stringify(D)).join(", ");q(()=>this.b.emit(` ${s1()}._inheritedInst = ${o};`)),q(()=>this.b.emit(` ${s1()}._inheritedOwn = new Set([${O}]);`))}if(i.kind==="class")q(()=>this.b.emit(` (this._children || (this._children = [])).push(${o});`));else q(()=>this.b.emit(` ${i.kidsVar}.push(${o});`));if(q(()=>this.b.emit("} else {")),q(()=>this.b.emit(` ${o} = null;`)),q(()=>this.b.emit(` ${l} = document.createComment('rip:child-error: ${t}');`)),q(()=>this.b.emit("}")),F!==null)q(()=>this.b.emit("}"));q(()=>this.b.emit(`} catch (${i1}) {`)),q(()=>this.b.emit(` ${this.runtimeName("__reportChildFailure")}('${t}', ${i1});`)),q(()=>this.b.emit(` ${o} = null;`)),q(()=>this.b.emit(` ${l} = document.createComment('rip:child-error: ${t}');`)),q(()=>this.b.emit("}")),q(()=>this.b.emit(I!==null?`} finally { ${c1()}._endProjection(${e1}); } }`:`} finally { ${this.runtimeName("__popComponent")}(${e1}); } }`));for(let{pair:O,event:D,value:W}of u){if(this.ts){let Q=y(O)&&y(O[1])?O[1]:null,o1=Q!==null?this.stores.idOf(Q)??null:null,f1=o1!==null?this.stores.selfSpan(o1):null;if(f1!==null)this.intrinsics.push({start:f1[0],end:f1[1],kind:"event",name:D,type:this.tsEventTypeText([D])!==null?`HTMLElementEventMap['${D}']`:null,child:t})}let Y=new Set;E.collectLeafNames(W,Y);let r1=E.mintName("e",Y);this.renderLine(O,()=>{let Q=`(${o}._nodes?.[0] ?? ${l})`;if(!this.ts)this.b.emit(`if (${o}) ${Q}.addEventListener('${D}', (${r1}`);else this.b.emit(`if (${o}) ${Q}.addEventListener(`),this.emitQuotedPrimitive(D),this.b.emit(`, (${r1}`);this.tsScaffoldAny(),this.b.emit(`) => ${this.runtimeName("__batch")}(() => (`),this.tsHandlerCast(()=>this.withExpression(()=>this.expr(W))),this.b.emit(`)(${r1})))`)})}i.setups.push({kind:"raw",latch:!0,fn:(O)=>{this.b.emit(O);let D=()=>{this.b.emit(`if (${o} && ${o}._state === 'mounting') { ${O} ${l} = ${o}._mountSetup(document.createComment('rip:child-error: ${t}')); -`);let H=this.rstate.fragChildren.get(i.root),z=H!==void 0?H[0]:i.root;if(i.kind!=="class"&&z===l){if(this.b.emit(`${O} `),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 = ${l}; +`);let W=this.rstate.fragChildren.get(i.root),Y=W!==void 0?W[0]:i.root;if(i.kind!=="class"&&Y===l){if(this.b.emit(`${O} `),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 = ${l}; `)}this.b.emit(`${O}}`)};if(s!==null)this.mark(s,"$self",D);else D();this.b.emit(` -`)}});for(let{pair:O,key:D,value:H}of h){let z=D.startsWith('"')&&D.endsWith('"')?D.slice(1,-1):D;this.renderEffect(O,()=>{this.b.emit(`if (${o}) ${o}._updateProp('${z}', `),this.renderExpr(H),this.b.emit(");")},H)}return l}addChildProp(e,t,r,n,i,s){let a=this.childContainerRef(s);if(a!==null){e.push({pair:r,key:n,fn:a});return}if(this.checkCrossScopeLocals(s,r),this.ts&&this.routesUnion!==null&&i==="href"&&this.isRouteLiteralValue(s)){this._needsRouteHelper=!0;let l={pair:r,key:n,routeKey:null};l.fn=()=>{this.b.tsOnly(()=>this.b.emit("__ripRoute("));let c=this.b.offset;this.renderExpr(s);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:n,fn:()=>this.renderExpr(s)});if(!T1(s)&&this.renderReactive(s))t.push({pair:r,key:n,value:s})}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 n=t();if(this.b.tsOnly(()=>this.b.emit(")")),n!=null)this.narrowedDecls.push({start:n[0],end:n[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 n=t.slice(1).find((s)=>y(s));if(n!==void 0&&n.length===3&&!r.suppressedPairs.has(n)&&(()=>{let s=n[1];if(typeof s!=="string")return!0;if(s.startsWith('"')&&s.endsWith('"'))s=s.slice(1,-1);if((s==="class"||s==="className")&&r.pendingClassArgs!==null&&r.pendingClassEl===e)return!1;if(s==="ref"&&this.rstate.sink.kind!=="class")return!1;return!0})()){let s=this.tsDirectiveMap.get(t);this.tsDirectiveMap.delete(t),this.tsDirectiveMap.set(n,[...s,...this.tsDirectiveMap.get(n)??[]])}}for(let n of t.slice(1)){if(dt(n))throw this.renderSpreadError(n);if(!y(n)||n.length!==3)throw this.positionedError(n,"emitter: unsupported attribute form in render",t);if(r.suppressedPairs.has(n))continue;let[,i,s]=n;this.checkCrossScopeLocals(s,n);let a=null;if(this.ts){let M=this.stores.idOf(n),L=M!==null?this.stores.selfSpan(M):null,A=this.b.source;if(L!==null&&A!==null){let P=L[0];while(PL[0])a={key:[L[0],P],pair:[L[0],L[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 L=this.b.claimWithin;this.b.claimWithin=l;try{return M()}finally{this.b.claimWithin=L}},f=(M)=>{if(l===null)return M();let L=this.primitiveAvoid;this.primitiveAvoid=[...L??[],l];try{return M()}finally{this.primitiveAvoid=L}};if(y(i)&&i[0]==="."&&i[1]==="this"&&typeof i[2]==="string"){let M=i[2];if(this.checkBareEventHandler(n,s),this.rstate.sink.kind==="loop"&&this.loopVarNames().size>0&&Re(s,this.loopVarNames()))this.rstate.sink.forceNonStatic=!0;let L=new Set;E.collectLeafNames(s,L);let A=E.mintName("e",L),P=this.tsElReceiver(e),v=this.ts?this.tsEventTypeText([M],P.hostText):null;if(this.ts){let V=this.stores.idOf(i)??null,W=V!==null?this.stores.selfSpan(V):null;if(W!==null)this.intrinsics.push({start:W[0],end:W[1],kind:"event",name:M,type:v,tag:this.rstate?.tags?.get(e)??null,svg:this.rstate?.svgEls?.has(e)===!0})}this.renderLine(n,()=>{let V=this.renderSelf??"this";if(!this.ts)this.b.emit(`${e}.addEventListener('${M}', (${A}`);else P.emit(),this.b.emit(".addEventListener("),c(()=>this.emitQuotedPrimitive(M)),this.b.emit(`, (${A}`);if(this.tsScaffoldAny(),this.b.emit(`) => ${this.runtimeName("__batch")}(() => `),typeof s==="string"&&this.renderVarKind(s)===null&&this.cframes[this.cframes.length-1].members.has(s)){if(this.ts)this.b.tsOnly(()=>this.b.emit("("));let W=this.b.offset;if(this.b.emit(`${V}.`),f(()=>this.emitPrimitive(s)),this.ts)this.b.tsOnly(()=>this.b.emit(v!==null?` as (e: ${v}) => unknown)`:" as any)"));if(this.ts&&v!==null)o([W,this.b.offset-1]);this.b.emit(`(${A})`)}else{let W=!this.ts?null:T1(s)&&(s[1].length===0||s[1].length===1&&typeof s[1][0]==="string")?v??"any":T1(s)?null:v;this.b.emit("("),o(this.tsHandlerCast(()=>f(()=>this.withExpression(()=>this.expr(s))),W)),this.b.emit(`)(${A})`)}this.b.emit("))")});continue}if(typeof i!=="string")throw this.positionedError(n,"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,n),this.renderTransition(e,n,s,t);continue}if(i==="ref"){this.noteVocabulary("render-channel",i,n),this.renderRef(e,n,s,t,o);continue}if(i.startsWith("__bind_")&&i.endsWith("__")){this.noteVocabulary("render-channel",i,n),this.checkUserSpelledBind(n);let M=i.slice(7,-2);this.renderBind(e,n,M,s,t,o);continue}if(i==="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",t);if(i==="class"||i==="className"){let M=(L,A)=>{if(this.ts&&L!==null)this.intrinsics.push({start:L[0],end:L[1],kind:"attr",name:"class",gen:A})};if(r.pendingClassArgs!==null&&r.pendingClassEl===e){this.checkSetupLocalRefs(s,n);let L=this.stores.idOf(n),A=L!==null?this.stores.selfSpan(L):null;if(this.ts&&A!==null)(r.pendingClassKeys??=[]).push([A[0],A[0]+i.length]);r.pendingClassArgs.push(()=>o(this.renderExpr(s)))}else if(this.renderReactive(s)){let L=r.svgDepth>0,A=this.tsElReceiver(e);this.renderEffect(n,()=>{let P=this.runtimeName("__clsx");if(A.emit(),L){let v=this.b.offset+1;this.b.emit(".setAttribute('"),M(this.emitKeyAs(i,"class"),v),this.b.emit(`', ${P}(`)}else this.b.emit("."),this.emitPropertyRoadKey(()=>this.emitKeyAs(i,"className")),this.b.emit(` = ${P}(`);o(this.renderExpr(s)),this.b.emit(L?"));":");")},s)}else{let L=r.svgDepth>0,A=y(s),P=this.tsElReceiver(e);this.renderLine(n,()=>{let v=this.b.offset;if(P.emit(),L){let W=this.b.offset+1;this.b.emit(".setAttribute('"),M(this.emitKeyAs(i,"class"),W),this.b.emit("', ")}else{if(this.b.emit("."),this.emitPropertyRoadKey(()=>this.emitKeyAs(i,"className")),!A)o([v,this.b.offset]);this.b.emit(" = ")}if(A)this.b.emit(`${this.runtimeName("__clsx")}(`);let V=this.renderExpr(s);if(L||A)o(V);if(A)this.b.emit(")");if(L)this.b.emit(")")})}continue}if((i==="value"||i==="checked")&&this.renderReactive(s)){let M=this.tsElReceiver(e);this.renderEffect(n,()=>{let L=this.b.offset;if(M.emit(),this.b.emit("."),this.emitPropertyRoadKey(()=>this.emitPrimitive(i)),o([L,this.b.offset]),this.b.emit(" = "),this.renderExpr(s),i==="value"&&!E.isStringLiteral(s))this.b.emit(" ?? ''");this.b.emit(";")},s);continue}if(i==="innerHTML"||i==="textContent"||i==="innerText"){let M=this.tsElReceiver(e),L=()=>{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(s)};if(this.renderReactive(s))this.renderEffect(n,()=>{L(),this.b.emit(";")},s);else this.renderLine(n,L);continue}if(E.BOOLEAN_ATTRS.has(i)){let M=this.tsElReceiver(e),L=()=>{let A=c(()=>this.emitKeyAs(h,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(s))this.renderEffect(n,()=>{if(M.emit(),this.b.emit(".toggleAttribute('"),L(),this.b.emit("', !!"),this.ts)this.b.tsOnly(()=>this.b.emit("("));f(()=>this.renderExpr(s));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(");")},s);else this.renderLine(n,()=>{this.b.emit("if ("),f(()=>this.withExpression(()=>this.expr(s)));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('"),L(),this.b.emit("', '')")});continue}if(i==="style"){let M=this.tsElReceiver(e),L=()=>{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(h,i),this.b.emit("'] | undefined");else this.b.emit(": any")});this.b.emit(" = "),this.renderExpr(s),this.b.emit(`; ${this.runtimeName("__style")}(`),M.emit(),this.b.emit(", __v); }")};if(this.renderReactive(s))this.renderEffect(n,L,s);else this.renderLine(n,L,!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(s);if(u)this._needsRouteHelper=!0;let d=this.tsElReceiver(e),p=!(typeof s==="string"&&(!be(s)||s==="true"||s==="false")||y(s)&&s[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(!ci(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(h,i));if(m===null)m=M;S()},k=()=>f(()=>this.renderExpr(s)),j=()=>{if(!this.ts)return;this.b.tsOnly(()=>this.b.emit(d.surfaced?`: ${d.valsName}['${i}'] | undefined`:": any"))};if(this.renderReactive(s))if(p)this.renderEffect(n,()=>{this.b.emit("{ const __v"),o([this.b.offset-3,this.b.offset]),j(),this.b.emit(" = "),k(),this.b.emit("; __v == null ? "),d.emit(),this.b.emit(".removeAttribute('"),R(),this.b.emit("') : "),d.emit(),w(),R(),this.b.emit("', __v); }")},s);else this.renderEffect(n,()=>{d.emit(),w();let M=this.b.offset;R();let L=this.b.offset;if(this.b.emit("', "),u)this.b.tsOnly(()=>this.b.emit("__ripRoute("));let A=this.b.offset;o(k());let P=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,L],value:[A,P]})},s);else if(p)this.renderLine(n,()=>{this.b.emit("{ const __v"),o([this.b.offset-3,this.b.offset]),j(),this.b.emit(" = "),k(),this.b.emit("; if (__v != null) "),d.emit(),w(),R(),this.b.emit("', __v); }")},!1);else this.renderLine(n,()=>{d.emit(),w();let M=this.b.offset;R();let L=this.b.offset;if(this.b.emit("', "),u)this.b.tsOnly(()=>this.b.emit("__ripRoute("));let A=this.b.offset;o(k());let P=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,L],value:[A,P]})})}}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 n=this.loopVarNames(),i=(s)=>r.sink.locals.has(s)||n.has(s);for(let s=r.sink.parent;s!==null;s=s.parent){if(s.locals.size===0)continue;let a=new Set([...s.locals].filter((o)=>!i(o)));if(a.size>0&&Re(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,n]=e,i=this.rstate.sink,s=this.firstAwaitIn(n);if(s!==null)throw this.renderSyncError(s);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(n,e),this.renderLine(e,()=>{this.mark(e,"target",()=>this.b.emit(r)),this.b.emit(` ${t} `),this.mark(e,"value",()=>this.withExpression(()=>this.expr(n)))}),null}closeRenderScope(e){for(let[t,r]of e.localDecls){let n=0,i=(s)=>{if(typeof s==="string"){if(s===t)n++;return}if(!y(s))return;if(sa.has(s[0])&&s.length===3&&s[1]===t){i(s[2]);return}if((s[0]===":"||s[0]==="void-pair")&&s.length===3&&typeof s[1]==="string"){i(s[2]);return}if((s[0]==="."||s[0]==="?.")&&s.length===3&&typeof s[2]==="string"){i(s[1]);return}for(let a of s)i(a)};for(let s of e.stmts)i(s);if(n===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,n=null){let i=this.rstate,s=i.sink,a=this.newBlockName(),o=n!==null?[n.itemVar,n.indexVar]:[],l=new Set(o),c=new Set;E.collectLeafNames(e,c);let f=new Set(s.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=s.loopStack.map((S)=>({...S,itemVar:h(S.itemVar),indexVar:h(S.indexVar)})),d=u.flatMap((S)=>[S.itemVar,S.indexVar]),p=n!==null?[...u,n]:u,m={kind:t,name:a,parent:s,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:[...s.narrowed??[],...this._narrowNext??[]]};if(this._narrowNext=null,n!==null)n.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(g1(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=s,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((n,i)=>{if(i>0)this.b.emit(" ");this.b.emit(e==="statement"?"__ripNarrow(":"(__ripNarrow("),this.renderExpr(n),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,n]=e,i=e.length===4?e[3]:null;this.checkSetupLocalRefs(r,t),this.checkCrossScopeLocals(r,t);let s=this.newRenderVar("anchor");this.renderLine(null,()=>this.b.emit(`${s} = document.createComment('if')`)),this._narrowNext=this.narrowConjuncts(r);let a=this.walkFactory(n,"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,s,a,l,c,h)}),s}renderSwitch(e){let[,t,r,n]=e;if(E.hasMatchArms(r))this.checkMatchSwitch(e);let i=n;for(let s=r.length-1;s>=0;s--){let[,a,o]=r[s],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,n,i,s]=e;if(n!==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(s,w);let R=(k,j)=>{if(typeof k==="string")return k===j;return y(k)&&k.some((M)=>R(M,j))};for(let k of["i","j","k","l","m","n"])if(!w.has(k)&&!R(s,k)){o=k;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(s,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(s,"loop",e,{itemVar:a,indexVar:o,reactiveSource:c,iter:r,node:e})}finally{this.primitiveAvoid=p}if(f!==null){if(m.locals.size>0&&Re(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(!Re(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 n=(g1(e)?e.slice(1):[e]).find((s)=>!this.isRenderBinding(s));if(!y(n))return null;let i=(s)=>{for(let a=1;athis.b.emit(e.join(", ")))}emitCondSetup(e,t,r,n,i,s,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=(k)=>{this.b.emit(`${f} ${d} = ${l}.${k.name}(${l}`),this.emitOuterLoopArgs(o),this.b.emit(`); +`)}});for(let{pair:O,key:D,value:W}of h){let Y=D.startsWith('"')&&D.endsWith('"')?D.slice(1,-1):D;this.renderEffect(O,()=>{this.b.emit(`if (${o}) ${o}._updateProp('${Y}', `),this.renderExpr(W),this.b.emit(");")},W)}return l}addChildProp(e,t,r,n,i,s){let a=this.childContainerRef(s);if(a!==null){e.push({pair:r,key:n,fn:a});return}if(this.checkCrossScopeLocals(s,r),this.ts&&this.routesUnion!==null&&i==="href"&&this.isRouteLiteralValue(s)){this._needsRouteHelper=!0;let l={pair:r,key:n,routeKey:null};l.fn=()=>{this.b.tsOnly(()=>this.b.emit("__ripRoute("));let c=this.b.offset;this.renderExpr(s);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:n,fn:()=>this.renderExpr(s)});if(!T1(s)&&this.renderReactive(s))t.push({pair:r,key:n,value:s})}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 n=t();if(this.b.tsOnly(()=>this.b.emit(")")),n!=null)this.narrowedDecls.push({start:n[0],end:n[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 n=t.slice(1).find((s)=>y(s));if(n!==void 0&&n.length===3&&!r.suppressedPairs.has(n)&&(()=>{let s=n[1];if(typeof s!=="string")return!0;if(s.startsWith('"')&&s.endsWith('"'))s=s.slice(1,-1);if((s==="class"||s==="className")&&r.pendingClassArgs!==null&&r.pendingClassEl===e)return!1;if(s==="ref"&&this.rstate.sink.kind!=="class")return!1;return!0})()){let s=this.tsDirectiveMap.get(t);this.tsDirectiveMap.delete(t),this.tsDirectiveMap.set(n,[...s,...this.tsDirectiveMap.get(n)??[]])}}for(let n of t.slice(1)){if(dt(n))throw this.renderSpreadError(n);if(!y(n)||n.length!==3)throw this.positionedError(n,"emitter: unsupported attribute form in render",t);if(r.suppressedPairs.has(n))continue;let[,i,s]=n;this.checkCrossScopeLocals(s,n);let a=null;if(this.ts){let M=this.stores.idOf(n),L=M!==null?this.stores.selfSpan(M):null,A=this.b.source;if(L!==null&&A!==null){let P=L[0];while(PL[0])a={key:[L[0],P],pair:[L[0],L[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 L=this.b.claimWithin;this.b.claimWithin=l;try{return M()}finally{this.b.claimWithin=L}},f=(M)=>{if(l===null)return M();let L=this.primitiveAvoid;this.primitiveAvoid=[...L??[],l];try{return M()}finally{this.primitiveAvoid=L}};if(y(i)&&i[0]==="."&&i[1]==="this"&&typeof i[2]==="string"){let M=i[2];if(this.checkBareEventHandler(n,s),this.rstate.sink.kind==="loop"&&this.loopVarNames().size>0&&Re(s,this.loopVarNames()))this.rstate.sink.forceNonStatic=!0;let L=new Set;E.collectLeafNames(s,L);let A=E.mintName("e",L),P=this.tsElReceiver(e),v=this.ts?this.tsEventTypeText([M],P.hostText):null;if(this.ts){let V=this.stores.idOf(i)??null,H=V!==null?this.stores.selfSpan(V):null;if(H!==null)this.intrinsics.push({start:H[0],end:H[1],kind:"event",name:M,type:v,tag:this.rstate?.tags?.get(e)??null,svg:this.rstate?.svgEls?.has(e)===!0})}this.renderLine(n,()=>{let V=this.renderSelf??"this";if(!this.ts)this.b.emit(`${e}.addEventListener('${M}', (${A}`);else P.emit(),this.b.emit(".addEventListener("),c(()=>this.emitQuotedPrimitive(M)),this.b.emit(`, (${A}`);if(this.tsScaffoldAny(),this.b.emit(`) => ${this.runtimeName("__batch")}(() => `),typeof s==="string"&&this.renderVarKind(s)===null&&this.cframes[this.cframes.length-1].members.has(s)){if(this.ts)this.b.tsOnly(()=>this.b.emit("("));let H=this.b.offset;if(this.b.emit(`${V}.`),f(()=>this.emitPrimitive(s)),this.ts)this.b.tsOnly(()=>this.b.emit(v!==null?` as (e: ${v}) => unknown)`:" as any)"));if(this.ts&&v!==null)o([H,this.b.offset-1]);this.b.emit(`(${A})`)}else{let H=!this.ts?null:T1(s)&&(s[1].length===0||s[1].length===1&&typeof s[1][0]==="string")?v??"any":T1(s)?null:v;this.b.emit("("),o(this.tsHandlerCast(()=>f(()=>this.withExpression(()=>this.expr(s))),H)),this.b.emit(`)(${A})`)}this.b.emit("))")});continue}if(typeof i!=="string")throw this.positionedError(n,"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,n),this.renderTransition(e,n,s,t);continue}if(i==="ref"){this.noteVocabulary("render-channel",i,n),this.renderRef(e,n,s,t,o);continue}if(i.startsWith("__bind_")&&i.endsWith("__")){this.noteVocabulary("render-channel",i,n),this.checkUserSpelledBind(n);let M=i.slice(7,-2);this.renderBind(e,n,M,s,t,o);continue}if(i==="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",t);if(i==="class"||i==="className"){let M=(L,A)=>{if(this.ts&&L!==null)this.intrinsics.push({start:L[0],end:L[1],kind:"attr",name:"class",gen:A})};if(r.pendingClassArgs!==null&&r.pendingClassEl===e){this.checkSetupLocalRefs(s,n);let L=this.stores.idOf(n),A=L!==null?this.stores.selfSpan(L):null;if(this.ts&&A!==null)(r.pendingClassKeys??=[]).push([A[0],A[0]+i.length]);r.pendingClassArgs.push(()=>o(this.renderExpr(s)))}else if(this.renderReactive(s)){let L=r.svgDepth>0,A=this.tsElReceiver(e);this.renderEffect(n,()=>{let P=this.runtimeName("__clsx");if(A.emit(),L){let v=this.b.offset+1;this.b.emit(".setAttribute('"),M(this.emitKeyAs(i,"class"),v),this.b.emit(`', ${P}(`)}else this.b.emit("."),this.emitPropertyRoadKey(()=>this.emitKeyAs(i,"className")),this.b.emit(` = ${P}(`);o(this.renderExpr(s)),this.b.emit(L?"));":");")},s)}else{let L=r.svgDepth>0,A=y(s),P=this.tsElReceiver(e);this.renderLine(n,()=>{let v=this.b.offset;if(P.emit(),L){let H=this.b.offset+1;this.b.emit(".setAttribute('"),M(this.emitKeyAs(i,"class"),H),this.b.emit("', ")}else{if(this.b.emit("."),this.emitPropertyRoadKey(()=>this.emitKeyAs(i,"className")),!A)o([v,this.b.offset]);this.b.emit(" = ")}if(A)this.b.emit(`${this.runtimeName("__clsx")}(`);let V=this.renderExpr(s);if(L||A)o(V);if(A)this.b.emit(")");if(L)this.b.emit(")")})}continue}if((i==="value"||i==="checked")&&this.renderReactive(s)){let M=this.tsElReceiver(e);this.renderEffect(n,()=>{let L=this.b.offset;if(M.emit(),this.b.emit("."),this.emitPropertyRoadKey(()=>this.emitPrimitive(i)),o([L,this.b.offset]),this.b.emit(" = "),this.renderExpr(s),i==="value"&&!E.isStringLiteral(s))this.b.emit(" ?? ''");this.b.emit(";")},s);continue}if(i==="innerHTML"||i==="textContent"||i==="innerText"){let M=this.tsElReceiver(e),L=()=>{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(s)};if(this.renderReactive(s))this.renderEffect(n,()=>{L(),this.b.emit(";")},s);else this.renderLine(n,L);continue}if(E.BOOLEAN_ATTRS.has(i)){let M=this.tsElReceiver(e),L=()=>{let A=c(()=>this.emitKeyAs(h,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(s))this.renderEffect(n,()=>{if(M.emit(),this.b.emit(".toggleAttribute('"),L(),this.b.emit("', !!"),this.ts)this.b.tsOnly(()=>this.b.emit("("));f(()=>this.renderExpr(s));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(");")},s);else this.renderLine(n,()=>{this.b.emit("if ("),f(()=>this.withExpression(()=>this.expr(s)));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('"),L(),this.b.emit("', '')")});continue}if(i==="style"){let M=this.tsElReceiver(e),L=()=>{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(h,i),this.b.emit("'] | undefined");else this.b.emit(": any")});this.b.emit(" = "),this.renderExpr(s),this.b.emit(`; ${this.runtimeName("__style")}(`),M.emit(),this.b.emit(", __v); }")};if(this.renderReactive(s))this.renderEffect(n,L,s);else this.renderLine(n,L,!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(s);if(u)this._needsRouteHelper=!0;let d=this.tsElReceiver(e),p=!(typeof s==="string"&&(!be(s)||s==="true"||s==="false")||y(s)&&s[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(!ci(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(h,i));if(m===null)m=M;S()},k=()=>f(()=>this.renderExpr(s)),j=()=>{if(!this.ts)return;this.b.tsOnly(()=>this.b.emit(d.surfaced?`: ${d.valsName}['${i}'] | undefined`:": any"))};if(this.renderReactive(s))if(p)this.renderEffect(n,()=>{this.b.emit("{ const __v"),o([this.b.offset-3,this.b.offset]),j(),this.b.emit(" = "),k(),this.b.emit("; __v == null ? "),d.emit(),this.b.emit(".removeAttribute('"),R(),this.b.emit("') : "),d.emit(),w(),R(),this.b.emit("', __v); }")},s);else this.renderEffect(n,()=>{d.emit(),w();let M=this.b.offset;R();let L=this.b.offset;if(this.b.emit("', "),u)this.b.tsOnly(()=>this.b.emit("__ripRoute("));let A=this.b.offset;o(k());let P=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,L],value:[A,P]})},s);else if(p)this.renderLine(n,()=>{this.b.emit("{ const __v"),o([this.b.offset-3,this.b.offset]),j(),this.b.emit(" = "),k(),this.b.emit("; if (__v != null) "),d.emit(),w(),R(),this.b.emit("', __v); }")},!1);else this.renderLine(n,()=>{d.emit(),w();let M=this.b.offset;R();let L=this.b.offset;if(this.b.emit("', "),u)this.b.tsOnly(()=>this.b.emit("__ripRoute("));let A=this.b.offset;o(k());let P=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,L],value:[A,P]})})}}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 n=this.loopVarNames(),i=(s)=>r.sink.locals.has(s)||n.has(s);for(let s=r.sink.parent;s!==null;s=s.parent){if(s.locals.size===0)continue;let a=new Set([...s.locals].filter((o)=>!i(o)));if(a.size>0&&Re(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,n]=e,i=this.rstate.sink,s=this.firstAwaitIn(n);if(s!==null)throw this.renderSyncError(s);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(n,e),this.renderLine(e,()=>{this.mark(e,"target",()=>this.b.emit(r)),this.b.emit(` ${t} `),this.mark(e,"value",()=>this.withExpression(()=>this.expr(n)))}),null}closeRenderScope(e){for(let[t,r]of e.localDecls){let n=0,i=(s)=>{if(typeof s==="string"){if(s===t)n++;return}if(!y(s))return;if(sa.has(s[0])&&s.length===3&&s[1]===t){i(s[2]);return}if((s[0]===":"||s[0]==="void-pair")&&s.length===3&&typeof s[1]==="string"){i(s[2]);return}if((s[0]==="."||s[0]==="?.")&&s.length===3&&typeof s[2]==="string"){i(s[1]);return}for(let a of s)i(a)};for(let s of e.stmts)i(s);if(n===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,n=null){let i=this.rstate,s=i.sink,a=this.newBlockName(),o=n!==null?[n.itemVar,n.indexVar]:[],l=new Set(o),c=new Set;E.collectLeafNames(e,c);let f=new Set(s.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=s.loopStack.map((S)=>({...S,itemVar:h(S.itemVar),indexVar:h(S.indexVar)})),d=u.flatMap((S)=>[S.itemVar,S.indexVar]),p=n!==null?[...u,n]:u,m={kind:t,name:a,parent:s,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:[...s.narrowed??[],...this._narrowNext??[]]};if(this._narrowNext=null,n!==null)n.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(g1(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=s,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((n,i)=>{if(i>0)this.b.emit(" ");this.b.emit(e==="statement"?"__ripNarrow(":"(__ripNarrow("),this.renderExpr(n),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,n]=e,i=e.length===4?e[3]:null;this.checkSetupLocalRefs(r,t),this.checkCrossScopeLocals(r,t);let s=this.newRenderVar("anchor");this.renderLine(null,()=>this.b.emit(`${s} = document.createComment('if')`)),this._narrowNext=this.narrowConjuncts(r);let a=this.walkFactory(n,"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,s,a,l,c,h)}),s}renderSwitch(e){let[,t,r,n]=e;if(E.hasMatchArms(r))this.checkMatchSwitch(e);let i=n;for(let s=r.length-1;s>=0;s--){let[,a,o]=r[s],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,n,i,s]=e;if(n!==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(s,w);let R=(k,j)=>{if(typeof k==="string")return k===j;return y(k)&&k.some((M)=>R(M,j))};for(let k of["i","j","k","l","m","n"])if(!w.has(k)&&!R(s,k)){o=k;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(s,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(s,"loop",e,{itemVar:a,indexVar:o,reactiveSource:c,iter:r,node:e})}finally{this.primitiveAvoid=p}if(f!==null){if(m.locals.size>0&&Re(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(!Re(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 n=(g1(e)?e.slice(1):[e]).find((s)=>!this.isRenderBinding(s));if(!y(n))return null;let i=(s)=>{for(let a=1;athis.b.emit(e.join(", ")))}emitCondSetup(e,t,r,n,i,s,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=(k)=>{this.b.emit(`${f} ${d} = ${l}.${k.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(`); @@ -232,7 +234,7 @@ ${O} ${l} = ${o}._mountSetup(document.createComment('rip:child-error: ${t}')); `),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 n=" ".repeat(t+1),i=n+" ",s=i+" ",a=s+" ",{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((L)=>E.mintName(`__${L}`,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((L)=>{if(L.node!==void 0)w.set(L.itemVar,L.node),w.set(L.indexVar,L.node)}),this.ts){for(let L of e.loopStack){let A=this.tsLoopItemTypeText(L,e.self);if(A!==null)S.set(L.itemVar,A);S.set(L.indexVar,"number")}for(let L of e.hostParams)S.set(L,"any")}let R=new Map;for(let L of e.loopStack){let A=L.node?this.stores.idOf(L.node):null,P=A!==null?this.stores.role(A,"vars"):null;if(P?.sourceStart==null)continue;for(let v of[L.itemVar,L.indexVar]){if(typeof v!=="string"||R.has(v))continue;let V=this.stores.primitiveSpans(v,P.sourceStart,P.sourceEnd)[0]??null;if(V)R.set(v,{id:A,start:V.sourceStart,end:V.sourceEnd,owner:L.owner,which:v===L.itemVar?"item":"index"})}}let k=(L,A,P)=>{L.forEach((v,V)=>{if(V>0)this.b.emit(", ");let W=()=>{let T=R.get(v);if(T){let F=this.b.offset;if(this.b.markSpan(T.id,"identifier",T.start,T.end,()=>this.b.emit(v)),this.isRenderLoopName(v))this.loopVars.push([F,this.b.offset]);if(T.owner!==void 0)this.loopVarDecls.push({span:[F,this.b.offset],owner:T.owner,which:T.which})}else this.emitPrimitive(v);if(!this.ts)return;let N=V===0?A:P(v,V);if(N!=null)this.b.tsOnly(()=>this.b.echo(()=>this.b.emit(`: ${N}`)))},G=w.get(v);if(G!==void 0)this.mark(G,"$self",W);else W()})},j=e.kind==="loop"?e.loopStack.at(-1):null,M=j!==null?this.tsIterThunkName(j):null;if(M!==null){let L=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 P=[`${o}: this`,...L.map((v)=>S.has(v)?`${v}: ${S.get(v)}`:v)];this.b.tsOnly(()=>this.b.echo(()=>this.b.emit(`${n}${M}(${P.join(", ")}) { return ${A}; } +`)})}emitFactory(e,t,r){let n=" ".repeat(t+1),i=n+" ",s=i+" ",a=s+" ",{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((L)=>E.mintName(`__${L}`,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((L)=>{if(L.node!==void 0)w.set(L.itemVar,L.node),w.set(L.indexVar,L.node)}),this.ts){for(let L of e.loopStack){let A=this.tsLoopItemTypeText(L,e.self);if(A!==null)S.set(L.itemVar,A);S.set(L.indexVar,"number")}for(let L of e.hostParams)S.set(L,"any")}let R=new Map;for(let L of e.loopStack){let A=L.node?this.stores.idOf(L.node):null,P=A!==null?this.stores.role(A,"vars"):null;if(P?.sourceStart==null)continue;for(let v of[L.itemVar,L.indexVar]){if(typeof v!=="string"||R.has(v))continue;let V=this.stores.primitiveSpans(v,P.sourceStart,P.sourceEnd)[0]??null;if(V)R.set(v,{id:A,start:V.sourceStart,end:V.sourceEnd,owner:L.owner,which:v===L.itemVar?"item":"index"})}}let k=(L,A,P)=>{L.forEach((v,V)=>{if(V>0)this.b.emit(", ");let H=()=>{let T=R.get(v);if(T){let F=this.b.offset;if(this.b.markSpan(T.id,"identifier",T.start,T.end,()=>this.b.emit(v)),this.isRenderLoopName(v))this.loopVars.push([F,this.b.offset]);if(T.owner!==void 0)this.loopVarDecls.push({span:[F,this.b.offset],owner:T.owner,which:T.which})}else this.emitPrimitive(v);if(!this.ts)return;let N=V===0?A:P(v,V);if(N!=null)this.b.tsOnly(()=>this.b.echo(()=>this.b.emit(`: ${N}`)))},G=w.get(v);if(G!==void 0)this.mark(G,"$self",H);else H()})},j=e.kind==="loop"?e.loopStack.at(-1):null,M=j!==null?this.tsIterThunkName(j):null;if(M!==null){let L=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 P=[`${o}: this`,...L.map((v)=>S.has(v)?`${v}: ${S.get(v)}`:v)];this.b.tsOnly(()=>this.b.echo(()=>this.b.emit(`${n}${M}(${P.join(", ")}) { return ${A}; } `)))}this.mark(r,"$self",()=>{this.withRecordContext(e,()=>{if(this.b.emit(`${n}${e.name}(`),k(f,"this",(P)=>S.get(P)),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((P,v)=>{if(v>0)this.b.emit(", ");this.b.emit(P),this.tsScaffoldAny()}),this.b.emit(`; @@ -246,7 +248,7 @@ ${O} ${l} = ${o}._mountSetup(document.createComment('rip:child-error: ${t}')); `),this.b.emit(`${s}m(target`),this.tsScaffoldAny(),this.b.emit(", anchor"),this.tsScaffoldAny(),this.b.emit(`) { `),L!==void 0)for(let P of L)this.b.emit(`${a}if (target) target.insertBefore(${P}, anchor); `);else this.b.emit(`${a}if (target) target.insertBefore(${e.root}, anchor); -`);for(let P of e.refs)this.b.emit(a),this.mark(P.node,"$self",()=>{let v=this.ts&&typeof P.tag==="string";if(v)this.b.tsOnly(()=>this.b.emit(`${P.svg?"__ripRefCellSvg":"__ripRefCell"}('${P.tag}', `));let V=this.b.offset;this.b.emit(`${o}.`);let W=this.emitPrimitive(P.name);if(W!==null)this.memberDecls.push({start:W[0],end:W[1]});if(v)P.site([V,this.b.offset]);if(v)this.b.tsOnly(()=>this.b.emit(")"));if(this.b.emit(`.value = ${P.elVar}`),v)this.b.tsOnly(()=>this.b.emit(` as ${De(P.tag,P.svg)} | null`));this.b.emit(";")}),this.b.emit(` +`);for(let P of e.refs)this.b.emit(a),this.mark(P.node,"$self",()=>{let v=this.ts&&typeof P.tag==="string";if(v)this.b.tsOnly(()=>this.b.emit(`${P.svg?"__ripRefCellSvg":"__ripRefCell"}('${P.tag}', `));let V=this.b.offset;this.b.emit(`${o}.`);let H=this.emitPrimitive(P.name);if(H!==null)this.memberDecls.push({start:H[0],end:H[1]});if(v)P.site([V,this.b.offset]);if(v)this.b.tsOnly(()=>this.b.emit(")"));if(this.b.emit(`.value = ${P.elVar}`),v)this.b.tsOnly(()=>this.b.emit(` as ${De(P.tag,P.svg)} | null`));this.b.emit(";")}),this.b.emit(` `);if(this.b.emit(`${s}}, `),this.b.emit(`${s}p(`),g)k(d,b,(P,v)=>`typeof ${e.paramNames[v-1]}`);if(this.b.emit(`) { `),g&&e.paramNames.length>0)this.b.emit(a),this.b.echo(()=>this.b.emit(e.paramNames.map((P,v)=>`${P} = ${d[v+1]};`).join(" "))),this.b.emit(` @@ -293,19 +295,19 @@ ${" ".repeat(t)}`);i.forEach((h,u)=>{this.b.emit(`${h} = `),c(),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,n]=e;if(n)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,n]=e,i=t[0]==="!",s=i?t.slice(1):t;this.mark(e,"$self",()=>{if(i)this.b.emit("!(");if(s==="instanceof"){if(this.operand(e,"left",r),this.b.emit(" instanceof "),this.operand(e,"right",n),i)this.b.emit(")");return}if(s==="of"||s==="in"&&O1(n))this.operand(e,"left",r),this.b.emit(" in "),this.operand(e,"right",n);else if(y(n))this.b.emit(E.MEMBER_IN+"("),this.mark(e,"left",()=>this.expr(r)),this.b.emit(", "),this.mark(e,"right",()=>this.expr(n)),this.b.emit(")");else this.b.emit("Array.isArray("),this.expr(n),this.b.emit(") || typeof "),this.expr(n),this.b.emit(" === 'string' ? "),this.expr(n),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(n)),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],n=E.ternaryHoists(r),i=(a,o,l)=>{this.grouped(a,o,l,E.needsGrouping(l,"operand")||U1(l))},s=(a)=>this.grouped(a,"condition",a[1],y(a[1])&&a[1][0]==="?:");this.mark(e,"$self",()=>{if(n)this.expr(r[2][1]),this.b.emit(" = (");s(r),this.b.emit(" ? "),i(r,"then",n?r[2][2]:r[2]);for(let a=t.length-2;a>=0;a--)this.b.emit(" : ("),s(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)),n)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((n,i)=>{if(i>0)this.b.emit(", ");this.callArg(n)}),this.b.emit(")")})});return}let t=e[0][1],r=xe(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((n,i)=>{if(i>0)this.b.emit(", ");this.callArg(n)}),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],n=typeof r==="string"?r:r[0];if(n==="return"&&this.scopes.length<=1)throw this.positionedError(r,"emitter: 'return' outside a function");if((n==="break"||n==="continue")&&this.ctrlDepth===0)throw this.positionedError(e,`emitter: '${n}' outside a loop${n==="break"?" or switch":""}`);let i=e[0],s=()=>{let a=()=>{if(t!==null)this.mark(t,"$self",()=>{this.mark(t,"target",()=>this.b.emit(t[1])),this.b.emit(" "),this.mark(t,"operator",()=>this.b.emit("=")),this.b.emit(" "),this.mark(t,"value",()=>this.expr(e[1]))});else this.mark(e,"left",()=>this.expr(e[1]))},o=t!==null||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 ("),s(),this.b.emit(") ");let a=()=>{if(this.b.emit(n),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 n=t[1];if(!this.repeatSafeValue(n))n=this.loopTempName("_ref"),this.temps.used.add(n),this.b.emit(`const ${n} = `),this.expr(t[1]),this.b.emit(`; ${" ".repeat(r)}`);let i;if(t[0]==="[]"){let s=t[2];if(!this.repeatSafeValue(s)){let a=this.loopTempName("_key");this.temps.used.add(a),this.b.emit(`const ${a} = `),this.expr(s),this.b.emit(`; ${" ".repeat(r)}`),s=a}i=["[]",n,s]}else i=[".",n,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,[,n,i]=t,[s,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",n),this.b.emit(".splice("),this.mark(t,"key",()=>{if(a===null)this.b.emit("0");else f(a);if(this.b.emit(", "),o===null)this.b.emit("Infinity");else if(l(o)!==null&&(a===null||l(a)!==null))this.b.emit(String(l(o)-(a===null?0:l(a))+(s===".."?1:0)));else{if(f(o),a!==null)this.b.emit(" - "),f(a);if(s==="..")this.b.emit(" + 1")}})})),this.mark(e,"operator",()=>{});let h=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,n]=e,i=n;while(y(i)){let l=E.chainHeadSlot(i);if(l===null)break;i=i[l]}let s=y(i)?this.stores.idOf(i):null,a=s!==null?this.stores.node(s)?.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(n))),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,n)=>{if(n>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,n){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(")) && _["),n===null)this.b.emit("0");else this.mark(e,"capture",()=>this.expr(n));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,n){let i=e[1];if(this.checkExportedConstWrite(e,i),y(i)&&(i[0]==="."||i[0]==="[]")&&i.length===3){let s=this.refPlans.get(e)??{recv:null,obj:null,key:null};if(s.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(s.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=s.obj!==null||s.key!==null;if(a)this.b.emit("(");if(s.obj!==null)this.b.emit(`${s.obj} = `),this.mark(i,"object",()=>this.withExpression(()=>this.expr(i[1]))),this.b.emit(", ");if(s.key!==null)this.b.emit(`${s.key} = `),this.mark(i,"key",()=>this.withExpression(()=>this.expr(i[2]))),this.b.emit(", ");let o=this.stores.alias([i[0],s.obj??i[1],s.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(n)}),a)this.b.emit(")")});return}this.mark(e,"$self",()=>{let s=()=>this.mark(e,"target",()=>this.withTarget(()=>this.expr(e[1])));s(),this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("=")),this.b.emit(" "),this.mark(e,"operator",()=>{this.b.emit(t),s(),this.b.emit(r),this.operand(e,"value",e[2]),this.b.emit(n)})})}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],n=r.map((s)=>{let a=E.paramCore(s);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(s,"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--;n.slice(0,i).forEach((s,a)=>{if(a>0)this.b.emit(", ");s()})}this.b.emit(")")})}dammit(e){if(this.renderSyncGuard(e),xe(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"||xe(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,n)=>{if(n>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 ua=(e)=>{if(!y(e))return!1;if(e[0]==="schema"&&e.length===2&&typeof e[1]==="object")return!0;return e.some(ua)},da=(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(da)},ma=(e,t)=>{if(!y(e))return!1;if(t(e))return!0;return e.some((r)=>ma(r,t))},pa=(e,t)=>{if(!y(e))return!1;if(t(e))return!0;return e.some((r)=>pa(r,t))},ga=(e)=>{if(!y(e))return!1;if(e[0]==="object"&&E.objectComprehension(e)!==null)return!0;return e.some(ga)},ba=(e)=>{if(!y(e))return!1;if(E.isMatchWrite(e))return!0;return e.some(ba)},pt=[{key:"intrinsics",names:["__toPropertyKey","__defineOwnDataProperty"],generatedNames:["__toPropertyKey","__defineOwnDataProperty"],url:new URL("./runtime/intrinsics.js",import.meta.url),triggers:(e,t)=>ga(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)=>ua(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)=>da(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)=>ma(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)=>ba(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:Is,__style:xs},url:new URL("./runtime/components.js",import.meta.url),requires:"reactive",triggers:(e,t)=>pa(e,t.isComponent)}],Ci=new Map,fa=(e)=>{if(!Ci.has(e.key)){let r=As(e.url,"utf8").replace(/^export \{[^}]*\};\s*$/gm,"").replace(/^import \{[^}]*\} from '\.\/[a-z-]+\.js';\s*$/gm,"").trimEnd(),n=/^[ \t]*(import|export)\b.*$/m.exec(r);if(n)throw Error(`emitter: runtime '${e.key}' carries a top-level ${n[1]} that inline delivery cannot strip — `+`${JSON.stringify(n[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'.`);Ci.set(e.key,r)}return Ci.get(e.key)},Pi=(e)=>e.requires==null?[]:Array.isArray(e.requires)?e.requires:[e.requires],Re=(e,t,r=()=>!1)=>{if(t.size===0)return!1;let n=(o)=>typeof o==="string"&&t.has(o),i=(o)=>y(o)&&o.some(s),s=(o)=>{if(!y(o))return!1;let[l]=o;if(l==="object"||l==="array")return o.slice(1).some(s);if(l===null&&o.length===3)return!1;if(l===":"&&o.length===3)return y(o[1])&&a(o[1])||s(o[2]);if(l==="="&&o.length===3)return s(o[1])||a(o[2]);if((l==="rest"||l==="..."||l==="expansion")&&o.length===2)return s(o[1]);if(l==="typed-var"&&o.length===3)return s(o[1]);return a(o)},a=(o)=>{if(n(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])&&s(o[1])||a(o[2]);if(l==="for-in"||l==="for-of"||l==="for-as")return y(o[1])&&o[1].some(s)||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 s(c[0])||a(c[1])});if(l==="class"&&o.length>=2)return o.slice(2).some(a);if(l==="typed-var"&&o.length===3)return 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)},x3=(e,t)=>{let r=[],n=(i,s,a=[])=>{let o=(h)=>E.isReactiveDeclIn(s,h)||E.isEffectDeclIn(s,h)||E.isReadonlyDeclIn(s,h)||E.isGateDeclIn(s,h),l=(h)=>E.isReactiveDeclIn(s,h)||E.isEffectDeclIn(s,h),c=(h)=>E.isComponentDeclIn(s,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)n(["program",...m.stmts],m.stores,p?[]:e.schemaBodyParams(u).map((g)=>g.name))}return}h.forEach(f)};f(i)};return n(t,e.stores),r},C3=(e,t)=>{let r=new Set,n=(s)=>{for(let a of e.patternNames(s,[],!0))r.add(a)},i=(s,a)=>{if(!y(s))return;let[o]=s;if(e.isModuleImport(s)){for(let l of E.importedNames([s]))r.add(l);return}if(T1(s)){if(y(s[1]))for(let l of s[1])n(l);i(s[2],a);return}if(k1(o)&&s.length===4){if(typeof s[1]==="string")r.add(s[1]);if(y(s[2]))for(let l of s[2])n(l);i(s[3],a);return}if(o==="class"){if(typeof s[1]==="string")r.add(s[1]);for(let l of s.slice(2)){let c=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])n(h);i(f[3],a)}else i(f,a)}return}if(o==="enum"){if(typeof s[1]==="string")r.add(s[1]);for(let l of s.slice(2))i(l,a);return}if(a(s)){if(typeof s[1]==="string")r.add(s[1]);else if(y(s[1]))n(s[1]);i(s[2],a);return}if((F1.has(o)||o==="void-assign")&&s.length>=2){if(typeof s[1]==="string")r.add(s[1]);else if(E.isPattern(s[1]))n(s[1])}if((o==="for-in"||o==="for-of"||o==="for-as")&&y(s[1]))for(let l of s[1])n(l);if(o==="try"){for(let l of s.slice(2))if(y(l)&&l.length===2&&E.isPattern(l[0]))n(l[0])}for(let l of s)i(l,a)};for(let{tree:s,atoms:a,isDecl:o}of t){i(s,o);for(let l of a)n(l)}return r},P3=(e,t)=>{let r=t.slice(1),n=new Set(e.hoistTargets(r).map(([a])=>a)),i=r.filter((a)=>e.isModuleImport(a));for(let a of E.importedNames(i))n.add(a);for(let a of e.collectReactiveNames(r))n.add(a);for(let a of e.collectEffectHandles(r))n.add(a);for(let a of e.collectReadonlyNames(r))n.add(a);let s=(a)=>{if(!y(a))return;if(a[0]==="enum"&&typeof a[1]==="string")n.add(a[1]);if(a[0]==="class"&&typeof a[1]==="string")n.add(a[1]);if(k1(a[0])&&a.length===4&&typeof a[1]==="string")n.add(a[1]);if((a[0]==="="||a[0]==="void-assign")&&typeof a[1]==="string")n.add(a[1])};for(let a of r)if(s(a),y(a)&&a[0]==="export"&&y(a[1]))s(a[1]);return n},ha=new Set(["plain","state","computed","effect","readonly","import","class","def","enum"]),L3=(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"||!be(r.name))throw Error(`emitter: ambientBindings entries are {name, kind} with an identifier name; got ${JSON.stringify(r)}`);if(!ha.has(r.kind))throw Error(`emitter: ambientBindings kind '${r.kind}' for '${r.name}' is not a binding kind — expected one of ${[...ha].join(", ")}`);if(t.has(r.name))throw Error(`emitter: ambientBindings names '${r.name}' twice — one binding per name`);t.add(r.name)}return e},M3=(e,t,r)=>{let n=t.slice(1),i=new Map,s=(c,f)=>{if(typeof c==="string"&&!i.has(c))i.set(c,f)},a=(c)=>{if(!r.has(c))s(c,"plain")};for(let c of n)if(e.isModuleImport(c))for(let f of E.importedNames([c]))s(f,"import");let o=e.collectComputedNames(n);for(let c of e.collectReactiveNames(n))s(c,o.has(c)?"computed":"state");for(let c of e.collectEffectHandles(n))s(c,"effect");for(let c of e.collectReadonlyNames(n))s(c,"readonly");let l=(c,f)=>{if(!y(c))return;if(c[0]==="enum"&&typeof c[1]==="string")s(c[1],"enum");if(c[0]==="class"&&typeof c[1]==="string")s(c[1],"class");if(k1(c[0])&&c.length===4&&typeof c[1]==="string")s(c[1],"def");if((c[0]==="="||c[0]==="void-assign")&&typeof c[1]==="string")if(f)s(c[1],"plain");else a(c[1])};for(let c of n)if(l(c,!1),y(c)&&c[0]==="export"&&y(c[1]))l(c[1],!0);for(let[c,,f]of e.hoistTargets(n))if(f==="target")a(c);return[...i].map(([c,f])=>({name:c,kind:f}))},Mi={field:"field",computed:"computed",derived:"derived",method:"method"};function j3(e,t,r,n){let i=[],s=(l)=>l.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");for(let l of t.story?.decl?.descriptor?.entries??[]){let c=l.tag==="union-member"?{name:l.name,start:l.start}:l.tag==="directive"&&l.name==="mixin"&&l.argTokens?.[0]?.kind==="IDENTIFIER"?{name:l.argTokens[0].value,start:l.argTokens[0].start}:null;if(c!==null&&typeof c.start==="number"){let h=new RegExp(`(= |\\| |& )(${s(c.name)})(?= \\||;| &)`).exec(r);if(h!==null)i.push({at:h.index+h[1].length,len:c.name.length,start:c.start,end:c.start+c.name.length});continue}if((Mi[l.tag]??null)===null||typeof l.start!=="number")continue;let f=new RegExp(`([{;] )((?:readonly )?)(${s(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 F3(e,t,r,n){let i=t.story?.decl?.descriptor?.entries??null;if(i===null)return;let s=(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(`(= |\\| |& )(${s(o.name)})(?= \\||;| &)`).exec(r);if(l===null)continue;e.intrinsics.push({start:o.start,end:o.start+o.name.length,kind:"schema",label:null,name:o.name,gen:n+l.index+l[1].length})}for(let a of i){let o=Mi[a.tag]??null;if(o===null||typeof a.start!=="number")continue;let l=s(a.name),c=new RegExp(`([{;] )((?:readonly )?)(${l})(\\??: )`).exec(r);if(c===null)continue;let f=n+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 ya(e,{source:t="",runtimeDelivery:r="none",face:n="js",pins:i=null,strict:s=!1,script:a=!1,browserModule:o=!1,dataPayload:l=null,ambientBindings:c=null,repl:f=!1,hmr:h=!1,tolerant:u=!1,modulePath:d=null,appStashSpec:p=null,routesUnion:m=null,routeParams:g=null}={}){if(!e.sexpr)throw Error("emitter: cannot emit a failed parse");if(n!=="js"&&n!=="ts")throw Error(`emitter: unknown face '${n}' — expected 'js' (the shipping emission) or 'ts' (the editor face)`);let b=L3(c),S=new nr(e.stores),w=new Se(S,{source:t,primitives:n==="ts"}),R=new E(S,w,{face:n,pins:i,strict:s,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 T=S.idOf(e.sexpr),N=R.tsNocheck;w.tsOnly(()=>{let F=()=>w.emit("//"+N.text.slice(1));if(T!==null)w.markSpan(T,"tsDirective",N.start,N.end,F);else F();w.emit(` -`)})}let k=x3(R,e.sexpr),j=(T)=>{if(typeof T==="string")R.temps.used.add(T);else if(y(T))for(let N of T)j(N)};for(let{tree:T,atoms:N}of k)j(T),j(N);for(let{name:T}of b)R.temps.used.add(T);let M=C3(R,k);for(let{name:T}of b)M.add(T);let L=[...M];for(let T of pt)for(let N of T.generatedNames??[])R.runtimeAliases.set(N,E.mintName(N,M));let A=P3(R,e.sexpr),P=M3(R,e.sexpr,new Set(b.map(({name:T})=>T)));for(let{name:T}of b)A.add(T);let v=new Set;for(let T of pt){let N=new Set(T.names.filter((F)=>!A.has(F)));if(k.some(({tree:F,isDecl:J,isTrigger:x,isComponent:Q})=>T.triggers?.(F,{isTrigger:x,isComponent:Q})||Re(F,N,J)))v.add(T.key)}for(let T=!0;T;){T=!1;for(let N of pt){if(!v.has(N.key))continue;for(let F of Pi(N))if(!v.has(F))v.add(F),T=!0}}if(r!=="none"){let T=pt.filter((J)=>v.has(J.key)),N=[];if(r==="import")for(let J of T)N.push({runtimes:[J],names:J.names,imp:J.url.pathname});else{let J=new Set(T.flatMap((x)=>Pi(x)));for(let x of T){if(J.has(x.key))continue;let Q=[],U=(q)=>{if(Q.includes(q))return;for(let s1 of Pi(q)){let I=pt.find((c1)=>c1.key===s1);if(I)U(I)}Q.push(q)};if(U(x),Q.length===1){N.push({runtimes:[x],names:x.names,body:fa(x),types:x.types});continue}let r1=Q.some((q)=>q.types)?Object.assign({},...Q.map((q)=>q.types)):void 0;N.push({runtimes:Q,names:Q.flatMap((q)=>q.names),body:Q.map((q)=>fa(q)).join(` -`),types:r1})}}let F=S.idOf(e.sexpr);for(let J of N){let x=new Set(J.runtimes.flatMap((r1)=>r1.generatedNames??[])),Q=J.names.filter((r1)=>x.has(r1)||!A.has(r1)).map((r1)=>({name:r1,local:x.has(r1)?R.runtimeAliases.get(r1):r1}));if(Q.length===0)continue;let U=w.offset;if(J.imp){w.emit(`import { ${Q.map(({name:q,local:s1})=>q===s1?q:`${q} as ${s1}`).join(", ")} } from `);let r1=w.offset;w.emit(JSON.stringify(J.imp)),R.importSpans.push({start:r1,end:w.offset,specifier:JSON.stringify(J.imp)}),w.emit(`; -`)}else{w.emit(`const { ${Q.map(({name:q,local:s1})=>q===s1?q:`${q}: ${s1}`).join(", ")} }`);let r1=n==="ts"&&J.types?`{ ${Q.map(({name:q})=>`${q}: ${J.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(`(() => { +`)})}let k=x3(R,e.sexpr),j=(T)=>{if(typeof T==="string")R.temps.used.add(T);else if(y(T))for(let N of T)j(N)};for(let{tree:T,atoms:N}of k)j(T),j(N);for(let{name:T}of b)R.temps.used.add(T);let M=C3(R,k);for(let{name:T}of b)M.add(T);let L=[...M];for(let T of pt)for(let N of T.generatedNames??[])R.runtimeAliases.set(N,E.mintName(N,M));let A=P3(R,e.sexpr),P=M3(R,e.sexpr,new Set(b.map(({name:T})=>T)));for(let{name:T}of b)A.add(T);let v=new Set;for(let T of pt){let N=new Set(T.names.filter((F)=>!A.has(F)));if(k.some(({tree:F,isDecl:J,isTrigger:x,isComponent:e1})=>T.triggers?.(F,{isTrigger:x,isComponent:e1})||Re(F,N,J)))v.add(T.key)}for(let T=!0;T;){T=!1;for(let N of pt){if(!v.has(N.key))continue;for(let F of Pi(N))if(!v.has(F))v.add(F),T=!0}}if(r!=="none"){let T=pt.filter((J)=>v.has(J.key)),N=[];if(r==="import")for(let J of T)N.push({runtimes:[J],names:J.names,imp:J.url.pathname});else{let J=new Set(T.flatMap((x)=>Pi(x)));for(let x of T){if(J.has(x.key))continue;let e1=[],U=(q)=>{if(e1.includes(q))return;for(let s1 of Pi(q)){let I=pt.find((c1)=>c1.key===s1);if(I)U(I)}e1.push(q)};if(U(x),e1.length===1){N.push({runtimes:[x],names:x.names,body:fa(x),types:x.types});continue}let i1=e1.some((q)=>q.types)?Object.assign({},...e1.map((q)=>q.types)):void 0;N.push({runtimes:e1,names:e1.flatMap((q)=>q.names),body:e1.map((q)=>fa(q)).join(` +`),types:i1})}}let F=S.idOf(e.sexpr);for(let J of N){let x=new Set(J.runtimes.flatMap((i1)=>i1.generatedNames??[])),e1=J.names.filter((i1)=>x.has(i1)||!A.has(i1)).map((i1)=>({name:i1,local:x.has(i1)?R.runtimeAliases.get(i1):i1}));if(e1.length===0)continue;let U=w.offset;if(J.imp){w.emit(`import { ${e1.map(({name:q,local:s1})=>q===s1?q:`${q} as ${s1}`).join(", ")} } from `);let i1=w.offset;w.emit(JSON.stringify(J.imp)),R.importSpans.push({start:i1,end:w.offset,specifier:JSON.stringify(J.imp)}),w.emit(`; +`)}else{w.emit(`const { ${e1.map(({name:q,local:s1})=>q===s1?q:`${q}: ${s1}`).join(", ")} }`);let i1=n==="ts"&&J.types?`{ ${e1.map(({name:q})=>`${q}: ${J.types[q]??"any"}`).join("; ")} }`:null;if(i1!==null&&i1.includes("__RipClassValue"))R._needsClassValue=!0;if(i1!==null&&i1.includes("__RipCSSProperties"))R._needsCssProperties=!0;if(w.emit(" = "),i1)w.tsOnly(()=>w.emit("("));if(w.emit(`(() => { ${J.body} return { ${J.names.join(", ")} }; -})()`),r1)w.tsOnly(()=>w.emit(` as ${r1})`));w.emit(`; +})()`),i1)w.tsOnly(()=>w.emit(` as ${i1})`));w.emit(`; `)}if(F!==null)w.rows.push({nodeId:F,role:"runtime",mappingKind:"synthetic",sourceStart:0,sourceEnd:0,generatedStart:U,generatedEnd:w.offset,fileId:0})}}let V=null;if(n==="ts"){let T=null;try{T=vs(e.sexpr,w.source,E.importedNames(e.sexpr.slice(1).filter((N)=>R.isModuleImport(N))))}catch(N){if(N instanceof Ri){let F=Error(`emitter: ${N.message}`),J=N.node!==null?S.idOf(N.node):null,x=J!==null?S.selfSpan(J):null;if(x)F.start=x[0],F.end=x[1];else if(N.start!==null)F.start=N.start,F.end=N.start;throw F}throw N}if(V=T,T!==null){let N=S.idOf(e.sexpr),F=w.offset;if(w.tsOnly(()=>w.emit(T.intrinsicLines.join(` `)+` -`)),N!==null)w.rows.push({nodeId:N,role:"schemaTypes",mappingKind:"synthetic",sourceStart:0,sourceEnd:0,generatedStart:F,generatedEnd:w.offset,fileId:0});R.schemaStories=new Map;let J=[...T.stories.map((x)=>({node:x.decl.node,exported:x.decl.exported,story:x,lines:x.faceAliasLines??x.aliasLines})),...T.derivations.map((x)=>({node:x.decl.node,exported:x.decl.exported,story:null,lines:x.aliasLines}))];J.forEach((x,Q)=>{if(x.story!==null)R.schemaStories.set(x.node,x.story);let U=x.exported?"export ":"",r1=S.idOf(x.node),q=Q===J.length-1?` +`)),N!==null)w.rows.push({nodeId:N,role:"schemaTypes",mappingKind:"synthetic",sourceStart:0,sourceEnd:0,generatedStart:F,generatedEnd:w.offset,fileId:0});R.schemaStories=new Map;let J=[...T.stories.map((x)=>({node:x.decl.node,exported:x.decl.exported,story:x,lines:x.faceAliasLines??x.aliasLines})),...T.derivations.map((x)=>({node:x.decl.node,exported:x.decl.exported,story:null,lines:x.aliasLines}))];J.forEach((x,e1)=>{if(x.story!==null)R.schemaStories.set(x.node,x.story);let U=x.exported?"export ":"",i1=S.idOf(x.node),q=e1===J.length-1?` `:` `;w.tsOnly(()=>{let s1=()=>{let I=w.offset,c1=x.lines.map((O)=>`${U}${O}`).join(` -`);j3(R,x,c1,r1),F3(R,x,c1,I)};if(r1!==null)w.mark(r1,"$self",s1);else s1();w.emit(q)})})}}if(R.tsDirectivesArmed=!0,b.length>0){let T=new Set,N=new Set,F=new Set,J=new Set;for(let{name:x,kind:Q}of b){if(Q==="state"||Q==="computed")T.add(x);else J.add(x);if(Q==="computed")N.add(x);if(Q==="readonly")F.add(x)}R.rframes.push({reactive:T,computed:N,bound:J,ambientReadonly:F}),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(n==="ts"&&Array.isArray(e.sexpr)){let T=(()=>{for(let N of e.sexpr){if(!Array.isArray(N)||N[0]!=="export"||!Array.isArray(N[1]))continue;let F=N[1];if(F[0]==="="){if(F[1]==="stash")return"stash";continue}if(!F.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 F){if(x==="stash")return"stash";if(Array.isArray(x)&&x[1]==="stash")return x[0]}}return null})();if(T!==null)R.stashKeys=E.stashKeysOf(e.sexpr,T),w.tsOnly(()=>{let N=/^(?:export\s+)?(stash)\s*=/m.exec(w.source??""),F=N!==null?S.idOf(e.sexpr):null;if(w.emit(` +`);j3(R,x,c1,i1),F3(R,x,c1,I)};if(i1!==null)w.mark(i1,"$self",s1);else s1();w.emit(q)})})}}if(R.tsDirectivesArmed=!0,b.length>0){let T=new Set,N=new Set,F=new Set,J=new Set;for(let{name:x,kind:e1}of b){if(e1==="state"||e1==="computed")T.add(x);else J.add(x);if(e1==="computed")N.add(x);if(e1==="readonly")F.add(x)}R.rframes.push({reactive:T,computed:N,bound:J,ambientReadonly:F}),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(n==="ts"&&Array.isArray(e.sexpr)){let T=(()=>{for(let N of e.sexpr){if(!Array.isArray(N)||N[0]!=="export"||!Array.isArray(N[1]))continue;let F=N[1];if(F[0]==="="){if(F[1]==="stash")return"stash";continue}if(!F.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 F){if(x==="stash")return"stash";if(Array.isArray(x)&&x[1]==="stash")return x[0]}}return null})();if(T!==null)R.stashKeys=E.stashKeysOf(e.sexpr,T),w.tsOnly(()=>{let N=/^(?:export\s+)?(stash)\s*=/m.exec(w.source??""),F=N!==null?S.idOf(e.sexpr):null;if(w.emit(` export type __RipStash = typeof `),F!==null)w.markSpan(F,"identifier",N.index+N[0].indexOf("stash"),N.index+N[0].indexOf("stash")+5,()=>w.emit(T));else w.emit(T);w.emit(`; `)})}if(n==="ts"&&R.routesUnion!==null){let T=w.code;if(/\bRoutePath\b/.test(T)&&!/\b(?:type|interface)\s+RoutePath\b/.test(T)&&!/\bimport\b[^;\n]*\bRoutePath\b/.test(T))w.tsOnly(()=>w.emit(` type RoutePath = ${R.routesUnion}; @@ -319,14 +321,14 @@ declare function __ripSourceKey(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 W=[];if(n==="ts"&&y(e.sexpr)&&e.sexpr[0]==="program"){let T=/^[A-Za-z_$][A-Za-z0-9_$]*$/;for(let N of e.sexpr.slice(1)){if(!y(N)||N[0]!=="??="||N.length!==3)continue;let F=N[1];if(!y(F)||F[0]!=="."||F[1]!=="globalThis")continue;if(typeof F[2]!=="string"||!T.test(F[2]))continue;let J=new Set(["null","undefined","true","false","this"]),x=N[2];W.push({name:F[2],anchor:typeof x==="string"&&T.test(x)&&!J.has(x)?x:null})}if(W.length)w.tsOnly(()=>{for(let N of W)if(N.anchor!==null)w.emit(` +`));let H=[];if(n==="ts"&&y(e.sexpr)&&e.sexpr[0]==="program"){let T=/^[A-Za-z_$][A-Za-z0-9_$]*$/;for(let N of e.sexpr.slice(1)){if(!y(N)||N[0]!=="??="||N.length!==3)continue;let F=N[1];if(!y(F)||F[0]!=="."||F[1]!=="globalThis")continue;if(typeof F[2]!=="string"||!T.test(F[2]))continue;let J=new Set(["null","undefined","true","false","this"]),x=N[2];H.push({name:F[2],anchor:typeof x==="string"&&T.test(x)&&!J.has(x)?x:null})}if(H.length)w.tsOnly(()=>{for(let N of H)if(N.anchor!==null)w.emit(` type __ripGlobal_${N.name} = typeof ${N.anchor};`);w.emit(` -declare global {`);for(let N of W)w.emit(` +declare global {`);for(let N of H)w.emit(` var ${N.name}: ${N.anchor===null?"any":`__ripGlobal_${N.name}`};`);w.emit(` } `)})}if(n==="ts"&&!Os(e.sexpr,(T)=>R.isModuleImport(T)))w.tsOnly(()=>w.emit(` export {}; -`));let G=[];for(let{name:T,node:N,path:F,key:J}of R.pinnables){if(J===null)continue;let x=S.idOf(N);if(x===null)continue;let Q=w.rows.find((r1)=>r1.nodeId===x&&r1.role==="$self"),U=w.rows.find((r1)=>r1.nodeId===x&&r1.role==="value");if(!Q||!U)continue;G.push({name:T,key:J,path:F??"",stmtGen:[Q.generatedStart,Q.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:v,bindings:P,bindingNames:L,replResultName:R.replResultName,replImportResolver:R.replImportResolver,tsRegions:w.tsRegions,echoSpans:w.echoSpans,globalDecls:W.map((T)=>T.name),pinnables:G,mutables:R.mutables,classDecls:R.classDecls,pinSpans:R.pinSpans,loopVars:R.loopVars,readLoopVarDecls:R.loopVarDecls.filter((T)=>T.owner.readVars.has(T.which)).map((T)=>T.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,renderPairs:R.renderPairs,kinds:R.kinds}}var Sa="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",l5=new Map([...Sa].map((e,t)=>[e,t])),B3=/^[$_\p{ID_Start}][$\u200C\u200D_\p{ID_Continue}]*$/u;function bt(e){let t=e<0?-e<<1|1:e<<1,r="";do{let n=t&31;if(t>>>=5,t>0)n|=32;r+=Sa[n]}while(t>0);return r}function Ra({code:e,mappings:t},{source:r,file:n="output.js",sourcePath:i="input.rip"}={}){let s=new ge(r,i),a=new ge(e,n),l=(t instanceof ye?t:new ye(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=s.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 k=e.slice(m.generatedStart,m.generatedEnd);if(m.mappingKind==="exact"&&B3.test(k)){let j=f.get(k);if(j===void 0)j=c.length,c.push(k),f.set(k,j);R+=bt(j-p),p=j}S.push({genCol:g.col,seg:R})}return{version:3,file:n,sources:[i],sourcesContent:[r],names:c,mappings:h.map((m)=>m.map((g)=>g.seg).join(",")).join(";")}}var Ea=()=>{throw Error("rip: declaration emission is unavailable in the browser")};class He extends Error{constructor(e,{path:t,start:r=null,end:n=null,line:i=null,col:s=null}={}){super(e);this.name="CompileError",this.path=t,this.start=r,this.end=n,this.line=i,this.col=s}}var U3=(e,t)=>{let{line:r,col:n}=e.lineColAt(t),i=e.lineStarts[r],s=r+1c==="\t"?"\t":" ").join("");return` ${o} | ${a} +`));let G=[];for(let{name:T,node:N,path:F,key:J}of R.pinnables){if(J===null)continue;let x=S.idOf(N);if(x===null)continue;let e1=w.rows.find((i1)=>i1.nodeId===x&&i1.role==="$self"),U=w.rows.find((i1)=>i1.nodeId===x&&i1.role==="value");if(!e1||!U)continue;G.push({name:T,key:J,path:F??"",stmtGen:[e1.generatedStart,e1.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:v,bindings:P,bindingNames:L,replResultName:R.replResultName,replImportResolver:R.replImportResolver,tsRegions:w.tsRegions,echoSpans:w.echoSpans,globalDecls:H.map((T)=>T.name),pinnables:G,mutables:R.mutables,classDecls:R.classDecls,pinSpans:R.pinSpans,loopVars:R.loopVars,readLoopVarDecls:R.loopVarDecls.filter((T)=>T.owner.readVars.has(T.which)).map((T)=>T.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,renderPairs:R.renderPairs,kinds:R.kinds}}var Sa="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",l5=new Map([...Sa].map((e,t)=>[e,t])),B3=/^[$_\p{ID_Start}][$\u200C\u200D_\p{ID_Continue}]*$/u;function bt(e){let t=e<0?-e<<1|1:e<<1,r="";do{let n=t&31;if(t>>>=5,t>0)n|=32;r+=Sa[n]}while(t>0);return r}function Ra({code:e,mappings:t},{source:r,file:n="output.js",sourcePath:i="input.rip"}={}){let s=new ge(r,i),a=new ge(e,n),l=(t instanceof ye?t:new ye(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=s.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 k=e.slice(m.generatedStart,m.generatedEnd);if(m.mappingKind==="exact"&&B3.test(k)){let j=f.get(k);if(j===void 0)j=c.length,c.push(k),f.set(k,j);R+=bt(j-p),p=j}S.push({genCol:g.col,seg:R})}return{version:3,file:n,sources:[i],sourcesContent:[r],names:c,mappings:h.map((m)=>m.map((g)=>g.seg).join(",")).join(";")}}var Ea=()=>{throw Error("rip: declaration emission is unavailable in the browser")};class He extends Error{constructor(e,{path:t,start:r=null,end:n=null,line:i=null,col:s=null}={}){super(e);this.name="CompileError",this.path=t,this.start=r,this.end=n,this.line=i,this.col=s}}var U3=(e,t)=>{let{line:r,col:n}=e.lineColAt(t),i=e.lineStarts[r],s=r+1c==="\t"?"\t":" ").join("");return` ${o} | ${a} ${" ".repeat(o.length)} | ${l}^`},ji=(e,t,r,n,i)=>{let{line:s,col:a}=e.lineColAt(n),o=`${t}:${s+1}:${a+1}: ${r} ${U3(e,n)}`;return new He(o,{path:t,start:n,end:i,line:s+1,col:a+1})},V3=(e,t)=>{let r=e.text,n=r.slice(0,t.start),i=r.slice(t.start),s=n.slice(n.lastIndexOf(` @@ -341,7 +343,7 @@ ${U3(e,n)}`;return new He(o,{path:t,start:n,end:i,line:s+1,col:a+1})},V3=(e,t)=> `+c+"]"}if(o==="object"){let l=Object.getPrototypeOf(s);if(l!==Object.prototype&&l!==null)return null;let c=Object.keys(s);if(c.length===0)return"{}";let f=" ".repeat(a+1),h=" ".repeat(a),u=c.map((d)=>{let p=i(s[d],a+1);return p===null?null:n(d)+": "+p});if(u.some((d)=>d===null))return null;return`{ `+f+u.join(` `+f)+` -`+h+"}"}return null};return(s)=>{let a=i(s,0);if(a!==null)console.log(a);else console.dir(s,{depth:null,colors:!0});return s}})(),Da=(e,t)=>{throw t!==void 0?new e(t):Error(e)},xa=(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(),Ca=(e)=>new Promise((t)=>setTimeout(t,e)),Pa=(e)=>{throw Error(e||"Not implemented")},La=(...e)=>console.warn(...e),Ma=(...e)=>e[0].map((t,r)=>e.map((n)=>n[r])),ja=(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 br={};Fe(br,{SchemaDef:()=>Et,SchemaError:()=>I1,SchemaRegistry:()=>te,__schema:()=>e4,installPersistence:()=>q3,registerCoercer:()=>J3});var Wa=Symbol.for("rip.runtime.schema");if(globalThis[Wa])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[Wa]=!0;var ke=null;function q3(e){if(ke&&ke!==e)throw Error("the Rip schema persistence runtime is already installed — two different copies met in one process");ke=e}class I1 extends Error{constructor(e,t,r){super(X3(e,t));this.name="SchemaError",this.issues=e,this.schemaName=t||null,this.schemaKind=r||null}}function X3(e,t){if(!e||!e.length)return"SchemaError";return(t?t+": ":"")+e.map((n)=>n.message||n.error||"invalid").join("; ")}var Ha={__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},gr={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],n=+t[3],i=new Date(Date.UTC(+t[1],r,0)).getUTCDate();if(r<1||r>12||n<1||n>i)return{ok:!1};let s=new Date(e);if(!Number.isNaN(s.getTime()))return{ok:!0,value:s}}return{ok:!1}}};gr.datetime=gr.date;function dr(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 Bi=new Map;function J3(e,t,r){if(typeof e!=="string"||typeof t!=="function")throw Error("registerCoercer(name, fn, opts?): name string and fn required");let n=Object.prototype.toString.call(t);if(n==="[object AsyncFunction]"||n==="[object GeneratorFunction]"||n==="[object AsyncGeneratorFunction]")throw Error("registerCoercer: coercer '~:"+e+"' must be a plain synchronous function");let i=r?.raw===!0,s=Bi.get(e);if(s){if(s.raw===i&&String(s.fn)===String(t))return t;throw Error("registerCoercer: coercer '~:"+e+"' is already registered")}return Bi.set(e,{fn:t,raw:i}),t}function St(e){if(Ha[e])return null;let t=te.get(e);return t&&(t.kind==="shape"||t.kind==="input"||t.kind==="model"||t.kind==="union")?t:null}function Ui(e,t,r){let n=Ha[t];if(n)return n(e)?{value:e}:{errors:[{field:"",error:"type",message:"must be "+t}]};let i=te.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 s=r?.existing?i._runExistingSync(e,{...r,materialize:!1,materializeNested:!1}):i._runSync(e,{...r,materialize:!1,materializeNested:!1});if(s.thrown){if(r?.derived==="throw")throw s.thrown;return{errors:[{field:"",error:"derived",message:s.thrown?.message||String(s.thrown)}]}}return s.ok?{value:s.value}:{errors:s.errors}}async function Fa(e,t,r){let n=St(t);if(n===null)return Ui(e,t,r);if(n.kind==="union"){let s=n._unionResolve(e);if(s.issue)return{errors:[s.issue]};let a=r?.existing?await s.def._runExistingAsync(e,{...r,materialize:!1,materializeNested:!1}):await s.def._runAsync(e,{...r,materialize:!1,materializeNested:!1});if(a.thrown){if(r?.derived==="throw")throw a.thrown;return{errors:[{field:"",error:"derived",message:a.thrown?.message||String(a.thrown)}]}}return a.ok?{value:a.value}:{errors:a.errors}}if(e===null||typeof e!=="object"||Array.isArray(e))return{errors:[{field:"",error:"type",message:"must be a "+t+" object"}]};let i=r?.existing?await n._runExistingAsync(e,{...r,materialize:!1,materializeNested:!1}):await n._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 mr(e,t,r){if(!t)return e+" "+r;if(r.startsWith(t))return e+r.slice(t.length);return e+": "+r}var pr=Symbol("schema.materialization-error");function Ba(e,t){if(e&&e[pr])return{[pr]:!0,error:e.error,field:Rt(t,e.field)};return{[pr]:!0,error:e,field:t}}function Ge(e){return e&&e[pr]?{thrown:e.error,derivedField:e.field}:{thrown:e,derivedField:""}}var Z3=tt;function Ua(e){let t=(n)=>JSON.stringify(n??null,(i,s)=>s instanceof RegExp?String(s):typeof s==="function"?"":s),r=[e.kind];for(let n of e._desc.entries||[])switch(n.tag){case"field":r.push("f:"+n.name+":"+(n.typeName||"")+(n.array?"[]":"")+":"+(n.modifiers||[]).join("")+(n.literals?":"+n.literals.join(","):"")+":"+t(n.constraints)+(n.coerce?":~"+(n.coercer||""):"")+(n.transform?":t":""));break;case"enum-member":r.push("e:"+n.name+"="+String(n.value));break;case"directive":r.push("d:"+n.name+":"+t(n.args));break;case"ensure":r.push("n:"+(n.message||""));break;default:r.push(n.tag+":"+(n.name||""))}return r.join("|")}var Ee=0,te={_entries:new Map,replace:!1,register(e){if(!e.name)return;Ee++;let t=this._entries.get(e.name);if(t&&t.def!==e&&!this.replace){if(Ua(t.def)!==Ua(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(),Ee++},scope(e){let t=this._entries;this._entries=new Map,Ee++;let r=()=>{this._entries=t,Ee++};try{let n=e();if(n&&typeof n.then==="function")return n.finally(r);return r(),n}catch(n){throw r(),n}}};class Et{constructor(e){if(e.kind==="model"&&!ke)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")ke.decorateDef(this,e)}_normalize(){if(this._norm)return this._norm;let e=new Map,t=new Map,r=new Map,n=new Map,i=new Map,s=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(n.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(!Z3(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),n.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(s.has(S.name))f(S.name,"scope");s.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")Ya(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:n,hooks:i,scopes:s,defaultScope:a,directives:o,enumMembers:l,ensures:c,hasAsyncEnsures:c.some((S)=>S.async),unionOn:m,unionMembers:g};if(this.kind==="model")ke.finishModelNorm(this,b);return this._norm=b,this._norm}_unionPlan(){if(this._unionPlanCache&&this._unionPlanCache.gen===Ee)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,n=[];for(let s of e.unionMembers){let a=te.get(s);if(!a)throw new I1([{field:"",error:"union",message:"unknown union constituent: "+s+" (import the file that declares it)"}],this.name,this.kind);n.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:s+" must declare '"+t+"' as a string-literal type (e.g. "+t+'! "click") to join union '+(this.name||"")}],this.name,this.kind);for(let l of o.literals){if(r.has(l))throw new I1([{field:t,error:"union",message:"duplicate discriminator value "+JSON.stringify(l)+" in "+(r.get(l).name||"anon")+" and "+s}],this.name,this.kind);r.set(l,a)}}let i={disc:t,map:r,expected:[...r.keys()].join(" | "),hasAsyncEnsures:n.some((s)=>s._normalize().hasAsyncEnsures)};return this._unionPlanCache={gen:Ee,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,n]of t.derived){let i=n.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 n=this._normalize();for(let[i,s]of n.fields){let a=St(s.typeName);if(!a)continue;let o=e[i];if(o===void 0||o===null)continue;let l=t==null?void 0:t[i];if(s.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)n.push((async()=>{let o=!1;try{o=!!await i.fn(e)}catch{o=!1}if(!o)r.push({idx:s,issue:a()})})());else{let o=!1;try{o=!!i.fn(e)}catch{o=!1}if(!o)r.push({idx:s,issue:a()})}}),await Promise.all(n),r.sort((i,s)=>i.idx-s.idx),r.map((i)=>i.issue)}_transitiveAsync(){if(this._taGen===Ee)return this._taCache;let e=new Set,t=(r)=>{if(e.has(r))return!1;e.add(r);let n=r._normalize();if(n.hasAsyncEnsures)return!0;if(r.kind==="union"){for(let i of n.unionMembers){let s=te.get(i);if(s&&t(s))return!0}return!1}for(let i of n.fields.values()){let s=St(i.typeName);if(s&&t(s))return!0}return!1};return this._taCache=t(this),this._taGen=Ee,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()],n={[t]:class{constructor(i){if(i&&typeof i==="object"){for(let s of r)if(s in i&&i[s]!==void 0)this[s]=i[s]}}}}[t];for(let[i,s]of e.methods)Object.defineProperty(n.prototype,i,{value:s,writable:!0,enumerable:!1,configurable:!0});for(let[i,s]of e.computed)Object.defineProperty(n.prototype,i,{get:s,enumerable:!1,configurable:!0});return this._klass=n,n}_coerceDates(e){let t=this._normalize(),r=(s)=>typeof s==="string"&&/^\d{4}-\d{2}-\d{2}([T ].*)?$/.test(s),n=(s)=>{let a=/^(\d{4})-(\d{2})-(\d{2})/.exec(s),o=+a[2],l=+a[3];return o>=1&&o<=12&&l>=1&&l<=new Date(Date.UTC(+a[1],o,0)).getUTCDate()},i=(s)=>{if(!n(s))return s;let a=new Date(s);return Number.isNaN(a.getTime())?s:a};for(let[s,a]of t.fields){if(a.typeName!=="date"&&a.typeName!=="datetime")continue;let o=e[s];if(a.array&&Array.isArray(o))e[s]=o.map((l)=>r(l)?i(l):l);else if(r(o))e[s]=i(o)}}_validateFields(e,t,r,n){let i=this._normalize(),s=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;s.push({field:a,error:"required",message:a+" is required"})}continue}if(o.array){if(!Array.isArray(l)){if(!t)return!1;s.push({field:a,error:"type",message:a+" must be an array"});continue}let f=o.constraints;if(f){if(f.min!=null&&l.lengthf.max){if(!t)return!1;s.push({field:a,error:"max",message:a+" must have at most "+f.max+" items"})}}if(n?.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(n?.deferNested&&St(o.typeName))continue;let f=Ui(l,o.typeName,n);if(f.errors){if(!t)return!1;for(let h of f.errors){let u=Rt(a,h.field);s.push({field:u,error:h.error,message:mr(u,h.field,h.message)})}continue}if(f.value!==l)e[a]=f.value}let c=o.constraints;if(c){if(typeof l==="string"){if(c.min!=null&&l.lengthc.max){if(!t)return!1;s.push({field:a,error:"max",message:a+" must be at most "+c.max+" chars"})}if(c.regex){if(c.regex.global||c.regex.sticky)c.regex.lastIndex=0;if(!c.regex.test(l)){if(!t)return!1;s.push({field:a,error:"pattern",message:a+" is invalid"})}}}else if(typeof l==="number"){if(c.min!=null&&l= "+c.min})}if(c.max!=null&&l>c.max){if(!t)return!1;s.push({field:a,error:"max",message:a+" must be <= "+c.max})}}}}return t?s:!0}_applyDefaults(e){let t=this._normalize();for(let[r,n]of t.fields)if((e[r]===void 0||e[r]===null)&&n.constraints?.default!==void 0){let i=n.constraints.default;e[r]=typeof i==="object"&&i!==null&&!(i instanceof RegExp)?structuredClone(i):i}return e}_applyTransforms(e,t){let r=this._normalize(),n=[];for(let[i,s]of r.fields){if(!s.transform)continue;try{t[i]=s.transform(e)}catch(a){n.push({field:i,error:"transform",message:a?.message||String(a)})}}return n}_applyCoercions(e,t){let r=this._normalize(),n=[];for(let[i,s]of r.fields){if(!s.coerce)continue;let a=e[i];if(a===void 0||a===null)continue;if(s.coercer){let l=Bi.get(s.coercer);if(!l)throw Error("schema: no coercer registered for '~:"+s.coercer+"' (field '"+i+"' on "+(this.name||"anon")+"). Register it with registerCoercer('"+s.coercer+"', fn).");let c=l.raw?a:String(a).trim(),f;try{f=l.fn(c)}catch{f=null}if(f===null||f===void 0)n.push({field:i,error:"coerce",message:i+" is not a valid "+s.coercer}),t.add(i);else e[i]=f;continue}let o=gr[s.typeName]?gr[s.typeName](a):{ok:!1};if(o.ok)e[i]=o.value;else n.push({field:i,error:"coerce",message:i+" cannot be coerced to "+s.typeName}),t.add(i)}return n}_orderFieldErrors(...e){let t=new Map,r=0;for(let[n]of this._normalize().fields)t.set(n,r++);return e.flat().map((n,i)=>{let s=String(n.field||"").split(/[.[]/,1)[0];return{issue:n,seq:i,rank:t.has(s)?t.get(s):r}}).sort((n,i)=>n.rank-i.rank||n.seq-i.seq).map((n)=>n.issue)}_validateEnum(e,t){let r=this._normalize();for(let[i,s]of r.enumMembers)if(e===i||e===s)return t?[]:!0;if(!t)return!1;let n=[...r.enumMembers.keys()].join(", ");return[{field:"",error:"enum",message:(this.name||"enum")+" expected one of: "+n}]}_materializeEnum(e){let t=this._normalize();for(let[r,n]of t.enumMembers)if(e===r||e===n)return n;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=dr(e);if(r)return{ok:!1,errors:[r]};let n=e,i={...n},s=new Set,a=this._applyTransforms(n,i),o=this._applyCoercions(i,s);this._applyDefaults(i),this._coerceDates(i);let l=this._orderFieldErrors(a,o,this._validateFields(i,!0,s,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=dr(e);if(r)return{ok:!1,errors:[r]};let n=e,i={...n},s=new Set,a=this._applyTransforms(n,i),o=this._applyCoercions(i,s);this._applyDefaults(i),this._coerceDates(i);let l=await this._validateFieldsAsync(i,s,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 n=this._normalize(),i=[];for(let[s,a]of n.fields){if(t&&t.has(s))continue;let o=e[s];if(o===void 0||o===null){if(a.required)i.push({field:s,error:"required",message:s+" is required"});continue}if(a.array){if(!Array.isArray(o)){i.push({field:s,error:"type",message:s+" must be an array"});continue}let f=a.constraints;if(f?.min!=null&&o.lengthf.max)i.push({field:s,error:"max",message:s+" must have at most "+f.max+" items"});let h=Array(o.length),u=!1;for(let d=0;dJSON.stringify(f)).join(", ")})}else{let f=await Fa(o,a.typeName,r);if(f.errors)for(let h of f.errors){let u=Rt(s,h.field);i.push({field:u,error:h.error,message:mr(u,h.field,h.message)})}else e[s]=f.value}let l=e[s],c=a.constraints;if(c){if(typeof l==="string"){if(c.min!=null&&l.lengthc.max)i.push({field:s,error:"max",message:s+" must be at most "+c.max+" chars"});if(c.regex){if(c.regex.global||c.regex.sticky)c.regex.lastIndex=0;if(!c.regex.test(l))i.push({field:s,error:"pattern",message:s+" is invalid"})}}else if(typeof l==="number"){if(c.min!=null&&l= "+c.min});if(c.max!=null&&l>c.max)i.push({field:s,error:"max",message:s+" 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=dr(e);if(r)return{ok:!1,errors:[r]};let n={...e},i=this._validateFields(n,!0,null,{...t,existing:!0});if(i.length)return{ok:!1,errors:i};let s=t?.skipEnsures?[]:this._applyEnsures(n);if(s.length)return{ok:!1,errors:s};if(t?.materializeNested)try{this._materializeNestedValues(n,e,!0)}catch(a){return{ok:!1,errors:null,...Ge(a)}}return this._finishExistingValue(e,n,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=dr(e);if(r)return{ok:!1,errors:[r]};let n={...e},i=await this._validateFieldsAsync(n,null,{...t,existing:!0});if(i.length)return{ok:!1,errors:i};let s=t?.skipEnsures?[]:await this._applyEnsuresAsync(n);if(s.length)return{ok:!1,errors:s};if(t?.materializeNested)try{this._materializeNestedValues(n,e,!0)}catch(a){return{ok:!1,errors:null,...Ge(a)}}return this._finishExistingValue(e,n,t)}_finishExistingValue(e,t,r){if(!r?.materialize)return{ok:!0,value:t};let n=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 s=new n(t);try{this._applyEagerDerived(s)}catch(a){return{ok:!1,errors:null,thrown:a}}return{ok:!0,value:s}}parse(e){if(this.kind==="mixin")throw Error(":mixin schema '"+(this.name||"anon")+"' is not instantiable");this._assertSyncValidatable("parse");let t=this._runSync(e,{materialize:!0,materializeNested:!0,derived:"throw"});if(t.ok)return t.value;if(t.thrown)throw t.thrown;let r=t.from||this;throw new I1(t.errors,r.name,r.kind)}get array(){let e=this,t=(s)=>({field:"",error:"not_array",message:"expected an array, received "+(s===null?"null":s===void 0?"undefined":typeof s==="object"?"an object with keys ["+Object.keys(s).join(", ")+"]":typeof s)}),r=(s)=>{let a=[],o=[];return s.forEach((l,c)=>{if(l.ok)a.push(l.value);else for(let f of l.errors)o.push({...f,field:"["+c+"]"+(f.field?"."+f.field:"")})}),{value:a,errors:o}},n=(s)=>{let a=[],o=[];return s.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(s)=>{let a=[],o=[];for(let l=0;le.safe(l)));return o.length?{ok:!1,value:null,errors:o}:{ok:!0,value:a,errors:null}},ok(s){return Array.isArray(s)&&s.every((a)=>e.ok(a))},async parseAsync(s){if(!Array.isArray(s))throw new I1([t(s)],e.name,e.kind);let{value:a,errors:o}=await i(s);if(o.length)throw new I1(o,e.name,e.kind);return a},async safeAsync(s){if(!Array.isArray(s))return{ok:!1,value:null,errors:[t(s)]};let{value:a,errors:o}=r(await Promise.all(s.map((l)=>e.safeAsync(l))));return o.length?{ok:!1,value:null,errors:o}:{ok:!0,value:a,errors:null}},async okAsync(s){return Array.isArray(s)&&(await Promise.all(s.map((a)=>e.okAsync(a)))).every(Boolean)},toJSONSchema(){return{type:"array",items:e.toJSONSchema()}}}}safe(e){if(this.kind==="mixin")return{ok:!1,value:null,errors:[{field:"",error:"mixin",message:"not instantiable"}]};this._assertSyncValidatable("safe");let t=this._runSync(e,{materialize:!0,materializeNested:!0,derived:"issue"});if(t.ok)return{ok:!0,value:t.value,errors:null};if(t.thrown)return{ok:!1,value:null,errors:[{field:t.derivedField||"",error:"derived",message:t.thrown?.message||String(t.thrown)}]};return{ok:!1,value:null,errors:t.errors}}ok(e){if(this.kind==="mixin")return!1;return this._assertSyncValidatable("ok"),this._runSync(e,{materialize:!1,materializeNested:!1,derived:"issue"}).ok}async parseAsync(e){if(this.kind==="mixin")throw Error(":mixin schema '"+(this.name||"anon")+"' is not instantiable");let t=await this._runAsync(e,{materialize:!0,materializeNested:!0,derived:"throw"});if(t.ok)return t.value;if(t.thrown)throw t.thrown;let r=t.from||this;throw new 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=Fi(e),n=new Map;for(let i of r){if(!t.has(i))throw Error("pick: unknown field '"+i+"' on "+(this.name||"schema"));n.set(i,t.get(i))}return n})}omit(...e){return yt(this,(t)=>{let r=new Set(Fi(e)),n=new Map;for(let[i,s]of t)if(!r.has(i))n.set(i,s);return n})}partial(){return yt(this,(e)=>{let t=new Map;for(let[r,n]of e)t.set(r,{...n,required:!1});return t})}required(...e){return yt(this,(t)=>{let r=new Set(Fi(e)),n=new Map;for(let[i,s]of t)n.set(i,{...s,required:r.has(i)?!0:s.required});return n})}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),n=e._normalize().fields;for(let[i,s]of n){if(r.has(i))throw Error("extend(): field '"+i+"' collides between "+(this.name||"schema")+" and "+(e.name||"other"));r.set(i,s)}return r})}toJSONSchema(){let e={defs:new Map,expanding:new Set},t=Ka(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,n]of e.defs)t.$defs[r]=n}return t}}var Va={__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 Q3(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(Va[e.typeName])r=Va[e.typeName]();else{let i=te.get(e.typeName);r=i?Ga(i,t):{}}let n=e.constraints;if(n&&!e.array){if(r.type==="string"){if(n.min!=null)r.minLength=n.min;if(n.max!=null)r.maxLength=n.max;if(n.regex)r.pattern=n.regex.source}else if(r.type==="number"||r.type==="integer"){if(n.min!=null)r.minimum=n.min;if(n.max!=null)r.maximum=n.max}}if(e.array){if(r={type:"array",items:r},n){if(n.min!=null)r.minItems=n.min;if(n.max!=null)r.maxItems=n.max}}if(n&&n.default!==void 0)r.default=n.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 Ga(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,Ka(e,t)),t.expanding.delete(r);return{$ref:"#/$defs/"+r}}function Ka(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=te.get(l);return c?Ga(c,t):{}}),discriminator:{propertyName:a.disc}}}let n={},i=[];for(let[a,o]of r.fields)if(n[a]=Q3(o,t),o.required&&o.constraints?.default===void 0)i.push(a);if(e.kind==="model")ke.jsonSchemaModelColumns(e,n);let s={type:"object",properties:n};if(i.length)s.required=i;if(r.ensures.length)s.description="Refinements (not expressible in JSON Schema): "+r.ensures.map((a)=>a.message).join("; ")+".";return s}function Fi(e){let t=[];for(let r of e)if(Array.isArray(r))for(let n of r)t.push(n);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"?ke.projectableFields(e):e._normalize().fields,n=t(r),i=[];for(let[,o]of n){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 s=(e.name||"Schema")+"Derived",a=new Et({kind:"shape",name:s,entries:i});return a._sourceModel=e._sourceModel||(e.kind==="model"?e:null),a}function Ya(e,t,r,n){for(let i of r){if(i.name!=="mixin"||!i.args||!i.args[0])continue;let s=i.args[0].target;if(!s)continue;if(n.stack.includes(s))throw new I1([{field:"",error:"mixin-cycle",message:"mixin cycle: "+n.stack.concat(s).join(" -> ")}],e.name,e.kind);if(n.seen.has(s))continue;let a=te.getKind(s,"mixin");if(!a)throw new I1([{field:"",error:"mixin-missing",message:"unknown mixin: "+s}],e.name,e.kind);n.seen.add(s),n.stack.push(s);let o=a._desc.entries.filter((l)=>l.tag==="directive"&&l.name==="mixin").map((l)=>({name:l.name,args:l.args||[]}));Ya(e,t,o,n);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 "+s+" 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 "+s+" carries persistence metadata (@unique/attrs) — :model-only; a :"+e.kind+" cannot include it"}],e.name,e.kind);t.set(l.name,{name:l.name,required:l.modifiers.includes("!"),optional:l.modifiers.includes("?"),unique:l.unique===!0,attrs:l.attrs||null,typeName:l.typeName,literals:l.literals||null,array:l.array===!0,coerce:l.coerce===!0,coercer:l.coercer||null,constraints:l.constraints||null,transform:l.transform||null})}n.stack.pop()}}function e4(e){let t=new Et(e);if(t.name)te.register(t);return t}if(typeof globalThis<"u")globalThis.__ripSchema=globalThis.__ripSchema||{},globalThis.__ripSchema.SchemaRegistry=te;var Tr={};Fe(Tr,{__batch:()=>M1,__catchErrors:()=>ue,__computed:()=>K1,__detachRef:()=>Vi,__effect:()=>x1,__handleError:()=>re,__ownerFrame:()=>Tt,__popOwner:()=>q1,__pushOwner:()=>le,__readonly:()=>fe,__setEffectErrorReporter:()=>t4,__setErrorHandler:()=>he,__state:()=>A1,getEffectSignal:()=>ce});var Xa=Symbol.for("rip.runtime.reactive");if(globalThis[Xa])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[Xa]=!0;var N1=null,Er=[],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 t4(e){let t=kt;return kt=e,t}function Ja(){try{while(Ke.size>0){let e=Ke.shift();if(!e._disposed)e.run()}}catch(e){throw Ke.clear(),e}}var Za={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,n=!1,i=!1,s=!1,a=()=>{if(N1&&typeof N1.markDirty==="function"&&N1.dependencies.has(r))throw Error("reactive runtime: computed dependency changed during evaluation — "+"computed functions must derive without writing or touching a dependency")},o=()=>{for(let f of Er)f.writtenSignals.add(r)},l=()=>{n=!0;try{for(let f of r)if(f.markDirty)f.markDirty(!0);else f._hard=!0,Ke.add(f);if(!Rr)Ja()}finally{n=!1}},c={get value(){if(s)return t;if(N1?.writtenSignals&&Er.some((f)=>f.writtenSignals.has(r)))throw Error("reactive runtime: computed dependency changed during evaluation — "+"computed functions must derive without writing or touching a dependency");if(N1)r.add(N1),N1.dependencies.add(r);return t},set value(f){if(s||i||f===t)return;if(a(),n)return;o(),t=f,l()},read(){return t},touch(){if(s)return;if(a(),n)return;o(),l()},lock(){return i=!0,c},free(){return r.clear(),c},kill(){return s=!0,r.clear(),t},...Za};return c}var yr=0,za=1,Sr=2;function Qa(e){let t=N1;N1=null;try{for(let[r,n]of e.computedDeps)if(r.value,r.version!==n)return!0;return!1}finally{N1=t}}function K1(e){let t,r=Sr,n=new Set,i=!1,s=!1,a=!1,o={dependencies:new Set,computedDeps:new Map,writtenSignals:new Set,version:0,markDirty(l){if(s||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=Sr;else if(r===yr)r=za;if(c!==yr)return;for(let f of n)if(f.markDirty)f.markDirty(!1);else Ke.add(f)},get value(){if(s)return t;if(N1&&N1!==o)n.add(N1),N1.dependencies.add(n),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===za&&!i)r=Qa(o)?Sr:yr;if(r===Sr&&!i){for(let c of o.dependencies)c.delete(o);o.dependencies.clear(),o.computedDeps.clear();let l=N1;o.writtenSignals.clear(),N1=o,Er.push(o),a=!0;try{let c=e();if(c!==t)o.version++;t=c,r=yr}finally{a=!1,Er.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(),n.clear(),o},kill(){s=!0;let l=t;return o.free(),l},...Za};return o}function qa(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,n=B1,i={depth:n?n.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&&!Qa(i))return;if(t){try{t.abort()}catch{}t=null}let o=++r;qa(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=n;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{}qa(i);for(let a of i.dependencies)a.delete(i);i.dependencies.clear()}};try{i.run()}catch(a){throw i.dispose(),a}let s=()=>i.dispose();if(B1)B1.add(s);return s}function M1(e){if(Rr)return e();Rr=!0;try{return e()}finally{Rr=!1,Ja()}}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(s){if(t===null)s();else t.push(s)},remove(s){if(t===null)return;let a=t.indexOf(s);if(a>=0)t.splice(a,1)},dispose(){if(t===null)return;let s=t;if(t=null,r!==null){let a=r;r=null,a()}for(let a of s)try{a()}catch(o){kt("[Rip] effect disposer error:",o)}}};if(e&&B1){let s=B1;s.add(i.dispose),r=()=>s.remove(i.dispose)}return i}function le(e){let t={frame:e,prev:B1};return B1=e,t}function q1(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 ce(){return N1?N1.signal:null}function fe(e){return Object.freeze({value:e})}function Vi(e,t){if(e&&typeof e.read==="function"&&e.read()===t)e.value=null}var kr=null;function he(e){let t=kr;return kr=e,t}function re(e){if(kr)try{kr(e)}catch(t){console.error("Error in error handler:",t),console.error("Original error:",e)}else throw e}function ue(e){return function(...t){try{return e.apply(this,t)}catch(r){re(r)}}}var Nt={};Fe(Nt,{__Component:()=>yo,__claimGateConstructor:()=>Xi,__clsx:()=>vr,__detach:()=>Ar,__detachRef:()=>Vi,__gateBind:()=>E4,__handleComponentError:()=>Ki,__hmrClassify:()=>_t,__hmrEmit:()=>we,__hmrEntries:()=>Yi,__hmrEvents:()=>a4,__hmrLookup:()=>r4,__hmrMigrateDiff:()=>co,__hmrMigrateRemount:()=>f4,__hmrPatch:()=>qi,__hmrPreserveState:()=>Or,__hmrRegisterDefinition:()=>wt,__hmrRegistry:()=>Te,__hmrRestoreUi:()=>Ir,__hmrSnapshotUi:()=>zi,__lis:()=>go,__ownerFrame:()=>Tt,__popComponent:()=>de,__popOwner:()=>q1,__pushComponent:()=>Le,__pushOwner:()=>le,__reconcile:()=>m4,__reportChildFailure:()=>S4,__setChildFailureReporter:()=>y4,__style:()=>bo,__transition:()=>g4,getContext:()=>u4,hasContext:()=>d4,setContext:()=>h4});var ao=Symbol.for("rip.runtime.components");if(globalThis[ao])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[ao]=!0;var Y1=null,oo={},_r=null,lo=new WeakMap,eo=!1,Te=new Map;function Wi(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=n.filter((c)=>!i.has(c)),l=r.filter((c)=>!s.has(c));return{kept:a,added:o,removed:l}}var Nr=[],s4=64;function we(e,t={}){let r={type:e,at:Date.now(),...t};if(Nr.push(r),Nr.length>s4)Nr.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 a4(){return Nr.slice()}function Or(e,t){let r=e?.constructor?.__hmrSig,n=t?.constructor?.__hmrSig,i=r?.state,s=n?.state,a=co(r,n);if(!Array.isArray(i)||!Array.isArray(s))return we("migrate",{id:t?.constructor?.__hmrId??null,...a,copied:[]}),a;let o=new Set(i),l=[];for(let f of s){if(!o.has(f))continue;let h=e[f],u=t[f];if(h!=null&&u!=null&&typeof h==="object"&&typeof u==="object"&&"value"in h&&"value"in u)u.value=h.value,l.push(f)}let c=t?.constructor?.__hmrId??e?.constructor?.__hmrId??null;return we("migrate",{id:c,...a,copied:l}),{...a,copied:l}}var fo=["name","type","placeholder"];function ho(e){let t=(n)=>typeof e[n]==="string"&&e[n]?e[n]:null,r={tag:e.tagName??null};for(let n of fo)r[n]=t(n);return r.label=typeof e.getAttribute==="function"?e.getAttribute("aria-label"):null,r.value=typeof e.value==="string"?e.value:null,r}function Hi(e,t,r){if(!e||!t)return!1;let n=ho(e);for(let i of["tag",...fo,"label"])if(n[i]!==t[i])return!1;return!r||t.value==null||n.value===t.value}function o4(e){let t=ho(e),r=typeof e.id==="string"&&e.id?e.id:null,n=[],i=e;while(i&&i!==document.body){let s=i.parentElement??i.parentNode??null;if(!s||!s.children)return{identity:t,id:r,path:null};n.unshift(Array.prototype.indexOf.call(s.children,i)),i=s}return{identity:t,id:r,path:i===document.body?n:null}}function l4(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(Hi(o,r.identity,!1))return o}if(!Array.isArray(r.path)||r.path.length===0)return null;let n=document.body;for(let o of r.path.slice(0,-1))if(n=n?.children?.[o]??null,!n)return null;let i=Array.from(n.children??[]),s=i[r.path[r.path.length-1]]??null;if(Hi(s,r.identity,!0))return s;let a=i.filter((o)=>Hi(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?o4(t):null,selection:r,scrollX:typeof window<"u"?window.scrollX:0,scrollY:typeof window<"u"?window.scrollY:0}}function Ir(e){if(!e||typeof document>"u")return;if(typeof window<"u")window.scrollTo(e.scrollX??0,e.scrollY??0);let t=l4(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 uo(e,t){let r=e.constructor?.__hmrId;if(typeof r==="string"&&r)Te.get(r)?.instances.delete(e);Object.setPrototypeOf(e,t.prototype),Object.defineProperty(e,"constructor",{value:t,writable:!0,configurable:!0}),wt(t),Te.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 uo(e,t),e._hmrRerender(),we("patch",{id:t.__hmrId??r??null}),e}function mo(e){return Object.keys(e).sort().join(",")}function c4(e,t){let n=(Y1?._projectionOwner??Y1)?._hmrOrphans;if(!n||n.length===0)return null;let i=e.__hmrId;if(typeof i!=="string")return null;let s=mo(t),a=null;for(let o of n){if(o._state!=="mounted"||o.constructor.__hmrId!==i||o._hmrPropKeys!==s)continue;if(a)return null;a=o}if(!a||_t(a.constructor,e)!=="patch")return null;if(n.splice(n.indexOf(a),1),a.constructor!==e)uo(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 f4(e,t,r={}){let n=new t(r);return Or(e,n),n}function Xi(){if(eo)throw Error("[Rip] the render-gate construction capability is already claimed");return eo=!0,(e,t)=>{let r=_r;_r={brand:oo,component:e,gates:t.gates,parent:t.parent??null,stash:t.stash??null,router:t.router??null,used:!1};try{return new e({})}finally{_r=r}}}function Ar(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=Y1;if(e&&e._parent==null&&t&&t!==e)e._parent=t;return Y1=e,t}function de(e){Y1=e}function h4(e,t){if(!Y1)throw Error("setContext must be called during component initialization");if(!Y1._context)Y1._context=new Map;Y1._context.set(e,t)}function po(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 n=typeof t.__hmrId==="string"?t.__hmrId:null,i=Y1,s=new Set;while(i&&!s.has(i)){if(s.add(i),i instanceof t||n!==null&&i.constructor?.__hmrId===n)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 u4(e,t){let r=po("getContext",e,t);if(r.found)return r.value;let n=e.name||"the provider";throw Error(r.provider!==null?`getContext: ${n} offers no ${JSON.stringify(t)}`:`getContext: no ${n} above this component — render one around it, or probe with hasContext(${n}, ${JSON.stringify(t)}) where absence is legal`)}function d4(e,t){return po("hasContext",e,t).found}function vr(...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 n=vr(...r);n&&(t&&(t+=" "),t+=n)}else for(let n in r)if(r[n])t&&(t+=" "),t+=n}}return t}function go(e){let t=e.length;if(t===0)return[];let r=[],n=[],i=Array(t).fill(-1);for(let o=0;o>1;if(r[f]0)i[o]=n[l-1]}let s=[],a=n[r.length-1];for(let o=r.length-1;o>=0;o--)s.push(a),a=i[a];return s.reverse(),s}function m4(e,t,r,n,i,s,...a){let o=e.parentNode;if(!o)return;let l=t.keys,c=t.items||[],f=t.blocks,h=l.length,u=r.length,d=Array(u),p=s!=null,m=p?r.map((R,k)=>s(R,k)):r;if(p){let R=new Set;for(let k of m){if(R.has(k))throw Error(`__reconcile: duplicate key ${JSON.stringify(String(k))} — keyed rows need unique keys `+"(the key function must be injective over the items)");R.add(k)}}if(h===0){if(u>0){let R=document.createDocumentFragment();for(let k=0;k=g&&w>=g&&l[S]===m[w]){let R=f[S];if(!R._s)R.p(n,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;A--){let P=d[A];if(!M.has(A-g))P.m(o,L);L=P._first}}t.keys=p?m:r.slice(),t.items=r.slice(),t.blocks=d}var to=!1;function p4(){if(to)return;to=!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 g4(e,t,r,n){p4();let i=e.classList,s=t+"-"+r+"-from",a=t+"-"+r+"-active",o=t+"-"+r+"-to",l=!1,c=null;i.add(s,a),requestAnimationFrame(()=>{requestAnimationFrame(()=>{i.remove(s),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),n)n()};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 b4(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 n=e!=null?e.status??e.response?.status:void 0;if(n!==void 0)r.status=n;return r.error=e,r}var Gi=(e,t)=>console.error(`[Rip] ${e} construction failed:`,t);function y4(e){let t=Gi;return Gi=e,t}function S4(e,t){Gi(e,t)}function Ki(e,t){let r=b4(e),n=t,i=new Set;while(n&&!i.has(n)){if(i.add(n),n.onError){let s=Le(n),a=le(n._frame);try{n.onError(r,t);return}catch(o){}finally{q1(a),de(s)}}n=n._parent}throw e}var ro=new WeakSet;function R4(e,t){if(ro.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 n of r){if(typeof n!=="string"||n.length===0)throw Error(`${e.name||"component"}: static __props entries must be non-empty strings`);if(n.startsWith("_"))throw Error(`${e.name||"component"}: declared prop '${n}' collides with component internals — `+"underscore-prefixed names are reserved for the runtime");if(n in t)throw Error(`${e.name||"component"}: declared prop '${n}' collides with a component member (a method or lifecycle slot already answers '${n}')`)}ro.add(e)}function E4(e,t){let n=lo.get(e)?.gates?.[t];if(!n?.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=n.value,s=!0;return K1(()=>{if(s)return s=!1,n.cell.read(),i;let a=n.cell.read();for(let o of n.tail){if(a==null)break;a=a[o]}if(a!=null)i=a;return i})}var wr=new WeakMap;function io(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 bo(e,t){let r=wr.get(e);if(t==null){e.removeAttribute("style"),wr.delete(e);return}if(typeof t!=="object"){e.setAttribute("style",String(t)),wr.delete(e);return}if(r){for(let n of r)if(!(n in t))io(e.style,n,"")}wr.set(e,Object.keys(t));for(let n of Object.keys(t))io(e.style,n,t[n])}var k4=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"]),no=(e)=>new Proxy(e,{get(t,r){let n=t[r];return n!=null&&typeof n==="object"&&typeof n.read==="function"?n.value:n}});function so(e,t){let r=e.__props??[],n=e.__extends??null,i=null;for(let s of Object.keys(t)){if(s==="children")continue;if(s.startsWith("__bind_")&&s.endsWith("__")){let a=s.slice(7,-2);if(r.includes(a))continue;throw Error(`${e.name||"component"}: cannot bind unknown prop '${a}' — declared `+`props are [${r.join(", ")}]`)}if(r.includes(s))continue;if(n!==null){(i??={})[s]=t[s];continue}throw Error(`${e.name||"component"}: unknown prop '${s}' — declared props are `+`[${r.join(", ")}]`)}return i}class yo{constructor(e={}){let t=c4(this.constructor,e);if(t)return t;this._state="new",this._owner=Y1?._projectionOwner??Y1??null,R4(this.constructor,this);let r=this.constructor.__gates,n=_r,i=n?.brand===oo&&n.component===this.constructor&&n.used!==!0;if(i)n.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(lo.set(this,n),n.parent)this._parent=n.parent;if(n.stash!=null)this.stash=n.stash;if(n.router!=null)this.router=n.router,Object.defineProperty(this,"params",{get:()=>n.router.params,configurable:!0}),Object.defineProperty(this,"query",{get:()=>n.router.query,configurable:!0})}if(this.stash==null&&globalThis.__ripStash!=null)this.stash=globalThis.__ripStash;if(this.router==null&&globalThis.__ripRouter!=null)this.router=globalThis.__ripRouter;let s=so(this.constructor,e);if("children"in e)this.children=e.children;if(this.constructor.__hmrId)this._hmrPropKeys=mo(e);if(this.constructor.__extends!=null)this._rest=s??{},this.rest=A1(no(this._rest));this._frame=Tt({nested:!1});let a=Le(this),o=le(this._frame);try{this._init(e)}catch(l){q1(o),de(a),this._teardown({state:"failed",hooks:!1,removeDOM:!0}),this._initFailed=!0,Ki(l,this);return}if(q1(o),de(a),this.constructor.__hmrId)i4(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,de(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 n=this[e];if(n&&typeof n==="object"&&"value"in n){n.value=t;return}throw Error(`${this.constructor.name||"component"}: prop '${e}' is non-reactive — parent updates `+"cannot reach it (declare it with ':=' to receive updates)")}_setRestProp(e,t){if(e.startsWith("__bind_"))return;if(this._state==="failed"||this._state==="unmounted")return;if(this._rest||(this._rest={}),t==null)delete this._rest[e];else this._rest[e]=t;this.rest.touch();let r=le(this._frame);try{this._applyInheritedProp(this._inheritedInst??this._inheritedEl,e,t)}finally{q1(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 n=this._restWriters?.[t];if(n){if(n(),this._frame)this._frame.remove(n);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 n=e;if(t[0]==="@"){let i=t.slice(1).split(".")[0];this._restHandlers||(this._restHandlers={});let s=this._restHandlers[t];if(s)n.removeEventListener(i,s);if(typeof r==="function"){let a=(o)=>M1(()=>r(o));this._restHandlers[t]=a,n.addEventListener(i,a)}else delete this._restHandlers[t];return}if(t==="class"||t==="className"){if(n instanceof SVGElement)n.setAttribute("class",vr(r));else n.className=vr(r);return}if(t==="style"){bo(n,r);return}if(t==="innerHTML"||t==="textContent"||t==="innerText"||t==="value"){n[t]=r??"";return}if(t==="checked"){n.checked=!!r;return}if(k4.has(t)){n.toggleAttribute(t,!!r);return}if(r==null)n.removeAttribute(t);else n.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=le(this._frame),r=null,n=!1;try{this._root=this._create()}catch(i){r=i,n=!0}finally{q1(t),de(e)}if(n)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=le(this._frame),n=null,i=!1;try{if(e){let s=this._nodes?.[0]??this._root;if(s?.parentNode)s.parentNode.insertBefore(e,s)}if(this.beforeMount)this.beforeMount();if(this._setup)this._setup();if(this.mounted)this.mounted();this._state="mounted",Ar(e),this._hmrDrainOrphans((s,a)=>console.error(`[Rip] ${s} error:`,a))}catch(s){n=s,i=!0}finally{q1(r),de(t)}if(i)return this._failMount(n),e;return this._nodes?.[0]??this._root}_failMount(e){this._teardown({state:"failed",hooks:!1,removeDOM:!0}),Ki(e,this)}_dispose(e,t){if(this._children){for(let r of this._children)try{t(r)}catch(n){e("child teardown",n)}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(n){e("rest writer cleanup",n)}this._restWriters=null}if(this._restHandlers){if(this._inheritedEl)for(let[r,n]of Object.entries(this._restHandlers))try{this._inheritedEl.removeEventListener(r.slice(1).split(".")[0],n)}catch(i){e("rest handler cleanup",i)}this._restHandlers=null}if(this._refCleanups){let r=this._refCleanups;this._refCleanups=null;try{M1(()=>{for(let n of r)try{n()}catch(i){e("ref cleanup",i)}})}catch(n){e("ref cleanup batch flush",n)}}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{Ar(r)}catch(n){e("DOM detach",n)}else try{Ar(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)n4(this);this._state=e;let n=(i,s)=>console.error(`[Rip] ${i} error:`,s);if(this._hmrDrainOrphans(n),t)try{if(this.beforeUnmount)this.beforeUnmount()}catch(i){n("beforeUnmount",i)}if(this._dispose(n,(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){n("unmounted",i)}this._detachDOM(n,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=(n,i)=>console.error(`[Rip] ${n} error:`,i),t=Le(this),r=le(this._frame);try{if(typeof this._hmrRefreshComputeds==="function")this._hmrRefreshComputeds();if(typeof this._hmrBindEffects==="function")this._hmrBindEffects()}catch(n){return q1(r),de(t),e("hmr rebind",n),this._failMount(n),!1}return q1(r),de(t),!0}_hmrApplyProps(e){let t=so(this.constructor,e);if("children"in e)this.children=e.children;for(let r of this.constructor.__props??[]){let n=`__bind_${r}__`;if(n in e){this[r]=e[n];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=no(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(n){e("orphan teardown",n)}}_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,s=r?.length?r[r.length-1].nextSibling:this._root?this._root.nextSibling:null;if(this._hmrRelease(),!this._hmrRebind())return this;if(typeof this._create!=="function")return this._state="mounted",this._hmrDrainOrphans((a,o)=>console.error(`[Rip] ${a} error:`,o)),this;if(!this._mountCreate())return this;try{let a=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=s&&(typeof a.contains!=="function"||a.contains(s))?s:null;if(this._nodes)for(let l of this._nodes)a.insertBefore(l,o);else if(this._root)a.insertBefore(this._root,o);this._target=a.nodeType===11?null:a}}catch(a){return this._failMount(a),this}return this._mountSetup(),this}mount(e){if(!this._mountCreate())return this;try{if(typeof e==="string")e=document.querySelector(e);if(this._target=e,this._root)e.appendChild(this._root)}catch(t){return this._failMount(t),this}return this._mountSetup(),this}unmount({removeDOM:e=!0}={}){if(this._state==="failed"||this._state==="unmounted")return;if(this._state==="mounted"&&this._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 Jr={};Fe(Jr,{ariaCurrent:()=>Ur,browserAdapter:()=>jr,buildRoutes:()=>Ct,check:()=>Xr,connectFeed:()=>zr,createApply:()=>qr,createComponents:()=>Pr,createMutation:()=>vo,createRenderer:()=>Fr,createRouter:()=>Mr,createStash:()=>xr,createWorkspace:()=>Kr,currentRouter:()=>B4,currentStash:()=>F4,debounce:()=>Oo,delay:()=>Cr,hold:()=>$o,interceptClicks:()=>Vr,launch:()=>Hr,ownsAnchor:()=>Lt,parseQuery:()=>Ze,persistStash:()=>Br,preloadLinks:()=>Wr,rash:()=>Mt,source:()=>Eo,throttle:()=>Io,unwrapStash:()=>_e,validatePrepared:()=>gn});var $r,Ji,So,Ro=Symbol.for("rip.source"),Zi=Symbol.for("rip.source.family"),T4=64,w4=30000,_4=/^(\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[Ro]===!0||e[Zi]===!0)}function me(e){return e!=null&&typeof e==="function"&&e[Zi]===!0}So=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(_4),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"')};$r=function(e,t,r=null){let n=A1(null),i=A1(!1),s=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,k;o?.abort(),o=typeof AbortController<"u"?new AbortController:null;let j=++a;if(!S)i.value=!0;let M=h;try{if(R=e(o?.signal),!(R!=null&&typeof R.then==="function"))throw TypeError("Rip App: source fetch must return a Promise");if(k=await R,j!==a)return k;return s.value=null,n.value=k,h=!0,u=Date.now(),d=w&&!f?u+w4:0,k}catch(L){if(j!==a)return;if(L?.name==="AbortError")return;if(s.value=L,!M)throw h=!1,u=0,L;return}finally{if(j===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()-uT4){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=N4(a),l=r.get(o);if(l)return r.delete(o),r.set(o,l),l;return l=$r(function(c){return e(a,c)},t,n),r.set(o,l),n(o),l},s=function(a){return i(a).read()};return s[Zi]=!0,s.cellFor=i,s.reset=function(){let a=Array.from(r.values());r.clear();for(let o of a)o.reset();return},s};function Eo(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=So(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 $r(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 Ji(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?Ji(e.fetch,t):$r(e.fetch,t)}var nn,It,Qi,vt,$1=Symbol("rip.app.stash.raw"),Ye=Symbol("rip.app.stash.signals"),A4=Symbol("rip.app.stash.keys"),wo=Symbol("rip.app.stash.defaults"),v4=Symbol.for("rip.app.stash.purge"),_o=new WeakMap,O4=0,sn=A1(0),en=function(){return sn.value++},No=function(e,t){let r=e[Ye];if(!r)r=new Map,Object.defineProperty(e,Ye,{value:r});let n=r.get(t);if(!n)n=A1(e[t]),r.set(t,n);return n},Ot=function(e){return No(e,A4)},tn=function(e){Ot(e).value=++O4;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 ko=function(e){if(!It(e))return e;let t=_o.get(e);if(t)return t;return nn(e)},ze=function(e,t){let r=e?.[$1];if(!r)return e[t];let n=r[t];if(C1(n)){if(me(n))return n;return ko(n.read())}return ko(No(r,t).value)},rn=function(e,t,r){let n,i,s,a,o=e?.[$1];if(!o)return e[t]=r,r;if(Array.isArray(o)&&t==="length"){if(a=o.length,s=+r,o.length=s,s!==a){if(o[Ye]){for(let h=Math.min(a,s),u=Math.max(a,s);h0))throw TypeError("Rip App: stash path must be a non-empty string");let s=[],a=0;if(e[0]!=="["){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++,s.push(r)}else{i=a;while(a{let n=[];for(let i in r){if(!Object.hasOwn(r,i))continue;let s=r[i];n.push(Qi(s,t))}return n})()};vt=function(e){if(!It(e))return e;let t=e[$1]?e[$1]:e;if(Array.isArray(t))return(()=>{let n=[];for(let i of t)if(!C1(i))n.push(vt(i));return n})();let r={};for(let n in t){if(!Object.hasOwn(t,n))continue;let i=t[n];if(C1(i))continue;r[n]=vt(i)}return r};function Ao(e){let t=e?.[$1]?e[$1]:e;if(!(t!=null&&typeof t==="object"))return;Object.defineProperty(t,wo,{value:vt(t),configurable:!0});return}function Dr(e){if(C1(e))return e;if(!It(e))return e;let t=e[$1]?e[$1]:e;if(Array.isArray(t))return(()=>{let n=[];for(let i of t)n.push(Dr(i));return n})();let r={};for(let n in t){if(!Object.hasOwn(t,n))continue;let i=t[n];Object.defineProperty(r,n,{value:Dr(i),writable:!0,enumerable:!0,configurable:!0})}return r}function Je(e,t){let r,n,i;if(!(e!=null&&typeof e==="object"))return;if(!(t!=null&&typeof t==="object"))return;let s=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(s,a)?s[a]:void 0,C1(r))continue;if(Array.isArray(r)&&r.some(function(l){return C1(l)}))continue;if(n=r!=null&&typeof r==="object"&&!Array.isArray(r),i=o!=null&&typeof o==="object"&&!Array.isArray(o),n&&i)Je(e[a],o);else e[a]=vt(o)}return}var D4=function(e,t){let r,n=t[wo];if(!n)return;r=function(i,s,a){let o;for(let l in s){if(!Object.hasOwn(s,l))continue;if(o=s[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,n),Je(e,n);return},x4={inc:!0,dec:!0,flip:!0,join:!0,keys:!0,has:!0,del:!0,peek:!0,reset:!0,source:!0},C4=function(e,t,r){if(r==="inc")return function(n,i=1){let s=(Me(e,n)??0)+i;return At(e,n,s),s};if(r==="dec")return function(n,i=1){let s=(Me(e,n)??0)-i;return At(e,n,s),s};if(r==="flip")return function(n){let i=!(Me(e,n)??!1);return At(e,n,i),i};if(r==="join")return function(n,i){if(!(i!=null&&typeof i==="object"&&!Array.isArray(i)))throw TypeError("Rip App: join expects a plain object");M1(function(){let s=Me(e,n);if(!(s!=null&&typeof s==="object"&&!Array.isArray(s)))At(e,n,{}),s=Me(e,n);return(()=>{let a=[];for(let o in i){if(!Object.hasOwn(i,o))continue;let l=i[o];a.push(s[o]=l)}return a})()});return};if(r==="keys")return function(n){let i=n!=null?Me(e,n):e;if(!(i!=null&&typeof i==="object"))return[];let s=i[$1]?i[$1]:i;return Ot(s).value,Object.keys(s)};if(r==="has")return function(n){let i,s,a=qe(n);if(!(a.length>0))return!1;let o=e;for(let l=0;l0))return;let a=e;for(let o=0;o0))throw TypeError("Rip App: component path must be a non-empty string");let t=e.split("/"),r=t.some(function(s){return!s||s==="."||s===".."}),n=t.at(-1),i=t.slice(0,-1).some(function(s){return s.endsWith(".rip")});if(e.includes("\\")||r||i||n===".rip"||!n.endsWith(".rip"))throw TypeError(`Rip App: invalid component path '${e}'`);return e};an=function(e){if(typeof e!=="string")throw TypeError("Rip App: component source must be a string");return e};on=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 Pr(){let e=new Map,t=new Map,r=new Set,n=function(s,a){let o=[];for(let l of Array.from(r))o.push((()=>{try{return l(s,a)}catch(c){return console.error("[Rip] component watcher error:",c)}})());return o};return{read(s){return e.get(Ne(s))},write(s,a){s=Ne(s),a=an(a);let o=e.has(s)?"change":"create";e.set(s,a),t.delete(s),n(o,s);return},del(s){s=Ne(s),e.delete(s),t.delete(s),n("delete",s);return},exists(s){return e.has(Ne(s))},size(){return e.size},list(s=""){let a;s=on(s);let o=s?s+"/":"",l=[];for(let[c]of e)if(c.startsWith(o)){if(a=c.slice(o.length),!a.includes("/"))l.push(c)}return l},listAll(s=""){s=on(s);let a=s?s+"/":"",o=[];for(let[l]of e)if(l.startsWith(a))o.push(l);return o},load(s){let a,o;if(!(s!=null&&typeof s==="object"&&!Array.isArray(s)))throw TypeError("Rip App: component load expects a source object");for(let l in s){if(!Object.hasOwn(s,l))continue;let c=s[l];l=Ne(l),c=an(c),e.set(l,c),t.delete(l)}return},watch(s){if(typeof s!=="function")throw TypeError("Rip App: component watch expects a function");r.add(s);let a=!1;return function(){if(a)return;a=!0,r.delete(s);return}},getCompiled(s){return t.get(Ne(s))},setCompiled(s,a){if(s=Ne(s),!(a!=null&&typeof a==="object"&&!Array.isArray(a)))throw TypeError("Rip App: compiled component module must be an object");t.set(s,a);return}}}var xo,Co,P1,cn,Po,Lo,Mo,ln=/^\w+$/,jo={static:0,dynamic:1,optional:2,catchall:3},Do=8;P1=function(e){throw Error(`Rip App: ${e}`)};var xt=function(e){try{return decodeURIComponent(e)}catch(t){return null}};Mo=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 Fo=function(e,t){let r;if(r=/^\[\[(.+)\]\]$/.exec(e)){if(!ln.test(r[1]))P1(`invalid optional segment '${e}' in '${t}'`);return{kind:"optional",name:r[1]}}else if(r=/^\[\.\.\.(.+)\]$/.exec(e)){if(!ln.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(!ln.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}};xo=function(e){let t,r=(()=>{let h=[];for(let u of e.slice(0,-4).split("/"))h.push(Fo(u,e));return h})();if(r[r.length-1].kind==="group")P1(`route file name cannot be a group segment: '${e}'`);let n=r.filter(function(h){return h.kind!=="group"});for(let h=0;hDo)P1(`more than ${Do} optional segments in '${e}'`);let o="",l=[],c=[{shape:"",display:""}];for(let h of n)switch(l.push(jo[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(Fo(c,t));return l})().filter(function(l){return l.kind!=="group"});for(let l of n)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 n)if(l.name!=null){if(i.includes(l.name))P1(`duplicate parameter name '${l.name}' in '${t}'`);i.push(l.name)}let s="",a="",o=[];for(let l of n)if(o.push(jo[l.kind]),l.kind==="static")s+="/"+l.text,a+="/"+l.text;else s+=`/:${l.name}`,a+="/:";return{pattern:s+"/*",shape:a+"/*",parts:n,ranks:o}};Po=function(e,t){let r;return r=function(n,i){let s,a,o,l;if(n===e.length)return i===t.length?[]:null;let c=e[n];return(()=>{switch(c.kind){case"static":if(!(if.length))continue;if(a=k.slice(f.length),l=a.split("/"),s=l.some(function(j){return!j||j==="."||j===".."}),a.includes("\\")||s||l.at(-1)===".rip")throw TypeError(`Rip App: invalid route file path '${k}'`);if(l.at(-1)==="_layout.rip"){h.set(l.slice(0,-1).join("/"),k);continue}if(l.at(-1)==="_404.rip"){if(l.slice(0,-1).some(function(j){return j.startsWith("_")}))continue;u.push({...Co(l.slice(0,-1),a),rel:a,file:k});continue}if(l.some(function(j){return j.startsWith("_")}))continue;if(!a.endsWith(".rip"))throw TypeError(`Rip App: route files must be .rip sources: '${k}'`);d.push({...xo(a),rel:a,file:k})}let p=new Map;for(let k of[...d].sort(function(j,M){return j.relj.pattern)return 1;return 0});let m=new Map;for(let k of[...u].sort(function(j,M){return j.relj.pattern)return 1;return 0});let g=d.map(function(k){return{route:Object.freeze({pattern:k.pattern,file:k.file,layouts:Object.freeze(cn(k.rel,h))}),parts:k.parts}}),b=u.map(function(k){return{route:Object.freeze({pattern:k.pattern,file:k.file,layouts:Object.freeze(cn(k.rel,h))}),parts:k.parts}}),S=function(k){if(typeof k!=="string")throw TypeError("Rip App: route match expects a path string");if(!k.startsWith("/"))return null;while(k.length>1&&k.endsWith("/"))k=k.slice(0,-1);return k==="/"?[]:k.slice(1).split("/")},w=function(k){let j;if(l=S(k),!l)return null;for(let M of g){if(j=Po(M.parts,l),!j)continue;return{route:M.route,params:Object.fromEntries(j)}}return null},R=function(k){let j;if(l=S(k),!l)return null;for(let M of b){if(j=Lo(M.parts,l),!j)continue;return{route:M.route,params:Object.fromEntries(j)}}return null};return Object.freeze({routes:Object.freeze(g.map(function(k){return k.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 z1,fn,Bo,Lr;z1=function(e){let t=e.indexOf("#"),r=t>=0?e.slice(t+1):"",n=t>=0?e.slice(0,t):e,i=n.indexOf("?"),s=i>=0?n.slice(i+1):"";return{path:i>=0?n.slice(0,i):n,query:s,hash:r}};fn=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};Lr=function(e){if(!(e!=null&&typeof e.match==="function"&&Array.isArray(e.routes)))throw TypeError("Rip App: createRouter requires a route manifest");return e};Bo=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 Mr(e){let t,{routes:r,adapter:n,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 N of["read","push","replace","go","listen"])if(typeof n?.[N]!=="function")throw TypeError(`Rip App: router adapter requires a ${N} function`);let s=Bo(e?.base),a=e?.hash===!0;if(s&&a)throw TypeError("Rip App: a base path does not apply in hash mode");let o=typeof r==="function"?Lr(r()):Lr(r),l=new Set,c=null,f=A1(null),h=A1(null),u=A1({}),d=A1({}),p=A1(""),m=Cr(100,A1(!1)),g=K1(function(){let N=h.value;if(!N)return null;return{route:N,layouts:N.layouts,params:u.value,query:d.value}}),b=function(N){if(!s)return N;if(N===s)return"/";if(N.startsWith(s+"/"))return N.slice(s.length);return null},S=function(N){if(!s)return N;return N==="/"?s:s+N},w=function(N){return a?n.read().split("#")[0]+"#"+N:S(N)},R=function(N){return i?.({status:404,path:N}),!1},k=0,j=function(N){return typeof N==="string"&&!N.startsWith("//")&&!N.includes("\\")},M=function(N){if(!j(N))return null;return o.match(N)},L=function(N){if(!j(N))return null;return o.match(N)??o.notFound?.(N)??null},A=function(N,F,J,x){let Q=fn(u.value,N.params),U=fn(d.value,Ze(J));M1(function(){return f.value=F,h.value=N.route,u.value=Q,d.value=U,p.value=x});let r1={path:F,route:N.route,params:Q,query:U,hash:x};k+=1;try{for(let q of Array.from(l))try{q(r1)}catch(s1){console.error("[Rip] router onNavigate error:",s1)}}finally{k-=1}return!0},P=function(){if(k>=10)throw Error("Rip App: navigation loop — ten nested navigations from onNavigate")},v=function(){let N,F,J,x,Q,U=n.read();if(a){if(N=U.indexOf("#"),J=N>=0?U.slice(N+1):"/",J==="")J="/";({path:x,query:Q,hash:F}=z1(J))}else if({path:x,query:Q,hash:F}=z1(U),x=b(x),x==null)return R(z1(U).path);let r1=L(x);if(!r1)return R(x);return A(r1,x,Q,F)},V=null,W=null,G=function(){V=null;let N=n.readState?.()??{};return n.replace(n.read(),{...N,__ripScroll:n.scroll?.save?.()??null})},T=function(){return!V?V=setTimeout(G,100):void 0};return t={init(){if(c)return t;return v(),c=n.listen(function(){if(!v())return;let N=n.readState?.();return n.scroll?.restore?.(N?.__ripScroll??null)}),W=n.scroll?.watch?.(T)??null,t},push(N,F={}){P();let{path:J,query:x,hash:Q}=z1(N),U=L(J);if(!U)return R(J);let r1=n.scroll?.save?.()??null,q=n.readState?.()??{};if(n.replace(n.read(),{...q,__ripScroll:r1}),n.push(w(N),null),A(U,J,x,Q),!F.noScroll)n.scroll?.top?.();return!0},replace(N,F={}){P();let{path:J,query:x,hash:Q}=z1(N),U=L(J);if(!U)return R(J);let r1=n.readState?.()??{};if(n.replace(w(N),{...r1,__ripScroll:null}),A(U,J,x,Q),!F.noScroll)n.scroll?.top?.();return!0},back(){return n.go(-1)},forward(){return n.go(1)},match(N){let{path:F,query:J,hash:x}=z1(N),Q=M(F);if(!Q)return null;return{route:Q.route,params:Q.params,query:Ze(J),hash:x}},claims(N){let F,J,x,Q,U;if(!(typeof N==="string"&&N.length>0))return null;if(a){if(F=N.indexOf("#"),F<0)return null;if(x=N.slice(F+1),x==="")x="/";({path:Q,query:U,hash:J}=z1(x))}else{if(!N.startsWith("/"))return null;if({path:Q,query:U,hash:J}=z1(N),Q=b(Q),Q==null)return null}let r1=M(Q);if(!r1)return null;let q=Q+(U?"?"+U:"")+(J?"#"+J:"");return{path:Q,url:q,route:r1.route,params:r1.params,query:Ze(U),hash:J}},onNavigate(N){if(typeof N!=="function")throw TypeError("Rip App: onNavigate expects a function");return l.add(N),function(){return l.delete(N)}},rebuild(){let N,F,J,x,Q;if(o=typeof r==="function"?Lr(r()):o,!c)return;let U=n.read();if(a){if(N=U.indexOf("#"),J=N>=0?U.slice(N+1):"/",J==="")J="/";({path:x,query:Q,hash:F}=z1(J))}else if({path:x,query:Q,hash:F}=z1(U),x=b(x),x==null)return R(z1(U).path);let r1=L(x);if(!r1)return R(x);let q=h.value,s1=q?.layouts??[],I=r1.route.layouts??[],c1=s1.length===I.length&&s1.every(function(O,D){return O===I[D]});if(q?.file===r1.route.file&&c1&&f.value===x)return;A(r1,x,Q,F);return},destroy(){if(c?.(),c=null,W?.(),W=null,V)clearTimeout(V);V=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(N){return m.value=N}}),t}function jr(){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,n){return window.history.pushState(n,"",r)},replace(r,n){return window.history.replaceState(n,"",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 n;if(r==null)return;let i=++t,s=r.x||0,a=r.y||0,o=0;n=function(){if(i!==t)return;let l=Math.max(0,(window.document?.documentElement?.scrollHeight||0)-window.innerHeight);return window.scrollTo(s,Math.min(a,l)),o+=1,a>l&&o<20?e(n):void 0},e(n);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 hn,Uo,je;Uo=Xi();je=function(e,t,r,n=null){let i=n??r?.message??String(r),s=Error(i);return s.name="GateFailure",s.status=r?.status??r?.response?.status??500,s.path=e,s.file=t,s.error=r,s};hn=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 n=function(s){return typeof s==="function"&&typeof s.prototype?.mount==="function"};if(n(r.default))return r.default;let i=[];for(let s in r){let a=r[s];if(s==="default")continue;if(n(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 Fr(e){let t;if(!(e!=null&&typeof e==="object"))throw TypeError("Rip App: createRenderer expects an options object");let{router:r,stash:n,components:i,target:s,onError:a}=e;if(!(r!=null&&typeof r==="object"))throw TypeError("Rip App: createRenderer requires a router object");if(!(n!=null&&_e(n)!==n))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(!(s!=null&&typeof s.appendChild==="function"))throw TypeError("Rip App: createRenderer requires a target with appendChild()");if(a!=null&&typeof a!=="function")throw TypeError("Rip App: createRenderer onError must be a function");let o=[],l=null,c=0,f=null,h=[],u=null,d=null,p=null,m=!1,g=function(D,H){let z=Object.keys(D);return z.length===Object.keys(H).length&&z.every(function(i1){return D[i1]===H[i1]})},b=function(D,H){return D.length===H.length&&D.every(function(z,i1){return H[i1]===z})},S=function(D){let H=_e(n),z=D.split(".");for(let i1=0;i1",B.file,`Rip App: ${B.file} static __gates must be an array`);for(let n1=0;n10))throw w(String(u1),B.file,`Rip App: ${B.file} has a malformed render gate path`);if(h1!=null&&typeof h1!=="function")throw w(u1,B.file,`Rip App: gate '${u1}' has a non-function key`);if(b1=S(u1),!b1)throw w(u1,B.file,`Rip App: gate '${u1}' does not resolve to a source`);if(i1=b1.cell,me(i1)){if(!h1)throw w(u1,B.file,`Rip App: gate '${u1}' is keyed and requires a key function`);try{f1=h1(H,z),i1=i1.cellFor(f1)}catch(Y){throw e1=Y,je(u1,B.file,e1,`Rip App: gate '${u1}' key failed: ${e1.message}`)}}else if(h1)throw w(u1,B.file,`Rip App: gate '${u1}' is a singleton and does not accept a key function`);if(B.bindings[n1]={cell:i1,tail:b1.tail,path:u1,file:B.file},!l1.has(i1))l1.set(i1,{cell:i1,path:u1,file:B.file,entryIndex:d1})}}return Array.from(l1.values())},j=async function(D,H,z,i1){let e1,o1,f1=k(D,H,z),h1=await Promise.allSettled((()=>{let l1=[];for(let d1 of f1)l1.push(d1.cell.ensure());return l1})());if(i1!==c)return!1;let u1=null,b1=function(l1,d1){if(l1.entryIndex=d1,u1==null||d1=u1.entryIndex)break;for(let B of d1.bindings){o1=B.cell.peek();for(let n1 of B.tail){if(o1==null)break;o1=o1[n1]}if(o1==null){b1(w(B.path,B.file,`Rip App: gate '${B.path}' resolved to ${o1}; every gated subpath must exist and be non-null`),l1);break}B.value=o1}}if(u1!=null)throw u1;return!0},M=function(D,H){return Uo(D.cls,{gates:D.bindings,parent:H,stash:n,router:r})},L=function(D){let H=[];for(let z=D.length-1;z>=0;z--){let i1=D[z];try{i1.unmount?.()}catch(e1){H.push(e1);try{i1._teardown?.({state:"unmounted",hooks:!1,removeDOM:!0})}catch(o1){H.push(o1)}}}return H},A=function(){let D=o;o=[],l=null,h=[],u=null,d=null;let H=L(D);if(H.length)throw H[0];return},P=null,v=function(){P?.remove?.(),P=null;return},V=function(D){let H,z;v();let i1=D.error?.stack??D.stack??D.message??String(D);P=(()=>{if(typeof document<"u"&&typeof document.createElement==="function")return H=document.createElement("pre"),H.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",H.textContent=i1,H;else return z={nodeName:"PRE",textContent:i1,parentNode:null,remove(){let e1=z.parentNode?.children,o1=e1?.indexOf(z)??-1;if(o1>=0)e1.splice(o1,1);z.parentNode=null;return}},z})(),s.appendChild(P);return},W=function(){if(typeof document<"u"&&typeof document.createDocumentFragment==="function")return document.createDocumentFragment();let D=[];return{children:D,appendChild(H){return D.push(H),H}}},G=function(D,H=s){if(v(),D.nodeType===11)H.appendChild(D);else for(let z of D.children)H.appendChild(z);return},T=function(D,H){let z,i1=D._nodes??[D._root];for(let e1 of i1){if(!e1)continue;if(e1.matches?.("#content"))return e1;if(z=e1.querySelector?.("#content"),z)return z}return i1.find(function(e1){return e1!=null})??H},N=function(D){return D?.childNodes??D?.children??[]},F=function(D,H){D.slot=H,D.slotOwned=N(H).length;return},J=function(){let D,H,z=s;for(let i1=0;i10&&e1.slot!=null&&e1.slot!==z){H=Array.from(N(e1.slot)).slice(e1.slotOwned??0),F(e1,z);for(let o1 of H)z.appendChild(o1);D._target=z}if(i1===h.length-1)break;z=T(D,z)}if(h.length>1)u=z;return},x=function(D,H,z){let i1,e1,o1;if(!D.some(function(l1){return typeof l1.cls.prototype?.onError==="function"}))return!1;let f1=W(),h1=f1,u1=[];try{for(let l1=0;l10)F(d1,h1);if(e1.mount?.(h1),e1._state==="failed")return L(u1),!1;h1=T(e1,h1)}if(z!==c)return L(u1),!1;i1=null;for(let l1=u1.length-1;l1>=0;l1--){let d1=u1[l1];if(typeof d1.onError==="function"){i1=d1;break}}G(f1)}catch(l1){return console.error("[Rip] boundary chain failed to mount:",l1),L(u1),!1}let b1=o;o=u1,l=u1[u1.length-1]??null,h=D,u=h1,d=null;try{i1.onError(H)}catch(l1){console.error("[Rip] boundary onError error:",l1)}for(let l1 of L(b1))console.error("[Rip] boundary teardown error:",l1);return!0},Q=function(D,H){let z=null;for(let e1=D.length-1;e1>=0;e1--){let o1=D[e1];if(typeof o1.instance?.onError==="function"){z=o1.instance;break}}if(!z)return!1;let i1=o.slice(D.length);o=D.map(function(e1){return e1.instance}),l=o[o.length-1]??null,h=D,d=null;try{z.onError(H)}catch(e1){console.error("[Rip] boundary onError error:",e1)}for(let e1 of L(i1))console.error("[Rip] boundary teardown error:",e1);return!0},U=async function(D,H,z=i){let i1,e1,o1,f1,h1,u1,b1=D?.route;if(!b1?.file)throw Error("Rip App: renderer route state requires route.file");let l1=D.params??{},d1=D.query??{},B=D.layouts??[];if(!Array.isArray(B))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&&b1.file===d.file){if(b([...B,b1.file],n1)&&g(l1,d.params)){if(!(g(d1,d.query)||R(h,l1,d1))){if(typeof l.load==="function")await l.load(l1,d1);if(H!==c)return null;return d={file:b1.file,params:l1,query:d1},l}}}let Y=[...B,b1.file],X=d!=null&&B.length>0&&h.length===B.length+1&&b(B,n1.slice(0,-1))&&!R(h.slice(0,-1),l1,d1),t1=_!=null?Math.max(0,Math.min(_,Y.length-1)):X?B.length:0;if(_!=null&&t1>0){if(!(h.length===Y.length&&b(Y.slice(0,t1),n1.slice(0,t1))))t1=0}let C=[];for(let m1=0;m10){if(o1=X?Q(C.slice(0,i1),e1):x(C.slice(0,i1),e1,H),o1)return null}}throw e1}let a1=W(),E1=a1,y1=[],S1=t1>0?C[t1-1].instance:null,_1=t1>0,v1=_1?T(S1,s):s;try{for(let m1=C.slice(t1),D1=0;D10)F(pe,E1);if(f1.mount?.(E1),f1._state==="failed")throw Error(`Rip App: component '${pe.file}' failed during mount`);if(t1+D11?E1:v1,h=C,d={file:b1.file,params:l1,query:d1};let p1=L(R1);if(m=p1.length>0,p1.length)for(let m1 of p1)if(e1=je("","",m1),a!=null)try{a(e1)}catch(D1){console.error("[Rip] renderer teardown reporter failed:",D1)}else console.error("[Rip] renderer teardown error:",e1);return l},r1=function(D){let H,z,i1=D?.route;if(!i1?.file)return;let e1=D.params??{},o1=D.query??{},f1=D.layouts??i1.layouts??[],h1=h.map(function(l1){return l1.file}),u1=d!=null&&b(f1,h1.slice(0,-1));if(u1&&i1.file===d.file&&g(e1,d.params))return;let b1=u1?[i1.file]:[...f1,i1.file];try{H=(()=>{let l1=[];for(let d1 of b1)l1.push({file:d1,cls:hn(i,d1)});return l1})(),z=k(H,e1,o1)}catch(l1){return}for(let l1 of z)l1.cell.preload().catch(function(){return null});return},q=function(D,H){if(!(D!=null&&typeof D==="object"&&typeof H==="string"))return null;let z=function(e1){return typeof e1==="function"&&e1.__hmrId===H},i1=D.__hmrComponents;if(i1!=null&&typeof i1==="object")for(let e1 in i1){let o1=i1[e1];if(z(o1))return o1}if(z(D.default))return D.default;for(let e1 in D){let o1=D[e1];if(z(o1))return o1}return null},s1=function(D){let H=D+"#",z=[];for(let e1 of h)if(e1.file===D&&e1.instance!=null)z.push(e1.instance);for(let[e1,o1]of Yi())if(typeof e1==="string"&&e1.startsWith(H)){for(let f1 of o1.instances)if(!z.includes(f1))z.push(f1)}let i1=[];for(let e1 of z)i1.push({instance:e1,entry:h.find(function(o1){return o1.instance===e1})??null});return i1},I=function(D,H){let z,i1,e1,o1,f1=(()=>{let l1=[];for(let d1 of D)if(typeof d1==="string"&&d1.endsWith(".rip"))l1.push(d1);return l1})();if(!(f1.length>0))return"unknown";let h1=0,u1=!1,b1=new Set;for(let l1 of f1){if(o1=H.getCompiled(l1),e1=s1(l1),o1==null){if(typeof H.exists==="function"&&!H.exists(l1)){if(e1.some(function(d1){return d1.instance._state!=="unmounted"}))return"fallback"}else u1=!0;continue}for(let{instance:d1,entry:B}of e1){if(b1.has(d1))continue;if(d1._state==="unmounted")continue;if(d1._state!=="mounted")return"fallback";if(i1=d1.constructor?.__hmrId,z=typeof i1==="string"?q(o1,i1):null,z==null)return"fallback";if(wt(z),_t(d1.constructor,z)!=="patch")return"fallback";if(qi(d1,z),b1.add(d1),h1+=1,B!=null){if(B.cls=z,B!==h[h.length-1])J()}}}if(h1>0)return"done";return u1?"unknown":"idle"},c1=async function(D,H=i){let z,i1,e1,o1,f1;if(!(Array.isArray(D)&&D.length>0))return"noop";for(let X of D)if(X==="stash.rip"||X.startsWith("stash/")||X==="seed.rip")return"escape";let h1=r.current;if(!(h1?.route?.file&&h.length>0))return"noop";let b1=[...h1.layouts??h1.route.layouts??[],h1.route.file],l1=b(b1,h.map(function(X){return X.file})),d1=zi();try{if(f1=I(D,H),f1==="done")return Ir(d1),"narrow";if(f1==="idle"&&l1)return we("noop",{paths:[...D]}),"noop"}catch(X){console.error("[Rip] HMR patch failed; falling back to remount:",X),we("reject",{reason:"patch-failed",paths:[...D],message:X?.message?String(X.message):String(X)})}let B=new Set(D),n1=-1;for(let X=0;X{if(z?.name==="GateFailure")return z;else return e1=D?.route?.file??"",je(z?.path??e1,e1,z)})(),a?.(i1),l==null)V(i1);throw i1}finally{if(o1===c&&(Array.isArray(r)||typeof r==="string"?r.includes("navigating"):("navigating"in r)))r.navigating=!1}};let O=null;return O={current:null,mount:t,preload:r1,remountDirty:c1,start(){if(f)return O;return r.init?.(),f=x1(function(){let D=r.current;if(D?.route)t(D).catch(function(){return null});return}),O},stop(){let D,H;if(c++,f?.(),f=null,Array.isArray(r)||typeof r==="string"?r.includes("navigating"):("navigating"in r))r.navigating=!1;try{A()}catch(z){throw D=z,H=je("","",D),a?.(H),H}return}},Object.defineProperty(O,"current",{get(){return l}}),O}var Wo,Ho,un=Symbol.for("rip.app.stash.persisted"),Vo=Symbol.for("rip.app.stash.purge");Ho=function(e,t){return C1(t)?void 0:t};Wo=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 Br(e,t={}){let r,n=_e(e)||e;if(n[un])return function(){return null};n[un]=!0;let i=Wo(t),s=t.key||"__rip_app",a=t.debounce??2000;try{if(r=i.getItem(s),r)Je(e,JSON.parse(r))}catch(u){}let o=null,l=function(){o=null;try{i.setItem(s,JSON.stringify(_e(e),Ho))}catch(u){}return},c=!1,f=x1(function(){if(sn.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(n,Vo,{value(){if(o!=null)clearTimeout(o),o=null;try{i.removeItem(s)}catch(u){}return},configurable:!0,writable:!0});let h=!1;return function(){if(h)return;if(h=!0,f?.(),typeof window<"u")window.removeEventListener("beforeunload",l);l(),n[Vo]=null,n[un]=!1;return}}var Go,dn;dn=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(dn(t))return!1;let r=Pt(t);if(r==null)return!1;return e.claims(r)!=null}Go=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 Ur(e,t=null){if(!(e!=null&&typeof e.claims==="function"))throw TypeError("Rip App: ariaCurrent requires a router");t=t??Go();let r=new WeakMap,n=function(){let l,c,f,h,u=e.path;for(let d of t.anchors()){if(l=dn(d)?null:e.claims(Pt(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{n()}catch(l){console.error("[Rip] aria-current walk failed:",l)}return},s=x1(function(){return e.path,i()}),a=t.observe?.(i)??null,o=!1;return function(){if(o)return;o=!0,s(),a?.();try{for(let l of t.anchors())if(r.has(l)){if((l.getAttribute?.("aria-current")??null)===r.get(l))l.removeAttribute("aria-current");r.delete(l)}}catch(l){}return}}var Ko,Yo,mn,pn;Yo=50;Ko=3000;pn=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)}}}};mn=function(e){while(e!=null&&e.tagName!=="A")e=e.parentElement;return e??null};function Vr(e,t=null){if(!(e!=null&&typeof e.claims==="function"&&typeof e.push==="function"))throw TypeError("Rip App: interceptClicks requires a router");t=t??pn();let r=function(s){if(s.defaultPrevented)return;if(s.button!==0||s.metaKey||s.ctrlKey||s.shiftKey||s.altKey)return;let a=mn(s.target);if(!(a!=null&&Lt(e,a)))return;let o=e.claims(Pt(a));if(o==null)return;s.preventDefault(),e.push(o.url,{noScroll:a.hasAttribute?.("data-router-noscroll")===!0});return},n=t.listen("click",r),i=!1;return function(){if(i)return;i=!0,n();return}}function Wr(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??pn();let n=null,i=null,s={href:null,at:0},a=function(){if(n!=null)clearTimeout(n);n=null,i=null;return},o=function(h){let u=mn(h.target);if(!(u!=null&&Lt(e,u)))return;if(u===i)return;a(),i=u;let d=Pt(u);n=setTimeout(function(){n=null,i=null;let p=Date.now();if(d===s.href&&p-s.at1)throw AggregateError(S,"Rip App: launch.destroy failed");return};globalThis.__ripStash=l,globalThis.__ripRouter=f;try{if(typeof s.replaceChildren==="function")s.replaceChildren();else if(Array.isArray(s.children))s.children.length=0;h.start()}catch(S){throw b(),S}return{stash:l,components:c,router:f,renderer:h,destroy:b}}var bn,Gr,yn,Sn,Rn,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(s){return!s||s==="."||s===".."||s.startsWith(".")}),n=t.at(-1),i=t.slice(0,-1).some(function(s){return s.endsWith(".rip")});if(e.includes("\\")||e.startsWith("/")||r||i||n===".rip"||!n.endsWith(".rip"))throw TypeError(`Rip Workspace: invalid component path '${e}'`);return e};Gr=function(e){if(typeof e!=="string")throw TypeError("Rip Workspace: component source must be a string");return e};yn=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};Sn=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};Rn=function(e){if(!(e!=null&&typeof e==="object"&&!Array.isArray(e)))throw TypeError("Rip Workspace: compiled component module must be an object");return e};bn=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=Sn(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 n=new Map,i=new Map,s=e.sources;for(let o in s){if(!Object.hasOwn(s,o))continue;let l=s[o];n.set(V1(o),Gr(l))}let a=e.compiled;for(let o in a){if(!Object.hasOwn(a,o))continue;let l=a[o];if(o=V1(o),!n.has(o))throw Error(`Rip Workspace: compiled module '${o}' has no source`);i.set(o,Rn(l))}return{hash:r,sources:n,compiled:i}};function Kr(){let e,t=new Map,r=new Map,n=new Set,i=null,s=!1,a=function(l,c){for(let f of Array.from(n))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(s)throw Error("Rip Workspace: cannot write during a publication transition");l=V1(l),c=Gr(c);let f=t.has(l)?"change":"create";t.set(l,c),r.delete(l),a(f,l);return},del(l){if(s)throw Error("Rip Workspace: cannot delete during a publication transition");l=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=yn(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=yn(l);let c=l?l+"/":"",f=[];for(let[h]of t)if(h.startsWith(c))f.push(h);return f},load(l){if(s)throw Error("Rip Workspace: cannot load during a publication transition");if(!(l!=null&&typeof l==="object"&&!Array.isArray(l)))throw TypeError("Rip Workspace: component load expects a source object");let c=[];for(let f in l){if(!Object.hasOwn(l,f))continue;let h=l[f];c.push([V1(f),Gr(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");n.add(l);let c=!1;return function(){if(c)return;c=!0,n.delete(l);return}},getCompiled(l){return r.get(V1(l))},setCompiled(l,c){if(s)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,Rn(c));return},hash(){return i},activate(l){if(i!=null)throw Error("Rip Workspace: a publication is already active");if(s)throw Error("Rip Workspace: a publication transition is already staged");o(bn(l));return},stage(l,c,f){if(s)throw Error("Rip Workspace: a publication transition is already staged");if(l=Sn(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=bn(c),d={sources:t,compiled:r,hash:i};s=!0;let p=!1,m=function(g){let b;if(p)throw Error("Rip Workspace: publication transition is already finished");if(p=!0,s=!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 Xo,Jo,Zo,Qo,e2,t2,r2,Yr;Zo=250;Jo=8000;Xo=5000;r2=0;Yr=function(e){return typeof e==="string"&&/^[A-Za-z0-9_]{6}$/.test(e)};e2=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`};t2=function(){if(typeof WebSocket>"u")throw Error("Rip App: connectFeed needs a socket factory (no global WebSocket)");return function(e){return new WebSocket(e)}};Qo=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(!Yr(e.hash()))throw TypeError("Rip App: connectFeed client hash must be six Base64URL-folded characters");let n=t.hub??e2(),i=t.latestUrl??"/latest.json",s=t.makeSocket??t2(),a=t.fetch??Qo(),o=t.report??function(...x){return console.error(...x)},l=t.backoff?.min??Zo,c=t.backoff?.max??Jo,f=t.ackTimeout??Xo,h=!1,u=!1,d=!1,p=!1,m=null,g=0,b=null,S=null,w=0,R=null,k=[],j=Promise.resolve(),M=new Map,L=null,A=function(x){if(u||h)return;u=!0,e.reload(x);return},P=async function(x){let Q;if(u||h)return!1;try{if(Q=await e.apply(x),Q==="rejected"){if(Yr(x?.hash))L=x?.hash;return!1}if(Q==="reload"||!Q)return A("change could not be applied"),!1;return L=null,!0}catch(U){return o("[Rip] publication change failed:",U),A("change failed"),!1}},v=function(x,Q){j=j.then(async function(){if(Q!==w)return!0;return await P(x)}),j=j.catch(function(U){return o("[Rip] publication queue failed:",U),A("change queue failed"),!1});return},V=async function(x){let Q,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 s1=await q.json();if(!(s1!=null&&typeof s1==="object"&&!Array.isArray(s1)&&Object.keys(s1).length===1&&Object.hasOwn(s1,"hash")&&Yr(s1.hash)))throw Error("latest.json is malformed");if(h||u||x!==w)return;if(L!=null){if(s1.hash!==L){A(`a newer App generation followed rejected ${L}`);return}k=[],p=!0,g=0;return}let I=new Set([r1]),c1=0;while(c10))return"ignore";let s=(()=>{let f=[];for(let h of n)if(typeof h==="string"&&h.endsWith(".css"))f.push(h);return f})(),a=(()=>{let f=[];for(let h of n)if(typeof h==="string"&&h.endsWith(".rip"))f.push(h);return f})(),o=(()=>{let f=[];for(let h of n)if(typeof h==="string"&&!h.endsWith(".rip")&&!h.endsWith(".css"))f.push(h);return f})();if(a.length===0){if(o.length>0)return"reload";if(s.length>0)return"css";return"ignore"}let l=await e.renderer.remountDirty(a,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 M4=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")},j4=function(e){let t,r,n,i,s,a,o,l,c,f,h,u,d,p,m,g,b=M4(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 k=new DataView(R.buffer);k.setUint32(R.length-4,w>>>0,!1),k.setUint32(R.length-8,Math.floor(w/4294967296)>>>0,!1);let j=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],M=function(V,W){return V>>>W|V<<32-W},L=new Uint32Array(64),A=0;while(A>>3,p=M(L[V-2],17)^M(L[V-2],19)^L[V-2]>>>10,L[V]=L[V-16]+d+L[V-7]+p>>>0;[n,i,s,o,l,c,f,h]=j;for(let V=0;V<64;V++)r=M(l,6)^M(l,11)^M(l,25),a=l&c^~l&f,m=h+r+a+S[V]+L[V]>>>0,t=M(n,2)^M(n,13)^M(n,22),u=n&i^n&s^i&s,g=t+u>>>0,h=f,f=c,c=l,l=o+m>>>0,o=s,s=i,i=n,n=m+g>>>0;j[0]=j[0]+n>>>0,j[1]=j[1]+i>>>0,j[2]=j[2]+s>>>0,j[3]=j[3]+o>>>0,j[4]=j[4]+l>>>0,j[5]=j[5]+c>>>0,j[6]=j[6]+f>>>0,j[7]=j[7]+h>>>0,A+=64}let P=new Uint8Array(32),v=new DataView(P.buffer);for(let V=0;V<8;V++)v.setUint32(V*4,j[V],!1);return P},Mt=function(e){let t=j4(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("-","_")},Xr=function(e){let t=JSON.stringify(e.map(function(r){return[r.id,r.hash]}));return Mt(new TextEncoder().encode(t))};var F4=function(){return globalThis.__ripStash},B4=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,n=(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")||"",s=null;fetch(location.href,{method:"HEAD",cache:"no-store"}).then((f)=>{s=i(f)}).catch(()=>{});let a=()=>{if(s===null)return;fetch(location.href,{method:"HEAD",cache:"no-store"}).then((f)=>{if(i(f)!==s)location.reload()}).catch(()=>{})},o=!1,l=0,c=()=>{let f=location.protocol==="https:"?"wss://":"ws://",h=new WebSocket(f+location.host+"/hub");h.onopen=()=>h.send('{"+":["/assets"],"?":"observe"}'),h.onmessage=(u)=>{let d;try{d=JSON.parse(u.data)}catch{return}for(let 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(n(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:U4}=Nt;function kn(e,t={}){if(t.face==="ts")throw Error("rip: TypeScript face is unavailable in the browser");return ka(e,{...t,face:"js"})}var l2={intrinsics:hr,stdlib:ur,schema:br,reactive:Tr,components:Nt},c2=Object.freeze({...hr,...ur,...br,...Tr,...Nt}),V4=Object.freeze({rash:Mt,check:Xr}),f2=Object.freeze({"rip/app":Jr,"rip/app/rash":V4});var W4=new Map(Object.keys(l2).map((e)=>[new URL(`./runtime/${e}.js`,import.meta.url).pathname,e])),H4=/(?:^|\/)src\/runtime\/(intrinsics|stdlib|schema|reactive|components)\.js$/,Zr="__ripModuleBridge",G4=(e)=>e.slice(1,-1),i2=(e,t)=>{let r=e.split("/").slice(0,-1);for(let n of t.split("/")){if(n===""||n===".")continue;if(n===".."){if(!r.length)return null;r.pop()}else r.push(n)}return r.join("/")},n2=(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 h2({components:e,embeddedPackages:t={},debug:r=!1,hmr:n=!1}={}){if(!e||typeof e.read!=="function")throw TypeError("rip: createModuleLoader requires a component registry");let i=new Map,s=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[Zr]??={};let b=globalThis[Zr][m];if(b&&b!==g)throw Error(`rip: two copies of embedded module '${m}' are active on one page`);globalThis[Zr][m]=g;let S=[`const ns = globalThis['${Zr}'][${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=n2(S.join(` +`+h+"}"}return null};return(s)=>{let a=i(s,0);if(a!==null)console.log(a);else console.dir(s,{depth:null,colors:!0});return s}})(),Da=(e,t)=>{throw t!==void 0?new e(t):Error(e)},xa=(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(),Ca=(e)=>new Promise((t)=>setTimeout(t,e)),Pa=(e)=>{throw Error(e||"Not implemented")},La=(...e)=>console.warn(...e),Ma=(...e)=>e[0].map((t,r)=>e.map((n)=>n[r])),ja=(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 br={};Fe(br,{SchemaDef:()=>Et,SchemaError:()=>I1,SchemaRegistry:()=>te,__schema:()=>e4,installPersistence:()=>q3,registerCoercer:()=>J3});var Wa=Symbol.for("rip.runtime.schema");if(globalThis[Wa])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[Wa]=!0;var ke=null;function q3(e){if(ke&&ke!==e)throw Error("the Rip schema persistence runtime is already installed — two different copies met in one process");ke=e}class I1 extends Error{constructor(e,t,r){super(X3(e,t));this.name="SchemaError",this.issues=e,this.schemaName=t||null,this.schemaKind=r||null}}function X3(e,t){if(!e||!e.length)return"SchemaError";return(t?t+": ":"")+e.map((n)=>n.message||n.error||"invalid").join("; ")}var Ha={__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},gr={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],n=+t[3],i=new Date(Date.UTC(+t[1],r,0)).getUTCDate();if(r<1||r>12||n<1||n>i)return{ok:!1};let s=new Date(e);if(!Number.isNaN(s.getTime()))return{ok:!0,value:s}}return{ok:!1}}};gr.datetime=gr.date;function dr(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 Bi=new Map;function J3(e,t,r){if(typeof e!=="string"||typeof t!=="function")throw Error("registerCoercer(name, fn, opts?): name string and fn required");let n=Object.prototype.toString.call(t);if(n==="[object AsyncFunction]"||n==="[object GeneratorFunction]"||n==="[object AsyncGeneratorFunction]")throw Error("registerCoercer: coercer '~:"+e+"' must be a plain synchronous function");let i=r?.raw===!0,s=Bi.get(e);if(s){if(s.raw===i&&String(s.fn)===String(t))return t;throw Error("registerCoercer: coercer '~:"+e+"' is already registered")}return Bi.set(e,{fn:t,raw:i}),t}function St(e){if(Ha[e])return null;let t=te.get(e);return t&&(t.kind==="shape"||t.kind==="input"||t.kind==="model"||t.kind==="union")?t:null}function Ui(e,t,r){let n=Ha[t];if(n)return n(e)?{value:e}:{errors:[{field:"",error:"type",message:"must be "+t}]};let i=te.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 s=r?.existing?i._runExistingSync(e,{...r,materialize:!1,materializeNested:!1}):i._runSync(e,{...r,materialize:!1,materializeNested:!1});if(s.thrown){if(r?.derived==="throw")throw s.thrown;return{errors:[{field:"",error:"derived",message:s.thrown?.message||String(s.thrown)}]}}return s.ok?{value:s.value}:{errors:s.errors}}async function Fa(e,t,r){let n=St(t);if(n===null)return Ui(e,t,r);if(n.kind==="union"){let s=n._unionResolve(e);if(s.issue)return{errors:[s.issue]};let a=r?.existing?await s.def._runExistingAsync(e,{...r,materialize:!1,materializeNested:!1}):await s.def._runAsync(e,{...r,materialize:!1,materializeNested:!1});if(a.thrown){if(r?.derived==="throw")throw a.thrown;return{errors:[{field:"",error:"derived",message:a.thrown?.message||String(a.thrown)}]}}return a.ok?{value:a.value}:{errors:a.errors}}if(e===null||typeof e!=="object"||Array.isArray(e))return{errors:[{field:"",error:"type",message:"must be a "+t+" object"}]};let i=r?.existing?await n._runExistingAsync(e,{...r,materialize:!1,materializeNested:!1}):await n._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 mr(e,t,r){if(!t)return e+" "+r;if(r.startsWith(t))return e+r.slice(t.length);return e+": "+r}var pr=Symbol("schema.materialization-error");function Ba(e,t){if(e&&e[pr])return{[pr]:!0,error:e.error,field:Rt(t,e.field)};return{[pr]:!0,error:e,field:t}}function Ge(e){return e&&e[pr]?{thrown:e.error,derivedField:e.field}:{thrown:e,derivedField:""}}var Z3=tt;function Ua(e){let t=(n)=>JSON.stringify(n??null,(i,s)=>s instanceof RegExp?String(s):typeof s==="function"?"":s),r=[e.kind];for(let n of e._desc.entries||[])switch(n.tag){case"field":r.push("f:"+n.name+":"+(n.typeName||"")+(n.array?"[]":"")+":"+(n.modifiers||[]).join("")+(n.literals?":"+n.literals.join(","):"")+":"+t(n.constraints)+(n.coerce?":~"+(n.coercer||""):"")+(n.transform?":t":""));break;case"enum-member":r.push("e:"+n.name+"="+String(n.value));break;case"directive":r.push("d:"+n.name+":"+t(n.args));break;case"ensure":r.push("n:"+(n.message||""));break;default:r.push(n.tag+":"+(n.name||""))}return r.join("|")}var Ee=0,te={_entries:new Map,replace:!1,register(e){if(!e.name)return;Ee++;let t=this._entries.get(e.name);if(t&&t.def!==e&&!this.replace){if(Ua(t.def)!==Ua(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(),Ee++},scope(e){let t=this._entries;this._entries=new Map,Ee++;let r=()=>{this._entries=t,Ee++};try{let n=e();if(n&&typeof n.then==="function")return n.finally(r);return r(),n}catch(n){throw r(),n}}};class Et{constructor(e){if(e.kind==="model"&&!ke)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")ke.decorateDef(this,e)}_normalize(){if(this._norm)return this._norm;let e=new Map,t=new Map,r=new Map,n=new Map,i=new Map,s=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(n.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(!Z3(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),n.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(s.has(S.name))f(S.name,"scope");s.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")Ya(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:n,hooks:i,scopes:s,defaultScope:a,directives:o,enumMembers:l,ensures:c,hasAsyncEnsures:c.some((S)=>S.async),unionOn:m,unionMembers:g};if(this.kind==="model")ke.finishModelNorm(this,b);return this._norm=b,this._norm}_unionPlan(){if(this._unionPlanCache&&this._unionPlanCache.gen===Ee)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,n=[];for(let s of e.unionMembers){let a=te.get(s);if(!a)throw new I1([{field:"",error:"union",message:"unknown union constituent: "+s+" (import the file that declares it)"}],this.name,this.kind);n.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:s+" must declare '"+t+"' as a string-literal type (e.g. "+t+'! "click") to join union '+(this.name||"")}],this.name,this.kind);for(let l of o.literals){if(r.has(l))throw new I1([{field:t,error:"union",message:"duplicate discriminator value "+JSON.stringify(l)+" in "+(r.get(l).name||"anon")+" and "+s}],this.name,this.kind);r.set(l,a)}}let i={disc:t,map:r,expected:[...r.keys()].join(" | "),hasAsyncEnsures:n.some((s)=>s._normalize().hasAsyncEnsures)};return this._unionPlanCache={gen:Ee,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,n]of t.derived){let i=n.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 n=this._normalize();for(let[i,s]of n.fields){let a=St(s.typeName);if(!a)continue;let o=e[i];if(o===void 0||o===null)continue;let l=t==null?void 0:t[i];if(s.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)n.push((async()=>{let o=!1;try{o=!!await i.fn(e)}catch{o=!1}if(!o)r.push({idx:s,issue:a()})})());else{let o=!1;try{o=!!i.fn(e)}catch{o=!1}if(!o)r.push({idx:s,issue:a()})}}),await Promise.all(n),r.sort((i,s)=>i.idx-s.idx),r.map((i)=>i.issue)}_transitiveAsync(){if(this._taGen===Ee)return this._taCache;let e=new Set,t=(r)=>{if(e.has(r))return!1;e.add(r);let n=r._normalize();if(n.hasAsyncEnsures)return!0;if(r.kind==="union"){for(let i of n.unionMembers){let s=te.get(i);if(s&&t(s))return!0}return!1}for(let i of n.fields.values()){let s=St(i.typeName);if(s&&t(s))return!0}return!1};return this._taCache=t(this),this._taGen=Ee,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()],n={[t]:class{constructor(i){if(i&&typeof i==="object"){for(let s of r)if(s in i&&i[s]!==void 0)this[s]=i[s]}}}}[t];for(let[i,s]of e.methods)Object.defineProperty(n.prototype,i,{value:s,writable:!0,enumerable:!1,configurable:!0});for(let[i,s]of e.computed)Object.defineProperty(n.prototype,i,{get:s,enumerable:!1,configurable:!0});return this._klass=n,n}_coerceDates(e){let t=this._normalize(),r=(s)=>typeof s==="string"&&/^\d{4}-\d{2}-\d{2}([T ].*)?$/.test(s),n=(s)=>{let a=/^(\d{4})-(\d{2})-(\d{2})/.exec(s),o=+a[2],l=+a[3];return o>=1&&o<=12&&l>=1&&l<=new Date(Date.UTC(+a[1],o,0)).getUTCDate()},i=(s)=>{if(!n(s))return s;let a=new Date(s);return Number.isNaN(a.getTime())?s:a};for(let[s,a]of t.fields){if(a.typeName!=="date"&&a.typeName!=="datetime")continue;let o=e[s];if(a.array&&Array.isArray(o))e[s]=o.map((l)=>r(l)?i(l):l);else if(r(o))e[s]=i(o)}}_validateFields(e,t,r,n){let i=this._normalize(),s=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;s.push({field:a,error:"required",message:a+" is required"})}continue}if(o.array){if(!Array.isArray(l)){if(!t)return!1;s.push({field:a,error:"type",message:a+" must be an array"});continue}let f=o.constraints;if(f){if(f.min!=null&&l.lengthf.max){if(!t)return!1;s.push({field:a,error:"max",message:a+" must have at most "+f.max+" items"})}}if(n?.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(n?.deferNested&&St(o.typeName))continue;let f=Ui(l,o.typeName,n);if(f.errors){if(!t)return!1;for(let h of f.errors){let u=Rt(a,h.field);s.push({field:u,error:h.error,message:mr(u,h.field,h.message)})}continue}if(f.value!==l)e[a]=f.value}let c=o.constraints;if(c){if(typeof l==="string"){if(c.min!=null&&l.lengthc.max){if(!t)return!1;s.push({field:a,error:"max",message:a+" must be at most "+c.max+" chars"})}if(c.regex){if(c.regex.global||c.regex.sticky)c.regex.lastIndex=0;if(!c.regex.test(l)){if(!t)return!1;s.push({field:a,error:"pattern",message:a+" is invalid"})}}}else if(typeof l==="number"){if(c.min!=null&&l= "+c.min})}if(c.max!=null&&l>c.max){if(!t)return!1;s.push({field:a,error:"max",message:a+" must be <= "+c.max})}}}}return t?s:!0}_applyDefaults(e){let t=this._normalize();for(let[r,n]of t.fields)if((e[r]===void 0||e[r]===null)&&n.constraints?.default!==void 0){let i=n.constraints.default;e[r]=typeof i==="object"&&i!==null&&!(i instanceof RegExp)?structuredClone(i):i}return e}_applyTransforms(e,t){let r=this._normalize(),n=[];for(let[i,s]of r.fields){if(!s.transform)continue;try{t[i]=s.transform(e)}catch(a){n.push({field:i,error:"transform",message:a?.message||String(a)})}}return n}_applyCoercions(e,t){let r=this._normalize(),n=[];for(let[i,s]of r.fields){if(!s.coerce)continue;let a=e[i];if(a===void 0||a===null)continue;if(s.coercer){let l=Bi.get(s.coercer);if(!l)throw Error("schema: no coercer registered for '~:"+s.coercer+"' (field '"+i+"' on "+(this.name||"anon")+"). Register it with registerCoercer('"+s.coercer+"', fn).");let c=l.raw?a:String(a).trim(),f;try{f=l.fn(c)}catch{f=null}if(f===null||f===void 0)n.push({field:i,error:"coerce",message:i+" is not a valid "+s.coercer}),t.add(i);else e[i]=f;continue}let o=gr[s.typeName]?gr[s.typeName](a):{ok:!1};if(o.ok)e[i]=o.value;else n.push({field:i,error:"coerce",message:i+" cannot be coerced to "+s.typeName}),t.add(i)}return n}_orderFieldErrors(...e){let t=new Map,r=0;for(let[n]of this._normalize().fields)t.set(n,r++);return e.flat().map((n,i)=>{let s=String(n.field||"").split(/[.[]/,1)[0];return{issue:n,seq:i,rank:t.has(s)?t.get(s):r}}).sort((n,i)=>n.rank-i.rank||n.seq-i.seq).map((n)=>n.issue)}_validateEnum(e,t){let r=this._normalize();for(let[i,s]of r.enumMembers)if(e===i||e===s)return t?[]:!0;if(!t)return!1;let n=[...r.enumMembers.keys()].join(", ");return[{field:"",error:"enum",message:(this.name||"enum")+" expected one of: "+n}]}_materializeEnum(e){let t=this._normalize();for(let[r,n]of t.enumMembers)if(e===r||e===n)return n;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=dr(e);if(r)return{ok:!1,errors:[r]};let n=e,i={...n},s=new Set,a=this._applyTransforms(n,i),o=this._applyCoercions(i,s);this._applyDefaults(i),this._coerceDates(i);let l=this._orderFieldErrors(a,o,this._validateFields(i,!0,s,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=dr(e);if(r)return{ok:!1,errors:[r]};let n=e,i={...n},s=new Set,a=this._applyTransforms(n,i),o=this._applyCoercions(i,s);this._applyDefaults(i),this._coerceDates(i);let l=await this._validateFieldsAsync(i,s,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 n=this._normalize(),i=[];for(let[s,a]of n.fields){if(t&&t.has(s))continue;let o=e[s];if(o===void 0||o===null){if(a.required)i.push({field:s,error:"required",message:s+" is required"});continue}if(a.array){if(!Array.isArray(o)){i.push({field:s,error:"type",message:s+" must be an array"});continue}let f=a.constraints;if(f?.min!=null&&o.lengthf.max)i.push({field:s,error:"max",message:s+" must have at most "+f.max+" items"});let h=Array(o.length),u=!1;for(let d=0;dJSON.stringify(f)).join(", ")})}else{let f=await Fa(o,a.typeName,r);if(f.errors)for(let h of f.errors){let u=Rt(s,h.field);i.push({field:u,error:h.error,message:mr(u,h.field,h.message)})}else e[s]=f.value}let l=e[s],c=a.constraints;if(c){if(typeof l==="string"){if(c.min!=null&&l.lengthc.max)i.push({field:s,error:"max",message:s+" must be at most "+c.max+" chars"});if(c.regex){if(c.regex.global||c.regex.sticky)c.regex.lastIndex=0;if(!c.regex.test(l))i.push({field:s,error:"pattern",message:s+" is invalid"})}}else if(typeof l==="number"){if(c.min!=null&&l= "+c.min});if(c.max!=null&&l>c.max)i.push({field:s,error:"max",message:s+" 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=dr(e);if(r)return{ok:!1,errors:[r]};let n={...e},i=this._validateFields(n,!0,null,{...t,existing:!0});if(i.length)return{ok:!1,errors:i};let s=t?.skipEnsures?[]:this._applyEnsures(n);if(s.length)return{ok:!1,errors:s};if(t?.materializeNested)try{this._materializeNestedValues(n,e,!0)}catch(a){return{ok:!1,errors:null,...Ge(a)}}return this._finishExistingValue(e,n,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=dr(e);if(r)return{ok:!1,errors:[r]};let n={...e},i=await this._validateFieldsAsync(n,null,{...t,existing:!0});if(i.length)return{ok:!1,errors:i};let s=t?.skipEnsures?[]:await this._applyEnsuresAsync(n);if(s.length)return{ok:!1,errors:s};if(t?.materializeNested)try{this._materializeNestedValues(n,e,!0)}catch(a){return{ok:!1,errors:null,...Ge(a)}}return this._finishExistingValue(e,n,t)}_finishExistingValue(e,t,r){if(!r?.materialize)return{ok:!0,value:t};let n=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 s=new n(t);try{this._applyEagerDerived(s)}catch(a){return{ok:!1,errors:null,thrown:a}}return{ok:!0,value:s}}parse(e){if(this.kind==="mixin")throw Error(":mixin schema '"+(this.name||"anon")+"' is not instantiable");this._assertSyncValidatable("parse");let t=this._runSync(e,{materialize:!0,materializeNested:!0,derived:"throw"});if(t.ok)return t.value;if(t.thrown)throw t.thrown;let r=t.from||this;throw new I1(t.errors,r.name,r.kind)}get array(){let e=this,t=(s)=>({field:"",error:"not_array",message:"expected an array, received "+(s===null?"null":s===void 0?"undefined":typeof s==="object"?"an object with keys ["+Object.keys(s).join(", ")+"]":typeof s)}),r=(s)=>{let a=[],o=[];return s.forEach((l,c)=>{if(l.ok)a.push(l.value);else for(let f of l.errors)o.push({...f,field:"["+c+"]"+(f.field?"."+f.field:"")})}),{value:a,errors:o}},n=(s)=>{let a=[],o=[];return s.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(s)=>{let a=[],o=[];for(let l=0;le.safe(l)));return o.length?{ok:!1,value:null,errors:o}:{ok:!0,value:a,errors:null}},ok(s){return Array.isArray(s)&&s.every((a)=>e.ok(a))},async parseAsync(s){if(!Array.isArray(s))throw new I1([t(s)],e.name,e.kind);let{value:a,errors:o}=await i(s);if(o.length)throw new I1(o,e.name,e.kind);return a},async safeAsync(s){if(!Array.isArray(s))return{ok:!1,value:null,errors:[t(s)]};let{value:a,errors:o}=r(await Promise.all(s.map((l)=>e.safeAsync(l))));return o.length?{ok:!1,value:null,errors:o}:{ok:!0,value:a,errors:null}},async okAsync(s){return Array.isArray(s)&&(await Promise.all(s.map((a)=>e.okAsync(a)))).every(Boolean)},toJSONSchema(){return{type:"array",items:e.toJSONSchema()}}}}safe(e){if(this.kind==="mixin")return{ok:!1,value:null,errors:[{field:"",error:"mixin",message:"not instantiable"}]};this._assertSyncValidatable("safe");let t=this._runSync(e,{materialize:!0,materializeNested:!0,derived:"issue"});if(t.ok)return{ok:!0,value:t.value,errors:null};if(t.thrown)return{ok:!1,value:null,errors:[{field:t.derivedField||"",error:"derived",message:t.thrown?.message||String(t.thrown)}]};return{ok:!1,value:null,errors:t.errors}}ok(e){if(this.kind==="mixin")return!1;return this._assertSyncValidatable("ok"),this._runSync(e,{materialize:!1,materializeNested:!1,derived:"issue"}).ok}async parseAsync(e){if(this.kind==="mixin")throw Error(":mixin schema '"+(this.name||"anon")+"' is not instantiable");let t=await this._runAsync(e,{materialize:!0,materializeNested:!0,derived:"throw"});if(t.ok)return t.value;if(t.thrown)throw t.thrown;let r=t.from||this;throw new 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=Fi(e),n=new Map;for(let i of r){if(!t.has(i))throw Error("pick: unknown field '"+i+"' on "+(this.name||"schema"));n.set(i,t.get(i))}return n})}omit(...e){return yt(this,(t)=>{let r=new Set(Fi(e)),n=new Map;for(let[i,s]of t)if(!r.has(i))n.set(i,s);return n})}partial(){return yt(this,(e)=>{let t=new Map;for(let[r,n]of e)t.set(r,{...n,required:!1});return t})}required(...e){return yt(this,(t)=>{let r=new Set(Fi(e)),n=new Map;for(let[i,s]of t)n.set(i,{...s,required:r.has(i)?!0:s.required});return n})}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),n=e._normalize().fields;for(let[i,s]of n){if(r.has(i))throw Error("extend(): field '"+i+"' collides between "+(this.name||"schema")+" and "+(e.name||"other"));r.set(i,s)}return r})}toJSONSchema(){let e={defs:new Map,expanding:new Set},t=Ka(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,n]of e.defs)t.$defs[r]=n}return t}}var Va={__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 Q3(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(Va[e.typeName])r=Va[e.typeName]();else{let i=te.get(e.typeName);r=i?Ga(i,t):{}}let n=e.constraints;if(n&&!e.array){if(r.type==="string"){if(n.min!=null)r.minLength=n.min;if(n.max!=null)r.maxLength=n.max;if(n.regex)r.pattern=n.regex.source}else if(r.type==="number"||r.type==="integer"){if(n.min!=null)r.minimum=n.min;if(n.max!=null)r.maximum=n.max}}if(e.array){if(r={type:"array",items:r},n){if(n.min!=null)r.minItems=n.min;if(n.max!=null)r.maxItems=n.max}}if(n&&n.default!==void 0)r.default=n.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 Ga(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,Ka(e,t)),t.expanding.delete(r);return{$ref:"#/$defs/"+r}}function Ka(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=te.get(l);return c?Ga(c,t):{}}),discriminator:{propertyName:a.disc}}}let n={},i=[];for(let[a,o]of r.fields)if(n[a]=Q3(o,t),o.required&&o.constraints?.default===void 0)i.push(a);if(e.kind==="model")ke.jsonSchemaModelColumns(e,n);let s={type:"object",properties:n};if(i.length)s.required=i;if(r.ensures.length)s.description="Refinements (not expressible in JSON Schema): "+r.ensures.map((a)=>a.message).join("; ")+".";return s}function Fi(e){let t=[];for(let r of e)if(Array.isArray(r))for(let n of r)t.push(n);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"?ke.projectableFields(e):e._normalize().fields,n=t(r),i=[];for(let[,o]of n){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 s=(e.name||"Schema")+"Derived",a=new Et({kind:"shape",name:s,entries:i});return a._sourceModel=e._sourceModel||(e.kind==="model"?e:null),a}function Ya(e,t,r,n){for(let i of r){if(i.name!=="mixin"||!i.args||!i.args[0])continue;let s=i.args[0].target;if(!s)continue;if(n.stack.includes(s))throw new I1([{field:"",error:"mixin-cycle",message:"mixin cycle: "+n.stack.concat(s).join(" -> ")}],e.name,e.kind);if(n.seen.has(s))continue;let a=te.getKind(s,"mixin");if(!a)throw new I1([{field:"",error:"mixin-missing",message:"unknown mixin: "+s}],e.name,e.kind);n.seen.add(s),n.stack.push(s);let o=a._desc.entries.filter((l)=>l.tag==="directive"&&l.name==="mixin").map((l)=>({name:l.name,args:l.args||[]}));Ya(e,t,o,n);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 "+s+" 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 "+s+" carries persistence metadata (@unique/attrs) — :model-only; a :"+e.kind+" cannot include it"}],e.name,e.kind);t.set(l.name,{name:l.name,required:l.modifiers.includes("!"),optional:l.modifiers.includes("?"),unique:l.unique===!0,attrs:l.attrs||null,typeName:l.typeName,literals:l.literals||null,array:l.array===!0,coerce:l.coerce===!0,coercer:l.coercer||null,constraints:l.constraints||null,transform:l.transform||null})}n.stack.pop()}}function e4(e){let t=new Et(e);if(t.name)te.register(t);return t}if(typeof globalThis<"u")globalThis.__ripSchema=globalThis.__ripSchema||{},globalThis.__ripSchema.SchemaRegistry=te;var Tr={};Fe(Tr,{__batch:()=>M1,__catchErrors:()=>ue,__computed:()=>K1,__detachRef:()=>Vi,__effect:()=>x1,__handleError:()=>re,__ownerFrame:()=>Tt,__popOwner:()=>q1,__pushOwner:()=>le,__readonly:()=>fe,__setEffectErrorReporter:()=>t4,__setErrorHandler:()=>he,__state:()=>A1,getEffectSignal:()=>ce});var Xa=Symbol.for("rip.runtime.reactive");if(globalThis[Xa])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[Xa]=!0;var N1=null,Er=[],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 t4(e){let t=kt;return kt=e,t}function Ja(){try{while(Ke.size>0){let e=Ke.shift();if(!e._disposed)e.run()}}catch(e){throw Ke.clear(),e}}var Za={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,n=!1,i=!1,s=!1,a=()=>{if(N1&&typeof N1.markDirty==="function"&&N1.dependencies.has(r))throw Error("reactive runtime: computed dependency changed during evaluation — "+"computed functions must derive without writing or touching a dependency")},o=()=>{for(let f of Er)f.writtenSignals.add(r)},l=()=>{n=!0;try{for(let f of r)if(f.markDirty)f.markDirty(!0);else f._hard=!0,Ke.add(f);if(!Rr)Ja()}finally{n=!1}},c={get value(){if(s)return t;if(N1?.writtenSignals&&Er.some((f)=>f.writtenSignals.has(r)))throw Error("reactive runtime: computed dependency changed during evaluation — "+"computed functions must derive without writing or touching a dependency");if(N1)r.add(N1),N1.dependencies.add(r);return t},set value(f){if(s||i||f===t)return;if(a(),n)return;o(),t=f,l()},read(){return t},touch(){if(s)return;if(a(),n)return;o(),l()},lock(){return i=!0,c},free(){return r.clear(),c},kill(){return s=!0,r.clear(),t},...Za};return c}var yr=0,za=1,Sr=2;function Qa(e){let t=N1;N1=null;try{for(let[r,n]of e.computedDeps)if(r.value,r.version!==n)return!0;return!1}finally{N1=t}}function K1(e){let t,r=Sr,n=new Set,i=!1,s=!1,a=!1,o={dependencies:new Set,computedDeps:new Map,writtenSignals:new Set,version:0,markDirty(l){if(s||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=Sr;else if(r===yr)r=za;if(c!==yr)return;for(let f of n)if(f.markDirty)f.markDirty(!1);else Ke.add(f)},get value(){if(s)return t;if(N1&&N1!==o)n.add(N1),N1.dependencies.add(n),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===za&&!i)r=Qa(o)?Sr:yr;if(r===Sr&&!i){for(let c of o.dependencies)c.delete(o);o.dependencies.clear(),o.computedDeps.clear();let l=N1;o.writtenSignals.clear(),N1=o,Er.push(o),a=!0;try{let c=e();if(c!==t)o.version++;t=c,r=yr}finally{a=!1,Er.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(),n.clear(),o},kill(){s=!0;let l=t;return o.free(),l},...Za};return o}function qa(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,n=B1,i={depth:n?n.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&&!Qa(i))return;if(t){try{t.abort()}catch{}t=null}let o=++r;qa(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=n;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{}qa(i);for(let a of i.dependencies)a.delete(i);i.dependencies.clear()}};try{i.run()}catch(a){throw i.dispose(),a}let s=()=>i.dispose();if(B1)B1.add(s);return s}function M1(e){if(Rr)return e();Rr=!0;try{return e()}finally{Rr=!1,Ja()}}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(s){if(t===null)s();else t.push(s)},remove(s){if(t===null)return;let a=t.indexOf(s);if(a>=0)t.splice(a,1)},dispose(){if(t===null)return;let s=t;if(t=null,r!==null){let a=r;r=null,a()}for(let a of s)try{a()}catch(o){kt("[Rip] effect disposer error:",o)}}};if(e&&B1){let s=B1;s.add(i.dispose),r=()=>s.remove(i.dispose)}return i}function le(e){let t={frame:e,prev:B1};return B1=e,t}function q1(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 ce(){return N1?N1.signal:null}function fe(e){return Object.freeze({value:e})}function Vi(e,t){if(e&&typeof e.read==="function"&&e.read()===t)e.value=null}var kr=null;function he(e){let t=kr;return kr=e,t}function re(e){if(kr)try{kr(e)}catch(t){console.error("Error in error handler:",t),console.error("Original error:",e)}else throw e}function ue(e){return function(...t){try{return e.apply(this,t)}catch(r){re(r)}}}var Nt={};Fe(Nt,{__Component:()=>yo,__claimGateConstructor:()=>Xi,__clsx:()=>vr,__detach:()=>Ar,__detachRef:()=>Vi,__gateBind:()=>E4,__handleComponentError:()=>Ki,__hmrClassify:()=>_t,__hmrEmit:()=>we,__hmrEntries:()=>Yi,__hmrEvents:()=>a4,__hmrLookup:()=>r4,__hmrMigrateDiff:()=>co,__hmrMigrateRemount:()=>f4,__hmrPatch:()=>qi,__hmrPreserveState:()=>Or,__hmrRegisterDefinition:()=>wt,__hmrRegistry:()=>Te,__hmrRestoreUi:()=>Ir,__hmrSnapshotUi:()=>zi,__lis:()=>go,__ownerFrame:()=>Tt,__popComponent:()=>de,__popOwner:()=>q1,__pushComponent:()=>Le,__pushOwner:()=>le,__reconcile:()=>m4,__reportChildFailure:()=>S4,__setChildFailureReporter:()=>y4,__style:()=>bo,__transition:()=>g4,getContext:()=>u4,hasContext:()=>d4,setContext:()=>h4});var ao=Symbol.for("rip.runtime.components");if(globalThis[ao])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[ao]=!0;var Y1=null,oo={},_r=null,lo=new WeakMap,eo=!1,Te=new Map;function Wi(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=n.filter((c)=>!i.has(c)),l=r.filter((c)=>!s.has(c));return{kept:a,added:o,removed:l}}var Nr=[],s4=64;function we(e,t={}){let r={type:e,at:Date.now(),...t};if(Nr.push(r),Nr.length>s4)Nr.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 a4(){return Nr.slice()}function Or(e,t){let r=e?.constructor?.__hmrSig,n=t?.constructor?.__hmrSig,i=r?.state,s=n?.state,a=co(r,n);if(!Array.isArray(i)||!Array.isArray(s))return we("migrate",{id:t?.constructor?.__hmrId??null,...a,copied:[]}),a;let o=new Set(i),l=[];for(let f of s){if(!o.has(f))continue;let h=e[f],u=t[f];if(h!=null&&u!=null&&typeof h==="object"&&typeof u==="object"&&"value"in h&&"value"in u)u.value=h.value,l.push(f)}let c=t?.constructor?.__hmrId??e?.constructor?.__hmrId??null;return we("migrate",{id:c,...a,copied:l}),{...a,copied:l}}var fo=["name","type","placeholder"];function ho(e){let t=(n)=>typeof e[n]==="string"&&e[n]?e[n]:null,r={tag:e.tagName??null};for(let n of fo)r[n]=t(n);return r.label=typeof e.getAttribute==="function"?e.getAttribute("aria-label"):null,r.value=typeof e.value==="string"?e.value:null,r}function Hi(e,t,r){if(!e||!t)return!1;let n=ho(e);for(let i of["tag",...fo,"label"])if(n[i]!==t[i])return!1;return!r||t.value==null||n.value===t.value}function o4(e){let t=ho(e),r=typeof e.id==="string"&&e.id?e.id:null,n=[],i=e;while(i&&i!==document.body){let s=i.parentElement??i.parentNode??null;if(!s||!s.children)return{identity:t,id:r,path:null};n.unshift(Array.prototype.indexOf.call(s.children,i)),i=s}return{identity:t,id:r,path:i===document.body?n:null}}function l4(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(Hi(o,r.identity,!1))return o}if(!Array.isArray(r.path)||r.path.length===0)return null;let n=document.body;for(let o of r.path.slice(0,-1))if(n=n?.children?.[o]??null,!n)return null;let i=Array.from(n.children??[]),s=i[r.path[r.path.length-1]]??null;if(Hi(s,r.identity,!0))return s;let a=i.filter((o)=>Hi(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?o4(t):null,selection:r,scrollX:typeof window<"u"?window.scrollX:0,scrollY:typeof window<"u"?window.scrollY:0}}function Ir(e){if(!e||typeof document>"u")return;if(typeof window<"u")window.scrollTo(e.scrollX??0,e.scrollY??0);let t=l4(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 uo(e,t){let r=e.constructor?.__hmrId;if(typeof r==="string"&&r)Te.get(r)?.instances.delete(e);Object.setPrototypeOf(e,t.prototype),Object.defineProperty(e,"constructor",{value:t,writable:!0,configurable:!0}),wt(t),Te.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 uo(e,t),e._hmrRerender(),we("patch",{id:t.__hmrId??r??null}),e}function mo(e){return Object.keys(e).sort().join(",")}function c4(e,t){let n=(Y1?._projectionOwner??Y1)?._hmrOrphans;if(!n||n.length===0)return null;let i=e.__hmrId;if(typeof i!=="string")return null;let s=mo(t),a=null;for(let o of n){if(o._state!=="mounted"||o.constructor.__hmrId!==i||o._hmrPropKeys!==s)continue;if(a)return null;a=o}if(!a||_t(a.constructor,e)!=="patch")return null;if(n.splice(n.indexOf(a),1),a.constructor!==e)uo(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 f4(e,t,r={}){let n=new t(r);return Or(e,n),n}function Xi(){if(eo)throw Error("[Rip] the render-gate construction capability is already claimed");return eo=!0,(e,t)=>{let r=_r;_r={brand:oo,component:e,gates:t.gates,parent:t.parent??null,stash:t.stash??null,router:t.router??null,used:!1};try{return new e({})}finally{_r=r}}}function Ar(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=Y1;if(e&&e._parent==null&&t&&t!==e)e._parent=t;return Y1=e,t}function de(e){Y1=e}function h4(e,t){if(!Y1)throw Error("setContext must be called during component initialization");if(!Y1._context)Y1._context=new Map;Y1._context.set(e,t)}function po(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 n=typeof t.__hmrId==="string"?t.__hmrId:null,i=Y1,s=new Set;while(i&&!s.has(i)){if(s.add(i),i instanceof t||n!==null&&i.constructor?.__hmrId===n)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 u4(e,t){let r=po("getContext",e,t);if(r.found)return r.value;let n=e.name||"the provider";throw Error(r.provider!==null?`getContext: ${n} offers no ${JSON.stringify(t)}`:`getContext: no ${n} above this component — render one around it, or probe with hasContext(${n}, ${JSON.stringify(t)}) where absence is legal`)}function d4(e,t){return po("hasContext",e,t).found}function vr(...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 n=vr(...r);n&&(t&&(t+=" "),t+=n)}else for(let n in r)if(r[n])t&&(t+=" "),t+=n}}return t}function go(e){let t=e.length;if(t===0)return[];let r=[],n=[],i=Array(t).fill(-1);for(let o=0;o>1;if(r[f]0)i[o]=n[l-1]}let s=[],a=n[r.length-1];for(let o=r.length-1;o>=0;o--)s.push(a),a=i[a];return s.reverse(),s}function m4(e,t,r,n,i,s,...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=s!=null,m=p?r.map((R,k)=>s(R,k)):r;if(p){let R=new Set;for(let k of m){if(R.has(k))throw Error(`__reconcile: duplicate key ${JSON.stringify(String(k))} — keyed rows need unique keys `+"(the key function must be injective over the items)");R.add(k)}}if(h===0){if(u>0){let R=document.createDocumentFragment();for(let k=0;k=g&&w>=g&&l[S]===m[w]){let R=f[S];if(!R._s)R.p(n,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;A--){let P=d[A];if(!M.has(A-g))P.m(o,L);L=P._first}}t.keys=p?m:r.slice(),t.items=r.slice(),t.blocks=d}var to=!1;function p4(){if(to)return;to=!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 g4(e,t,r,n){p4();let i=e.classList,s=t+"-"+r+"-from",a=t+"-"+r+"-active",o=t+"-"+r+"-to",l=!1,c=null;i.add(s,a),requestAnimationFrame(()=>{requestAnimationFrame(()=>{i.remove(s),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),n)n()};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 b4(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 n=e!=null?e.status??e.response?.status:void 0;if(n!==void 0)r.status=n;return r.error=e,r}var Gi=(e,t)=>console.error(`[Rip] ${e} construction failed:`,t);function y4(e){let t=Gi;return Gi=e,t}function S4(e,t){Gi(e,t)}function Ki(e,t){let r=b4(e),n=t,i=new Set;while(n&&!i.has(n)){if(i.add(n),n.onError){let s=Le(n),a=le(n._frame);try{n.onError(r,t);return}catch(o){}finally{q1(a),de(s)}}n=n._parent}throw e}var ro=new WeakSet;function R4(e,t){if(ro.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 n of r){if(typeof n!=="string"||n.length===0)throw Error(`${e.name||"component"}: static __props entries must be non-empty strings`);if(n.startsWith("_"))throw Error(`${e.name||"component"}: declared prop '${n}' collides with component internals — `+"underscore-prefixed names are reserved for the runtime");if(n in t)throw Error(`${e.name||"component"}: declared prop '${n}' collides with a component member (a method or lifecycle slot already answers '${n}')`)}ro.add(e)}function E4(e,t){let n=lo.get(e)?.gates?.[t];if(!n?.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=n.value,s=!0;return K1(()=>{if(s)return s=!1,n.cell.read(),i;let a=n.cell.read();for(let o of n.tail){if(a==null)break;a=a[o]}if(a!=null)i=a;return i})}var wr=new WeakMap;function io(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 bo(e,t){let r=wr.get(e);if(t==null){e.removeAttribute("style"),wr.delete(e);return}if(typeof t!=="object"){e.setAttribute("style",String(t)),wr.delete(e);return}if(r){for(let n of r)if(!(n in t))io(e.style,n,"")}wr.set(e,Object.keys(t));for(let n of Object.keys(t))io(e.style,n,t[n])}var k4=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"]),no=(e)=>new Proxy(e,{get(t,r){let n=t[r];return n!=null&&typeof n==="object"&&typeof n.read==="function"?n.value:n}});function so(e,t){let r=e.__props??[],n=e.__extends??null,i=null;for(let s of Object.keys(t)){if(s==="children")continue;if(s.startsWith("__bind_")&&s.endsWith("__")){let a=s.slice(7,-2);if(r.includes(a))continue;throw Error(`${e.name||"component"}: cannot bind unknown prop '${a}' — declared `+`props are [${r.join(", ")}]`)}if(r.includes(s))continue;if(n!==null){(i??={})[s]=t[s];continue}throw Error(`${e.name||"component"}: unknown prop '${s}' — declared props are `+`[${r.join(", ")}]`)}return i}class yo{constructor(e={}){let t=c4(this.constructor,e);if(t)return t;this._state="new",this._owner=Y1?._projectionOwner??Y1??null,R4(this.constructor,this);let r=this.constructor.__gates,n=_r,i=n?.brand===oo&&n.component===this.constructor&&n.used!==!0;if(i)n.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(lo.set(this,n),n.parent)this._parent=n.parent;if(n.stash!=null)this.stash=n.stash;if(n.router!=null)this.router=n.router,Object.defineProperty(this,"params",{get:()=>n.router.params,configurable:!0}),Object.defineProperty(this,"query",{get:()=>n.router.query,configurable:!0})}if(this.stash==null&&globalThis.__ripStash!=null)this.stash=globalThis.__ripStash;if(this.router==null&&globalThis.__ripRouter!=null)this.router=globalThis.__ripRouter;let s=so(this.constructor,e);if("children"in e)this.children=e.children;if(this.constructor.__hmrId)this._hmrPropKeys=mo(e);if(this.constructor.__extends!=null)this._rest=s??{},this.rest=A1(no(this._rest));this._frame=Tt({nested:!1});let a=Le(this),o=le(this._frame);try{this._init(e)}catch(l){q1(o),de(a),this._teardown({state:"failed",hooks:!1,removeDOM:!0}),this._initFailed=!0,Ki(l,this);return}if(q1(o),de(a),this.constructor.__hmrId)i4(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,de(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 n=this[e];if(n&&typeof n==="object"&&"value"in n){n.value=t;return}throw Error(`${this.constructor.name||"component"}: prop '${e}' is non-reactive — parent updates `+"cannot reach it (declare it with ':=' to receive updates)")}_setRestProp(e,t){if(e.startsWith("__bind_"))return;if(this._state==="failed"||this._state==="unmounted")return;if(this._rest||(this._rest={}),t==null)delete this._rest[e];else this._rest[e]=t;this.rest.touch();let r=le(this._frame);try{this._applyInheritedProp(this._inheritedInst??this._inheritedEl,e,t)}finally{q1(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 n=this._restWriters?.[t];if(n){if(n(),this._frame)this._frame.remove(n);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 n=e;if(t[0]==="@"){let i=t.slice(1).split(".")[0];this._restHandlers||(this._restHandlers={});let s=this._restHandlers[t];if(s)n.removeEventListener(i,s);if(typeof r==="function"){let a=(o)=>M1(()=>r(o));this._restHandlers[t]=a,n.addEventListener(i,a)}else delete this._restHandlers[t];return}if(t==="class"||t==="className"){if(n instanceof SVGElement)n.setAttribute("class",vr(r));else n.className=vr(r);return}if(t==="style"){bo(n,r);return}if(t==="innerHTML"||t==="textContent"||t==="innerText"||t==="value"){n[t]=r??"";return}if(t==="checked"){n.checked=!!r;return}if(k4.has(t)){n.toggleAttribute(t,!!r);return}if(r==null)n.removeAttribute(t);else n.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=le(this._frame),r=null,n=!1;try{this._root=this._create()}catch(i){r=i,n=!0}finally{q1(t),de(e)}if(n)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=le(this._frame),n=null,i=!1;try{if(e){let s=this._nodes?.[0]??this._root;if(s?.parentNode)s.parentNode.insertBefore(e,s)}if(this.beforeMount)this.beforeMount();if(this._setup)this._setup();if(this.mounted)this.mounted();this._state="mounted",Ar(e),this._hmrDrainOrphans((s,a)=>console.error(`[Rip] ${s} error:`,a))}catch(s){n=s,i=!0}finally{q1(r),de(t)}if(i)return this._failMount(n),e;return this._nodes?.[0]??this._root}_failMount(e){this._teardown({state:"failed",hooks:!1,removeDOM:!0}),Ki(e,this)}_dispose(e,t){if(this._children){for(let r of this._children)try{t(r)}catch(n){e("child teardown",n)}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(n){e("rest writer cleanup",n)}this._restWriters=null}if(this._restHandlers){if(this._inheritedEl)for(let[r,n]of Object.entries(this._restHandlers))try{this._inheritedEl.removeEventListener(r.slice(1).split(".")[0],n)}catch(i){e("rest handler cleanup",i)}this._restHandlers=null}if(this._refCleanups){let r=this._refCleanups;this._refCleanups=null;try{M1(()=>{for(let n of r)try{n()}catch(i){e("ref cleanup",i)}})}catch(n){e("ref cleanup batch flush",n)}}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{Ar(r)}catch(n){e("DOM detach",n)}else try{Ar(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)n4(this);this._state=e;let n=(i,s)=>console.error(`[Rip] ${i} error:`,s);if(this._hmrDrainOrphans(n),t)try{if(this.beforeUnmount)this.beforeUnmount()}catch(i){n("beforeUnmount",i)}if(this._dispose(n,(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){n("unmounted",i)}this._detachDOM(n,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=(n,i)=>console.error(`[Rip] ${n} error:`,i),t=Le(this),r=le(this._frame);try{if(typeof this._hmrRefreshComputeds==="function")this._hmrRefreshComputeds();if(typeof this._hmrBindEffects==="function")this._hmrBindEffects()}catch(n){return q1(r),de(t),e("hmr rebind",n),this._failMount(n),!1}return q1(r),de(t),!0}_hmrApplyProps(e){let t=so(this.constructor,e);if("children"in e)this.children=e.children;for(let r of this.constructor.__props??[]){let n=`__bind_${r}__`;if(n in e){this[r]=e[n];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=no(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(n){e("orphan teardown",n)}}_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,s=r?.length?r[r.length-1].nextSibling:this._root?this._root.nextSibling:null;if(this._hmrRelease(),!this._hmrRebind())return this;if(typeof this._create!=="function")return this._state="mounted",this._hmrDrainOrphans((a,o)=>console.error(`[Rip] ${a} error:`,o)),this;if(!this._mountCreate())return this;try{let a=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=s&&(typeof a.contains!=="function"||a.contains(s))?s:null;if(this._nodes)for(let l of this._nodes)a.insertBefore(l,o);else if(this._root)a.insertBefore(this._root,o);this._target=a.nodeType===11?null:a}}catch(a){return this._failMount(a),this}return this._mountSetup(),this}mount(e){if(!this._mountCreate())return this;try{if(typeof e==="string")e=document.querySelector(e);if(this._target=e,this._root)e.appendChild(this._root)}catch(t){return this._failMount(t),this}return this._mountSetup(),this}unmount({removeDOM:e=!0}={}){if(this._state==="failed"||this._state==="unmounted")return;if(this._state==="mounted"&&this._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 Jr={};Fe(Jr,{ariaCurrent:()=>Ur,browserAdapter:()=>jr,buildRoutes:()=>Ct,check:()=>Xr,connectFeed:()=>zr,createApply:()=>qr,createComponents:()=>Pr,createMutation:()=>vo,createRenderer:()=>Fr,createRouter:()=>Mr,createStash:()=>xr,createWorkspace:()=>Kr,currentRouter:()=>B4,currentStash:()=>F4,debounce:()=>Oo,delay:()=>Cr,hold:()=>$o,interceptClicks:()=>Vr,launch:()=>Hr,ownsAnchor:()=>Lt,parseQuery:()=>Ze,persistStash:()=>Br,preloadLinks:()=>Wr,rash:()=>Mt,source:()=>Eo,throttle:()=>Io,unwrapStash:()=>_e,validatePrepared:()=>gn});var $r,Ji,So,Ro=Symbol.for("rip.source"),Zi=Symbol.for("rip.source.family"),T4=64,w4=30000,_4=/^(\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[Ro]===!0||e[Zi]===!0)}function me(e){return e!=null&&typeof e==="function"&&e[Zi]===!0}So=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(_4),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"')};$r=function(e,t,r=null){let n=A1(null),i=A1(!1),s=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,k;o?.abort(),o=typeof AbortController<"u"?new AbortController:null;let j=++a;if(!S)i.value=!0;let M=h;try{if(R=e(o?.signal),!(R!=null&&typeof R.then==="function"))throw TypeError("Rip App: source fetch must return a Promise");if(k=await R,j!==a)return k;return s.value=null,n.value=k,h=!0,u=Date.now(),d=w&&!f?u+w4:0,k}catch(L){if(j!==a)return;if(L?.name==="AbortError")return;if(s.value=L,!M)throw h=!1,u=0,L;return}finally{if(j===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()-uT4){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=N4(a),l=r.get(o);if(l)return r.delete(o),r.set(o,l),l;return l=$r(function(c){return e(a,c)},t,n),r.set(o,l),n(o),l},s=function(a){return i(a).read()};return s[Zi]=!0,s.cellFor=i,s.reset=function(){let a=Array.from(r.values());r.clear();for(let o of a)o.reset();return},s};function Eo(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=So(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 $r(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 Ji(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?Ji(e.fetch,t):$r(e.fetch,t)}var nn,It,Qi,vt,$1=Symbol("rip.app.stash.raw"),Ye=Symbol("rip.app.stash.signals"),A4=Symbol("rip.app.stash.keys"),wo=Symbol("rip.app.stash.defaults"),v4=Symbol.for("rip.app.stash.purge"),_o=new WeakMap,O4=0,sn=A1(0),en=function(){return sn.value++},No=function(e,t){let r=e[Ye];if(!r)r=new Map,Object.defineProperty(e,Ye,{value:r});let n=r.get(t);if(!n)n=A1(e[t]),r.set(t,n);return n},Ot=function(e){return No(e,A4)},tn=function(e){Ot(e).value=++O4;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 ko=function(e){if(!It(e))return e;let t=_o.get(e);if(t)return t;return nn(e)},ze=function(e,t){let r=e?.[$1];if(!r)return e[t];let n=r[t];if(C1(n)){if(me(n))return n;return ko(n.read())}return ko(No(r,t).value)},rn=function(e,t,r){let n,i,s,a,o=e?.[$1];if(!o)return e[t]=r,r;if(Array.isArray(o)&&t==="length"){if(a=o.length,s=+r,o.length=s,s!==a){if(o[Ye]){for(let h=Math.min(a,s),u=Math.max(a,s);h0))throw TypeError("Rip App: stash path must be a non-empty string");let s=[],a=0;if(e[0]!=="["){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++,s.push(r)}else{i=a;while(a{let n=[];for(let i in r){if(!Object.hasOwn(r,i))continue;let s=r[i];n.push(Qi(s,t))}return n})()};vt=function(e){if(!It(e))return e;let t=e[$1]?e[$1]:e;if(Array.isArray(t))return(()=>{let n=[];for(let i of t)if(!C1(i))n.push(vt(i));return n})();let r={};for(let n in t){if(!Object.hasOwn(t,n))continue;let i=t[n];if(C1(i))continue;r[n]=vt(i)}return r};function Ao(e){let t=e?.[$1]?e[$1]:e;if(!(t!=null&&typeof t==="object"))return;Object.defineProperty(t,wo,{value:vt(t),configurable:!0});return}function Dr(e){if(C1(e))return e;if(!It(e))return e;let t=e[$1]?e[$1]:e;if(Array.isArray(t))return(()=>{let n=[];for(let i of t)n.push(Dr(i));return n})();let r={};for(let n in t){if(!Object.hasOwn(t,n))continue;let i=t[n];Object.defineProperty(r,n,{value:Dr(i),writable:!0,enumerable:!0,configurable:!0})}return r}function Je(e,t){let r,n,i;if(!(e!=null&&typeof e==="object"))return;if(!(t!=null&&typeof t==="object"))return;let s=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(s,a)?s[a]:void 0,C1(r))continue;if(Array.isArray(r)&&r.some(function(l){return C1(l)}))continue;if(n=r!=null&&typeof r==="object"&&!Array.isArray(r),i=o!=null&&typeof o==="object"&&!Array.isArray(o),n&&i)Je(e[a],o);else e[a]=vt(o)}return}var D4=function(e,t){let r,n=t[wo];if(!n)return;r=function(i,s,a){let o;for(let l in s){if(!Object.hasOwn(s,l))continue;if(o=s[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,n),Je(e,n);return},x4={inc:!0,dec:!0,flip:!0,join:!0,keys:!0,has:!0,del:!0,peek:!0,reset:!0,source:!0},C4=function(e,t,r){if(r==="inc")return function(n,i=1){let s=(Me(e,n)??0)+i;return At(e,n,s),s};if(r==="dec")return function(n,i=1){let s=(Me(e,n)??0)-i;return At(e,n,s),s};if(r==="flip")return function(n){let i=!(Me(e,n)??!1);return At(e,n,i),i};if(r==="join")return function(n,i){if(!(i!=null&&typeof i==="object"&&!Array.isArray(i)))throw TypeError("Rip App: join expects a plain object");M1(function(){let s=Me(e,n);if(!(s!=null&&typeof s==="object"&&!Array.isArray(s)))At(e,n,{}),s=Me(e,n);return(()=>{let a=[];for(let o in i){if(!Object.hasOwn(i,o))continue;let l=i[o];a.push(s[o]=l)}return a})()});return};if(r==="keys")return function(n){let i=n!=null?Me(e,n):e;if(!(i!=null&&typeof i==="object"))return[];let s=i[$1]?i[$1]:i;return Ot(s).value,Object.keys(s)};if(r==="has")return function(n){let i,s,a=qe(n);if(!(a.length>0))return!1;let o=e;for(let l=0;l0))return;let a=e;for(let o=0;o0))throw TypeError("Rip App: component path must be a non-empty string");let t=e.split("/"),r=t.some(function(s){return!s||s==="."||s===".."}),n=t.at(-1),i=t.slice(0,-1).some(function(s){return s.endsWith(".rip")});if(e.includes("\\")||r||i||n===".rip"||!n.endsWith(".rip"))throw TypeError(`Rip App: invalid component path '${e}'`);return e};an=function(e){if(typeof e!=="string")throw TypeError("Rip App: component source must be a string");return e};on=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 Pr(){let e=new Map,t=new Map,r=new Set,n=function(s,a){let o=[];for(let l of Array.from(r))o.push((()=>{try{return l(s,a)}catch(c){return console.error("[Rip] component watcher error:",c)}})());return o};return{read(s){return e.get(Ne(s))},write(s,a){s=Ne(s),a=an(a);let o=e.has(s)?"change":"create";e.set(s,a),t.delete(s),n(o,s);return},del(s){s=Ne(s),e.delete(s),t.delete(s),n("delete",s);return},exists(s){return e.has(Ne(s))},size(){return e.size},list(s=""){let a;s=on(s);let o=s?s+"/":"",l=[];for(let[c]of e)if(c.startsWith(o)){if(a=c.slice(o.length),!a.includes("/"))l.push(c)}return l},listAll(s=""){s=on(s);let a=s?s+"/":"",o=[];for(let[l]of e)if(l.startsWith(a))o.push(l);return o},load(s){let a,o;if(!(s!=null&&typeof s==="object"&&!Array.isArray(s)))throw TypeError("Rip App: component load expects a source object");for(let l in s){if(!Object.hasOwn(s,l))continue;let c=s[l];l=Ne(l),c=an(c),e.set(l,c),t.delete(l)}return},watch(s){if(typeof s!=="function")throw TypeError("Rip App: component watch expects a function");r.add(s);let a=!1;return function(){if(a)return;a=!0,r.delete(s);return}},getCompiled(s){return t.get(Ne(s))},setCompiled(s,a){if(s=Ne(s),!(a!=null&&typeof a==="object"&&!Array.isArray(a)))throw TypeError("Rip App: compiled component module must be an object");t.set(s,a);return}}}var xo,Co,P1,cn,Po,Lo,Mo,ln=/^\w+$/,jo={static:0,dynamic:1,optional:2,catchall:3},Do=8;P1=function(e){throw Error(`Rip App: ${e}`)};var xt=function(e){try{return decodeURIComponent(e)}catch(t){return null}};Mo=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 Fo=function(e,t){let r;if(r=/^\[\[(.+)\]\]$/.exec(e)){if(!ln.test(r[1]))P1(`invalid optional segment '${e}' in '${t}'`);return{kind:"optional",name:r[1]}}else if(r=/^\[\.\.\.(.+)\]$/.exec(e)){if(!ln.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(!ln.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}};xo=function(e){let t,r=(()=>{let h=[];for(let u of e.slice(0,-4).split("/"))h.push(Fo(u,e));return h})();if(r[r.length-1].kind==="group")P1(`route file name cannot be a group segment: '${e}'`);let n=r.filter(function(h){return h.kind!=="group"});for(let h=0;hDo)P1(`more than ${Do} optional segments in '${e}'`);let o="",l=[],c=[{shape:"",display:""}];for(let h of n)switch(l.push(jo[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(Fo(c,t));return l})().filter(function(l){return l.kind!=="group"});for(let l of n)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 n)if(l.name!=null){if(i.includes(l.name))P1(`duplicate parameter name '${l.name}' in '${t}'`);i.push(l.name)}let s="",a="",o=[];for(let l of n)if(o.push(jo[l.kind]),l.kind==="static")s+="/"+l.text,a+="/"+l.text;else s+=`/:${l.name}`,a+="/:";return{pattern:s+"/*",shape:a+"/*",parts:n,ranks:o}};Po=function(e,t){let r;return r=function(n,i){let s,a,o,l;if(n===e.length)return i===t.length?[]:null;let c=e[n];return(()=>{switch(c.kind){case"static":if(!(if.length))continue;if(a=k.slice(f.length),l=a.split("/"),s=l.some(function(j){return!j||j==="."||j===".."}),a.includes("\\")||s||l.at(-1)===".rip")throw TypeError(`Rip App: invalid route file path '${k}'`);if(l.at(-1)==="_layout.rip"){h.set(l.slice(0,-1).join("/"),k);continue}if(l.at(-1)==="_404.rip"){if(l.slice(0,-1).some(function(j){return j.startsWith("_")}))continue;u.push({...Co(l.slice(0,-1),a),rel:a,file:k});continue}if(l.some(function(j){return j.startsWith("_")}))continue;if(!a.endsWith(".rip"))throw TypeError(`Rip App: route files must be .rip sources: '${k}'`);d.push({...xo(a),rel:a,file:k})}let p=new Map;for(let k of[...d].sort(function(j,M){return j.relj.pattern)return 1;return 0});let m=new Map;for(let k of[...u].sort(function(j,M){return j.relj.pattern)return 1;return 0});let g=d.map(function(k){return{route:Object.freeze({pattern:k.pattern,file:k.file,layouts:Object.freeze(cn(k.rel,h))}),parts:k.parts}}),b=u.map(function(k){return{route:Object.freeze({pattern:k.pattern,file:k.file,layouts:Object.freeze(cn(k.rel,h))}),parts:k.parts}}),S=function(k){if(typeof k!=="string")throw TypeError("Rip App: route match expects a path string");if(!k.startsWith("/"))return null;while(k.length>1&&k.endsWith("/"))k=k.slice(0,-1);return k==="/"?[]:k.slice(1).split("/")},w=function(k){let j;if(l=S(k),!l)return null;for(let M of g){if(j=Po(M.parts,l),!j)continue;return{route:M.route,params:Object.fromEntries(j)}}return null},R=function(k){let j;if(l=S(k),!l)return null;for(let M of b){if(j=Lo(M.parts,l),!j)continue;return{route:M.route,params:Object.fromEntries(j)}}return null};return Object.freeze({routes:Object.freeze(g.map(function(k){return k.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 z1,fn,Bo,Lr;z1=function(e){let t=e.indexOf("#"),r=t>=0?e.slice(t+1):"",n=t>=0?e.slice(0,t):e,i=n.indexOf("?"),s=i>=0?n.slice(i+1):"";return{path:i>=0?n.slice(0,i):n,query:s,hash:r}};fn=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};Lr=function(e){if(!(e!=null&&typeof e.match==="function"&&Array.isArray(e.routes)))throw TypeError("Rip App: createRouter requires a route manifest");return e};Bo=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 Mr(e){let t,{routes:r,adapter:n,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 N of["read","push","replace","go","listen"])if(typeof n?.[N]!=="function")throw TypeError(`Rip App: router adapter requires a ${N} function`);let s=Bo(e?.base),a=e?.hash===!0;if(s&&a)throw TypeError("Rip App: a base path does not apply in hash mode");let o=typeof r==="function"?Lr(r()):Lr(r),l=new Set,c=null,f=A1(null),h=A1(null),u=A1({}),d=A1({}),p=A1(""),m=Cr(100,A1(!1)),g=K1(function(){let N=h.value;if(!N)return null;return{route:N,layouts:N.layouts,params:u.value,query:d.value}}),b=function(N){if(!s)return N;if(N===s)return"/";if(N.startsWith(s+"/"))return N.slice(s.length);return null},S=function(N){if(!s)return N;return N==="/"?s:s+N},w=function(N){return a?n.read().split("#")[0]+"#"+N:S(N)},R=function(N){return i?.({status:404,path:N}),!1},k=0,j=function(N){return typeof N==="string"&&!N.startsWith("//")&&!N.includes("\\")},M=function(N){if(!j(N))return null;return o.match(N)},L=function(N){if(!j(N))return null;return o.match(N)??o.notFound?.(N)??null},A=function(N,F,J,x){let e1=fn(u.value,N.params),U=fn(d.value,Ze(J));M1(function(){return f.value=F,h.value=N.route,u.value=e1,d.value=U,p.value=x});let i1={path:F,route:N.route,params:e1,query:U,hash:x};k+=1;try{for(let q of Array.from(l))try{q(i1)}catch(s1){console.error("[Rip] router onNavigate error:",s1)}}finally{k-=1}return!0},P=function(){if(k>=10)throw Error("Rip App: navigation loop — ten nested navigations from onNavigate")},v=function(){let N,F,J,x,e1,U=n.read();if(a){if(N=U.indexOf("#"),J=N>=0?U.slice(N+1):"/",J==="")J="/";({path:x,query:e1,hash:F}=z1(J))}else if({path:x,query:e1,hash:F}=z1(U),x=b(x),x==null)return R(z1(U).path);let i1=L(x);if(!i1)return R(x);return A(i1,x,e1,F)},V=null,H=null,G=function(){V=null;let N=n.readState?.()??{};return n.replace(n.read(),{...N,__ripScroll:n.scroll?.save?.()??null})},T=function(){return!V?V=setTimeout(G,100):void 0};return t={init(){if(c)return t;return v(),c=n.listen(function(){if(!v())return;let N=n.readState?.();return n.scroll?.restore?.(N?.__ripScroll??null)}),H=n.scroll?.watch?.(T)??null,t},push(N,F={}){P();let{path:J,query:x,hash:e1}=z1(N),U=L(J);if(!U)return R(J);let i1=n.scroll?.save?.()??null,q=n.readState?.()??{};if(n.replace(n.read(),{...q,__ripScroll:i1}),n.push(w(N),null),A(U,J,x,e1),!F.noScroll)n.scroll?.top?.();return!0},replace(N,F={}){P();let{path:J,query:x,hash:e1}=z1(N),U=L(J);if(!U)return R(J);let i1=n.readState?.()??{};if(n.replace(w(N),{...i1,__ripScroll:null}),A(U,J,x,e1),!F.noScroll)n.scroll?.top?.();return!0},back(){return n.go(-1)},forward(){return n.go(1)},match(N){let{path:F,query:J,hash:x}=z1(N),e1=M(F);if(!e1)return null;return{route:e1.route,params:e1.params,query:Ze(J),hash:x}},claims(N){let F,J,x,e1,U;if(!(typeof N==="string"&&N.length>0))return null;if(a){if(F=N.indexOf("#"),F<0)return null;if(x=N.slice(F+1),x==="")x="/";({path:e1,query:U,hash:J}=z1(x))}else{if(!N.startsWith("/"))return null;if({path:e1,query:U,hash:J}=z1(N),e1=b(e1),e1==null)return null}let i1=M(e1);if(!i1)return null;let q=e1+(U?"?"+U:"")+(J?"#"+J:"");return{path:e1,url:q,route:i1.route,params:i1.params,query:Ze(U),hash:J}},onNavigate(N){if(typeof N!=="function")throw TypeError("Rip App: onNavigate expects a function");return l.add(N),function(){return l.delete(N)}},rebuild(){let N,F,J,x,e1;if(o=typeof r==="function"?Lr(r()):o,!c)return;let U=n.read();if(a){if(N=U.indexOf("#"),J=N>=0?U.slice(N+1):"/",J==="")J="/";({path:x,query:e1,hash:F}=z1(J))}else if({path:x,query:e1,hash:F}=z1(U),x=b(x),x==null)return R(z1(U).path);let i1=L(x);if(!i1)return R(x);let q=h.value,s1=q?.layouts??[],I=i1.route.layouts??[],c1=s1.length===I.length&&s1.every(function(O,D){return O===I[D]});if(q?.file===i1.route.file&&c1&&f.value===x)return;A(i1,x,e1,F);return},destroy(){if(c?.(),c=null,H?.(),H=null,V)clearTimeout(V);V=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(N){return m.value=N}}),t}function jr(){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,n){return window.history.pushState(n,"",r)},replace(r,n){return window.history.replaceState(n,"",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 n;if(r==null)return;let i=++t,s=r.x||0,a=r.y||0,o=0;n=function(){if(i!==t)return;let l=Math.max(0,(window.document?.documentElement?.scrollHeight||0)-window.innerHeight);return window.scrollTo(s,Math.min(a,l)),o+=1,a>l&&o<20?e(n):void 0},e(n);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 hn,Uo,je;Uo=Xi();je=function(e,t,r,n=null){let i=n??r?.message??String(r),s=Error(i);return s.name="GateFailure",s.status=r?.status??r?.response?.status??500,s.path=e,s.file=t,s.error=r,s};hn=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 n=function(s){return typeof s==="function"&&typeof s.prototype?.mount==="function"};if(n(r.default))return r.default;let i=[];for(let s in r){let a=r[s];if(s==="default")continue;if(n(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 Fr(e){let t;if(!(e!=null&&typeof e==="object"))throw TypeError("Rip App: createRenderer expects an options object");let{router:r,stash:n,components:i,target:s,onError:a}=e;if(!(r!=null&&typeof r==="object"))throw TypeError("Rip App: createRenderer requires a router object");if(!(n!=null&&_e(n)!==n))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(!(s!=null&&typeof s.appendChild==="function"))throw TypeError("Rip App: createRenderer requires a target with appendChild()");if(a!=null&&typeof a!=="function")throw TypeError("Rip App: createRenderer onError must be a function");let o=[],l=null,c=0,f=null,h=[],u=null,d=null,p=null,m=!1,g=function(D,W){let Y=Object.keys(D);return Y.length===Object.keys(W).length&&Y.every(function(r1){return D[r1]===W[r1]})},b=function(D,W){return D.length===W.length&&D.every(function(Y,r1){return W[r1]===Y})},S=function(D){let W=_e(n),Y=D.split(".");for(let r1=0;r1",B.file,`Rip App: ${B.file} static __gates must be an array`);for(let n1=0;n10))throw w(String(u1),B.file,`Rip App: ${B.file} has a malformed render gate path`);if(h1!=null&&typeof h1!=="function")throw w(u1,B.file,`Rip App: gate '${u1}' has a non-function key`);if(b1=S(u1),!b1)throw w(u1,B.file,`Rip App: gate '${u1}' does not resolve to a source`);if(r1=b1.cell,me(r1)){if(!h1)throw w(u1,B.file,`Rip App: gate '${u1}' is keyed and requires a key function`);try{f1=h1(W,Y),r1=r1.cellFor(f1)}catch(z){throw Q=z,je(u1,B.file,Q,`Rip App: gate '${u1}' key failed: ${Q.message}`)}}else if(h1)throw w(u1,B.file,`Rip App: gate '${u1}' is a singleton and does not accept a key function`);if(B.bindings[n1]={cell:r1,tail:b1.tail,path:u1,file:B.file},!l1.has(r1))l1.set(r1,{cell:r1,path:u1,file:B.file,entryIndex:d1})}}return Array.from(l1.values())},j=async function(D,W,Y,r1){let Q,o1,f1=k(D,W,Y),h1=await Promise.allSettled((()=>{let l1=[];for(let d1 of f1)l1.push(d1.cell.ensure());return l1})());if(r1!==c)return!1;let u1=null,b1=function(l1,d1){if(l1.entryIndex=d1,u1==null||d1=u1.entryIndex)break;for(let B of d1.bindings){o1=B.cell.peek();for(let n1 of B.tail){if(o1==null)break;o1=o1[n1]}if(o1==null){b1(w(B.path,B.file,`Rip App: gate '${B.path}' resolved to ${o1}; every gated subpath must exist and be non-null`),l1);break}B.value=o1}}if(u1!=null)throw u1;return!0},M=function(D,W){return Uo(D.cls,{gates:D.bindings,parent:W,stash:n,router:r})},L=function(D){let W=[];for(let Y=D.length-1;Y>=0;Y--){let r1=D[Y];try{r1.unmount?.()}catch(Q){W.push(Q);try{r1._teardown?.({state:"unmounted",hooks:!1,removeDOM:!0})}catch(o1){W.push(o1)}}}return W},A=function(){let D=o;o=[],l=null,h=[],u=null,d=null;let W=L(D);if(W.length)throw W[0];return},P=null,v=function(){P?.remove?.(),P=null;return},V=function(D){let W,Y;v();let r1=D.error?.stack??D.stack??D.message??String(D);P=(()=>{if(typeof document<"u"&&typeof document.createElement==="function")return W=document.createElement("pre"),W.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",W.textContent=r1,W;else return Y={nodeName:"PRE",textContent:r1,parentNode:null,remove(){let Q=Y.parentNode?.children,o1=Q?.indexOf(Y)??-1;if(o1>=0)Q.splice(o1,1);Y.parentNode=null;return}},Y})(),s.appendChild(P);return},H=function(){if(typeof document<"u"&&typeof document.createDocumentFragment==="function")return document.createDocumentFragment();let D=[];return{children:D,appendChild(W){return D.push(W),W}}},G=function(D,W=s){if(v(),D.nodeType===11)W.appendChild(D);else for(let Y of D.children)W.appendChild(Y);return},T=function(D,W){let Y,r1=D._nodes??[D._root];for(let Q of r1){if(!Q)continue;if(Q.matches?.("#content"))return Q;if(Y=Q.querySelector?.("#content"),Y)return Y}return r1.find(function(Q){return Q!=null})??W},N=function(D){return D?.childNodes??D?.children??[]},F=function(D,W){D.slot=W,D.slotOwned=N(W).length;return},J=function(){let D,W,Y=s;for(let r1=0;r10&&Q.slot!=null&&Q.slot!==Y){W=Array.from(N(Q.slot)).slice(Q.slotOwned??0),F(Q,Y);for(let o1 of W)Y.appendChild(o1);D._target=Y}if(r1===h.length-1)break;Y=T(D,Y)}if(h.length>1)u=Y;return},x=function(D,W,Y){let r1,Q,o1;if(!D.some(function(l1){return typeof l1.cls.prototype?.onError==="function"}))return!1;let f1=H(),h1=f1,u1=[];try{for(let l1=0;l10)F(d1,h1);if(Q.mount?.(h1),Q._state==="failed")return L(u1),!1;h1=T(Q,h1)}if(Y!==c)return L(u1),!1;r1=null;for(let l1=u1.length-1;l1>=0;l1--){let d1=u1[l1];if(typeof d1.onError==="function"){r1=d1;break}}G(f1)}catch(l1){return console.error("[Rip] boundary chain failed to mount:",l1),L(u1),!1}let b1=o;o=u1,l=u1[u1.length-1]??null,h=D,u=h1,d=null;try{r1.onError(W)}catch(l1){console.error("[Rip] boundary onError error:",l1)}for(let l1 of L(b1))console.error("[Rip] boundary teardown error:",l1);return!0},e1=function(D,W){let Y=null;for(let Q=D.length-1;Q>=0;Q--){let o1=D[Q];if(typeof o1.instance?.onError==="function"){Y=o1.instance;break}}if(!Y)return!1;let r1=o.slice(D.length);o=D.map(function(Q){return Q.instance}),l=o[o.length-1]??null,h=D,d=null;try{Y.onError(W)}catch(Q){console.error("[Rip] boundary onError error:",Q)}for(let Q of L(r1))console.error("[Rip] boundary teardown error:",Q);return!0},U=async function(D,W,Y=i){let r1,Q,o1,f1,h1,u1,b1=D?.route;if(!b1?.file)throw Error("Rip App: renderer route state requires route.file");let l1=D.params??{},d1=D.query??{},B=D.layouts??[];if(!Array.isArray(B))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&&b1.file===d.file){if(b([...B,b1.file],n1)&&g(l1,d.params)){if(!(g(d1,d.query)||R(h,l1,d1))){if(typeof l.load==="function")await l.load(l1,d1);if(W!==c)return null;return d={file:b1.file,params:l1,query:d1},l}}}let z=[...B,b1.file],X=d!=null&&B.length>0&&h.length===B.length+1&&b(B,n1.slice(0,-1))&&!R(h.slice(0,-1),l1,d1),t1=_!=null?Math.max(0,Math.min(_,z.length-1)):X?B.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(o1=X?e1(C.slice(0,r1),Q):x(C.slice(0,r1),Q,W),o1)return null}}throw Q}let a1=H(),E1=a1,y1=[],S1=t1>0?C[t1-1].instance:null,_1=t1>0,v1=_1?T(S1,s):s;try{for(let m1=C.slice(t1),D1=0;D10)F(pe,E1);if(f1.mount?.(E1),f1._state==="failed")throw Error(`Rip App: component '${pe.file}' failed during mount`);if(t1+D11?E1:v1,h=C,d={file:b1.file,params:l1,query:d1};let p1=L(R1);if(m=p1.length>0,p1.length)for(let m1 of p1)if(Q=je("","",m1),a!=null)try{a(Q)}catch(D1){console.error("[Rip] renderer teardown reporter failed:",D1)}else console.error("[Rip] renderer teardown error:",Q);return l},i1=function(D){let W,Y,r1=D?.route;if(!r1?.file)return;let Q=D.params??{},o1=D.query??{},f1=D.layouts??r1.layouts??[],h1=h.map(function(l1){return l1.file}),u1=d!=null&&b(f1,h1.slice(0,-1));if(u1&&r1.file===d.file&&g(Q,d.params))return;let b1=u1?[r1.file]:[...f1,r1.file];try{W=(()=>{let l1=[];for(let d1 of b1)l1.push({file:d1,cls:hn(i,d1)});return l1})(),Y=k(W,Q,o1)}catch(l1){return}for(let l1 of Y)l1.cell.preload().catch(function(){return null});return},q=function(D,W){if(!(D!=null&&typeof D==="object"&&typeof W==="string"))return null;let Y=function(Q){return typeof Q==="function"&&Q.__hmrId===W},r1=D.__hmrComponents;if(r1!=null&&typeof r1==="object")for(let Q in r1){let o1=r1[Q];if(Y(o1))return o1}if(Y(D.default))return D.default;for(let Q in D){let o1=D[Q];if(Y(o1))return o1}return null},s1=function(D){let W=D+"#",Y=[];for(let Q of h)if(Q.file===D&&Q.instance!=null)Y.push(Q.instance);for(let[Q,o1]of Yi())if(typeof Q==="string"&&Q.startsWith(W)){for(let f1 of o1.instances)if(!Y.includes(f1))Y.push(f1)}let r1=[];for(let Q of Y)r1.push({instance:Q,entry:h.find(function(o1){return o1.instance===Q})??null});return r1},I=function(D,W){let Y,r1,Q,o1,f1=(()=>{let l1=[];for(let d1 of D)if(typeof d1==="string"&&d1.endsWith(".rip"))l1.push(d1);return l1})();if(!(f1.length>0))return"unknown";let h1=0,u1=!1,b1=new Set;for(let l1 of f1){if(o1=W.getCompiled(l1),Q=s1(l1),o1==null){if(typeof W.exists==="function"&&!W.exists(l1)){if(Q.some(function(d1){return d1.instance._state!=="unmounted"}))return"fallback"}else u1=!0;continue}for(let{instance:d1,entry:B}of Q){if(b1.has(d1))continue;if(d1._state==="unmounted")continue;if(d1._state!=="mounted")return"fallback";if(r1=d1.constructor?.__hmrId,Y=typeof r1==="string"?q(o1,r1):null,Y==null)return"fallback";if(wt(Y),_t(d1.constructor,Y)!=="patch")return"fallback";if(qi(d1,Y),b1.add(d1),h1+=1,B!=null){if(B.cls=Y,B!==h[h.length-1])J()}}}if(h1>0)return"done";return u1?"unknown":"idle"},c1=async function(D,W=i){let Y,r1,Q,o1,f1;if(!(Array.isArray(D)&&D.length>0))return"noop";for(let X of D)if(X==="stash.rip"||X.startsWith("stash/")||X==="seed.rip")return"escape";let h1=r.current;if(!(h1?.route?.file&&h.length>0))return"noop";let b1=[...h1.layouts??h1.route.layouts??[],h1.route.file],l1=b(b1,h.map(function(X){return X.file})),d1=zi();try{if(f1=I(D,W),f1==="done")return Ir(d1),"narrow";if(f1==="idle"&&l1)return we("noop",{paths:[...D]}),"noop"}catch(X){console.error("[Rip] HMR patch failed; falling back to remount:",X),we("reject",{reason:"patch-failed",paths:[...D],message:X?.message?String(X.message):String(X)})}let B=new Set(D),n1=-1;for(let X=0;X{if(Y?.name==="GateFailure")return Y;else return Q=D?.route?.file??"",je(Y?.path??Q,Q,Y)})(),a?.(r1),l==null)V(r1);throw r1}finally{if(o1===c&&(Array.isArray(r)||typeof r==="string"?r.includes("navigating"):("navigating"in r)))r.navigating=!1}};let O=null;return O={current:null,mount:t,preload:i1,remountDirty:c1,start(){if(f)return O;return r.init?.(),f=x1(function(){let D=r.current;if(D?.route)t(D).catch(function(){return null});return}),O},stop(){let D,W;if(c++,f?.(),f=null,Array.isArray(r)||typeof r==="string"?r.includes("navigating"):("navigating"in r))r.navigating=!1;try{A()}catch(Y){throw D=Y,W=je("","",D),a?.(W),W}return}},Object.defineProperty(O,"current",{get(){return l}}),O}var Wo,Ho,un=Symbol.for("rip.app.stash.persisted"),Vo=Symbol.for("rip.app.stash.purge");Ho=function(e,t){return C1(t)?void 0:t};Wo=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 Br(e,t={}){let r,n=_e(e)||e;if(n[un])return function(){return null};n[un]=!0;let i=Wo(t),s=t.key||"__rip_app",a=t.debounce??2000;try{if(r=i.getItem(s),r)Je(e,JSON.parse(r))}catch(u){}let o=null,l=function(){o=null;try{i.setItem(s,JSON.stringify(_e(e),Ho))}catch(u){}return},c=!1,f=x1(function(){if(sn.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(n,Vo,{value(){if(o!=null)clearTimeout(o),o=null;try{i.removeItem(s)}catch(u){}return},configurable:!0,writable:!0});let h=!1;return function(){if(h)return;if(h=!0,f?.(),typeof window<"u")window.removeEventListener("beforeunload",l);l(),n[Vo]=null,n[un]=!1;return}}var Go,dn;dn=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(dn(t))return!1;let r=Pt(t);if(r==null)return!1;return e.claims(r)!=null}Go=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 Ur(e,t=null){if(!(e!=null&&typeof e.claims==="function"))throw TypeError("Rip App: ariaCurrent requires a router");t=t??Go();let r=new WeakMap,n=function(){let l,c,f,h,u=e.path;for(let d of t.anchors()){if(l=dn(d)?null:e.claims(Pt(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{n()}catch(l){console.error("[Rip] aria-current walk failed:",l)}return},s=x1(function(){return e.path,i()}),a=t.observe?.(i)??null,o=!1;return function(){if(o)return;o=!0,s(),a?.();try{for(let l of t.anchors())if(r.has(l)){if((l.getAttribute?.("aria-current")??null)===r.get(l))l.removeAttribute("aria-current");r.delete(l)}}catch(l){}return}}var Ko,Yo,mn,pn;Yo=50;Ko=3000;pn=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)}}}};mn=function(e){while(e!=null&&e.tagName!=="A")e=e.parentElement;return e??null};function Vr(e,t=null){if(!(e!=null&&typeof e.claims==="function"&&typeof e.push==="function"))throw TypeError("Rip App: interceptClicks requires a router");t=t??pn();let r=function(s){if(s.defaultPrevented)return;if(s.button!==0||s.metaKey||s.ctrlKey||s.shiftKey||s.altKey)return;let a=mn(s.target);if(!(a!=null&&Lt(e,a)))return;let o=e.claims(Pt(a));if(o==null)return;s.preventDefault(),e.push(o.url,{noScroll:a.hasAttribute?.("data-router-noscroll")===!0});return},n=t.listen("click",r),i=!1;return function(){if(i)return;i=!0,n();return}}function Wr(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??pn();let n=null,i=null,s={href:null,at:0},a=function(){if(n!=null)clearTimeout(n);n=null,i=null;return},o=function(h){let u=mn(h.target);if(!(u!=null&&Lt(e,u)))return;if(u===i)return;a(),i=u;let d=Pt(u);n=setTimeout(function(){n=null,i=null;let p=Date.now();if(d===s.href&&p-s.at1)throw AggregateError(S,"Rip App: launch.destroy failed");return};globalThis.__ripStash=l,globalThis.__ripRouter=f;try{if(typeof s.replaceChildren==="function")s.replaceChildren();else if(Array.isArray(s.children))s.children.length=0;h.start()}catch(S){throw b(),S}return{stash:l,components:c,router:f,renderer:h,destroy:b}}var bn,Gr,yn,Sn,Rn,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(s){return!s||s==="."||s===".."||s.startsWith(".")}),n=t.at(-1),i=t.slice(0,-1).some(function(s){return s.endsWith(".rip")});if(e.includes("\\")||e.startsWith("/")||r||i||n===".rip"||!n.endsWith(".rip"))throw TypeError(`Rip Workspace: invalid component path '${e}'`);return e};Gr=function(e){if(typeof e!=="string")throw TypeError("Rip Workspace: component source must be a string");return e};yn=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};Sn=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};Rn=function(e){if(!(e!=null&&typeof e==="object"&&!Array.isArray(e)))throw TypeError("Rip Workspace: compiled component module must be an object");return e};bn=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=Sn(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 n=new Map,i=new Map,s=e.sources;for(let o in s){if(!Object.hasOwn(s,o))continue;let l=s[o];n.set(V1(o),Gr(l))}let a=e.compiled;for(let o in a){if(!Object.hasOwn(a,o))continue;let l=a[o];if(o=V1(o),!n.has(o))throw Error(`Rip Workspace: compiled module '${o}' has no source`);i.set(o,Rn(l))}return{hash:r,sources:n,compiled:i}};function Kr(){let e,t=new Map,r=new Map,n=new Set,i=null,s=!1,a=function(l,c){for(let f of Array.from(n))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(s)throw Error("Rip Workspace: cannot write during a publication transition");l=V1(l),c=Gr(c);let f=t.has(l)?"change":"create";t.set(l,c),r.delete(l),a(f,l);return},del(l){if(s)throw Error("Rip Workspace: cannot delete during a publication transition");l=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=yn(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=yn(l);let c=l?l+"/":"",f=[];for(let[h]of t)if(h.startsWith(c))f.push(h);return f},load(l){if(s)throw Error("Rip Workspace: cannot load during a publication transition");if(!(l!=null&&typeof l==="object"&&!Array.isArray(l)))throw TypeError("Rip Workspace: component load expects a source object");let c=[];for(let f in l){if(!Object.hasOwn(l,f))continue;let h=l[f];c.push([V1(f),Gr(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");n.add(l);let c=!1;return function(){if(c)return;c=!0,n.delete(l);return}},getCompiled(l){return r.get(V1(l))},setCompiled(l,c){if(s)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,Rn(c));return},hash(){return i},activate(l){if(i!=null)throw Error("Rip Workspace: a publication is already active");if(s)throw Error("Rip Workspace: a publication transition is already staged");o(bn(l));return},stage(l,c,f){if(s)throw Error("Rip Workspace: a publication transition is already staged");if(l=Sn(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=bn(c),d={sources:t,compiled:r,hash:i};s=!0;let p=!1,m=function(g){let b;if(p)throw Error("Rip Workspace: publication transition is already finished");if(p=!0,s=!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 Xo,Jo,Zo,Qo,e2,t2,r2,Yr;Zo=250;Jo=8000;Xo=5000;r2=0;Yr=function(e){return typeof e==="string"&&/^[A-Za-z0-9_]{6}$/.test(e)};e2=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`};t2=function(){if(typeof WebSocket>"u")throw Error("Rip App: connectFeed needs a socket factory (no global WebSocket)");return function(e){return new WebSocket(e)}};Qo=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(!Yr(e.hash()))throw TypeError("Rip App: connectFeed client hash must be six Base64URL-folded characters");let n=t.hub??e2(),i=t.latestUrl??"/latest.json",s=t.makeSocket??t2(),a=t.fetch??Qo(),o=t.report??function(...x){return console.error(...x)},l=t.backoff?.min??Zo,c=t.backoff?.max??Jo,f=t.ackTimeout??Xo,h=!1,u=!1,d=!1,p=!1,m=null,g=0,b=null,S=null,w=0,R=null,k=[],j=Promise.resolve(),M=new Map,L=null,A=function(x){if(u||h)return;u=!0,e.reload(x);return},P=async function(x){let e1;if(u||h)return!1;try{if(e1=await e.apply(x),e1==="rejected"){if(Yr(x?.hash))L=x?.hash;return!1}if(e1==="reload"||!e1)return A("change could not be applied"),!1;return L=null,!0}catch(U){return o("[Rip] publication change failed:",U),A("change failed"),!1}},v=function(x,e1){j=j.then(async function(){if(e1!==w)return!0;return await P(x)}),j=j.catch(function(U){return o("[Rip] publication queue failed:",U),A("change queue failed"),!1});return},V=async function(x){let e1,U;if(h||u||x!==w)return;let i1=e.hash(),q=await a(i,{cache:"no-store"});if(!q?.ok)throw Error(`latest.json fetch failed (${q?.status})`);let s1=await q.json();if(!(s1!=null&&typeof s1==="object"&&!Array.isArray(s1)&&Object.keys(s1).length===1&&Object.hasOwn(s1,"hash")&&Yr(s1.hash)))throw Error("latest.json is malformed");if(h||u||x!==w)return;if(L!=null){if(s1.hash!==L){A(`a newer App generation followed rejected ${L}`);return}k=[],p=!0,g=0;return}let I=new Set([i1]),c1=0;while(c10))return"ignore";let s=(()=>{let f=[];for(let h of n)if(typeof h==="string"&&h.endsWith(".css"))f.push(h);return f})(),a=(()=>{let f=[];for(let h of n)if(typeof h==="string"&&h.endsWith(".rip"))f.push(h);return f})(),o=(()=>{let f=[];for(let h of n)if(typeof h==="string"&&!h.endsWith(".rip")&&!h.endsWith(".css"))f.push(h);return f})();if(a.length===0){if(o.length>0)return"reload";if(s.length>0)return"css";return"ignore"}let l=await e.renderer.remountDirty(a,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 M4=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")},j4=function(e){let t,r,n,i,s,a,o,l,c,f,h,u,d,p,m,g,b=M4(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 k=new DataView(R.buffer);k.setUint32(R.length-4,w>>>0,!1),k.setUint32(R.length-8,Math.floor(w/4294967296)>>>0,!1);let j=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],M=function(V,H){return V>>>H|V<<32-H},L=new Uint32Array(64),A=0;while(A>>3,p=M(L[V-2],17)^M(L[V-2],19)^L[V-2]>>>10,L[V]=L[V-16]+d+L[V-7]+p>>>0;[n,i,s,o,l,c,f,h]=j;for(let V=0;V<64;V++)r=M(l,6)^M(l,11)^M(l,25),a=l&c^~l&f,m=h+r+a+S[V]+L[V]>>>0,t=M(n,2)^M(n,13)^M(n,22),u=n&i^n&s^i&s,g=t+u>>>0,h=f,f=c,c=l,l=o+m>>>0,o=s,s=i,i=n,n=m+g>>>0;j[0]=j[0]+n>>>0,j[1]=j[1]+i>>>0,j[2]=j[2]+s>>>0,j[3]=j[3]+o>>>0,j[4]=j[4]+l>>>0,j[5]=j[5]+c>>>0,j[6]=j[6]+f>>>0,j[7]=j[7]+h>>>0,A+=64}let P=new Uint8Array(32),v=new DataView(P.buffer);for(let V=0;V<8;V++)v.setUint32(V*4,j[V],!1);return P},Mt=function(e){let t=j4(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("-","_")},Xr=function(e){let t=JSON.stringify(e.map(function(r){return[r.id,r.hash]}));return Mt(new TextEncoder().encode(t))};var F4=function(){return globalThis.__ripStash},B4=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,n=(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")||"",s=null;fetch(location.href,{method:"HEAD",cache:"no-store"}).then((f)=>{s=i(f)}).catch(()=>{});let a=()=>{if(s===null)return;fetch(location.href,{method:"HEAD",cache:"no-store"}).then((f)=>{if(i(f)!==s)location.reload()}).catch(()=>{})},o=!1,l=0,c=()=>{let f=location.protocol==="https:"?"wss://":"ws://",h=new WebSocket(f+location.host+"/hub");h.onopen=()=>h.send('{"+":["/assets"],"?":"observe"}'),h.onmessage=(u)=>{let d;try{d=JSON.parse(u.data)}catch{return}for(let 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(n(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:U4}=Nt;function kn(e,t={}){if(t.face==="ts")throw Error("rip: TypeScript face is unavailable in the browser");return ka(e,{...t,face:"js"})}var l2={intrinsics:hr,stdlib:ur,schema:br,reactive:Tr,components:Nt},c2=Object.freeze({...hr,...ur,...br,...Tr,...Nt}),V4=Object.freeze({rash:Mt,check:Xr}),f2=Object.freeze({"rip/app":Jr,"rip/app/rash":V4});var W4=new Map(Object.keys(l2).map((e)=>[new URL(`./runtime/${e}.js`,import.meta.url).pathname,e])),H4=/(?:^|\/)src\/runtime\/(intrinsics|stdlib|schema|reactive|components)\.js$/,Zr="__ripModuleBridge",G4=(e)=>e.slice(1,-1),i2=(e,t)=>{let r=e.split("/").slice(0,-1);for(let n of t.split("/")){if(n===""||n===".")continue;if(n===".."){if(!r.length)return null;r.pop()}else r.push(n)}return r.join("/")},n2=(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 h2({components:e,embeddedPackages:t={},debug:r=!1,hmr:n=!1}={}){if(!e||typeof e.read!=="function")throw TypeError("rip: createModuleLoader requires a component registry");let i=new Map,s=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[Zr]??={};let b=globalThis[Zr][m];if(b&&b!==g)throw Error(`rip: two copies of embedded module '${m}' are active on one page`);globalThis[Zr][m]=g;let S=[`const ns = globalThis['${Zr}'][${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=n2(S.join(` `));return a.set(m,w),w},d=(m,g)=>{let b=G4(m),S=W4.get(b)??b.match(H4)?.[1];if(S)return{bridge:`runtime:${S}`,namespace:l2[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=i2(g,b);if(j&&w(j))return{path:j};if(!g.startsWith("rip/")){let M=i2(`app/${g}`,b),L=M?.startsWith("app/")?M.slice(4):M;if(L&&w(L))return{path:L}}throw Error(`rip: '${g}' imports '${b}', which is not in the bundle${R}`)}let k=b.match(/^rip\/([\w-]+)(?:\/(.+))?$/);if(k){if(w(b))return{path:b};let j=`rip/${k[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 L=k[2]?k[2].endsWith(".rip")?k[2]:`${k[2]}.rip`:"index.rip",A=`${j}/${L}`;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=kn(S,{path:m,runtimeDelivery:"import",browserModule:!0,...n?{hmr:!0}:null}),R=w.code;for(let k of[...w.imports].reverse()){let j=d(k.specifier,m);if(j.path){let L=o.get(j.path);if(!L)o.set(j.path,L=new Set);L.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,k.start)}${JSON.stringify(M)}${R.slice(k.end)}`}if(r){let k=btoa(unescape(encodeURIComponent(JSON.stringify(w.map))));R+=` //# sourceMappingURL=data:application/json;charset=utf-8;base64,${k}`}return n2(R)})();return i.set(m,b),b.catch(()=>i.delete(m)),b};return{async import(m){if(s.has(m))return s.get(m);let b=await import(await p(m,[]));return s.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),s.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(),s.clear(),o.clear(),l.clear();for(let m of a.values())f(m);a.clear(),h()}}}var u2=Object.keys(c2),K4=u2.map((e)=>c2[e]),Y4=()=>{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))}}},z4=(e)=>{let t=e.split(` `),r=null;for(let n of t){if(!n.trim())continue;let i=n.match(/^[ \t]*/)[0];if(r===null){r=i;continue}let s=0;while(sn.trim()?n.slice(r.length):n).join(` @@ -356,4 +358,4 @@ ${o} `:`${a} -`;s.textContent=l+s2(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",()=>Ae()),i.appendChild(s),i.appendChild(c),n.appendChild(i),n.addEventListener("click",(h)=>{if(h.target===n)Ae()});let f=(h)=>{if(h.key==="Escape")Ae()};if(n._ripOnKey=f,typeof document.addEventListener==="function")document.addEventListener("keydown",f);return r.appendChild(n),et=n,U4("reject",{kind:e||"compile",path:a2(t),message:s2(t).slice(0,500)}),n}function Ae(){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 xf(){return et}var{validatePrepared:J4}=Jr,d2=(e)=>e!==null&&typeof e==="object"&&!Array.isArray(e),En=(e)=>typeof e==="string"&&/^[A-Za-z0-9_]{6}$/.test(e),m2=(e,t=!1)=>{if(typeof e!=="string"||e.length===0||e.startsWith("/")||e.includes("\\"))return!1;let r=e.split("/");if(r.some((n)=>!n||n==="."||n===".."||n.startsWith(".")))return!1;if(t){let n=r.at(-1);if(n===".rip"||!n.endsWith(".rip")||r.slice(0,-1).some((i)=>i.endsWith(".rip")))return!1}return!0},p2=(e,t)=>{let r=Object.keys(e).sort(),n=[...t].sort();return r.length===n.length&&r.every((i,s)=>i===n[s])},Z4=(e)=>{if(!d2(e)||!p2(e,["hash","list"])||!En(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 n of e.list){if(!Array.isArray(n)||n.length!==2||!m2(n[0],!0)||typeof n[1]!=="string"||r!==null&&r>=n[0])throw Error(`rip: bundle has a malformed or unsorted source entry: ${JSON.stringify(n)}`);if(n[0]==="rip/app"||n[0].startsWith("rip/app/"))throw Error(`rip: bundle source '${n[0]}' collides with embedded package 'rip/app'`);r=n[0],t[n[0]]=n[1]}return t},Q4=(e)=>{if(!d2(e)||!p2(e,["from","hash","list"])||!En(e.from)||!En(e.hash)||!Array.isArray(e.list))throw Error("rip: publication change must contain exactly from, hash, and list");let t=null,r=[];for(let n of e.list){if(!Array.isArray(n)||n.length<1||n.length>2||!m2(n[0])||t!==null&&t>=n[0])throw Error(`rip: publication change has a malformed or unsorted entry: ${JSON.stringify(n)}`);let[i]=n,s=n.length===2&&n[1]===null;if(i.endsWith(".rip")){if(n.length!==2||!s&&typeof n[1]!=="string")throw Error(`rip: Rip change '${i}' must carry source or null`)}else if(n.length===2&&!s)throw Error(`rip: ordinary asset change '${i}' cannot carry content`);t=i,r.push({path:i,source:n[1],deletion:s})}return{from:e.from,hash:e.hash,entries:r}},ec=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 tc(e,{fetchText:t=ec}={}){if(!e)throw Error("rip: fetchBundle requires a url");let r=await t(e),n=typeof r==="string"?r:r?.text;if(typeof n!=="string")throw Error(`rip: bundle '${e}' fetch did not return text`);try{return JSON.parse(n)}catch(i){throw Error(`rip: bundle '${e}' is not valid JSON: ${i.message}`)}}var rc=(e,t,{hmr:r=!1}={})=>{let n=new Map(Object.entries(e)),i=new Map,a=h2({components:{read:(o)=>n.get(o),exists:(o)=>n.has(o),getCompiled:(o)=>i.get(o),setCompiled:(o,l)=>void i.set(o,l)},embeddedPackages:f2,debug:t,hmr:r});return{sources(o){n=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 n.keys())if(!f.startsWith("rip/"))c[f]={...await a.import(f)};return{compiled:c,invalidated:[...l]}}finally{await a.collect()}},dispose:()=>a.dispose()}},ic=(e,t)=>{let r=e.split("?")[0];return`${r.slice(0,r.lastIndexOf("/")+1)}${t}`};async function Cf(e={}){if(!e.bundle&&!e.url)throw Error("rip: bootApp requires a bundle or a url");let t=e.bundle??await tc(e.url,{fetchText:e.fetchText}),r=Z4(t),n=e.debug===!0,i=e.watch===!0||e.feed!=null,s=rc(r,n,{hmr:i}),a=Kr(),o=(M)=>M["seed.rip"]?.seed,l=(M)=>Hr({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 s.compile();a.activate({hash:t.hash,sources:r,compiled:M}),c=l(M)}catch(M){throw s.dispose(),M}let f=null,h=!1,u={},d=e.feed?.report??((...M)=>console.error(...M)),p=e.feed?.report??((...M)=>console.info(...M)),m=(M)=>{if(Ae(),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 L=new Set,A=new URL(typeof location>"u"?"http://rip.invalid/":location.href),P=new URL("/",A);P.pathname=`/${M.replaceAll("%","%25")}`;let v=P.pathname;for(let V of document.querySelectorAll('link[rel="stylesheet"]')){let W=V.getAttribute("data-rip-css")===M;if(W)L.add(V);let G=V.getAttribute("href")||"";if(!G)continue;let T;try{T=new URL(G,A)}catch{continue}if(!W&&T.origin===A.origin&&(T.pathname===v||T.pathname.endsWith(v)))L.add(V)}return[...L]},b=(M,L)=>{for(let A of g(M)){let P=A.getAttribute("href")||A.href,v=P.indexOf("#"),V=v<0?"":P.slice(v),G=(v<0?P:P.slice(0,v)).split("?")[0];A.setAttribute("href",`${G}?hash=${encodeURIComponent(L)}${V}`),A.disabled=!1}},S=qr({renderer:{remountDirty:(M,L)=>c.renderer.remountDirty(M,L)},escape:async()=>"reload",report:p}),w=new Set,R=async(M)=>{let L;try{L=Q4(M)}catch(U){return d("[Rip] malformed publication change:",U),"reload"}if(a.hash()===L.hash)return w.clear(),Ae(),!0;if(w.has(L.hash))return!0;let A=L.from;if(a.hash()!==L.from)if(w.has(L.from))A=a.hash();else return"reload";let P=()=>Object.fromEntries(a.listAll().map((U)=>[U,a.read(U)])),v=P(),V=[];for(let U of L.entries){if(!U.path.endsWith(".rip"))continue;if(V.push(U.path),U.deletion)delete v[U.path];else v[U.path]=U.source}let W,G;try{s.sources(v);let U=await s.compile(V);W=U.compiled,G=U.invalidated.filter((r1)=>!r1.startsWith("rip/")),J4({compiled:W,seed:o(W)})}catch(U){return s.sources(P()),w.add(L.hash),d("[Rip] changed Rip program failed to compile:",U),o2("compile",U),"rejected"}let T=L.entries.some((U)=>!U.path.endsWith(".rip")&&(!U.path.endsWith(".css")||U.deletion)),N=c.router.current,F=new Set([...N?.layouts??N?.route?.layouts??[],N?.route?.file].filter(Boolean)),J=L.entries.some((U)=>U.deletion&&U.path.endsWith(".rip")&&F.has(U.path));if(T||J)return s.sources(P()),"reload";let x=null,Q=!1;try{x=a.stage(A,{hash:L.hash,sources:v,compiled:W},V);let U=G.length?await S.absorb(G,x.components):"ignore";x.commit(),Q=!0,w.clear();for(let r1 of L.entries)if(r1.path.endsWith(".css"))b(r1.path,L.hash);if(Ae(),U==="reload")return p("[Rip] committed App update requires a document reload"),"reload";return!0}catch(U){if(x&&!Q)x.rollback();return s.sources(P()),w.add(L.hash),d("[Rip] changed Rip program failed to activate:",U),o2("activate",U),"rejected"}};if(i){let M=e.latestUrl??e.feed?.latestUrl??(e.url?ic(e.url,"latest.json"):"/latest.json");f=zr({hash:()=>a.hash(),apply:R,reload:m},{...e.feed??{},latestUrl:M,report:d})}return Object.assign(u,c,{workspace:a,feed:f,destroy:()=>{if(h)return;h=!0,Ae(),f?.close(),c.destroy(),s.dispose()}})}function Pf(e={}){return h2({...e,embeddedPackages:{...f2,...e.embeddedPackages}})}function Lf(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 kn(e,{...t,runtimeDelivery:"none"})}export{Jr as app,Cf as bootApp,Ae as clearHmrOverlay,kn as compile,Lf as compileToJS,Pf as createModuleLoader,f2 as embeddedPackages,tc as fetchBundle,xf as hmrOverlayElement,Df as processRipScripts,c2 as runtimes,o2 as showHmrOverlay}; +`;s.textContent=l+s2(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",()=>Ae()),i.appendChild(s),i.appendChild(c),n.appendChild(i),n.addEventListener("click",(h)=>{if(h.target===n)Ae()});let f=(h)=>{if(h.key==="Escape")Ae()};if(n._ripOnKey=f,typeof document.addEventListener==="function")document.addEventListener("keydown",f);return r.appendChild(n),et=n,U4("reject",{kind:e||"compile",path:a2(t),message:s2(t).slice(0,500)}),n}function Ae(){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 xf(){return et}var{validatePrepared:J4}=Jr,d2=(e)=>e!==null&&typeof e==="object"&&!Array.isArray(e),En=(e)=>typeof e==="string"&&/^[A-Za-z0-9_]{6}$/.test(e),m2=(e,t=!1)=>{if(typeof e!=="string"||e.length===0||e.startsWith("/")||e.includes("\\"))return!1;let r=e.split("/");if(r.some((n)=>!n||n==="."||n===".."||n.startsWith(".")))return!1;if(t){let n=r.at(-1);if(n===".rip"||!n.endsWith(".rip")||r.slice(0,-1).some((i)=>i.endsWith(".rip")))return!1}return!0},p2=(e,t)=>{let r=Object.keys(e).sort(),n=[...t].sort();return r.length===n.length&&r.every((i,s)=>i===n[s])},Z4=(e)=>{if(!d2(e)||!p2(e,["hash","list"])||!En(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 n of e.list){if(!Array.isArray(n)||n.length!==2||!m2(n[0],!0)||typeof n[1]!=="string"||r!==null&&r>=n[0])throw Error(`rip: bundle has a malformed or unsorted source entry: ${JSON.stringify(n)}`);if(n[0]==="rip/app"||n[0].startsWith("rip/app/"))throw Error(`rip: bundle source '${n[0]}' collides with embedded package 'rip/app'`);r=n[0],t[n[0]]=n[1]}return t},Q4=(e)=>{if(!d2(e)||!p2(e,["from","hash","list"])||!En(e.from)||!En(e.hash)||!Array.isArray(e.list))throw Error("rip: publication change must contain exactly from, hash, and list");let t=null,r=[];for(let n of e.list){if(!Array.isArray(n)||n.length<1||n.length>2||!m2(n[0])||t!==null&&t>=n[0])throw Error(`rip: publication change has a malformed or unsorted entry: ${JSON.stringify(n)}`);let[i]=n,s=n.length===2&&n[1]===null;if(i.endsWith(".rip")){if(n.length!==2||!s&&typeof n[1]!=="string")throw Error(`rip: Rip change '${i}' must carry source or null`)}else if(n.length===2&&!s)throw Error(`rip: ordinary asset change '${i}' cannot carry content`);t=i,r.push({path:i,source:n[1],deletion:s})}return{from:e.from,hash:e.hash,entries:r}},ec=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 tc(e,{fetchText:t=ec}={}){if(!e)throw Error("rip: fetchBundle requires a url");let r=await t(e),n=typeof r==="string"?r:r?.text;if(typeof n!=="string")throw Error(`rip: bundle '${e}' fetch did not return text`);try{return JSON.parse(n)}catch(i){throw Error(`rip: bundle '${e}' is not valid JSON: ${i.message}`)}}var rc=(e,t,{hmr:r=!1}={})=>{let n=new Map(Object.entries(e)),i=new Map,a=h2({components:{read:(o)=>n.get(o),exists:(o)=>n.has(o),getCompiled:(o)=>i.get(o),setCompiled:(o,l)=>void i.set(o,l)},embeddedPackages:f2,debug:t,hmr:r});return{sources(o){n=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 n.keys())if(!f.startsWith("rip/"))c[f]={...await a.import(f)};return{compiled:c,invalidated:[...l]}}finally{await a.collect()}},dispose:()=>a.dispose()}},ic=(e,t)=>{let r=e.split("?")[0];return`${r.slice(0,r.lastIndexOf("/")+1)}${t}`};async function Cf(e={}){if(!e.bundle&&!e.url)throw Error("rip: bootApp requires a bundle or a url");let t=e.bundle??await tc(e.url,{fetchText:e.fetchText}),r=Z4(t),n=e.debug===!0,i=e.watch===!0||e.feed!=null,s=rc(r,n,{hmr:i}),a=Kr(),o=(M)=>M["seed.rip"]?.seed,l=(M)=>Hr({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 s.compile();a.activate({hash:t.hash,sources:r,compiled:M}),c=l(M)}catch(M){throw s.dispose(),M}let f=null,h=!1,u={},d=e.feed?.report??((...M)=>console.error(...M)),p=e.feed?.report??((...M)=>console.info(...M)),m=(M)=>{if(Ae(),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 L=new Set,A=new URL(typeof location>"u"?"http://rip.invalid/":location.href),P=new URL("/",A);P.pathname=`/${M.replaceAll("%","%25")}`;let v=P.pathname;for(let V of document.querySelectorAll('link[rel="stylesheet"]')){let H=V.getAttribute("data-rip-css")===M;if(H)L.add(V);let G=V.getAttribute("href")||"";if(!G)continue;let T;try{T=new URL(G,A)}catch{continue}if(!H&&T.origin===A.origin&&(T.pathname===v||T.pathname.endsWith(v)))L.add(V)}return[...L]},b=(M,L)=>{for(let A of g(M)){let P=A.getAttribute("href")||A.href,v=P.indexOf("#"),V=v<0?"":P.slice(v),G=(v<0?P:P.slice(0,v)).split("?")[0];A.setAttribute("href",`${G}?hash=${encodeURIComponent(L)}${V}`),A.disabled=!1}},S=qr({renderer:{remountDirty:(M,L)=>c.renderer.remountDirty(M,L)},escape:async()=>"reload",report:p}),w=new Set,R=async(M)=>{let L;try{L=Q4(M)}catch(U){return d("[Rip] malformed publication change:",U),"reload"}if(a.hash()===L.hash)return w.clear(),Ae(),!0;if(w.has(L.hash))return!0;let A=L.from;if(a.hash()!==L.from)if(w.has(L.from))A=a.hash();else return"reload";let P=()=>Object.fromEntries(a.listAll().map((U)=>[U,a.read(U)])),v=P(),V=[];for(let U of L.entries){if(!U.path.endsWith(".rip"))continue;if(V.push(U.path),U.deletion)delete v[U.path];else v[U.path]=U.source}let H,G;try{s.sources(v);let U=await s.compile(V);H=U.compiled,G=U.invalidated.filter((i1)=>!i1.startsWith("rip/")),J4({compiled:H,seed:o(H)})}catch(U){return s.sources(P()),w.add(L.hash),d("[Rip] changed Rip program failed to compile:",U),o2("compile",U),"rejected"}let T=L.entries.some((U)=>!U.path.endsWith(".rip")&&(!U.path.endsWith(".css")||U.deletion)),N=c.router.current,F=new Set([...N?.layouts??N?.route?.layouts??[],N?.route?.file].filter(Boolean)),J=L.entries.some((U)=>U.deletion&&U.path.endsWith(".rip")&&F.has(U.path));if(T||J)return s.sources(P()),"reload";let x=null,e1=!1;try{x=a.stage(A,{hash:L.hash,sources:v,compiled:H},V);let U=G.length?await S.absorb(G,x.components):"ignore";x.commit(),e1=!0,w.clear();for(let i1 of L.entries)if(i1.path.endsWith(".css"))b(i1.path,L.hash);if(Ae(),U==="reload")return p("[Rip] committed App update requires a document reload"),"reload";return!0}catch(U){if(x&&!e1)x.rollback();return s.sources(P()),w.add(L.hash),d("[Rip] changed Rip program failed to activate:",U),o2("activate",U),"rejected"}};if(i){let M=e.latestUrl??e.feed?.latestUrl??(e.url?ic(e.url,"latest.json"):"/latest.json");f=zr({hash:()=>a.hash(),apply:R,reload:m},{...e.feed??{},latestUrl:M,report:d})}return Object.assign(u,c,{workspace:a,feed:f,destroy:()=>{if(h)return;h=!0,Ae(),f?.close(),c.destroy(),s.dispose()}})}function Pf(e={}){return h2({...e,embeddedPackages:{...f2,...e.embeddedPackages}})}function Lf(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 kn(e,{...t,runtimeDelivery:"none"})}export{Jr as app,Cf as bootApp,Ae as clearHmrOverlay,kn as compile,Lf as compileToJS,Pf as createModuleLoader,f2 as embeddedPackages,tc as fetchBundle,xf as hmrOverlayElement,Df as processRipScripts,c2 as runtimes,o2 as showHmrOverlay}; diff --git a/dist/@rip/rip.min.js.br b/dist/@rip/rip.min.js.br index 8ff9b2ff500a7b2a273972b9c0376d545a21999d..8e2e139ccc30601cb91b13bd4eeccfddb7474501 100644 GIT binary patch literal 183135 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

!`_4g0h24vb!mnP@*Fl37 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 E2HchEsQ>@~ literal 183057 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%0D~S8 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�O%SNRUZ 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 z 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

+ac`2`@Ui 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 diff --git a/packages/tui/TODO.md b/packages/tui/TODO.md index 8ceaa2f2..c1da200f 100644 --- a/packages/tui/TODO.md +++ b/packages/tui/TODO.md @@ -94,7 +94,3 @@ steps are in [PLAN.md](PLAN.md). - A spelling for a capture listener in a render block. The package reads a type that ends in `Capture` (`@keydownCapture:`), since `@name:` is always `addEventListener(name, handler)` with no third argument. -- A name that is not defined, read as a prop of an element that holds a - keyed `for`, surfaces as a reconciler `TypeError` (`anchor.parentNode`, - `src/runtime/components.js:590`) with no node named, where the same - read on an element without the `for` surfaces as the `ReferenceError`. diff --git a/packages/tui/test.rip b/packages/tui/test.rip index 5d78cdc6..0c0b2859 100644 --- a/packages/tui/test.rip +++ b/packages/tui/test.rip @@ -260,6 +260,23 @@ test "a child that fails to construct fails the mount, through the runtime's rep console.error = held eq printed, [] +test "a child that fails to construct while holding a keyed for fails the mount with its own error", -> + Listed = component + @items := ['a'] + render + Box flexDirection: 'column' + Box contentOffsetY: nosuchname + for item, n in @items + Text key: n, "#{item}" + held = console.error + printed = [] + console.error = (label) -> printed.push label + try + throws (-> renderToString Listed), ReferenceError, 'nosuchname is not defined' + finally + console.error = held + eq printed, [] + test "restore hands the runtime its own reporter back", -> renderToString (component render diff --git a/src/emitter.js b/src/emitter.js index 77cb76b8..868b48ad 100644 --- a/src/emitter.js +++ b/src/emitter.js @@ -12104,8 +12104,33 @@ class Emitter { line(() => this.b.emit(`{ const ${kidV} = ${instVar}._beginProjection(${self()}); try {`)); const outerHost = this.projectionHost; this.projectionHost = instVar; + const from = rec.setups.length; let childrenVar; try { childrenVar = projection(); } finally { this.projectionHost = outerHost; } + // The projection's setups — its lists, its branches, its text + // bindings — run only while the child stands: a child whose + // construction failed is null at its construct site, and the + // nodes and anchors those setups drive may never have been made. + // Their error would mask the child's own. A projected child's + // latch is the exception, in its place: it guards itself, and a + // child the projection made must leave `mounting` to unmount. + const guard = (setups) => ({ + kind: 'raw', + node: null, + fn: (pad) => { + this.b.emit(`${pad}if (${instVar}) {\n`); + this.replaySetups({ setups }, `${pad} `); + this.b.emit(`${pad}}\n`); + }, + }); + let run = []; + for (const s of rec.setups.splice(from)) { + if (s.latch !== true) { run.push(s); continue; } + if (run.length > 0) rec.setups.push(guard(run)); + run = []; + rec.setups.push(s); + } + if (run.length > 0) rec.setups.push(guard(run)); line(() => this.b.emit(`} finally { ${instVar}._endProjection(${kidV}); } }`)); line(() => this.b.emit(`${instVar}._setChildren(${childrenVar});`)); } @@ -12191,6 +12216,7 @@ class Emitter { // the placeholder rather than the detached failed root. ── rec.setups.push({ kind: 'raw', + latch: true, fn: (pad) => { this.b.emit(pad); const emitLatch = () => { diff --git a/src/runtime/components.js b/src/runtime/components.js index 350bc293..1f12034c 100644 --- a/src/runtime/components.js +++ b/src/runtime/components.js @@ -587,6 +587,12 @@ function __lis(arr) { } function __reconcile(anchor, state, items, ctx, factory, keyFn, ...outer) { + // The anchor is the comment the list's create phase placed; a list + // whose create phase never ran has none, and reconciling against + // nothing is a contract violation, not a list with no parent. + if (anchor == null) { + throw new Error('__reconcile: no anchor — the list\'s create phase never placed one'); + } const parent = anchor.parentNode; if (!parent) return; diff --git a/test/ui/components.test.js b/test/ui/components.test.js index ea308a24..7da77564 100644 --- a/test/ui/components.test.js +++ b/test/ui/components.test.js @@ -1730,6 +1730,103 @@ describe('child components: the instantiation protocol', () => { } }); + test('a child whose construction throws while holding projected blocks is contained at its construct site: the report is its own error, and the mount stands', () => { + const source = `Kid = component + render + b "kid" +Wrap = component + render + div + slot +Broken = component + render + div title: missing + slot +App = component + items := ['a'] + show := true + name := 'n' + render + div + Wrap title: nosuchname + for item, i in items + span key: i, "#{item}" + if show + em "shown" + span "#{name}" + Broken + Kid + for item, i in items + span key: i, "#{item}" + strong "kept" +`; + const { code } = compile(source, { runtimeDelivery: 'none' }); + const names = Object.keys(RT); + const { App } = new Function(...names, `${code}\nreturn { App };`)(...names.map((name) => RT[name])); + const target = document.createElement('main'); + const app = new App({}); + const prior = console.error; + const reported = []; + console.error = (label, error) => reported.push([label, error]); + try { + app.mount(target); + const stood = '

'; + expect(serialize(target)).toBe(stood); + app.items.value = ['a', 'b']; + app.show.value = false; + app.name.value = 'm'; + expect(serialize(target)).toBe(stood); + app.unmount(); + } finally { + console.error = prior; + } + expect(reported.map(([label, error]) => [label, error?.constructor, error?.message])).toEqual([ + ['[Rip] Wrap construction failed:', ReferenceError, 'nosuchname is not defined'], + ['[Rip] Broken construction failed:', ReferenceError, 'missing is not defined'], + ]); + }); + + test('a child whose _init a boundary contained holds no projected blocks: the mount stands on the init placeholder', () => { + const source = `caught = [] +Bad = component + x := nosuchname + render + div + slot +App = component + items := ['a'] + onError = (failure) -> caught.push failure + render + div + Bad + for item, i in items + span key: i, "#{item}" +`; + const { code } = compile(source, { runtimeDelivery: 'none' }); + const names = Object.keys(RT); + const { App, caught } = new Function(...names, `${code}\nreturn { App, caught };`)(...names.map((name) => RT[name])); + const target = document.createElement('main'); + const app = new App({}); + const prior = console.error; + const printed = []; + console.error = (...args) => printed.push(args); + try { + app.mount(target); + } finally { + console.error = prior; + } + try { + expect(printed).toEqual([]); + expect(caught).toHaveLength(1); + expect(caught[0].error).toBeInstanceOf(ReferenceError); + expect(serialize(target)).toBe('
'); + app.items.value = ['a', 'b']; + expect(serialize(target)).toBe('
'); + } finally { + app.unmount(); + } + }); + test('failed factory children transfer ownership to their placeholders across keyed moves, removal, and branch replacement', () => { const source = `failedRoots = [] Bad = component