rip-lang 3.13.134 → 3.13.135

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,29 +1,30 @@
1
- (()=>{var{defineProperty:m1,getOwnPropertyNames:X3,getOwnPropertyDescriptor:H3}=Object,O3=Object.prototype.hasOwnProperty;function q3(f){return this[f]}var P3=(f)=>{var _=(G2??=new WeakMap).get(f),U;if(_)return _;if(_=m1({},"__esModule",{value:!0}),f&&typeof f==="object"||typeof f==="function"){for(var w of X3(f))if(!O3.call(_,w))m1(_,w,{get:q3.bind(f,w),enumerable:!(U=H3(f,w))||U.enumerable})}return G2.set(f,_),_},G2;var E3=(f)=>f;function I3(f,_){this[f]=E3.bind(null,_)}var R2=(f,_)=>{for(var U in _)m1(f,U,{get:_[U],enumerable:!0,configurable:!0,set:I3.bind(_,U)})};var S4={};R2(S4,{rip:()=>b2,processRipScripts:()=>y2,parser:()=>z1,importRip:()=>D1,getStdlibCode:()=>B1,getReactiveRuntime:()=>L1,getComponentRuntime:()=>N1,formatSExpr:()=>W1,compileToJS:()=>Y1,compile:()=>y1,VERSION:()=>c2,Lexer:()=>R1,Compiler:()=>I1,CodeEmitter:()=>f1,BUILD_DATE:()=>j2});function Q2(f){let _=f.prototype;_.rewriteTypes=function(){let U=this.tokens,w=(u,$,W)=>{let F=[u,$];if(F.pre=0,F.data=null,F.loc=W?.loc??{r:0,c:0,n:0},F.spaced=!1,F.newLine=!1,F.generated=!0,W)F.origin=W;return F};this.scanTokens((u,$,W)=>{let F=u[0];if(F==="IDENTIFIER"){let A=W[$+1];if(A&&A[0]==="COMPARE"&&A[1]==="<"&&!A.spaced){let G=W[$-1]?.[0]==="DEF",Y=z2(W,$+1);if(Y&&G){if(!u.data)u.data={};if(u.data.typeParams=K1(Y),W.splice($+1,Y.length),W[$+1]?.[0]==="("){W[$+1][0]="CALL_START";let R=1,Z=$+2;while(Z<W.length&&R>0){if(W[Z][0]==="("||W[Z][0]==="CALL_START")R++;if(W[Z][0]===")"||W[Z][0]==="CALL_END")R--;if(R===0)W[Z][0]="CALL_END";Z++}}}}}if(F==="TYPE_ANNOTATION"){let A=W[$-1];if(!A)return 1;let G=Z2(W,$+1),Y=K1(G),R=A,Z="type";if(A[0]==="CALL_END"||A[0]===")"){let J=1,H=$-2;while(H>=0&&J>0){let O=W[H][0];if(O==="CALL_END"||O===")")J++;if(O==="CALL_START"||O==="(")J--;H--}if(H>=0)R=W[H];Z="returnType"}else if(A[0]==="PARAM_END"){let J=$+1+G.length,H=W[J];if(H&&(H[0]==="->"||H[0]==="=>"))R=H;Z="returnType"}else if(A[0]==="IDENTIFIER"&&$>=2&&W[$-2]?.[0]==="DEF")Z="returnType";if(!R.data)R.data={};R.data[Z]=Y;let M=1+G.length;return W.splice($,M),0}if(F==="IDENTIFIER"&&u[1]==="type"){let A=W[$-1]?.[0];if(!(!A||A==="TERMINATOR"||A==="INDENT"||A==="EXPORT"))return 1;let Y=$+1,R=W[Y];if(!R||R[0]!=="IDENTIFIER")return 1;let Z=R[1],M=A==="EXPORT",J=M?$-1:$,H=Y+1;if(W[H]?.[0]==="COMPARE"&&W[H]?.[1]==="<"&&!W[H].spaced){let D=z2(W,H);if(D){if(!R.data)R.data={};R.data.typeParams=K1(D),W.splice(H,D.length)}}if(W[H]?.[0]!=="=")return 1;let O=(D)=>{let I=w("TYPE_DECL",Z,R);if(I.data={name:Z,typeText:D,exported:M},R.data?.typeParams)I.data.typeParams=R.data.typeParams;return I},z=H+1,q=W[z];if(q&&(q[0]==="TERMINATOR"||q[0]==="INDENT")){let D=B3(W,z);if(D)return W.splice(J,D.endIdx-J+1,O(D.typeText)),0}if(q&&q[0]==="INDENT"){let D=k1(W,z);return W.splice(J,D-J+1,O(M2(W,z))),0}let Q=Z2(W,z);return W.splice(J,z+Q.length-J,O(K1(Q))),0}if(F==="INTERFACE"){let A=$>=1&&W[$-1]?.[0]==="EXPORT",G=$+1,Y=W[G];if(!Y)return 1;let R=Y[1],Z=null,M=G+1;if(W[M]?.[0]==="EXTENDS")Z=W[M+1]?.[1],M=M+2;if(W[M]?.[0]==="INDENT"){let J=M2(W,M),H=k1(W,M),O=w("TYPE_DECL",R,Y);O.data={name:R,kind:"interface",extends:Z,typeText:J,exported:A};let z=A?$-1:$,q=H-z+1;return W.splice(z,q,O),0}return 1}return 1})}}function Z2(f,_){let U=[],w=0;while(_<f.length){let u=f[_],$=u[0],W=$==="("||$==="["||$==="{"||$==="CALL_START"||$==="PARAM_START"||$==="INDEX_START"||$==="COMPARE"&&u[1]==="<",F=$===")"||$==="]"||$==="}"||$==="CALL_END"||$==="PARAM_END"||$==="INDEX_END"||$==="COMPARE"&&u[1]===">";if($==="SHIFT"&&u[1]===">>"&&w>=2){w-=2,U.push(u),_++;continue}if(W){w++,U.push(u),_++;continue}if(F){if(w>0){w--,U.push(u),_++;continue}break}if(w===0){if($==="="||$==="REACTIVE_ASSIGN"||$==="COMPUTED_ASSIGN"||$==="READONLY_ASSIGN"||$==="EFFECT"||$==="TERMINATOR"||$==="INDENT"||$==="OUTDENT"||$==="->"||$===",")break}U.push(u),_++}return U}function K1(f){if(f.length===0)return"";if(f[0]?.[0]==="=>")f.unshift(["","()"]);let _=f.map((U)=>U[1]).join(" ").replace(/\s+/g," ").trim();return _=_.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,": ").replace(/:: /g,": "),_}function z2(f,_){if(_>=f.length)return null;let U=f[_];if(U[0]!=="COMPARE"||U[1]!=="<")return null;let w=[U],u=1,$=_+1;while($<f.length&&u>0){let W=f[$];if(w.push(W),W[0]==="COMPARE"&&W[1]==="<")u++;else if(W[0]==="COMPARE"&&W[1]===">")u--;$++}return u===0?w:null}function M2(f,_){let U=[],w=_+1,u=1;while(w<f.length&&u>0){let $=f[w];if($[0]==="INDENT"){u++,w++;continue}if($[0]==="OUTDENT"){if(u--,u===0)break;w++;continue}if($[0]==="TERMINATOR"){w++;continue}let W=$[0]==="PROPERTY"||$[0]==="IDENTIFIER"||u===1&&/^[a-zA-Z_$]/.test($[1])&&f[w+1]?.[0]==="TYPE_ANNOTATION";if(u===1&&W){let F=$[1],A=!1,G=!1;if(w++,F==="readonly"&&f[w]&&(f[w][0]==="PROPERTY"||f[w][0]==="IDENTIFIER"||/^[a-zA-Z_$]/.test(f[w][1])&&f[w+1]?.[0]==="TYPE_ANNOTATION")){if(G=!0,F=f[w][1],f[w].data?.predicate)A=!0;w++}if($.data?.predicate)A=!0;if(f[w]?.[1]==="?"&&!f[w]?.spaced)A=!0,w++;if(f[w]?.[1]===":"||f[w]?.[0]==="TYPE_ANNOTATION")w++;let Y=[],R=0;while(w<f.length){let H=f[w];if(H[0]==="INDENT"){R++,w++;continue}if(H[0]==="OUTDENT"){if(R>0){R--,w++;continue}break}if(H[0]==="TERMINATOR"&&R===0)break;Y.push(H),w++}let Z=K1(Y),M=G?"readonly ":"",J=A?"?":"";U.push(`${M}${F}${J}: ${Z}`)}else w++}return"{ "+U.join("; ")+" }"}function k1(f,_){let U=0;for(let w=_;w<f.length;w++){if(f[w][0]==="INDENT")U++;if(f[w][0]==="OUTDENT"){if(U--,U===0)return w}}return f.length-1}function B3(f,_){let U=_;if(f[U]?.[0]==="TERMINATOR")U++;if(f[U]?.[0]!=="INDENT")return null;let w=U;U++;while(U<f.length&&f[U][0]==="TERMINATOR")U++;if(!f[U]||f[U][1]!=="|")return null;let u=[],$=1;U=w+1;while(U<f.length&&$>0){let F=f[U];if(F[0]==="INDENT"){$++,U++;continue}if(F[0]==="OUTDENT"){if($--,$===0)break;U++;continue}if(F[0]==="TERMINATOR"){U++;continue}if(F[1]==="|"&&$===1){U++;let A=[];while(U<f.length){let G=f[U];if(G[0]==="TERMINATOR"||G[0]==="OUTDENT"||G[1]==="|"&&$===1)break;A.push(G),U++}if(A.length>0)u.push(K1(A));continue}U++}if(u.length===0)return null;let W=k1(f,w);return{typeText:u.join(" | "),endIdx:W}}function n1(f,_=null,U=""){let w=[],u=0,$=" ",W=()=>$.repeat(u),F=!1,A=new Set,G=!1,Y=!1,R=!1,Z=typeof U==="string"?U.split(`
2
- `):[];for(let D=0;D<f.length;D++){let I=f[D][0];if(I==="REACTIVE_ASSIGN")G=!0;else if(I==="COMPUTED_ASSIGN")Y=!0}let M=(D,I,P)=>{if(I.startsWith("{ ")&&I.endsWith(" }")){let K=0,X=-1;for(let E=0;E<I.length;E++)if(I[E]==="{")K++;else if(I[E]==="}"){if(K--,K===0){X=E;break}}if(X===I.length-1){let E=I.slice(2,-2).split("; ").filter((N)=>N.trim());if(E.length>0){w.push(`${W()}${D}{`),u++;for(let N of E)w.push(`${W()}${N};`);u--,w.push(`${W()}}${P}`);return}}}w.push(`${W()}${D}${I}${P}`)},J=(D,I)=>{I++;let P=0;while(I<D.length){let K=D[I];if(K[0]==="("||K[0]==="["||K[0]==="{")P++;if(K[0]===")"||K[0]==="]"||K[0]==="}"){if(P===0)break;P--}if(P===0&&K[1]===",")break;I++}return I},H=(D,I)=>{let P=[],K=!1,X=I+1,E=1;while(X<D.length&&E>0){if(D[X][0]==="{")E++;if(D[X][0]==="}")E--;if(E<=0){X++;break}if(D[X][0]==="..."||D[X][0]==="SPREAD"){if(X++,D[X]?.[0]==="IDENTIFIER")P.push({kind:"rest",propName:D[X][1]}),X++;continue}if(D[X][0]==="PROPERTY"&&D[X+1]?.[0]===":"){let B=D[X][1];if(X+=2,D[X]?.[0]==="{"){let h=H(D,X);if(h.hasAnyType)K=!0;P.push({kind:"nested-obj",propName:B,inner:h}),X=h.endJ;continue}if(D[X]?.[0]==="["){let h=O(D,X);if(h.hasAnyType)K=!0;P.push({kind:"nested-arr",propName:B,inner:h}),X=h.endJ;continue}if(D[X]?.[0]==="IDENTIFIER"){let h=D[X][1],j=D[X].data?.type;if(j)K=!0;let S=D[X+1]?.[0]==="=";if(P.push({kind:"rename",propName:B,localName:h,type:j?u1(j):null,hasDefault:S}),X++,S)X=J(D,X)}continue}if(D[X][0]==="IDENTIFIER"){let B=D[X][1],h=D[X].data?.type;if(h)K=!0;let j=D[X+1]?.[0]==="=";if(P.push({kind:"simple",propName:B,type:h?u1(h):null,hasDefault:j}),X++,j)X=J(D,X);continue}X++}let N=[],L=[];for(let B of P)if(B.kind==="rest")N.push(`...${B.propName}`),L.push("[key: string]: unknown");else if(B.kind==="nested-obj"||B.kind==="nested-arr")N.push(`${B.propName}: ${B.inner.patternStr}`),L.push(`${B.propName}: ${B.inner.typeStr}`);else if(B.kind==="rename")N.push(`${B.propName}: ${B.localName}`),L.push(`${B.propName}${B.hasDefault?"?":""}: ${B.type||"any"}`);else N.push(B.propName),L.push(`${B.propName}${B.hasDefault?"?":""}: ${B.type||"any"}`);return{patternStr:`{${N.join(", ")}}`,typeStr:`{${L.join(", ")}}`,endJ:X,hasAnyType:K}},O=(D,I)=>{let P=[],K=[],X=!1,E=I+1,N=1;while(E<D.length&&N>0){if(D[E][0]==="[")N++;if(D[E][0]==="]")N--;if(N>0&&D[E][0]==="IDENTIFIER"){let L=D[E][1],B=D[E].data?.type;if(P.push(L),K.push(B?u1(B):null),B)X=!0}E++}return{patternStr:`[${P.join(", ")}]`,typeStr:`[${K.map((L)=>L||"any").join(", ")}]`,endJ:E,hasAnyType:X}},z=(D,I)=>{let P=[],K=[],X=I,E=D[X]?.[0];if(E!=="CALL_START"&&E!=="PARAM_START")return{params:P,fields:K,endIdx:X};let N=E==="CALL_START"?"CALL_END":"PARAM_END";X++;let L=0;while(X<D.length&&!(D[X][0]===N&&L===0)){let B=D[X];if(B[1]===","&&L===0){X++;continue}if(B[0]==="{"||B[0]==="["||B[0]==="CALL_START"||B[0]==="PARAM_START"||B[0]==="INDEX_START")L++;if(B[0]==="}"||B[0]==="]"||B[0]==="CALL_END"||B[0]==="PARAM_END"||B[0]==="INDEX_END"){L--,X++;continue}if(B[0]==="@"){if(X++,D[X]?.[0]==="PROPERTY"||D[X]?.[0]==="IDENTIFIER"){let h=D[X][1],j=D[X].data?.type;if(P.push(j?`${h}: ${u1(j)}`:h),j)K.push({name:h,type:u1(j)});X++}continue}if(B[0]==="SPREAD"||B[1]==="..."){if(X++,D[X]?.[0]==="IDENTIFIER"){let h=D[X][1],j=D[X].data?.type;P.push(j?`...${h}: ${u1(j)}`:`...${h}: any[]`),X++}continue}if(B[0]==="{"){L--;let h=H(D,X);if(X=h.endJ,h.hasAnyType)P.push(`${h.patternStr}: ${h.typeStr}`);else P.push(h.patternStr);continue}if(B[0]==="["){L--;let h=O(D,X);if(X=h.endJ,h.hasAnyType)P.push(`${h.patternStr}: ${h.typeStr}`);else P.push(h.patternStr);continue}if(B[0]==="IDENTIFIER"){let h=B[1],j=B.data?.type,S=!1;if(D[X+1]?.[0]==="=")S=!0;let p=S||B.data?.predicate;if(j)P.push(`${h}${p?"?":""}: ${u1(j)}`);else P.push(h);if(X++,S){X++;let T=0;while(X<D.length){let V=D[X];if(V[0]==="("||V[0]==="["||V[0]==="{")T++;if(V[0]===")"||V[0]==="]"||V[0]==="}")T--;if(T===0&&(V[1]===","||V[0]==="CALL_END"))break;X++}}continue}X++}return{params:P,fields:K,endIdx:X}};for(let D=0;D<f.length;D++){let I=f[D],P=I[0],K=!1;if(P==="EXPORT"){if(K=!0,D++,D>=f.length)break;if(I=f[D],P=I[0],P==="DEFAULT"){if(D++,D>=f.length)break;if(I=f[D],P=I[0],P==="IDENTIFIER")w.push(`${W()}export default ${I[1]};`);continue}}if(P==="IMPORT"){let X=[],E=D+1;while(E<f.length&&f[E][0]!=="TERMINATOR")X.push(f[E]),E++;let N="import "+X.map((L)=>L[1]).join(" ");N=N.replace(/\s+/g," ").replace(/\s*,\s*/g,", ").replace(/\{\s*/g,"{ ").replace(/\s*\}/g," }").trim(),w.push(`${W()}${N};`),D=E;continue}if(P==="TYPE_DECL"){let X=I.data;if(!X)continue;let E=K||X.exported?"export ":"",N=X.typeParams||"";if(X.kind==="interface"){let L=X.extends?` extends ${X.extends}`:"";M(`${E}interface ${X.name}${N}${L} `,X.typeText||"{}","")}else{let L=u1(X.typeText||"");M(`${E}type ${X.name}${N} = `,L,";")}continue}if(P==="ENUM"){let X=K?"export ":"",E=f[D+1];if(!E)continue;let N=E[1],L=D+2;if(f[L]?.[0]==="INDENT"){w.push(`${W()}${X}enum ${N} {`),u++,L++;let B=[];while(L<f.length&&f[L][0]!=="OUTDENT"){if(f[L][0]==="TERMINATOR"){L++;continue}if(f[L][0]==="IDENTIFIER"){let h=f[L][1];if(L++,f[L]?.[1]==="="){L++;let j=f[L]?.[1];B.push(`${h} = ${j}`),L++}else B.push(h)}else L++}for(let h=0;h<B.length;h++){let j=h<B.length-1?",":"";w.push(`${W()}${B[h]}${j}`)}u--,w.push(`${W()}}`)}continue}if(P==="CLASS"){let X=K?"export ":"",E=f[D+1];if(!E)continue;let N=E[1],L="",B=D+2;if(f[B]?.[0]==="EXTENDS")L=` extends ${f[B+1]?.[1]||""}`,B+=2;if(f[B]?.[0]==="INDENT"){let h=!1,j=B+1;while(j<f.length&&f[j][0]!=="OUTDENT"){if(f[j].data?.type||f[j].data?.returnType){h=!0;break}j++}if(h)w.push(`${W()}${X}declare class ${N}${L} {`),F=!0,A.clear(),u++}continue}if(P==="DEF"){let X=f[D+1];if(!X)continue;let E=X[1],N=X.data?.returnType;if(!N&&X.data?.await===!0)N="void";let L=X.data?.typeParams||"",{params:B,endIdx:h}=z(f,D+2);if(N||B.some((j)=>j.includes(":"))){let j=K?"export ":"",S=F?"":K?"":"declare ",p=N?`: ${u1(N)}`:"",T=B.join(", ");if(F)w.push(`${W()}${E}${L}(${T})${p};`);else w.push(`${W()}${j}${S}function ${E}${L}(${T})${p};`)}D=h;continue}if(P==="{"&&F){let X=D+1,E=1;while(X<f.length&&E>0){let N=f[X];if(N[0]==="{"){E++,X++;continue}if(N[0]==="}"){E--,X++;continue}if(N[0]==="TERMINATOR"){X++;continue}if(N[0]==="PROPERTY"&&E===1){let L=N[1],B=N.data?.returnType;if(X++,f[X]?.[1]===":")X++;let h=[],j=[];if(f[X]?.[0]==="PARAM_START"){let S=z(f,X);h=S.params,j=S.fields,X=S.endIdx+1}if(f[X]?.[0]==="->"||f[X]?.[0]==="=>")X++;if(f[X]?.[0]==="INDENT"){let S=1;X++;while(X<f.length&&S>0){if(f[X][0]==="INDENT")S++;if(f[X][0]==="OUTDENT")S--;X++}}if(B||h.some((S)=>S.includes(":"))){let S=B?`: ${u1(B)}`:"",p=h.join(", ");if(L==="constructor"&&j.length){for(let T of j)if(!A.has(T.name))w.push(`${W()}${T.name}: ${T.type};`),A.add(T.name)}w.push(`${W()}${L}(${p})${S};`)}continue}X++}D=X-1;continue}if(P==="INDENT")continue;if(P==="OUTDENT"){if(F)u--,w.push(`${W()}}`),F=!1;continue}if(P==="IDENTIFIER"&&!F&&f[D+1]?.[0]==="="&&(f[D+2]?.[0]==="PARAM_START"||f[D+2]?.[0]==="(")){let X=I[1],E=D+2,{params:N}=z(f,E),L=E,B=0;while(L<f.length){if(f[L][0]==="PARAM_START"||f[L][0]==="(")B++;if(f[L][0]==="PARAM_END"||f[L][0]===")")B--;if(B===0&&(f[L][0]==="->"||f[L][0]==="=>"))break;L++}let h=f[L]?.data?.returnType;if(h||N.some((j)=>j.includes(":"))){let j=K?"export ":"",S=K?"":"declare ",p=h?`: ${u1(h)}`:"",T=N.join(", ");w.push(`${W()}${j}${S}function ${X}(${T})${p};`);continue}}if(P==="IDENTIFIER"&&I.data?.type){let X=I[1],E=u1(I.data.type),N=f[D+1];if(N){let L=K?"export ":"",B=K?"":"declare ";if(N[0]==="READONLY_ASSIGN")w.push(`${W()}${L}${B}const ${X}: ${E};`);else if(N[0]==="REACTIVE_ASSIGN")G=!0,w.push(`${W()}${L}${B}const ${X}: Signal<${E}>;`);else if(N[0]==="COMPUTED_ASSIGN")Y=!0,w.push(`${W()}${L}${B}const ${X}: Computed<${E}>;`);else if(N[0]==="EFFECT")w.push(`${W()}${L}${B}const ${X}: () => void;`);else if(N[0]==="="){let h=D+2;if(f[h]?.[0]==="PARAM_START"){let S=1,p=h+1;while(p<f.length&&S>0){if(f[p][0]==="PARAM_START")S++;if(f[p][0]==="PARAM_END")S--;p++}h=p}let j=f[h];if(j&&(j[0]==="->"||j[0]==="=>")&&j.data?.returnType){let S=u1(j.data.returnType),{params:p}=z(f,D+2),T=p.join(", ");w.push(`${W()}${L}${B}function ${X}(${T}): ${S};`)}else if(F)w.push(`${W()}${X}: ${E};`),A.add(X);else w.push(`${W()}${L}let ${X}: ${E};`)}else if(F)w.push(`${W()}${X}: ${E};`),A.add(X)}else if(F)w.push(`${W()}${X}: ${E};`)}}let q=new Set;if(_){if(R=i1(_,w,W,u,q,Z)||R,q.size>0)for(let D=w.length-1;D>=0;D--){let I=w[D].match(/(?:declare |export )*(?:const|let) (\w+)/);if(I&&q.has(I[1]))w.splice(D,1)}}if(w.length===0)return null;let Q=[];if(R)Q.push("type __RipElementMap = HTMLElementTagNameMap & Omit<SVGElementTagNameMap, keyof HTMLElementTagNameMap>;"),Q.push("type __RipTag = keyof __RipElementMap;"),Q.push("type __RipBrowserElement = Omit<HTMLElement, 'querySelector' | 'querySelectorAll' | 'closest' | 'setAttribute' | 'hidden'> & { hidden: boolean | 'until-found'; setAttribute(qualifiedName: string, value: any): void; querySelector(selectors: string): __RipBrowserElement | null; querySelectorAll(selectors: string): NodeListOf<__RipBrowserElement>; closest(selectors: string): __RipBrowserElement | null; };"),Q.push("type __RipDomEl<K extends __RipTag> = Omit<__RipElementMap[K], 'querySelector' | 'querySelectorAll' | 'closest' | 'setAttribute' | 'hidden'> & __RipBrowserElement;"),Q.push("type __RipAttrKeys<T> = { [K in keyof T]-?: K extends 'style' ? never : T[K] extends (...args: any[]) => any ? never : K }[keyof T] & string;"),Q.push("type __RipEvents = { [K in keyof HTMLElementEventMap as `@${K}`]?: ((event: HTMLElementEventMap[K]) => void) | null };"),Q.push("type __RipClassValue = string | boolean | null | undefined | Record<string, boolean> | __RipClassValue[]"),Q.push("type __RipProps<K extends __RipTag> = { [P in __RipAttrKeys<__RipElementMap[K]>]?: __RipElementMap[K][P] } & __RipEvents & { ref?: string; class?: __RipClassValue | __RipClassValue[]; style?: string; [k: `data-${string}`]: any; [k: `aria-${string}`]: any };");if(/\bARIA\./.test(U))Q.push("type __RipAriaNavHandlers = { next?: () => void; prev?: () => void; first?: () => void; last?: () => void; select?: () => void; dismiss?: () => void; tab?: () => void; char?: () => void; };"),Q.push("declare const ARIA: {"),Q.push(" bindPopover(open: boolean, popover: () => Element | null | undefined, setOpen: (isOpen: boolean) => void, source?: (() => Element | null | undefined) | null): void;"),Q.push(" bindDialog(open: boolean, dialog: () => Element | null | undefined, setOpen: (isOpen: boolean) => void, dismissable?: boolean): void;"),Q.push(" popupDismiss(open: boolean, popup: () => Element | null | undefined, close: () => void, els?: Array<() => Element | null | undefined>, repos?: (() => void) | null): void;"),Q.push(" popupGuard(delay?: number): any;"),Q.push(" listNav(event: KeyboardEvent, handlers: __RipAriaNavHandlers): void;"),Q.push(" rovingNav(event: KeyboardEvent, handlers: __RipAriaNavHandlers, orientation?: 'vertical' | 'horizontal' | 'both'): void;"),Q.push(" positionBelow(trigger: Element | null | undefined, popup: Element | null | undefined, gap?: number, setVisible?: boolean): void;"),Q.push(" position(trigger: Element | null | undefined, floating: Element | null | undefined, opts?: any): void;"),Q.push(" trapFocus(panel: Element | null | undefined): void;"),Q.push(" wireAria(panel: Element, id: string): void;"),Q.push(" lockScroll(instance: any): void;"),Q.push(" unlockScroll(instance: any): void;"),Q.push(" hasAnchor: boolean;"),Q.push(" [key: string]: any;"),Q.push("};");if(G)Q.push("interface Signal<T> { value: T; read(): T; lock(): Signal<T>; free(): Signal<T>; kill(): T; }"),Q.push("declare function __state<T>(value: T | Signal<T>): Signal<T>;");if(Y)Q.push("interface Computed<T> { readonly value: T; read(): T; lock(): Computed<T>; free(): Computed<T>; kill(): T; }"),Q.push("declare function __computed<T>(fn: () => T): Computed<T>;");if(G||Y)Q.push("declare function __effect(fn: () => void | (() => void)): () => void;");if(Q.length>0)Q.push("");return Q.concat(w).join(`
1
+ (()=>{var{defineProperty:d1,getOwnPropertyNames:$3,getOwnPropertyDescriptor:_3}=Object,U3=Object.prototype.hasOwnProperty;function w3(f){return this[f]}var F3=(f)=>{var _=(G2??=new WeakMap).get(f),U;if(_)return _;if(_=d1({},"__esModule",{value:!0}),f&&typeof f==="object"||typeof f==="function"){for(var w of $3(f))if(!U3.call(_,w))d1(_,w,{get:w3.bind(f,w),enumerable:!(U=_3(f,w))||U.enumerable})}return G2.set(f,_),_},G2;var W3=(f)=>f;function A3(f,_){this[f]=W3.bind(null,_)}var Z2=(f,_)=>{for(var U in _)d1(f,U,{get:_[U],enumerable:!0,configurable:!0,set:A3.bind(_,U)})};var l4={};Z2(l4,{rip:()=>j2,processRipScripts:()=>b2,parser:()=>M1,importRip:()=>P1,getStdlibCode:()=>V1,getReactiveRuntime:()=>C1,getComponentRuntime:()=>h1,formatSExpr:()=>Z1,formatErrorHTML:()=>w2,formatError:()=>q1,compileToJS:()=>Q1,compile:()=>l1,VERSION:()=>C2,RipError:()=>W1,Lexer:()=>J1,Compiler:()=>T1,CodeEmitter:()=>w1,BUILD_DATE:()=>h2});var Y3=["type __RipElementMap = HTMLElementTagNameMap & Omit<SVGElementTagNameMap, keyof HTMLElementTagNameMap>;","type __RipTag = keyof __RipElementMap;","type __RipBrowserElement = Omit<HTMLElement, 'querySelector' | 'querySelectorAll' | 'closest' | 'setAttribute' | 'hidden'> & { hidden: boolean | 'until-found'; setAttribute(qualifiedName: string, value: any): void; querySelector(selectors: string): __RipBrowserElement | null; querySelectorAll(selectors: string): NodeListOf<__RipBrowserElement>; closest(selectors: string): __RipBrowserElement | null; };","type __RipDomEl<K extends __RipTag> = Omit<__RipElementMap[K], 'querySelector' | 'querySelectorAll' | 'closest' | 'setAttribute' | 'hidden'> & __RipBrowserElement;","type __RipAttrKeys<T> = { [K in keyof T]-?: K extends 'style' | 'classList' | 'className' | 'nodeValue' | 'textContent' | 'innerHTML' | 'innerText' | 'outerHTML' | 'outerText' | 'scrollLeft' | 'scrollTop' ? never : K extends `on${string}` | `aria${string}Element` | `aria${string}Elements` ? never : T[K] extends (...args: any[]) => any ? never : (<V>() => V extends Pick<T, K> ? 1 : 2) extends (<V>() => V extends { -readonly [P in K]: T[P] } ? 1 : 2) ? K : never }[keyof T] & string;","type __RipEvents = { [K in keyof HTMLElementEventMap as `@${K}`]?: ((event: HTMLElementEventMap[K]) => void) | null };","type __RipClassValue = string | boolean | null | undefined | Record<string, boolean> | __RipClassValue[];","type __RipProps<K extends __RipTag> = { [P in __RipAttrKeys<__RipElementMap[K]>]?: __RipElementMap[K][P] } & __RipEvents & { ref?: string; class?: __RipClassValue | __RipClassValue[]; style?: string; [k: `data-${string}`]: any; [k: `aria-${string}`]: any };"];var G3=["type __RipAriaNavHandlers = { next?: () => void; prev?: () => void; first?: () => void; last?: () => void; select?: () => void; dismiss?: () => void; tab?: () => void; char?: () => void; };","declare const ARIA: {"," bindPopover(open: boolean, popover: () => Element | null | undefined, setOpen: (isOpen: boolean) => void, source?: (() => Element | null | undefined) | null): void;"," bindDialog(open: boolean, dialog: () => Element | null | undefined, setOpen: (isOpen: boolean) => void, dismissable?: boolean): void;"," popupDismiss(open: boolean, popup: () => Element | null | undefined, close: () => void, els?: Array<() => Element | null | undefined>, repos?: (() => void) | null): void;"," popupGuard(delay?: number): any;"," listNav(event: KeyboardEvent, handlers: __RipAriaNavHandlers): void;"," rovingNav(event: KeyboardEvent, handlers: __RipAriaNavHandlers, orientation?: 'vertical' | 'horizontal' | 'both'): void;"," positionBelow(trigger: Element | null | undefined, popup: Element | null | undefined, gap?: number, setVisible?: boolean): void;"," position(trigger: Element | null | undefined, floating: Element | null | undefined, opts?: any): void;"," trapFocus(panel: Element | null | undefined): void;"," wireAria(panel: Element, id: string): void;"," lockScroll(instance: any): void;"," unlockScroll(instance: any): void;"," hasAnchor: boolean;"," [key: string]: any;","};"];function K2(f){let _=f.prototype;_.rewriteTypes=function(){let U=this.tokens,w=this.typeRefNames=new Set,u=($,W,F)=>{let A=[$,W];if(A.pre=0,A.data=null,A.loc=F?.loc??{r:0,c:0,n:0},A.spaced=!1,A.newLine=!1,A.generated=!0,F)A.origin=F;return A};this.scanTokens(($,W,F)=>{let A=$[0];if(A==="IDENTIFIER"){let Y=F[W+1];if(Y&&Y[0]==="COMPARE"&&Y[1]==="<"&&!Y.spaced){let G=F[W-1]?.[0]==="DEF",Z=Q2(F,W+1);if(Z){let Q=W+1+Z.length,J=!G&&F[Q]?.[0]==="="&&F[Q+1]?.[0]==="COMPONENT";if(G||J){if(!$.data)$.data={};if($.data.typeParams=K1(Z),F.splice(W+1,Z.length),G&&F[W+1]?.[0]==="("){F[W+1][0]="CALL_START";let M=1,K=W+2;while(K<F.length&&M>0){if(F[K][0]==="("||F[K][0]==="CALL_START")M++;if(F[K][0]===")"||F[K][0]==="CALL_END")M--;if(M===0)F[K][0]="CALL_END";K++}}}}}}if(A==="TYPE_ANNOTATION"){let Y=F[W-1];if(!Y)return 1;let G=z2(F,W+1),Z=K1(G),Q=Y,J="type";if(Y[0]==="CALL_END"||Y[0]===")"){let K=1,R=W-2;while(R>=0&&K>0){let z=F[R][0];if(z==="CALL_END"||z===")")K++;if(z==="CALL_START"||z==="(")K--;R--}if(R>=0)Q=F[R];J="returnType"}else if(Y[0]==="PARAM_END"){let K=W+1+G.consumed,R=F[K];if(R&&(R[0]==="->"||R[0]==="=>"))Q=R;J="returnType"}else if(Y[0]==="IDENTIFIER"&&W>=2&&F[W-2]?.[0]==="DEF")J="returnType";if(!Q.data)Q.data={};Q.data[J]=Z;for(let K of G)if(K[0]==="IDENTIFIER")w.add(K[1]);let M=1+G.consumed;return F.splice(W,M),0}if(A==="IDENTIFIER"&&$[1]==="type"){let Y=F[W-1]?.[0];if(!(!Y||Y==="TERMINATOR"||Y==="INDENT"||Y==="EXPORT"))return 1;let Z=W+1,Q=F[Z];if(!Q||Q[0]!=="IDENTIFIER")return 1;let J=Q[1],M=Y==="EXPORT",K=M?W-1:W,R=Z+1;if(F[R]?.[0]==="COMPARE"&&F[R]?.[1]==="<"&&!F[R].spaced){let I=Q2(F,R);if(I){if(!Q.data)Q.data={};Q.data.typeParams=K1(I),F.splice(R,I.length)}}if(F[R]?.[0]!=="=")return 1;let z=(I)=>{let B=u("TYPE_DECL",J,Q);if(B.data={name:J,typeText:I,exported:M},Q.data?.typeParams)B.data.typeParams=Q.data.typeParams;return B},q=R+1,O=F[q];if(O&&(O[0]==="TERMINATOR"||O[0]==="INDENT")){let I=Z3(F,q);if(I)return F.splice(K,I.endIdx-K+1,z(I.typeText)),0}if(O&&O[0]==="INDENT"){let I=o1(F,q);return F.splice(K,I-K+1,z(p1(F,q))),0}let D=z2(F,q);return F.splice(K,q+D.consumed-K,z(K1(D))),0}if(A==="INTERFACE"){let Y=W>=1&&F[W-1]?.[0]==="EXPORT",G=W+1,Z=F[G];if(!Z)return 1;let Q=Z[1],J=null,M=G+1;if(F[M]?.[0]==="EXTENDS")J=F[M+1]?.[1],M=M+2;if(F[M]?.[0]==="INDENT"){let K=p1(F,M),R=o1(F,M),z=u("TYPE_DECL",Q,Z);z.data={name:Q,kind:"interface",extends:J,typeText:K,exported:Y};let q=Y?W-1:W,O=R-q+1;return F.splice(q,O,z),0}return 1}return 1});for(let $=U.length-1;$>=0;$--){if(U[$][0]!=="DEF")continue;let W=U[$+1];if(!W||W[0]!=="IDENTIFIER")continue;let F=$+2;if(U[F]?.[0]!=="CALL_START")continue;let A=1;F++;while(F<U.length&&A>0){if(U[F][0]==="CALL_START")A++;if(U[F][0]==="CALL_END")A--;F++}let Y=F-1,G=U[F];if(G&&G[0]!=="TERMINATOR")continue;let Z=W.data?.returnType;if(!Z){for(let z=$+2;z<=Y;z++)if(U[z].data?.type){Z=!0;break}}if(!Z)continue;let Q=U.slice($,F+1),J=$>=1&&U[$-1]?.[0]==="EXPORT",M=J?$-1:$,K=F+1-M,R=u("TYPE_DECL",W[1],W);if(R.data={name:W[1],kind:"overload",overloadTokens:Q,exported:J},W.data?.typeParams)R.data.typeParams=W.data.typeParams;U.splice(M,K,R)}}}function z2(f,_){let U=[],w=0,u=_;while(_<f.length){let $=f[_],W=$[0],F=W==="("||W==="["||W==="{"||W==="CALL_START"||W==="PARAM_START"||W==="INDEX_START"||W==="COMPARE"&&$[1]==="<",A=W===")"||W==="]"||W==="}"||W==="CALL_END"||W==="PARAM_END"||W==="INDEX_END"||W==="COMPARE"&&$[1]===">";if(W==="SHIFT"&&$[1]===">>"&&w>=2){w-=2,U.push($),_++;continue}if(F){w++,U.push($),_++;continue}if(A){if(w>0){w--,U.push($),_++;continue}break}if(w===0){if(W==="INDENT"&&U.length>0&&U[U.length-1][0]==="=>"){_++;let Y=1;while(_<f.length&&Y>0)if(f[_][0]==="INDENT")Y++,_++;else if(f[_][0]==="OUTDENT")Y--,_++;else U.push(f[_]),_++;continue}if(W==="="||W==="REACTIVE_ASSIGN"||W==="COMPUTED_ASSIGN"||W==="READONLY_ASSIGN"||W==="EFFECT"||W==="TERMINATOR"||W==="INDENT"||W==="OUTDENT"||W==="->"||W===",")break}U.push($),_++}return U.consumed=_-u,U}function K1(f){if(f.length===0)return"";if(f[0]?.[0]==="=>")f.unshift(["","()"]);let _=f.map((U)=>U[1]).join(" ").replace(/\s+/g," ").trim();return _=_.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,": ").replace(/:: /g,": ").replace(/ : /g,": "),_}function Q2(f,_){if(_>=f.length)return null;let U=f[_];if(U[0]!=="COMPARE"||U[1]!=="<")return null;let w=[U],u=1,$=_+1;while($<f.length&&u>0){let W=f[$];if(w.push(W),W[0]==="COMPARE"&&W[1]==="<")u++;else if(W[0]==="COMPARE"&&W[1]===">")u--;$++}return u===0?w:null}function p1(f,_){let U=[],w=_+1,u=1;while(w<f.length&&u>0){let $=f[w];if($[0]==="INDENT"){u++,w++;continue}if($[0]==="OUTDENT"){if(u--,u===0)break;w++;continue}if($[0]==="TERMINATOR"){w++;continue}if(u===1&&$[0]==="["){let F=[];w++;while(w<f.length&&f[w][0]!=="]")F.push(f[w]),w++;if(w++,f[w]?.[1]===":"||f[w]?.[0]==="TYPE_ANNOTATION")w++;let A=[];while(w<f.length){let Z=f[w];if(Z[0]==="TERMINATOR"||Z[0]==="OUTDENT")break;A.push(Z),w++}let Y=K1(F),G=K1(A);U.push(`[${Y}]: ${G}`);continue}let W=$[0]==="PROPERTY"||$[0]==="IDENTIFIER"||u===1&&/^[a-zA-Z_$]/.test($[1])&&f[w+1]?.[0]==="TYPE_ANNOTATION";if(u===1&&W){let F=$[1],A=!1,Y=!1;if(w++,F==="readonly"&&f[w]&&(f[w][0]==="PROPERTY"||f[w][0]==="IDENTIFIER"||/^[a-zA-Z_$]/.test(f[w][1])&&f[w+1]?.[0]==="TYPE_ANNOTATION")){if(Y=!0,F=f[w][1],f[w].data?.predicate)A=!0;w++}if($.data?.predicate)A=!0;if(f[w]?.[1]==="?"&&!f[w]?.spaced)A=!0,w++;if(f[w]?.[1]===":"||f[w]?.[0]==="TYPE_ANNOTATION")w++;let G=[],Z=0;while(w<f.length){let K=f[w];if(K[0]==="IDENTIFIER"&&K[1]==="type"&&f[w+1]?.[0]==="INDENT"){w++;let R=p1(f,w);G.push(["",R]);let z=1;w++;while(w<f.length&&z>0){if(f[w][0]==="INDENT")z++;if(f[w][0]==="OUTDENT")z--;w++}continue}if(K[0]==="INDENT"){Z++,w++;continue}if(K[0]==="OUTDENT"){if(Z>0){Z--,w++;continue}break}if(K[0]==="TERMINATOR"&&Z===0)break;G.push(K),w++}let Q=K1(G),J=Y?"readonly ":"",M=A?"?":"";U.push(`${J}${F}${M}: ${Q}`)}else w++}return"{ "+U.join("; ")+" }"}function o1(f,_){let U=0;for(let w=_;w<f.length;w++){if(f[w][0]==="INDENT")U++;if(f[w][0]==="OUTDENT"){if(U--,U===0)return w}}return f.length-1}function Z3(f,_){let U=_;if(f[U]?.[0]==="TERMINATOR")U++;if(f[U]?.[0]!=="INDENT")return null;let w=U;U++;while(U<f.length&&f[U][0]==="TERMINATOR")U++;if(!f[U]||f[U][1]!=="|")return null;let u=[],$=1;U=w+1;while(U<f.length&&$>0){let F=f[U];if(F[0]==="INDENT"){$++,U++;continue}if(F[0]==="OUTDENT"){if($--,$===0)break;U++;continue}if(F[0]==="TERMINATOR"){U++;continue}if(F[1]==="|"&&$===1){U++;let A=[];while(U<f.length){let Y=f[U];if(Y[0]==="TERMINATOR"||Y[0]==="OUTDENT"||Y[1]==="|"&&$===1)break;A.push(Y),U++}if(A.length>0)u.push(K1(A));continue}U++}if(u.length===0)return null;let W=o1(f,w);return{typeText:u.join(" | "),endIdx:W}}function r1(f,_=null,U=""){let w=[],u=0,$=" ",W=()=>$.repeat(u),F=!1,A=new Set,Y=!1,G=!1,Z=!1,Q=typeof U==="string"?U.split(`
2
+ `):[];for(let D=0;D<f.length;D++){let I=f[D][0];if(I==="REACTIVE_ASSIGN")Y=!0;else if(I==="COMPUTED_ASSIGN")G=!0}let J=(D,I,B)=>{if(I.startsWith("{ ")&&I.endsWith(" }")){let H=0,X=-1;for(let P=0;P<I.length;P++)if(I[P]==="{")H++;else if(I[P]==="}"){if(H--,H===0){X=P;break}}if(X===I.length-1){let P=I.slice(2,-2),S=[],E=0,L=0;for(let T=0;T<P.length;T++)if(P[T]==="{")L++;else if(P[T]==="}")L--;else if(L===0&&P[T]===";"&&P[T+1]===" ")S.push(P.slice(E,T)),E=T+2;if(E<P.length)S.push(P.slice(E));if(S=S.filter((T)=>T.trim()),S.length>0){w.push(`${W()}${D}{`),u++;for(let T of S)w.push(`${W()}${T};`);u--,w.push(`${W()}}${B}`);return}}}w.push(`${W()}${D}${I}${B}`)},M=(D,I)=>{I++;let B=0;while(I<D.length){let H=D[I];if(H[0]==="("||H[0]==="["||H[0]==="{")B++;if(H[0]===")"||H[0]==="]"||H[0]==="}"){if(B===0)break;B--}if(B===0&&H[1]===",")break;I++}return I},K=(D,I)=>{let B=[],H=!1,X=I+1,P=1;while(X<D.length&&P>0){if(D[X][0]==="{")P++;if(D[X][0]==="}")P--;if(P<=0){X++;break}if(D[X][0]==="..."||D[X][0]==="SPREAD"){if(X++,D[X]?.[0]==="IDENTIFIER")B.push({kind:"rest",propName:D[X][1]}),X++;continue}if(D[X][0]==="PROPERTY"&&D[X+1]?.[0]===":"){let L=D[X][1];if(X+=2,D[X]?.[0]==="{"){let T=K(D,X);if(T.hasAnyType)H=!0;B.push({kind:"nested-obj",propName:L,inner:T}),X=T.endJ;continue}if(D[X]?.[0]==="["){let T=R(D,X);if(T.hasAnyType)H=!0;B.push({kind:"nested-arr",propName:L,inner:T}),X=T.endJ;continue}if(D[X]?.[0]==="IDENTIFIER"){let T=D[X][1],C=D[X].data?.type;if(C)H=!0;let N=D[X+1]?.[0]==="=";if(B.push({kind:"rename",propName:L,localName:T,type:C?U1(C):null,hasDefault:N}),X++,N)X=M(D,X)}continue}if(D[X][0]==="IDENTIFIER"){let L=D[X][1],T=D[X].data?.type;if(T)H=!0;let C=D[X+1]?.[0]==="=";if(B.push({kind:"simple",propName:L,type:T?U1(T):null,hasDefault:C}),X++,C)X=M(D,X);continue}X++}let S=[],E=[];for(let L of B)if(L.kind==="rest")S.push(`...${L.propName}`),E.push("[key: string]: unknown");else if(L.kind==="nested-obj"||L.kind==="nested-arr")S.push(`${L.propName}: ${L.inner.patternStr}`),E.push(`${L.propName}: ${L.inner.typeStr}`);else if(L.kind==="rename")S.push(`${L.propName}: ${L.localName}`),E.push(`${L.propName}${L.hasDefault?"?":""}: ${L.type||"any"}`);else S.push(L.propName),E.push(`${L.propName}${L.hasDefault?"?":""}: ${L.type||"any"}`);return{patternStr:`{${S.join(", ")}}`,typeStr:`{${E.join(", ")}}`,endJ:X,hasAnyType:H}},R=(D,I)=>{let B=[],H=[],X=!1,P=I+1,S=1;while(P<D.length&&S>0){if(D[P][0]==="[")S++;if(D[P][0]==="]")S--;if(S>0&&D[P][0]==="IDENTIFIER"){let E=D[P][1],L=D[P].data?.type;if(B.push(E),H.push(L?U1(L):null),L)X=!0}P++}return{patternStr:`[${B.join(", ")}]`,typeStr:`[${H.map((E)=>E||"any").join(", ")}]`,endJ:P,hasAnyType:X}},z=(D,I)=>{let B=[],H=[],X=I,P=D[X]?.[0];if(P!=="CALL_START"&&P!=="PARAM_START")return{params:B,fields:H,endIdx:X};let S=P==="CALL_START"?"CALL_END":"PARAM_END";X++;let E=0;while(X<D.length&&!(D[X][0]===S&&E===0)){let L=D[X];if(L[1]===","&&E===0){X++;continue}if(L[0]==="{"||L[0]==="["||L[0]==="CALL_START"||L[0]==="PARAM_START"||L[0]==="INDEX_START")E++;if(L[0]==="}"||L[0]==="]"||L[0]==="CALL_END"||L[0]==="PARAM_END"||L[0]==="INDEX_END"){E--,X++;continue}if(L[0]==="@"){if(X++,D[X]?.[0]==="PROPERTY"||D[X]?.[0]==="IDENTIFIER"){let T=D[X][1],C=D[X].data?.type;if(B.push(C?`${T}: ${U1(C)}`:T),C)H.push({name:T,type:U1(C)});X++}continue}if(L[0]==="SPREAD"||L[1]==="..."){if(X++,D[X]?.[0]==="IDENTIFIER"){let T=D[X][1],C=D[X].data?.type;B.push(C?`...${T}: ${U1(C)}`:`...${T}: any[]`),X++}continue}if(L[0]==="{"){E--;let T=K(D,X);if(X=T.endJ,T.hasAnyType)B.push(`${T.patternStr}: ${T.typeStr}`);else B.push(T.patternStr);continue}if(L[0]==="["){E--;let T=R(D,X);if(X=T.endJ,T.hasAnyType)B.push(`${T.patternStr}: ${T.typeStr}`);else B.push(T.patternStr);continue}if(L[0]==="IDENTIFIER"){let T=L[1],C=L.data?.type,N=!1;if(D[X+1]?.[0]==="=")N=!0;let d=N||L.data?.predicate;if(C)B.push(`${T}${d?"?":""}: ${U1(C)}`);else B.push(T);if(X++,N){X++;let V=0;while(X<D.length){let h=D[X];if(h[0]==="("||h[0]==="["||h[0]==="{")V++;if(h[0]===")"||h[0]==="]"||h[0]==="}")V--;if(V===0&&(h[1]===","||h[0]==="CALL_END"))break;X++}}continue}X++}return{params:B,fields:H,endIdx:X}};for(let D=0;D<f.length;D++){let I=f[D],B=I[0],H=!1;if(B==="EXPORT"){if(H=!0,D++,D>=f.length)break;if(I=f[D],B=I[0],B==="DEFAULT"){if(D++,D>=f.length)break;if(I=f[D],B=I[0],B==="IDENTIFIER")w.push(`${W()}export default ${I[1]};`);continue}}if(B==="IMPORT"){let X=[],P=D+1;while(P<f.length&&f[P][0]!=="TERMINATOR")X.push(f[P]),P++;let S="import "+X.map((E)=>E[1]).join(" ");S=S.replace(/\s+/g," ").replace(/\s*,\s*/g,", ").replace(/\{\s*/g,"{ ").replace(/\s*\}/g," }").trim(),w.push(`${W()}${S};`),D=P;continue}if(B==="TYPE_DECL"){let X=I.data;if(!X)continue;let P=H||X.exported?"export ":"",S=X.typeParams||"";if(X.kind==="overload"){let E=X.overloadTokens,L=E[1],{params:T}=z(E,2),C=L.data?.returnType,N=C?`: ${U1(C)}`:"",d=F?"":P?"":"declare ",V=X.typeParams||"";if(F)w.push(`${W()}${X.name}${V}(${T.join(", ")})${N};`);else w.push(`${W()}${P}${d}function ${X.name}${V}(${T.join(", ")})${N};`)}else if(X.kind==="interface"){let E=X.extends?` extends ${X.extends}`:"";J(`${P}interface ${X.name}${S}${E} `,X.typeText||"{}","")}else{let E=U1(X.typeText||"");J(`${P}type ${X.name}${S} = `,E,";")}continue}if(B==="ENUM"){let X=H?"export ":"",P=f[D+1];if(!P)continue;let S=P[1],E=D+2;if(f[E]?.[0]==="INDENT"){w.push(`${W()}${X}enum ${S} {`),u++,E++;let L=[];while(E<f.length&&f[E][0]!=="OUTDENT"){if(f[E][0]==="TERMINATOR"){E++;continue}if(f[E][0]==="IDENTIFIER"){let T=f[E][1];if(E++,f[E]?.[1]==="="){E++;let C=f[E]?.[1];L.push(`${T} = ${C}`),E++}else L.push(T)}else E++}for(let T=0;T<L.length;T++){let C=T<L.length-1?",":"";w.push(`${W()}${L[T]}${C}`)}u--,w.push(`${W()}}`)}continue}if(B==="CLASS"){let X=H?"export ":"",P=f[D+1];if(!P)continue;let S=P[1],E="",L=D+2;if(f[L]?.[0]==="EXTENDS")E=` extends ${f[L+1]?.[1]||""}`,L+=2;if(f[L]?.[0]==="INDENT"){let T=!1,C=L+1;while(C<f.length&&f[C][0]!=="OUTDENT"){if(f[C].data?.type||f[C].data?.returnType){T=!0;break}C++}if(T)w.push(`${W()}${X}declare class ${S}${E} {`),F=!0,A.clear(),u++}continue}if(B==="DEF"){let X=f[D+1];if(!X)continue;let P=X[1],S=X.data?.returnType;if(!S&&X.data?.await===!0)S="void";let E=X.data?.typeParams||"",{params:L,endIdx:T}=z(f,D+2);if(S||L.some((C)=>C.includes(":"))){let C=H?"export ":"",N=F?"":H?"":"declare ",d=S?`: ${U1(S)}`:"",V=L.join(", ");if(F)w.push(`${W()}${P}${E}(${V})${d};`);else w.push(`${W()}${C}${N}function ${P}${E}(${V})${d};`)}D=T;continue}if(B==="{"&&F){let X=D+1,P=1;while(X<f.length&&P>0){let S=f[X];if(S[0]==="{"){P++,X++;continue}if(S[0]==="}"){P--,X++;continue}if(S[0]==="TERMINATOR"){X++;continue}if(S[0]==="PROPERTY"&&P===1){let E=S[1],L=S.data?.returnType;if(X++,f[X]?.[1]===":")X++;let T=[],C=[];if(f[X]?.[0]==="PARAM_START"){let N=z(f,X);T=N.params,C=N.fields,X=N.endIdx+1}if(f[X]?.[0]==="->"||f[X]?.[0]==="=>")X++;if(f[X]?.[0]==="INDENT"){let N=1;X++;while(X<f.length&&N>0){if(f[X][0]==="INDENT")N++;if(f[X][0]==="OUTDENT")N--;X++}}if(L||T.some((N)=>N.includes(":"))){let N=L?`: ${U1(L)}`:"",d=T.join(", ");if(E==="constructor"&&C.length){for(let V of C)if(!A.has(V.name))w.push(`${W()}${V.name}: ${V.type};`),A.add(V.name)}w.push(`${W()}${E}(${d})${N};`)}continue}X++}D=X-1;continue}if(B==="INDENT")continue;if(B==="OUTDENT"){if(F)u--,w.push(`${W()}}`),F=!1;continue}if(B==="IDENTIFIER"&&!F&&f[D+1]?.[0]==="="&&(f[D+2]?.[0]==="PARAM_START"||f[D+2]?.[0]==="(")){let X=I[1],P=D+2,{params:S}=z(f,P),E=P,L=0;while(E<f.length){if(f[E][0]==="PARAM_START"||f[E][0]==="(")L++;if(f[E][0]==="PARAM_END"||f[E][0]===")")L--;if(L===0&&(f[E][0]==="->"||f[E][0]==="=>"))break;E++}let T=f[E]?.data?.returnType;if(T||S.some((C)=>C.includes(":"))){let C=H?"export ":"",N=H?"":"declare ",d=T?`: ${U1(T)}`:"",V=S.join(", ");w.push(`${W()}${C}${N}function ${X}(${V})${d};`);continue}}if(B==="IDENTIFIER"&&I.data?.type){let X=I[1],P=U1(I.data.type),S=f[D+1];if(S){let E=H?"export ":"",L=H?"":"declare ";if(S[0]==="READONLY_ASSIGN")w.push(`${W()}${E}${L}const ${X}: ${P};`);else if(S[0]==="REACTIVE_ASSIGN")Y=!0,w.push(`${W()}${E}${L}const ${X}: Signal<${P}>;`);else if(S[0]==="COMPUTED_ASSIGN")G=!0,w.push(`${W()}${E}${L}const ${X}: Computed<${P}>;`);else if(S[0]==="EFFECT")w.push(`${W()}${E}${L}const ${X}: () => void;`);else if(S[0]==="="){let T=D+2;if(f[T]?.[0]==="PARAM_START"){let N=1,d=T+1;while(d<f.length&&N>0){if(f[d][0]==="PARAM_START")N++;if(f[d][0]==="PARAM_END")N--;d++}T=d}let C=f[T];if(C&&(C[0]==="->"||C[0]==="=>")&&C.data?.returnType){let N=U1(C.data.returnType),{params:d}=z(f,D+2),V=d.join(", ");w.push(`${W()}${E}${L}function ${X}(${V}): ${N};`)}else if(F)w.push(`${W()}${X}: ${P};`),A.add(X);else w.push(`${W()}${E}let ${X}: ${P};`)}else if(F)w.push(`${W()}${X}: ${P};`),A.add(X)}else if(F)w.push(`${W()}${X}: ${P};`)}}let q=new Set;if(_){if(Z=a1(_,w,W,u,q,Q)||Z,q.size>0)for(let D=w.length-1;D>=0;D--){let I=w[D].match(/(?:declare |export )*(?:const|let) (\w+)/);if(I&&q.has(I[1]))w.splice(D,1)}}if(w.length===0)return null;let O=[];if(Z)O.push(...Y3);if(/\bARIA\./.test(U))O.push(...G3);if(Y)O.push("interface Signal<T> { value: T; read(): T; lock(): Signal<T>; free(): Signal<T>; kill(): T; }"),O.push("declare function __state<T>(value: T | Signal<T>): Signal<T>;");if(G)O.push("interface Computed<T> { readonly value: T; read(): T; lock(): Computed<T>; free(): Computed<T>; kill(): T; }"),O.push("declare function __computed<T>(fn: () => T): Computed<T>;");if(Y||G)O.push("declare function __effect(fn: () => void | (() => void)): () => void;");if(O.length>0)O.push("");return O.concat(w).join(`
3
3
  `)+`
4
- `}function u1(f){if(!f)return f;return f=f.replace(/::/g,":"),f=f.replace(/(\w+(?:<[^>]+>)?)\?\?/g,"$1 | null | undefined"),f=f.replace(/(\w+(?:<[^>]+>)?)\?(?![.:])/g,"$1 | undefined"),f=f.replace(/(\w+(?:<[^>]+>)?)\!/g,"NonNullable<$1>"),f}function i1(f,_,U,w,u,$){if(!Array.isArray(f))return!1;let W=f[0]?.valueOf?.()??f[0],F=!1,A=new Map,G=(J)=>typeof J==="string"&&/^[a-z]/.test(J),Y=(J)=>{if(!Array.isArray(J))return;let H=J[0]?.valueOf?.()??J[0];if(G(H))for(let O=1;O<J.length;O++){let z=J[O];if(!Array.isArray(z))continue;if((z[0]?.valueOf?.()??z[0])!=="object")continue;for(let Q=1;Q<z.length;Q++){let D=z[Q];if(!Array.isArray(D))continue;if((D[0]?.valueOf?.()??D[0])!=="ref")continue;let P=D[1]?.valueOf?.()??D[1];if(typeof P==="string")P=P.replace(/^["']|["']$/g,"");if(typeof P==="string"&&!A.has(P))A.set(P,`__RipDomEl<'${H}'> | null`)}}for(let O=1;O<J.length;O++)if(Array.isArray(J[O]))Y(J[O])},R=!1,Z=null,M=null;if(W==="export"&&Array.isArray(f[1])){R=!0;let J=f[1];if((J[0]?.valueOf?.()??J[0])==="="&&Array.isArray(J[2])&&(J[2][0]?.valueOf?.()??J[2][0])==="component")Z=J[1]?.valueOf?.()??J[1],M=J[2]}else if(W==="="&&Array.isArray(f[2])&&(f[2][0]?.valueOf?.()??f[2][0])==="component")Z=f[1]?.valueOf?.()??f[1],M=f[2];if(Z&&M){let J=R?"export ":"",H=M[1]?.valueOf?.()??null,O=H?`__RipProps<'${H}'>`:null;if(O)F=!0;let z=M[2],q=Array.isArray(z)&&(z[0]?.valueOf?.()??z[0])==="block"?z.slice(1):z?[z]:[],Q=[],D=[],I=!1,P=(K)=>{let X=K?.valueOf?.()??K;if(typeof X!=="string")return null;if(X==="true"||X==="false")return"boolean";if(/^-?\d+(\.\d+)?$/.test(X))return"number";if(X.startsWith('"')||X.startsWith("'"))return"string";return null};for(let K of q){if(!Array.isArray(K))continue;let X=K[0]?.valueOf?.()??K[0],E,N,L,B,h;if(X==="state"||X==="readonly"||X==="computed"){if(E=K[1],L=Array.isArray(E)&&(E[0]?.valueOf?.()??E[0])==="."&&(E[1]?.valueOf?.()??E[1])==="this",N=L?E[2]?.valueOf?.()??E[2]:E?.valueOf?.()??E,B=L?E[2]?.type:E?.type,h=!0,!L){u.add(N);let p=X==="computed"?"Computed":"Signal",T=B?u1(B):P(K[2])||"any";D.push(` ${N}: ${p}<${T}>;`);continue}}else if(X==="."){if(L=(K[1]?.valueOf?.()??K[1])==="this",N=L?K[2]?.valueOf?.()??K[2]:null,B=L?K[2]?.type:null,h=!1,!L&&N)u.add(N)}else if(X==="object"){for(let p=1;p<K.length;p++){let T=K[p];if(!Array.isArray(T)||T.length<3)continue;let V=T[1]?.valueOf?.()??T[1],C=T[2];if(!Array.isArray(C))continue;let l=C[0]?.valueOf?.()??C[0];if(l!=="->"&&l!=="=>")continue;let n=C[1];if(!Array.isArray(n))continue;if(!n.some((b)=>b?.type))continue;let y=[];for(let b of n){let g=b?.valueOf?.()??b,i=b?.type?u1(b.type):"any";y.push(`${g}: ${i}`)}D.push(` ${V}(${y.join(", ")}): void;`)}continue}else if(X==="render"){F=!0,Y(K[1]);continue}else continue;if(!L||!N)continue;let j=B?u1(B):"any",S=h?"?":"";if(!h)I=!0;if(Q.push(` ${N}${S}: ${j};`),X==="state")Q.push(` __bind_${N}__?: Signal<${j}>;`)}if(_.push(`${J}declare class ${Z} {`),Q.length>0||O){let K=I?"":"?";if(Q.length>0){_.push(` constructor(props${K}: {`);for(let X of Q)_.push(X);_.push(O?` } & ${O});`:" });")}else _.push(` constructor(props${K}: ${O});`)}for(let[K,X]of A)D.push(` ${K}: ${X};`);for(let K of D)_.push(K);_.push("}")}if(W==="program"||W==="block"){for(let J=1;J<f.length;J++)if(Array.isArray(f[J]))F=i1(f[J],_,U,w,u,$)||F}if(W==="export"&&Array.isArray(f[1])&&!M)F=i1(f[1],_,U,w,u,$)||F;return F}function D2(f,_,U){let[w,u]=_,$=w?.valueOf?.()??w,W=[];if(Array.isArray(u)){let G=u[0]==="block"?u.slice(1):[u];for(let Y of G)if(Array.isArray(Y)){if(Y[0]?.valueOf?.()==="="){let R=Y[1]?.valueOf?.()??Y[1],Z=Y[2]?.valueOf?.()??Y[2];W.push([R,Z])}}}if(W.length===0)return`const ${$} = {}`;let F=W.map(([G,Y])=>`${G}: ${Y}`).join(", "),A=W.map(([G,Y])=>`${Y}: "${G}"`).join(", ");return`const ${$} = {${F}, ${A}}`}var J2=new Set(["true","false","null","this","new","delete","typeof","in","instanceof","return","throw","break","continue","debugger","yield","await","if","else","switch","for","while","do","try","catch","finally","class","extends","super","import","export","default"]),K2=new Set(["undefined","Infinity","NaN","then","unless","until","loop","of","by","when","def","component","render","enum","interface"]),p1={and:"&&",or:"||",is:"==",isnt:"!=",not:"!",yes:"true",no:"false",on:"true",off:"false"},X2=new Set(Object.keys(p1)),L3=new Set(["case","function","var","void","with","const","let","native","implements","package","private","protected","public","static"]),N3=new Set(["break","continue","debugger"]),S3=new Set(["NEW","TYPEOF","DELETE"]),T3=new Set(["IN","OF","INSTANCEOF"]),C1=new Set(["IDENTIFIER","PROPERTY",")","]","@","THIS","SUPER","DYNAMIC_IMPORT","?."]),r1=new Set([...C1,"NUMBER","INFINITY","NAN","STRING","STRING_END","REGEX","REGEX_END","BOOL","NULL","UNDEFINED","}","MAP_END"]),V1=new Set(["IDENTIFIER","PROPERTY","NUMBER","INFINITY","NAN","STRING","STRING_START","REGEX","REGEX_START","JS","NEW","PARAM_START","CLASS","IF","TRY","SWITCH","THIS","DYNAMIC_IMPORT","IMPORT_META","NEW_TARGET","UNDEFINED","NULL","BOOL","UNARY","DO","DO_IIFE","YIELD","AWAIT","UNARY_MATH","SUPER","THROW","@","->","=>","[","(","{","MAP_START","--","++"]),h3=new Set(["+","-"]),V3=new Set(["POST_IF","POST_UNLESS","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR","||","&&","PIPE"]),C3=new Set(["STRING","STRING_END","REGEX","REGEX_END","NUMBER","BOOL","NULL","UNDEFINED","INFINITY","NAN","]","}","MAP_END"]),G1=new Set(["(","[","{","MAP_START","INDENT","CALL_START","PARAM_START","INDEX_START","STRING_START","INTERPOLATION_START","REGEX_START"]),A1=new Set([")","]","}","MAP_END","OUTDENT","CALL_END","PARAM_END","INDEX_END","STRING_END","INTERPOLATION_END","REGEX_END"]),c3={"(":")",")":"(","[":"]","]":"[","{":"}","}":"{",INDENT:"OUTDENT",OUTDENT:"INDENT",CALL_START:"CALL_END",CALL_END:"CALL_START",PARAM_START:"PARAM_END",PARAM_END:"PARAM_START",INDEX_START:"INDEX_END",INDEX_END:"INDEX_START",STRING_START:"STRING_END",STRING_END:"STRING_START",INTERPOLATION_START:"INTERPOLATION_END",INTERPOLATION_END:"INTERPOLATION_START",REGEX_START:"REGEX_END",REGEX_END:"REGEX_START",MAP_START:"MAP_END",MAP_END:"MAP_START"},H2=new Set(["CATCH","THEN","ELSE","FINALLY",...A1]),d1=new Set(["IDENTIFIER","PROPERTY","SUPER",")","CALL_END","]","INDEX_END","@","THIS"]),j3=new Set(["IDENTIFIER","PROPERTY",")","CALL_END","]","INDEX_END"]),y3=new Set(["IF","TRY","FINALLY","CATCH","CLASS","SWITCH","COMPONENT"]),O2=new Set(["ELSE","->","=>","TRY","FINALLY","THEN"]),b3=new Set(["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"]),X1=new Set(["INDENT","OUTDENT","TERMINATOR"]),q2=new Set([".","?."]),P2=new Set(["\\",".","?.","UNARY","DO","DO_IIFE","MATH","UNARY_MATH","+","-","**","SHIFT","RELATION","COMPARE","&","^","|","&&","||","TERNARY","EXTENDS"]),g3=new Set([...r1,"++","--"]),E2=new Set(["-=","+=","/=","*=","%=","||=","&&=","?=","??=","<<=",">>=",">>>=","&=","^=","|=","**=","//=","%%="]),v3=new Set(["*","/","%","//","%%"]),l3=new Set(["==","!=","===","!==","<",">","<=",">=","=~"]),x3=new Set(["<<",">>",">>>"]),m3=new Set(["!","~"]),k3=/^(?!\d)((?:(?!\s)[$\w\x7f-\uffff])+(?:!(?!\?)|[?](?![.?![(]))?)([^\n\S]*:(?![=:>]))?/,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=/^(?:<=>|::|\*>|[-=]>|~>|~=|:>|:=|=!|===|!==|!\?|\?\!|\?\?|=~|\|>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?\.?|\.{2,3})/,d3=/^[^\n\S]+/,p3=/^(?:\n[^\n\S]*)+/,r3=/^(\s*)###([^#][\s\S]*?)(?:###([^\n\S]*)|###$)|^((?:\s*#(?!##[^#]).*)+)/,o3=/^[-=]>/,a3=/^(?:~[=>]|=!)/,s3=/^(?:'''\\|"""\\|'''|"""|'|")/,t3=/^(?:[^\\']|\\[\s\S])*/,e3=/^(?:[^\\"#$]|\\[\s\S]|\#(?!\{)|\$(?!\{))*/,u4=/^(?:[^\\']|\\[\s\S]|'(?!''))*/,f4=/^(?:[^\\"#$]|\\[\s\S]|"(?!"")|\#(?!\{)|\$(?!\{))*/,I2=/\n+([^\n\S]*)(?=\S)/g,$4=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/,B2=/^\w*/,_4=/^(?!.*(.).*\1)[gimsuy]*$/,w4=/^(?:[^\\\/#\s]|\\[\s\S]|\/(?!\/\/)|\#(?!\{)|\s+(?:#(?!\{).*)?)*/,U4=/^`(?!``)((?:[^`\\]|\\[\s\S])*)`/,F4=/^```((?:[^`\\]|\\[\s\S]|`(?!``))*)```/,W4=/\s+$/,L2=/^\s*(?:,|\??\.(?![.\d]))/,A4=65279;function c1(f,_,{pre:U=0,row:w=0,col:u=0,len:$=0,data:W=null}={}){let F=[f,_];return F.pre=U,F.data=W,F.loc={r:w,c:u,n:$},F.spaced=U>0,F.newLine=!1,F}function U1(f,_,U){let w=c1(f,_);if(w.generated=!0,U)w.origin=U;return w}function F1(f,{row:_=0,col:U=0,len:w=1}={}){let u=SyntaxError(f);throw u.location={first_line:_,first_column:U,last_column:U+w-1},u}function Y4(f){if(f==null)return NaN;switch(f.charAt(1)){case"b":return parseInt(f.slice(2).replace(/_/g,""),2);case"o":return parseInt(f.slice(2).replace(/_/g,""),8);case"x":return parseInt(f.slice(2).replace(/_/g,""),16);default:return parseFloat(f.replace(/_/g,""))}}class R1{tokenize(f,_={}){this.code=f,this.tokens=[],this.ends=[],this.chunk="",this.pos=0,this.row=_.row||0,this.col=_.col||0,this.indent=0,this.indents=[],this.seenFor=!1,this.seenImport=!1,this.seenExport=!1,this.importSpecifierList=!1,this.exportSpecifierList=!1,this.inRenderBlock=!1,this.renderIndent=0,this.inTypeAnnotation=!1,f=this.clean(f),this.code=f;while(this.pos<f.length){this.chunk=f.slice(this.pos);let U=this.identifierToken()||this.commentToken()||this.whitespaceToken()||this.lineToken()||this.stringToken()||this.numberToken()||this.regexToken()||this.jsToken()||this.literalToken();if(U===0)F1(`unexpected character: ${this.chunk.charAt(0)}`,{row:this.row,col:this.col});if(this.advance(U),_.untilBalanced&&this.ends.length===0)return{tokens:this.tokens,index:this.pos}}if(this.closeIndentation(),this.ends.length>0){let U=this.ends[this.ends.length-1];F1(`missing ${U.tag}`,{row:this.row,col:this.col})}if(_.rewrite===!1)return this.tokens;return this.rewrite(this.tokens)}clean(f){if(f.charCodeAt(0)===A4)f=f.slice(1);if(f=f.replace(/\r\n?/g,`
5
- `),f=f.replace(W4,""),/^[^\n\S]/.test(f))f=`
4
+ `}function U1(f){if(!f)return f;return f=f.replace(/::/g,":"),f=f.replace(/(\w+(?:<[^>]+>)?)\?\?/g,"$1 | null | undefined"),f=f.replace(/(\w+(?:<[^>]+>)?)\?(?![.:])/g,"$1 | undefined"),f=f.replace(/(\w+(?:<[^>]+>)?)\!/g,"NonNullable<$1>"),f}function a1(f,_,U,w,u,$){if(!Array.isArray(f))return!1;let W=f[0]?.valueOf?.()??f[0],F=!1,A=new Map,Y=(K)=>typeof K==="string"&&/^[a-z]/.test(K),G=(K)=>{if(!Array.isArray(K))return;let R=K[0]?.valueOf?.()??K[0];if(Y(R))for(let z=1;z<K.length;z++){let q=K[z];if(!Array.isArray(q))continue;if((q[0]?.valueOf?.()??q[0])!=="object")continue;for(let D=1;D<q.length;D++){let I=q[D];if(!Array.isArray(I))continue;if((I[0]?.valueOf?.()??I[0])!=="ref")continue;let H=I[1]?.valueOf?.()??I[1];if(typeof H==="string")H=H.replace(/^["']|["']$/g,"");if(typeof H==="string"&&!A.has(H))A.set(H,`__RipDomEl<'${R}'> | null`)}}for(let z=1;z<K.length;z++)if(Array.isArray(K[z]))G(K[z])},Z=!1,Q=null,J=null,M="";if(W==="export"&&Array.isArray(f[1])){Z=!0;let K=f[1];if((K[0]?.valueOf?.()??K[0])==="="&&Array.isArray(K[2])&&(K[2][0]?.valueOf?.()??K[2][0])==="component")M=K[1]?.typeParams||"",Q=K[1]?.valueOf?.()??K[1],J=K[2]}else if(W==="="&&Array.isArray(f[2])&&(f[2][0]?.valueOf?.()??f[2][0])==="component")M=f[1]?.typeParams||"",Q=f[1]?.valueOf?.()??f[1],J=f[2];if(Q&&J){let K=Z?"export ":"",R=J[1]?.valueOf?.()??null,z=R?`__RipProps<'${R}'>`:null;if(z)F=!0;let q=J[2],O=Array.isArray(q)&&(q[0]?.valueOf?.()??q[0])==="block"?q.slice(1):q?[q]:[],D=[],I=[],B=!1,H=(X)=>{let P=X?.valueOf?.()??X;if(typeof P!=="string")return null;if(P==="true"||P==="false")return"boolean";if(/^-?\d+(\.\d+)?$/.test(P))return"number";if(P.startsWith('"')||P.startsWith("'"))return"string";return null};for(let X of O){if(!Array.isArray(X))continue;let P=X[0]?.valueOf?.()??X[0],S,E,L,T,C;if(P==="state"||P==="readonly"||P==="computed"){if(S=X[1],L=Array.isArray(S)&&(S[0]?.valueOf?.()??S[0])==="."&&(S[1]?.valueOf?.()??S[1])==="this",E=L?S[2]?.valueOf?.()??S[2]:S?.valueOf?.()??S,T=L?S[2]?.type:S?.type,C=!0,!L){u.add(E);let V=P==="computed"?"Computed":"Signal",h=T?U1(T):H(X[2])||"any";I.push(` ${E}: ${V}<${h}>;`);continue}}else if(P==="."){if(L=(X[1]?.valueOf?.()??X[1])==="this",E=L?X[2]?.valueOf?.()??X[2]:null,T=L?X[2]?.type:null,C=!1,!L&&E)u.add(E)}else if(P==="object"){for(let V=1;V<X.length;V++){let h=X[V];if(!Array.isArray(h)||h.length<3)continue;let b=h[1]?.valueOf?.()??h[1],l=h[2];if(!Array.isArray(l))continue;let p=l[0]?.valueOf?.()??l[0];if(p!=="->"&&p!=="=>")continue;let _1=l[1];if(!Array.isArray(_1))continue;if(!_1.some((v)=>v?.type))continue;let g=[];for(let v of _1){let n=v?.valueOf?.()??v,s=v?.type?U1(v.type):"any";g.push(`${n}: ${s}`)}I.push(` ${b}(${g.join(", ")}): void;`)}continue}else if(P==="render"){F=!0,G(X[1]);continue}else continue;if(!L||!E)continue;let N=T?U1(T):"any",d=C?"?":"";if(!C)B=!0;if(D.push(` ${E}${d}: ${N};`),P==="state")D.push(` __bind_${E}__?: Signal<${N}>;`)}if(_.push(`${K}declare class ${Q}${M} {`),D.length>0||z){let X=B?"":"?";if(D.length>0){_.push(` constructor(props${X}: {`);for(let P of D)_.push(P);_.push(z?` } & ${z});`:" });")}else _.push(` constructor(props${X}: ${z});`)}for(let[X,P]of A)I.push(` ${X}: ${P};`);for(let X of I)_.push(X);_.push("}")}if(W==="program"||W==="block"){for(let K=1;K<f.length;K++)if(Array.isArray(f[K]))F=a1(f[K],_,U,w,u,$)||F}if(W==="export"&&Array.isArray(f[1])&&!J)F=a1(f[1],_,U,w,u,$)||F;return F}function X2(f,_,U){let[w,u]=_,$=w?.valueOf?.()??w,W=[];if(Array.isArray(u)){let Y=u[0]==="block"?u.slice(1):[u];for(let G of Y)if(Array.isArray(G)){if(G[0]?.valueOf?.()==="="){let Z=G[1]?.valueOf?.()??G[1],Q=G[2]?.valueOf?.()??G[2];W.push([Z,Q])}}}if(W.length===0)return`const ${$} = {}`;let F=W.map(([Y,G])=>`${Y}: ${G}`).join(", "),A=W.map(([Y,G])=>`${G}: "${Y}"`).join(", ");return`const ${$} = {${F}, ${A}}`}var J2=new Set(["true","false","null","this","new","delete","typeof","in","instanceof","return","throw","break","continue","debugger","yield","await","if","else","switch","for","while","do","try","catch","finally","class","extends","super","import","export","default"]),M2=new Set(["undefined","Infinity","NaN","then","unless","until","loop","of","by","when","def","component","render","enum","interface"]),s1={and:"&&",or:"||",is:"==",isnt:"!=",not:"!",yes:"true",no:"false",on:"true",off:"false"},D2=new Set(Object.keys(s1)),z3=new Set(["case","function","var","void","with","const","let","native","implements","package","private","protected","public","static"]),Q3=new Set(["break","continue","debugger"]),K3=new Set(["NEW","TYPEOF","DELETE"]),X3=new Set(["IN","OF","INSTANCEOF"]),c1=new Set(["IDENTIFIER","PROPERTY",")","]","@","THIS","SUPER","DYNAMIC_IMPORT","?."]),e1=new Set([...c1,"NUMBER","INFINITY","NAN","STRING","STRING_END","REGEX","REGEX_END","BOOL","NULL","UNDEFINED","}","MAP_END"]),y1=new Set(["IDENTIFIER","PROPERTY","NUMBER","INFINITY","NAN","STRING","STRING_START","REGEX","REGEX_START","JS","NEW","PARAM_START","CLASS","IF","TRY","SWITCH","THIS","DYNAMIC_IMPORT","IMPORT_META","NEW_TARGET","UNDEFINED","NULL","BOOL","UNARY","DO","DO_IIFE","YIELD","AWAIT","UNARY_MATH","SUPER","THROW","@","->","=>","[","(","{","MAP_START","--","++"]),J3=new Set(["+","-"]),M3=new Set(["POST_IF","POST_UNLESS","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR","||","&&","PIPE"]),D3=new Set(["STRING","STRING_END","REGEX","REGEX_END","NUMBER","BOOL","NULL","UNDEFINED","INFINITY","NAN","]","}","MAP_END"]),X1=new Set(["(","[","{","MAP_START","INDENT","CALL_START","PARAM_START","INDEX_START","STRING_START","INTERPOLATION_START","REGEX_START"]),z1=new Set([")","]","}","MAP_END","OUTDENT","CALL_END","PARAM_END","INDEX_END","STRING_END","INTERPOLATION_END","REGEX_END"]),H3={"(":")",")":"(","[":"]","]":"[","{":"}","}":"{",INDENT:"OUTDENT",OUTDENT:"INDENT",CALL_START:"CALL_END",CALL_END:"CALL_START",PARAM_START:"PARAM_END",PARAM_END:"PARAM_START",INDEX_START:"INDEX_END",INDEX_END:"INDEX_START",STRING_START:"STRING_END",STRING_END:"STRING_START",INTERPOLATION_START:"INTERPOLATION_END",INTERPOLATION_END:"INTERPOLATION_START",REGEX_START:"REGEX_END",REGEX_END:"REGEX_START",MAP_START:"MAP_END",MAP_END:"MAP_START"},H2=new Set(["CATCH","THEN","ELSE","FINALLY",...z1]),t1=new Set(["IDENTIFIER","PROPERTY","SUPER",")","CALL_END","]","INDEX_END","@","THIS"]),R3=new Set(["IDENTIFIER","PROPERTY",")","CALL_END","]","INDEX_END"]),O3=new Set(["IF","TRY","FINALLY","CATCH","CLASS","SWITCH","COMPONENT"]),R2=new Set(["ELSE","->","=>","TRY","FINALLY","THEN"]),q3=new Set(["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"]),E1=new Set(["INDENT","OUTDENT","TERMINATOR"]),O2=new Set([".","?."]),q2=new Set(["\\",".","?.","UNARY","DO","DO_IIFE","MATH","UNARY_MATH","+","-","**","SHIFT","RELATION","COMPARE","&","^","|","&&","||","TERNARY","EXTENDS"]),P3=new Set([...e1,"++","--"]),P2=new Set(["-=","+=","/=","*=","%=","||=","&&=","?=","??=","<<=",">>=",">>>=","&=","^=","|=","**=","//=","%%="]),B3=new Set(["*","/","%","//","%%"]),I3=new Set(["==","!=","===","!==","<",">","<=",">=","=~"]),E3=new Set(["<<",">>",">>>"]),S3=new Set(["!","~"]),L3=/^(?!\d)((?:(?!\s)[$\w\x7f-\uffff])+(?:!|[?](?![.?![(]))?)([^\n\S]*:(?![=:]))?/,N3=/^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,T3=/^(?:<=>|::|\*>|[-=]>|~>|~=|:=|=!|===|!==|\?\!|\?\?|=~|\|>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?\.?|\.{2,3})/,V3=/^[^\n\S]+/,C3=/^(?:\n[^\n\S]*)+/,h3=/^(\s*)###([^#][\s\S]*?)(?:###([^\n\S]*)|###$)|^((?:\s*#(?!##[^#]).*)+)/,b3=/^[-=]>/,j3=/^(?:~[=>]|=!)/,y3=/^(?:'''\\|"""\\|'''|"""|'|")/,c3=/^(?:[^\\']|\\[\s\S])*/,g3=/^(?:[^\\"#$]|\\[\s\S]|\#(?!\{)|\$(?!\{))*/,v3=/^(?:[^\\']|\\[\s\S]|'(?!''))*/,l3=/^(?:[^\\"#$]|\\[\s\S]|"(?!"")|\#(?!\{)|\$(?!\{))*/,B2=/\n+([^\n\S]*)(?=\S)/g,x3=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/,I2=/^\w*/,m3=/^(?!.*(.).*\1)[gimsuy]*$/,k3=/^(?:[^\\\/#\s]|\\[\s\S]|\/(?!\/\/)|\#(?!\{)|\s+(?:#(?!\{).*)?)*/,i3=/^`(?!``)((?:[^`\\]|\\[\s\S])*)`/,n3=/^```((?:[^`\\]|\\[\s\S]|`(?!``))*)```/,d3=/\s+$/,E2=/^\s*(?:,|\??\.(?![.\d]))/,p3=65279;function g1(f,_,{pre:U=0,row:w=0,col:u=0,len:$=0,data:W=null}={}){let F=[f,_];return F.pre=U,F.data=W,F.loc={r:w,c:u,n:$},F.spaced=U>0,F.newLine=!1,F}function Y1(f,_,U){let w=g1(f,_);if(w.generated=!0,U)w.origin=U;return w}function G1(f,{row:_=0,col:U=0,len:w=1}={}){let u=SyntaxError(f);throw u.location={first_line:_,first_column:U,last_column:U+w-1},u}function o3(f){if(f==null)return NaN;switch(f.charAt(1)){case"b":return parseInt(f.slice(2).replace(/_/g,""),2);case"o":return parseInt(f.slice(2).replace(/_/g,""),8);case"x":return parseInt(f.slice(2).replace(/_/g,""),16);default:return parseFloat(f.replace(/_/g,""))}}class J1{tokenize(f,_={}){this.code=f,this.tokens=[],this.ends=[],this.chunk="",this.pos=0,this.row=_.row||0,this.col=_.col||0,this.indent=0,this.indents=[],this.seenFor=!1,this.seenImport=!1,this.seenExport=!1,this.importSpecifierList=!1,this.exportSpecifierList=!1,this.inRenderBlock=!1,this.renderIndent=0,this.inTypeAnnotation=!1,f=this.clean(f),this.code=f;while(this.pos<f.length){this.chunk=f.slice(this.pos);let U=this.identifierToken()||this.commentToken()||this.whitespaceToken()||this.lineToken()||this.stringToken()||this.numberToken()||this.regexToken()||this.jsToken()||this.literalToken();if(U===0)G1(`unexpected character: ${this.chunk.charAt(0)}`,{row:this.row,col:this.col});if(this.advance(U),_.untilBalanced&&this.ends.length===0)return{tokens:this.tokens,index:this.pos}}if(this.closeIndentation(),this.ends.length>0){let U=this.ends[this.ends.length-1];G1(`missing ${U.tag}`,{row:this.row,col:this.col})}if(_.rewrite===!1)return this.tokens;return this.rewrite(this.tokens)}clean(f){if(f.charCodeAt(0)===p3)f=f.slice(1);if(f=f.replace(/\r\n?/g,`
5
+ `),f=f.replace(d3,""),/^[^\n\S]/.test(f))f=`
6
6
  `+f;return f}advance(f){let _=this.code.slice(this.pos,this.pos+f);for(let U=0;U<_.length;U++)if(_[U]===`
7
- `)this.row++,this.col=0;else this.col++;this.pos+=f}emit(f,_,{len:U,data:w,pre:u}={}){let $=c1(f,_,{pre:u??0,row:this.row,col:this.col,len:U??(typeof _==="string"?_.length:0),data:w});return this.tokens.push($),$}prev(){return this.tokens[this.tokens.length-1]}prevTag(){let f=this.prev();return f?f[0]:void 0}prevVal(){let f=this.prev();return f?f[1]:void 0}identifierToken(){if(a3.test(this.chunk))return 0;let f=k3.exec(this.chunk);if(!f)return 0;let[,_,U]=f,w=_.length,u={},$;if(_==="own"&&this.prevTag()==="FOR")return this.emit("OWN",_,{len:w}),w;if(_==="from"&&this.prevTag()==="YIELD")return this.emit("FROM",_,{len:w}),w;if(_==="as"&&!this.seenFor&&(this.seenImport||this.seenExport)){if(this.seenImport){if(this.prevVal()==="*")this.prev()[0]="IMPORT_ALL"}let Y=this.prevTag();if(Y==="DEFAULT"||Y==="IMPORT_ALL"||Y==="IDENTIFIER")return this.emit("AS",_,{len:w}),w}if((_==="as"||_==="as!")&&this.seenFor)return this.seenFor=!1,this.emit(_==="as!"?"FORASAWAIT":"FORAS","as",{len:w}),w;if(_==="default"&&this.seenExport&&(this.prevTag()==="EXPORT"||this.prevTag()==="AS"))return this.emit("DEFAULT",_,{len:w}),w;let W;if(_==="do"&&(W=/^(\s*super)(?!\(\))/.exec(this.chunk.slice(3))))return this.emit("SUPER","super"),this.emit("CALL_START","("),this.emit("CALL_END",")"),W[1].length+3;let F=this.prev();if(U&&F&&F[0]==="TERNARY")U=null;if(U||F&&(F[0]==="."||F[0]==="?."||!F.spaced&&F[0]==="@")){if($="PROPERTY",this.inRenderBlock&&F&&F[0]==="."&&!U){let Y=this.chunk.slice(w);while(Y[0]==="-"&&/^-[a-zA-Z]/.test(Y)){let R=/^-([a-zA-Z][\w]*)/.exec(Y);if(!R)break;_+="-"+R[1],w+=1+R[1].length,Y=this.chunk.slice(w)}}}else $="IDENTIFIER";let A=_.endsWith("!")||_.endsWith("?")?_.slice(0,-1):_;if($==="IDENTIFIER"&&!_.endsWith("!")&&!_.endsWith("?")&&(J2.has(_)||K2.has(_)||X2.has(_))&&!(this.exportSpecifierList&&X2.has(_))){if(p1[_]!==void 0)u.original=_,_=p1[_];$=this.classifyKeyword(_,$,u)}if($==="IDENTIFIER"&&L3.has(A)&&!(A==="void"&&this.inTypeAnnotation))F1(`reserved word '${A}'`,{row:this.row,col:this.col,len:w});if($==="PROPERTY"&&F){if(F[0]==="."&&this.tokens.length>1){let Y=this.tokens[this.tokens.length-2];if(Y[0]==="UNARY"&&Y[1]==="new")Y[0]="NEW_TARGET";if(Y[0]==="IMPORT"&&Y[1]==="import")this.seenImport=!1,Y[0]="IMPORT_META"}}if(_.length>1&&_.endsWith("!"))u.await=!0,_=_.slice(0,-1);if(_.length>1&&_.endsWith("?"))u.predicate=!0,_=_.slice(0,-1);let G=this.emit($,_,{len:w,data:Object.keys(u).length?u:null});if($==="RENDER")this.inRenderBlock=!0,this.renderIndent=this.indent;if(U)return this.emit(":",":",{len:1}),w+U.length;return w}classifyKeyword(f,_,U){switch(f){case"!":return"UNARY";case"==":case"!=":return"COMPARE";case"true":case"false":return"BOOL";case"&&":case"||":return f}if(N3.has(f))return"STATEMENT";let w=f.toUpperCase();if(w==="WHEN"&&X1.has(this.prevTag()))return"LEADING_WHEN";if(w==="FOR")return this.seenFor={endsLength:this.ends.length},"FOR";if(w==="UNLESS")return"UNLESS";if(w==="IMPORT")return this.seenImport=!0,"IMPORT";if(w==="EXPORT")return this.seenExport=!0,"EXPORT";if(S3.has(w))return"UNARY";if(T3.has(w)){if(w!=="INSTANCEOF"&&this.seenFor)return this.seenFor=!1,"FOR"+w;if(this.prevVal()==="!"){let u=this.tokens.pop();U.invert=u.data?.original||u[1]}return"RELATION"}if(J2.has(f)||K2.has(f))return w;return _}commentToken(){if(this.inRenderBlock){if(/^#[a-zA-Z_]/.test(this.chunk)){let _=this.prev();if(_&&(_[0]==="IDENTIFIER"||_[0]==="PROPERTY"))return 0;let U=/^#([a-zA-Z_][\w-]*)/.exec(this.chunk);if(U)return this.emit("IDENTIFIER","div#"+U[1]),U[0].length}if(/^\s+#[a-zA-Z_]/.test(this.chunk))return 0}let f=r3.exec(this.chunk);if(!f)return 0;return f[0].length}whitespaceToken(){let f=d3.exec(this.chunk);if(!f&&this.chunk[0]!==`
8
- `)return 0;let _=this.prev();if(_)if(f)_.spaced=!0,_.pre=f[0].length;else _.newLine=!0;return f?f[0].length:0}lineToken(){let f=p3.exec(this.chunk);if(!f)return 0;let _=f[0],U=_.length-1-_.lastIndexOf(`
9
- `);if(this.isUnfinished()){if(U<this.indent&&/^\s*,/.test(this.chunk)&&!P2.has(this.prevTag())){if(this.outdentTo(U,_.length),this.prevTag()==="TERMINATOR")this.tokens.pop();return _.length}return _.length}if(this.seenFor&&!(this.seenFor.endsLength<this.ends.length))this.seenFor=!1;if(!this.importSpecifierList)this.seenImport=!1;if(!this.exportSpecifierList)this.seenExport=!1;if(this.inTypeAnnotation=!1,U===this.indent)return this.emitNewline(),_.length;if(U>this.indent){if(!this.tokens.length)return this.indent=U,_.length;let w=U-this.indent;return this.emit("INDENT",w,{len:U}),this.indents.push(w),this.ends.push({tag:"OUTDENT"}),this.indent=U,_.length}return this.outdentTo(U,_.length),_.length}outdentTo(f,_=0){if(this.inRenderBlock&&f<=this.renderIndent)this.inRenderBlock=!1;let U=this.indent-f;while(U>0){let w=this.indents[this.indents.length-1];if(!w)U=0;else this.indents.pop(),this.pair("OUTDENT"),this.emit("OUTDENT",U,{len:_}),U-=w}this.emitNewline(),this.indent=f}closeIndentation(){this.outdentTo(0)}emitNewline(){if(this.prevTag()!=="TERMINATOR")this.emit("TERMINATOR",`
10
- `,{len:0})}isUnfinished(){if(this.inRenderBlock&&L2.test(this.chunk)&&/^\s*\./.test(this.chunk))return!1;if(this.inRenderBlock&&this.prevTag()==="."){let _=this.tokens.length;if(_>=2){let U=this.tokens[_-2][0];if(U==="INDENT"||U==="TERMINATOR"||U==="OUTDENT")return!1}}let f=this.tokens[this.tokens.length-1];if(f?.[0]==="COMPARE"&&f[1]===">"){let _=0;for(let U=this.tokens.length-1;U>=0;U--){let w=this.tokens[U];if(w[0]==="COMPARE"&&w[1]===">")_++;else if(w[0]==="COMPARE"&&w[1]==="<")_--;if(_===0&&w[0]==="TYPE_ANNOTATION")return!1;if(w[0]==="TERMINATOR"||w[0]==="INDENT"||w[0]==="OUTDENT")break}}return L2.test(this.chunk)||P2.has(this.prevTag())}pair(f){let _=this.ends[this.ends.length-1];if(!_||f!==_.tag){if(_?.tag==="OUTDENT"){let U=this.indents[this.indents.length-1];if(U)this.outdentTo(this.indent-U);return this.pair(f)}F1(`unmatched ${f}`,{row:this.row,col:this.col})}return this.ends.pop()}stringToken(){let f=s3.exec(this.chunk);if(!f)return 0;let _=f[0],U=_.length>1&&_.endsWith("\\"),w=U?_.slice(0,-1):_,u=this.prev();if(u&&this.prevVal()==="from"&&(this.seenImport||this.seenExport))u[0]="FROM";let $;switch(w){case"'":$=t3;break;case'"':$=e3;break;case"'''":$=u4;break;case'"""':$=f4;break}let{tokens:W,index:F}=this.matchWithInterpolations($,_,w),A=w.length===3,G=null;if(A)G=this.processHeredocIndent(F,w,W);return this.mergeInterpolationTokens(W,{quote:w,indent:G,endOffset:F,raw:U}),F}processHeredocIndent(f,_,U){let w=f-_.length,u=w-1;while(u>=0&&this.chunk[u]!==`
11
- `)u--;u++;let $=this.chunk.slice(u,w),W=/^\s*$/.test($)?$.length:null,F="";for(let Y of U)if(Y[0]==="NEOSTRING")F+=Y[1];let A=null,G;I2.lastIndex=0;while(G=I2.exec(F))if(A===null||G[1].length>0&&G[1].length<A.length)A=G[1];if(W===null)return A;if(A===null)return" ".repeat(W);if(W<=A.length)return" ".repeat(W);return A}matchWithInterpolations(f,_,U,w){if(!U)U=_;if(!w)w=/^[#$]\{/;let u=[],$=_.length;if(this.chunk.slice(0,$)!==_)return null;let W=this.chunk.slice($);while(!0){let[F]=f.exec(W);u.push(["NEOSTRING",F,{offset:$}]),W=W.slice(F.length),$+=F.length;let A=w.exec(W);if(!A)break;let Y=A[0].length-1,R=W.slice(Y),Z=new R1().tokenize(R,{row:this.row,col:this.col+$+Y,untilBalanced:!0,rewrite:!1}),M=Z.index+Y;if(W[M-1]==="}"){let H=Z.tokens[0],O=Z.tokens[Z.tokens.length-1];H[0]="INTERPOLATION_START",H[1]="(",O[0]="INTERPOLATION_END",O[1]=")"}if(Z.tokens[1]?.[0]==="TERMINATOR")Z.tokens.splice(1,1);let J=Z.tokens.length;if(J>2&&Z.tokens[J-3]?.[0]==="INDENT"&&Z.tokens[J-2]?.[0]==="OUTDENT")Z.tokens.splice(J-3,2);u.push(["TOKENS",Z.tokens]),W=W.slice(M),$+=M}if(W.slice(0,U.length)!==U)F1(`missing ${U}`,{row:this.row,col:this.col});return{tokens:u,index:$+U.length}}mergeInterpolationTokens(f,{quote:_,indent:U,endOffset:w,raw:u}){if(f.length>1)this.emit("STRING_START","(",{len:_?.length||0,data:{quote:_}});for(let $=0;$<f.length;$++){let[W,F]=f[$];if(W==="TOKENS")for(let A of F)this.tokens.push(A);else if(W==="NEOSTRING"){let A=F;if(U){let G=new RegExp("\\n"+U,"g");A=A.replace(G,`
12
- `)}if($===0&&_?.length===3)A=A.replace(/^\n/,"");if($===f.length-1&&_?.length===3)A=A.replace(/\n[^\S\n]*$/,"");if(u)A=A.replace(/\\([nrtbfv0\\'"`xu])/g,"\\\\$1");this.emit("STRING",`"${A}"`,{len:F.length,data:{quote:_}})}}if(f.length>1)this.emit("STRING_END",")",{len:_?.length||0});return w}numberToken(){let f=i3.exec(this.chunk);if(!f)return 0;let _=f[0],U=_.length,w={row:this.row,col:this.col};if(/^0[BOX]/.test(_))F1(`radix prefix in '${_}' must be lowercase`,{...w,col:w.col+1});if(/^0\d*[89]/.test(_))F1(`decimal literal '${_}' must not be prefixed with '0'`,{...w,len:U});if(/^0\d+/.test(_))F1(`octal literal '${_}' must be prefixed with '0o'`,{...w,len:U});let u=Y4(_),$=u===1/0?"INFINITY":"NUMBER",W={parsedValue:u};if($==="INFINITY")W.original=_;return this.emit($,_,{len:U,data:W}),U}regexToken(){let f=this.matchWithInterpolations(w4,"///");if(f){let{tokens:G,index:Y}=f,[R]=B2.exec(this.chunk.slice(Y)),Z=Y+R.length;if(G.length===1||!G.some((M)=>M[0]==="TOKENS")){let M=(G[0]?.[1]||"").replace(/(?<!\\)\//g,"\\/");this.emit("REGEX",`/${M}/${R}`,{len:Z,data:{delimiter:"///",heregex:{flags:R}}})}else{if(this.emit("REGEX_START","(",{len:0}),this.emit("IDENTIFIER","RegExp",{len:0}),this.emit("CALL_START","(",{len:0}),this.mergeInterpolationTokens(G,{quote:"///",endOffset:Z-R.length}),R)this.emit(",",",",{len:0}),this.emit("STRING",`"${R}"`,{len:R.length});this.emit(")",")",{len:0}),this.emit("REGEX_END",")",{len:0})}return Z}let _=$4.exec(this.chunk);if(!_)return 0;let[U,w,u]=_,$=this.prev();if($){if($.spaced&&C1.has($[0])&&(!u||/^\/=?\s/.test(U)))return 0;if(g3.has($[0])&&!($.spaced&&C1.has($[0])))return 0}if(!u)F1("missing / (unclosed regex)",{row:this.row,col:this.col});let W=U.length,[F]=B2.exec(this.chunk.slice(W)),A=W+F.length;if(!_4.test(F))F1(`invalid regular expression flags ${F}`,{row:this.row,col:this.col+W,len:F.length});return this.emit("REGEX",`/${w}/${F}`,{len:A,data:{delimiter:"/"}}),A}jsToken(){if(this.chunk[0]!=="`")return 0;let f=F4.exec(this.chunk)||U4.exec(this.chunk);if(!f)return 0;let _=f[1],U=f[0].length;return this.emit("JS",_,{len:U,data:{here:f[0].startsWith("```")}}),U}wordLiteral(){if(this.chunk[0]!=="%"||this.chunk[1]!=="w")return 0;let f=this.chunk[2];if(!f||/\s/.test(f))return 0;let U={"[":"]","(":")","{":"}","<":">"}[f]||f,w=U!==f,u=1,$=3;while($<this.chunk.length&&u>0){let G=this.chunk[$];if(G==="\\"){$+=2;continue}if(w&&G===f)u++;if(G===U)u--;if(u>0)$++}if(u!==0)return 0;let W=this.chunk.slice(3,$),F=$+1,A=[];if(W.trim()){let G=W.trim().split(/(?<!\\)\s+/);for(let Y of G)A.push(Y.replace(/\\ /g," "))}this.emit("[","[",{len:F});for(let G=0;G<A.length;G++){if(G>0)this.emit(",",",");this.emit("STRING",`"${A[G]}"`)}return this.emit("]","]"),F}literalToken(){let f=this.wordLiteral();if(f)return f;let _=n3.exec(this.chunk),U=_?_[0]:this.chunk.charAt(0),w=U,u=this.prev();if(o3.test(U))this.tagParameters();if(U==="="&&u&&u[1]==="."&&!u.spaced){let $=this.tokens,W=$.length-2;while(W>=1&&$[W][0]==="PROPERTY"&&$[W-1]?.[1]===".")W-=2;if(W>=0&&($[W][0]==="IDENTIFIER"||$[W][0]===")"||$[W][0]==="]")){let F=$.slice(W,$.length-1);u[0]="=",u[1]="=";for(let A of F)this.tokens.push(c1(A[0],A[1],{pre:0,row:A[2],col:A[3],len:A[4]}));return this.tokens.push(c1(".",".",{pre:0,row:this.row,col:this.col,len:1})),U.length}}if(u&&(U==="="||E2.has(U))){if(U==="="&&(u[1]==="||"||u[1]==="&&"||u[1]==="??")&&!u.spaced)return u[0]="COMPOUND_ASSIGN",u[1]+="=",U.length}if(U==="("&&u?.[0]==="IMPORT")u[0]="DYNAMIC_IMPORT";if(U==="{"&&this.seenImport)this.importSpecifierList=!0;if(U==="}"&&this.importSpecifierList)this.importSpecifierList=!1;if(U==="{"&&u?.[0]==="EXPORT")this.exportSpecifierList=!0;if(U==="}"&&this.exportSpecifierList)this.exportSpecifierList=!1;if(U===";")this.seenFor=this.seenImport=this.seenExport=!1,this.inTypeAnnotation=!1,w="TERMINATOR";else if(U==="|>")w="PIPE";else if(U==="::"&&/^[a-zA-Z_$]/.test(this.chunk[2]||""))return this.emit(".","."),this.emit("PROPERTY","prototype"),this.emit(".","."),2;else if(U==="::")w="TYPE_ANNOTATION",this.inTypeAnnotation=!0;else if(U==="~=")w="COMPUTED_ASSIGN";else if(U===":=")w="REACTIVE_ASSIGN";else if(U===":>")w="RIGHTWARD_ASSIGN";else if(U==="<=>")w="BIND";else if(U==="~>")w="EFFECT",this.inTypeAnnotation=!1;else if(U==="=!")w="READONLY_ASSIGN",this.inTypeAnnotation=!1;else if(U==="*>"&&(!u||u[0]==="TERMINATOR"||u[0]==="INDENT"||u[0]==="OUTDENT")&&(/^[a-zA-Z_$]/.test(this.chunk[2]||"")||this.chunk[2]==="@")){let $=this.chunk.slice(2),W=/^@(\s*)=(?!=)/.exec($);if(W){let A=W[1];this.emit("IDENTIFIER","Object"),this.emit(".",".");let G=this.emit("PROPERTY","assign");return G.spaced=!0,this.emit("@","@"),this.emit(",",","),3+A.length+1}let F=/^(@?(?:(?!\s)[$\w\x7f-\uffff])+(?:\.[a-zA-Z_$][\w]*)*)(\s*)=(?!=)/.exec($);if(F){let A=F[1],G=F[2],Y=A[0]==="@",R=Y?A.slice(1):A,Z=R?R.split("."):[],M=()=>{if(Y){if(this.emit("@","@"),Z.length>0)this.emit("PROPERTY",Z[0])}else this.emit("IDENTIFIER",Z[0]);for(let H=1;H<Z.length;H++)this.emit(".","."),this.emit("PROPERTY",Z[H])};M(),this.emit("=","="),this.emit("IDENTIFIER","Object"),this.emit(".","."),this.emit("PROPERTY","assign"),this.emit("CALL_START","("),M(),this.emit("COMPOUND_ASSIGN","??="),this.emit("{","{"),this.emit("}","}"),this.emit(",",",");let J=this.prev();return J.mergeClose=!0,2+A.length+G.length+1}}else if(U==="*"&&u?.[0]==="EXPORT")w="EXPORT_ALL";else if(v3.has(U))w="MATH";else if(l3.has(U))w="COMPARE";else if(E2.has(U))w="COMPOUND_ASSIGN";else if(m3.has(U))w="UNARY_MATH";else if(x3.has(U))w="SHIFT";else if(U==="?"&&u?.spaced)w="TERNARY";else if(U==="!?"&&u&&!u.spaced)w="DEFINED";else if(U==="?!"&&u&&!u.spaced)w="PRESENCE";else if(U==="?"&&(this.chunk[1]==="["||this.chunk[1]==="("))w="?.";else if(u){if(U==="("&&!u.spaced&&C1.has(u[0])){if(u[0]==="?.")u[0]="ES6_OPTIONAL_CALL";w="CALL_START"}if(U==="["&&!u.spaced&&r1.has(u[0])){if(w="INDEX_START",u[0]==="?.")u[0]="ES6_OPTIONAL_INDEX"}}if(this.inTypeAnnotation&&(U==="="||w==="COMPOUND_ASSIGN"))this.inTypeAnnotation=!1;if(U==="("||U==="{"||U==="[")this.ends.push({tag:c3[U],origin:[w,U]});else if(U===")"||U==="}"||U==="]")this.pair(U);return this.emit(w,U,{len:U.length}),U.length}tagParameters(){if(this.prevTag()!==")")return this.tagDoIife();let f=this.tokens.length-1,_=[];this.tokens[f][0]="PARAM_END";while(f-- >0){let U=this.tokens[f];if(U[0]===")")_.push(U);else if(U[0]==="("||U[0]==="CALL_START")if(_.length)_.pop();else if(U[0]==="(")return U[0]="PARAM_START",this.tagDoIife(f-1);else{this.tokens[this.tokens.length-1][0]="CALL_END";return}}}tagDoIife(f){let _=this.tokens[f??this.tokens.length-1];if(_?.[0]==="DO")_[0]="DO_IIFE"}rewrite(f){return this.tokens=f,this.removeLeadingNewlines(),this.rewriteMapLiterals(),this.closeMergeAssignments(),this.closeOpenCalls(),this.closeOpenIndexes(),this.normalizeLines(),this.rewriteRender?.(),this.rewriteTypes(),this.tagPostfixConditionals(),this.rewriteTaggedTemplates(),this.addImplicitBracesAndParens(),this.addImplicitCallCommas(),this.tokens}removeLeadingNewlines(){let f=0;while(this.tokens[f]?.[0]==="TERMINATOR")f++;if(f>0)this.tokens.splice(0,f)}rewriteMapLiterals(){let f=this.tokens;for(let _=0;_<f.length;_++){if(f[_][0]!=="MATH"||f[_][1]!=="*")continue;let U=f[_+1];if(!U||U[0]!=="{")continue;if(f[_].spaced||f[_].newLine)continue;let w=f[_-1];if(w&&r1.has(w[0]))continue;f.splice(_,1),f[_][0]="MAP_START";let u=1;for(let $=_+1;$<f.length&&u>0;$++){let W=f[$][0];if(W==="{"||W==="MAP_START")u++;if(W==="}"){if(u--,u===0)f[$][0]="MAP_END"}}}}closeOpenCalls(){this.scanTokens((f,_)=>{if(f[0]==="CALL_START")this.detectEnd(_+1,(U)=>U[0]===")"||U[0]==="CALL_END",(U)=>U[0]="CALL_END");return 1})}closeOpenIndexes(){this.scanTokens((f,_)=>{if(f[0]==="INDEX_START")this.detectEnd(_+1,(U)=>U[0]==="]"||U[0]==="INDEX_END",(U,w)=>{if(this.tokens[w+1]?.[0]===":")f[0]="[",U[0]="]";else U[0]="INDEX_END"});return 1})}normalizeLines(){let f=null,_=null,U=null,w=($,W)=>{return $[1]!==";"&&b3.has($[0])&&!($[0]==="TERMINATOR"&&H2.has(this.tokens[W+1]?.[0]))&&!($[0]==="ELSE"&&f!=="THEN")||$[0]==="INDENT"&&!$.generated&&(f==="->"||f==="=>")||$[0]===","&&(f==="->"||f==="=>")&&!this.commaInImplicitCall(W)&&!this.commaInImplicitObject(W)||q2.has($[0])&&(this.tokens[W-1]?.newLine||this.tokens[W-1]?.[0]==="OUTDENT")},u=($,W)=>{let F=this.tokens[W-1]?.[0]===","?W-1:W;this.tokens.splice(F,0,U)};this.scanTokens(($,W,F)=>{let[A]=$;if(A==="TERMINATOR"){if(this.tokens[W+1]?.[0]==="ELSE"&&this.tokens[W-1]?.[0]!=="OUTDENT")return F.splice(W,1,...this.makeIndentation()),1;if(H2.has(this.tokens[W+1]?.[0]))return F.splice(W,1),0}if(A==="CATCH")for(let G=1;G<=2;G++){let Y=this.tokens[W+G]?.[0];if(Y==="OUTDENT"||Y==="TERMINATOR"||Y==="FINALLY")return F.splice(W+G,0,...this.makeIndentation()),2+G}if((A==="->"||A==="=>")&&(this.tokens[W+1]?.[0]===","||this.tokens[W+1]?.[0]==="]"))return[_,U]=this.makeIndentation(),F.splice(W+1,0,_,U),1;if(O2.has(A)&&this.tokens[W+1]?.[0]!=="INDENT"&&!(A==="ELSE"&&this.tokens[W+1]?.[0]==="IF")&&!(A==="ELSE"&&this.tokens[W-1]?.[0]!=="OUTDENT")){if(f=A,[_,U]=this.makeIndentation(),A==="THEN")_.fromThen=!0;if(F.splice(W+1,0,_),A==="THEN"&&this.singleLineOwner(W)==="LEADING_WHEN")this.detectWhenThenEnd(W+2,w,u);else this.detectEnd(W+2,w,u);if(A==="THEN")F.splice(W,1);return 1}return 1})}singleLineOwner(f){let _=new Set(["LEADING_WHEN","IF","POST_IF","UNLESS","POST_UNLESS","ELSE","CATCH","TRY","FINALLY","->","=>"]);for(let U=f-1;U>=0;U--){let w=this.tokens[U],u=w?.[0];if(_.has(u))return u;if(X1.has(u)||w?.newLine)return null}return null}detectWhenThenEnd(f,_,U){let w=0,u=0;while(f<this.tokens.length){let $=this.tokens[f],W=$[0];if(w===0){if(W==="THEN"&&this.singleLineOwner(f)!=="LEADING_WHEN")u++;else if(W==="ELSE"&&u>0)u--;else if(_.call(this,$,f))return U.call(this,$,f)}if(G1.has(W))w++;if(A1.has(W))w--;if(w<0)return U.call(this,$,f);f++}}tagPostfixConditionals(){let f=null,_=(w,u)=>{return w[0]==="TERMINATOR"||w[0]==="INDENT"&&!O2.has(this.tokens[u-1]?.[0])},U=(w)=>{if(w[0]!=="INDENT"||w.generated&&!w.fromThen)f[0]="POST_"+f[0]};this.scanTokens((w,u)=>{if(w[0]!=="IF"&&w[0]!=="UNLESS")return 1;if(this.tokens[u-1]?.[0]==="INTERPOLATION_START")return 1;return f=w,this.detectEnd(u+1,_,U),1})}rewriteTaggedTemplates(){let f=this.tokens;for(let _=f.length-2;_>=0;_--)if(f[_][0]==="IDENTIFIER"&&f[_][1]==="$"&&(f[_+1]?.[0]==="STRING"||f[_+1]?.[0]==="STRING_START")){let U=f[_-1];if(U&&j3.has(U[0])){if(f.splice(_,1),U.spaced=!1,f[_].spaced=!1,f[_].pre=0,f[_].newLine)f[_].newLine=!1}}}addImplicitBracesAndParens(){let f=[],_=!1;this.scanTokens((U,w,u)=>{let[$]=U,W=u[w-1]||[],F=u[w+1]||[],[A]=W,[G]=F,Y=w,R=(K)=>w-Y+K,Z=()=>f[f.length-1],M=(K)=>K?.[2]?.ours,J=()=>M(Z())&&Z()?.[0]==="(",H=()=>M(Z())&&Z()?.[0]==="{",O=(K)=>{f.push(["(",K,{ours:!0}]),u.splice(K,0,U1("CALL_START","("))},z=()=>{f.pop(),u.splice(w,0,U1("CALL_END",")")),w+=1},q=(K,X={})=>{f.push(["{",K,{sameLine:!0,startsLine:X.startsLine??!0,ours:!0}]);let E=U1("{","{");if(!E.data)E.data={};E.data.generated=!0,u.splice(K,0,E)},Q=(K)=>{K=K??w,f.pop(),u.splice(K,0,U1("}","}")),w+=1};if((J()||H())&&y3.has($))return f.push(["CONTROL",w,{ours:!0}]),R(1);if($==="INDENT"&&M(Z())){if(A!=="=>"&&A!=="->"&&A!=="["&&A!=="("&&A!==","&&A!=="{"&&A!=="ELSE"&&A!=="=")while(J()||H()&&A!==":")if(J())z();else Q();if(Z()?.[2]?.ours&&Z()[0]==="CONTROL")f.pop();return f.push([$,w]),R(1)}if(G1.has($))return f.push([$,w]),R(1);if(A1.has($)){while(M(Z()))if(J())z();else if(H())Q();else f.pop();f.pop()}if(d1.has($)&&U.spaced&&(V1.has(G)||G==="..."&&V1.has(u[w+2]?.[0])||h3.has(G)&&!F.spaced&&!F.newLine)&&!(($==="]"||$==="}")&&(G==="->"||G==="=>")))return O(w+1),R(2);if(d1.has($)&&this.tokens[w+1]?.[0]==="INDENT"&&this.looksObjectish(w+2)&&!this.findTagsBackwards(w,["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL"]))return O(w+1),f.push(["INDENT",w+2]),R(3);if($==="TERNARY")_=!0;if($===":"){if(_)return _=!1,R(1);if(u[w-1]?.[0]==="PROPERTY"&&u[w-2]?.[0]==="."){let E=w-2;while(E>=2&&u[E]?.[0]==="."&&(u[E-1]?.[0]==="PROPERTY"||u[E-1]?.[0]==="IDENTIFIER"))E-=2;if(E+=1,u[E]?.[0]==="IDENTIFIER"||u[E]?.[0]==="PROPERTY"){let N=[];for(let B=E;B<w;B+=2)N.push(u[B][1]);let L=U1("STRING",`"${N.join(".")}"`,u[E]);L.pre=u[E].pre,L.spaced=u[E].spaced,L.newLine=u[E].newLine,L.loc=u[E].loc,u.splice(E,w-E,L),w=E+1}}let K=A1.has(this.tokens[w-1]?.[0])?f[f.length-1]?.[1]??w-1:w-1;if(this.tokens[w-2]?.[0]==="@")K=w-2;let X=K<=0||X1.has(this.tokens[K-1]?.[0])||this.tokens[K-1]?.newLine;if(Z()){let[E,N]=Z(),L=f[f.length-2],B=(h)=>h==="{"||h==="MAP_START";if((B(E)||E==="INDENT"&&B(L?.[0])&&!M(L))&&(X||this.tokens[K-1]?.[0]===","||B(this.tokens[K-1]?.[0])||B(this.tokens[K]?.[0])))return R(1)}return q(K,{startsLine:!!X}),R(2)}if(X1.has($))for(let K=f.length-1;K>=0;K--){if(!M(f[K]))break;if(f[K][0]==="{")f[K][2].sameLine=!1}let D=A==="OUTDENT"||W.newLine,I=$==="||"||$==="&&",P=!1;if(I){let K=w+1,X=u[K]?.[0];if(X==="("||X==="["||X==="{"){for(let E=1;++K<u.length&&E>0;)if(X=u[K][0],X==="("||X==="["||X==="{")E++;else if(X===")"||X==="]"||X==="}")E--}else if(X&&X!=="TERMINATOR"&&X!=="OUTDENT"&&X!==",")K++;P=u[K]?.[0]===","}if(V3.has($)&&!P||q2.has($)&&D)while(M(Z())){let[K,,{sameLine:X,startsLine:E}]=Z();if(J()&&A!==",")z();else if(H()&&!I&&X&&$!=="TERMINATOR"&&A!==":")Q();else if(H()&&$==="TERMINATOR"&&A!==","&&!(E&&this.looksObjectish(w+1)))Q();else if(Z()?.[2]?.ours&&Z()[0]==="CONTROL"&&u[Z()[1]]?.[0]==="CLASS"&&$==="TERMINATOR")f.pop();else break}if($===","&&!this.looksObjectish(w+1)&&H()&&(G!=="TERMINATOR"||!this.looksObjectish(w+2))){let K=G==="OUTDENT"?1:0;while(H())Q(w+K)}return R(1)})}addImplicitCallCommas(){let f=0,_=0,U=this.tokens;while(_<U.length){let w=U[_][0],u=_>0?U[_-1][0]:null;if(w==="CALL_START"||w==="(")f++;if(w==="CALL_END"||w===")")f--;if(f>0&&(w==="->"||w==="=>")&&C3.has(u))U.splice(_,0,U1(",",",")),_++;_++}}scanTokens(f){let _=0;while(_<this.tokens.length)_+=f.call(this,this.tokens[_],_,this.tokens)}detectEnd(f,_,U,w={}){let u=0;while(f<this.tokens.length){let $=this.tokens[f];if(u===0&&_.call(this,$,f))return U.call(this,$,f);if(G1.has($[0]))u++;if(A1.has($[0]))u--;if(u<0){if(w.returnOnNegativeLevel)return;return U.call(this,$,f)}f++}}closeMergeAssignments(){let f=this.tokens;for(let _=0;_<f.length;_++){if(!f[_].mergeClose)continue;let U=0;for(let w=_+1;w<f.length;w++){let u=f[w][0];if(u==="("||u==="["||u==="{"||u==="CALL_START"||u==="INDEX_START"||u==="INDENT")U++;if(u===")"||u==="]"||u==="}"||u==="CALL_END"||u==="INDEX_END"||u==="OUTDENT")U--;if(U<0||U===0&&u==="TERMINATOR"){f.splice(w,0,U1("CALL_END",")",f[w-1]));break}if(w===f.length-1){f.splice(w+1,0,U1("CALL_END",")",f[w]));break}}}}commaInImplicitCall(f){let _=0;for(let U=f-1;U>=0;U--){let w=this.tokens[U][0];if(A1.has(w)){_++;continue}if(G1.has(w)){if(w==="INDENT")return!1;if(_--,_<0)return!1;continue}if(_>0)continue;if(d1.has(w)&&this.tokens[U].spaced){let u=this.tokens[U+1]?.[0];return V1.has(u)||u==="..."&&V1.has(this.tokens[U+2]?.[0])}}return!1}commaInImplicitObject(f){let _=0;for(let U=f-1;U>=0;U--){let w=this.tokens[U][0];if(A1.has(w)){_++;continue}if(G1.has(w)){if(_--,_<0)return!1;continue}if(_>0)continue;if(w===":"&&U>0&&this.tokens[U-1][0]==="PROPERTY")return this.looksObjectish(f+1);if(X1.has(w))return!1}return!1}looksObjectish(f){if(!this.tokens[f])return!1;if(this.tokens[f]?.[0]==="@"&&this.tokens[f+2]?.[0]===":")return!0;if(this.tokens[f+1]?.[0]===":")return!0;if((this.tokens[f]?.[0]==="IDENTIFIER"||this.tokens[f]?.[0]==="PROPERTY")&&this.tokens[f+1]?.[0]==="."){let _=f+2;while(this.tokens[_]?.[0]==="PROPERTY"&&this.tokens[_+1]?.[0]===".")_+=2;if(this.tokens[_]?.[0]==="PROPERTY"&&this.tokens[_+1]?.[0]===":")return!0}if(G1.has(this.tokens[f]?.[0])){let _=null;if(this.detectEnd(f+1,(U)=>A1.has(U[0]),(U,w)=>_=w),_&&this.tokens[_+1]?.[0]===":")return!0}return!1}findTagsBackwards(f,_){let U=new Set(_),w=[];while(f>=0){let u=this.tokens[f]?.[0];if(!w.length&&U.has(u))return!0;if(A1.has(u))w.push(u);if(G1.has(u)&&w.length)w.pop();if(!w.length&&(G1.has(u)&&!this.tokens[f]?.generated||X1.has(u)))break;f--}return!1}makeIndentation(f){let _=U1("INDENT",2),U=U1("OUTDENT",2);if(f)_.generated=U.generated=!0,_.origin=U.origin=f;else _.explicit=U.explicit=!0;return[_,U]}}Q2(R1);var G4={symbolIds:{$accept:0,$end:1,error:2,Root:3,Body:4,Line:5,TERMINATOR:6,Expression:7,ExpressionLine:8,Statement:9,Return:10,STATEMENT:11,Import:12,Export:13,Value:14,Code:15,Operation:16,Assign:17,RightwardAssign:18,ReactiveAssign:19,ComputedAssign:20,ReadonlyAssign:21,Effect:22,If:23,Try:24,While:25,For:26,Switch:27,Class:28,Component:29,Render:30,Throw:31,Yield:32,Def:33,Enum:34,CodeLine:35,OperationLine:36,Assignable:37,Literal:38,Parenthetical:39,Range:40,Invocation:41,DoIife:42,This:43,Super:44,MetaProperty:45,MapLiteral:46,AlphaNumeric:47,JS:48,Regex:49,UNDEFINED:50,NULL:51,BOOL:52,INFINITY:53,NAN:54,NUMBER:55,String:56,Identifier:57,IDENTIFIER:58,Property:59,PROPERTY:60,STRING:61,STRING_START:62,Interpolations:63,STRING_END:64,InterpolationChunk:65,INTERPOLATION_START:66,INTERPOLATION_END:67,INDENT:68,OUTDENT:69,REGEX:70,REGEX_START:71,REGEX_END:72,RegexWithIndex:73,",":74,"=":75,RIGHTWARD_ASSIGN:76,REACTIVE_ASSIGN:77,COMPUTED_ASSIGN:78,Block:79,READONLY_ASSIGN:80,EFFECT:81,SimpleAssignable:82,Array:83,Object:84,ThisProperty:85,".":86,"?.":87,INDEX_START:88,INDEX_END:89,Slice:90,ES6_OPTIONAL_INDEX:91,"{":92,ObjAssignable:93,":":94,FOR:95,ForVariables:96,FOROF:97,OptComma:98,"}":99,WHEN:100,OWN:101,AssignList:102,AssignObj:103,ObjRestValue:104,SimpleObjAssignable:105,"[":106,"]":107,"@":108,"...":109,ObjSpreadExpr:110,SUPER:111,Arguments:112,DYNAMIC_IMPORT:113,MAP_START:114,MAP_END:115,MapAssignList:116,MapAssignObj:117,MapAssignable:118,Elisions:119,ArgElisionList:120,OptElisions:121,ArgElision:122,Arg:123,Elision:124,RangeDots:125,"..":126,DEF:127,CALL_START:128,ParamList:129,CALL_END:130,PARAM_START:131,PARAM_END:132,FuncGlyph:133,"->":134,"=>":135,Param:136,ParamVar:137,Splat:138,ES6_OPTIONAL_CALL:139,ArgList:140,SimpleArgs:141,THIS:142,NEW_TARGET:143,IMPORT_META:144,"(":145,")":146,RETURN:147,THROW:148,YIELD:149,FROM:150,IfBlock:151,IF:152,ELSE:153,UnlessBlock:154,UNLESS:155,POST_IF:156,POST_UNLESS:157,TRY:158,Catch:159,FINALLY:160,CATCH:161,SWITCH:162,Whens:163,When:164,LEADING_WHEN:165,WhileSource:166,WHILE:167,UNTIL:168,Loop:169,LOOP:170,FORIN:171,BY:172,FORAS:173,AWAIT:174,FORASAWAIT:175,ForValue:176,CLASS:177,EXTENDS:178,ENUM:179,COMPONENT:180,ComponentBody:181,ComponentLine:182,OFFER:183,ACCEPT:184,RENDER:185,IMPORT:186,ImportDefaultSpecifier:187,ImportNamespaceSpecifier:188,ImportSpecifierList:189,ImportSpecifier:190,AS:191,DEFAULT:192,IMPORT_ALL:193,EXPORT:194,ExportSpecifierList:195,EXPORT_ALL:196,ExportSpecifier:197,UNARY:198,DO:199,DO_IIFE:200,UNARY_MATH:201,"-":202,"+":203,"?":204,DEFINED:205,PRESENCE:206,"--":207,"++":208,MATH:209,"**":210,SHIFT:211,COMPARE:212,"&":213,"^":214,"|":215,"||":216,"??":217,"&&":218,"!?":219,PIPE:220,RELATION:221,TERNARY:222,COMPOUND_ASSIGN:223},tokenNames:{2:"error",6:"TERMINATOR",11:"STATEMENT",48:"JS",50:"UNDEFINED",51:"NULL",52:"BOOL",53:"INFINITY",54:"NAN",55:"NUMBER",58:"IDENTIFIER",60:"PROPERTY",61:"STRING",62:"STRING_START",64:"STRING_END",66:"INTERPOLATION_START",67:"INTERPOLATION_END",68:"INDENT",69:"OUTDENT",70:"REGEX",71:"REGEX_START",72:"REGEX_END",74:",",75:"=",76:"RIGHTWARD_ASSIGN",77:"REACTIVE_ASSIGN",78:"COMPUTED_ASSIGN",80:"READONLY_ASSIGN",81:"EFFECT",86:".",87:"?.",88:"INDEX_START",89:"INDEX_END",91:"ES6_OPTIONAL_INDEX",92:"{",94:":",95:"FOR",97:"FOROF",99:"}",100:"WHEN",101:"OWN",106:"[",107:"]",108:"@",109:"...",111:"SUPER",113:"DYNAMIC_IMPORT",114:"MAP_START",115:"MAP_END",126:"..",127:"DEF",128:"CALL_START",130:"CALL_END",131:"PARAM_START",132:"PARAM_END",134:"->",135:"=>",139:"ES6_OPTIONAL_CALL",142:"THIS",143:"NEW_TARGET",144:"IMPORT_META",145:"(",146:")",147:"RETURN",148:"THROW",149:"YIELD",150:"FROM",152:"IF",153:"ELSE",155:"UNLESS",156:"POST_IF",157:"POST_UNLESS",158:"TRY",160:"FINALLY",161:"CATCH",162:"SWITCH",165:"LEADING_WHEN",167:"WHILE",168:"UNTIL",170:"LOOP",171:"FORIN",172:"BY",173:"FORAS",174:"AWAIT",175:"FORASAWAIT",177:"CLASS",178:"EXTENDS",179:"ENUM",180:"COMPONENT",183:"OFFER",184:"ACCEPT",185:"RENDER",186:"IMPORT",191:"AS",192:"DEFAULT",193:"IMPORT_ALL",194:"EXPORT",196:"EXPORT_ALL",198:"UNARY",199:"DO",200:"DO_IIFE",201:"UNARY_MATH",202:"-",203:"+",204:"?",205:"DEFINED",206:"PRESENCE",207:"--",208:"++",209:"MATH",210:"**",211:"SHIFT",212:"COMPARE",213:"&",214:"^",215:"|",216:"||",217:"??",218:"&&",219:"!?",220:"PIPE",221:"RELATION",222:"TERNARY",223:"COMPOUND_ASSIGN"},parseTable:(()=>{let f=[110,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,-1,1,2,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,1,1,0,2,1,5,-2,110,5,1,5,61,2,77,-3,-3,-3,-3,-3,32,1,5,61,1,1,5,2,19,12,23,16,10,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-6,-6,-6,-6,-6,-6,127,131,-6,-6,-6,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,9,1,5,61,1,1,5,33,23,16,-7,-7,-7,-7,-7,-7,-7,-7,-7,14,1,5,61,1,1,5,33,23,16,10,1,9,1,1,-8,-8,-8,-8,-8,-8,-8,-8,-8,132,133,134,99,100,58,1,5,50,5,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,3,3,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-13,-13,138,108,109,-13,-13,-13,-13,-13,141,142,143,-13,144,-13,-13,-13,-13,-13,-13,-13,139,-13,-13,145,-13,-13,140,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,135,136,137,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,48,1,5,61,1,1,5,2,10,1,1,1,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-14,-14,-14,-14,-14,-14,-14,146,147,148,-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,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,-15,-15,-15,-15,-15,-15,-15,-15,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,-16,-16,-16,-16,-16,-16,-16,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,-17,-17,-17,-17,-17,-17,-17,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,-18,-18,-18,-18,-18,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,-19,-19,-19,-19,-19,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,-20,-20,-20,-20,-20,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-21,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,-22,-22,-22,-22,-22,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,-23,-23,-23,-23,-23,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,-24,-24,-24,-24,-24,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-25,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-26,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-27,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-28,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-29,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-30,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-31,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-32,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-33,9,1,5,61,1,1,5,33,23,16,-34,-34,-34,-34,-34,-34,-34,-34,-34,9,1,5,61,1,1,5,33,23,16,-35,-35,-35,-35,-35,-35,-35,-35,-35,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,-36,149,-36,150,151,152,153,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,18,6,51,1,10,1,5,9,1,1,7,14,2,1,20,1,2,4,1,-199,158,107,-199,-199,-199,160,161,159,102,163,162,157,154,-199,-199,155,156,109,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,8,2,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,165,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,166,105,106,164,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,106,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,167,168,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,106,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,170,171,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,172,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,178,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,179,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,104,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,180,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,181,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,47,14,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,11,1,1,1,7,14,2,3,2,1,17,2,1,1,7,1,1,1,55,183,184,185,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,182,74,75,96,102,85,89,86,87,92,173,174,93,94,88,90,91,84,177,47,14,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,11,1,1,1,7,14,2,3,2,1,17,2,1,1,7,1,1,1,55,183,184,185,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,186,74,75,96,102,85,89,86,87,92,173,174,93,94,88,90,91,84,177,64,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,187,188,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,189,106,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,8,2,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,191,190,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,166,105,106,192,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,193,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,2,68,11,166,194,2,68,11,166,195,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,14,40,17,1,25,1,1,7,4,5,5,2,29,37,2,199,158,107,160,161,159,102,196,197,85,162,201,198,200,104,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,202,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,203,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,94,1,5,8,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,1,1,1,3,2,3,3,1,1,1,4,3,2,1,2,2,1,6,1,1,1,2,2,1,1,11,4,1,1,1,1,1,7,1,1,1,1,7,3,1,10,1,3,1,1,2,3,22,2,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-331,-331,183,184,185,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,-331,166,-331,105,106,-331,-331,204,206,74,75,96,-331,102,-331,-331,-331,-331,-331,85,-331,89,-331,86,87,92,-331,-331,-331,173,-331,174,93,94,88,90,91,84,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,205,177,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,2,68,110,207,208,2,68,11,166,209,104,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,210,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,211,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,144,1,5,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,1,1,1,3,2,5,1,1,1,1,4,3,2,1,2,2,1,6,1,1,1,2,2,1,1,11,1,3,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,2,2,1,5,1,8,4,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-250,-250,212,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,-250,213,-250,105,106,-250,-250,55,54,74,75,96,-250,102,-250,-250,-250,-250,-250,85,-250,89,-250,86,87,92,-250,-250,68,-250,173,-250,174,93,94,88,90,91,84,-250,71,66,67,214,56,97,-250,57,98,-250,-250,58,62,59,-250,-250,60,101,-250,-250,-250,51,-250,63,69,64,65,72,73,175,176,177,48,49,50,52,53,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,2,57,1,215,107,2,57,1,216,107,6,15,20,96,2,1,1,218,217,44,45,93,94,143,1,5,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,1,1,1,3,2,5,1,1,1,1,4,3,2,1,2,2,1,6,1,1,1,2,2,1,1,11,1,3,1,1,1,1,1,7,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,2,2,1,5,1,8,4,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-247,-247,219,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,-247,220,-247,105,106,-247,-247,55,54,74,75,96,-247,102,-247,-247,-247,-247,-247,85,-247,89,-247,86,87,92,-247,-247,68,-247,173,-247,174,93,94,88,90,91,84,-247,71,66,67,56,97,-247,57,98,-247,-247,58,62,59,-247,-247,60,101,-247,-247,-247,51,-247,63,69,64,65,72,73,175,176,177,48,49,50,52,53,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,9,56,1,1,3,1,30,95,1,5,221,225,107,108,109,224,222,223,226,62,14,1,4,1,1,1,6,1,4,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,14,2,3,2,1,13,4,2,1,1,7,1,1,1,32,2,1,12,4,4,183,184,233,234,235,236,228,229,230,231,239,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,232,107,108,109,105,106,55,240,74,75,96,227,85,89,86,87,92,68,173,174,93,94,88,90,91,84,63,69,64,237,238,177,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,109,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,241,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,242,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,116,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,7,1,1,1,1,7,3,11,1,1,1,2,2,1,5,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,243,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,249,105,106,250,55,54,74,75,96,102,61,85,244,89,254,86,87,92,245,246,248,251,247,68,44,45,93,94,253,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,4,86,2,24,16,256,257,255,145,2,112,16,258,145,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,58,1,5,53,1,1,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-232,-232,259,260,-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,1,86,261,1,86,262,34,6,33,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,3,9,1,1,7,14,2,1,6,1,1,1,27,-147,280,271,272,275,274,273,276,277,103,104,268,107,269,260,108,109,-147,-147,105,106,-147,278,279,270,102,163,162,267,263,264,265,266,84,55,11,37,2,1,1,1,1,1,3,3,1,6,2,1,10,11,3,11,2,3,2,1,13,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,-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,-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,55,11,37,2,1,1,1,1,1,3,3,1,6,2,1,10,11,3,11,2,3,2,1,13,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,4,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,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,281,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,282,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,283,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,284,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,8,2,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,286,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,166,105,106,285,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,23,6,41,8,1,1,1,1,1,1,1,6,1,5,11,8,6,3,1,1,1,1,2,1,-112,292,103,104,294,107,295,260,108,109,-112,-112,-112,296,287,-112,288,293,297,289,290,291,298,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,47,14,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,11,1,1,1,7,14,2,3,2,1,17,2,1,1,7,1,1,1,55,183,184,185,35,36,37,299,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,240,74,75,96,102,85,89,86,87,92,173,174,93,94,88,90,91,84,177,67,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,4,3,3,1,10,1,3,1,1,2,3,13,11,1,1,1,1,1,1,1,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,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,59,1,5,55,1,2,2,1,1,1,3,2,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,6,56,5,1,1,2,1,303,108,109,300,301,302,112,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,2,1,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,1,1,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,-5,304,-5,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,-5,-5,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,-5,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,305,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,306,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,307,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,308,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,309,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,310,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,311,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,312,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,313,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,316,169,314,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,315,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,319,169,317,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,318,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,322,169,320,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,321,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,323,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,324,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,325,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,326,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,47,14,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,11,1,1,1,7,14,2,3,2,1,17,2,1,1,7,1,1,1,55,183,184,327,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,240,74,75,96,102,85,89,86,87,92,173,174,93,94,88,90,91,84,177,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,328,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,329,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,14,40,17,1,25,1,1,7,4,5,5,2,29,37,2,333,158,107,160,161,159,102,330,331,85,162,201,332,200,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,334,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,335,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,57,1,5,55,1,5,1,1,3,2,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,57,1,5,55,1,5,1,1,3,2,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,2,112,16,336,145,2,59,1,337,260,2,59,1,338,260,109,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,2,8,1,1,1,1,5,2,3,11,2,1,2,2,1,11,1,1,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,339,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,344,79,80,81,82,83,103,104,95,107,108,109,340,105,106,342,55,54,74,75,96,341,102,61,85,89,346,86,87,92,343,345,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,1,88,347,112,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,1,2,2,1,9,4,3,1,2,1,1,3,2,2,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,352,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,351,105,106,55,54,74,75,96,102,61,85,89,254,86,87,92,350,68,348,44,45,93,94,253,349,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,2,59,1,353,260,2,59,1,354,260,104,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,355,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,356,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,105,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,358,357,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,359,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,105,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,361,360,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,362,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,106,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,8,2,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,364,363,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,166,105,106,365,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,105,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,367,366,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,368,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,106,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,8,2,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,370,369,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,166,105,106,371,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,10,6,62,1,5,24,1,8,8,15,2,-243,-243,-243,373,374,-243,-243,-243,-243,372,6,6,62,1,5,56,2,-200,-200,-200,-200,-200,-200,7,6,62,1,5,1,55,2,-204,-204,-204,-204,375,-204,-204,15,6,51,1,10,1,5,9,1,1,7,14,2,22,2,5,-207,158,107,-207,-207,-207,160,161,159,102,163,162,-207,-207,376,11,6,62,1,5,1,22,33,2,39,2,2,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,11,6,62,1,5,1,22,33,2,39,2,2,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,11,6,62,1,5,1,22,33,2,39,2,2,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,11,6,62,1,5,1,22,33,2,39,2,2,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,2,59,1,259,260,116,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,7,1,1,1,1,7,3,11,1,1,1,2,2,1,5,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,352,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,249,105,106,250,55,54,74,75,96,102,61,85,244,89,254,86,87,92,245,246,248,251,247,68,44,45,93,94,253,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,-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,9,1,5,61,1,1,5,33,23,16,-196,-196,-196,-196,-196,-196,-196,-196,-196,109,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,378,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,377,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,130,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,121,-400,123,-400,-400,-400,9,1,5,61,1,1,5,33,23,16,-397,-397,-397,-397,-397,-397,-397,-397,-397,5,156,1,9,1,1,132,133,134,99,100,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,130,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,121,-401,123,-401,-401,-401,9,1,5,61,1,1,5,33,23,16,-398,-398,-398,-398,-398,-398,-398,-398,-398,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,130,-402,-402,-402,-402,-402,-402,-402,-402,-402,114,-402,-402,-402,-402,-402,-402,121,-402,123,-402,-402,-402,18,6,51,1,10,1,5,9,1,1,7,14,2,1,20,1,2,4,1,-199,158,107,-199,-199,-199,160,161,159,102,163,162,157,379,-199,-199,155,156,2,68,11,166,164,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,167,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,170,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,5,15,116,2,1,1,218,173,174,93,94,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,130,-403,-403,-403,-403,-403,-403,-403,-403,-403,114,-403,-403,-403,-403,-403,-403,121,-403,123,-403,-403,-403,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,130,-404,-404,-404,-404,-404,-404,-404,-404,-404,114,-404,-404,-404,-404,-404,-404,121,-404,123,-404,-404,-404,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,130,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,121,-408,123,-408,-408,-408,2,84,8,380,102,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-410,-410,-89,-89,-410,-410,-410,-410,-89,-410,-89,-89,-89,-89,-89,-89,-89,-410,-89,-410,-410,-410,-410,-410,-410,-410,-410,-410,-89,-410,-410,-89,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-89,-89,-89,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,10,56,5,1,24,1,1,3,21,16,11,138,108,109,141,142,143,144,139,145,140,3,86,1,1,146,147,148,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-411,-411,-89,-89,-411,-411,-411,-411,-89,-411,-89,-89,-89,-89,-89,-89,-89,-411,-89,-411,-411,-411,-411,-411,-411,-411,-411,-411,-89,-411,-411,-89,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-89,-89,-89,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,105,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,383,381,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,382,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-86,-86,-86,-86,-86,-86,127,-86,-86,131,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,128,129,130,99,100,-86,-86,-86,-86,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,384,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-88,3,68,11,73,166,385,386,48,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,2,1,1,6,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,387,388,389,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,4,97,74,2,2,391,390,392,393,11,57,1,25,1,1,7,4,10,2,29,39,158,107,160,161,159,102,394,163,162,201,200,11,57,1,25,1,1,7,4,10,2,29,39,158,107,160,161,159,102,395,163,162,201,200,3,68,11,93,166,396,397,5,74,23,74,2,2,398,-329,-329,-329,-329,6,74,1,22,74,2,2,-327,399,-327,-327,-327,-327,24,68,8,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,400,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,3,163,1,1,401,402,403,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-332,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,404,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,63,1,5,55,1,5,1,1,5,1,1,1,1,1,1,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-335,-335,-89,-89,-335,166,-335,-335,-89,-335,-89,-89,405,-89,-89,-89,-89,-89,-335,-89,-335,-335,-335,-335,-335,-335,-335,-335,-335,-89,-335,-335,-89,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,406,-335,-335,-89,-89,-89,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,110,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,1,1,1,1,1,1,8,4,1,1,1,1,1,4,1,409,410,411,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,407,408,412,413,65,72,73,46,47,70,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,414,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-248,-248,-248,-248,-248,-248,127,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,130,-248,-248,-248,-248,-248,-248,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,2,84,8,415,102,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,130,-251,-251,-251,-251,-251,-251,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,2,84,8,416,102,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,417,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,3,68,11,49,166,419,418,2,68,11,166,420,9,1,5,61,1,1,5,33,23,16,-399,-399,-399,-399,-399,-399,-399,-399,-399,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-245,-245,-245,-245,-245,-245,127,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,130,-245,-245,-245,-245,-245,-245,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,2,84,8,421,102,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,2,74,76,423,422,1,150,424,7,57,1,10,31,90,1,2,429,107,428,425,426,427,430,2,74,76,-367,-367,1,191,431,26,6,41,8,1,1,1,1,1,1,1,6,1,5,11,8,6,3,1,1,1,1,2,1,83,3,2,-112,292,103,104,436,107,295,260,108,109,435,-112,-112,296,287,432,288,293,297,289,290,291,298,437,433,434,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-92,-92,-92,-92,-92,-92,-92,-92,438,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,104,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,439,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,440,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,1,150,441,60,1,5,55,1,5,1,1,5,2,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,-36,-36,150,151,152,153,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,2,6,140,110,442,108,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,443,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,32,6,62,1,5,2,19,12,2,16,1,4,26,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-225,-225,-225,-225,127,131,-225,346,444,345,-225,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-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,-168,-168,-168,-168,-168,-168,-168,-168,-168,112,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,3,7,1,1,1,1,7,3,11,1,1,1,2,2,1,9,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,352,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,250,55,54,74,75,96,102,61,85,445,89,254,86,87,92,447,446,68,44,45,93,94,253,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,10,6,62,1,5,24,1,8,8,6,9,-243,-243,-243,449,450,-243,-243,-243,448,-243,60,6,5,37,2,1,1,1,1,1,3,3,1,6,1,1,1,3,7,11,3,11,1,1,1,2,2,1,13,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,451,-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,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,5,6,62,1,5,33,-171,-171,-171,-171,-171,115,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,7,1,1,1,1,7,3,11,2,1,2,2,1,5,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,352,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,249,105,106,250,55,54,74,75,96,102,61,85,89,254,86,87,92,453,452,248,251,247,68,44,45,93,94,253,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,60,6,5,37,2,1,1,1,1,1,3,3,1,6,1,1,1,3,7,11,3,11,1,1,1,2,2,1,13,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,5,6,62,1,5,33,-176,-176,-176,-176,-176,6,6,62,1,5,33,23,-226,-226,-226,-226,-226,-226,6,6,62,1,5,33,23,-227,-227,-227,-227,-227,-227,109,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,3,7,1,1,1,1,7,3,11,1,1,3,2,1,13,3,1,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,-228,454,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,-228,-228,105,106,-228,55,54,74,75,96,102,61,85,-228,89,86,87,92,68,-228,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,57,1,5,55,1,5,1,1,3,2,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,2,59,1,455,260,104,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,456,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,457,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,57,1,5,55,1,5,1,1,3,2,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,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,-233,-233,-233,-233,-233,-233,-233,-233,-233,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,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,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,2,59,1,458,260,2,59,1,459,260,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,461,460,-243,-243,-243,-243,5,6,62,1,5,41,-148,-148,-148,-148,-148,1,94,462,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,463,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,1,94,-155,1,94,-156,1,94,-157,1,94,-158,1,94,-159,1,94,-160,1,94,-161,1,94,-162,1,94,-163,1,94,-164,1,94,-165,1,94,-166,1,94,-167,25,68,8,3,16,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,464,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,25,68,8,3,16,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,465,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-282,-282,-282,-282,-282,-282,127,-282,-282,131,-282,-282,466,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,130,99,100,-282,-282,-282,-282,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-284,-284,-284,-284,-284,-284,127,-284,-284,131,-284,-284,467,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,130,99,100,-284,-284,-284,-284,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,47,1,5,61,1,1,5,2,3,10,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-291,-291,-291,166,-291,-291,127,468,-291,-291,131,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,130,99,100,-291,-291,-291,-291,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,6,6,62,1,5,20,5,-117,-117,-117,-117,469,-117,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,471,470,-243,-243,-243,-243,7,6,62,1,5,1,19,5,-126,-126,-126,-126,472,-126,-126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,473,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,3,59,1,46,259,260,474,6,6,62,1,5,20,5,-129,-129,-129,-129,-129,-129,5,6,62,1,5,25,-113,-113,-113,-113,-113,11,6,62,1,5,1,11,1,1,6,5,29,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,11,6,62,1,5,1,11,1,1,6,5,29,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,11,6,62,1,5,1,11,1,1,6,5,29,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,5,6,62,1,5,25,-118,-118,-118,-118,-118,17,39,4,1,13,1,1,1,24,1,7,13,3,2,1,2,29,3,478,480,479,294,107,295,260,477,296,102,475,89,476,481,482,88,84,57,1,5,55,1,5,1,1,3,2,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-40,-40,-40,-40,-40,-40,-40,483,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,6,56,5,1,2,1,1,303,108,109,484,485,302,4,61,1,2,2,-60,-60,-60,-60,110,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,486,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,488,487,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,4,61,1,2,2,-65,-65,-65,-65,5,1,5,61,2,77,-4,-4,-4,-4,-4,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,130,-414,-414,-414,-414,-414,-414,-414,-414,113,114,-414,-414,-414,-414,-414,-414,121,-414,123,-414,-414,-414,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,130,-415,-415,-415,-415,-415,-415,-415,-415,113,114,-415,-415,-415,-415,-415,-415,121,-415,123,-415,-415,-415,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,130,-416,-416,-416,-416,-416,-416,-416,-416,-416,114,-416,-416,-416,-416,-416,-416,121,-416,123,-416,-416,-416,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,130,-417,-417,-417,-417,-417,-417,-417,-417,-417,114,-417,-417,-417,-417,-417,-417,121,-417,123,-417,-417,-417,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,130,-418,-418,-418,-418,-418,-418,112,111,113,114,-418,-418,-418,-418,-418,-418,121,-418,123,-418,-418,-418,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,130,-419,-419,-419,-419,-419,-419,112,111,113,114,115,-419,-419,-419,-419,-419,121,-419,123,-419,125,-419,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,-420,-420,-420,-420,-420,-420,-420,130,-420,-420,-420,-420,-420,-420,112,111,113,114,115,116,-420,-420,-420,-420,121,-420,123,-420,125,-420,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,-421,-421,-421,-421,-421,-421,-421,130,-421,-421,-421,-421,-421,-421,112,111,113,114,115,116,117,-421,-421,-421,121,-421,123,-421,125,-421,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,130,-422,-422,-422,-422,-422,-422,112,111,113,114,115,116,117,118,-422,-422,121,-422,123,-422,125,-422,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,130,-430,-430,-430,-430,-430,-430,112,111,113,114,115,116,117,118,119,-430,121,122,123,-430,125,-430,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-426,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-431,-431,-431,-431,-431,-431,127,-431,-431,131,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,128,129,130,99,100,-431,-431,-431,-431,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-428,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,-429,-429,-429,-429,130,-429,-429,-429,-429,-429,-429,112,111,113,114,115,116,117,118,119,-429,121,-429,123,-429,125,-429,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-432,-432,-432,-432,-432,-432,127,-432,-432,131,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,128,129,130,99,100,-432,-432,-432,-432,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,130,-433,-433,-433,-433,-433,-433,112,111,113,114,115,116,117,118,119,120,121,122,123,-433,125,-433,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,130,-434,-434,-434,-434,-434,-434,112,111,113,114,115,-434,-434,-434,-434,-434,121,-434,123,-434,-434,-434,24,76,18,1,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,127,489,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-73,-73,-36,-36,-73,-73,-73,-73,-73,-36,-36,-36,-73,-36,-73,-73,-73,-73,-73,-73,-73,-73,-73,-36,-73,-73,-36,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-36,-36,-36,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-262,-262,-262,-262,-262,-262,127,-262,-262,131,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,490,-262,-262,130,99,100,-262,-262,-262,-262,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-266,-266,-266,-266,-266,-266,127,-266,-266,131,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,130,99,100,-266,-266,-266,-266,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,4,97,74,2,2,492,491,493,494,11,57,1,25,1,1,7,4,10,2,29,39,158,107,160,161,159,102,495,163,162,201,200,11,57,1,25,1,1,7,4,10,2,29,39,158,107,160,161,159,102,496,163,162,201,200,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,497,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-261,-261,-261,-261,-261,-261,127,-261,-261,131,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,130,99,100,-261,-261,-261,-261,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-265,-265,-265,-265,-265,-265,127,-265,-265,131,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,130,99,100,-265,-265,-265,-265,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,57,1,5,55,1,5,1,1,3,2,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,27,76,13,6,14,16,1,30,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,127,498,131,346,499,345,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,5,2,3,11,2,1,2,2,1,11,1,1,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,500,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,501,102,61,85,89,346,86,87,92,343,345,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,1,89,502,1,89,503,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,10,1,1,1,1,4,3,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,504,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,-190,105,106,55,54,74,75,96,-190,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-48,-48,-48,-48,-48,-48,-48,505,-48,-48,-48,-48,-69,-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,56,11,37,2,1,1,1,1,1,3,3,1,7,1,1,10,8,3,3,11,2,3,2,1,13,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,4,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,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,56,11,37,2,1,1,1,1,1,3,3,1,7,1,1,10,8,3,3,11,2,3,2,1,13,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,4,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,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,104,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,506,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,507,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,57,1,5,55,1,5,1,1,3,2,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,509,508,-243,-243,-243,-243,5,6,62,1,5,56,-220,-220,-220,-220,-220,111,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,1,2,2,1,9,4,4,2,1,1,3,2,2,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,352,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,351,105,106,55,54,74,75,96,102,61,85,89,254,86,87,92,350,68,44,45,93,94,253,510,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,29,6,62,1,5,2,19,12,23,26,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-225,-225,-225,-225,127,131,-225,-225,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,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,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,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,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,24,76,13,6,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,127,511,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,512,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-70,-70,-70,-70,-70,-70,127,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,130,-70,-70,-70,-70,-70,-70,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,513,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,514,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-74,-74,-74,-74,-74,-74,127,-74,-74,131,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,128,129,130,99,100,-74,-74,-74,-74,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,515,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,516,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-77,-77,-77,-77,-77,-77,127,-77,-77,131,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,128,129,130,99,100,-77,-77,-77,-77,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,517,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-79,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-80,-80,-80,-80,-80,-80,127,-80,-80,131,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,128,129,130,99,100,-80,-80,-80,-80,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,518,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,519,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-83,-83,-83,-83,-83,-83,127,-83,-83,131,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,128,129,130,99,100,-83,-83,-83,-83,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,520,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-85,3,133,1,1,521,93,94,18,6,51,1,10,1,14,1,1,7,7,7,1,1,1,6,15,6,1,-244,158,107,-244,-244,160,161,159,102,-244,163,-244,162,157,-244,-244,522,156,2,6,62,523,524,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,525,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,6,6,62,1,5,56,2,-206,-206,-206,-206,-206,-206,59,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,3,1,4,2,1,3,1,1,2,27,1,1,1,1,3,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,-239,-239,-239,2,6,63,110,526,10,6,62,1,5,24,1,8,8,15,2,-243,-243,-243,373,374,-243,-243,-243,-243,527,1,69,528,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-436,-436,-436,-436,-436,-436,127,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,130,-436,-436,-436,-436,-436,-436,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,529,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,530,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-87,-87,-87,-87,-87,-87,127,-87,-87,131,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,128,129,130,99,100,-87,-87,-87,-87,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,531,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,3,7,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,532,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,2,68,11,166,533,6,57,1,10,11,5,8,534,107,166,536,535,102,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,537,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,538,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,539,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,540,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,1,97,541,1,173,542,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,543,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,10,57,1,25,1,1,7,14,2,29,39,158,107,160,161,159,102,163,162,201,544,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,545,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,3,163,1,1,546,402,403,4,69,84,11,1,547,548,549,403,3,69,84,12,-278,-278,-278,104,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,6,1,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,551,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,550,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,47,1,5,61,1,1,5,2,3,10,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-333,-333,-333,166,-333,-333,127,552,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,130,-333,-333,-333,-333,-333,-333,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-336,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,553,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,2,6,63,555,554,2,6,63,-342,-342,25,6,63,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-345,-345,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,2,6,63,-346,-346,7,6,63,87,1,9,1,1,-347,-347,132,133,134,99,100,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,556,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,1,58,557,24,68,8,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,558,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,1,69,559,1,69,560,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,130,-253,-253,-253,-253,-253,-253,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,18,6,51,1,10,1,5,9,1,1,7,14,2,1,20,1,2,4,1,-199,158,107,-199,-199,-199,160,161,159,102,163,162,157,561,-199,-199,155,156,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,1,69,562,3,56,5,1,563,108,109,3,92,96,5,565,564,226,3,56,5,1,566,108,109,1,150,567,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,569,568,-243,-243,-243,-243,5,6,62,1,5,25,-358,-358,-358,-358,-358,6,57,1,10,121,1,2,429,107,428,570,427,430,6,6,62,1,5,25,92,-363,-363,-363,-363,-363,571,6,6,62,1,5,25,92,-365,-365,-365,-365,-365,572,2,57,1,573,107,14,1,5,61,1,1,5,33,23,16,4,6,1,10,1,-369,-369,-369,-369,-369,-369,-369,-369,-369,574,-369,-369,-369,-369,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,576,575,-243,-243,-243,-243,5,6,62,1,5,25,-387,-387,-387,-387,-387,6,57,1,10,124,3,2,578,107,435,437,577,434,12,6,62,1,5,1,11,1,1,6,5,29,63,-392,-392,-392,-392,-123,-123,-123,-123,-123,-392,-123,579,6,6,62,1,5,25,92,-395,-395,-395,-395,-395,580,105,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,582,581,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,583,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,32,1,5,61,1,1,5,2,19,12,23,16,10,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-382,-382,-382,-382,-382,-382,127,131,-382,-382,-382,-382,-382,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,2,84,8,584,102,3,56,5,1,585,108,109,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,2,6,63,110,586,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,587,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-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,-169,-169,-169,-169,-169,-169,-169,-169,-169,60,6,5,37,2,1,1,1,1,1,3,3,1,6,1,1,1,3,7,11,3,11,1,1,1,2,2,1,13,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,451,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,5,6,62,1,5,33,-177,-177,-177,-177,-177,2,68,39,589,588,120,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,3,7,1,1,1,1,7,3,4,7,1,1,1,2,2,1,1,4,3,1,1,3,3,1,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,-244,352,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,-244,-244,105,106,250,55,54,74,75,96,102,61,-244,85,-244,89,254,86,87,92,-244,591,590,251,247,68,-244,44,45,93,94,253,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,4,6,62,1,38,592,-178,-178,-178,60,6,5,37,2,1,1,1,1,1,3,3,1,6,1,1,1,3,7,11,3,11,1,1,1,2,2,1,13,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,4,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,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,10,6,62,1,5,24,1,8,8,6,9,-243,-243,-243,449,450,-243,-243,-243,593,-243,111,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,3,7,1,1,1,1,7,3,11,2,1,2,2,1,9,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,352,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,250,55,54,74,75,96,102,61,85,89,254,86,87,92,447,446,68,44,45,93,94,253,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,29,6,62,1,5,2,19,12,23,26,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-212,-212,-212,-212,127,131,-212,-212,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,24,76,13,6,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,127,594,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,595,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,3,6,62,47,597,598,596,35,6,33,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,12,1,1,7,7,7,1,1,1,6,2,1,12,15,-244,280,271,272,275,274,273,276,277,103,104,268,107,269,260,108,109,-244,-244,105,106,278,279,270,102,-244,163,-244,162,267,-244,599,266,-244,84,104,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,600,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,601,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,28,6,62,1,5,2,19,20,41,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-154,-154,-154,-154,127,131,-154,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,602,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,603,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,604,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,104,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,605,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,606,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,3,6,62,31,608,609,607,24,6,41,8,1,1,1,1,1,1,1,6,1,16,8,6,4,1,1,1,1,1,1,6,15,-244,292,103,104,294,107,295,260,108,109,-244,-244,296,611,-244,610,297,289,290,-244,291,298,-244,-244,104,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,612,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,613,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,24,76,19,12,49,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,127,131,614,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,615,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,10,6,62,1,5,12,1,1,11,13,16,-130,-130,-130,-130,-132,-132,-132,-130,616,145,10,6,62,1,5,12,1,1,11,13,16,-131,-131,-131,-131,618,619,620,-131,617,145,9,6,62,1,5,12,1,1,11,29,-133,-133,-133,-133,-133,-133,-133,-133,-133,9,6,62,1,5,12,1,1,11,29,-134,-134,-134,-134,-134,-134,-134,-134,-134,9,6,62,1,5,12,1,1,11,29,-135,-135,-135,-135,-135,-135,-135,-135,-135,9,6,62,1,5,12,1,1,11,29,-136,-136,-136,-136,-136,-136,-136,-136,-136,4,86,2,24,16,256,257,621,145,2,112,16,622,145,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,59,1,5,55,1,2,2,1,1,1,3,2,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,4,61,1,2,2,-61,-61,-61,-61,2,6,61,110,623,108,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,624,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,4,61,1,2,2,-64,-64,-64,-64,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,625,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,104,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,627,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,626,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,628,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,629,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,630,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,631,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,1,97,632,1,173,633,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,634,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,10,1,1,1,1,4,3,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,635,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,-188,105,106,55,54,74,75,96,-188,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,27,69,7,19,14,16,1,30,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,636,127,131,346,499,345,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,1,69,637,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,-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,25,69,7,13,6,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-189,127,-189,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,638,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,24,76,13,6,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,127,639,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,640,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,3,6,62,62,642,643,641,116,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,10,1,1,1,1,7,3,4,7,1,1,1,2,2,1,1,8,4,3,1,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,-244,352,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,-244,-244,105,106,55,54,74,75,96,102,61,-244,85,-244,89,254,86,87,92,-244,644,68,-244,44,45,93,94,253,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,509,645,-243,-243,-243,-243,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,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,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,24,69,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,646,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-71,-71,-71,-71,-71,-71,127,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,130,-71,-71,-71,-71,-71,-71,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,24,69,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,647,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-75,-75,-75,-75,-75,-75,127,-75,-75,131,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,128,129,130,99,100,-75,-75,-75,-75,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,24,69,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,648,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-78,-78,-78,-78,-78,-78,127,-78,-78,131,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,128,129,130,99,100,-78,-78,-78,-78,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-81,-81,-81,-81,-81,-81,127,-81,-81,131,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,128,129,130,99,100,-81,-81,-81,-81,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,24,69,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,649,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-84,-84,-84,-84,-84,-84,127,-84,-84,131,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,128,129,130,99,100,-84,-84,-84,-84,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,109,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,8,2,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,651,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,166,105,106,650,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,6,6,62,1,5,56,2,-201,-201,-201,-201,-201,-201,11,57,1,25,1,1,7,14,2,1,27,1,158,107,160,161,159,102,163,162,157,652,156,18,6,51,1,10,1,5,9,1,1,7,14,2,1,20,1,2,4,1,-199,158,107,-199,-199,-199,160,161,159,102,163,162,157,653,-199,-199,155,156,29,6,62,1,5,2,19,35,2,24,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-205,-205,-205,-205,127,131,-205,-205,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,59,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,3,1,4,2,1,3,1,1,2,27,1,1,1,1,3,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,-240,-240,-240,3,133,1,1,654,93,94,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,24,69,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,655,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-438,-438,-438,-438,-438,-438,127,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,130,-438,-438,-438,-438,-438,-438,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,25,68,8,3,16,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,656,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,2,68,11,166,657,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,2,68,11,166,658,2,68,11,166,659,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,3,7,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,27,68,8,3,16,5,56,1,9,1,1,4,30,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,660,131,661,128,129,130,99,100,662,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,26,68,8,3,16,5,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,663,131,664,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,26,68,8,3,16,5,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,665,131,666,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,26,68,8,3,16,5,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,667,131,668,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,669,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,670,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,25,68,8,3,16,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,671,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,4,97,74,2,2,-330,-330,-330,-330,28,74,2,19,2,59,1,9,1,1,3,2,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-328,127,131,-328,128,129,130,99,100,-328,-328,-328,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,4,69,84,11,1,672,673,549,403,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,2,68,11,166,674,3,69,84,12,-279,-279,-279,3,68,6,5,166,676,675,25,68,6,2,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-229,-229,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-334,47,1,5,61,1,1,5,2,3,10,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-337,-337,-337,166,-337,-337,127,677,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,130,-337,-337,-337,-337,-337,-337,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,111,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,1,1,1,1,8,4,1,1,1,1,1,4,1,-344,409,410,411,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,-344,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,678,412,413,65,72,73,46,47,70,48,49,50,52,53,25,6,63,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-348,-348,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,2,6,63,-349,-349,110,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,1,1,1,1,1,1,8,4,1,1,1,1,1,4,1,409,410,411,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,679,408,412,413,65,72,73,46,47,70,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,373,374,-243,-243,-243,680,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,1,150,681,6,57,1,10,121,1,2,429,107,428,682,427,430,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,3,56,5,1,683,108,109,3,6,62,31,685,686,684,11,6,51,1,10,1,30,8,8,15,60,2,-244,429,107,-244,-244,-244,-244,-244,-244,687,430,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,569,688,-243,-243,-243,-243,2,57,1,689,107,2,57,1,690,107,1,150,-368,3,56,5,1,691,108,109,3,6,62,31,693,694,692,11,6,51,1,10,1,30,8,8,15,62,5,-244,578,107,-244,-244,-244,-244,-244,-244,437,695,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,576,696,-243,-243,-243,-243,6,6,62,1,5,25,92,-392,-392,-392,-392,-392,579,3,57,1,134,697,107,698,2,57,1,699,107,32,1,5,61,1,1,5,2,19,12,23,16,10,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-375,-375,-375,-375,-375,-375,127,131,-375,-375,-375,-375,-375,130,-375,-375,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,700,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,701,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,1,69,702,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,1,146,703,24,76,19,12,49,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,127,131,704,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-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,-170,-170,-170,-170,-170,-170,-170,-170,-170,115,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,7,1,1,1,1,7,3,11,2,1,2,2,1,5,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,352,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,249,105,106,250,55,54,74,75,96,102,61,85,89,254,86,87,92,453,705,248,251,247,68,44,45,93,94,253,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,5,6,62,1,5,33,-172,-172,-172,-172,-172,114,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,3,7,1,1,1,1,7,3,11,1,1,1,2,2,1,9,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,352,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,-179,-179,105,106,250,55,54,74,75,96,102,61,85,-179,89,254,86,87,92,447,446,68,44,45,93,94,253,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,113,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,3,7,1,1,1,1,7,3,11,2,1,2,2,1,5,3,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,352,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,250,55,54,74,75,96,102,61,85,89,254,86,87,92,453,706,251,247,68,44,45,93,94,253,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,2,68,1,589,707,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,24,69,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,708,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,28,39,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,12,1,1,7,14,2,1,8,1,27,280,271,272,275,274,273,276,277,103,104,268,107,269,260,108,109,105,106,278,279,270,102,163,162,267,709,266,84,34,6,33,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,3,9,1,1,7,14,2,1,6,1,1,1,27,-147,280,271,272,275,274,273,276,277,103,104,268,107,269,260,108,109,-147,-147,105,106,-147,278,279,270,102,163,162,267,-147,710,265,266,84,5,6,62,1,5,41,-149,-149,-149,-149,-149,28,6,62,1,5,2,19,20,41,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-152,-152,-152,-152,127,131,-152,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,711,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,2,68,11,166,712,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-283,-283,-283,-283,-283,-283,127,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,130,-283,-283,-283,-283,-283,-283,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-285,-285,-285,-285,-285,-285,127,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,130,-285,-285,-285,-285,-285,-285,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,28,6,62,1,5,2,19,4,57,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-119,-119,-119,-119,127,713,-119,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,714,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,17,47,8,1,1,1,1,1,1,1,23,8,10,1,1,1,2,1,292,103,104,294,107,295,260,108,109,296,611,715,297,289,290,291,298,23,6,41,8,1,1,1,1,1,1,1,6,1,5,11,8,6,3,1,1,1,1,2,1,-112,292,103,104,294,107,295,260,108,109,-112,-112,-112,296,611,-112,716,293,297,289,290,291,298,5,6,62,1,5,25,-114,-114,-114,-114,-114,6,6,62,1,5,20,5,-117,-117,-117,-117,717,-117,28,6,62,1,5,2,19,4,57,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-121,-121,-121,-121,127,131,-121,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,718,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,6,6,62,1,5,20,5,-127,-127,-127,-127,-127,-127,24,76,19,12,49,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,127,131,719,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,9,6,62,1,5,12,1,1,11,29,-139,-139,-139,-139,-139,-139,-139,-139,-139,9,6,62,1,5,12,1,1,11,29,-140,-140,-140,-140,-140,-140,-140,-140,-140,2,59,1,720,260,2,59,1,721,260,104,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,722,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,723,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,9,6,62,1,5,12,1,1,11,29,-137,-137,-137,-137,-137,-137,-137,-137,-137,9,6,62,1,5,12,1,1,11,29,-138,-138,-138,-138,-138,-138,-138,-138,-138,4,61,1,2,2,-62,-62,-62,-62,2,6,63,110,724,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-435,-435,-435,-435,-435,-435,127,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,130,-435,-435,-435,-435,-435,-435,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,725,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-264,-264,-264,-264,-264,-264,127,-264,-264,131,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,130,99,100,-264,-264,-264,-264,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-310,-310,-310,-310,-310,-310,127,-310,-310,-310,-310,-310,726,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,130,-310,-310,-310,727,-310,-310,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-315,-315,-315,-315,-315,-315,127,-315,-315,-315,-315,-315,728,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,130,-315,-315,-315,-315,-315,-315,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-319,-319,-319,-319,-319,-319,127,-319,-319,-319,-319,-319,729,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,130,-319,-319,-319,-319,-319,-319,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-323,-323,-323,-323,-323,-323,127,-323,-323,-323,-323,-323,730,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,130,-323,-323,-323,-323,-323,-323,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,731,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,732,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-326,-326,-326,-326,-326,-326,127,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,130,-326,-326,-326,-326,-326,-326,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,25,69,7,13,6,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-187,127,-187,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,1,89,733,1,89,734,24,76,13,6,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,127,-68,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,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,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,24,69,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,735,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,57,1,5,55,1,5,1,1,3,2,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,109,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,1,2,2,1,9,4,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,352,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,254,86,87,92,736,68,44,45,93,94,253,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,111,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,1,2,2,1,9,4,4,2,1,1,3,2,2,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,352,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,351,105,106,55,54,74,75,96,102,61,85,89,254,86,87,92,350,68,44,45,93,94,253,737,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,5,6,62,1,5,56,-221,-221,-221,-221,-221,3,6,62,1,642,643,738,1,89,739,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-76,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-82,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,-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,9,1,5,61,1,1,5,33,23,16,-195,-195,-195,-195,-195,-195,-195,-195,-195,6,6,62,1,5,56,2,-202,-202,-202,-202,-202,-202,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,373,740,-243,-243,-243,-243,2,68,11,166,650,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,3,7,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,3,7,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,741,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,742,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,743,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,744,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,745,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,26,68,8,3,16,5,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,746,131,747,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,26,68,8,3,16,5,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,748,131,749,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,2,68,11,166,750,1,69,751,4,6,63,84,12,752,-280,-280,-280,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,753,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-338,2,6,63,-343,-343,2,6,63,555,754,2,68,11,166,755,3,56,5,1,756,108,109,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,569,757,-243,-243,-243,-243,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,1,150,758,4,57,1,132,2,429,107,759,430,6,57,1,10,121,1,2,429,107,428,760,427,430,5,6,62,1,5,25,-359,-359,-359,-359,-359,3,6,62,1,685,686,761,5,6,62,1,5,25,-364,-364,-364,-364,-364,5,6,62,1,5,25,-366,-366,-366,-366,-366,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,14,1,5,61,1,1,5,33,23,16,4,6,1,10,1,-370,-370,-370,-370,-370,-370,-370,-370,-370,762,-370,-370,-370,-370,4,57,1,134,5,578,107,437,763,6,57,1,10,124,3,2,578,107,435,437,764,434,5,6,62,1,5,25,-388,-388,-388,-388,-388,3,6,62,1,693,694,765,5,6,62,1,5,25,-393,-393,-393,-393,-393,5,6,62,1,5,25,-394,-394,-394,-394,-394,5,6,62,1,5,25,-396,-396,-396,-396,-396,32,1,5,61,1,1,5,2,19,12,23,16,10,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-376,-376,-376,-376,-376,-376,127,131,-376,-376,-376,-376,-376,130,-376,-376,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,24,69,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,766,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,10,6,62,1,5,24,1,8,8,6,9,-243,-243,-243,449,450,-243,-243,-243,767,-243,5,6,62,1,5,33,-173,-173,-173,-173,-173,5,6,62,1,5,33,-174,-174,-174,-174,-174,1,89,768,5,6,62,1,5,41,-150,-150,-150,-150,-150,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,461,769,-243,-243,-243,-243,24,69,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,770,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,14,40,17,1,25,1,1,7,4,5,5,2,29,37,2,333,158,107,160,161,159,102,771,772,85,162,201,332,200,24,69,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,773,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,5,6,62,1,5,25,-115,-115,-115,-115,-115,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,471,774,-243,-243,-243,-243,104,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,775,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,606,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,24,69,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,776,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,6,6,62,1,5,20,5,-128,-128,-128,-128,-128,-128,9,6,62,1,5,12,1,1,11,29,-141,-141,-141,-141,-141,-141,-141,-141,-141,9,6,62,1,5,12,1,1,11,29,-142,-142,-142,-142,-142,-142,-142,-142,-142,24,76,13,6,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,127,777,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,778,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,1,67,779,24,69,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,780,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,781,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,782,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,783,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,784,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,785,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-317,-317,-317,-317,-317,-317,127,-317,-317,-317,-317,-317,786,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,130,-317,-317,-317,-317,-317,-317,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-321,-321,-321,-321,-321,-321,127,-321,-321,-321,-321,-321,787,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,130,-321,-321,-321,-321,-321,-321,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,-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,-99,-99,-99,-99,-99,-99,-99,1,89,788,5,6,62,1,5,56,-222,-222,-222,-222,-222,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,509,789,-243,-243,-243,-243,5,6,62,1,5,56,-223,-223,-223,-223,-223,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,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,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,3,6,62,1,523,524,790,26,68,8,3,16,61,1,9,1,1,4,30,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,791,131,128,129,130,99,100,792,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,26,68,8,3,16,5,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,793,131,794,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,25,68,8,3,16,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,795,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,25,68,8,3,16,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,796,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,25,68,8,3,16,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,797,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,798,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,799,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,1,69,800,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,3,69,84,12,-281,-281,-281,25,68,6,2,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-230,-230,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-191,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,3,6,62,31,685,686,801,3,56,5,1,802,108,109,5,6,62,1,5,25,-360,-360,-360,-360,-360,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,569,803,-243,-243,-243,-243,5,6,62,1,5,25,-361,-361,-361,-361,-361,3,56,5,1,804,108,109,5,6,62,1,5,25,-389,-389,-389,-389,-389,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,576,805,-243,-243,-243,-243,5,6,62,1,5,25,-390,-390,-390,-390,-390,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,2,68,1,589,806,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,3,6,62,1,597,598,807,5,6,62,1,5,41,-153,-153,-153,-153,-153,4,97,74,2,2,808,491,493,494,11,57,1,25,1,1,7,4,10,2,29,39,158,107,160,161,159,102,809,163,162,201,200,5,6,62,1,5,25,-120,-120,-120,-120,-120,3,6,62,1,608,609,810,28,6,62,1,5,2,19,4,57,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-119,-119,-119,-119,127,131,-119,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,5,6,62,1,5,25,-122,-122,-122,-122,-122,9,6,62,1,5,12,1,1,11,29,-143,-143,-143,-143,-143,-143,-143,-143,-143,24,69,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,811,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,4,61,1,2,2,-63,-63,-63,-63,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,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,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-311,-311,-311,-311,-311,-311,127,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,130,-311,-311,-311,812,-311,-311,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-312,-312,-312,-312,-312,-312,127,-312,-312,-312,-312,-312,813,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,130,-312,-312,-312,-312,-312,-312,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-316,-316,-316,-316,-316,-316,127,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,130,-316,-316,-316,-316,-316,-316,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-320,-320,-320,-320,-320,-320,127,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,130,-320,-320,-320,-320,-320,-320,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-324,-324,-324,-324,-324,-324,127,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,130,-324,-324,-324,-324,-324,-324,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,814,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,815,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,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,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,3,6,62,1,642,643,816,6,6,62,1,5,56,2,-203,-203,-203,-203,-203,-203,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,817,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,818,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,25,68,8,3,16,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,819,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,25,68,8,3,16,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,820,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,1,150,821,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,3,6,62,1,685,686,822,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,3,6,62,1,693,694,823,5,6,62,1,5,33,-175,-175,-175,-175,-175,5,6,62,1,5,41,-151,-151,-151,-151,-151,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,824,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,1,97,825,5,6,62,1,5,25,-116,-116,-116,-116,-116,1,89,826,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,827,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,828,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-318,-318,-318,-318,-318,-318,127,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,130,-318,-318,-318,-318,-318,-318,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-322,-322,-322,-322,-322,-322,127,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,130,-322,-322,-322,-322,-322,-322,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,5,6,62,1,5,56,-224,-224,-224,-224,-224,25,68,8,3,16,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,829,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,25,68,8,3,16,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,830,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,3,56,5,1,831,108,109,5,6,62,1,5,25,-362,-362,-362,-362,-362,5,6,62,1,5,25,-391,-391,-391,-391,-391,47,1,5,61,1,1,5,2,13,5,1,2,1,1,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-315,-315,-315,-315,-315,834,127,-315,-315,-315,-315,832,-315,833,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,130,-315,-315,-315,-315,-315,-315,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,835,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,9,6,62,1,5,12,1,1,11,29,-144,-144,-144,-144,-144,-144,-144,-144,-144,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-313,-313,-313,-313,-313,-313,127,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,130,-313,-313,-313,-313,-313,-313,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-314,-314,-314,-314,-314,-314,127,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,130,-314,-314,-314,-314,-314,-314,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,1,99,836,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,837,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,7,6,62,1,30,8,8,15,-244,-244,-244,-244,-244,-244,-244,47,1,5,61,1,1,5,2,13,5,1,2,1,1,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-317,-317,-317,-317,-317,834,127,-317,-317,-317,-317,838,-317,839,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,130,-317,-317,-317,-317,-317,-317,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,47,1,5,61,1,1,5,2,13,5,1,2,1,1,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-316,-316,-316,-316,-316,834,127,-316,-316,-316,-316,840,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,130,-316,-316,-316,-316,-316,-316,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,1,99,841,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,842,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,1,99,843,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,47,1,5,61,1,1,5,2,13,5,1,2,1,1,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-318,-318,-318,-318,-318,834,127,-318,-318,-318,-318,844,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,130,-318,-318,-318,-318,-318,-318,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,1,99,845,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110],_=[],U=0,w,u,$,W;while(U<f.length){w=f[U++],u={},$=0,W=[];while(w--)$+=f[U++],W.push($);for($ of W)u[$]=f[U++];_.push(u)}return _})(),ruleTable:[0,0,3,0,3,1,4,1,4,3,4,2,5,1,5,1,5,1,9,1,9,1,9,1,9,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,8,1,8,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,47,1,47,1,57,1,59,1,56,1,56,3,63,1,63,2,65,3,65,5,65,2,65,1,49,1,49,3,73,3,73,1,17,3,17,4,17,5,18,3,19,3,19,4,19,5,20,3,20,4,20,3,21,3,21,4,21,5,22,3,22,4,22,3,22,2,22,3,22,2,37,1,37,1,37,1,82,1,82,1,82,3,82,3,82,4,82,6,82,4,82,6,82,4,82,5,82,7,82,3,82,3,82,4,82,6,84,10,84,12,84,11,84,13,84,4,102,0,102,1,102,3,102,4,102,6,103,1,103,1,103,3,103,5,103,3,103,5,105,1,105,1,105,1,93,1,93,3,93,4,93,1,104,2,104,2,110,1,110,1,110,1,110,1,110,1,110,2,110,2,110,2,110,2,110,3,110,3,110,4,110,6,46,2,46,4,116,0,116,1,116,3,116,4,116,6,117,3,117,5,117,2,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,83,2,83,3,83,4,120,1,120,3,120,4,120,4,120,6,122,1,122,2,121,1,121,2,119,1,119,2,124,1,124,2,125,1,125,1,40,5,90,3,90,2,90,2,90,1,33,6,33,3,15,5,15,2,35,5,35,2,133,1,133,1,129,0,129,1,129,3,129,4,129,6,136,1,136,3,136,2,136,1,137,1,137,1,137,1,137,1,138,2,41,2,41,2,41,3,41,2,41,2,112,2,112,4,140,1,140,3,140,4,140,4,140,6,123,1,123,1,123,1,123,1,141,1,141,3,43,1,43,1,85,2,44,3,44,4,44,6,45,3,45,3,79,2,79,3,39,3,39,5,98,0,98,1,10,2,10,4,10,1,31,2,31,4,32,1,32,2,32,4,32,3,151,3,151,5,154,3,154,5,23,1,23,3,23,1,23,3,23,3,23,7,23,5,23,3,23,3,24,2,24,3,24,4,24,5,159,3,159,3,159,2,27,5,27,7,27,4,27,6,163,1,163,2,164,3,164,4,166,2,166,4,166,2,166,4,25,2,25,2,25,2,25,1,169,2,169,2,169,3,26,5,26,7,26,7,26,9,26,9,26,5,26,7,26,6,26,8,26,5,26,7,26,6,26,8,26,5,26,7,26,3,26,5,26,5,26,7,26,7,26,9,26,9,26,5,26,7,26,6,26,8,26,5,26,7,26,6,26,8,26,5,26,7,26,3,26,5,176,1,176,3,96,1,96,3,28,1,28,2,28,3,28,4,28,2,28,3,28,4,28,5,34,3,29,4,29,6,181,1,181,3,181,2,182,1,182,1,182,1,182,2,182,2,30,2,12,2,12,4,12,4,12,5,12,7,12,6,12,9,189,1,189,3,189,4,189,4,189,6,190,1,190,3,190,1,190,3,187,1,188,3,13,3,13,5,13,2,13,2,13,2,13,2,13,4,13,5,13,6,13,2,13,2,13,2,13,2,13,3,13,5,13,4,13,5,13,7,195,1,195,3,195,4,195,4,195,6,197,1,197,3,197,3,197,1,197,3,36,2,36,2,36,2,16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,4,16,2,16,2,16,2,16,2,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,5,16,3,16,5,16,4,42,2],ruleActions:(f,_,U,w)=>{let u=_,$=_.length-1;switch(f){case 1:return["program"];case 2:return["program",...u[$]];case 3:case 60:case 113:case 148:case 176:case 180:case 200:case 220:case 229:case 278:case 329:case 342:case 358:case 387:return[u[$]];case 4:case 114:case 149:case 201:case 221:case 230:case 343:case 359:case 388:return[...u[$-2],u[$]];case 5:case 62:case 183:case 344:return u[$-1];case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 48:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:case 65:case 66:case 89:case 90:case 91:case 92:case 93:case 118:case 123:case 124:case 125:case 126:case 129:case 132:case 133:case 134:case 135:case 136:case 155:case 156:case 157:case 158:case 159:case 160:case 163:case 164:case 165:case 166:case 167:case 171:case 197:case 198:case 204:case 208:case 209:case 210:case 211:case 225:case 226:case 227:case 243:case 244:case 258:case 260:case 289:case 327:case 345:case 346:case 347:case 363:case 365:case 367:case 392:case 395:return u[$];case 49:case 162:return"undefined";case 50:case 161:return"null";case 59:return["str",...u[$-1]];case 61:case 177:case 181:case 279:return[...u[$-1],u[$]];case 63:case 219:case 223:case 361:case 390:return u[$-2];case 64:return"";case 67:return["regex",u[$-1]];case 68:return["regex-index",u[$-2],u[$]];case 69:return["regex-index",u[$],null];case 70:case 121:return["=",u[$-2],u[$]];case 71:return["=",u[$-3],u[$]];case 72:case 122:return["=",u[$-4],u[$-1]];case 73:return["=",u[$],u[$-2]];case 74:return["state",u[$-2],u[$]];case 75:return["state",u[$-3],u[$]];case 76:return["state",u[$-4],u[$-1]];case 77:case 79:return["computed",u[$-2],u[$]];case 78:return["computed",u[$-3],u[$]];case 80:return["readonly",u[$-2],u[$]];case 81:return["readonly",u[$-3],u[$]];case 82:return["readonly",u[$-4],u[$-1]];case 83:case 85:return["effect",u[$-2],u[$]];case 84:return["effect",u[$-3],u[$]];case 86:case 87:case 88:return["effect",null,u[$]];case 94:case 103:case 141:return[".",u[$-2],u[$]];case 95:case 104:case 142:return["?.",u[$-2],u[$]];case 96:case 98:case 105:case 143:return["[]",u[$-3],u[$-1]];case 97:case 99:case 106:case 144:return["[]",u[$-5],u[$-2]];case 100:return[u[$-1][0],u[$-3],...u[$-1].slice(1)];case 101:return["optindex",u[$-4],u[$-1]];case 102:return["optindex",u[$-6],u[$-2]];case 107:return["object-comprehension",u[$-8],u[$-6],[["for-of",u[$-4],u[$-2],!1]],[]];case 108:return["object-comprehension",u[$-10],u[$-8],[["for-of",u[$-6],u[$-4],!1]],[u[$-2]]];case 109:return["object-comprehension",u[$-9],u[$-7],[["for-of",u[$-4],u[$-2],!0]],[]];case 110:return["object-comprehension",u[$-11],u[$-9],[["for-of",u[$-6],u[$-4],!0]],[u[$-2]]];case 111:return["object",...u[$-2]];case 112:case 147:case 178:case 199:case 218:return[];case 115:case 150:case 202:case 222:case 360:case 389:return[...u[$-3],u[$]];case 116:case 151:case 203:case 224:case 362:case 391:return[...u[$-5],...u[$-2]];case 117:return[null,u[$],u[$]];case 119:case 152:return[":",u[$-2],u[$]];case 120:case 153:return[":",u[$-4],u[$-1]];case 127:return["dynamicKey",u[$-1]];case 128:return["[]","this",u[$-1]];case 130:case 131:case 154:case 212:return["...",u[$]];case 137:case 216:return["super",...u[$]];case 138:case 139:case 140:case 214:case 217:return[u[$-1],...u[$]];case 145:return["map-literal"];case 146:return["map-literal",...u[$-2]];case 168:return["array"];case 169:return["array",...u[$-1]];case 170:return["array",...u[$-2],...u[$-1]];case 172:return[...u[$-2],...u[$]];case 173:return[...u[$-3],...u[$]];case 174:return[...u[$-2],...u[$-1]];case 175:return[...u[$-5],...u[$-4],...u[$-2],...u[$-1]];case 179:return[...u[$]];case 182:return null;case 184:return"..";case 185:case 228:return"...";case 186:return[u[$-2],u[$-3],u[$-1]];case 187:case 416:case 418:case 419:case 434:case 436:return[u[$-1],u[$-2],u[$]];case 188:return[u[$],u[$-1],null];case 189:return[u[$-1],null,u[$]];case 190:return[u[$],null,null];case 191:return["def",u[$-4],u[$-2],u[$]];case 192:return["def",u[$-1],[],u[$]];case 193:case 195:return[u[$-1],u[$-3],u[$]];case 194:case 196:return[u[$-1],[],u[$]];case 205:case 328:return["default",u[$-2],u[$]];case 206:return["rest",u[$]];case 207:return["expansion"];case 213:return["tagged-template",u[$-1],u[$]];case 215:return["optcall",u[$-2],...u[$]];case 231:case 232:return"this";case 233:return[".","this",u[$]];case 234:return[".","super",u[$]];case 235:return["[]","super",u[$-1]];case 236:return["[]","super",u[$-2]];case 237:return[".","new",u[$]];case 238:return[".","import",u[$]];case 239:return["block"];case 240:return["block",...u[$-1]];case 241:return u[$-1].length===1?u[$-1][0]:["block",...u[$-1]];case 242:return u[$-2].length===1?u[$-2][0]:["block",...u[$-2]];case 245:return["return",u[$]];case 246:return["return",u[$-1]];case 247:return["return"];case 248:return["throw",u[$]];case 249:return["throw",u[$-1]];case 250:return["yield"];case 251:return["yield",u[$]];case 252:return["yield",u[$-1]];case 253:return["yield-from",u[$]];case 254:return["if",u[$-1],u[$]];case 255:return u[$-4].length===3?["if",u[$-4][1],u[$-4][2],["if",u[$-1],u[$]]]:[...u[$-4],["if",u[$-1],u[$]]];case 256:return["if",["!",u[$-1]],u[$]];case 257:return["if",["!",u[$-3]],u[$-2],u[$]];case 259:return u[$-2].length===3?["if",u[$-2][1],u[$-2][2],u[$]]:[...u[$-2],u[$]];case 261:case 262:return["if",u[$],[u[$-2]]];case 263:return["?:",u[$-4],u[$-6],u[$-1]];case 264:return["?:",u[$-2],u[$-4],u[$]];case 265:case 266:return["if",["!",u[$]],[u[$-2]]];case 267:return["try",u[$]];case 268:return["try",u[$-1],u[$]];case 269:return["try",u[$-2],u[$]];case 270:return["try",u[$-3],u[$-2],u[$]];case 271:case 272:case 397:case 400:case 402:return[u[$-1],u[$]];case 273:return[null,u[$]];case 274:return["switch",u[$-3],u[$-1],null];case 275:return["switch",u[$-5],u[$-3],u[$-1]];case 276:return["switch",null,u[$-1],null];case 277:return["switch",null,u[$-3],u[$-1]];case 280:return["when",u[$-1],u[$]];case 281:return["when",u[$-2],u[$-1]];case 282:return["while",u[$]];case 283:return["while",u[$-2],u[$]];case 284:return["while",["!",u[$]]];case 285:return["while",["!",u[$-2]],u[$]];case 286:return u[$-1].length===2?[u[$-1][0],u[$-1][1],u[$]]:[u[$-1][0],u[$-1][1],u[$-1][2],u[$]];case 287:case 288:return u[$].length===2?[u[$][0],u[$][1],[u[$-1]]]:[u[$][0],u[$][1],u[$][2],[u[$-1]]];case 290:return["loop",u[$]];case 291:return["loop",[u[$]]];case 292:return["loop-n",u[$-1],u[$]];case 293:return["for-in",u[$-3],u[$-1],null,null,u[$]];case 294:return["for-in",u[$-5],u[$-3],null,u[$-1],u[$]];case 295:return["for-in",u[$-5],u[$-3],u[$-1],null,u[$]];case 296:return["for-in",u[$-7],u[$-5],u[$-1],u[$-3],u[$]];case 297:return["for-in",u[$-7],u[$-5],u[$-3],u[$-1],u[$]];case 298:return["for-of",u[$-3],u[$-1],!1,null,u[$]];case 299:return["for-of",u[$-5],u[$-3],!1,u[$-1],u[$]];case 300:return["for-of",u[$-3],u[$-1],!0,null,u[$]];case 301:return["for-of",u[$-5],u[$-3],!0,u[$-1],u[$]];case 302:return["for-as",u[$-3],u[$-1],!1,null,u[$]];case 303:return["for-as",u[$-5],u[$-3],!1,u[$-1],u[$]];case 304:case 306:return["for-as",u[$-3],u[$-1],!0,null,u[$]];case 305:case 307:return["for-as",u[$-5],u[$-3],!0,u[$-1],u[$]];case 308:return["for-in",[],u[$-1],null,null,u[$]];case 309:return["for-in",[],u[$-3],u[$-1],null,u[$]];case 310:return["comprehension",u[$-4],[["for-in",u[$-2],u[$],null]],[]];case 311:return["comprehension",u[$-6],[["for-in",u[$-4],u[$-2],null]],[u[$]]];case 312:return["comprehension",u[$-6],[["for-in",u[$-4],u[$-2],u[$]]],[]];case 313:return["comprehension",u[$-8],[["for-in",u[$-6],u[$-4],u[$]]],[u[$-2]]];case 314:return["comprehension",u[$-8],[["for-in",u[$-6],u[$-4],u[$-2]]],[u[$]]];case 315:return["comprehension",u[$-4],[["for-of",u[$-2],u[$],!1]],[]];case 316:return["comprehension",u[$-6],[["for-of",u[$-4],u[$-2],!1]],[u[$]]];case 317:return["comprehension",u[$-5],[["for-of",u[$-2],u[$],!0]],[]];case 318:return["comprehension",u[$-7],[["for-of",u[$-4],u[$-2],!0]],[u[$]]];case 319:return["comprehension",u[$-4],[["for-as",u[$-2],u[$],!1,null]],[]];case 320:return["comprehension",u[$-6],[["for-as",u[$-4],u[$-2],!1,null]],[u[$]]];case 321:return["comprehension",u[$-5],[["for-as",u[$-2],u[$],!0,null]],[]];case 322:return["comprehension",u[$-7],[["for-as",u[$-4],u[$-2],!0,null]],[u[$]]];case 323:return["comprehension",u[$-4],[["for-as",u[$-2],u[$],!0,null]],[]];case 324:return["comprehension",u[$-6],[["for-as",u[$-4],u[$-2],!0,null]],[u[$]]];case 325:return["comprehension",u[$-2],[["for-in",[],u[$],null]],[]];case 326:return["comprehension",u[$-4],[["for-in",[],u[$-2],u[$]]],[]];case 330:case 364:case 366:case 393:case 394:case 396:return[u[$-2],u[$]];case 331:return["class",null,null];case 332:return["class",null,null,u[$]];case 333:return["class",null,u[$]];case 334:return["class",null,u[$-1],u[$]];case 335:return["class",u[$],null];case 336:return["class",u[$-1],null,u[$]];case 337:return["class",u[$-2],u[$]];case 338:return["class",u[$-3],u[$-1],u[$]];case 339:return["enum",u[$-1],u[$]];case 340:return["component",null,["block",...u[$-1]]];case 341:return["component",u[$-3],["block",...u[$-1]]];case 348:return["offer",u[$]];case 349:return["accept",u[$]];case 350:return["render",u[$]];case 351:case 354:return["import","{}",u[$]];case 352:case 353:return["import",u[$-2],u[$]];case 355:return["import",u[$-4],u[$]];case 356:return["import",u[$-4],u[$-2],u[$]];case 357:return["import",u[$-7],u[$-4],u[$]];case 368:return["*",u[$]];case 369:return["export","{}"];case 370:return["export",u[$-2]];case 371:case 372:case 373:case 374:case 378:case 379:case 380:case 381:return["export",u[$]];case 375:return["export",["=",u[$-2],u[$]]];case 376:return["export",["=",u[$-3],u[$]]];case 377:return["export",["=",u[$-4],u[$-1]]];case 382:return["export-default",u[$]];case 383:return["export-default",u[$-1]];case 384:return["export-all",u[$]];case 385:return["export-from","{}",u[$]];case 386:return["export-from",u[$-4],u[$]];case 398:case 399:case 401:case 439:return["do-iife",u[$]];case 403:return["-",u[$]];case 404:return["+",u[$]];case 405:return["?",u[$-1]];case 406:return["defined",u[$-1]];case 407:return["presence",u[$-1]];case 408:return["await",u[$]];case 409:return["await",u[$-1]];case 410:return["--",u[$],!1];case 411:return["++",u[$],!1];case 412:return["--",u[$-1],!0];case 413:return["++",u[$-1],!0];case 414:return["+",u[$-2],u[$]];case 415:return["-",u[$-2],u[$]];case 417:return["**",u[$-2],u[$]];case 420:return["&",u[$-2],u[$]];case 421:return["^",u[$-2],u[$]];case 422:return["|",u[$-2],u[$]];case 423:case 424:case 425:case 426:case 427:case 428:return["control",u[$-1],u[$-2],u[$]];case 429:return["&&",u[$-2],u[$]];case 430:return["||",u[$-2],u[$]];case 431:return["??",u[$-2],u[$]];case 432:return["!?",u[$-2],u[$]];case 433:return["|>",u[$-2],u[$]];case 435:return["?:",u[$-4],u[$-2],u[$]];case 437:return[u[$-3],u[$-4],u[$-1]];case 438:return[u[$-2],u[$-3],u[$]]}},parseError(f,_){let U,w,u,$,W,F,A;if(_.recoverable)return this.trace(f);else throw u=(_.line||0)+1,U=_.loc?.c||0,A=_.token?` (token: ${_.token})`:"",F=_.text?` near '${_.text}'`:"",$=`line ${u}, column ${U}`,W=`Parse error at ${$}${A}${F}: ${f}`,w=Error(W),w.hash=_,w},parse(f){let _,U,w,u,$,W,F,A,G,Y,R,Z,M,J,H,O,z,q,Q,D,I,P,K,X,E,N;[D,N,Y]=[[0],[null],[]],[M,E,K,P,O]=[this.parseTable,"",0,0,0],[U,_]=[2,1],A=Object.create(this.lexer),q={ctx:{}};for(let L in this.ctx){if(!Object.hasOwn(this.ctx,L))continue;let B=this.ctx[L];q.ctx[L]=B}if(A.setInput(f,q.ctx),[q.ctx.lexer,q.ctx.parser]=[A,this],A.loc==null)A.loc={};X=A.loc,Y.push(X),this.parseError=typeof q.ctx.parseError==="function"?q.ctx.parseError:Object.getPrototypeOf(this).parseError,F=()=>{let L;if(L=A.lex()||_,typeof L!=="number")L=this.symbolIds[L]||L;return L},I=J=Q=w=H=Z=W=R=$=null,z={};while(!0){if(Q=D[D.length-1],I==null)I=F();if(w=M[Q]?.[I],w==null){if(u="",!O)$=(()=>{let L=[];for(let B in M[Q]){if(!Object.hasOwn(M[Q],B))continue;if(this.tokenNames[B]&&B>U)L.push(`'${this.tokenNames[B]}'`)}return L})();throw u=(()=>{if(A.showPosition)return`Parse error on line ${K+1}:
7
+ `)this.row++,this.col=0;else this.col++;this.pos+=f}emit(f,_,{len:U,data:w,pre:u}={}){let $=g1(f,_,{pre:u??0,row:this.row,col:this.col,len:U??(typeof _==="string"?_.length:0),data:w});return this.tokens.push($),$}prev(){return this.tokens[this.tokens.length-1]}prevTag(){let f=this.prev();return f?f[0]:void 0}prevVal(){let f=this.prev();return f?f[1]:void 0}identifierToken(){if(j3.test(this.chunk))return 0;let f=L3.exec(this.chunk);if(!f)return 0;let[,_,U]=f,w=_.length,u={},$;if(_==="own"&&this.prevTag()==="FOR")return this.emit("OWN",_,{len:w}),w;if(_==="from"&&this.prevTag()==="YIELD")return this.emit("FROM",_,{len:w}),w;if(_==="as"&&!this.seenFor&&(this.seenImport||this.seenExport)){if(this.seenImport){if(this.prevVal()==="*")this.prev()[0]="IMPORT_ALL"}let G=this.prevTag();if(G==="DEFAULT"||G==="IMPORT_ALL"||G==="IDENTIFIER")return this.emit("AS",_,{len:w}),w}if((_==="as"||_==="as!")&&this.seenFor)return this.seenFor=!1,this.emit(_==="as!"?"FORASAWAIT":"FORAS","as",{len:w}),w;if(_==="default"&&this.seenExport&&(this.prevTag()==="EXPORT"||this.prevTag()==="AS"))return this.emit("DEFAULT",_,{len:w}),w;let W;if(_==="do"&&(W=/^(\s*super)(?!\(\))/.exec(this.chunk.slice(3))))return this.emit("SUPER","super"),this.emit("CALL_START","("),this.emit("CALL_END",")"),W[1].length+3;let F=this.prev();if(U&&F&&F[0]==="TERNARY")U=null;if(U||F&&(F[0]==="."||F[0]==="?."||!F.spaced&&F[0]==="@")){if($="PROPERTY",this.inRenderBlock&&F&&F[0]==="."&&!U){let G=this.chunk.slice(w);while(G[0]==="-"&&/^-[a-zA-Z]/.test(G)){let Z=/^-([a-zA-Z][\w]*)/.exec(G);if(!Z)break;_+="-"+Z[1],w+=1+Z[1].length,G=this.chunk.slice(w)}}}else $="IDENTIFIER";let A=_.endsWith("!")||_.endsWith("?")?_.slice(0,-1):_;if($==="IDENTIFIER"&&!_.endsWith("!")&&!_.endsWith("?")&&(J2.has(_)||M2.has(_)||D2.has(_))&&!(this.exportSpecifierList&&D2.has(_))){if(s1[_]!==void 0)u.original=_,_=s1[_];$=this.classifyKeyword(_,$,u)}if($==="IDENTIFIER"&&z3.has(A))if(A==="void"&&(this.inTypeAnnotation||this.prevTag()==="=>"));else G1(`reserved word '${A}'`,{row:this.row,col:this.col,len:w});if($==="PROPERTY"&&F){if(F[0]==="."&&this.tokens.length>1){let G=this.tokens[this.tokens.length-2];if(G[0]==="UNARY"&&G[1]==="new")G[0]="NEW_TARGET";if(G[0]==="IMPORT"&&G[1]==="import")this.seenImport=!1,G[0]="IMPORT_META"}}if(_.length>1&&_.endsWith("!"))u.await=!0,_=_.slice(0,-1);if(_.length>1&&_.endsWith("?"))u.predicate=!0,_=_.slice(0,-1);let Y=this.emit($,_,{len:w,data:Object.keys(u).length?u:null});if($==="RENDER")this.inRenderBlock=!0,this.renderIndent=this.indent;if(U)return this.emit(":",":",{len:1}),w+U.length;return w}classifyKeyword(f,_,U){switch(f){case"!":return"UNARY";case"==":case"!=":return"COMPARE";case"true":case"false":return"BOOL";case"&&":case"||":return f}if(Q3.has(f))return"STATEMENT";let w=f.toUpperCase();if(w==="WHEN"&&E1.has(this.prevTag()))return"LEADING_WHEN";if(w==="FOR")return this.seenFor={endsLength:this.ends.length},"FOR";if(w==="UNLESS")return"UNLESS";if(w==="IMPORT")return this.seenImport=!0,"IMPORT";if(w==="EXPORT")return this.seenExport=!0,"EXPORT";if(K3.has(w))return"UNARY";if(X3.has(w)){if(w!=="INSTANCEOF"&&this.seenFor)return this.seenFor=!1,"FOR"+w;if(this.prevVal()==="!"){let u=this.tokens.pop();U.invert=u.data?.original||u[1]}return"RELATION"}if(J2.has(f)||M2.has(f))return w;return _}commentToken(){if(this.inRenderBlock){if(/^#[a-zA-Z_]/.test(this.chunk)){let _=this.prev();if(_&&(_[0]==="IDENTIFIER"||_[0]==="PROPERTY"))return 0;let U=/^#([a-zA-Z_][\w-]*)/.exec(this.chunk);if(U)return this.emit("IDENTIFIER","div#"+U[1]),U[0].length}if(/^\s+#[a-zA-Z_]/.test(this.chunk))return 0}let f=h3.exec(this.chunk);if(!f)return 0;return f[0].length}whitespaceToken(){let f=V3.exec(this.chunk);if(!f&&this.chunk[0]!==`
8
+ `)return 0;let _=this.prev();if(_)if(f)_.spaced=!0,_.pre=f[0].length;else _.newLine=!0;return f?f[0].length:0}lineToken(){let f=C3.exec(this.chunk);if(!f)return 0;let _=f[0],U=_.length-1-_.lastIndexOf(`
9
+ `);if(this.isUnfinished()){if(U<this.indent&&/^\s*,/.test(this.chunk)&&!q2.has(this.prevTag())){if(this.outdentTo(U,_.length),this.prevTag()==="TERMINATOR")this.tokens.pop();return _.length}return _.length}if(this.seenFor&&!(this.seenFor.endsLength<this.ends.length))this.seenFor=!1;if(!this.importSpecifierList)this.seenImport=!1;if(!this.exportSpecifierList)this.seenExport=!1;if(this.inTypeAnnotation=!1,U===this.indent)return this.emitNewline(),_.length;if(U>this.indent){if(!this.tokens.length)return this.indent=U,_.length;let w=U-this.indent;return this.emit("INDENT",w,{len:U}),this.indents.push(w),this.ends.push({tag:"OUTDENT"}),this.indent=U,_.length}return this.outdentTo(U,_.length),_.length}outdentTo(f,_=0){if(this.inRenderBlock&&f<=this.renderIndent)this.inRenderBlock=!1;let U=this.indent-f;while(U>0){let w=this.indents[this.indents.length-1];if(!w)U=0;else this.indents.pop(),this.pair("OUTDENT"),this.emit("OUTDENT",U,{len:_}),U-=w}this.emitNewline(),this.indent=f}closeIndentation(){this.outdentTo(0)}emitNewline(){if(this.prevTag()!=="TERMINATOR")this.emit("TERMINATOR",`
10
+ `,{len:0})}isUnfinished(){if(this.inRenderBlock&&E2.test(this.chunk)&&/^\s*\./.test(this.chunk))return!1;if(this.inRenderBlock&&this.prevTag()==="."){let U=this.tokens.length;if(U>=2){let w=this.tokens[U-2][0];if(w==="INDENT"||w==="TERMINATOR"||w==="OUTDENT")return!1}}let f=this.tokens[this.tokens.length-1];if(f?.[0]==="COMPARE"&&f[1]===">"||f?.[0]==="SHIFT"&&(f[1]===">>"||f[1]===">>>")){let U=0;for(let w=this.tokens.length-1;w>=0;w--){let u=this.tokens[w];if(u[0]==="COMPARE"&&u[1]===">")U++;else if(u[0]==="SHIFT"&&u[1]===">>")U+=2;else if(u[0]==="SHIFT"&&u[1]===">>>")U+=3;else if(u[0]==="COMPARE"&&u[1]==="<")U--;if(U===0&&u[0]==="TYPE_ANNOTATION")return!1;if(U===0&&u[0]==="IDENTIFIER"&&u[1]==="type")return!1;if(u[0]==="TERMINATOR"||u[0]==="INDENT"||u[0]==="OUTDENT")break}}return E2.test(this.chunk)||q2.has(this.prevTag())}pair(f){let _=this.ends[this.ends.length-1];if(!_||f!==_.tag){if(_?.tag==="OUTDENT"){let U=this.indents[this.indents.length-1];if(U)this.outdentTo(this.indent-U);return this.pair(f)}G1(`unmatched ${f}`,{row:this.row,col:this.col})}return this.ends.pop()}stringToken(){let f=y3.exec(this.chunk);if(!f)return 0;let _=f[0],U=_.length>1&&_.endsWith("\\"),w=U?_.slice(0,-1):_,u=this.prev();if(u&&this.prevVal()==="from"&&(this.seenImport||this.seenExport))u[0]="FROM";let $;switch(w){case"'":$=c3;break;case'"':$=g3;break;case"'''":$=v3;break;case'"""':$=l3;break}let{tokens:W,index:F}=this.matchWithInterpolations($,_,w),A=w.length===3,Y=null;if(A)Y=this.processHeredocIndent(F,w,W);return this.mergeInterpolationTokens(W,{quote:w,indent:Y,endOffset:F,raw:U}),F}processHeredocIndent(f,_,U){let w=f-_.length,u=w-1;while(u>=0&&this.chunk[u]!==`
11
+ `)u--;u++;let $=this.chunk.slice(u,w),W=/^\s*$/.test($)?$.length:null,F="";for(let G of U)if(G[0]==="NEOSTRING")F+=G[1];let A=null,Y;B2.lastIndex=0;while(Y=B2.exec(F))if(A===null||Y[1].length>0&&Y[1].length<A.length)A=Y[1];if(W===null)return A;if(A===null)return" ".repeat(W);if(W<=A.length)return" ".repeat(W);return A}matchWithInterpolations(f,_,U,w){if(!U)U=_;if(!w)w=/^[#$]\{/;let u=[],$=_.length;if(this.chunk.slice(0,$)!==_)return null;let W=this.chunk.slice($);while(!0){let[F]=f.exec(W);u.push(["NEOSTRING",F,{offset:$}]),W=W.slice(F.length),$+=F.length;let A=w.exec(W);if(!A)break;let G=A[0].length-1,Z=W.slice(G),Q=new J1().tokenize(Z,{row:this.row,col:this.col+$+G,untilBalanced:!0,rewrite:!1}),J=Q.index+G;if(W[J-1]==="}"){let K=Q.tokens[0],R=Q.tokens[Q.tokens.length-1];K[0]="INTERPOLATION_START",K[1]="(",R[0]="INTERPOLATION_END",R[1]=")"}if(Q.tokens[1]?.[0]==="TERMINATOR")Q.tokens.splice(1,1);let M=Q.tokens.length;if(M>2&&Q.tokens[M-3]?.[0]==="INDENT"&&Q.tokens[M-2]?.[0]==="OUTDENT")Q.tokens.splice(M-3,2);u.push(["TOKENS",Q.tokens]),W=W.slice(J),$+=J}if(W.slice(0,U.length)!==U)G1(`missing ${U}`,{row:this.row,col:this.col});return{tokens:u,index:$+U.length}}mergeInterpolationTokens(f,{quote:_,indent:U,endOffset:w,raw:u}){if(f.length>1)this.emit("STRING_START","(",{len:_?.length||0,data:{quote:_}});for(let $=0;$<f.length;$++){let[W,F]=f[$];if(W==="TOKENS")for(let A of F)this.tokens.push(A);else if(W==="NEOSTRING"){let A=F;if(U){let Y=new RegExp("\\n"+U,"g");A=A.replace(Y,`
12
+ `)}if($===0&&_?.length===3)A=A.replace(/^\n/,"");if($===f.length-1&&_?.length===3)A=A.replace(/\n[^\S\n]*$/,"");if(u)A=A.replace(/\\([nrtbfv0\\'"`xu])/g,"\\\\$1");this.emit("STRING",`"${A}"`,{len:F.length,data:{quote:_}})}}if(f.length>1)this.emit("STRING_END",")",{len:_?.length||0});return w}numberToken(){let f=N3.exec(this.chunk);if(!f)return 0;let _=f[0],U=_.length,w={row:this.row,col:this.col};if(/^0[BOX]/.test(_))G1(`radix prefix in '${_}' must be lowercase`,{...w,col:w.col+1});if(/^0\d*[89]/.test(_))G1(`decimal literal '${_}' must not be prefixed with '0'`,{...w,len:U});if(/^0\d+/.test(_))G1(`octal literal '${_}' must be prefixed with '0o'`,{...w,len:U});let u=o3(_),$=u===1/0?"INFINITY":"NUMBER",W={parsedValue:u};if($==="INFINITY")W.original=_;return this.emit($,_,{len:U,data:W}),U}regexToken(){let f=this.matchWithInterpolations(k3,"///");if(f){let{tokens:Y,index:G}=f,[Z]=I2.exec(this.chunk.slice(G)),Q=G+Z.length;if(Y.length===1||!Y.some((J)=>J[0]==="TOKENS")){let J=(Y[0]?.[1]||"").replace(/(?<!\\)\//g,"\\/");this.emit("REGEX",`/${J}/${Z}`,{len:Q,data:{delimiter:"///",heregex:{flags:Z}}})}else{if(this.emit("REGEX_START","(",{len:0}),this.emit("IDENTIFIER","RegExp",{len:0}),this.emit("CALL_START","(",{len:0}),this.mergeInterpolationTokens(Y,{quote:"///",endOffset:Q-Z.length}),Z)this.emit(",",",",{len:0}),this.emit("STRING",`"${Z}"`,{len:Z.length});this.emit(")",")",{len:0}),this.emit("REGEX_END",")",{len:0})}return Q}let _=x3.exec(this.chunk);if(!_)return 0;let[U,w,u]=_,$=this.prev();if($){if($.spaced&&c1.has($[0])&&(!u||/^\/=?\s/.test(U)))return 0;if(P3.has($[0])&&!($.spaced&&c1.has($[0])))return 0}if(!u)G1("missing / (unclosed regex)",{row:this.row,col:this.col});let W=U.length,[F]=I2.exec(this.chunk.slice(W)),A=W+F.length;if(!m3.test(F))G1(`invalid regular expression flags ${F}`,{row:this.row,col:this.col+W,len:F.length});return this.emit("REGEX",`/${w}/${F}`,{len:A,data:{delimiter:"/"}}),A}jsToken(){if(this.chunk[0]!=="`")return 0;let f=n3.exec(this.chunk)||i3.exec(this.chunk);if(!f)return 0;let _=f[1],U=f[0].length;return this.emit("JS",_,{len:U,data:{here:f[0].startsWith("```")}}),U}wordLiteral(){if(this.chunk[0]!=="%"||this.chunk[1]!=="w")return 0;let f=this.chunk[2];if(!f||/\s/.test(f))return 0;let U={"[":"]","(":")","{":"}","<":">"}[f]||f,w=U!==f,u=1,$=3;while($<this.chunk.length&&u>0){let Y=this.chunk[$];if(Y==="\\"){$+=2;continue}if(w&&Y===f)u++;if(Y===U)u--;if(u>0)$++}if(u!==0)return 0;let W=this.chunk.slice(3,$),F=$+1,A=[];if(W.trim()){let Y=W.trim().split(/(?<!\\)\s+/);for(let G of Y)A.push(G.replace(/\\ /g," "))}this.emit("[","[",{len:F});for(let Y=0;Y<A.length;Y++){if(Y>0)this.emit(",",",");this.emit("STRING",`"${A[Y]}"`)}return this.emit("]","]"),F}literalToken(){let f=this.wordLiteral();if(f)return f;let _=T3.exec(this.chunk),U=_?_[0]:this.chunk.charAt(0),w=U,u=this.prev();if(b3.test(U))this.tagParameters();if(U==="="&&u&&u[1]==="."&&!u.spaced){let $=this.tokens,W=$.length-2;while(W>=1&&$[W][0]==="PROPERTY"&&$[W-1]?.[1]===".")W-=2;if(W>=0&&($[W][0]==="IDENTIFIER"||$[W][0]===")"||$[W][0]==="]")){let F=$.slice(W,$.length-1);u[0]="=",u[1]="=";for(let A of F)this.tokens.push(g1(A[0],A[1],{pre:0,row:A[2],col:A[3],len:A[4]}));return this.tokens.push(g1(".",".",{pre:0,row:this.row,col:this.col,len:1})),U.length}}if(u&&(U==="="||P2.has(U))){if(U==="="&&(u[1]==="||"||u[1]==="&&"||u[1]==="??")&&!u.spaced)return u[0]="COMPOUND_ASSIGN",u[1]+="=",U.length}if(U==="("&&u?.[0]==="IMPORT")u[0]="DYNAMIC_IMPORT";if(U==="{"&&this.seenImport)this.importSpecifierList=!0;if(U==="}"&&this.importSpecifierList)this.importSpecifierList=!1;if(U==="{"&&u?.[0]==="EXPORT")this.exportSpecifierList=!0;if(U==="}"&&this.exportSpecifierList)this.exportSpecifierList=!1;if(U===";")this.seenFor=this.seenImport=this.seenExport=!1,this.inTypeAnnotation=!1,w="TERMINATOR";else if(U==="|>")w="PIPE";else if(U==="::"&&/^[a-zA-Z_$]/.test(this.chunk[2]||""))return this.emit(".","."),this.emit("PROPERTY","prototype"),this.emit(".","."),2;else if(U==="::")w="TYPE_ANNOTATION",this.inTypeAnnotation=!0;else if(U==="~=")w="COMPUTED_ASSIGN";else if(U===":=")w="REACTIVE_ASSIGN";else if(U==="<=>")w="BIND";else if(U==="~>")w="EFFECT",this.inTypeAnnotation=!1;else if(U==="=!")w="READONLY_ASSIGN",this.inTypeAnnotation=!1;else if(U==="*>"&&(!u||u[0]==="TERMINATOR"||u[0]==="INDENT"||u[0]==="OUTDENT")&&(/^[a-zA-Z_$]/.test(this.chunk[2]||"")||this.chunk[2]==="@")){let $=this.chunk.slice(2),W=/^@(\s*)=(?!=)/.exec($);if(W){let A=W[1];this.emit("IDENTIFIER","Object"),this.emit(".",".");let Y=this.emit("PROPERTY","assign");return Y.spaced=!0,this.emit("@","@"),this.emit(",",","),3+A.length+1}let F=/^(@?(?:(?!\s)[$\w\x7f-\uffff])+(?:\.[a-zA-Z_$][\w]*)*)(\s*)=(?!=)/.exec($);if(F){let A=F[1],Y=F[2],G=A[0]==="@",Z=G?A.slice(1):A,Q=Z?Z.split("."):[],J=()=>{if(G){if(this.emit("@","@"),Q.length>0)this.emit("PROPERTY",Q[0])}else this.emit("IDENTIFIER",Q[0]);for(let K=1;K<Q.length;K++)this.emit(".","."),this.emit("PROPERTY",Q[K])};J(),this.emit("=","="),this.emit("IDENTIFIER","Object"),this.emit(".","."),this.emit("PROPERTY","assign"),this.emit("CALL_START","("),J(),this.emit("COMPOUND_ASSIGN","??="),this.emit("{","{"),this.emit("}","}"),this.emit(",",",");let M=this.prev();return M.mergeClose=!0,2+A.length+Y.length+1}}else if(U==="*"&&u?.[0]==="EXPORT")w="EXPORT_ALL";else if(B3.has(U))w="MATH";else if(I3.has(U))w="COMPARE";else if(P2.has(U))w="COMPOUND_ASSIGN";else if(S3.has(U))w="UNARY_MATH";else if(E3.has(U))w="SHIFT";else if(U==="?"&&u?.spaced)w="TERNARY";else if(U==="?!"&&u&&!u.spaced)w="PRESENCE";else if(U==="?"&&(this.chunk[1]==="["||this.chunk[1]==="("))w="?.";else if(u){if(U==="("&&!u.spaced&&c1.has(u[0])){if(u[0]==="?.")u[0]="ES6_OPTIONAL_CALL";w="CALL_START"}if(U==="["&&!u.spaced&&e1.has(u[0])){if(w="INDEX_START",u[0]==="?.")u[0]="ES6_OPTIONAL_INDEX"}}if(this.inTypeAnnotation&&(U==="="||w==="COMPOUND_ASSIGN"))this.inTypeAnnotation=!1;if(U==="("||U==="{"||U==="[")this.ends.push({tag:H3[U],origin:[w,U]});else if(U===")"||U==="}"||U==="]")this.pair(U);return this.emit(w,U,{len:U.length}),U.length}tagParameters(){if(this.prevTag()!==")")return this.tagDoIife();let f=this.tokens.length-1,_=[];this.tokens[f][0]="PARAM_END";while(f-- >0){let U=this.tokens[f];if(U[0]===")")_.push(U);else if(U[0]==="("||U[0]==="CALL_START")if(_.length)_.pop();else if(U[0]==="(")return U[0]="PARAM_START",this.tagDoIife(f-1);else{this.tokens[this.tokens.length-1][0]="CALL_END";return}}}tagDoIife(f){let _=this.tokens[f??this.tokens.length-1];if(_?.[0]==="DO")_[0]="DO_IIFE"}rewrite(f){return this.tokens=f,this.removeLeadingNewlines(),this.rewriteMapLiterals(),this.closeMergeAssignments(),this.closeOpenCalls(),this.closeOpenIndexes(),this.normalizeLines(),this.rewriteRender?.(),this.rewriteTypes(),this.tagPostfixConditionals(),this.rewriteTaggedTemplates(),this.addImplicitBracesAndParens(),this.addImplicitCallCommas(),this.tokens}removeLeadingNewlines(){let f=0;while(this.tokens[f]?.[0]==="TERMINATOR")f++;if(f>0)this.tokens.splice(0,f)}rewriteMapLiterals(){let f=this.tokens;for(let _=0;_<f.length;_++){if(f[_][0]!=="MATH"||f[_][1]!=="*")continue;let U=f[_+1];if(!U||U[0]!=="{")continue;if(f[_].spaced||f[_].newLine)continue;let w=f[_-1];if(w&&e1.has(w[0]))continue;f.splice(_,1),f[_][0]="MAP_START";let u=1;for(let $=_+1;$<f.length&&u>0;$++){let W=f[$][0];if(W==="{"||W==="MAP_START")u++;if(W==="}"){if(u--,u===0)f[$][0]="MAP_END"}}}}closeOpenCalls(){this.scanTokens((f,_)=>{if(f[0]==="CALL_START")this.detectEnd(_+1,(U)=>U[0]===")"||U[0]==="CALL_END",(U)=>U[0]="CALL_END");return 1})}closeOpenIndexes(){this.scanTokens((f,_)=>{if(f[0]==="INDEX_START")this.detectEnd(_+1,(U)=>U[0]==="]"||U[0]==="INDEX_END",(U,w)=>{if(this.tokens[w+1]?.[0]===":")f[0]="[",U[0]="]";else U[0]="INDEX_END"});return 1})}normalizeLines(){let f=null,_=null,U=null,w=($,W)=>{return $[1]!==";"&&q3.has($[0])&&!($[0]==="TERMINATOR"&&H2.has(this.tokens[W+1]?.[0]))&&!($[0]==="ELSE"&&f!=="THEN")||$[0]==="INDENT"&&!$.generated&&(f==="->"||f==="=>")||$[0]===","&&(f==="->"||f==="=>")&&!this.commaInImplicitCall(W)&&!this.commaInImplicitObject(W)||O2.has($[0])&&(this.tokens[W-1]?.newLine||this.tokens[W-1]?.[0]==="OUTDENT")},u=($,W)=>{let F=this.tokens[W-1]?.[0]===","?W-1:W;this.tokens.splice(F,0,U)};this.scanTokens(($,W,F)=>{let[A]=$;if(A==="TERMINATOR"){if(this.tokens[W+1]?.[0]==="ELSE"&&this.tokens[W-1]?.[0]!=="OUTDENT")return F.splice(W,1,...this.makeIndentation()),1;if(H2.has(this.tokens[W+1]?.[0]))return F.splice(W,1),0}if(A==="CATCH")for(let Y=1;Y<=2;Y++){let G=this.tokens[W+Y]?.[0];if(G==="OUTDENT"||G==="TERMINATOR"||G==="FINALLY")return F.splice(W+Y,0,...this.makeIndentation()),2+Y}if((A==="->"||A==="=>")&&(this.tokens[W+1]?.[0]===","||this.tokens[W+1]?.[0]==="]"))return[_,U]=this.makeIndentation(),F.splice(W+1,0,_,U),1;if(R2.has(A)&&this.tokens[W+1]?.[0]!=="INDENT"&&!(A==="ELSE"&&this.tokens[W+1]?.[0]==="IF")&&!(A==="ELSE"&&this.tokens[W-1]?.[0]!=="OUTDENT")){if(f=A,[_,U]=this.makeIndentation(),A==="THEN")_.fromThen=!0;if(F.splice(W+1,0,_),A==="THEN"&&this.singleLineOwner(W)==="LEADING_WHEN")this.detectWhenThenEnd(W+2,w,u);else this.detectEnd(W+2,w,u);if(A==="THEN")F.splice(W,1);return 1}return 1})}singleLineOwner(f){let _=new Set(["LEADING_WHEN","IF","POST_IF","UNLESS","POST_UNLESS","ELSE","CATCH","TRY","FINALLY","->","=>"]);for(let U=f-1;U>=0;U--){let w=this.tokens[U],u=w?.[0];if(_.has(u))return u;if(E1.has(u)||w?.newLine)return null}return null}detectWhenThenEnd(f,_,U){let w=0,u=0;while(f<this.tokens.length){let $=this.tokens[f],W=$[0];if(w===0){if(W==="THEN"&&this.singleLineOwner(f)!=="LEADING_WHEN")u++;else if(W==="ELSE"&&u>0)u--;else if(_.call(this,$,f))return U.call(this,$,f)}if(X1.has(W))w++;if(z1.has(W))w--;if(w<0)return U.call(this,$,f);f++}}tagPostfixConditionals(){let f=null,_=(w,u)=>{return w[0]==="TERMINATOR"||w[0]==="INDENT"&&!R2.has(this.tokens[u-1]?.[0])},U=(w)=>{if(w[0]!=="INDENT"||w.generated&&!w.fromThen)f[0]="POST_"+f[0]};this.scanTokens((w,u)=>{if(w[0]!=="IF"&&w[0]!=="UNLESS")return 1;if(this.tokens[u-1]?.[0]==="INTERPOLATION_START")return 1;return f=w,this.detectEnd(u+1,_,U),1})}rewriteTaggedTemplates(){let f=this.tokens;for(let _=f.length-2;_>=0;_--)if(f[_][0]==="IDENTIFIER"&&f[_][1]==="$"&&(f[_+1]?.[0]==="STRING"||f[_+1]?.[0]==="STRING_START")){let U=f[_-1];if(U&&R3.has(U[0])){if(f.splice(_,1),U.spaced=!1,f[_].spaced=!1,f[_].pre=0,f[_].newLine)f[_].newLine=!1}}}addImplicitBracesAndParens(){let f=[],_=!1;this.scanTokens((U,w,u)=>{let[$]=U,W=u[w-1]||[],F=u[w+1]||[],[A]=W,[Y]=F,G=w,Z=(H)=>w-G+H,Q=()=>f[f.length-1],J=(H)=>H?.[2]?.ours,M=()=>J(Q())&&Q()?.[0]==="(",K=()=>J(Q())&&Q()?.[0]==="{",R=(H)=>{f.push(["(",H,{ours:!0}]),u.splice(H,0,Y1("CALL_START","("))},z=()=>{f.pop(),u.splice(w,0,Y1("CALL_END",")")),w+=1},q=(H,X={})=>{f.push(["{",H,{sameLine:!0,startsLine:X.startsLine??!0,ours:!0}]);let P=Y1("{","{");if(!P.data)P.data={};P.data.generated=!0,u.splice(H,0,P)},O=(H)=>{H=H??w,f.pop(),u.splice(H,0,Y1("}","}")),w+=1};if((M()||K())&&O3.has($))return f.push(["CONTROL",w,{ours:!0}]),Z(1);if($==="INDENT"&&J(Q())){if(A!=="=>"&&A!=="->"&&A!=="["&&A!=="("&&A!==","&&A!=="{"&&A!=="ELSE"&&A!=="=")while(M()||K()&&A!==":")if(M())z();else O();if(Q()?.[2]?.ours&&Q()[0]==="CONTROL")f.pop();return f.push([$,w]),Z(1)}if(X1.has($))return f.push([$,w]),Z(1);if(z1.has($)){while(J(Q()))if(M())z();else if(K())O();else f.pop();f.pop()}if(t1.has($)&&U.spaced&&(y1.has(Y)||Y==="..."&&y1.has(u[w+2]?.[0])||J3.has(Y)&&!F.spaced&&!F.newLine)&&!(($==="]"||$==="}")&&(Y==="->"||Y==="=>")))return R(w+1),Z(2);if(t1.has($)&&this.tokens[w+1]?.[0]==="INDENT"&&this.looksObjectish(w+2)&&!this.findTagsBackwards(w,["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL"]))return R(w+1),f.push(["INDENT",w+2]),Z(3);if($==="TERNARY")_=!0;if($===":"){if(_)return _=!1,Z(1);if(u[w-1]?.[0]==="PROPERTY"&&u[w-2]?.[0]==="."){let P=w-2;while(P>=2&&u[P]?.[0]==="."&&(u[P-1]?.[0]==="PROPERTY"||u[P-1]?.[0]==="IDENTIFIER"))P-=2;if(P+=1,u[P]?.[0]==="IDENTIFIER"||u[P]?.[0]==="PROPERTY"){let S=[];for(let L=P;L<w;L+=2)S.push(u[L][1]);let E=Y1("STRING",`"${S.join(".")}"`,u[P]);E.pre=u[P].pre,E.spaced=u[P].spaced,E.newLine=u[P].newLine,E.loc=u[P].loc,u.splice(P,w-P,E),w=P+1}}let H=z1.has(this.tokens[w-1]?.[0])?f[f.length-1]?.[1]??w-1:w-1;if(this.tokens[w-2]?.[0]==="@")H=w-2;let X=H<=0||E1.has(this.tokens[H-1]?.[0])||this.tokens[H-1]?.newLine;if(Q()){let[P,S]=Q(),E=f[f.length-2],L=(T)=>T==="{"||T==="MAP_START";if((L(P)||P==="INDENT"&&L(E?.[0])&&!J(E))&&(X||this.tokens[H-1]?.[0]===","||L(this.tokens[H-1]?.[0])||L(this.tokens[H]?.[0])))return Z(1)}return q(H,{startsLine:!!X}),Z(2)}if(E1.has($))for(let H=f.length-1;H>=0;H--){if(!J(f[H]))break;if(f[H][0]==="{")f[H][2].sameLine=!1}let D=A==="OUTDENT"||W.newLine,I=$==="||"||$==="&&",B=!1;if(I){let H=w+1,X=u[H]?.[0];if(X==="("||X==="["||X==="{"){for(let P=1;++H<u.length&&P>0;)if(X=u[H][0],X==="("||X==="["||X==="{")P++;else if(X===")"||X==="]"||X==="}")P--}else if(X&&X!=="TERMINATOR"&&X!=="OUTDENT"&&X!==",")H++;B=u[H]?.[0]===","}if(M3.has($)&&!B||O2.has($)&&D)while(J(Q())){let[H,,{sameLine:X,startsLine:P}]=Q();if(M()&&A!==",")z();else if(K()&&!I&&X&&$!=="TERMINATOR"&&A!==":")O();else if(K()&&$==="TERMINATOR"&&A!==","&&!(P&&this.looksObjectish(w+1)))O();else if(Q()?.[2]?.ours&&Q()[0]==="CONTROL"&&u[Q()[1]]?.[0]==="CLASS"&&$==="TERMINATOR")f.pop();else break}if($===","&&!this.looksObjectish(w+1)&&K()&&(Y!=="TERMINATOR"||!this.looksObjectish(w+2))){let H=Y==="OUTDENT"?1:0;while(K())O(w+H)}return Z(1)})}addImplicitCallCommas(){let f=0,_=0,U=this.tokens;while(_<U.length){let w=U[_][0],u=_>0?U[_-1][0]:null;if(w==="CALL_START"||w==="(")f++;if(w==="CALL_END"||w===")")f--;if(f>0&&(w==="->"||w==="=>")&&D3.has(u))U.splice(_,0,Y1(",",",")),_++;_++}}scanTokens(f){let _=0;while(_<this.tokens.length)_+=f.call(this,this.tokens[_],_,this.tokens)}detectEnd(f,_,U,w={}){let u=0;while(f<this.tokens.length){let $=this.tokens[f];if(u===0&&_.call(this,$,f))return U.call(this,$,f);if(X1.has($[0]))u++;if(z1.has($[0]))u--;if(u<0){if(w.returnOnNegativeLevel)return;return U.call(this,$,f)}f++}}closeMergeAssignments(){let f=this.tokens;for(let _=0;_<f.length;_++){if(!f[_].mergeClose)continue;let U=0;for(let w=_+1;w<f.length;w++){let u=f[w][0];if(u==="("||u==="["||u==="{"||u==="CALL_START"||u==="INDEX_START"||u==="INDENT")U++;if(u===")"||u==="]"||u==="}"||u==="CALL_END"||u==="INDEX_END"||u==="OUTDENT")U--;if(U<0||U===0&&u==="TERMINATOR"){f.splice(w,0,Y1("CALL_END",")",f[w-1]));break}if(w===f.length-1){f.splice(w+1,0,Y1("CALL_END",")",f[w]));break}}}}commaInImplicitCall(f){let _=0;for(let U=f-1;U>=0;U--){let w=this.tokens[U][0];if(z1.has(w)){_++;continue}if(X1.has(w)){if(w==="INDENT")return!1;if(_--,_<0)return!1;continue}if(_>0)continue;if(t1.has(w)&&this.tokens[U].spaced){let u=this.tokens[U+1]?.[0];return y1.has(u)||u==="..."&&y1.has(this.tokens[U+2]?.[0])}}return!1}commaInImplicitObject(f){let _=0;for(let U=f-1;U>=0;U--){let w=this.tokens[U][0];if(z1.has(w)){_++;continue}if(X1.has(w)){if(_--,_<0)return!1;continue}if(_>0)continue;if(w===":"&&U>0&&this.tokens[U-1][0]==="PROPERTY")return this.looksObjectish(f+1);if(E1.has(w))return!1}return!1}looksObjectish(f){if(!this.tokens[f])return!1;if(this.tokens[f]?.[0]==="@"&&this.tokens[f+2]?.[0]===":")return!0;if(this.tokens[f+1]?.[0]===":")return!0;if((this.tokens[f]?.[0]==="IDENTIFIER"||this.tokens[f]?.[0]==="PROPERTY")&&this.tokens[f+1]?.[0]==="."){let _=f+2;while(this.tokens[_]?.[0]==="PROPERTY"&&this.tokens[_+1]?.[0]===".")_+=2;if(this.tokens[_]?.[0]==="PROPERTY"&&this.tokens[_+1]?.[0]===":")return!0}if(X1.has(this.tokens[f]?.[0])){let _=null;if(this.detectEnd(f+1,(U)=>z1.has(U[0]),(U,w)=>_=w),_&&this.tokens[_+1]?.[0]===":")return!0}return!1}findTagsBackwards(f,_){let U=new Set(_),w=[];while(f>=0){let u=this.tokens[f]?.[0];if(!w.length&&U.has(u))return!0;if(z1.has(u))w.push(u);if(X1.has(u)&&w.length)w.pop();if(!w.length&&(X1.has(u)&&!this.tokens[f]?.generated||E1.has(u)))break;f--}return!1}makeIndentation(f){let _=Y1("INDENT",2),U=Y1("OUTDENT",2);if(f)_.generated=U.generated=!0,_.origin=U.origin=f;else _.explicit=U.explicit=!0;return[_,U]}}K2(J1);var a3={symbolIds:{$accept:0,$end:1,error:2,Root:3,Body:4,Line:5,TERMINATOR:6,Expression:7,ExpressionLine:8,Statement:9,Return:10,STATEMENT:11,Import:12,Export:13,Value:14,Code:15,Operation:16,Assign:17,ReactiveAssign:18,ComputedAssign:19,ReadonlyAssign:20,Effect:21,If:22,Try:23,While:24,For:25,Switch:26,Class:27,Component:28,Render:29,Throw:30,Yield:31,Def:32,Enum:33,CodeLine:34,OperationLine:35,Assignable:36,Literal:37,Parenthetical:38,Range:39,Invocation:40,DoIife:41,This:42,Super:43,MetaProperty:44,MapLiteral:45,AlphaNumeric:46,JS:47,Regex:48,UNDEFINED:49,NULL:50,BOOL:51,INFINITY:52,NAN:53,NUMBER:54,String:55,Identifier:56,IDENTIFIER:57,Property:58,PROPERTY:59,STRING:60,STRING_START:61,Interpolations:62,STRING_END:63,InterpolationChunk:64,INTERPOLATION_START:65,INTERPOLATION_END:66,INDENT:67,OUTDENT:68,REGEX:69,REGEX_START:70,REGEX_END:71,RegexWithIndex:72,",":73,"=":74,REACTIVE_ASSIGN:75,COMPUTED_ASSIGN:76,Block:77,READONLY_ASSIGN:78,EFFECT:79,SimpleAssignable:80,Array:81,Object:82,ThisProperty:83,".":84,"?.":85,INDEX_START:86,INDEX_END:87,Slice:88,ES6_OPTIONAL_INDEX:89,"{":90,ObjAssignable:91,":":92,FOR:93,ForVariables:94,FOROF:95,OptComma:96,"}":97,WHEN:98,OWN:99,AssignList:100,AssignObj:101,ObjRestValue:102,SimpleObjAssignable:103,"[":104,"]":105,"@":106,"...":107,ObjSpreadExpr:108,SUPER:109,Arguments:110,DYNAMIC_IMPORT:111,MAP_START:112,MAP_END:113,MapAssignList:114,MapAssignObj:115,MapAssignable:116,Elisions:117,ArgElisionList:118,OptElisions:119,ArgElision:120,Arg:121,Elision:122,RangeDots:123,"..":124,DEF:125,CALL_START:126,ParamList:127,CALL_END:128,PARAM_START:129,PARAM_END:130,FuncGlyph:131,"->":132,"=>":133,Param:134,ParamVar:135,Splat:136,ES6_OPTIONAL_CALL:137,ArgList:138,SimpleArgs:139,THIS:140,NEW_TARGET:141,IMPORT_META:142,"(":143,")":144,RETURN:145,THROW:146,YIELD:147,FROM:148,IfBlock:149,IF:150,ELSE:151,UnlessBlock:152,UNLESS:153,POST_IF:154,POST_UNLESS:155,TRY:156,Catch:157,FINALLY:158,CATCH:159,SWITCH:160,Whens:161,When:162,LEADING_WHEN:163,WhileSource:164,WHILE:165,UNTIL:166,Loop:167,LOOP:168,FORIN:169,BY:170,FORAS:171,AWAIT:172,FORASAWAIT:173,ForValue:174,CLASS:175,EXTENDS:176,ENUM:177,COMPONENT:178,ComponentBody:179,ComponentLine:180,OFFER:181,ACCEPT:182,RENDER:183,IMPORT:184,ImportDefaultSpecifier:185,ImportNamespaceSpecifier:186,ImportSpecifierList:187,ImportSpecifier:188,AS:189,DEFAULT:190,IMPORT_ALL:191,EXPORT:192,ExportSpecifierList:193,EXPORT_ALL:194,ExportSpecifier:195,UNARY:196,DO:197,DO_IIFE:198,UNARY_MATH:199,"-":200,"+":201,"?":202,PRESENCE:203,"--":204,"++":205,MATH:206,"**":207,SHIFT:208,COMPARE:209,"&":210,"^":211,"|":212,"||":213,"??":214,"&&":215,PIPE:216,RELATION:217,TERNARY:218,COMPOUND_ASSIGN:219},tokenNames:{2:"error",6:"TERMINATOR",11:"STATEMENT",47:"JS",49:"UNDEFINED",50:"NULL",51:"BOOL",52:"INFINITY",53:"NAN",54:"NUMBER",57:"IDENTIFIER",59:"PROPERTY",60:"STRING",61:"STRING_START",63:"STRING_END",65:"INTERPOLATION_START",66:"INTERPOLATION_END",67:"INDENT",68:"OUTDENT",69:"REGEX",70:"REGEX_START",71:"REGEX_END",73:",",74:"=",75:"REACTIVE_ASSIGN",76:"COMPUTED_ASSIGN",78:"READONLY_ASSIGN",79:"EFFECT",84:".",85:"?.",86:"INDEX_START",87:"INDEX_END",89:"ES6_OPTIONAL_INDEX",90:"{",92:":",93:"FOR",95:"FOROF",97:"}",98:"WHEN",99:"OWN",104:"[",105:"]",106:"@",107:"...",109:"SUPER",111:"DYNAMIC_IMPORT",112:"MAP_START",113:"MAP_END",124:"..",125:"DEF",126:"CALL_START",128:"CALL_END",129:"PARAM_START",130:"PARAM_END",132:"->",133:"=>",137:"ES6_OPTIONAL_CALL",140:"THIS",141:"NEW_TARGET",142:"IMPORT_META",143:"(",144:")",145:"RETURN",146:"THROW",147:"YIELD",148:"FROM",150:"IF",151:"ELSE",153:"UNLESS",154:"POST_IF",155:"POST_UNLESS",156:"TRY",158:"FINALLY",159:"CATCH",160:"SWITCH",163:"LEADING_WHEN",165:"WHILE",166:"UNTIL",168:"LOOP",169:"FORIN",170:"BY",171:"FORAS",172:"AWAIT",173:"FORASAWAIT",175:"CLASS",176:"EXTENDS",177:"ENUM",178:"COMPONENT",181:"OFFER",182:"ACCEPT",183:"RENDER",184:"IMPORT",189:"AS",190:"DEFAULT",191:"IMPORT_ALL",192:"EXPORT",194:"EXPORT_ALL",196:"UNARY",197:"DO",198:"DO_IIFE",199:"UNARY_MATH",200:"-",201:"+",202:"?",203:"PRESENCE",204:"--",205:"++",206:"MATH",207:"**",208:"SHIFT",209:"COMPARE",210:"&",211:"^",212:"|",213:"||",214:"??",215:"&&",216:"PIPE",217:"RELATION",218:"TERNARY",219:"COMPOUND_ASSIGN"},parseTable:(()=>{let f=[109,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,-1,1,2,3,4,5,6,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,43,44,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,1,1,0,2,1,5,-2,109,5,1,5,60,2,76,-3,-3,-3,-3,-3,30,1,5,60,1,1,5,20,12,23,16,10,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-6,-6,-6,-6,-6,-6,128,-6,-6,-6,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,9,1,5,60,1,1,5,32,23,16,-7,-7,-7,-7,-7,-7,-7,-7,-7,14,1,5,60,1,1,5,32,23,16,10,1,9,1,1,-8,-8,-8,-8,-8,-8,-8,-8,-8,129,130,131,98,99,55,1,5,49,5,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,3,3,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-13,-13,134,107,108,-13,-13,-13,-13,137,138,139,-13,140,-13,-13,-13,-13,-13,-13,-13,135,-13,-13,141,-13,-13,136,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,132,133,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,46,1,5,60,1,1,5,11,1,1,1,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-14,-14,-14,-14,-14,-14,142,143,144,-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,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-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,-15,-15,-15,-15,-15,-15,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-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,-16,-16,-16,-16,-16,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-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,-17,-17,-17,-17,-17,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-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,-18,-18,-18,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-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,-19,-19,-19,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-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,-20,-20,-20,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-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,-22,-22,-22,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-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,-23,-23,-23,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-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,-24,-24,-24,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,9,1,5,60,1,1,5,32,23,16,-33,-33,-33,-33,-33,-33,-33,-33,-33,9,1,5,60,1,1,5,32,23,16,-34,-34,-34,-34,-34,-34,-34,-34,-34,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,58,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-35,-35,-35,-35,-35,-35,-35,-35,145,146,147,148,149,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,18,6,50,1,10,1,5,8,1,1,7,14,2,1,20,1,2,4,1,-197,154,106,-197,-197,-197,156,157,155,101,159,158,153,150,-197,-197,151,152,108,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,161,4,5,6,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,162,104,105,160,54,53,73,74,95,101,60,84,88,85,86,91,67,43,44,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,105,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,163,164,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,43,44,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,105,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,166,167,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,43,44,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,168,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,174,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,175,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,176,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,177,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,47,14,1,21,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,7,14,2,3,2,1,17,2,1,1,7,1,1,1,55,179,180,181,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,178,73,74,95,101,84,88,85,86,91,169,170,92,93,87,89,90,83,173,47,14,1,21,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,7,14,2,3,2,1,17,2,1,1,7,1,1,1,55,179,180,181,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,182,73,74,95,101,84,88,85,86,91,169,170,92,93,87,89,90,83,173,61,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,1,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,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,183,184,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,185,105,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,187,186,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,162,104,105,188,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,189,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,2,67,10,162,190,2,67,10,162,191,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,14,39,17,1,24,1,1,7,4,5,5,2,29,37,2,195,154,106,156,157,155,101,192,193,84,158,197,194,196,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,198,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,199,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,92,1,5,8,1,21,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,1,1,1,3,4,3,1,1,1,4,3,2,1,2,2,1,6,1,1,1,2,2,1,1,11,4,1,1,1,1,1,7,1,1,1,1,7,3,1,10,1,3,1,1,2,3,22,2,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-329,-329,179,180,181,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,-329,162,-329,104,105,-329,200,202,73,74,95,-329,101,-329,-329,-329,-329,-329,84,-329,88,-329,85,86,91,-329,-329,-329,169,-329,170,92,93,87,89,90,83,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,201,173,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,2,67,109,203,204,2,67,10,162,205,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,206,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,207,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,141,1,5,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,1,1,1,3,6,1,1,1,1,4,3,2,1,2,2,1,6,1,1,1,2,2,1,1,11,1,3,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,2,2,1,5,1,8,4,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-248,-248,208,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,-248,209,-248,104,105,-248,54,53,73,74,95,-248,101,-248,-248,-248,-248,-248,84,-248,88,-248,85,86,91,-248,-248,67,-248,169,-248,170,92,93,87,89,90,83,-248,70,65,66,210,55,96,-248,56,97,-248,-248,57,61,58,-248,-248,59,100,-248,-248,-248,50,-248,62,68,63,64,71,72,171,172,173,47,48,49,51,52,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,2,56,1,211,106,2,56,1,212,106,6,15,19,95,2,1,1,214,213,43,44,92,93,140,1,5,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,1,1,1,3,6,1,1,1,1,4,3,2,1,2,2,1,6,1,1,1,2,2,1,1,11,1,3,1,1,1,1,1,7,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,2,2,1,5,1,8,4,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-245,-245,215,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,-245,216,-245,104,105,-245,54,53,73,74,95,-245,101,-245,-245,-245,-245,-245,84,-245,88,-245,85,86,91,-245,-245,67,-245,169,-245,170,92,93,87,89,90,83,-245,70,65,66,55,96,-245,56,97,-245,-245,57,61,58,-245,-245,59,100,-245,-245,-245,50,-245,62,68,63,64,71,72,171,172,173,47,48,49,51,52,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,9,55,1,1,3,1,29,95,1,5,217,221,106,107,108,220,218,219,222,62,14,1,3,1,1,1,6,1,4,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,14,2,3,2,1,13,4,2,1,1,7,1,1,1,32,2,1,12,4,4,179,180,229,230,231,232,224,225,226,227,235,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,228,106,107,108,104,105,54,236,73,74,95,223,84,88,85,86,91,67,169,170,92,93,87,89,90,83,62,68,63,233,234,173,58,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,58,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-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,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-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,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-48,-48,-48,-48,-48,-48,-48,-48,-48,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-49,-49,-49,-49,-49,-49,-49,-49,-49,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-50,-50,-50,-50,-50,-50,-50,-50,-50,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-51,-51,-51,-51,-51,-51,-51,-51,-51,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-52,-52,-52,-52,-52,-52,-52,-52,-52,108,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,237,3,4,5,6,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,238,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,43,44,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,115,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,6,1,1,1,1,7,3,11,1,1,1,2,2,1,5,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,239,248,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,245,104,105,246,54,53,73,74,95,101,60,84,240,88,250,85,86,91,241,242,244,247,243,67,43,44,92,93,249,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,4,84,2,24,16,252,253,251,141,2,110,16,254,141,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,55,1,5,52,1,1,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-230,-230,255,256,-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,1,84,257,1,84,258,34,6,32,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,3,8,1,1,7,14,2,1,6,1,1,1,27,-145,276,267,268,271,270,269,272,273,102,103,264,106,265,256,107,108,-145,-145,104,105,-145,274,275,266,101,159,158,263,259,260,261,262,83,55,11,36,2,1,1,1,1,1,3,3,1,6,2,1,9,11,3,11,2,3,2,1,13,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,-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,-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,55,11,36,2,1,1,1,1,1,3,3,1,6,2,1,9,11,3,11,2,3,2,1,13,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,-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,-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,62,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,62,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,277,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,278,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,279,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,280,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,104,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,282,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,162,104,105,281,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,23,6,40,8,1,1,1,1,1,1,1,6,1,5,10,8,6,3,1,1,1,1,2,1,-110,288,102,103,290,106,291,256,107,108,-110,-110,-110,292,283,-110,284,289,293,285,286,287,294,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-53,-53,-53,-53,-53,-53,-53,-53,-53,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-54,-54,-54,-54,-54,-54,-54,-54,-54,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,47,14,1,21,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,7,14,2,3,2,1,17,2,1,1,7,1,1,1,55,179,180,181,34,35,36,295,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,236,73,74,95,101,84,88,85,86,91,169,170,92,93,87,89,90,83,173,64,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,4,3,3,1,10,1,3,1,1,2,3,13,11,1,1,1,1,1,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,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,56,1,5,54,1,2,2,1,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,6,55,5,1,1,2,1,299,107,108,296,297,298,111,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,2,1,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,1,1,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,-5,300,-5,4,5,6,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,-5,-5,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,43,44,92,93,87,89,90,83,-5,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,301,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,302,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,303,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,304,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,305,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,306,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,307,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,308,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,309,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,312,165,310,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,311,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,315,165,313,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,314,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,318,165,316,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,317,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,319,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,320,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,321,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,322,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,323,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,14,39,17,1,24,1,1,7,4,5,5,2,29,37,2,327,154,106,156,157,155,101,324,325,84,158,197,326,196,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,328,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,329,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,54,1,5,54,1,5,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,54,1,5,54,1,5,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,2,110,16,330,141,2,58,1,331,256,2,58,1,332,256,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,2,7,1,1,1,1,5,2,3,11,2,1,2,2,1,11,1,1,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,333,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,338,78,79,80,81,82,102,103,94,106,107,108,334,104,105,336,54,53,73,74,95,335,101,60,84,88,340,85,86,91,337,339,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,1,86,341,111,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,1,2,2,1,9,4,3,1,2,1,1,3,2,2,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,346,248,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,345,104,105,54,53,73,74,95,101,60,84,88,250,85,86,91,344,67,342,43,44,92,93,249,343,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,2,58,1,347,256,2,58,1,348,256,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,349,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,350,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,104,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,352,351,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,353,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,104,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,355,354,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,356,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,105,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,358,357,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,162,104,105,359,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,104,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,361,360,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,362,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,105,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,364,363,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,162,104,105,365,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,10,6,61,1,5,23,1,8,8,15,2,-241,-241,-241,367,368,-241,-241,-241,-241,366,6,6,61,1,5,55,2,-198,-198,-198,-198,-198,-198,7,6,61,1,5,1,54,2,-202,-202,-202,-202,369,-202,-202,15,6,50,1,10,1,5,8,1,1,7,14,2,22,2,5,-205,154,106,-205,-205,-205,156,157,155,101,159,158,-205,-205,370,11,6,61,1,5,1,21,33,2,39,2,2,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,11,6,61,1,5,1,21,33,2,39,2,2,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,11,6,61,1,5,1,21,33,2,39,2,2,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,11,6,61,1,5,1,21,33,2,39,2,2,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,2,58,1,255,256,115,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,6,1,1,1,1,7,3,11,1,1,1,2,2,1,5,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,346,248,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,245,104,105,246,54,53,73,74,95,101,60,84,240,88,250,85,86,91,241,242,244,247,243,67,43,44,92,93,249,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-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,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,9,1,5,60,1,1,5,32,23,16,-194,-194,-194,-194,-194,-194,-194,-194,-194,108,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,372,3,4,5,6,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,371,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,43,44,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,127,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,120,-398,-398,-398,-398,9,1,5,60,1,1,5,32,23,16,-395,-395,-395,-395,-395,-395,-395,-395,-395,5,154,1,9,1,1,129,130,131,98,99,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,127,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,120,-399,-399,-399,-399,9,1,5,60,1,1,5,32,23,16,-396,-396,-396,-396,-396,-396,-396,-396,-396,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,127,-400,-400,-400,-400,-400,-400,-400,-400,-400,113,-400,-400,-400,-400,-400,-400,120,-400,-400,-400,-400,18,6,50,1,10,1,5,8,1,1,7,14,2,1,20,1,2,4,1,-197,154,106,-197,-197,-197,156,157,155,101,159,158,153,373,-197,-197,151,152,2,67,10,162,160,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,163,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,166,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,5,15,114,2,1,1,214,169,170,92,93,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,127,-401,-401,-401,-401,-401,-401,-401,-401,-401,113,-401,-401,-401,-401,-401,-401,120,-401,-401,-401,-401,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,127,-402,-402,-402,-402,-402,-402,-402,-402,-402,113,-402,-402,-402,-402,-402,-402,120,-402,-402,-402,-402,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,127,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,120,-405,-405,-405,-405,2,82,8,374,101,58,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-407,-407,-87,-87,-407,-407,-407,-407,-87,-87,-87,-87,-87,-87,-87,-87,-407,-87,-407,-407,-407,-407,-407,-407,-407,-407,-407,-87,-407,-407,-87,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-87,-87,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,10,55,5,1,23,1,1,3,21,16,11,134,107,108,137,138,139,140,135,141,136,3,84,1,1,142,143,144,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,58,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-408,-408,-87,-87,-408,-408,-408,-408,-87,-87,-87,-87,-87,-87,-87,-87,-408,-87,-408,-408,-408,-408,-408,-408,-408,-408,-408,-87,-408,-408,-87,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-87,-87,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,104,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,377,375,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,376,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-84,-84,-84,-84,-84,-84,-84,-84,128,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,125,126,127,98,99,-84,-84,-84,-84,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,378,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,3,67,10,73,162,379,380,46,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,2,1,1,6,1,3,1,1,2,27,1,5,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,381,382,383,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,4,95,74,2,2,385,384,386,387,11,56,1,24,1,1,7,4,10,2,29,39,154,106,156,157,155,101,388,159,158,197,196,11,56,1,24,1,1,7,4,10,2,29,39,154,106,156,157,155,101,389,159,158,197,196,3,67,10,93,162,390,391,5,73,22,74,2,2,392,-327,-327,-327,-327,6,73,1,21,74,2,2,-325,393,-325,-325,-325,-325,22,67,26,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,394,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,3,161,1,1,395,396,397,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,398,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,60,1,5,54,1,5,1,1,5,1,1,1,1,1,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-333,-333,-87,-87,-333,162,-333,-333,-87,-87,-87,399,-87,-87,-87,-87,-87,-333,-87,-333,-333,-333,-333,-333,-333,-333,-333,-333,-87,-333,-333,-87,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,400,-333,-333,-87,-87,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,109,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,1,1,1,1,1,1,8,4,1,1,1,1,1,3,1,403,404,405,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,43,44,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,401,402,406,407,64,71,72,45,46,69,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,408,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,127,-246,-246,-246,-246,-246,-246,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,2,82,8,409,101,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,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,127,-249,-249,-249,-249,-249,-249,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,2,82,8,410,101,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,411,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,3,67,10,49,162,413,412,2,67,10,162,414,9,1,5,60,1,1,5,32,23,16,-397,-397,-397,-397,-397,-397,-397,-397,-397,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-435,-435,-435,-435,-435,-435,-435,-435,-435,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,127,-243,-243,-243,-243,-243,-243,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,2,82,8,415,101,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,2,73,75,417,416,1,148,418,7,56,1,10,30,90,1,2,423,106,422,419,420,421,424,2,73,75,-365,-365,1,189,425,26,6,40,8,1,1,1,1,1,1,1,6,1,5,10,8,6,3,1,1,1,1,2,1,83,3,2,-110,288,102,103,430,106,291,256,107,108,429,-110,-110,292,283,426,284,289,293,285,286,287,294,431,427,428,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,62,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-90,-90,-90,-90,-90,-90,-90,-90,432,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,433,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,434,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,1,148,435,57,1,5,54,1,5,1,1,5,2,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-35,-35,-35,-35,-35,-35,-35,-35,146,147,148,149,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,58,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,2,6,138,109,436,107,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,437,3,4,5,6,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,43,44,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,30,6,61,1,5,20,12,2,16,1,4,26,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-223,-223,-223,-223,128,-223,340,438,339,-223,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,58,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,111,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,3,6,1,1,1,1,7,3,11,1,1,1,2,2,1,9,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,346,248,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,246,54,53,73,74,95,101,60,84,439,88,250,85,86,91,441,440,67,43,44,92,93,249,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,10,6,61,1,5,23,1,8,8,6,9,-241,-241,-241,443,444,-241,-241,-241,442,-241,60,6,5,36,2,1,1,1,1,1,3,3,1,6,1,1,1,3,6,11,3,11,1,1,1,2,2,1,13,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,445,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,5,6,61,1,5,32,-169,-169,-169,-169,-169,114,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,6,1,1,1,1,7,3,11,2,1,2,2,1,5,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,346,248,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,245,104,105,246,54,53,73,74,95,101,60,84,88,250,85,86,91,447,446,244,247,243,67,43,44,92,93,249,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,60,6,5,36,2,1,1,1,1,1,3,3,1,6,1,1,1,3,6,11,3,11,1,1,1,2,2,1,13,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,3,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,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,5,6,61,1,5,32,-174,-174,-174,-174,-174,6,6,61,1,5,32,23,-224,-224,-224,-224,-224,-224,6,6,61,1,5,32,23,-225,-225,-225,-225,-225,-225,108,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,3,6,1,1,1,1,7,3,11,1,1,3,2,1,13,3,1,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,-226,448,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,-226,-226,104,105,-226,54,53,73,74,95,101,60,84,-226,88,85,86,91,67,-226,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,54,1,5,54,1,5,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,2,58,1,449,256,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,450,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,451,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,54,1,5,54,1,5,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,62,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,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,-231,-231,-231,-231,-231,-231,62,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,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,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,2,58,1,452,256,2,58,1,453,256,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,9,6,61,1,5,23,1,8,8,15,-241,-241,-241,455,454,-241,-241,-241,-241,5,6,61,1,5,40,-146,-146,-146,-146,-146,1,92,456,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,457,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,1,92,-153,1,92,-154,1,92,-155,1,92,-156,1,92,-157,1,92,-158,1,92,-159,1,92,-160,1,92,-161,1,92,-162,1,92,-163,1,92,-164,1,92,-165,23,67,10,16,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,162,458,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,23,67,10,16,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,162,459,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-280,-280,-280,-280,-280,-280,-280,-280,128,-280,-280,460,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,127,98,99,-280,-280,-280,-280,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-282,-282,-282,-282,-282,-282,-282,-282,128,-282,-282,461,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,127,98,99,-282,-282,-282,-282,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,45,1,5,60,1,1,5,4,10,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-289,-289,-289,162,-289,-289,462,-289,-289,128,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,127,98,99,-289,-289,-289,-289,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,6,6,61,1,5,19,5,-115,-115,-115,-115,463,-115,9,6,61,1,5,23,1,8,8,15,-241,-241,-241,465,464,-241,-241,-241,-241,7,6,61,1,5,1,18,5,-124,-124,-124,-124,466,-124,-124,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,467,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,3,58,1,45,255,256,468,6,6,61,1,5,19,5,-127,-127,-127,-127,-127,-127,5,6,61,1,5,24,-111,-111,-111,-111,-111,11,6,61,1,5,1,10,1,1,6,5,29,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,11,6,61,1,5,1,10,1,1,6,5,29,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,11,6,61,1,5,1,10,1,1,6,5,29,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,5,6,61,1,5,24,-116,-116,-116,-116,-116,17,38,4,1,13,1,1,1,23,1,7,13,3,2,1,2,29,3,472,474,473,290,106,291,256,471,292,101,469,88,470,475,476,87,83,54,1,5,54,1,5,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-39,-39,-39,-39,-39,-39,-39,477,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,6,55,5,1,2,1,1,299,107,108,478,479,298,4,60,1,2,2,-59,-59,-59,-59,109,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,2,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,480,3,4,5,6,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,482,481,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,43,44,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,4,60,1,2,2,-64,-64,-64,-64,5,1,5,60,2,76,-4,-4,-4,-4,-4,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,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,127,-411,-411,-411,-411,-411,-411,-411,-411,112,113,-411,-411,-411,-411,-411,-411,120,-411,-411,-411,-411,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,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,127,-412,-412,-412,-412,-412,-412,-412,-412,112,113,-412,-412,-412,-412,-412,-412,120,-412,-412,-412,-412,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,127,-413,-413,-413,-413,-413,-413,-413,-413,-413,113,-413,-413,-413,-413,-413,-413,120,-413,-413,-413,-413,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,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,127,-414,-414,-414,-414,-414,-414,-414,-414,-414,113,-414,-414,-414,-414,-414,-414,120,-414,-414,-414,-414,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,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,127,-415,-415,-415,-415,-415,-415,111,110,112,113,-415,-415,-415,-415,-415,-415,120,-415,-415,-415,-415,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,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,127,-416,-416,-416,-416,-416,-416,111,110,112,113,114,-416,-416,-416,-416,-416,120,-416,-416,123,-416,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,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,127,-417,-417,-417,-417,-417,-417,111,110,112,113,114,115,-417,-417,-417,-417,120,-417,-417,123,-417,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,127,-418,-418,-418,-418,-418,-418,111,110,112,113,114,115,116,-418,-418,-418,120,-418,-418,123,-418,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,127,-419,-419,-419,-419,-419,-419,111,110,112,113,114,115,116,117,-419,-419,120,-419,-419,123,-419,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,127,-427,-427,-427,-427,-427,-427,111,110,112,113,114,115,116,117,118,-427,120,121,-427,123,-427,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-428,-428,-428,-428,-428,-428,-428,-428,128,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,125,126,127,98,99,-428,-428,-428,-428,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,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,127,-426,-426,-426,-426,-426,-426,111,110,112,113,114,115,116,117,118,-426,120,-426,-426,123,-426,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,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,-429,-429,-429,127,-429,-429,-429,-429,-429,-429,111,110,112,113,114,115,116,117,118,119,120,121,-429,123,-429,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,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,127,-430,-430,-430,-430,-430,-430,111,110,112,113,114,-430,-430,-430,-430,-430,120,-430,-430,-430,-430,22,92,1,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,483,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-260,-260,-260,-260,-260,-260,-260,-260,128,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,484,-260,-260,127,98,99,-260,-260,-260,-260,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-264,-264,-264,-264,-264,-264,-264,-264,128,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,127,98,99,-264,-264,-264,-264,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,4,95,74,2,2,486,485,487,488,11,56,1,24,1,1,7,4,10,2,29,39,154,106,156,157,155,101,489,159,158,197,196,11,56,1,24,1,1,7,4,10,2,29,39,154,106,156,157,155,101,490,159,158,197,196,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,491,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-259,-259,-259,-259,-259,-259,-259,-259,128,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,127,98,99,-259,-259,-259,-259,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-263,-263,-263,-263,-263,-263,-263,-263,128,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,127,98,99,-263,-263,-263,-263,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,54,1,5,54,1,5,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,62,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,62,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,25,87,6,14,16,1,30,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,492,128,340,493,339,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,5,2,3,11,2,1,2,2,1,11,1,1,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,494,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,495,101,60,84,88,340,85,86,91,337,339,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,1,87,496,1,87,497,104,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,9,1,1,1,1,4,3,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,498,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,-188,104,105,54,53,73,74,95,-188,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-47,-47,-47,-47,-47,-47,-47,499,-47,-47,-47,-68,-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,56,11,36,2,1,1,1,1,1,3,3,1,7,1,1,9,8,3,3,11,2,3,2,1,13,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,56,11,36,2,1,1,1,1,1,3,3,1,7,1,1,9,8,3,3,11,2,3,2,1,13,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,3,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,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,500,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,501,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,54,1,5,54,1,5,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,9,6,61,1,5,23,1,8,8,15,-241,-241,-241,503,502,-241,-241,-241,-241,5,6,61,1,5,55,-218,-218,-218,-218,-218,110,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,1,2,2,1,9,4,4,2,1,1,3,2,2,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,346,248,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,345,104,105,54,53,73,74,95,101,60,84,88,250,85,86,91,344,67,43,44,92,93,249,504,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,27,6,61,1,5,20,12,23,26,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-223,-223,-223,-223,128,-223,-223,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,62,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,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,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,62,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,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,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,22,87,6,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,505,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,506,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,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,127,-69,-69,-69,-69,-69,-69,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,507,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,508,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-72,-72,-72,-72,-72,-72,-72,-72,128,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,125,126,127,98,99,-72,-72,-72,-72,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,509,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,510,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-75,-75,-75,-75,-75,-75,-75,-75,128,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,125,126,127,98,99,-75,-75,-75,-75,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,511,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-78,-78,-78,-78,-78,-78,-78,-78,128,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,125,126,127,98,99,-78,-78,-78,-78,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,512,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,513,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-81,-81,-81,-81,-81,-81,-81,-81,128,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,125,126,127,98,99,-81,-81,-81,-81,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,514,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,3,131,1,1,515,92,93,18,6,50,1,10,1,13,1,1,7,7,7,1,1,1,6,15,6,1,-242,154,106,-242,-242,156,157,155,101,-242,159,-242,158,153,-242,-242,516,152,2,6,61,517,518,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,519,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,6,6,61,1,5,55,2,-204,-204,-204,-204,-204,-204,56,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,3,1,4,2,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,2,6,62,109,520,10,6,61,1,5,23,1,8,8,15,2,-241,-241,-241,367,368,-241,-241,-241,-241,521,1,68,522,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,127,-432,-432,-432,-432,-432,-432,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,523,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,524,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-85,-85,-85,-85,-85,-85,-85,-85,128,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,125,126,127,98,99,-85,-85,-85,-85,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,525,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,3,7,1,3,1,1,2,27,1,5,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,526,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,2,67,10,162,527,6,56,1,10,10,5,8,528,106,162,530,529,101,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,531,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,532,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,533,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,534,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,1,95,535,1,171,536,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,537,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,10,56,1,24,1,1,7,14,2,29,39,154,106,156,157,155,101,159,158,197,538,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,539,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,3,161,1,1,540,396,397,4,68,83,11,1,541,542,543,397,3,68,83,12,-276,-276,-276,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,6,1,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,545,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,544,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,45,1,5,60,1,1,5,4,10,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-331,-331,-331,162,-331,-331,546,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,127,-331,-331,-331,-331,-331,-331,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,547,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,2,6,62,549,548,2,6,62,-340,-340,23,6,62,25,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-343,-343,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,2,6,62,-344,-344,7,6,62,86,1,9,1,1,-345,-345,129,130,131,98,99,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,550,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,1,57,551,22,67,26,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,552,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,1,68,553,1,68,554,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,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,127,-251,-251,-251,-251,-251,-251,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,18,6,50,1,10,1,5,8,1,1,7,14,2,1,20,1,2,4,1,-197,154,106,-197,-197,-197,156,157,155,101,159,158,153,555,-197,-197,151,152,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,1,68,556,3,55,5,1,557,107,108,3,90,96,5,559,558,222,3,55,5,1,560,107,108,1,148,561,9,6,61,1,5,23,1,8,8,15,-241,-241,-241,563,562,-241,-241,-241,-241,5,6,61,1,5,24,-356,-356,-356,-356,-356,6,56,1,10,120,1,2,423,106,422,564,421,424,6,6,61,1,5,24,92,-361,-361,-361,-361,-361,565,6,6,61,1,5,24,92,-363,-363,-363,-363,-363,566,2,56,1,567,106,14,1,5,60,1,1,5,32,23,16,4,6,1,10,1,-367,-367,-367,-367,-367,-367,-367,-367,-367,568,-367,-367,-367,-367,9,6,61,1,5,23,1,8,8,15,-241,-241,-241,570,569,-241,-241,-241,-241,5,6,61,1,5,24,-385,-385,-385,-385,-385,6,56,1,10,123,3,2,572,106,429,431,571,428,12,6,61,1,5,1,10,1,1,6,5,29,63,-390,-390,-390,-390,-121,-121,-121,-121,-121,-390,-121,573,6,6,61,1,5,24,92,-393,-393,-393,-393,-393,574,104,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,576,575,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,577,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,30,1,5,60,1,1,5,20,12,23,16,10,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-380,-380,-380,-380,-380,-380,128,-380,-380,-380,-380,-380,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,2,82,8,578,101,3,55,5,1,579,107,108,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,2,6,62,109,580,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,581,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,58,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-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,-167,-167,-167,-167,-167,-167,60,6,5,36,2,1,1,1,1,1,3,3,1,6,1,1,1,3,6,11,3,11,1,1,1,2,2,1,13,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,445,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,5,6,61,1,5,32,-175,-175,-175,-175,-175,2,67,38,583,582,119,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,3,6,1,1,1,1,7,3,4,7,1,1,1,2,2,1,1,4,3,1,1,3,3,1,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,-242,346,248,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,-242,-242,104,105,246,54,53,73,74,95,101,60,-242,84,-242,88,250,85,86,91,-242,585,584,247,243,67,-242,43,44,92,93,249,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,4,6,61,1,37,586,-176,-176,-176,60,6,5,36,2,1,1,1,1,1,3,3,1,6,1,1,1,3,6,11,3,11,1,1,1,2,2,1,13,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,10,6,61,1,5,23,1,8,8,6,9,-241,-241,-241,443,444,-241,-241,-241,587,-241,110,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,3,6,1,1,1,1,7,3,11,2,1,2,2,1,9,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,346,248,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,246,54,53,73,74,95,101,60,84,88,250,85,86,91,441,440,67,43,44,92,93,249,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,27,6,61,1,5,20,12,23,26,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-210,-210,-210,-210,128,-210,-210,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,22,87,6,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,588,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,589,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,3,6,61,46,591,592,590,35,6,32,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,11,1,1,7,7,7,1,1,1,6,2,1,12,15,-242,276,267,268,271,270,269,272,273,102,103,264,106,265,256,107,108,-242,-242,104,105,274,275,266,101,-242,159,-242,158,263,-242,593,262,-242,83,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,594,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,595,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,26,6,61,1,5,20,20,41,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-152,-152,-152,-152,128,-152,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,596,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,597,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,598,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,599,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,600,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,3,6,61,30,602,603,601,24,6,40,8,1,1,1,1,1,1,1,6,1,15,8,6,4,1,1,1,1,1,1,6,15,-242,288,102,103,290,106,291,256,107,108,-242,-242,292,605,-242,604,293,285,286,-242,287,294,-242,-242,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,606,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,607,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,22,93,12,49,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,128,608,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,609,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,10,6,61,1,5,11,1,1,11,13,16,-128,-128,-128,-128,-130,-130,-130,-128,610,141,10,6,61,1,5,11,1,1,11,13,16,-129,-129,-129,-129,612,613,614,-129,611,141,9,6,61,1,5,11,1,1,11,29,-131,-131,-131,-131,-131,-131,-131,-131,-131,9,6,61,1,5,11,1,1,11,29,-132,-132,-132,-132,-132,-132,-132,-132,-132,9,6,61,1,5,11,1,1,11,29,-133,-133,-133,-133,-133,-133,-133,-133,-133,9,6,61,1,5,11,1,1,11,29,-134,-134,-134,-134,-134,-134,-134,-134,-134,4,84,2,24,16,252,253,615,141,2,110,16,616,141,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-66,-66,-66,-66,-66,-66,-66,-66,-66,56,1,5,54,1,2,2,1,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,4,60,1,2,2,-60,-60,-60,-60,2,6,60,109,617,107,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,618,3,4,5,6,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,43,44,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,4,60,1,2,2,-63,-63,-63,-63,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,619,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,621,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,620,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,622,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,623,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,624,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,625,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,1,95,626,1,171,627,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,628,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,62,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,104,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,9,1,1,1,1,4,3,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,629,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,-186,104,105,54,53,73,74,95,-186,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,25,68,25,14,16,1,30,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,630,128,340,493,339,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,1,68,631,62,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,62,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,23,68,19,6,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-187,-187,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,632,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,22,87,6,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,633,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,634,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,3,6,61,61,636,637,635,115,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,9,1,1,1,1,7,3,4,7,1,1,1,2,2,1,1,8,4,3,1,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,-242,346,248,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,-242,-242,104,105,54,53,73,74,95,101,60,-242,84,-242,88,250,85,86,91,-242,638,67,-242,43,44,92,93,249,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,9,6,61,1,5,23,1,8,8,15,-241,-241,-241,503,639,-241,-241,-241,-241,62,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,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,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,22,68,25,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,640,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,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,-70,-70,-70,-70,-70,-70,127,-70,-70,-70,-70,-70,-70,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,22,68,25,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,641,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-73,-73,-73,-73,-73,-73,-73,-73,128,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,125,126,127,98,99,-73,-73,-73,-73,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,22,68,25,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,642,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-76,-76,-76,-76,-76,-76,-76,-76,128,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,125,126,127,98,99,-76,-76,-76,-76,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-79,-79,-79,-79,-79,-79,-79,-79,128,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,125,126,127,98,99,-79,-79,-79,-79,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,22,68,25,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,643,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-82,-82,-82,-82,-82,-82,-82,-82,128,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,125,126,127,98,99,-82,-82,-82,-82,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,108,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,645,4,5,6,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,162,104,105,644,54,53,73,74,95,101,60,84,88,85,86,91,67,43,44,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,6,6,61,1,5,55,2,-199,-199,-199,-199,-199,-199,11,56,1,24,1,1,7,14,2,1,27,1,154,106,156,157,155,101,159,158,153,646,152,18,6,50,1,10,1,5,8,1,1,7,14,2,1,20,1,2,4,1,-197,154,106,-197,-197,-197,156,157,155,101,159,158,153,647,-197,-197,151,152,27,6,61,1,5,20,35,2,24,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-203,-203,-203,-203,128,-203,-203,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,56,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,3,1,4,2,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,3,131,1,1,648,92,93,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,22,68,25,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,649,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,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,127,-434,-434,-434,-434,-434,-434,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,23,67,10,16,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,162,650,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,2,67,10,162,651,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,2,67,10,162,652,2,67,10,162,653,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,3,7,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,25,67,10,16,5,56,1,9,1,1,4,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,162,654,128,655,125,126,127,98,99,656,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,24,67,10,16,5,56,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,162,657,128,658,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,24,67,10,16,5,56,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,162,659,128,660,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,24,67,10,16,5,56,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,162,661,128,662,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,663,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,664,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,23,67,10,16,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,162,665,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,4,95,74,2,2,-328,-328,-328,-328,26,73,20,2,59,1,9,1,1,3,2,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-326,128,-326,125,126,127,98,99,-326,-326,-326,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,4,68,83,11,1,666,667,543,397,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,2,67,10,162,668,3,68,83,12,-277,-277,-277,3,67,6,4,162,670,669,23,67,6,20,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-227,-227,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,45,1,5,60,1,1,5,4,10,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-335,-335,-335,162,-335,-335,671,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,127,-335,-335,-335,-335,-335,-335,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,110,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,1,1,1,1,8,4,1,1,1,1,1,3,1,-342,403,404,405,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,-342,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,43,44,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,672,406,407,64,71,72,45,46,69,47,48,49,51,52,23,6,62,25,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-346,-346,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,2,6,62,-347,-347,109,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,1,1,1,1,1,1,8,4,1,1,1,1,1,3,1,403,404,405,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,43,44,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,673,402,406,407,64,71,72,45,46,69,47,48,49,51,52,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,9,6,61,1,5,23,1,8,8,15,-241,-241,-241,367,368,-241,-241,-241,674,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,1,148,675,6,56,1,10,120,1,2,423,106,422,676,421,424,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,3,55,5,1,677,107,108,3,6,61,30,679,680,678,11,6,50,1,10,1,29,8,8,15,60,2,-242,423,106,-242,-242,-242,-242,-242,-242,681,424,9,6,61,1,5,23,1,8,8,15,-241,-241,-241,563,682,-241,-241,-241,-241,2,56,1,683,106,2,56,1,684,106,1,148,-366,3,55,5,1,685,107,108,3,6,61,30,687,688,686,11,6,50,1,10,1,29,8,8,15,62,5,-242,572,106,-242,-242,-242,-242,-242,-242,431,689,9,6,61,1,5,23,1,8,8,15,-241,-241,-241,570,690,-241,-241,-241,-241,6,6,61,1,5,24,92,-390,-390,-390,-390,-390,573,3,56,1,133,691,106,692,2,56,1,693,106,30,1,5,60,1,1,5,20,12,23,16,10,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-373,-373,-373,-373,-373,-373,128,-373,-373,-373,-373,-373,127,-373,-373,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,694,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,695,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,1,68,696,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,1,144,697,22,93,12,49,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,128,698,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,58,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-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,-168,-168,-168,-168,-168,-168,114,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,6,1,1,1,1,7,3,11,2,1,2,2,1,5,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,346,248,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,245,104,105,246,54,53,73,74,95,101,60,84,88,250,85,86,91,447,699,244,247,243,67,43,44,92,93,249,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,5,6,61,1,5,32,-170,-170,-170,-170,-170,113,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,3,6,1,1,1,1,7,3,11,1,1,1,2,2,1,9,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,346,248,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,-177,-177,104,105,246,54,53,73,74,95,101,60,84,-177,88,250,85,86,91,441,440,67,43,44,92,93,249,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,112,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,3,6,1,1,1,1,7,3,11,2,1,2,2,1,5,3,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,346,248,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,246,54,53,73,74,95,101,60,84,88,250,85,86,91,447,700,247,243,67,43,44,92,93,249,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,2,67,1,583,701,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,22,68,25,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,702,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,28,38,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,11,1,1,7,14,2,1,8,1,27,276,267,268,271,270,269,272,273,102,103,264,106,265,256,107,108,104,105,274,275,266,101,159,158,263,703,262,83,34,6,32,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,3,8,1,1,7,14,2,1,6,1,1,1,27,-145,276,267,268,271,270,269,272,273,102,103,264,106,265,256,107,108,-145,-145,104,105,-145,274,275,266,101,159,158,263,-145,704,261,262,83,5,6,61,1,5,40,-147,-147,-147,-147,-147,26,6,61,1,5,20,20,41,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-150,-150,-150,-150,128,-150,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,705,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,2,67,10,162,706,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,127,-281,-281,-281,-281,-281,-281,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,127,-283,-283,-283,-283,-283,-283,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,26,6,61,1,5,20,4,57,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-117,-117,-117,-117,707,-117,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,708,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,58,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,17,46,8,1,1,1,1,1,1,1,22,8,10,1,1,1,2,1,288,102,103,290,106,291,256,107,108,292,605,709,293,285,286,287,294,23,6,40,8,1,1,1,1,1,1,1,6,1,5,10,8,6,3,1,1,1,1,2,1,-110,288,102,103,290,106,291,256,107,108,-110,-110,-110,292,605,-110,710,289,293,285,286,287,294,5,6,61,1,5,24,-112,-112,-112,-112,-112,6,6,61,1,5,19,5,-115,-115,-115,-115,711,-115,26,6,61,1,5,20,4,57,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-119,-119,-119,-119,128,-119,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,712,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,6,6,61,1,5,19,5,-125,-125,-125,-125,-125,-125,22,93,12,49,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,128,713,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,9,6,61,1,5,11,1,1,11,29,-137,-137,-137,-137,-137,-137,-137,-137,-137,9,6,61,1,5,11,1,1,11,29,-138,-138,-138,-138,-138,-138,-138,-138,-138,2,58,1,714,256,2,58,1,715,256,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,716,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,717,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,9,6,61,1,5,11,1,1,11,29,-135,-135,-135,-135,-135,-135,-135,-135,-135,9,6,61,1,5,11,1,1,11,29,-136,-136,-136,-136,-136,-136,-136,-136,-136,4,60,1,2,2,-61,-61,-61,-61,2,6,62,109,718,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,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,127,-431,-431,-431,-431,-431,-431,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,719,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-262,-262,-262,-262,-262,-262,-262,-262,128,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,127,98,99,-262,-262,-262,-262,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,720,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,127,-308,-308,-308,721,-308,-308,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,722,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,127,-313,-313,-313,-313,-313,-313,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,723,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,127,-317,-317,-317,-317,-317,-317,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,724,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,127,-321,-321,-321,-321,-321,-321,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,725,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,726,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,127,-324,-324,-324,-324,-324,-324,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,23,68,19,6,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-185,-185,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,1,87,727,1,87,728,22,87,6,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-67,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,62,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,-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,-99,-99,-99,-99,22,68,25,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,729,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,54,1,5,54,1,5,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,108,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,1,2,2,1,9,4,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,346,248,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,250,85,86,91,730,67,43,44,92,93,249,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,110,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,1,2,2,1,9,4,4,2,1,1,3,2,2,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,346,248,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,345,104,105,54,53,73,74,95,101,60,84,88,250,85,86,91,344,67,43,44,92,93,249,731,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,5,6,61,1,5,55,-219,-219,-219,-219,-219,3,6,61,1,636,637,732,1,87,733,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-191,-191,-191,-191,-191,-191,-191,-191,-191,9,1,5,60,1,1,5,32,23,16,-193,-193,-193,-193,-193,-193,-193,-193,-193,6,6,61,1,5,55,2,-200,-200,-200,-200,-200,-200,9,6,61,1,5,23,1,8,8,15,-241,-241,-241,367,734,-241,-241,-241,-241,2,67,10,162,644,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,3,7,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,3,7,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,735,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,736,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,737,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,738,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,739,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,24,67,10,16,5,56,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,162,740,128,741,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,24,67,10,16,5,56,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,162,742,128,743,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,2,67,10,162,744,1,68,745,4,6,62,83,12,746,-278,-278,-278,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,747,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,2,6,62,-341,-341,2,6,62,549,748,2,67,10,162,749,3,55,5,1,750,107,108,9,6,61,1,5,23,1,8,8,15,-241,-241,-241,563,751,-241,-241,-241,-241,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,1,148,752,4,56,1,131,2,423,106,753,424,6,56,1,10,120,1,2,423,106,422,754,421,424,5,6,61,1,5,24,-357,-357,-357,-357,-357,3,6,61,1,679,680,755,5,6,61,1,5,24,-362,-362,-362,-362,-362,5,6,61,1,5,24,-364,-364,-364,-364,-364,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,14,1,5,60,1,1,5,32,23,16,4,6,1,10,1,-368,-368,-368,-368,-368,-368,-368,-368,-368,756,-368,-368,-368,-368,4,56,1,133,5,572,106,431,757,6,56,1,10,123,3,2,572,106,429,431,758,428,5,6,61,1,5,24,-386,-386,-386,-386,-386,3,6,61,1,687,688,759,5,6,61,1,5,24,-391,-391,-391,-391,-391,5,6,61,1,5,24,-392,-392,-392,-392,-392,5,6,61,1,5,24,-394,-394,-394,-394,-394,30,1,5,60,1,1,5,20,12,23,16,10,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-374,-374,-374,-374,-374,-374,128,-374,-374,-374,-374,-374,127,-374,-374,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,22,68,25,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,760,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-184,-184,-184,-184,-184,-184,-184,-184,-184,10,6,61,1,5,23,1,8,8,6,9,-241,-241,-241,443,444,-241,-241,-241,761,-241,5,6,61,1,5,32,-171,-171,-171,-171,-171,5,6,61,1,5,32,-172,-172,-172,-172,-172,1,87,762,5,6,61,1,5,40,-148,-148,-148,-148,-148,9,6,61,1,5,23,1,8,8,15,-241,-241,-241,455,763,-241,-241,-241,-241,22,68,25,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,764,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,14,39,17,1,24,1,1,7,4,5,5,2,29,37,2,327,154,106,156,157,155,101,765,766,84,158,197,326,196,22,68,25,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,767,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,5,6,61,1,5,24,-113,-113,-113,-113,-113,9,6,61,1,5,23,1,8,8,15,-241,-241,-241,465,768,-241,-241,-241,-241,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,769,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,600,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,22,68,25,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,770,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,6,6,61,1,5,19,5,-126,-126,-126,-126,-126,-126,9,6,61,1,5,11,1,1,11,29,-139,-139,-139,-139,-139,-139,-139,-139,-139,9,6,61,1,5,11,1,1,11,29,-140,-140,-140,-140,-140,-140,-140,-140,-140,22,87,6,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,771,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,772,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,1,66,773,22,68,25,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,774,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,775,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,776,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,777,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,778,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,779,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,780,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,127,-315,-315,-315,-315,-315,-315,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,781,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,127,-319,-319,-319,-319,-319,-319,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,62,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,62,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,1,87,782,5,6,61,1,5,55,-220,-220,-220,-220,-220,9,6,61,1,5,23,1,8,8,15,-241,-241,-241,503,783,-241,-241,-241,-241,5,6,61,1,5,55,-221,-221,-221,-221,-221,62,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,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,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,3,6,61,1,517,518,784,24,67,10,16,61,1,9,1,1,4,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,162,785,128,125,126,127,98,99,786,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,24,67,10,16,5,56,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,162,787,128,788,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,23,67,10,16,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,162,789,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,23,67,10,16,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,162,790,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,23,67,10,16,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,162,791,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,792,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,793,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,1,68,794,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,3,68,83,12,-279,-279,-279,23,67,6,20,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-228,-228,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,3,6,61,30,679,680,795,3,55,5,1,796,107,108,5,6,61,1,5,24,-358,-358,-358,-358,-358,9,6,61,1,5,23,1,8,8,15,-241,-241,-241,563,797,-241,-241,-241,-241,5,6,61,1,5,24,-359,-359,-359,-359,-359,3,55,5,1,798,107,108,5,6,61,1,5,24,-387,-387,-387,-387,-387,9,6,61,1,5,23,1,8,8,15,-241,-241,-241,570,799,-241,-241,-241,-241,5,6,61,1,5,24,-388,-388,-388,-388,-388,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,2,67,1,583,800,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,3,6,61,1,591,592,801,5,6,61,1,5,40,-151,-151,-151,-151,-151,4,95,74,2,2,802,485,487,488,11,56,1,24,1,1,7,4,10,2,29,39,154,106,156,157,155,101,803,159,158,197,196,5,6,61,1,5,24,-118,-118,-118,-118,-118,3,6,61,1,602,603,804,26,6,61,1,5,20,4,57,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-117,-117,-117,-117,128,-117,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,5,6,61,1,5,24,-120,-120,-120,-120,-120,9,6,61,1,5,11,1,1,11,29,-141,-141,-141,-141,-141,-141,-141,-141,-141,22,68,25,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,805,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,4,60,1,2,2,-62,-62,-62,-62,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-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,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,127,-309,-309,-309,806,-309,-309,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,807,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,127,-310,-310,-310,-310,-310,-310,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,127,-314,-314,-314,-314,-314,-314,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,127,-318,-318,-318,-318,-318,-318,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,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,127,-322,-322,-322,-322,-322,-322,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,808,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,809,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,62,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,-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,3,6,61,1,636,637,810,6,6,61,1,5,55,2,-201,-201,-201,-201,-201,-201,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,811,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,812,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,23,67,10,16,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,162,813,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,23,67,10,16,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,162,814,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,1,148,815,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,3,6,61,1,679,680,816,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,3,6,61,1,687,688,817,5,6,61,1,5,32,-173,-173,-173,-173,-173,5,6,61,1,5,40,-149,-149,-149,-149,-149,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,818,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,1,95,819,5,6,61,1,5,24,-114,-114,-114,-114,-114,1,87,820,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,821,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,822,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,127,-316,-316,-316,-316,-316,-316,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,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,127,-320,-320,-320,-320,-320,-320,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,5,6,61,1,5,55,-222,-222,-222,-222,-222,23,67,10,16,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,162,823,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,23,67,10,16,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,162,824,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,3,55,5,1,825,107,108,5,6,61,1,5,24,-360,-360,-360,-360,-360,5,6,61,1,5,24,-389,-389,-389,-389,-389,45,1,5,60,1,1,5,14,5,1,2,1,1,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-313,-313,-313,-313,-313,828,-313,-313,-313,-313,826,-313,827,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,127,-313,-313,-313,-313,-313,-313,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,829,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,9,6,61,1,5,11,1,1,11,29,-142,-142,-142,-142,-142,-142,-142,-142,-142,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,127,-311,-311,-311,-311,-311,-311,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,127,-312,-312,-312,-312,-312,-312,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,1,97,830,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,831,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,7,6,61,1,29,8,8,15,-242,-242,-242,-242,-242,-242,-242,45,1,5,60,1,1,5,14,5,1,2,1,1,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-315,-315,-315,-315,-315,828,-315,-315,-315,-315,832,-315,833,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,127,-315,-315,-315,-315,-315,-315,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,58,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,45,1,5,60,1,1,5,14,5,1,2,1,1,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-314,-314,-314,-314,-314,828,-314,-314,-314,-314,834,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,127,-314,-314,-314,-314,-314,-314,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,1,97,835,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,836,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,1,97,837,58,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,45,1,5,60,1,1,5,14,5,1,2,1,1,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-316,-316,-316,-316,-316,828,-316,-316,-316,-316,838,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,127,-316,-316,-316,-316,-316,-316,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,58,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,1,97,839,58,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108],_=[],U=0,w,u,$,W;while(U<f.length){w=f[U++],u={},$=0,W=[];while(w--)$+=f[U++],W.push($);for($ of W)u[$]=f[U++];_.push(u)}return _})(),ruleTable:[0,0,3,0,3,1,4,1,4,3,4,2,5,1,5,1,5,1,9,1,9,1,9,1,9,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,8,1,8,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,46,1,46,1,56,1,58,1,55,1,55,3,62,1,62,2,64,3,64,5,64,2,64,1,48,1,48,3,72,3,72,1,17,3,17,4,17,5,18,3,18,4,18,5,19,3,19,4,19,3,20,3,20,4,20,5,21,3,21,4,21,3,21,2,21,3,21,2,36,1,36,1,36,1,80,1,80,1,80,3,80,3,80,4,80,6,80,4,80,6,80,4,80,5,80,7,80,3,80,3,80,4,80,6,82,10,82,12,82,11,82,13,82,4,100,0,100,1,100,3,100,4,100,6,101,1,101,1,101,3,101,5,101,3,101,5,103,1,103,1,103,1,91,1,91,3,91,4,91,1,102,2,102,2,108,1,108,1,108,1,108,1,108,1,108,2,108,2,108,2,108,2,108,3,108,3,108,4,108,6,45,2,45,4,114,0,114,1,114,3,114,4,114,6,115,3,115,5,115,2,116,1,116,1,116,1,116,1,116,1,116,1,116,1,116,1,116,1,116,1,116,1,116,1,116,1,81,2,81,3,81,4,118,1,118,3,118,4,118,4,118,6,120,1,120,2,119,1,119,2,117,1,117,2,122,1,122,2,123,1,123,1,39,5,88,3,88,2,88,2,88,1,32,6,32,3,15,5,15,2,34,5,34,2,131,1,131,1,127,0,127,1,127,3,127,4,127,6,134,1,134,3,134,2,134,1,135,1,135,1,135,1,135,1,136,2,40,2,40,2,40,3,40,2,40,2,110,2,110,4,138,1,138,3,138,4,138,4,138,6,121,1,121,1,121,1,121,1,139,1,139,3,42,1,42,1,83,2,43,3,43,4,43,6,44,3,44,3,77,2,77,3,38,3,38,5,96,0,96,1,10,2,10,4,10,1,30,2,30,4,31,1,31,2,31,4,31,3,149,3,149,5,152,3,152,5,22,1,22,3,22,1,22,3,22,3,22,7,22,5,22,3,22,3,23,2,23,3,23,4,23,5,157,3,157,3,157,2,26,5,26,7,26,4,26,6,161,1,161,2,162,3,162,4,164,2,164,4,164,2,164,4,24,2,24,2,24,2,24,1,167,2,167,2,167,3,25,5,25,7,25,7,25,9,25,9,25,5,25,7,25,6,25,8,25,5,25,7,25,6,25,8,25,5,25,7,25,3,25,5,25,5,25,7,25,7,25,9,25,9,25,5,25,7,25,6,25,8,25,5,25,7,25,6,25,8,25,5,25,7,25,3,25,5,174,1,174,3,94,1,94,3,27,1,27,2,27,3,27,4,27,2,27,3,27,4,27,5,33,3,28,4,28,6,179,1,179,3,179,2,180,1,180,1,180,1,180,2,180,2,29,2,12,2,12,4,12,4,12,5,12,7,12,6,12,9,187,1,187,3,187,4,187,4,187,6,188,1,188,3,188,1,188,3,185,1,186,3,13,3,13,5,13,2,13,2,13,2,13,2,13,4,13,5,13,6,13,2,13,2,13,2,13,2,13,3,13,5,13,4,13,5,13,7,193,1,193,3,193,4,193,4,193,6,195,1,195,3,195,3,195,1,195,3,35,2,35,2,35,2,16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,4,16,2,16,2,16,2,16,2,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,5,16,3,16,5,16,4,41,2],ruleActions:(f,_,U,w)=>{let u=_,$=_.length-1;switch(f){case 1:return["program"];case 2:return["program",...u[$]];case 3:case 59:case 111:case 146:case 174:case 178:case 198:case 218:case 227:case 276:case 327:case 340:case 356:case 385:return[u[$]];case 4:case 112:case 147:case 199:case 219:case 228:case 341:case 357:case 386:return[...u[$-2],u[$]];case 5:case 61:case 181:case 342:return u[$-1];case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 64:case 65:case 87:case 88:case 89:case 90:case 91:case 116:case 121:case 122:case 123:case 124:case 127:case 130:case 131:case 132:case 133:case 134:case 153:case 154:case 155:case 156:case 157:case 158:case 161:case 162:case 163:case 164:case 165:case 169:case 195:case 196:case 202:case 206:case 207:case 208:case 209:case 223:case 224:case 225:case 241:case 242:case 256:case 258:case 287:case 325:case 343:case 344:case 345:case 361:case 363:case 365:case 390:case 393:return u[$];case 48:case 160:return"undefined";case 49:case 159:return"null";case 58:return["str",...u[$-1]];case 60:case 175:case 179:case 277:return[...u[$-1],u[$]];case 62:case 217:case 221:case 359:case 388:return u[$-2];case 63:return"";case 66:return["regex",u[$-1]];case 67:return["regex-index",u[$-2],u[$]];case 68:return["regex-index",u[$],null];case 69:case 119:return["=",u[$-2],u[$]];case 70:return["=",u[$-3],u[$]];case 71:case 120:return["=",u[$-4],u[$-1]];case 72:return["state",u[$-2],u[$]];case 73:return["state",u[$-3],u[$]];case 74:return["state",u[$-4],u[$-1]];case 75:case 77:return["computed",u[$-2],u[$]];case 76:return["computed",u[$-3],u[$]];case 78:return["readonly",u[$-2],u[$]];case 79:return["readonly",u[$-3],u[$]];case 80:return["readonly",u[$-4],u[$-1]];case 81:case 83:return["effect",u[$-2],u[$]];case 82:return["effect",u[$-3],u[$]];case 84:case 85:case 86:return["effect",null,u[$]];case 92:case 101:case 139:return[".",u[$-2],u[$]];case 93:case 102:case 140:return["?.",u[$-2],u[$]];case 94:case 96:case 103:case 141:return["[]",u[$-3],u[$-1]];case 95:case 97:case 104:case 142:return["[]",u[$-5],u[$-2]];case 98:return[u[$-1][0],u[$-3],...u[$-1].slice(1)];case 99:return["optindex",u[$-4],u[$-1]];case 100:return["optindex",u[$-6],u[$-2]];case 105:return["object-comprehension",u[$-8],u[$-6],[["for-of",u[$-4],u[$-2],!1]],[]];case 106:return["object-comprehension",u[$-10],u[$-8],[["for-of",u[$-6],u[$-4],!1]],[u[$-2]]];case 107:return["object-comprehension",u[$-9],u[$-7],[["for-of",u[$-4],u[$-2],!0]],[]];case 108:return["object-comprehension",u[$-11],u[$-9],[["for-of",u[$-6],u[$-4],!0]],[u[$-2]]];case 109:return["object",...u[$-2]];case 110:case 145:case 176:case 197:case 216:return[];case 113:case 148:case 200:case 220:case 358:case 387:return[...u[$-3],u[$]];case 114:case 149:case 201:case 222:case 360:case 389:return[...u[$-5],...u[$-2]];case 115:return[null,u[$],u[$]];case 117:case 150:return[":",u[$-2],u[$]];case 118:case 151:return[":",u[$-4],u[$-1]];case 125:return["dynamicKey",u[$-1]];case 126:return["[]","this",u[$-1]];case 128:case 129:case 152:case 210:return["...",u[$]];case 135:case 214:return["super",...u[$]];case 136:case 137:case 138:case 212:case 215:return[u[$-1],...u[$]];case 143:return["map-literal"];case 144:return["map-literal",...u[$-2]];case 166:return["array"];case 167:return["array",...u[$-1]];case 168:return["array",...u[$-2],...u[$-1]];case 170:return[...u[$-2],...u[$]];case 171:return[...u[$-3],...u[$]];case 172:return[...u[$-2],...u[$-1]];case 173:return[...u[$-5],...u[$-4],...u[$-2],...u[$-1]];case 177:return[...u[$]];case 180:return null;case 182:return"..";case 183:case 226:return"...";case 184:return[u[$-2],u[$-3],u[$-1]];case 185:case 413:case 415:case 416:case 430:case 432:return[u[$-1],u[$-2],u[$]];case 186:return[u[$],u[$-1],null];case 187:return[u[$-1],null,u[$]];case 188:return[u[$],null,null];case 189:return["def",u[$-4],u[$-2],u[$]];case 190:return["def",u[$-1],[],u[$]];case 191:case 193:return[u[$-1],u[$-3],u[$]];case 192:case 194:return[u[$-1],[],u[$]];case 203:case 326:return["default",u[$-2],u[$]];case 204:return["rest",u[$]];case 205:return["expansion"];case 211:return["tagged-template",u[$-1],u[$]];case 213:return["optcall",u[$-2],...u[$]];case 229:case 230:return"this";case 231:return[".","this",u[$]];case 232:return[".","super",u[$]];case 233:return["[]","super",u[$-1]];case 234:return["[]","super",u[$-2]];case 235:return[".","new",u[$]];case 236:return[".","import",u[$]];case 237:return["block"];case 238:return["block",...u[$-1]];case 239:return u[$-1].length===1?u[$-1][0]:["block",...u[$-1]];case 240:return u[$-2].length===1?u[$-2][0]:["block",...u[$-2]];case 243:return["return",u[$]];case 244:return["return",u[$-1]];case 245:return["return"];case 246:return["throw",u[$]];case 247:return["throw",u[$-1]];case 248:return["yield"];case 249:return["yield",u[$]];case 250:return["yield",u[$-1]];case 251:return["yield-from",u[$]];case 252:return["if",u[$-1],u[$]];case 253:return u[$-4].length===3?["if",u[$-4][1],u[$-4][2],["if",u[$-1],u[$]]]:[...u[$-4],["if",u[$-1],u[$]]];case 254:return["if",["!",u[$-1]],u[$]];case 255:return["if",["!",u[$-3]],u[$-2],u[$]];case 257:return u[$-2].length===3?["if",u[$-2][1],u[$-2][2],u[$]]:[...u[$-2],u[$]];case 259:case 260:return["if",u[$],[u[$-2]]];case 261:return["?:",u[$-4],u[$-6],u[$-1]];case 262:return["?:",u[$-2],u[$-4],u[$]];case 263:case 264:return["if",["!",u[$]],[u[$-2]]];case 265:return["try",u[$]];case 266:return["try",u[$-1],u[$]];case 267:return["try",u[$-2],u[$]];case 268:return["try",u[$-3],u[$-2],u[$]];case 269:case 270:case 395:case 398:case 400:return[u[$-1],u[$]];case 271:return[null,u[$]];case 272:return["switch",u[$-3],u[$-1],null];case 273:return["switch",u[$-5],u[$-3],u[$-1]];case 274:return["switch",null,u[$-1],null];case 275:return["switch",null,u[$-3],u[$-1]];case 278:return["when",u[$-1],u[$]];case 279:return["when",u[$-2],u[$-1]];case 280:return["while",u[$]];case 281:return["while",u[$-2],u[$]];case 282:return["while",["!",u[$]]];case 283:return["while",["!",u[$-2]],u[$]];case 284:return u[$-1].length===2?[u[$-1][0],u[$-1][1],u[$]]:[u[$-1][0],u[$-1][1],u[$-1][2],u[$]];case 285:case 286:return u[$].length===2?[u[$][0],u[$][1],[u[$-1]]]:[u[$][0],u[$][1],u[$][2],[u[$-1]]];case 288:return["loop",u[$]];case 289:return["loop",[u[$]]];case 290:return["loop-n",u[$-1],u[$]];case 291:return["for-in",u[$-3],u[$-1],null,null,u[$]];case 292:return["for-in",u[$-5],u[$-3],null,u[$-1],u[$]];case 293:return["for-in",u[$-5],u[$-3],u[$-1],null,u[$]];case 294:return["for-in",u[$-7],u[$-5],u[$-1],u[$-3],u[$]];case 295:return["for-in",u[$-7],u[$-5],u[$-3],u[$-1],u[$]];case 296:return["for-of",u[$-3],u[$-1],!1,null,u[$]];case 297:return["for-of",u[$-5],u[$-3],!1,u[$-1],u[$]];case 298:return["for-of",u[$-3],u[$-1],!0,null,u[$]];case 299:return["for-of",u[$-5],u[$-3],!0,u[$-1],u[$]];case 300:return["for-as",u[$-3],u[$-1],!1,null,u[$]];case 301:return["for-as",u[$-5],u[$-3],!1,u[$-1],u[$]];case 302:case 304:return["for-as",u[$-3],u[$-1],!0,null,u[$]];case 303:case 305:return["for-as",u[$-5],u[$-3],!0,u[$-1],u[$]];case 306:return["for-in",[],u[$-1],null,null,u[$]];case 307:return["for-in",[],u[$-3],u[$-1],null,u[$]];case 308:return["comprehension",u[$-4],[["for-in",u[$-2],u[$],null]],[]];case 309:return["comprehension",u[$-6],[["for-in",u[$-4],u[$-2],null]],[u[$]]];case 310:return["comprehension",u[$-6],[["for-in",u[$-4],u[$-2],u[$]]],[]];case 311:return["comprehension",u[$-8],[["for-in",u[$-6],u[$-4],u[$]]],[u[$-2]]];case 312:return["comprehension",u[$-8],[["for-in",u[$-6],u[$-4],u[$-2]]],[u[$]]];case 313:return["comprehension",u[$-4],[["for-of",u[$-2],u[$],!1]],[]];case 314:return["comprehension",u[$-6],[["for-of",u[$-4],u[$-2],!1]],[u[$]]];case 315:return["comprehension",u[$-5],[["for-of",u[$-2],u[$],!0]],[]];case 316:return["comprehension",u[$-7],[["for-of",u[$-4],u[$-2],!0]],[u[$]]];case 317:return["comprehension",u[$-4],[["for-as",u[$-2],u[$],!1,null]],[]];case 318:return["comprehension",u[$-6],[["for-as",u[$-4],u[$-2],!1,null]],[u[$]]];case 319:return["comprehension",u[$-5],[["for-as",u[$-2],u[$],!0,null]],[]];case 320:return["comprehension",u[$-7],[["for-as",u[$-4],u[$-2],!0,null]],[u[$]]];case 321:return["comprehension",u[$-4],[["for-as",u[$-2],u[$],!0,null]],[]];case 322:return["comprehension",u[$-6],[["for-as",u[$-4],u[$-2],!0,null]],[u[$]]];case 323:return["comprehension",u[$-2],[["for-in",[],u[$],null]],[]];case 324:return["comprehension",u[$-4],[["for-in",[],u[$-2],u[$]]],[]];case 328:case 362:case 364:case 391:case 392:case 394:return[u[$-2],u[$]];case 329:return["class",null,null];case 330:return["class",null,null,u[$]];case 331:return["class",null,u[$]];case 332:return["class",null,u[$-1],u[$]];case 333:return["class",u[$],null];case 334:return["class",u[$-1],null,u[$]];case 335:return["class",u[$-2],u[$]];case 336:return["class",u[$-3],u[$-1],u[$]];case 337:return["enum",u[$-1],u[$]];case 338:return["component",null,["block",...u[$-1]]];case 339:return["component",u[$-3],["block",...u[$-1]]];case 346:return["offer",u[$]];case 347:return["accept",u[$]];case 348:return["render",u[$]];case 349:case 352:return["import","{}",u[$]];case 350:case 351:return["import",u[$-2],u[$]];case 353:return["import",u[$-4],u[$]];case 354:return["import",u[$-4],u[$-2],u[$]];case 355:return["import",u[$-7],u[$-4],u[$]];case 366:return["*",u[$]];case 367:return["export","{}"];case 368:return["export",u[$-2]];case 369:case 370:case 371:case 372:case 376:case 377:case 378:case 379:return["export",u[$]];case 373:return["export",["=",u[$-2],u[$]]];case 374:return["export",["=",u[$-3],u[$]]];case 375:return["export",["=",u[$-4],u[$-1]]];case 380:return["export-default",u[$]];case 381:return["export-default",u[$-1]];case 382:return["export-all",u[$]];case 383:return["export-from","{}",u[$]];case 384:return["export-from",u[$-4],u[$]];case 396:case 397:case 399:case 435:return["do-iife",u[$]];case 401:return["-",u[$]];case 402:return["+",u[$]];case 403:return["?",u[$-1]];case 404:return["presence",u[$-1]];case 405:return["await",u[$]];case 406:return["await",u[$-1]];case 407:return["--",u[$],!1];case 408:return["++",u[$],!1];case 409:return["--",u[$-1],!0];case 410:return["++",u[$-1],!0];case 411:return["+",u[$-2],u[$]];case 412:return["-",u[$-2],u[$]];case 414:return["**",u[$-2],u[$]];case 417:return["&",u[$-2],u[$]];case 418:return["^",u[$-2],u[$]];case 419:return["|",u[$-2],u[$]];case 420:case 421:case 422:case 423:case 424:case 425:return["control",u[$-1],u[$-2],u[$]];case 426:return["&&",u[$-2],u[$]];case 427:return["||",u[$-2],u[$]];case 428:return["??",u[$-2],u[$]];case 429:return["|>",u[$-2],u[$]];case 431:return["?:",u[$-4],u[$-2],u[$]];case 433:return[u[$-3],u[$-4],u[$-1]];case 434:return[u[$-2],u[$-3],u[$]]}},parseError(f,_){let U,w,u,$,W,F,A;if(_.recoverable)return this.trace(f);else throw u=(_.line||0)+1,U=_.loc?.c||0,A=_.token?` (token: ${_.token})`:"",F=_.text?` near '${_.text}'`:"",$=`line ${u}, column ${U}`,W=`Parse error at ${$}${A}${F}: ${f}`,w=Error(W),w.hash=_,w},parse(f){let _,U,w,u,$,W,F,A,Y,G,Z,Q,J,M,K,R,z,q,O,D,I,B,H,X,P,S;[D,S,G]=[[0],[null],[]],[J,P,H,B,R]=[this.parseTable,"",0,0,0],[U,_]=[2,1],A=Object.create(this.lexer),q={ctx:{}};for(let E in this.ctx){if(!Object.hasOwn(this.ctx,E))continue;let L=this.ctx[E];q.ctx[E]=L}if(A.setInput(f,q.ctx),[q.ctx.lexer,q.ctx.parser]=[A,this],A.loc==null)A.loc={};X=A.loc,G.push(X),this.parseError=typeof q.ctx.parseError==="function"?q.ctx.parseError:Object.getPrototypeOf(this).parseError,F=()=>{let E;if(E=A.lex()||_,typeof E!=="number")E=this.symbolIds[E]||E;return E},I=M=O=w=K=Q=W=Z=$=null,z={};while(!0){if(O=D[D.length-1],I==null)I=F();if(w=J[O]?.[I],w==null){if(u="",!R)$=(()=>{let E=[];for(let L in J[O]){if(!Object.hasOwn(J[O],L))continue;if(this.tokenNames[L]&&L>U)E.push(`'${this.tokenNames[L]}'`)}return E})();throw u=(()=>{if(A.showPosition)return`Parse error on line ${H+1}:
13
13
  ${A.showPosition()}
14
- Expecting ${$.join(", ")}, got '${this.tokenNames[I]||I}'`;else return`Parse error on line ${K+1}: Unexpected ${I===_?"end of input":`'${this.tokenNames[I]||I}'`}`,this.parseError(u,{text:A.match,token:this.tokenNames[I]||I,line:A.line,loc:X,expected:$})})(),Error(u)}if(w>0)if(D.push(I,w),N.push(A.text),Y.push(A.loc),I=null,!J){if([P,E,K,X]=[A.len,A.text,A.line,A.loc],O>0)O--}else[I,J]=[J,null];else if(w<0){if(W=this.ruleTable[-w*2+1],z.$=N[N.length-W],G=Y[Y.length-(W||1)],z._$={r:G.r,c:G.c},H=this.ruleActions.call(z,-w,N,Y,q.ctx),H!=null)z.$=H;if(Array.isArray(z.$))z.$.loc=z._$;if(W)D.length-=W*2,N.length-=W,Y.length-=W;D.push(this.ruleTable[-w*2]),N.push(z.$),Y.push(z._$),R=M[D[D.length-2]][D[D.length-1]],D.push(R)}else if(w===0)return N[N.length-1]}},trace(){},ctx:{}},R4=(f={})=>{let _=Object.create(G4);return Object.defineProperty(_,"ctx",{value:{...f},enumerable:!1,writable:!0,configurable:!0}),_},z1=R4();var c4=z1.parse.bind(z1);var Z4=["abort","animationcancel","animationend","animationiteration","animationstart","auxclick","beforeinput","beforematch","beforetoggle","blur","cancel","canplay","canplaythrough","change","click","close","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"],N2=new Set(Z4);var z4=["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"];var M4=["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","set","stop","svg","switch","symbol","text","textPath","tspan","use","view"],Q4=["math","param","portal"],S2=new Set([...z4,...Q4]),M1=new Set(M4),P1=new Set([...S2,...M1]);var T2="__bind_",h2="__",o1=new Set(["beforeMount","mounted","updated","beforeUnmount","unmounted","onError"]),D4=new Set(["disabled","hidden","readonly","required","checked","selected","autofocus","autoplay","controls","loop","muted","multiple","novalidate","open","reversed","defer","async","formnovalidate","allowfullscreen","inert"]),a1="http://www.w3.org/2000/svg";function J4(f){for(let _ of f){if(!Array.isArray(_))continue;let U=_[1]instanceof String?_[1].valueOf():_[1],w=_[2]instanceof String?_[2].valueOf():_[2];if(U==="type"&&typeof w==="string")return w.replace(/^["']|["']$/g,"")}return null}function Q1(f){if(typeof f==="string"||f instanceof String)return f.valueOf();if(Array.isArray(f)&&f[0]==="."&&f[1]==="this"&&(typeof f[2]==="string"||f[2]instanceof String))return f[2].valueOf();return null}function s1(f){return Array.isArray(f)&&f[0]==="."&&f[1]==="this"}function V2(f){if(f instanceof String&&f.type)return f.type;if(Array.isArray(f)&&f[2]instanceof String&&f[2].type)return f[2].type;return null}function C2(f,_){let U=(F,A)=>F instanceof String?F[A]:void 0,w=_.prototype.classifyKeyword;_.prototype.classifyKeyword=function(F,A,G){if(F==="offer"||F==="accept"){let Y=0;for(let R=this.tokens.length-1;R>=0;R--){let Z=this.tokens[R][0];if(Z==="OUTDENT")Y++;else if(Z==="INDENT")Y--;if(Y<0&&this.tokens[R-1]?.[0]==="COMPONENT")return F.toUpperCase()}return A}return w.call(this,F,A,G)},_.prototype.rewriteRender=function(){let F=(z,q,Q)=>{let D=[z,q];if(D.pre=0,D.data=null,D.loc=Q?.loc??{r:0,c:0,n:0},D.spaced=!1,D.newLine=!1,D.generated=!0,Q)D.origin=Q;return D},A=!1,G=0,Y=0,R=[],Z=(z)=>{let q=z.split("#")[0];return P1.has(q)},M=(z)=>{if(!z||typeof z!=="string")return!1;return/^[A-Z]/.test(z)},J=(z)=>{return Z(z)||M(z)},H=(z,q,Q,D)=>{let I=1,P=q;while(P>=0&&I>0){let K=z[P][0];if(K===Q)I++;else if(K===D)I--;if(I>0)P--}return P},O=(z,q)=>{let Q=q;while(Q>0){let D=z[Q-1][0];if(D==="TERMINATOR"||D==="RENDER")break;if(D==="INDENT"||D==="OUTDENT"){let I=z[Q][0];if(I==="CALL_END"||I===")"){Q=H(z,Q-1,I,I==="CALL_END"?"CALL_START":"(");continue}break}if(D==="CALL_END"||D===")"){Q=H(z,Q-2,D,D==="CALL_END"?"CALL_START":"(");continue}if(D==="INTERPOLATION_END"){Q=H(z,Q-2,"INTERPOLATION_END","INTERPOLATION_START");continue}if(D==="STRING_END"){Q=H(z,Q-2,"STRING_END","STRING_START");continue}Q--}return z[Q]&&z[Q][0]==="IDENTIFIER"&&(J(z[Q][1])||(Q===0||z[Q-1][0]==="INDENT"||z[Q-1][0]==="TERMINATOR"||z[Q-1][0]==="RENDER"))};this.scanTokens(function(z,q,Q){let D=z[0],I=q<Q.length-1?Q[q+1]:null;if(D==="RENDER")return A=!0,G=Y+1,1;if(D==="INDENT")return Y++,1;if(D==="OUTDENT"){Y--;let P=0;while(R.length>0&&R[R.length-1]>Y){let K=F("CALL_END",")",z);Q.splice(q+1+P,0,K),R.pop(),P++}if(A&&Y<G)A=!1;return 1+P}if(!A)return 1;if(D==="="&&q>0){let P=Q[q-1][0];if(P==="TERMINATOR"||P==="INDENT"||P==="RENDER"){let K=F("IDENTIFIER","__text__",z),X=F("CALL_START","(",z);return Q.splice(q,1,K,X),this.detectEnd(q+2,(E)=>E[0]==="TERMINATOR"||E[0]==="OUTDENT",(E,N)=>Q.splice(N,0,F("CALL_END",")",E)),{returnOnNegativeLevel:!0}),2}}if(D==="UNARY_MATH"&&z[1]==="~"&&I&&I[0]==="IDENTIFIER"){z[0]="PROPERTY",z[1]="__transition__";let P=F(":",":",z),K=F("STRING",`"${I[1]}"`,I);return Q.splice(q+1,1,P,K),1}if(D==="PROPERTY"&&z[1][0]==="$"&&z[1].length>1)return z[0]="STRING",z[1]=`"data-${z[1].slice(1)}"`,1;if(D==="IDENTIFIER"&&!z.spaced){let P=[z[1]],K=q+1;while(K+1<Q.length){let X=Q[K],E=Q[K+1];if(X[0]==="-"&&!X.spaced&&(E[0]==="IDENTIFIER"||E[0]==="PROPERTY")){if(P.push(E[1]),K+=2,E[0]==="PROPERTY")break}else break}if(P.length>1&&K>q+1&&Q[K-1][0]==="PROPERTY"){let X=P.join("-");if(X[0]==="$")X="data-"+X.slice(1);return z[0]="STRING",z[1]=`"${X}"`,Q.splice(q+1,K-q-1),1}}if(D==="."){let P=q>0?Q[q-1]:null,K=P?P[0]:null;if(K==="INDENT"||K==="TERMINATOR"){if(I&&I[0]==="PROPERTY"){let X=q+2<Q.length?Q[q+2]:null;if(!X||X[0]!==":"){let E=F("IDENTIFIER","div",z);return Q.splice(q,0,E),2}}if(!I||I[0]!=="(")return z[0]="IDENTIFIER",z[1]="div",0}}if(D==="IDENTIFIER"||D==="PROPERTY"){let P=Q[q+1],K=Q[q+2];if(P&&P[0]==="#"&&K&&(K[0]==="PROPERTY"||K[0]==="IDENTIFIER")){if(z[1]=z[1]+"#"+K[1],K.spaced)z.spaced=!0;return Q.splice(q+1,2),0}}if(D==="BIND"){let P=q>0?Q[q-1]:null,K=Q[q+1];if(P&&(P[0]==="IDENTIFIER"||P[0]==="PROPERTY")&&K&&K[0]==="IDENTIFIER")return P[1]=`__bind_${P[1]}__`,z[0]=":",z[1]=":",1}if(D==="@"){let P=q+1;if(P<Q.length&&Q[P][0]==="PROPERTY"){P++;while(P+1<Q.length&&Q[P][0]==="."&&Q[P+1][0]==="PROPERTY")P+=2;if(P>q+2&&P<Q.length&&Q[P][0]===":"){let K=F("[","[",z);Q.splice(q,0,K);let X=F("]","]",Q[P+1]);return Q.splice(P+1,0,X),2}}}if(D==="."&&I&&I[0]==="("){let P=q>0?Q[q-1]:null,K=P?P[0]:null,X=K==="INDENT"||K==="TERMINATOR",E=F("PROPERTY","__clsx",z);I[0]="CALL_START";let N=1;for(let L=q+2;L<Q.length&&N>0;L++)if(Q[L][0]==="("||Q[L][0]==="CALL_START")N++;else if(Q[L][0]===")"){if(N--,N===0)Q[L][0]="CALL_END"}else if(Q[L][0]==="CALL_END")N--;if(X){let L=F("IDENTIFIER","div",z);return Q.splice(q,0,L),Q.splice(q+2,0,E),3}else if(K===":")return Q[q]=F("IDENTIFIER","__clsx",z),1;else return Q.splice(q+1,0,E),2}if(I&&I[0]==="INDENT"){if(I.fromThen)return 1;if(D==="->"||D==="=>"||D==="CALL_START"||D==="(")return 1;let P=!1,K=q>0?Q[q-1][0]:null,X=K==="IF"||K==="UNLESS"||K==="WHILE"||K==="UNTIL"||K==="WHEN"||K==="FORIN"||K==="FOROF"||K==="FORAS"||K==="FORASAWAIT"||K==="BY",E=!1;if(D==="CALL_END"){let L=1;for(let B=q-1;B>=0&&L>0;B--)if(Q[B][0]==="CALL_END")L++;else if(Q[B][0]==="CALL_START"){if(L--,L===0&&B>0&&Q[B-1][0]==="PROPERTY"&&Q[B-1][1]==="__clsx")E=!0}}let N=D==="IDENTIFIER"&&(K==="INDENT"||K==="TERMINATOR"||K==="RENDER");if(E)P=!0;else if(D==="IDENTIFIER"&&J(z[1])&&!X)P=!0;else if(D==="IDENTIFIER"&&!X)P=N||O(Q,q);else if(D==="PROPERTY"||D==="STRING"||D==="STRING_END"||D==="NUMBER"||D==="BOOL"||D==="CALL_END"||D===")"||D==="PRESENCE")P=O(Q,q);if(P){let L=!1;if(D==="PROPERTY"&&q>0&&Q[q-1][0]==="."){let h=q;while(h>=2&&Q[h-1][0]==="."&&Q[h-2][0]==="PROPERTY")h-=2;if(h>=2&&Q[h-1][0]==="."&&Q[h-2][0]==="IDENTIFIER"&&J(Q[h-2][1])){let j=h>=3?Q[h-3][0]:null;if(!j||j==="INDENT"||j==="OUTDENT"||j==="TERMINATOR"||j==="RENDER")L=!0}}if(E||D==="IDENTIFIER"&&(J(z[1])||N)||L){let h=F("CALL_START","(",z),j=F("->","->",z);return j.newLine=!0,Q.splice(q+1,0,h,j),R.push(Y+1),3}else{let h=F(",",",",z),j=F("->","->",z);return j.newLine=!0,Q.splice(q+1,0,h,j),3}}}if(D==="IDENTIFIER"&&M(z[1])&&I&&(I[0]==="OUTDENT"||I[0]==="TERMINATOR"))return Q.splice(q+1,0,F("CALL_START","(",z),F("CALL_END",")",z)),3;return 1})};let u=f.prototype;u.isHtmlTag=function(F){let A=F.split("#")[0];return P1.has(A.toLowerCase())},u.isComponent=function(F){if(!F||typeof F!=="string")return!1;return/^[A-Z]/.test(F)},u.collectTemplateClasses=function(F){let A=[],G=F;while(this.is(G,".")){let M=G[2];if(typeof M==="string"||M instanceof String)A.unshift(M.valueOf());G=G[1]}let Y=typeof G==="string"?G:G instanceof String?G.valueOf():null;if(Y===null)return{tag:null,classes:A,id:void 0,base:G};let[R,Z]=Y.split("#");if(!R)R="div";return{tag:R,classes:A,id:Z,base:G}};let $=(F)=>typeof F==="string"?F:F instanceof String?F.valueOf():null,W=(F,A)=>{if(!(F instanceof String))return A;let G=new String(A);if(F.predicate)G.predicate=!0;if(F.await)G.await=!0;return G.predicate||G.await?G:A};u.transformComponentMembers=function(F,A=new Set){let G=this._self;if(!Array.isArray(F)){let Y=$(F);if(Y&&A.has(Y))return F;if(Y&&this.reactiveMembers&&this.reactiveMembers.has(Y))return[".",[".",G,Y],W(F,"value")];if(Y&&this.componentMembers&&this.componentMembers.has(Y))return[".",G,W(F,Y)];return F}if(F[0]==="."&&F[1]==="this"&&$(F[2])!=null){let Y=F[2],R=$(Y);if(this.reactiveMembers&&this.reactiveMembers.has(R))return[".",[".",G,R],W(Y,"value")];return this._factoryMode?[".",G,Y]:F}if(F[0]==="."||F[0]==="?.")return[F[0],this.transformComponentMembers(F[1]),F[2]];if(F[0]==="->"){let Y=F[1],R=new Set(A);if(Array.isArray(Y))for(let Z of Y){let M=$(Array.isArray(Z)&&Z[0]==="default"?Z[1]:Z);if(M)R.add(M)}return["=>",F[1],this.transformComponentMembers(F[2],R)]}if(F[0]==="object"||F[0]==="map-literal")return[F[0],...F.slice(1).map((Y)=>{if(Array.isArray(Y)&&Y[0]==="...")return["...",this.transformComponentMembers(Y[1],A)];if(Array.isArray(Y)&&Y.length>=2){let R=Y[1],Z=Array.isArray(R)?this.transformComponentMembers(R,A):R,M=this.transformComponentMembers(Y[2],A);return[Y[0],Z,M]}return this.transformComponentMembers(Y,A)})];if(F[0]==="block"||F[0]==="program"){let Y=new Set(A),R=[F[0]];for(let Z=1;Z<F.length;Z++){let M=F[Z];if(Array.isArray(M)&&M[0]==="="){let J=$(M[1]);if(J&&!(this.reactiveMembers&&this.reactiveMembers.has(J))){R.push(["=",M[1],this.transformComponentMembers(M[2],Y)]),Y.add(J);continue}}R.push(this.transformComponentMembers(M,Y))}return R}return F.map((Y)=>this.transformComponentMembers(Y,A))},u.emitComponent=function(F,A,G,Y){let[,R]=A,Z=this.is(R,"block")?R.slice(1):[],M=[],J=[],H=[],O=[],z=[],q=[],Q=[],D=[],I=null,P=new Set,K=new Set;for(let T of Z){if(!Array.isArray(T))continue;let[V]=T;if(V==="offer"){if(T=T[1],!Array.isArray(T))continue;V=T[0];let C=Q1(T[1]);if(C)Q.push(C)}if(V==="accept"){let C=typeof T[1]==="string"?T[1]:Q1(T[1]);if(C)D.push(C),P.add(C),K.add(C)}else if(V==="."&&T[1]==="this"&&Q1(T)){let C=typeof T[2]==="string"||T[2]instanceof String?T[2].valueOf():null;if(C)M.push({name:C,value:void 0,isPublic:!0,type:T[2]?.type||null,required:!0}),P.add(C),K.add(C)}else if(V==="state"){let C=Q1(T[1]);if(C)M.push({name:C,value:T[2],isPublic:s1(T[1]),type:V2(T[1])}),P.add(C),K.add(C)}else if(V==="computed"){let C=Q1(T[1]);if(C)J.push({name:C,expr:T[2]}),P.add(C),K.add(C)}else if(V==="readonly"){let C=Q1(T[1]);if(C)H.push({name:C,value:T[2],isPublic:s1(T[1]),type:V2(T[1])}),P.add(C)}else if(V==="="){let C=Q1(T[1]);if(C)if(o1.has(C))z.push({name:C,value:T[2]});else{let l=T[2];if(Array.isArray(l)&&(l[0]==="->"||l[0]==="=>"))O.push({name:C,func:l}),P.add(C);else M.push({name:C,value:l,isPublic:s1(T[1])}),P.add(C),K.add(C)}}else if(V==="effect")q.push(T);else if(V==="render")I=T;else if(V==="object")for(let C=1;C<T.length;C++){let l=T[C];if(!Array.isArray(l))continue;let[,n,c]=l;if(typeof n==="string"&&o1.has(n))z.push({name:n,value:c});else if(typeof n==="string")O.push({name:n,func:c}),P.add(n)}}let X=new Map;for(let{name:T}of O)if(/^on[A-Z]/.test(T)&&!o1.has(T)){let V=T[2].toLowerCase()+T.slice(3);if(N2.has(V))X.set(V,T)}let E=A[0]?.valueOf?.()??null,N=new Set;for(let{name:T,isPublic:V}of M)if(V)N.add(T);for(let{name:T,isPublic:V}of H)if(V)N.add(T);let L=this.componentMembers,B=this.reactiveMembers,h=this._autoEventHandlers,j=this._inheritsTag;if(this.componentMembers=P,this.reactiveMembers=K,this._autoEventHandlers=X.size>0?X:null,this._inheritsTag=E||null,this.options.stubComponents){let T=(c)=>c?c.replace(/::/g,":").replace(/(\w+(?:<[^>]+>)?)\?\?/g,"$1 | null | undefined").replace(/(\w+(?:<[^>]+>)?)\?(?![.:])/g,"$1 | undefined").replace(/(\w+(?:<[^>]+>)?)\!/g,"NonNullable<$1>"):null,V=[];V.push("class {"),V.push(" declare _root: Element | null;"),V.push(" emit(_name: string, _detail?: any): void {}");let C=[];for(let{name:c,type:y,isPublic:b,required:g}of M){if(!b)continue;let i=T(y),d=g?"":"?";C.push(`${c}${d}: ${i||"any"}`),C.push(`__bind_${c}__?: Signal<${i||"any"}>`)}for(let{name:c,type:y,isPublic:b}of H){if(!b)continue;let g=T(y);C.push(`${c}?: ${g||"any"}`)}{let y=C.length>0&&M.some((g)=>g.isPublic&&g.required)?"":"?",b=C.length>0?`{${C.join("; ")}}`:"{}";if(E)b+=` & __RipProps<'${E}'>`;V.push(` constructor(_props${y}: ${b}) {}`)}let l=(c)=>{let y=c?.valueOf?.()??c;if(typeof y!=="string")return null;if(y==="true"||y==="false")return"boolean";if(/^-?\d+(\.\d+)?$/.test(y))return"number";if(y.startsWith('"')||y.startsWith("'"))return"string";return null};for(let{name:c,type:y,value:b}of M){let g=T(y)||l(b);V.push(g?` declare ${c}: Signal<${g}>;`:` declare ${c}: Signal<any>;`)}for(let{name:c,type:y,value:b}of H){let g=T(y)||l(b);V.push(g?` declare ${c}: ${g};`:` declare ${c}: any;`)}for(let{name:c,expr:y}of J)if(this.is(y,"block")){let b=this.transformComponentMembers(y),g=this.emitFunctionBody(b);V.push(` ${c} = __computed(() => ${g});`)}else{let b=this.emitInComponent(y,"value");V.push(` ${c} = __computed(() => ${b});`)}V.push(" _init(props) {");for(let{name:c,value:y,isPublic:b}of H){let g=this.emitInComponent(y,"value");V.push(b?` this.${c} = props.${c} ?? ${g};`:` this.${c} = ${g};`)}for(let{name:c,value:y,isPublic:b,required:g,type:i}of M)if(b&&g)V.push(` this.${c} = __state(props.__bind_${c}__ ?? props.${c});`);else if(b){let d=this.emitInComponent(y,"value");V.push(` this.${c} = __state(props.__bind_${c}__ ?? props.${c} ?? ${d});`)}else{let d=this.emitInComponent(y,"value");V.push(` this.${c} = __state(${d});`)}for(let c of q){let y=c[2],b=this.containsAwait(y)?"async ":"";if(this.is(y,"block")){let g=this.transformComponentMembers(y),i=this.emitFunctionBody(g,[],!0);V.push(` __effect(${b}() => ${i});`)}else{let g=this.emitInComponent(y,"value");V.push(` __effect(${b}() => { ${g}; });`)}}V.push(" }");let n=new Map;for(let[c,y]of X)n.set(y,c);if(I){let c=(y)=>{if(!Array.isArray(y))return;let b=y[0]?.valueOf?.()??y[0];if(typeof b==="string"&&b!=="object"&&b!=="switch"&&P1.has(b.split(/[.#]/)[0]))for(let g=1;g<y.length;g++){let i=y[g],d=this.is(i,"object")?i:null;if(!d&&Array.isArray(i)&&(i[0]==="->"||i[0]==="=>")&&this.is(i[2],"block")){for(let r=1;r<i[2].length;r++)if(this.is(i[2][r],"object")){d=i[2][r];break}}if(!d)continue;for(let r=1;r<d.length;r++){let v=d[r];if(!Array.isArray(v)||v.length<2)continue;let[,k,x]=v;if(Array.isArray(k)&&k[0]==="."&&k[1]==="this"&&Array.isArray(x)&&x[0]==="."&&x[1]==="this"){let s=typeof k[2]==="string"?k[2]:k[2]?.valueOf?.(),o=typeof x[2]==="string"?x[2]:x[2]?.valueOf?.();if(s&&o&&!n.has(o))n.set(o,s)}}}for(let g=1;g<y.length;g++)c(y[g])};c(I)}for(let{name:c,func:y}of O)if(Array.isArray(y)&&(y[0]==="->"||y[0]==="=>")){let[,b,g]=y;if((!b||Array.isArray(b)&&b.length===0)&&this.containsIt(g))b=["it"];let i=Array.isArray(b)?b.map((x)=>{let s=this.formatParam(x);if(x?.type)s+=`: ${x.type}`;return s}).join(", "):"",d=n.get(c);if(d&&Array.isArray(b)&&b.length>0){let x=b[0];if(!(x?.type||x instanceof String&&x.type)&&typeof(x?.valueOf?.()??x)==="string"){let o=x?.valueOf?.()??x;i=i.replace(o,`${o}: HTMLElementEventMap['${d}']`)}}let r=this.reactiveMembers?this.transformComponentMembers(g):g,v=this.containsAwait(g),k=this.emitFunctionBody(r,b||[]);V.push(` ${v?"async ":""}${c}(${i}) ${k}`)}for(let{name:c,value:y}of z)if(Array.isArray(y)&&(y[0]==="->"||y[0]==="=>")){let[,b,g]=y,i=Array.isArray(b)?b.map((k)=>this.formatParam(k)).join(", "):"",d=this.reactiveMembers?this.transformComponentMembers(g):g,r=this.containsAwait(g),v=this.emitFunctionBody(d,b||[]);V.push(` ${r?"async ":""}${c}(${i}) ${v}`)}if(I){let c=[],y=0,b=(d)=>{let r=[];for(let v of d){let k=null;if(this.is(v,"object"))k=v;else if(Array.isArray(v)&&(v[0]==="->"||v[0]==="=>")&&this.is(v[2],"block")){for(let x=1;x<v[2].length;x++)if(this.is(v[2][x],"object")){k=v[2][x];break}}if(k)for(let x=1;x<k.length;x++){let s=k[x],[,o,a]=s;if(typeof o==="string"&&!o.startsWith("@")){let w1=s.loc?.r??k.loc?.r;if(o.startsWith("__bind_")&&o.endsWith("__")){let _1=typeof a==="string"&&this.reactiveMembers?.has(a)?`this.${a}`:this.emitInComponent(a,"value");r.push({code:`${o}: ${_1}`,srcLine:w1})}else{let _1=this.emitInComponent(a,"value");r.push({code:`${o}: ${_1}`,srcLine:w1})}}}}return r},g=(d)=>{let r=[];for(let v of d){let k=null;if(this.is(v,"object"))k=v;else if(Array.isArray(v)&&(v[0]==="->"||v[0]==="=>")&&this.is(v[2],"block")){for(let x=1;x<v[2].length;x++)if(this.is(v[2][x],"object")){k=v[2][x];break}}if(k)for(let x=1;x<k.length;x++){let s=k[x];if(!Array.isArray(s)||s.length<2)continue;let[,o,a]=s,w1=s.loc?.r??k.loc?.r;if(Array.isArray(o)&&o[0]==="."&&o[1]==="this"){let _1=typeof o[2]==="string"?o[2]:o[2]?.valueOf?.();if(!_1)continue;let x1="@"+_1.split(".")[0],K3=this.emitInComponent(a,"value");r.push({code:`'${x1}': ${K3}`,srcLine:w1})}else if(typeof o==="string"){if(o==="key")continue;if(o.startsWith("__bind_")&&o.endsWith("__")){let _1=o.slice(7,-2),x1=this.emitInComponent(a,"value");r.push({code:`${_1}: ${x1}`,srcLine:w1})}else{let _1=this.emitInComponent(a,"value");r.push({code:`${o}: ${_1}`,srcLine:w1})}}}}return r},i=(d)=>{if(!Array.isArray(d))return;let r=d[0]?.valueOf?.()??d[0];if(typeof r==="string"&&/^[A-Z]/.test(r)){let v=b(d.slice(1)),k=`_${y++}`,x=`ConstructorParameters<typeof ${r}>[0] & {}`;if(v.length===0){let s=d.loc?.r;c.push(` const ${k}: ${x} = {};`+(s!=null?` // @rip-src:${s}`:""))}else if(v.length===1){let s=d.loc?.r??v[0].srcLine;c.push(` const ${k}: ${x} = {${v[0].code}};`+(s!=null?` // @rip-src:${s}`:""))}else{let s=d.loc?.r;if(new Set(v.map((a)=>a.srcLine).filter((a)=>a!=null)).size<=1){let a=v[0].srcLine??s;c.push(` const ${k}: ${x} = {${v.map((w1)=>w1.code).join(", ")}};`+(a!=null?` // @rip-src:${a}`:""))}else{c.push(` const ${k}: ${x} = {`+(s!=null?` // @rip-src:${s}`:""));for(let a of v)c.push(` ${a.code},`+(a.srcLine!=null?` // @rip-src:${a.srcLine}`:""));c.push(" };")}}}else if(typeof r==="string"&&!f.GENERATORS[r]&&(P1.has(r.split(/[.#]/)[0])||/^[a-z][\w-]*$/.test(r)&&d.length>1)){let v=r.split(/[.#]/)[0],k=g(d.slice(1)),x=d.loc?.r,s=x!=null?` // @rip-src:${x}`:"";if(k.length===0)c.push(` __ripEl('${v}');${s}`);else if(k.length===1){let o=k[0].srcLine??x,a=o!=null?` // @rip-src:${o}`:"";c.push(` __ripEl('${v}', {${k[0].code}});${a}`)}else if(new Set(k.map((a)=>a.srcLine).filter((a)=>a!=null)).size<=1){let a=k[0].srcLine??x,w1=a!=null?` // @rip-src:${a}`:"";c.push(` __ripEl('${v}', {${k.map((_1)=>_1.code).join(", ")}});${w1}`)}else{c.push(` __ripEl('${v}', {${s}`);for(let a of k)c.push(` ${a.code},`+(a.srcLine!=null?` // @rip-src:${a.srcLine}`:""));c.push(" });")}}for(let v=1;v<d.length;v++)i(d[v])};if(i(I),c.length>0){V.push(" _render() {");for(let d of c)V.push(d);V.push(" }")}}return V.push("}"),this.componentMembers=L,this.reactiveMembers=B,this._autoEventHandlers=h,this._inheritsTag=j,V.join(`
15
- `)}this.usesTemplates=!0,this.usesReactivity=!0;let S=[],p="";S.push("class extends __Component {"),S.push(" _init(props) {");for(let{name:T,value:V,isPublic:C}of H){let l=this.emitInComponent(V,"value");S.push(C?` this.${T} = props.${T} ?? ${l};`:` this.${T} = ${l};`)}for(let T of D)S.push(` this.${T} = getContext('${T}');`);for(let{name:T,value:V,isPublic:C,required:l}of M)if(C&&l)S.push(` this.${T} = __state(props.__bind_${T}__ ?? props.${T});`);else if(C){let n=this.emitInComponent(V,"value");S.push(` this.${T} = __state(props.__bind_${T}__ ?? props.${T} ?? ${n});`)}else{let n=this.emitInComponent(V,"value");S.push(` this.${T} = __state(${n});`)}if(E){if(S.push(" this._rest = {};"),S.push(" for (const __k in props) {"),N.size>0){let T=[...N].map((V)=>`__k !== '${V}'`).join(" && ");S.push(` if (${T} && !__k.startsWith('__bind_')) this._rest[__k] = props[__k];`)}else S.push(" if (!__k.startsWith('__bind_')) this._rest[__k] = props[__k];");S.push(" }")}for(let{name:T,expr:V}of J)if(this.is(V,"block")){let C=this.transformComponentMembers(V),l=this.emitFunctionBody(C);S.push(` this.${T} = __computed(() => ${l});`)}else{let C=this.emitInComponent(V,"value");S.push(` this.${T} = __computed(() => ${C});`)}for(let T of Q)S.push(` setContext('${T}', this.${T});`);for(let T of q){let V=T[2],C=this.containsAwait(V)?"async ":"";if(this.is(V,"block")){let l=this.transformComponentMembers(V),n=this.emitFunctionBody(l,[],!0);S.push(` __effect(${C}() => ${n});`)}else{let l=this.emitInComponent(V,"value");S.push(` __effect(${C}() => { ${l}; });`)}}if(S.push(" }"),E)S.push(" _setRestProp(key, value) {"),S.push(" if (key.startsWith('__bind_')) return;"),S.push(" this._rest || (this._rest = {});"),S.push(" if (value == null) delete this._rest[key];"),S.push(" else this._rest[key] = value;"),S.push(" this._applyInheritedProp(this._inheritedEl, key, value);"),S.push(" }"),S.push(" _applyRestToInheritedEl() {"),S.push(" if (!this._inheritedEl || !this._rest) return;"),S.push(" for (const key in this._rest) this._applyInheritedProp(this._inheritedEl, key, this._rest[key]);"),S.push(" }"),S.push(" _applyInheritedProp(el, key, value) {"),S.push(" if (!el || key === 'key' || key === 'ref' || key === 'children' || key.startsWith('__bind_')) return;"),S.push(" if (key[0] === '@') {"),S.push(" const event = key.slice(1).split('.')[0];"),S.push(" this._restHandlers || (this._restHandlers = {});"),S.push(" const prev = this._restHandlers[key];"),S.push(" if (prev) el.removeEventListener(event, prev);"),S.push(" if (typeof value === 'function') {"),S.push(" const next = (e) => __batch(() => value(e));"),S.push(" this._restHandlers[key] = next;"),S.push(" el.addEventListener(event, next);"),S.push(" } else {"),S.push(" delete this._restHandlers[key];"),S.push(" }"),S.push(" return;"),S.push(" }"),S.push(" if (key === 'class' || key === 'className') {"),S.push(" if (el instanceof SVGElement) el.setAttribute('class', __clsx(value));"),S.push(" else el.className = __clsx(value);"),S.push(" return;"),S.push(" }"),S.push(" if (key === 'style') {"),S.push(" if (value == null) { el.removeAttribute('style'); return; }"),S.push(" if (typeof value === 'string') { el.setAttribute('style', value); return; }"),S.push(" if (typeof value === 'object') { Object.assign(el.style, value); return; }"),S.push(" }"),S.push(" if (key === 'innerHTML' || key === 'textContent' || key === 'innerText') {"),S.push(" el[key] = value ?? '';"),S.push(" return;"),S.push(" }"),S.push(" if (key in el && !key.includes('-')) {"),S.push(" el[key] = value;"),S.push(" return;"),S.push(" }"),S.push(" if (value == null || value === false) {"),S.push(" el.removeAttribute(key);"),S.push(" return;"),S.push(" }"),S.push(" if (value === true) {"),S.push(" el.setAttribute(key, '');"),S.push(" return;"),S.push(" }"),S.push(" el.setAttribute(key, value);"),S.push(" }");for(let{name:T,func:V}of O)if(Array.isArray(V)&&(V[0]==="->"||V[0]==="=>")){let[,C,l]=V;if((!C||Array.isArray(C)&&C.length===0)&&this.containsIt(l))C=["it"];let n=Array.isArray(C)?C.map((g)=>this.formatParam(g)).join(", "):"",c=this.reactiveMembers?this.transformComponentMembers(l):l,y=this.containsAwait(l),b=this.emitFunctionBody(c,C||[]);S.push(` ${y?"async ":""}${T}(${n}) ${b}`)}for(let{name:T,value:V}of z)if(Array.isArray(V)&&(V[0]==="->"||V[0]==="=>")){let[,C,l]=V,n=Array.isArray(C)?C.map((g)=>this.formatParam(g)).join(", "):"",c=this.reactiveMembers?this.transformComponentMembers(l):l,y=this.containsAwait(l),b=this.emitFunctionBody(c,C||[]);S.push(` ${y?"async ":""}${T}(${n}) ${b}`)}if(I){let T=I[1],V=this.buildRender(T);if(V.blockFactories.length>0)p=V.blockFactories.join(`
14
+ Expecting ${$.join(", ")}, got '${this.tokenNames[I]||I}'`;else return`Parse error on line ${H+1}: Unexpected ${I===_?"end of input":`'${this.tokenNames[I]||I}'`}`,this.parseError(u,{text:A.match,token:this.tokenNames[I]||I,line:A.line,loc:X,expected:$})})(),Error(u)}if(w>0)if(D.push(I,w),S.push(A.text),G.push(A.loc),I=null,!M){if([B,P,H,X]=[A.len,A.text,A.line,A.loc],R>0)R--}else[I,M]=[M,null];else if(w<0){if(W=this.ruleTable[-w*2+1],z.$=S[S.length-W],Y=G[G.length-(W||1)],z._$={r:Y.r,c:Y.c},K=this.ruleActions.call(z,-w,S,G,q.ctx),K!=null)z.$=K;if(Array.isArray(z.$))z.$.loc=z._$;if(W)D.length-=W*2,S.length-=W,G.length-=W;D.push(this.ruleTable[-w*2]),S.push(z.$),G.push(z._$),Z=J[D[D.length-2]][D[D.length-1]],D.push(Z)}else if(w===0)return S[S.length-1]}},trace(){},ctx:{}},r3=(f={})=>{let _=Object.create(a3);return Object.defineProperty(_,"ctx",{value:{...f},enumerable:!1,writable:!0,configurable:!0}),_},M1=r3();var n4=M1.parse.bind(M1);var t3=["abort","animationcancel","animationend","animationiteration","animationstart","auxclick","beforeinput","beforematch","beforetoggle","blur","cancel","canplay","canplaythrough","change","click","close","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"],S2=new Set(t3);var s3=["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"];var e3=["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","set","stop","svg","switch","symbol","text","textPath","tspan","use","view"],u4=["math","param","portal"],L2=new Set([...s3,...u4]),D1=new Set(e3),H1=new Set([...L2,...D1]);var N2="__bind_",T2="__",u2=new Set(["beforeMount","mounted","updated","beforeUnmount","unmounted","onError"]),f4=new Set(["disabled","hidden","readonly","required","checked","selected","autofocus","autoplay","controls","loop","muted","multiple","novalidate","open","reversed","defer","async","formnovalidate","allowfullscreen","inert"]),f2="http://www.w3.org/2000/svg";function $4(f){for(let _ of f){if(!Array.isArray(_))continue;let U=_[1]instanceof String?_[1].valueOf():_[1],w=_[2]instanceof String?_[2].valueOf():_[2];if(U==="type"&&typeof w==="string")return w.replace(/^["']|["']$/g,"")}return null}function R1(f){if(typeof f==="string"||f instanceof String)return f.valueOf();if(Array.isArray(f)&&f[0]==="."&&f[1]==="this"&&(typeof f[2]==="string"||f[2]instanceof String))return f[2].valueOf();return null}function $2(f){return Array.isArray(f)&&f[0]==="."&&f[1]==="this"}function _2(f){if(f instanceof String&&f.type)return f.type;if(Array.isArray(f)&&f[2]instanceof String&&f[2].type)return f[2].type;return null}function V2(f,_){let U=(F,A)=>F instanceof String?F[A]:void 0,w=_.prototype.classifyKeyword;_.prototype.classifyKeyword=function(F,A,Y){if(F==="offer"||F==="accept"){let G=0;for(let Z=this.tokens.length-1;Z>=0;Z--){let Q=this.tokens[Z][0];if(Q==="OUTDENT")G++;else if(Q==="INDENT")G--;if(G<0&&this.tokens[Z-1]?.[0]==="COMPONENT")return F.toUpperCase()}return A}return w.call(this,F,A,Y)},_.prototype.rewriteRender=function(){let F=(z,q,O)=>{let D=[z,q];if(D.pre=0,D.data=null,D.loc=O?.loc??{r:0,c:0,n:0},D.spaced=!1,D.newLine=!1,D.generated=!0,O)D.origin=O;return D},A=!1,Y=0,G=0,Z=[],Q=(z)=>{let q=z.split("#")[0];return H1.has(q)},J=(z)=>{if(!z||typeof z!=="string")return!1;return/^[A-Z]/.test(z)},M=(z)=>{return Q(z)||J(z)},K=(z,q,O,D)=>{let I=1,B=q;while(B>=0&&I>0){let H=z[B][0];if(H===O)I++;else if(H===D)I--;if(I>0)B--}return B},R=(z,q)=>{let O=q;while(O>0){let D=z[O-1][0];if(D==="TERMINATOR"||D==="RENDER")break;if(D==="INDENT"||D==="OUTDENT"){let I=z[O][0];if(I==="CALL_END"||I===")"){O=K(z,O-1,I,I==="CALL_END"?"CALL_START":"(");continue}break}if(D==="CALL_END"||D===")"){O=K(z,O-2,D,D==="CALL_END"?"CALL_START":"(");continue}if(D==="INTERPOLATION_END"){O=K(z,O-2,"INTERPOLATION_END","INTERPOLATION_START");continue}if(D==="STRING_END"){O=K(z,O-2,"STRING_END","STRING_START");continue}O--}return z[O]&&z[O][0]==="IDENTIFIER"&&(M(z[O][1])||(O===0||z[O-1][0]==="INDENT"||z[O-1][0]==="TERMINATOR"||z[O-1][0]==="RENDER"))};this.scanTokens(function(z,q,O){let D=z[0],I=q<O.length-1?O[q+1]:null;if(D==="RENDER")return A=!0,Y=G+1,1;if(D==="INDENT")return G++,1;if(D==="OUTDENT"){G--;let B=0;while(Z.length>0&&Z[Z.length-1]>G){let H=F("CALL_END",")",z);O.splice(q+1+B,0,H),Z.pop(),B++}if(A&&G<Y)A=!1;return 1+B}if(!A)return 1;if(D==="="&&q>0){let B=O[q-1][0];if(B==="TERMINATOR"||B==="INDENT"||B==="RENDER"){let H=F("IDENTIFIER","__text__",z),X=F("CALL_START","(",z);return O.splice(q,1,H,X),this.detectEnd(q+2,(P)=>P[0]==="TERMINATOR"||P[0]==="OUTDENT",(P,S)=>O.splice(S,0,F("CALL_END",")",P)),{returnOnNegativeLevel:!0}),2}}if(D==="UNARY_MATH"&&z[1]==="~"&&I&&I[0]==="IDENTIFIER"){z[0]="PROPERTY",z[1]="__transition__";let B=F(":",":",z),H=F("STRING",`"${I[1]}"`,I);return O.splice(q+1,1,B,H),1}if(D==="PROPERTY"&&z[1][0]==="$"&&z[1].length>1)return z[0]="STRING",z[1]=`"data-${z[1].slice(1)}"`,1;if(D==="IDENTIFIER"&&!z.spaced){let B=[z[1]],H=q+1;while(H+1<O.length){let X=O[H],P=O[H+1];if(X[0]==="-"&&!X.spaced&&(P[0]==="IDENTIFIER"||P[0]==="PROPERTY")){if(B.push(P[1]),H+=2,P[0]==="PROPERTY")break}else break}if(B.length>1&&H>q+1&&O[H-1][0]==="PROPERTY"){let X=B.join("-");if(X[0]==="$")X="data-"+X.slice(1);return z[0]="STRING",z[1]=`"${X}"`,O.splice(q+1,H-q-1),1}}if(D==="."){let B=q>0?O[q-1]:null,H=B?B[0]:null;if(H==="INDENT"||H==="TERMINATOR"){if(I&&I[0]==="PROPERTY"){let X=q+2<O.length?O[q+2]:null;if(!X||X[0]!==":"){let P=F("IDENTIFIER","div",z);return O.splice(q,0,P),2}}if(!I||I[0]!=="(")return z[0]="IDENTIFIER",z[1]="div",0}}if(D==="IDENTIFIER"||D==="PROPERTY"){let B=O[q+1],H=O[q+2];if(B&&B[0]==="#"&&H&&(H[0]==="PROPERTY"||H[0]==="IDENTIFIER")){if(z[1]=z[1]+"#"+H[1],H.spaced)z.spaced=!0;return O.splice(q+1,2),0}}if(D==="BIND"){let B=q>0?O[q-1]:null,H=O[q+1];if(B&&(B[0]==="IDENTIFIER"||B[0]==="PROPERTY")&&H&&H[0]==="IDENTIFIER")return B[1]=`__bind_${B[1]}__`,z[0]=":",z[1]=":",1}if(D==="@"){let B=q+1;if(B<O.length&&O[B][0]==="PROPERTY"){B++;while(B+1<O.length&&O[B][0]==="."&&O[B+1][0]==="PROPERTY")B+=2;if(B>q+2&&B<O.length&&O[B][0]===":"){let H=F("[","[",z);O.splice(q,0,H);let X=F("]","]",O[B+1]);return O.splice(B+1,0,X),2}}}if(D==="."&&I&&I[0]==="("){let B=q>0?O[q-1]:null,H=B?B[0]:null,X=H==="INDENT"||H==="TERMINATOR",P=F("PROPERTY","__clsx",z);I[0]="CALL_START";let S=1;for(let E=q+2;E<O.length&&S>0;E++)if(O[E][0]==="("||O[E][0]==="CALL_START")S++;else if(O[E][0]===")"){if(S--,S===0)O[E][0]="CALL_END"}else if(O[E][0]==="CALL_END")S--;if(X){let E=F("IDENTIFIER","div",z);return O.splice(q,0,E),O.splice(q+2,0,P),3}else if(H===":")return O[q]=F("IDENTIFIER","__clsx",z),1;else return O.splice(q+1,0,P),2}if(I&&I[0]==="INDENT"){if(I.fromThen)return 1;if(D==="->"||D==="=>"||D==="CALL_START"||D==="(")return 1;let B=!1,H=q>0?O[q-1][0]:null,X=H==="IF"||H==="UNLESS"||H==="WHILE"||H==="UNTIL"||H==="WHEN"||H==="FORIN"||H==="FOROF"||H==="FORAS"||H==="FORASAWAIT"||H==="BY",P=!1;if(D==="CALL_END"){let E=1;for(let L=q-1;L>=0&&E>0;L--)if(O[L][0]==="CALL_END")E++;else if(O[L][0]==="CALL_START"){if(E--,E===0&&L>0&&O[L-1][0]==="PROPERTY"&&O[L-1][1]==="__clsx")P=!0}}let S=D==="IDENTIFIER"&&(H==="INDENT"||H==="TERMINATOR"||H==="RENDER");if(P)B=!0;else if(D==="IDENTIFIER"&&M(z[1])&&!X)B=!0;else if(D==="IDENTIFIER"&&!X)B=S||R(O,q);else if(D==="PROPERTY"||D==="STRING"||D==="STRING_END"||D==="NUMBER"||D==="BOOL"||D==="CALL_END"||D===")"||D==="PRESENCE")B=R(O,q);if(B){let E=!1;if(D==="PROPERTY"&&q>0&&O[q-1][0]==="."){let T=q;while(T>=2&&O[T-1][0]==="."&&O[T-2][0]==="PROPERTY")T-=2;if(T>=2&&O[T-1][0]==="."&&O[T-2][0]==="IDENTIFIER"&&M(O[T-2][1])){let C=T>=3?O[T-3][0]:null;if(!C||C==="INDENT"||C==="OUTDENT"||C==="TERMINATOR"||C==="RENDER")E=!0}}if(P||D==="IDENTIFIER"&&(M(z[1])||S)||E){let T=F("CALL_START","(",z),C=F("->","->",z);return C.newLine=!0,O.splice(q+1,0,T,C),Z.push(G+1),3}else{let T=F(",",",",z),C=F("->","->",z);return C.newLine=!0,O.splice(q+1,0,T,C),3}}}if(D==="IDENTIFIER"&&J(z[1])&&I&&(I[0]==="OUTDENT"||I[0]==="TERMINATOR"))return O.splice(q+1,0,F("CALL_START","(",z),F("CALL_END",")",z)),3;return 1})};let u=f.prototype;u.isHtmlTag=function(F){let A=F.split("#")[0];return H1.has(A.toLowerCase())},u.isComponent=function(F){if(!F||typeof F!=="string")return!1;return/^[A-Z]/.test(F)},u.collectTemplateClasses=function(F){let A=[],Y=F;while(this.is(Y,".")){let J=Y[2];if(typeof J==="string"||J instanceof String)A.unshift(J.valueOf());Y=Y[1]}let G=typeof Y==="string"?Y:Y instanceof String?Y.valueOf():null;if(G===null)return{tag:null,classes:A,id:void 0,base:Y};let[Z,Q]=G.split("#");if(!Z)Z="div";return{tag:Z,classes:A,id:Q,base:Y}};let $=(F)=>typeof F==="string"?F:F instanceof String?F.valueOf():null,W=(F,A)=>{if(!(F instanceof String))return A;let Y=new String(A);if(F.predicate)Y.predicate=!0;if(F.await)Y.await=!0;return Y.predicate||Y.await?Y:A};u.transformComponentMembers=function(F,A=new Set){let Y=this._self;if(!Array.isArray(F)){let G=$(F);if(G&&A.has(G))return F;if(G&&this.reactiveMembers&&this.reactiveMembers.has(G))return[".",[".",Y,G],W(F,"value")];if(G&&this.componentMembers&&this.componentMembers.has(G))return[".",Y,W(F,G)];return F}if(F[0]==="."&&F[1]==="this"&&$(F[2])!=null){let G=F[2],Z=$(G);if(this.reactiveMembers&&this.reactiveMembers.has(Z))return[".",[".",Y,Z],W(G,"value")];return this._factoryMode?[".",Y,G]:F}if(F[0]==="."||F[0]==="?.")return[F[0],this.transformComponentMembers(F[1]),F[2]];if(F[0]==="->"){let G=F[1],Z=new Set(A);if(Array.isArray(G))for(let Q of G){let J=$(Array.isArray(Q)&&Q[0]==="default"?Q[1]:Q);if(J)Z.add(J)}return["=>",F[1],this.transformComponentMembers(F[2],Z)]}if(F[0]==="object"||F[0]==="map-literal")return[F[0],...F.slice(1).map((G)=>{if(Array.isArray(G)&&G[0]==="...")return["...",this.transformComponentMembers(G[1],A)];if(Array.isArray(G)&&G.length>=2){let Z=G[1],Q=Array.isArray(Z)?this.transformComponentMembers(Z,A):Z,J=this.transformComponentMembers(G[2],A);return[G[0],Q,J]}return this.transformComponentMembers(G,A)})];if(F[0]==="block"||F[0]==="program"){let G=new Set(A),Z=[F[0]];for(let Q=1;Q<F.length;Q++){let J=F[Q];if(Array.isArray(J)&&J[0]==="="){let M=$(J[1]);if(M&&!(this.reactiveMembers&&this.reactiveMembers.has(M))){Z.push(["=",J[1],this.transformComponentMembers(J[2],G)]),G.add(M);continue}}Z.push(this.transformComponentMembers(J,G))}return Z}return F.map((G)=>this.transformComponentMembers(G,A))},u.emitComponent=function(F,A,Y,G){let[,Z]=A,Q=this.is(Z,"block")?Z.slice(1):[],J=[],M=[],K=[],R=[],z=[],q=[],O=[],D=[],I=null,B=new Set,H=new Set;for(let V of Q){if(!Array.isArray(V))continue;let[h]=V;if(h==="offer"){if(V=V[1],!Array.isArray(V))continue;h=V[0];let b=R1(V[1]);if(b)O.push(b)}if(h==="accept"){let b=typeof V[1]==="string"?V[1]:R1(V[1]);if(b)D.push(b),B.add(b),H.add(b)}else if(h==="."&&V[1]==="this"&&R1(V)){let b=typeof V[2]==="string"||V[2]instanceof String?V[2].valueOf():null;if(b)J.push({name:b,value:void 0,isPublic:!0,type:V[2]?.type||null,required:!0}),B.add(b),H.add(b)}else if(h==="state"){let b=R1(V[1]);if(b)J.push({name:b,value:V[2],isPublic:$2(V[1]),type:_2(V[1])}),B.add(b),H.add(b)}else if(h==="computed"){let b=R1(V[1]);if(b)M.push({name:b,expr:V[2],type:_2(V[1])}),B.add(b),H.add(b)}else if(h==="readonly"){let b=R1(V[1]);if(b)K.push({name:b,value:V[2],isPublic:$2(V[1]),type:_2(V[1])}),B.add(b)}else if(h==="="){let b=R1(V[1]);if(b)if(u2.has(b))z.push({name:b,value:V[2]});else{let l=V[2];if(Array.isArray(l)&&(l[0]==="->"||l[0]==="=>"))R.push({name:b,func:l}),B.add(b);else J.push({name:b,value:l,isPublic:$2(V[1])}),B.add(b),H.add(b)}}else if(h==="effect")q.push(V);else if(h==="render")I=V;else if(h==="object")for(let b=1;b<V.length;b++){let l=V[b];if(!Array.isArray(l))continue;let[,p,_1]=l;if(typeof p==="string"&&u2.has(p))z.push({name:p,value:_1});else if(typeof p==="string")R.push({name:p,func:_1}),B.add(p)}}let X=new Map;for(let{name:V}of R)if(/^on[A-Z]/.test(V)&&!u2.has(V)){let h=V[2].toLowerCase()+V.slice(3);if(S2.has(h))X.set(h,V)}let P=A[0]?.valueOf?.()??null,S=new Set;for(let{name:V,isPublic:h}of J)if(h)S.add(V);for(let{name:V,isPublic:h}of K)if(h)S.add(V);let E=this.componentMembers,L=this.reactiveMembers,T=this._autoEventHandlers,C=this._inheritsTag;if(this.componentMembers=B,this.reactiveMembers=H,this._autoEventHandlers=X.size>0?X:null,this._inheritsTag=P||null,this.options.stubComponents){let V=(y)=>y?y.replace(/::/g,":").replace(/(\w+(?:<[^>]+>)?)\?\?/g,"$1 | null | undefined").replace(/(\w+(?:<[^>]+>)?)\?(?![.:])/g,"$1 | undefined").replace(/(\w+(?:<[^>]+>)?)\!/g,"NonNullable<$1>"):null,h=[],b=this._componentTypeParams||"";h.push(`class ${b}{`),h.push(" declare _root: Element | null; declare app: any;"),h.push(" emit(_name: string, _detail?: any): void {}");let l=[];for(let{name:y,type:g,isPublic:v,required:n}of J){if(!v)continue;let s=V(g),u1=n?"":"?";l.push(`${y}${u1}: ${s||"any"}`),l.push(`__bind_${y}__?: Signal<${s||"any"}>`)}for(let{name:y,type:g,isPublic:v}of K){if(!v)continue;let n=V(g);l.push(`${y}?: ${n||"any"}`)}{let g=l.length>0&&J.some((n)=>n.isPublic&&n.required)?"":"?",v=l.length>0?`{${l.join("; ")}}`:"{}";if(P)v+=` & __RipProps<'${P}'>`;h.push(` constructor(_props${g}: ${v}) {}`)}let p=(y)=>{let g=y?.valueOf?.()??y;if(typeof g!=="string")return null;if(g==="true"||g==="false")return"boolean";if(/^-?\d+(\.\d+)?$/.test(g))return"number";if(g.startsWith('"')||g.startsWith("'"))return"string";return null};for(let{name:y,type:g,value:v}of J){let n=V(g)||p(v);h.push(n?` declare ${y}: Signal<${n}>;`:` declare ${y}: Signal<any>;`)}for(let{name:y,type:g,value:v}of K){let n=V(g)||p(v);h.push(n?` declare ${y}: ${n};`:` declare ${y}: any;`)}for(let{name:y,expr:g,type:v}of M){let n=V(v),s=n?`: Computed<${n}>`:"";if(this.is(g,"block")){let u1=this.transformComponentMembers(g),x=this.emitFunctionBody(u1);h.push(` ${y}${s} = __computed(() => ${x});`)}else{let u1=this.emitInComponent(g,"value");h.push(` ${y}${s} = __computed(() => ${u1});`)}}h.push(" _init(props) {");for(let{name:y,value:g,isPublic:v}of K){let n=this.emitInComponent(g,"value");h.push(v?` this.${y} = props.${y} ?? ${n};`:` this.${y} = ${n};`)}for(let{name:y,value:g,isPublic:v,required:n,type:s}of J)if(v&&n)h.push(` this.${y} = __state(props.__bind_${y}__ ?? props.${y});`);else if(v){let u1=this.emitInComponent(g,"value");h.push(` this.${y} = __state(props.__bind_${y}__ ?? props.${y} ?? ${u1});`)}else{let u1=this.emitInComponent(g,"value");h.push(` this.${y} = __state(${u1});`)}for(let y of q){let g=y[2],v=this.containsAwait(g)?"async ":"";if(this.is(g,"block")){let n=this.transformComponentMembers(g),s=this.emitFunctionBody(n,[],!0);h.push(` __effect(${v}() => ${s});`)}else{let n=this.emitInComponent(g,"value");h.push(` __effect(${v}() => { ${n}; });`)}}h.push(" }");let _1=new Map;for(let[y,g]of X)_1.set(g,y);if(I){let y=(g)=>{if(!Array.isArray(g))return;let v=g[0]?.valueOf?.()??g[0];if(typeof v==="string"&&v!=="object"&&v!=="switch"&&H1.has(v.split(/[.#]/)[0]))for(let n=1;n<g.length;n++){let s=g[n],u1=this.is(s,"object")?s:null;if(!u1&&Array.isArray(s)&&(s[0]==="->"||s[0]==="=>")&&this.is(s[2],"block")){for(let x=1;x<s[2].length;x++)if(this.is(s[2][x],"object")){u1=s[2][x];break}}if(!u1)continue;for(let x=1;x<u1.length;x++){let o=u1[x];if(!Array.isArray(o)||o.length<2)continue;let[,t,r]=o;if(Array.isArray(t)&&t[0]==="."&&t[1]==="this"&&Array.isArray(r)&&r[0]==="."&&r[1]==="this"){let j=typeof t[2]==="string"?t[2]:t[2]?.valueOf?.(),k=typeof r[2]==="string"?r[2]:r[2]?.valueOf?.();if(j&&k&&!_1.has(k))_1.set(k,j)}}}for(let n=1;n<g.length;n++)y(g[n])};y(I)}for(let{name:y,func:g}of R)if(Array.isArray(g)&&(g[0]==="->"||g[0]==="=>")){let[,v,n]=g;if((!v||Array.isArray(v)&&v.length===0)&&this.containsIt(n))v=["it"];let s=Array.isArray(v)?v.map((r)=>{let j=this.formatParam(r);if(r?.type)j+=`: ${r.type}`;return j}).join(", "):"",u1=_1.get(y);if(u1&&Array.isArray(v)&&v.length>0){let r=v[0];if(!(r?.type||r instanceof String&&r.type)&&typeof(r?.valueOf?.()??r)==="string"){let k=r?.valueOf?.()??r;s=s.replace(k,`${k}: HTMLElementEventMap['${u1}']`)}}let x=this.reactiveMembers?this.transformComponentMembers(n):n,o=this.containsAwait(n),t=this.emitFunctionBody(x,v||[]);h.push(` ${o?"async ":""}${y}(${s}) ${t}`)}for(let{name:y,value:g}of z)if(Array.isArray(g)&&(g[0]==="->"||g[0]==="=>")){let[,v,n]=g,s=Array.isArray(v)?v.map((t)=>this.formatParam(t)).join(", "):"",u1=this.reactiveMembers?this.transformComponentMembers(n):n,x=this.containsAwait(n),o=this.emitFunctionBody(u1,v||[]);h.push(` ${x?"async ":""}${y}(${s}) ${o}`)}if(I){let y=[],g=0,v=this.options.source?.split(`
15
+ `),n=(x)=>{let o=[];for(let t of x){let r=null;if(this.is(t,"object"))r=t;else if(Array.isArray(t)&&(t[0]==="->"||t[0]==="=>")&&this.is(t[2],"block")){for(let j=1;j<t[2].length;j++)if(this.is(t[2][j],"object")){r=t[2][j];break}}if(r)for(let j=1;j<r.length;j++){let k=r[j],[,m,a]=k;if(typeof m==="string"&&!m.startsWith("@")){let f1=k.loc?.r??r.loc?.r;if(m.startsWith("__bind_")&&m.endsWith("__")){let i=typeof a==="string"&&this.reactiveMembers?.has(a)?`this.${a}`:this.emitInComponent(a,"value");o.push({code:`${m}: ${i}`,srcLine:f1})}else{let i=this.emitInComponent(a,"value");o.push({code:`${m}: ${i}`,srcLine:f1})}}}}return o},s=(x)=>{let o=[];for(let t of x){let r=null;if(this.is(t,"object"))r=t;else if(Array.isArray(t)&&(t[0]==="->"||t[0]==="=>")&&this.is(t[2],"block")){for(let j=1;j<t[2].length;j++)if(this.is(t[2][j],"object")){r=t[2][j];break}}if(r)for(let j=1;j<r.length;j++){let k=r[j];if(!Array.isArray(k)||k.length<2)continue;let[,m,a]=k,f1=k.loc?.r??r.loc?.r;if(Array.isArray(m)&&m[0]==="."&&m[1]==="this"){let i=typeof m[2]==="string"?m[2]:m[2]?.valueOf?.();if(!i)continue;let e="@"+i.split(".")[0],n1=this.emitInComponent(a,"value");o.push({code:`'${e}': ${n1}`,srcLine:f1})}else if(typeof m==="string"){if(m==="key"){let i=this.emitInComponent(a,"value"),e=f1!=null?` // @rip-src:${f1}`:"";y.push(` (${i});${e}`);continue}if(m.startsWith("__bind_")&&m.endsWith("__")){let i=m.slice(7,-2),e=this.emitInComponent(a,"value");o.push({code:`${i}: ${e}`,srcLine:f1})}else{let i=this.emitInComponent(a,"value");o.push({code:`${m}: ${i}`,srcLine:f1})}}}}return o},u1=(x)=>{if(!Array.isArray(x))return;let o=x[0]?.valueOf?.()??x[0];if(o==="object")return;if(o==="if"||o==="unless"){let j=x[1];if(j!=null){let k=this.emitInComponent(j,"value"),m=x.loc?.r,a=m!=null?` // @rip-src:${m}`:"";y.push(` ${k};${a}`)}}else if(o==="?:"){let j=this.emitInComponent(x,"value"),k=x.loc?.r,m=k!=null?` // @rip-src:${k}`:"";y.push(` ${j};${m}`)}else if(o==="switch"){let j=x[1];if(j!=null){let k=this.emitInComponent(j,"value"),m=x.loc?.r,a=m!=null?` // @rip-src:${m}`:"";y.push(` ${k};${a}`)}}else if(o==="for-in"||o==="for-of"||o==="for-as"){let j=x[1],k=x[2];if(k!=null){let m=this.emitInComponent(k,"value"),a=x.loc?.r,f1=a!=null?` // @rip-src:${a}`:"",i;if(Array.isArray(j))if(j.length===1){let e=j[0];i=Array.isArray(e)?this.emitDestructuringPattern(e):String(e)}else if(o==="for-of")i=`[${j.map((e)=>String(e)).join(", ")}]`;else i=String(j[0]);else i=String(j);if(o==="for-of")y.push(` for (const ${i} of Object.entries(${m})) {${f1}`);else y.push(` for (const ${i} of ${m}) {${f1}`);for(let e=3;e<x.length;e++)if(x[e]!=null)u1(x[e]);y.push(" }");return}}else if(o==="__text__"){let j=x[1];if(j!=null){let k=this.emitInComponent(j,"value"),m=x.loc?.r,a=m!=null?` // @rip-src:${m}`:"";y.push(` ${k};${a}`)}}let t=(j,k,m)=>{if(typeof j!=="string"||!/^[a-z][\w-]*$/.test(j))return;if(f.GENERATORS[j])return;if(j==="null"||j==="undefined"||j==="true"||j==="false")return;let a=k.loc?.r;if(a!=null&&v){let i=new RegExp(`\\b${j}\\b`);for(let e=a;e<v.length;e++)if(i.test(v[e])){a=e;break}}let f1=a!=null?` // @rip-src:${a}`:"";if(this.componentMembers&&this.componentMembers.has(j))y.push(` this.${j};${f1}`);else if(m)y.push(` ${j};${f1}`);else y.push(` __ripEl('${j}');${f1}`)},r=typeof o==="string"&&/^[a-z][\w-]*$/.test(o)&&!f.GENERATORS[o]&&H1.has(o.split(/[.#]/)[0]);if(o==="block")for(let j=1;j<x.length;j++)t(x[j],x,!1);else if(r){for(let j=1;j<x.length;j++)t(x[j],x,!0);for(let j=1;j<x.length;j++){let k=x[j];if(!Array.isArray(k))continue;let m=k[0]?.valueOf?.()??k[0];if(m==="object"||m==="block"||m==="__text__")continue;if(typeof m==="string"){if(/^[A-Z]/.test(m))continue;if(H1.has(m.split(/[.#]/)[0]))continue;if(/^[a-z][\w-]*$/.test(m)&&!f.GENERATORS[m])continue;if(/^(if|unless|switch|for-in|for-of|for-as|while|until|loop|loop-n|try|throw|break|continue|break-if|continue-if|control|when|return|def|->|=>|class|enum|state|computed|readonly|effect|=|program)$/.test(m))continue}try{let a=this.emitInComponent(k,"value"),f1=k.loc?.r??x.loc?.r,i=f1!=null?` // @rip-src:${f1}`:"";y.push(` ${a};${i}`)}catch{}}}for(let j=1;j<x.length;j++)u1(x[j]);if(typeof o==="string"&&/^[A-Z]/.test(o)){let j=n(x.slice(1)),k=`_${g++}`,m=`ConstructorParameters<typeof ${o}>[0] & {}`;if(j.length===0){let a=x.loc?.r;y.push(` const ${k}: ${m} = {};`+(a!=null?` // @rip-src:${a}`:""))}else if(j.length===1){let a=x.loc?.r??j[0].srcLine;y.push(` const ${k}: ${m} = {${j[0].code}};`+(a!=null?` // @rip-src:${a}`:""))}else{let a=x.loc?.r;if(new Set(j.map((i)=>i.srcLine).filter((i)=>i!=null)).size<=1){let i=j[0].srcLine??a;y.push(` const ${k}: ${m} = {${j.map((e)=>e.code).join(", ")}};`+(i!=null?` // @rip-src:${i}`:""))}else{y.push(` const ${k}: ${m} = {`+(a!=null?` // @rip-src:${a}`:""));for(let i of j)y.push(` ${i.code},`+(i.srcLine!=null?` // @rip-src:${i.srcLine}`:""));y.push(" };")}}}else if(typeof o==="string"&&!f.GENERATORS[o]&&(H1.has(o.split(/[.#]/)[0])||/^[a-z][\w-]*$/.test(o)&&x.length>1)){let j=o.split(/[.#]/)[0],k=s(x.slice(1)),m=x.loc?.r,a=m!=null?` // @rip-src:${m}`:"";if(k.length===0)y.push(` __ripEl('${j}');${a}`);else if(k.length===1){let f1=k[0].srcLine??m,i=f1!=null?` // @rip-src:${f1}`:"";y.push(` __ripEl('${j}', {${k[0].code}});${i}`)}else if(new Set(k.map((i)=>i.srcLine).filter((i)=>i!=null)).size<=1){let i=k[0].srcLine??m,e=i!=null?` // @rip-src:${i}`:"";y.push(` __ripEl('${j}', {${k.map((n1)=>n1.code).join(", ")}});${e}`)}else{y.push(` __ripEl('${j}', {${a}`);for(let i of k)y.push(` ${i.code},`+(i.srcLine!=null?` // @rip-src:${i.srcLine}`:""));y.push(" });")}}};if(u1(I),y.length>0){h.push(" _render() {");for(let x of y)h.push(x);h.push(" }")}}return h.push("}"),this.componentMembers=E,this.reactiveMembers=L,this._autoEventHandlers=T,this._inheritsTag=C,h.join(`
16
+ `)}this.usesTemplates=!0,this.usesReactivity=!0;let N=[],d="";N.push("class extends __Component {"),N.push(" _init(props) {");for(let{name:V,value:h,isPublic:b}of K){let l=this.emitInComponent(h,"value");N.push(b?` this.${V} = props.${V} ?? ${l};`:` this.${V} = ${l};`)}for(let V of D)N.push(` this.${V} = getContext('${V}');`);for(let{name:V,value:h,isPublic:b,required:l}of J)if(b&&l)N.push(` this.${V} = __state(props.__bind_${V}__ ?? props.${V});`);else if(b){let p=this.emitInComponent(h,"value");N.push(` this.${V} = __state(props.__bind_${V}__ ?? props.${V} ?? ${p});`)}else{let p=this.emitInComponent(h,"value");N.push(` this.${V} = __state(${p});`)}if(P){if(N.push(" this._rest = {};"),N.push(" for (const __k in props) {"),S.size>0){let V=[...S].map((h)=>`__k !== '${h}'`).join(" && ");N.push(` if (${V} && !__k.startsWith('__bind_')) this._rest[__k] = props[__k];`)}else N.push(" if (!__k.startsWith('__bind_')) this._rest[__k] = props[__k];");N.push(" }")}for(let{name:V,expr:h}of M)if(this.is(h,"block")){let b=this.transformComponentMembers(h),l=this.emitFunctionBody(b);N.push(` this.${V} = __computed(() => ${l});`)}else{let b=this.emitInComponent(h,"value");N.push(` this.${V} = __computed(() => ${b});`)}for(let V of O)N.push(` setContext('${V}', this.${V});`);for(let V of q){let h=V[2],b=this.containsAwait(h)?"async ":"";if(this.is(h,"block")){let l=this.transformComponentMembers(h),p=this.emitFunctionBody(l,[],!0);N.push(` __effect(${b}() => ${p});`)}else{let l=this.emitInComponent(h,"value");N.push(` __effect(${b}() => { ${l}; });`)}}if(N.push(" }"),P)N.push(" _setRestProp(key, value) {"),N.push(" if (key.startsWith('__bind_')) return;"),N.push(" this._rest || (this._rest = {});"),N.push(" if (value == null) delete this._rest[key];"),N.push(" else this._rest[key] = value;"),N.push(" this._applyInheritedProp(this._inheritedEl, key, value);"),N.push(" }"),N.push(" _applyRestToInheritedEl() {"),N.push(" if (!this._inheritedEl || !this._rest) return;"),N.push(" for (const key in this._rest) this._applyInheritedProp(this._inheritedEl, key, this._rest[key]);"),N.push(" }"),N.push(" _applyInheritedProp(el, key, value) {"),N.push(" if (!el || key === 'key' || key === 'ref' || key === 'children' || key.startsWith('__bind_')) return;"),N.push(" if (key[0] === '@') {"),N.push(" const event = key.slice(1).split('.')[0];"),N.push(" this._restHandlers || (this._restHandlers = {});"),N.push(" const prev = this._restHandlers[key];"),N.push(" if (prev) el.removeEventListener(event, prev);"),N.push(" if (typeof value === 'function') {"),N.push(" const next = (e) => __batch(() => value(e));"),N.push(" this._restHandlers[key] = next;"),N.push(" el.addEventListener(event, next);"),N.push(" } else {"),N.push(" delete this._restHandlers[key];"),N.push(" }"),N.push(" return;"),N.push(" }"),N.push(" if (key === 'class' || key === 'className') {"),N.push(" if (el instanceof SVGElement) el.setAttribute('class', __clsx(value));"),N.push(" else el.className = __clsx(value);"),N.push(" return;"),N.push(" }"),N.push(" if (key === 'style') {"),N.push(" if (value == null) { el.removeAttribute('style'); return; }"),N.push(" if (typeof value === 'string') { el.setAttribute('style', value); return; }"),N.push(" if (typeof value === 'object') { Object.assign(el.style, value); return; }"),N.push(" }"),N.push(" if (key === 'innerHTML' || key === 'textContent' || key === 'innerText') {"),N.push(" el[key] = value ?? '';"),N.push(" return;"),N.push(" }"),N.push(" if (key in el && !key.includes('-')) {"),N.push(" el[key] = value;"),N.push(" return;"),N.push(" }"),N.push(" if (value == null || value === false) {"),N.push(" el.removeAttribute(key);"),N.push(" return;"),N.push(" }"),N.push(" if (value === true) {"),N.push(" el.setAttribute(key, '');"),N.push(" return;"),N.push(" }"),N.push(" el.setAttribute(key, value);"),N.push(" }");for(let{name:V,func:h}of R)if(Array.isArray(h)&&(h[0]==="->"||h[0]==="=>")){let[,b,l]=h;if((!b||Array.isArray(b)&&b.length===0)&&this.containsIt(l))b=["it"];let p=Array.isArray(b)?b.map((v)=>this.formatParam(v)).join(", "):"",_1=this.reactiveMembers?this.transformComponentMembers(l):l,y=this.containsAwait(l),g=this.emitFunctionBody(_1,b||[]);N.push(` ${y?"async ":""}${V}(${p}) ${g}`)}for(let{name:V,value:h}of z)if(Array.isArray(h)&&(h[0]==="->"||h[0]==="=>")){let[,b,l]=h,p=Array.isArray(b)?b.map((v)=>this.formatParam(v)).join(", "):"",_1=this.reactiveMembers?this.transformComponentMembers(l):l,y=this.containsAwait(l),g=this.emitFunctionBody(_1,b||[]);N.push(` ${y?"async ":""}${V}(${p}) ${g}`)}if(I){let V=I[1],h=this.buildRender(V);if(h.blockFactories.length>0)d=h.blockFactories.join(`
16
17
 
17
18
  `)+`
18
19
 
19
- `;S.push(" _create() {");for(let C of V.createLines)S.push(` ${C}`);if(S.push(` return ${V.rootVar};`),S.push(" }"),V.setupLines.length>0){S.push(" _setup() {");for(let C of V.setupLines)S.push(` ${C}`);S.push(" }")}}if(S.push("}"),this.componentMembers=L,this.reactiveMembers=B,this._autoEventHandlers=h,this._inheritsTag=j,p)return`(() => {
20
- ${p}return ${S.join(`
20
+ `;N.push(" _create() {");for(let b of h.createLines)N.push(` ${b}`);if(N.push(` return ${h.rootVar};`),N.push(" }"),h.setupLines.length>0){N.push(" _setup() {");for(let b of h.setupLines)N.push(` ${b}`);N.push(" }")}}if(N.push("}"),this.componentMembers=E,this.reactiveMembers=L,this._autoEventHandlers=T,this._inheritsTag=C,d)return`(() => {
21
+ ${d}return ${N.join(`
21
22
  `)};
22
- })()`;return S.join(`
23
- `)},u.emitInComponent=function(F,A){if(typeof F==="string"&&this.reactiveMembers&&this.reactiveMembers.has(F))return`${this._self}.${F}.value`;if(typeof F==="string"&&this.componentMembers&&this.componentMembers.has(F))return`${this._self}.${F}`;if(Array.isArray(F)&&this.reactiveMembers){let G=this.transformComponentMembers(F);return this.emit(G,A)}return this.emit(F,A)},u.emitRender=function(F,A,G,Y){throw Error("render blocks can only be used inside a component")},u.emitOffer=function(F,A,G,Y){throw Error("offer can only be used inside a component")},u.emitAccept=function(F,A,G,Y){throw Error("accept can only be used inside a component")},u.buildRender=function(F){this._elementCount=0,this._textCount=0,this._blockCount=0,this._createLines=[],this._setupLines=[],this._blockFactories=[],this._loopVarStack=[],this._factoryMode=!1,this._factoryVars=null,this._fragChildren=new Map,this._pendingAutoWire=!1,this._autoWireEl=null,this._autoWireExplicit=null,this._inheritsTargetBound=!1;let A=this.is(F,"block")?F.slice(1):[F],G;if(A.length===0)G="null";else if(A.length===1)this._pendingAutoWire=!!this._autoEventHandlers,G=this.emitNode(A[0]),this._pendingAutoWire=!1;else{G=this.newElementVar("frag"),this._createLines.push(`${G} = document.createDocumentFragment();`);let Y=[];for(let R of A){let Z=this.emitNode(R);this._createLines.push(`${G}.appendChild(${Z});`),Y.push(Z)}this._fragChildren.set(G,Y)}return{createLines:this._createLines,setupLines:this._setupLines,blockFactories:this._blockFactories,rootVar:G}},u.newBlockVar=function(){return`create_block_${this._blockCount++}`},u.newElementVar=function(F="el"){let A=`_${F}${this._elementCount++}`;if(this._factoryVars)this._factoryVars.add(A);return this._factoryMode?A:`this.${A}`},u.newTextVar=function(){let F=`_t${this._textCount++}`;if(this._factoryVars)this._factoryVars.add(F);return this._factoryMode?F:`this.${F}`},Object.defineProperty(u,"_self",{get(){return this._factoryMode?"ctx":"this"}}),u._pushEffect=function(F){if(this._factoryMode)this._setupLines.push(`disposers.push(__effect(() => { ${F} }));`);else this._setupLines.push(`__effect(() => { ${F} });`)},u.emitNode=function(F){if(typeof F==="string"||F instanceof String){let M=F.valueOf();if(M.startsWith('"')||M.startsWith("'")||M.startsWith("`")){let q=this.newTextVar();return this._createLines.push(`${q} = document.createTextNode(${M});`),q}if(this.reactiveMembers&&this.reactiveMembers.has(M)){let q=this.newTextVar();return this._createLines.push(`${q} = document.createTextNode('');`),this._pushEffect(`${q}.data = ${this._self}.${M}.value;`),q}if(M==="slot"&&this.componentMembers){let q=this._self,Q=this.newElementVar("slot");return this._createLines.push(`${Q} = ${q}.children instanceof Node ? ${q}.children : (${q}.children != null ? document.createTextNode(String(${q}.children)) : document.createComment(''));`),Q}let[J,H]=M.split("#"),O=this.newElementVar(),z=J||"div";if(M1.has(z)||this._svgDepth>0)this._createLines.push(`${O} = document.createElementNS('${a1}', '${z}');`);else this._createLines.push(`${O} = document.createElement('${z}');`);if(H)this._createLines.push(`${O}.id = '${H}';`);return this._bindInheritedTarget(z,O),O}if(!Array.isArray(F)){let M=this.newElementVar("c");return this._createLines.push(`${M} = document.createComment('unknown');`),M}let[A,...G]=F,Y=typeof A==="string"?A:A instanceof String?A.valueOf():null;if(Y&&this.isComponent(Y))return this.emitChildComponent(Y,G);if(Y==="slot"&&this.componentMembers){let M=this._self,J=this.newElementVar("slot");return this._createLines.push(`${J} = ${M}.children instanceof Node ? ${M}.children : (${M}.children != null ? document.createTextNode(String(${M}.children)) : document.createComment(''));`),J}if(Y==="switch"){let M=G[0],J=G[1]||[],O=G[2]||null;for(let q=J.length-1;q>=0;q--){let[,Q,D]=J[q],I;if(M===null)I=Q.length===1?Q[0]:Q.reduce((P,K)=>P?["||",P,K]:K,null);else I=Q.length===1?["==",M,Q[0]]:Q.map((P)=>["==",M,P]).reduce((P,K)=>P?["||",P,K]:K,null);O=["if",I,D,O]}if(O){if(Array.isArray(O)&&O[0]==="if")return this.emitConditional(O);return this.emitTemplateBlock(O)}let z=this.newElementVar("c");return this._createLines.push(`${z} = document.createComment('switch');`),z}if(Y&&this.isHtmlTag(Y)&&!U(A,"text")){let[M,J]=Y.split("#");return this.emitTag(M||"div",[],G,J)}if(Y==="."){let[,M,J]=F;if(M==="this"&&typeof J==="string"){let I=this._self;if(this.reactiveMembers&&this.reactiveMembers.has(J)){let K=this.newTextVar();return this._createLines.push(`${K} = document.createTextNode('');`),this._pushEffect(`${K}.data = ${I}.${J}.value;`),K}let P=this.newElementVar("slot");return this._createLines.push(`${P} = ${I}.${J} instanceof Node ? ${I}.${J} : (${I}.${J} != null ? document.createTextNode(String(${I}.${J})) : document.createComment(''));`),P}let{tag:H,classes:O,id:z,base:q}=this.collectTemplateClasses(F);if(!U(q,"text")&&H&&this.isHtmlTag(H))return this.emitTag(H,O,[],z);let Q=this.newTextVar(),D=this.emitInComponent(F,"value");return this._createLines.push(`${Q} = document.createTextNode(String(${D}));`),Q}if(Array.isArray(A)){if(Array.isArray(A[0])&&A[0][0]==="."&&(A[0][2]==="__clsx"||A[0][2]instanceof String&&A[0][2].valueOf()==="__clsx")){let O=A[0][1],z=A.slice(1);if(Array.isArray(O)){let{tag:Q,classes:D,id:I}=this.collectTemplateClasses(O);if(Q){let P=D.map((K)=>`"${K}"`);return this.emitDynamicTag(Q,z,G,P,I)}}let q=typeof O==="string"?O:O.valueOf();return this.emitDynamicTag(q,z,G)}let{tag:M,classes:J,id:H}=this.collectTemplateClasses(A);if(M&&this.isHtmlTag(M)){if(J.length>0&&J[J.length-1]==="__clsx"){let z=J.slice(0,-1).map((q)=>`"${q}"`);return this.emitDynamicTag(M,G,[],z,H)}return this.emitTag(M,J,G,H)}}if(Y==="->"||Y==="=>")return this.emitTemplateBlock(G[1]);if(Y==="if")return this.emitConditional(F);if(Y==="for"||Y==="for-in"||Y==="for-of"||Y==="for-as")return this.emitTemplateLoop(F);if(Y==="__text__"){let M=G[0]??"undefined",J=this.newTextVar(),H=this.emitInComponent(M,"value");if(this.hasReactiveDeps(M))this._createLines.push(`${J} = document.createTextNode('');`),this._pushEffect(`${J}.data = String(${H});`);else this._createLines.push(`${J} = document.createTextNode(String(${H}));`);return J}let R=this.newTextVar(),Z=this.emitInComponent(F,"value");if(this.hasReactiveDeps(F))this._createLines.push(`${R} = document.createTextNode('');`),this._pushEffect(`${R}.data = ${Z};`);else this._createLines.push(`${R} = document.createTextNode(String(${Z}));`);return R},u.appendChildren=function(F,A){for(let G of A)if(this.is(G,"->")||this.is(G,"=>")){let Y=G[2];if(this.is(Y,"block"))for(let R of Y.slice(1))if(this.is(R,"object"))this.emitAttributes(F,R);else{let Z=this.emitNode(R);this._createLines.push(`${F}.appendChild(${Z});`)}else if(Y){let R=this.emitNode(Y);this._createLines.push(`${F}.appendChild(${R});`)}}else if(this.is(G,"object"))this.emitAttributes(F,G);else if(typeof G==="string"||G instanceof String){let Y=G.valueOf(),R=Y.split(/[#.]/)[0];if(this.isHtmlTag(R||"div")||this.isComponent(R)){let Z=this.emitNode(G);this._createLines.push(`${F}.appendChild(${Z});`)}else{let Z=this.newTextVar();if(Y.startsWith('"')||Y.startsWith("'")||Y.startsWith("`"))this._createLines.push(`${Z} = document.createTextNode(${Y});`);else if(this.reactiveMembers&&this.reactiveMembers.has(Y))this._createLines.push(`${Z} = document.createTextNode('');`),this._pushEffect(`${Z}.data = ${this._self}.${Y}.value;`);else if(this.componentMembers&&this.componentMembers.has(Y))this._createLines.push(`${Z} = document.createTextNode(String(${this._self}.${Y}));`);else this._createLines.push(`${Z} = document.createTextNode(${this.emitInComponent(G,"value")});`);this._createLines.push(`${F}.appendChild(${Z});`)}}else if(G){let Y=this.emitNode(G);this._createLines.push(`${F}.appendChild(${Y});`)}},u._claimAutoWire=function(F){if(!this._pendingAutoWire||!this._autoEventHandlers?.size)return!1;return this._pendingAutoWire=!1,this._autoWireEl=F,this._autoWireExplicit=new Set,!0},u._emitAutoWire=function(F,A){if(!A)return;for(let[G,Y]of this._autoEventHandlers)if(!this._autoWireExplicit.has(G))this._createLines.push(`${F}.addEventListener('${G}', (e) => __batch(() => ${this._self}.${Y}(e)));`);this._autoWireEl=null,this._autoWireExplicit=null},u._bindInheritedTarget=function(F,A){if(!this._inheritsTag||this._factoryMode||this._inheritsTargetBound)return;if(F!==this._inheritsTag)return;this._inheritsTargetBound=!0,this._createLines.push(`this._inheritedEl = ${A};`),this._createLines.push("this._applyRestToInheritedEl();")},u.emitTag=function(F,A,G,Y){let R=this.newElementVar(),Z=M1.has(F)||this._svgDepth>0;if(Z)this._createLines.push(`${R} = document.createElementNS('${a1}', '${F}');`);else this._createLines.push(`${R} = document.createElement('${F}');`);if(Y)this._createLines.push(`${R}.id = '${Y}';`);if(this._bindInheritedTarget(F,R),this._componentName&&this._elementCount===1&&!this._factoryMode&&!this.options.skipDataPart)this._createLines.push(`${R}.setAttribute('data-part', '${this._componentName}');`);let M=this._claimAutoWire(R),J=this._pendingClassArgs,H=this._pendingClassEl;if(A.length>0)this._pendingClassArgs=[`'${A.join(" ")}'`],this._pendingClassEl=R;if(F==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(R,G),F==="svg")this._svgDepth--;if(A.length>0){if(this._pendingClassArgs.length===1)if(Z)this._createLines.push(`${R}.setAttribute('class', '${A.join(" ")}');`);else this._createLines.push(`${R}.className = '${A.join(" ")}';`);else{let O=this._pendingClassArgs.join(", ");if(Z)this._pushEffect(`${R}.setAttribute('class', __clsx(${O}));`);else this._pushEffect(`${R}.className = __clsx(${O});`)}this._pendingClassArgs=J,this._pendingClassEl=H}return this._emitAutoWire(R,M),R},u.emitDynamicTag=function(F,A,G,Y,R){let Z=this.newElementVar();if(M1.has(F)||this._svgDepth>0)this._createLines.push(`${Z} = document.createElementNS('${a1}', '${F}');`);else this._createLines.push(`${Z} = document.createElement('${F}');`);if(R)this._createLines.push(`${Z}.id = '${R}';`);this._bindInheritedTarget(F,Z);let M=this._claimAutoWire(Z),J=[...Y||[],...A.map((z)=>this.emitInComponent(z,"value"))],H=this._pendingClassArgs,O=this._pendingClassEl;if(this._pendingClassArgs=J,this._pendingClassEl=Z,F==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(Z,G),F==="svg")this._svgDepth--;if(this._pendingClassArgs.length>0){let z=this._pendingClassArgs.join(", ");if(M1.has(F)||this._svgDepth>0)this._pushEffect(`${Z}.setAttribute('class', __clsx(${z}));`);else this._pushEffect(`${Z}.className = __clsx(${z});`)}return this._pendingClassArgs=H,this._pendingClassEl=O,this._emitAutoWire(Z,M),Z},u.emitAttributes=function(F,A){let G=J4(A.slice(1));for(let Y=1;Y<A.length;Y++){let[,R,Z]=A[Y];if(this.is(R,".")&&R[1]==="this"){let M=R[2];if(this._autoWireExplicit&&this._autoWireEl===F)this._autoWireExplicit.add(M);if(typeof Z==="string"&&this.componentMembers?.has(Z))this._createLines.push(`${F}.addEventListener('${M}', (e) => __batch(() => ${this._self}.${Z}(e)));`);else{let J=this.emitInComponent(Z,"value");this._createLines.push(`${F}.addEventListener('${M}', (e) => __batch(() => (${J})(e)));`)}continue}if(typeof R==="string"||R instanceof String){if(R.startsWith('"')&&R.endsWith('"'))R=R.slice(1,-1);if(R==="class"||R==="className"){let J=this.emitInComponent(Z,"value");if(this._pendingClassArgs&&this._pendingClassEl===F)this._pendingClassArgs.push(J);else if(this.hasReactiveDeps(Z))if(this._svgDepth>0)this._pushEffect(`${F}.setAttribute('class', __clsx(${J}));`);else this._pushEffect(`${F}.className = __clsx(${J});`);else if(this._svgDepth>0)this._createLines.push(`${F}.setAttribute('class', ${J});`);else this._createLines.push(`${F}.className = ${J};`);continue}if(R==="__transition__"){let J=String(Z).replace(/^["']|["']$/g,"");this._createLines.push(`this._t = "${J}";`);continue}if(R==="ref"){let J=String(Z).replace(/^["']|["']$/g,"");this._createLines.push(`${this._self}.${J} = ${F};`);continue}if(R.startsWith(T2)&&R.endsWith(h2)){let J=R.slice(T2.length,-h2.length),H=this.emitInComponent(Z,"value"),O,z;if(J==="checked")O="change",z="e.target.checked";else O="input",z=G==="number"||G==="range"?"e.target.valueAsNumber":"e.target.value";this._pushEffect(`${F}.${J} = ${H};`);let q=`${H} = ${z}`,Q=!this.isSimpleAssignable(Z)&&this.findRootReactiveMember(Z);if(Q)q+=`; ${this._self}.${Q}.touch?.()`;this._createLines.push(`${F}.addEventListener('${O}', (e) => { ${q}; });`);continue}let M=this.emitInComponent(Z,"value");if((R==="value"||R==="checked")&&this.hasReactiveDeps(Z)){this._pushEffect(`${F}.${R} = ${M};`);continue}if(R==="innerHTML"||R==="textContent"||R==="innerText")if(this.hasReactiveDeps(Z))this._pushEffect(`${F}.${R} = ${M};`);else this._createLines.push(`${F}.${R} = ${M};`);else if(D4.has(R))if(this.hasReactiveDeps(Z))this._pushEffect(`${F}.toggleAttribute('${R}', !!${M});`);else this._createLines.push(`if (${M}) ${F}.setAttribute('${R}', '');`);else if(this.hasReactiveDeps(Z))if(Array.isArray(Z)&&Z[0]==="presence")this._pushEffect(`{ const __v = ${M}; __v == null ? ${F}.removeAttribute('${R}') : ${F}.setAttribute('${R}', __v); }`);else this._pushEffect(`${F}.setAttribute('${R}', ${M});`);else if(Array.isArray(Z)&&Z[0]==="presence")this._createLines.push(`{ const __v = ${M}; if (__v != null) ${F}.setAttribute('${R}', __v); }`);else this._createLines.push(`${F}.setAttribute('${R}', ${M});`)}}},u.emitTemplateBlock=function(F){if(!Array.isArray(F)||F[0]!=="block")return this.emitNode(F);let A=F.slice(1);if(A.length===0){let R=this.newElementVar("empty");return this._createLines.push(`${R} = document.createComment('');`),R}if(A.length===1)return this.emitNode(A[0]);let G=this.newElementVar("frag");this._createLines.push(`${G} = document.createDocumentFragment();`);let Y=[];for(let R of A){let Z=this.emitNode(R);this._createLines.push(`${G}.appendChild(${Z});`),Y.push(Z)}return this._fragChildren.set(G,Y),G},u.emitConditional=function(F){this._pendingAutoWire=!1;let[,A,G,Y]=F,R=this.newElementVar("anchor");this._createLines.push(`${R} = document.createComment('if');`);let Z=this.emitInComponent(A,"value"),M=this._loopVarStack.map((D)=>`${D.itemVar}, ${D.indexVar}`).join(", "),J=M?`, ${M}`:"",H=this.newBlockVar();this.emitConditionBranch(H,G);let O=null;if(Y)O=this.newBlockVar(),this.emitConditionBranch(O,Y);let z=[];z.push(`// Conditional: ${H}${O?" / "+O:""}`),z.push("{"),z.push(` const anchor = ${R};`),z.push(" let currentBlock = null;"),z.push(" let showing = null;");let q=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",Q=this._factoryMode?"}));":"});";if(z.push(` ${q}`),z.push(` const show = !!(${Z});`),z.push(` const want = show ? 'then' : ${Y?"'else'":"null"};`),z.push(" if (want === showing) return;"),z.push(""),z.push(" if (currentBlock) {"),z.push(" const leaving = currentBlock;"),z.push(" if (leaving._t) { __transition(leaving._first, leaving._t, 'leave', () => leaving.d(true)); }"),z.push(" else { leaving.d(true); }"),z.push(" currentBlock = null;"),z.push(" }"),z.push(" showing = want;"),z.push(""),z.push(" if (want === 'then') {"),z.push(` currentBlock = ${H}(${this._self}${J});`),z.push(" currentBlock.c();"),z.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),z.push(` currentBlock.p(${this._self}${J});`),z.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),z.push(" }"),Y)z.push(" if (want === 'else') {"),z.push(` currentBlock = ${O}(${this._self}${J});`),z.push(" currentBlock.c();"),z.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),z.push(` currentBlock.p(${this._self}${J});`),z.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),z.push(" }");return z.push(` ${Q}`),z.push("}"),this._setupLines.push(z.join(`
24
- `)),R},u.emitConditionBranch=function(F,A){let G=[this._createLines,this._setupLines,this._factoryMode,this._factoryVars];this._createLines=[],this._setupLines=[],this._factoryMode=!0,this._factoryVars=new Set;let Y=this.emitTemplateBlock(A),R=this._createLines,Z=this._setupLines,M=this._factoryVars;[this._createLines,this._setupLines,this._factoryMode,this._factoryVars]=G;let J=this._loopVarStack.map((O)=>`${O.itemVar}, ${O.indexVar}`).join(", "),H=J?`, ${J}`:"";this.emitBlockFactory(F,`ctx${H}`,Y,R,Z,M)},u.emitBlockFactory=function(F,A,G,Y,R,Z,M){let J=[];if(J.push(`function ${F}(${A}) {`),Z.size>0)J.push(` let ${[...Z].join(", ")};`);let H=R.length>0;if(H)J.push(" let disposers = [];");if(J.push(" return {"),M)J.push(" _s: true,");let O=this._fragChildren.get(G),z=O?O[0]:G;J.push(" c() {");for(let q of Y)J.push(` ${q}`);if(J.push(` this._first = ${z};`),J.push(" },"),J.push(" m(target, anchor) {"),O)for(let q of O)J.push(` if (target) target.insertBefore(${q}, anchor);`);else J.push(` if (target) target.insertBefore(${G}, anchor);`);if(J.push(" },"),J.push(` p(${A}) {`),H){J.push(" disposers.forEach(d => d());"),J.push(" disposers = [];");for(let q of R)J.push(` ${q}`)}if(J.push(" },"),J.push(" d(detaching) {"),H)J.push(" disposers.forEach(d => d());");if(O)for(let q of O)J.push(` if (detaching && ${q}) ${q}.remove();`);else J.push(` if (detaching && ${G}) ${G}.remove();`);J.push(" }"),J.push(" };"),J.push("}"),this._blockFactories.push(J.join(`
25
- `))},u.emitTemplateLoop=function(F){this._pendingAutoWire=!1;let[A,G,Y,R,Z,M]=F,J=this.newBlockVar(),H=this.newElementVar("anchor");this._createLines.push(`${H} = document.createComment('for');`);let O=Array.isArray(G)?G:[G],z=O[0],q=O[1]||null;if(!q){let l=new Set(this._loopVarStack.flatMap((n)=>[n.itemVar,n.indexVar]));l.add(z);for(let n of["i","j","k","l","m","n"])if(!l.has(n)){q=n;break}q=q||`_i${this._loopVarStack.length}`}let Q=this.emitInComponent(Y,"value"),D=z;if(this.is(M,"block")&&M.length>1){let l=M[1];if(Array.isArray(l))for(let n of l){if(this.is(n,"object"))for(let c=1;c<n.length;c++){let[y,b]=n[c];if(y==="key"){D=this.emit(b,"value");break}}if(D!==z)break}}let I=[this._createLines,this._setupLines,this._factoryMode,this._factoryVars];this._createLines=[],this._setupLines=[],this._factoryMode=!0,this._factoryVars=new Set;let P=this._loopVarStack.map((l)=>`${l.itemVar}, ${l.indexVar}`).join(", "),K=P?`, ${P}`:"";this._loopVarStack.push({itemVar:z,indexVar:q});let X=this.emitTemplateBlock(M);this._loopVarStack.pop();let E=this._createLines,N=this._setupLines,L=this._factoryVars;[this._createLines,this._setupLines,this._factoryMode,this._factoryVars]=I;let B=N.length===0,h=`ctx, ${z}, ${q}${K}`;this.emitBlockFactory(J,h,X,E,N,L,B);let S=D!==z?`(${z}, ${q}) => ${D}`:"null",p=P?`, ${P}`:"",T=[];T.push(`// Loop: ${J}`),T.push("{"),T.push(" const __s = { blocks: [], keys: [] };");let V=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",C=this._factoryMode?"}));":"});";return T.push(` ${V}`),T.push(` __reconcile(${H}, __s, ${Q}, ${this._self}, ${J}, ${S}${p});`),T.push(` ${C}`),T.push("}"),this._setupLines.push(T.join(`
26
- `)),H},u.emitChildComponent=function(F,A){this._pendingAutoWire=!1;let G=this.newElementVar("inst"),Y=this.newElementVar("el"),{propsCode:R,reactiveProps:Z,eventBindings:M,childrenSetupLines:J}=this.buildComponentProps(A),H=this._self;this._createLines.push(`{ const __prev = __pushComponent(${H}); try {`),this._createLines.push(`${G} = new ${F}(${R});`),this._createLines.push(`${Y} = ${G}._root = ${G}._create();`),this._createLines.push(`(${H}._children || (${H}._children = [])).push(${G});`),this._createLines.push("} finally { __popComponent(__prev); } }");for(let{event:O,value:z}of M){let q=this.emitInComponent(z,"value");this._createLines.push(`${Y}.addEventListener('${O}', (e) => __batch(() => (${q})(e)));`)}this._setupLines.push(`try { if (${G}._setup) ${G}._setup(); if (${G}.mounted) ${G}.mounted(); } catch (__e) { __handleComponentError(__e, ${G}); }`);for(let{key:O,valueCode:z}of Z)this._pushEffect(`if (${G}.${O} && typeof ${G}.${O} === 'object' && 'value' in ${G}.${O}) ${G}.${O}.value = ${z}; else if (${G}._setRestProp) ${G}._setRestProp('${O}', ${z});`);for(let O of J)this._setupLines.push(O);return Y},u.buildComponentProps=function(F){let A=[],G=[],Y=[],R=null,Z=[],M=(O,z)=>{if(O.startsWith("@")){Y.push({event:O.slice(1).split(".")[0],value:z});return}if(this.reactiveMembers&&(typeof z==="string"&&this.reactiveMembers.has(z)||Array.isArray(z)&&z[0]==="."&&z[1]==="this"&&typeof z[2]==="string"&&this.reactiveMembers.has(z[2]))){let Q=typeof z==="string"?z:z[2];A.push(`${O}: ${this._self}.${Q}`)}else{let Q=this.emitInComponent(z,"value");if(A.push(`${O}: ${Q}`),this.hasReactiveDeps(z))G.push({key:O,valueCode:Q})}},J=(O)=>{for(let z=1;z<O.length;z++){let[,q,Q]=O[z];if(typeof q==="string")M(q,Q);else if(Array.isArray(q)&&q[0]==="."&&q[1]==="this"&&typeof q[2]==="string")Y.push({event:q[2],value:Q})}};for(let O of F)if(this.is(O,"object"))J(O);else if(Array.isArray(O)&&(O[0]==="->"||O[0]==="=>")){let z=O[2];if(z){if(this.is(z,"block")){let q=[];for(let Q of z.slice(1))if(this.is(Q,"object"))J(Q);else q.push(Q);z=q.length>0?["block",...q]:null}if(z){let q=this._createLines,Q=this._setupLines;this._createLines=[],this._setupLines=[],R=this.emitTemplateBlock(z);let D=this._createLines,I=this._setupLines;this._createLines=q,this._setupLines=Q;for(let P of D)this._createLines.push(P);Z.push(...I),A.push(`children: ${R}`)}}}else if(O&&!R){let z=this.newTextVar(),q=this.emitInComponent(O,"value");if(this.hasReactiveDeps(O)){this._createLines.push(`${z} = document.createTextNode('');`);let Q=`${z}.data = ${q};`,D=this._factoryMode?`disposers.push(__effect(() => { ${Q} }));`:`__effect(() => { ${Q} });`;Z.push(D)}else this._createLines.push(`${z} = document.createTextNode(${q});`);R=z,A.push(`children: ${R}`)}return{propsCode:A.length>0?`{ ${A.join(", ")} }`:"{}",reactiveProps:G,eventBindings:Y,childrenSetupLines:Z}},u.hasReactiveDeps=function(F){if(typeof F==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(F));if(!Array.isArray(F))return!1;if(F[0]==="."&&F[1]==="this"&&typeof F[2]==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(F[2]));if(F[0]==="."&&this._rootsAtThis(F[1]))return!0;if(Array.isArray(F[0])&&F[0][0]==="."&&F[0][1]==="this"){let A=$(F[0][2]);if(A&&this.componentMembers?.has(A))return!0}for(let A of F)if(this.hasReactiveDeps(A))return!0;return!1},u.isSimpleAssignable=function(F){if(typeof F==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(F));if(Array.isArray(F)&&F[0]==="."&&F[1]==="this"&&typeof F[2]==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(F[2]));return!1},u.findRootReactiveMember=function(F){if(typeof F==="string")return this.reactiveMembers?.has(F)?F:null;if(!Array.isArray(F))return null;if(F[0]==="."&&F[1]==="this"&&typeof F[2]==="string")return this.reactiveMembers?.has(F[2])?F[2]:null;if(F[0]==="."||F[0]==="[]")return this.findRootReactiveMember(F[1]);return null},u._rootsAtThis=function(F){if(typeof F==="string")return F==="this";if(!Array.isArray(F)||F[0]!==".")return!1;return this._rootsAtThis(F[1])},u.getComponentRuntime=function(){return`
23
+ })()`;return N.join(`
24
+ `)},u.emitInComponent=function(F,A){if(typeof F==="string"&&this.reactiveMembers&&this.reactiveMembers.has(F))return`${this._self}.${F}.value`;if(typeof F==="string"&&this.componentMembers&&this.componentMembers.has(F))return`${this._self}.${F}`;if(Array.isArray(F)&&this.reactiveMembers){let Y=this.transformComponentMembers(F);return this.emit(Y,A)}return this.emit(F,A)},u.emitRender=function(F,A,Y,G){this.error("render blocks can only be used inside a component",G)},u.emitOffer=function(F,A,Y,G){this.error("offer can only be used inside a component",G)},u.emitAccept=function(F,A,Y,G){this.error("accept can only be used inside a component",G)},u.buildRender=function(F){this._elementCount=0,this._textCount=0,this._blockCount=0,this._createLines=[],this._setupLines=[],this._blockFactories=[],this._loopVarStack=[],this._factoryMode=!1,this._factoryVars=null,this._fragChildren=new Map,this._pendingAutoWire=!1,this._autoWireEl=null,this._autoWireExplicit=null,this._inheritsTargetBound=!1;let A=this.is(F,"block")?F.slice(1):[F],Y;if(A.length===0)Y="null";else if(A.length===1)this._pendingAutoWire=!!this._autoEventHandlers,Y=this.emitNode(A[0]),this._pendingAutoWire=!1;else{Y=this.newElementVar("frag"),this._createLines.push(`${Y} = document.createDocumentFragment();`);let G=[];for(let Z of A){let Q=this.emitNode(Z);this._createLines.push(`${Y}.appendChild(${Q});`),G.push(Q)}this._fragChildren.set(Y,G)}return{createLines:this._createLines,setupLines:this._setupLines,blockFactories:this._blockFactories,rootVar:Y}},u.newBlockVar=function(){return`create_block_${this._blockCount++}`},u.newElementVar=function(F="el"){let A=`_${F}${this._elementCount++}`;if(this._factoryVars)this._factoryVars.add(A);return this._factoryMode?A:`this.${A}`},u.newTextVar=function(){let F=`_t${this._textCount++}`;if(this._factoryVars)this._factoryVars.add(F);return this._factoryMode?F:`this.${F}`},Object.defineProperty(u,"_self",{get(){return this._factoryMode?"ctx":"this"}}),u._pushEffect=function(F){if(this._factoryMode)this._setupLines.push(`disposers.push(__effect(() => { ${F} }));`);else this._setupLines.push(`__effect(() => { ${F} });`)},u.emitNode=function(F){if(typeof F==="string"||F instanceof String){let J=F.valueOf();if(J.startsWith('"')||J.startsWith("'")||J.startsWith("`")){let q=this.newTextVar();return this._createLines.push(`${q} = document.createTextNode(${J});`),q}if(this.reactiveMembers&&this.reactiveMembers.has(J)){let q=this.newTextVar();return this._createLines.push(`${q} = document.createTextNode('');`),this._pushEffect(`${q}.data = ${this._self}.${J}.value;`),q}if(J==="slot"&&this.componentMembers){let q=this._self,O=this.newElementVar("slot");return this._createLines.push(`${O} = ${q}.children instanceof Node ? ${q}.children : (${q}.children != null ? document.createTextNode(String(${q}.children)) : document.createComment(''));`),O}let[M,K]=J.split("#"),R=this.newElementVar(),z=M||"div";if(D1.has(z)||this._svgDepth>0)this._createLines.push(`${R} = document.createElementNS('${f2}', '${z}');`);else this._createLines.push(`${R} = document.createElement('${z}');`);if(K)this._createLines.push(`${R}.id = '${K}';`);return this._bindInheritedTarget(z,R),R}if(!Array.isArray(F)){let J=this.newElementVar("c");return this._createLines.push(`${J} = document.createComment('unknown');`),J}let[A,...Y]=F,G=typeof A==="string"?A:A instanceof String?A.valueOf():null;if(G&&this.isComponent(G))return this.emitChildComponent(G,Y);if(G==="slot"&&this.componentMembers){let J=this._self,M=this.newElementVar("slot");return this._createLines.push(`${M} = ${J}.children instanceof Node ? ${J}.children : (${J}.children != null ? document.createTextNode(String(${J}.children)) : document.createComment(''));`),M}if(G==="switch"){let J=Y[0],M=Y[1]||[],R=Y[2]||null;for(let q=M.length-1;q>=0;q--){let[,O,D]=M[q],I;if(J===null)I=O.length===1?O[0]:O.reduce((B,H)=>B?["||",B,H]:H,null);else I=O.length===1?["==",J,O[0]]:O.map((B)=>["==",J,B]).reduce((B,H)=>B?["||",B,H]:H,null);R=["if",I,D,R]}if(R){if(Array.isArray(R)&&R[0]==="if")return this.emitConditional(R);return this.emitTemplateBlock(R)}let z=this.newElementVar("c");return this._createLines.push(`${z} = document.createComment('switch');`),z}if(G&&this.isHtmlTag(G)&&!U(A,"text")){let[J,M]=G.split("#");return this.emitTag(J||"div",[],Y,M)}if(G==="."){let[,J,M]=F;if(J==="this"&&typeof M==="string"){let I=this._self;if(this.reactiveMembers&&this.reactiveMembers.has(M)){let H=this.newTextVar();return this._createLines.push(`${H} = document.createTextNode('');`),this._pushEffect(`${H}.data = ${I}.${M}.value;`),H}let B=this.newElementVar("slot");return this._createLines.push(`${B} = ${I}.${M} instanceof Node ? ${I}.${M} : (${I}.${M} != null ? document.createTextNode(String(${I}.${M})) : document.createComment(''));`),B}let{tag:K,classes:R,id:z,base:q}=this.collectTemplateClasses(F);if(!U(q,"text")&&K&&this.isHtmlTag(K))return this.emitTag(K,R,[],z);let O=this.newTextVar(),D=this.emitInComponent(F,"value");return this._createLines.push(`${O} = document.createTextNode(String(${D}));`),O}if(Array.isArray(A)){if(Array.isArray(A[0])&&A[0][0]==="."&&(A[0][2]==="__clsx"||A[0][2]instanceof String&&A[0][2].valueOf()==="__clsx")){let R=A[0][1],z=A.slice(1);if(Array.isArray(R)){let{tag:O,classes:D,id:I}=this.collectTemplateClasses(R);if(O){let B=D.map((H)=>`"${H}"`);return this.emitDynamicTag(O,z,Y,B,I)}}let q=typeof R==="string"?R:R.valueOf();return this.emitDynamicTag(q,z,Y)}let{tag:J,classes:M,id:K}=this.collectTemplateClasses(A);if(J&&this.isHtmlTag(J)){if(M.length>0&&M[M.length-1]==="__clsx"){let z=M.slice(0,-1).map((q)=>`"${q}"`);return this.emitDynamicTag(J,Y,[],z,K)}return this.emitTag(J,M,Y,K)}}if(G==="->"||G==="=>")return this.emitTemplateBlock(Y[1]);if(G==="if")return this.emitConditional(F);if(G==="for"||G==="for-in"||G==="for-of"||G==="for-as")return this.emitTemplateLoop(F);if(G==="__text__"){let J=Y[0]??"undefined",M=this.newTextVar(),K=this.emitInComponent(J,"value");if(this.hasReactiveDeps(J))this._createLines.push(`${M} = document.createTextNode('');`),this._pushEffect(`${M}.data = String(${K});`);else this._createLines.push(`${M} = document.createTextNode(String(${K}));`);return M}let Z=this.newTextVar(),Q=this.emitInComponent(F,"value");if(this.hasReactiveDeps(F))this._createLines.push(`${Z} = document.createTextNode('');`),this._pushEffect(`${Z}.data = ${Q};`);else this._createLines.push(`${Z} = document.createTextNode(String(${Q}));`);return Z},u.appendChildren=function(F,A){for(let Y of A)if(this.is(Y,"->")||this.is(Y,"=>")){let G=Y[2];if(this.is(G,"block"))for(let Z of G.slice(1))if(this.is(Z,"object"))this.emitAttributes(F,Z);else{let Q=this.emitNode(Z);this._createLines.push(`${F}.appendChild(${Q});`)}else if(G){let Z=this.emitNode(G);this._createLines.push(`${F}.appendChild(${Z});`)}}else if(this.is(Y,"object"))this.emitAttributes(F,Y);else if(typeof Y==="string"||Y instanceof String){let G=Y.valueOf(),Z=G.split(/[#.]/)[0];if(this.isHtmlTag(Z||"div")||this.isComponent(Z)){let Q=this.emitNode(Y);this._createLines.push(`${F}.appendChild(${Q});`)}else{let Q=this.newTextVar();if(G.startsWith('"')||G.startsWith("'")||G.startsWith("`"))this._createLines.push(`${Q} = document.createTextNode(${G});`);else if(this.reactiveMembers&&this.reactiveMembers.has(G))this._createLines.push(`${Q} = document.createTextNode('');`),this._pushEffect(`${Q}.data = ${this._self}.${G}.value;`);else if(this.componentMembers&&this.componentMembers.has(G))this._createLines.push(`${Q} = document.createTextNode(String(${this._self}.${G}));`);else this._createLines.push(`${Q} = document.createTextNode(${this.emitInComponent(Y,"value")});`);this._createLines.push(`${F}.appendChild(${Q});`)}}else if(Y){let G=this.emitNode(Y);this._createLines.push(`${F}.appendChild(${G});`)}},u._claimAutoWire=function(F){if(!this._pendingAutoWire||!this._autoEventHandlers?.size)return!1;return this._pendingAutoWire=!1,this._autoWireEl=F,this._autoWireExplicit=new Set,!0},u._emitAutoWire=function(F,A){if(!A)return;for(let[Y,G]of this._autoEventHandlers)if(!this._autoWireExplicit.has(Y))this._createLines.push(`${F}.addEventListener('${Y}', (e) => __batch(() => ${this._self}.${G}(e)));`);this._autoWireEl=null,this._autoWireExplicit=null},u._bindInheritedTarget=function(F,A){if(!this._inheritsTag||this._factoryMode||this._inheritsTargetBound)return;if(F!==this._inheritsTag)return;this._inheritsTargetBound=!0,this._createLines.push(`this._inheritedEl = ${A};`),this._createLines.push("this._applyRestToInheritedEl();")},u.emitTag=function(F,A,Y,G){let Z=this.newElementVar(),Q=D1.has(F)||this._svgDepth>0;if(Q)this._createLines.push(`${Z} = document.createElementNS('${f2}', '${F}');`);else this._createLines.push(`${Z} = document.createElement('${F}');`);if(G)this._createLines.push(`${Z}.id = '${G}';`);if(this._bindInheritedTarget(F,Z),this._componentName&&this._elementCount===1&&!this._factoryMode&&!this.options.skipDataPart)this._createLines.push(`${Z}.setAttribute('data-part', '${this._componentName}');`);let J=this._claimAutoWire(Z),M=this._pendingClassArgs,K=this._pendingClassEl;if(A.length>0)this._pendingClassArgs=[`'${A.join(" ")}'`],this._pendingClassEl=Z;if(F==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(Z,Y),F==="svg")this._svgDepth--;if(A.length>0){if(this._pendingClassArgs.length===1)if(Q)this._createLines.push(`${Z}.setAttribute('class', '${A.join(" ")}');`);else this._createLines.push(`${Z}.className = '${A.join(" ")}';`);else{let R=this._pendingClassArgs.join(", ");if(Q)this._pushEffect(`${Z}.setAttribute('class', __clsx(${R}));`);else this._pushEffect(`${Z}.className = __clsx(${R});`)}this._pendingClassArgs=M,this._pendingClassEl=K}return this._emitAutoWire(Z,J),Z},u.emitDynamicTag=function(F,A,Y,G,Z){let Q=this.newElementVar();if(D1.has(F)||this._svgDepth>0)this._createLines.push(`${Q} = document.createElementNS('${f2}', '${F}');`);else this._createLines.push(`${Q} = document.createElement('${F}');`);if(Z)this._createLines.push(`${Q}.id = '${Z}';`);this._bindInheritedTarget(F,Q);let J=this._claimAutoWire(Q),M=[...G||[],...A.map((z)=>this.emitInComponent(z,"value"))],K=this._pendingClassArgs,R=this._pendingClassEl;if(this._pendingClassArgs=M,this._pendingClassEl=Q,F==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(Q,Y),F==="svg")this._svgDepth--;if(this._pendingClassArgs.length>0){let z=this._pendingClassArgs.join(", ");if(D1.has(F)||this._svgDepth>0)this._pushEffect(`${Q}.setAttribute('class', __clsx(${z}));`);else this._pushEffect(`${Q}.className = __clsx(${z});`)}return this._pendingClassArgs=K,this._pendingClassEl=R,this._emitAutoWire(Q,J),Q},u.emitAttributes=function(F,A){let Y=$4(A.slice(1));for(let G=1;G<A.length;G++){let[,Z,Q]=A[G];if(this.is(Z,".")&&Z[1]==="this"){let J=Z[2];if(this._autoWireExplicit&&this._autoWireEl===F)this._autoWireExplicit.add(J);if(typeof Q==="string"&&this.componentMembers?.has(Q))this._createLines.push(`${F}.addEventListener('${J}', (e) => __batch(() => ${this._self}.${Q}(e)));`);else{let M=this.emitInComponent(Q,"value");this._createLines.push(`${F}.addEventListener('${J}', (e) => __batch(() => (${M})(e)));`)}continue}if(typeof Z==="string"||Z instanceof String){if(Z.startsWith('"')&&Z.endsWith('"'))Z=Z.slice(1,-1);if(Z==="class"||Z==="className"){let M=this.emitInComponent(Q,"value");if(this._pendingClassArgs&&this._pendingClassEl===F)this._pendingClassArgs.push(M);else if(this.hasReactiveDeps(Q))if(this._svgDepth>0)this._pushEffect(`${F}.setAttribute('class', __clsx(${M}));`);else this._pushEffect(`${F}.className = __clsx(${M});`);else if(this._svgDepth>0)this._createLines.push(`${F}.setAttribute('class', ${M});`);else this._createLines.push(`${F}.className = ${M};`);continue}if(Z==="__transition__"){let M=String(Q).replace(/^["']|["']$/g,"");this._createLines.push(`this._t = "${M}";`);continue}if(Z==="ref"){let M=String(Q).replace(/^["']|["']$/g,"");this._createLines.push(`${this._self}.${M} = ${F};`);continue}if(Z.startsWith(N2)&&Z.endsWith(T2)){let M=Z.slice(N2.length,-T2.length),K=this.emitInComponent(Q,"value"),R,z;if(M==="checked")R="change",z="e.target.checked";else R="input",z=Y==="number"||Y==="range"?"e.target.valueAsNumber":"e.target.value";this._pushEffect(`${F}.${M} = ${K};`);let q=`${K} = ${z}`,O=!this.isSimpleAssignable(Q)&&this.findRootReactiveMember(Q);if(O)q+=`; ${this._self}.${O}.touch?.()`;this._createLines.push(`${F}.addEventListener('${R}', (e) => { ${q}; });`);continue}let J=this.emitInComponent(Q,"value");if((Z==="value"||Z==="checked")&&this.hasReactiveDeps(Q)){this._pushEffect(`${F}.${Z} = ${J};`);continue}if(Z==="innerHTML"||Z==="textContent"||Z==="innerText")if(this.hasReactiveDeps(Q))this._pushEffect(`${F}.${Z} = ${J};`);else this._createLines.push(`${F}.${Z} = ${J};`);else if(f4.has(Z))if(this.hasReactiveDeps(Q))this._pushEffect(`${F}.toggleAttribute('${Z}', !!${J});`);else this._createLines.push(`if (${J}) ${F}.setAttribute('${Z}', '');`);else if(this.hasReactiveDeps(Q))if(Array.isArray(Q)&&Q[0]==="presence")this._pushEffect(`{ const __v = ${J}; __v == null ? ${F}.removeAttribute('${Z}') : ${F}.setAttribute('${Z}', __v); }`);else this._pushEffect(`${F}.setAttribute('${Z}', ${J});`);else if(Array.isArray(Q)&&Q[0]==="presence")this._createLines.push(`{ const __v = ${J}; if (__v != null) ${F}.setAttribute('${Z}', __v); }`);else this._createLines.push(`${F}.setAttribute('${Z}', ${J});`)}}},u.emitTemplateBlock=function(F){if(!Array.isArray(F)||F[0]!=="block")return this.emitNode(F);let A=F.slice(1);if(A.length===0){let Z=this.newElementVar("empty");return this._createLines.push(`${Z} = document.createComment('');`),Z}if(A.length===1)return this.emitNode(A[0]);let Y=this.newElementVar("frag");this._createLines.push(`${Y} = document.createDocumentFragment();`);let G=[];for(let Z of A){let Q=this.emitNode(Z);this._createLines.push(`${Y}.appendChild(${Q});`),G.push(Q)}return this._fragChildren.set(Y,G),Y},u.emitConditional=function(F){if(this._pendingAutoWire=!1,F.length>4){let D=F[F.length-1];for(let I=F.length-2;I>=3;I--)D=[...F[I],D];F=[F[0],F[1],F[2],D]}let[,A,Y,G]=F,Z=this.newElementVar("anchor");this._createLines.push(`${Z} = document.createComment('if');`);let Q=this.emitInComponent(A,"value"),J=this._loopVarStack.map((D)=>`${D.itemVar}, ${D.indexVar}`).join(", "),M=J?`, ${J}`:"",K=this.newBlockVar();this.emitConditionBranch(K,Y);let R=null;if(G)R=this.newBlockVar(),this.emitConditionBranch(R,G);let z=[];z.push(`// Conditional: ${K}${R?" / "+R:""}`),z.push("{"),z.push(` const anchor = ${Z};`),z.push(" let currentBlock = null;"),z.push(" let showing = null;");let q=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",O=this._factoryMode?"}));":"});";if(z.push(` ${q}`),z.push(` const show = !!(${Q});`),z.push(` const want = show ? 'then' : ${G?"'else'":"null"};`),z.push(" if (want === showing) return;"),z.push(""),z.push(" if (currentBlock) {"),z.push(" const leaving = currentBlock;"),z.push(" if (leaving._t) { __transition(leaving._first, leaving._t, 'leave', () => leaving.d(true)); }"),z.push(" else { leaving.d(true); }"),z.push(" currentBlock = null;"),z.push(" }"),z.push(" showing = want;"),z.push(""),z.push(" if (want === 'then') {"),z.push(` currentBlock = ${K}(${this._self}${M});`),z.push(" currentBlock.c();"),z.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),z.push(` currentBlock.p(${this._self}${M});`),z.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),z.push(" }"),G)z.push(" if (want === 'else') {"),z.push(` currentBlock = ${R}(${this._self}${M});`),z.push(" currentBlock.c();"),z.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),z.push(` currentBlock.p(${this._self}${M});`),z.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),z.push(" }");if(z.push(` ${O}`),this._factoryMode)z.push(" disposers.push(() => { if (currentBlock) { currentBlock.d(true); currentBlock = null; } });");return z.push("}"),this._setupLines.push(z.join(`
25
+ `)),Z},u.emitConditionBranch=function(F,A){let Y=[this._createLines,this._setupLines,this._factoryMode,this._factoryVars];this._createLines=[],this._setupLines=[],this._factoryMode=!0,this._factoryVars=new Set;let G=this.emitTemplateBlock(A),Z=this._createLines,Q=this._setupLines,J=this._factoryVars;[this._createLines,this._setupLines,this._factoryMode,this._factoryVars]=Y;let M=this._loopVarStack.map((R)=>`${R.itemVar}, ${R.indexVar}`).join(", "),K=M?`, ${M}`:"";this.emitBlockFactory(F,`ctx${K}`,G,Z,Q,J)},u.emitBlockFactory=function(F,A,Y,G,Z,Q,J){let M=[];if(M.push(`function ${F}(${A}) {`),Q.size>0)M.push(` let ${[...Q].join(", ")};`);let K=Z.length>0;if(K)M.push(" let disposers = [];");if(M.push(" return {"),J)M.push(" _s: true,");let R=this._fragChildren.get(Y),z=R?R[0]:Y;M.push(" c() {");for(let q of G)M.push(` ${q}`);if(M.push(` this._first = ${z};`),M.push(" },"),M.push(" m(target, anchor) {"),R)for(let q of R)M.push(` if (target) target.insertBefore(${q}, anchor);`);else M.push(` if (target) target.insertBefore(${Y}, anchor);`);if(M.push(" },"),M.push(` p(${A}) {`),K){M.push(" disposers.forEach(d => d());"),M.push(" disposers = [];");for(let q of Z)M.push(` ${q}`)}if(M.push(" },"),M.push(" d(detaching) {"),K)M.push(" disposers.forEach(d => d());");if(R)for(let q of R)M.push(` if (detaching && ${q}) ${q}.remove();`);else M.push(` if (detaching && ${Y}) ${Y}.remove();`);M.push(" }"),M.push(" };"),M.push("}"),this._blockFactories.push(M.join(`
26
+ `))},u.emitTemplateLoop=function(F){this._pendingAutoWire=!1;let[A,Y,G,Z,Q,J]=F,M=this.newBlockVar(),K=this.newElementVar("anchor");this._createLines.push(`${K} = document.createComment('for');`);let R=Array.isArray(Y)?Y:[Y],z=R[0],q=R[1]||null;if(!q){let l=new Set(this._loopVarStack.flatMap((p)=>[p.itemVar,p.indexVar]));l.add(z);for(let p of["i","j","k","l","m","n"])if(!l.has(p)){q=p;break}q=q||`_i${this._loopVarStack.length}`}let O=this.emitInComponent(G,"value"),D=z;if(this.is(J,"block")&&J.length>1){let l=J[1];if(Array.isArray(l))for(let p of l){if(this.is(p,"object"))for(let _1=1;_1<p.length;_1++){let[y,g]=p[_1];if(y==="key"){D=this.emit(g,"value");break}}if(D!==z)break}}let I=[this._createLines,this._setupLines,this._factoryMode,this._factoryVars];this._createLines=[],this._setupLines=[],this._factoryMode=!0,this._factoryVars=new Set;let B=this._loopVarStack.map((l)=>`${l.itemVar}, ${l.indexVar}`).join(", "),H=B?`, ${B}`:"";this._loopVarStack.push({itemVar:z,indexVar:q});let X=this.emitTemplateBlock(J);this._loopVarStack.pop();let P=this._createLines,S=this._setupLines,E=this._factoryVars;[this._createLines,this._setupLines,this._factoryMode,this._factoryVars]=I;let L=S.length===0,T=`ctx, ${z}, ${q}${H}`;this.emitBlockFactory(M,T,X,P,S,E,L);let N=D!==z?`(${z}, ${q}) => ${D}`:"null",d=B?`, ${B}`:"",V=[];V.push(`// Loop: ${M}`),V.push("{"),V.push(" const __s = { blocks: [], keys: [] };");let h=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",b=this._factoryMode?"}));":"});";return V.push(` ${h}`),V.push(` __reconcile(${K}, __s, ${O}, ${this._self}, ${M}, ${N}${d});`),V.push(` ${b}`),V.push("}"),this._setupLines.push(V.join(`
27
+ `)),K},u.emitChildComponent=function(F,A){this._pendingAutoWire=!1;let Y=this.newElementVar("inst"),G=this.newElementVar("el"),{propsCode:Z,reactiveProps:Q,eventBindings:J,childrenSetupLines:M}=this.buildComponentProps(A),K=this._self;this._createLines.push(`{ const __prev = __pushComponent(${K}); try {`),this._createLines.push(`${Y} = new ${F}(${Z});`),this._createLines.push(`${G} = ${Y}._root = ${Y}._create();`),this._createLines.push(`(${K}._children || (${K}._children = [])).push(${Y});`),this._createLines.push("} finally { __popComponent(__prev); } }");for(let{event:R,value:z}of J){let q=this.emitInComponent(z,"value");this._createLines.push(`${G}.addEventListener('${R}', (e) => __batch(() => (${q})(e)));`)}this._setupLines.push(`try { if (${Y}._setup) ${Y}._setup(); if (${Y}.mounted) ${Y}.mounted(); } catch (__e) { __handleComponentError(__e, ${Y}); }`);for(let{key:R,valueCode:z}of Q)this._pushEffect(`if (${Y}.${R} && typeof ${Y}.${R} === 'object' && 'value' in ${Y}.${R}) ${Y}.${R}.value = ${z}; else if (${Y}._setRestProp) ${Y}._setRestProp('${R}', ${z});`);for(let R of M)this._setupLines.push(R);return G},u.buildComponentProps=function(F){let A=[],Y=[],G=[],Z=null,Q=[],J=(R,z)=>{if(R.startsWith("@")){G.push({event:R.slice(1).split(".")[0],value:z});return}if(this.reactiveMembers&&(typeof z==="string"&&this.reactiveMembers.has(z)||Array.isArray(z)&&z[0]==="."&&z[1]==="this"&&typeof z[2]==="string"&&this.reactiveMembers.has(z[2]))){let O=typeof z==="string"?z:z[2];A.push(`${R}: ${this._self}.${O}`)}else{let O=this.emitInComponent(z,"value");if(A.push(`${R}: ${O}`),this.hasReactiveDeps(z))Y.push({key:R,valueCode:O})}},M=(R)=>{for(let z=1;z<R.length;z++){let[,q,O]=R[z];if(typeof q==="string")J(q,O);else if(Array.isArray(q)&&q[0]==="."&&q[1]==="this"&&typeof q[2]==="string")G.push({event:q[2],value:O})}};for(let R of F)if(this.is(R,"object"))M(R);else if(Array.isArray(R)&&(R[0]==="->"||R[0]==="=>")){let z=R[2];if(z){if(this.is(z,"block")){let q=[];for(let O of z.slice(1))if(this.is(O,"object"))M(O);else q.push(O);z=q.length>0?["block",...q]:null}if(z){let q=this._createLines,O=this._setupLines;this._createLines=[],this._setupLines=[],Z=this.emitTemplateBlock(z);let D=this._createLines,I=this._setupLines;this._createLines=q,this._setupLines=O;for(let B of D)this._createLines.push(B);Q.push(...I),A.push(`children: ${Z}`)}}}else if(R&&!Z){let z=this.newTextVar(),q=this.emitInComponent(R,"value");if(this.hasReactiveDeps(R)){this._createLines.push(`${z} = document.createTextNode('');`);let O=`${z}.data = ${q};`,D=this._factoryMode?`disposers.push(__effect(() => { ${O} }));`:`__effect(() => { ${O} });`;Q.push(D)}else this._createLines.push(`${z} = document.createTextNode(${q});`);Z=z,A.push(`children: ${Z}`)}return{propsCode:A.length>0?`{ ${A.join(", ")} }`:"{}",reactiveProps:Y,eventBindings:G,childrenSetupLines:Q}},u.hasReactiveDeps=function(F){if(typeof F==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(F));if(!Array.isArray(F))return!1;if(F[0]==="."&&F[1]==="this"&&typeof F[2]==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(F[2]));if(F[0]==="."&&this._rootsAtThis(F[1]))return!0;if(Array.isArray(F[0])&&F[0][0]==="."&&F[0][1]==="this"){let A=$(F[0][2]);if(A&&this.componentMembers?.has(A))return!0}for(let A of F)if(this.hasReactiveDeps(A))return!0;return!1},u.isSimpleAssignable=function(F){if(typeof F==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(F));if(Array.isArray(F)&&F[0]==="."&&F[1]==="this"&&typeof F[2]==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(F[2]));return!1},u.findRootReactiveMember=function(F){if(typeof F==="string")return this.reactiveMembers?.has(F)?F:null;if(!Array.isArray(F))return null;if(F[0]==="."&&F[1]==="this"&&typeof F[2]==="string")return this.reactiveMembers?.has(F[2])?F[2]:null;if(F[0]==="."||F[0]==="[]")return this.findRootReactiveMember(F[1]);return null},u._rootsAtThis=function(F){if(typeof F==="string")return F==="this";if(!Array.isArray(F)||F[0]!==".")return!1;return this._rootsAtThis(F[1])},u.getComponentRuntime=function(){return`
27
28
  // ============================================================================
28
29
  // Rip Component Runtime
29
30
  // ============================================================================
@@ -304,28 +305,31 @@ if (typeof globalThis !== 'undefined') {
304
305
  globalThis.__ripComponent = { __pushComponent, __popComponent, setContext, getContext, hasContext, __clsx, __lis, __reconcile, __transition, __handleComponentError, __Component };
305
306
  }
306
307
 
307
- `}}function H1(f){let _="",U=f<0?-f<<1|1:f<<1;do{let w=U&31;if(U>>>=5,U>0)w|=32;_+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[w]}while(U>0);return _}class t1{constructor(f,_,U=null){this.file=f,this.source=_,this.sourceContent=U,this.names=[],this.nameIndex=new Map,this.lines=[],this.mappings=[],this.prevGenCol=0,this.prevOrigLine=0,this.prevOrigCol=0,this.prevNameIdx=0,this.currentLine=-1}ensureLine(f){while(this.lines.length<=f)this.lines.push([])}addName(f){if(this.nameIndex.has(f))return this.nameIndex.get(f);let _=this.names.length;return this.names.push(f),this.nameIndex.set(f,_),_}addMapping(f,_,U,w,u){if(this.ensureLine(f),this.currentLine!==f)this.prevGenCol=0,this.currentLine=f;if(U==null){this.lines[f].push(H1(_-this.prevGenCol)),this.prevGenCol=_;return}this.mappings.push({genLine:f,genCol:_,origLine:U,origCol:w});let $=H1(_-this.prevGenCol);if(this.prevGenCol=_,$+=H1(0),$+=H1(U-this.prevOrigLine),this.prevOrigLine=U,$+=H1(w-this.prevOrigCol),this.prevOrigCol=w,u!=null){let W=this.addName(u);$+=H1(W-this.prevNameIdx),this.prevNameIdx=W}this.lines[f].push($)}toReverseMap(){let f=new Map;for(let _ of this.mappings){if(!f.has(_.origLine))f.set(_.origLine,[]);f.get(_.origLine).push({origCol:_.origCol,genLine:_.genLine,genCol:_.genCol})}return f}toJSON(){let f=this.lines.map((U)=>U.join(",")).join(";"),_={version:3,file:this.file,sources:[this.source],names:this.names,mappings:f};if(this.sourceContent!=null)_.sourcesContent=[this.sourceContent];return JSON.stringify(_)}}var t=(f,_)=>f instanceof String?f[_]:void 0,m=(f)=>f instanceof String?f.valueOf():f,K4=new Set(["+","-","*","/","%","//","%%","**","==","!=","<",">","<=",">=","===","!==","&&","||","??","!?","not","&","|","^","<<",">>",">>>","=",".","?.","[]","!","typeof","void","delete","new","...","rest","expansion","optindex","optcall"]),X4=new Set(["def","class","if","unless","for-in","for-of","for-as","while","until","loop","switch","try","throw"]),H4=new Set(["true","false","null","undefined","Infinity","NaN"]);function j1(f){if(!Array.isArray(f)||f.length===0)return!1;let _=f[0]?.valueOf?.()??f[0];if(K4.has(_))return!0;return f.length<=4&&!f.some(Array.isArray)}function E1(f){if(Array.isArray(f))return"(???)";if(typeof f==="number")return String(f);if(f===null)return"null";if(f==="")return'""';let _=String(f);if(_[0]==="/"&&_.indexOf(`
308
+ `}}function S1(f){let _="",U=f<0?-f<<1|1:f<<1;do{let w=U&31;if(U>>>=5,U>0)w|=32;_+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[w]}while(U>0);return _}class U2{constructor(f,_,U=null){this.file=f,this.source=_,this.sourceContent=U,this.names=[],this.nameIndex=new Map,this.lines=[],this.mappings=[],this.prevGenCol=0,this.prevOrigLine=0,this.prevOrigCol=0,this.prevNameIdx=0,this.currentLine=-1}ensureLine(f){while(this.lines.length<=f)this.lines.push([])}addName(f){if(this.nameIndex.has(f))return this.nameIndex.get(f);let _=this.names.length;return this.names.push(f),this.nameIndex.set(f,_),_}addMapping(f,_,U,w,u){if(this.ensureLine(f),this.currentLine!==f)this.prevGenCol=0,this.currentLine=f;if(U==null){this.lines[f].push(S1(_-this.prevGenCol)),this.prevGenCol=_;return}this.mappings.push({genLine:f,genCol:_,origLine:U,origCol:w});let $=S1(_-this.prevGenCol);if(this.prevGenCol=_,$+=S1(0),$+=S1(U-this.prevOrigLine),this.prevOrigLine=U,$+=S1(w-this.prevOrigCol),this.prevOrigCol=w,u!=null){let W=this.addName(u);$+=S1(W-this.prevNameIdx),this.prevNameIdx=W}this.lines[f].push($)}toReverseMap(){let f=new Map;for(let _ of this.mappings){if(!f.has(_.origLine))f.set(_.origLine,[]);f.get(_.origLine).push({origCol:_.origCol,genLine:_.genLine,genCol:_.genCol})}return f}toJSON(){let f=this.lines.map((U)=>U.join(",")).join(";"),_={version:3,file:this.file,sources:[this.source],names:this.names,mappings:f};if(this.sourceContent!=null)_.sourcesContent=[this.sourceContent];return JSON.stringify(_)}}class W1 extends Error{constructor(f,{code:_=null,file:U=null,line:w=null,column:u=null,length:$=1,source:W=null,suggestion:F=null,phase:A=null}={}){super(f);this.name="RipError",this.code=_,this.file=U,this.line=w,this.column=u,this.length=$,this.source=W,this.suggestion=F,this.phase=A}static fromLexer(f,_,U){let w=f.location||{};return new W1(f.message,{code:"E_SYNTAX",file:U,line:w.first_line??null,column:w.first_column??null,length:w.last_column!=null&&w.first_column!=null?w.last_column-w.first_column+1:1,source:_,phase:"lexer"})}static fromParser(f,_,U){let w=f.hash||{},u=w.loc||{},$=w.line??u.r??null,W=u.first_column??u.c??null,F=null;if(w.expected?.length){if(F=`Expected ${w.expected.slice(0,5).map((Q)=>Q.replace(/'/g,"")).join(", ")}`,w.expected.length>5)F+=`, ... (${w.expected.length} total)`}let A=w.token||"token",Y=w.text?` near '${w.text}'`:"",G=`Unexpected ${A}${Y}`;return new W1(G,{code:"E_PARSE",file:U,line:$,column:W,length:w.text?.length||1,source:_,suggestion:F,phase:"parser"})}static fromSExpr(f,_,U,w,u){let $=_?.loc||{};return new W1(f,{code:"E_CODEGEN",file:w,line:$.r??null,column:$.c??null,length:$.n??1,source:U,suggestion:u,phase:"codegen"})}get locationString(){let f=[];if(this.file)f.push(this.file);if(this.line!=null)f.push(`${this.line+1}:${(this.column??0)+1}`);return f.join(":")}format({color:f=!0}={}){let _=f?{red:"\x1B[31m",yellow:"\x1B[33m",cyan:"\x1B[36m",dim:"\x1B[2m",bold:"\x1B[1m",reset:"\x1B[0m"}:{red:"",yellow:"",cyan:"",dim:"",bold:"",reset:""},U=[],w=this.locationString,u=w?`${_.cyan}${w}${_.reset} `:"";U.push(`${u}${_.red}${_.bold}error${_.reset}${_.bold}: ${this.message}${_.reset}`);let $=this._snippet();if($){U.push("");for(let W of $)if(W.type==="source")U.push(`${_.dim}${W.gutter}${_.reset}${W.text}`);else if(W.type==="caret")U.push(`${_.dim}${W.gutter}${_.reset}${_.red}${_.bold}${W.text}${_.reset}`)}if(this.suggestion)U.push(""),U.push(`${_.yellow}hint${_.reset}: ${this.suggestion}`);return U.join(`
309
+ `)}formatHTML(){let f=[];f.push('<div class="rip-error">'),f.push("<style>"),f.push('.rip-error { font-family: ui-monospace, "SF Mono", Menlo, Monaco, monospace; font-size: 13px; line-height: 1.5; padding: 16px 20px; background: #1e1e2e; color: #cdd6f4; border-radius: 8px; overflow-x: auto; }'),f.push(".rip-error .re-header { color: #f38ba8; font-weight: 600; }"),f.push(".rip-error .re-loc { color: #89b4fa; }"),f.push(".rip-error .re-gutter { color: #585b70; user-select: none; }"),f.push(".rip-error .re-caret { color: #f38ba8; font-weight: 700; }"),f.push(".rip-error .re-hint { color: #f9e2af; }"),f.push(".rip-error .re-snippet { margin: 8px 0; }"),f.push("</style>");let _=this.locationString,U=_?`<span class="re-loc">${O1(_)}</span> `:"";f.push(`<div class="re-header">${U}error: ${O1(this.message)}</div>`);let w=this._snippet();if(w){f.push('<pre class="re-snippet">');for(let u of w)if(u.type==="source")f.push(`<span class="re-gutter">${O1(u.gutter)}</span>${O1(u.text)}`);else if(u.type==="caret")f.push(`<span class="re-gutter">${O1(u.gutter)}</span><span class="re-caret">${O1(u.text)}</span>`);f.push("</pre>")}if(this.suggestion)f.push(`<div class="re-hint">hint: ${O1(this.suggestion)}</div>`);return f.push("</div>"),f.join(`
310
+ `)}_snippet(){if(this.source==null||this.line==null)return null;let f=this.source.split(`
311
+ `),_=this.line;if(_<0||_>=f.length)return null;let U=2,w=Math.max(0,_-U),u=Math.min(f.length-1,_+U),$=String(u+1).length,W=[];for(let F=w;F<=u;F++){let Y=` ${String(F+1).padStart($)} │ `;if(W.push({type:"source",gutter:Y,text:f[F]}),F===_&&this.column!=null){let G=" ".repeat(this.column),Z=Math.max(1,Math.min(this.length||1,f[F].length-this.column)),Q="^".repeat(Z),J=" ".repeat($+2)+"│ ";W.push({type:"caret",gutter:J,text:`${G}${Q}`})}}return W}}function _4(f){return f instanceof SyntaxError&&f.location!=null}function U4(f){return!(f instanceof SyntaxError)&&f.hash!=null}function L1(f,_,U){if(f instanceof W1){if(U&&!f.file)f.file=U;if(_&&!f.source)f.source=_;return f}if(_4(f))return W1.fromLexer(f,_,U);if(U4(f))return W1.fromParser(f,_,U);return new W1(f.message,{file:U,source:_,phase:"unknown"})}function q1(f,{source:_,file:U,color:w=!0}={}){return(f instanceof W1?f:L1(f,_,U)).format({color:w})}function w2(f,{source:_,file:U}={}){return(f instanceof W1?f:L1(f,_,U)).formatHTML()}function O1(f){return f.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}var $1=(f,_)=>f instanceof String?f[_]:void 0,c=(f)=>f instanceof String?f.valueOf():f,w4=new Set(["+","-","*","/","%","//","%%","**","==","!=","<",">","<=",">=","===","!==","&&","||","??","not","&","|","^","<<",">>",">>>","=",".","?.","[]","!","typeof","void","delete","new","...","rest","expansion","optindex","optcall"]),F4=new Set(["def","class","if","unless","for-in","for-of","for-as","while","until","loop","switch","try","throw"]),W4=new Set(["true","false","null","undefined","Infinity","NaN"]);function v1(f){if(!Array.isArray(f)||f.length===0)return!1;let _=f[0]?.valueOf?.()??f[0];if(w4.has(_))return!0;return f.length<=4&&!f.some(Array.isArray)}function N1(f){if(Array.isArray(f))return"(???)";if(typeof f==="number")return String(f);if(f===null)return"null";if(f==="")return'""';let _=String(f);if(_[0]==="/"&&_.indexOf(`
308
312
  `)>=0){let U=_.match(/\/([gimsuvy]*)$/),w=U?U[1]:"",u=_.slice(1);return u=w?u.slice(0,-w.length-1):u.slice(0,-1),`"/${u.split(`
309
- `).map((F)=>F.replace(/#.*$/,"").trim()).join("")}/${w}"`}return _}function W1(f,_=0,U=!1){if(!Array.isArray(f))return E1(f);if(U&&f[0]==="program"){let G=f[1],R=[Array.isArray(G)?"(program":"(program "+E1(G)],Z=Array.isArray(G)?1:2;for(let M=Z;M<f.length;M++){let J=W1(f[M],2,!1);R.push(J[0]==="("?" "+J:J)}return R.push(")"),R.join(`
310
- `)}let w=f[0];if(j1(f)&&f.slice(1).every((G)=>!Array.isArray(G)||j1(G))){let Y=`(${f.map((R)=>Array.isArray(R)?W1(R,0,!1):E1(R)).join(" ")})`;if(!Y.includes(`
311
- `))return" ".repeat(_)+Y}let $=" ".repeat(_),W;if(Array.isArray(w)){if(W=W1(w,0,!1),W.includes(`
313
+ `).map((F)=>F.replace(/#.*$/,"").trim()).join("")}/${w}"`}return _}function Z1(f,_=0,U=!1){if(!Array.isArray(f))return N1(f);if(U&&f[0]==="program"){let Y=f[1],Z=[Array.isArray(Y)?"(program":"(program "+N1(Y)],Q=Array.isArray(Y)?1:2;for(let J=Q;J<f.length;J++){let M=Z1(f[J],2,!1);Z.push(M[0]==="("?" "+M:M)}return Z.push(")"),Z.join(`
314
+ `)}let w=f[0];if(v1(f)&&f.slice(1).every((Y)=>!Array.isArray(Y)||v1(Y))){let G=`(${f.map((Z)=>Array.isArray(Z)?Z1(Z,0,!1):N1(Z)).join(" ")})`;if(!G.includes(`
315
+ `))return" ".repeat(_)+G}let $=" ".repeat(_),W;if(Array.isArray(w)){if(W=Z1(w,0,!1),W.includes(`
312
316
  `))W=W.split(`
313
- `).map((Y,R)=>R===0?Y:" ".repeat(_+2)+Y).join(`
314
- `)}else W=E1(w);let F=[`${$}(${W}`],A=w==="block";for(let G=1;G<f.length;G++){let Y=f[G];if(!Array.isArray(Y))F[F.length-1]+=" "+E1(Y);else{let R=j1(Y)&&Y.every((Z)=>!Array.isArray(Z)||j1(Z));if(!A&&R){let Z=W1(Y,0,!1);if(!Z.includes(`
315
- `)){F[F.length-1]+=" "+Z;continue}}F.push(W1(Y,_+2,!1))}}return F[F.length-1]+=")",F.join(`
316
- `)}class f1{static ASSIGNMENT_OPS=new Set(["=","+=","-=","*=","/=","?=","&=","|=","^=","%=","**=","??=","&&=","||=","<<=",">>=",">>>="]);static NUMBER_LITERAL_RE=/^-?\d+(\.\d+)?([eE][+-]?\d+)?$/;static NUMBER_START_RE=/^-?\d/;static GENERATORS={program:"emitProgram","&&":"emitLogicalAnd","||":"emitLogicalOr","+":"emitBinaryOp","-":"emitBinaryOp","*":"emitBinaryOp","/":"emitBinaryOp","%":"emitBinaryOp","**":"emitBinaryOp","==":"emitBinaryOp","===":"emitBinaryOp","!=":"emitBinaryOp","!==":"emitBinaryOp","<":"emitBinaryOp",">":"emitBinaryOp","<=":"emitBinaryOp",">=":"emitBinaryOp","??":"emitBinaryOp","!?":"emitBinaryOp","&":"emitBinaryOp","|":"emitBinaryOp","^":"emitBinaryOp","<<":"emitBinaryOp",">>":"emitBinaryOp",">>>":"emitBinaryOp","%%":"emitModulo","%%=":"emitModuloAssign","//":"emitFloorDiv","//=":"emitFloorDivAssign","..":"emitRange","=":"emitAssignment","+=":"emitAssignment","-=":"emitAssignment","*=":"emitAssignment","/=":"emitAssignment","%=":"emitAssignment","**=":"emitAssignment","&&=":"emitAssignment","||=":"emitAssignment","??=":"emitAssignment","?=":"emitAssignment","&=":"emitAssignment","|=":"emitAssignment","^=":"emitAssignment","<<=":"emitAssignment",">>=":"emitAssignment",">>>=":"emitAssignment","...":"emitRange","!":"emitNot","~":"emitBitwiseNot","++":"emitIncDec","--":"emitIncDec","=~":"emitRegexMatch",instanceof:"emitInstanceof",in:"emitIn",of:"emitOf",typeof:"emitTypeof",delete:"emitDelete",new:"emitNew",array:"emitArray",object:"emitObject","map-literal":"emitMap",block:"emitBlock",".":"emitPropertyAccess","?.":"emitOptionalProperty","[]":"emitIndexAccess",optindex:"emitOptIndex",optcall:"emitOptCall","regex-index":"emitRegexIndex",def:"emitDef","->":"emitThinArrow","=>":"emitFatArrow",return:"emitReturn",state:"emitState",computed:"emitComputed",readonly:"emitReadonly",effect:"emitEffect",break:"emitBreak",continue:"emitContinue","?":"emitExistential",defined:"emitDefined",presence:"emitPresence","?:":"emitTernary","|>":"emitPipe",loop:"emitLoop","loop-n":"emitLoopN",await:"emitAwait",yield:"emitYield","yield-from":"emitYieldFrom",if:"emitIf","for-in":"emitForIn","for-of":"emitForOf","for-as":"emitForAs",while:"emitWhile",try:"emitTry",throw:"emitThrow",control:"emitControl",switch:"emitSwitch",when:"emitWhen",comprehension:"emitComprehension","object-comprehension":"emitObjectComprehension",class:"emitClass",super:"emitSuper",component:"emitComponent",render:"emitRender",offer:"emitOffer",accept:"emitAccept",enum:"emitEnum",import:"emitImport",export:"emitExport","export-default":"emitExportDefault","export-all":"emitExportAll","export-from":"emitExportFrom","do-iife":"emitDoIIFE",regex:"emitRegex","tagged-template":"emitTaggedTemplate",str:"emitString"};constructor(f={}){if(this.options=f,this.indentLevel=0,this.indentString=" ",this.comprehensionDepth=0,this.dataSection=f.dataSection,this.sourceMap=f.sourceMap||null,f.reactiveVars)this.reactiveVars=new Set(f.reactiveVars)}compile(f){this.programVars=new Set,this.functionVars=new Map,this.helpers=new Set,this.scopeStack=[],this.collectProgramVariables(f);let _=this.emit(f);if(this.sourceMap)this.buildMappings();return _}buildMappings(){if(!this._stmtEntries)return;let f=this._preambleLines;for(let _ of this._stmtEntries){if(_.loc)this.sourceMap.addMapping(f,0,_.loc.r,_.loc.c);if(_.sexpr&&_.loc)this.recordSubMappings(_.code,_.sexpr,f);f+=_.code.split(`
317
- `).length}}recordSubMappings(f,_,U){let w=_.loc?_.loc.r:0,u=[];this.collectSubExprs(_,u);for(let{name:$,origLine:W,origCol:F}of u){let A=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),G=new RegExp("\\b"+A+"\\b","g"),Y,R=null,Z=1/0,M=W-w;while((Y=G.exec(f))!==null){let H=f.substring(0,Y.index).split(`
318
- `),O=U+H.length-1,z=H[H.length-1].length,q=H.length-1,Q=Math.abs(q-M)*1e4+Math.abs(z-F);if(Q<Z)Z=Q,R={genLine:O,genCol:z}}if(R)this.sourceMap.addMapping(R.genLine,R.genCol,W,F)}}collectSubExprs(f,_){if(!Array.isArray(f))return;let U=f[0];if(Array.isArray(U)||U!=null&&typeof U!=="string"&&!(U instanceof String)){for(let w=0;w<f.length;w++)if(Array.isArray(f[w]))this.collectSubExprs(f[w],_);return}if(f.loc){U=m(U);let w=null;if(U==="."){if(typeof f[2]==="string")w=f[2]}else if(typeof U==="string"&&/^[=+\-*/%<>!&|?~^]|^\.\.?$|^def$|^class$|^state$|^computed$|^readonly$|^for-/.test(U)){if(typeof f[1]==="string"&&/^[a-zA-Z_$]/.test(f[1]))w=f[1]}else if(typeof U==="string"&&/^[a-zA-Z_$]/.test(U))w=U;if(w)_.push({name:w,origLine:f.loc.r,origCol:f.loc.c})}for(let w=1;w<f.length;w++)if(Array.isArray(f[w]))this.collectSubExprs(f[w],_)}collectProgramVariables(f){if(!Array.isArray(f))return;let[_,...U]=f;if(_=m(_),Array.isArray(_)){f.forEach((w)=>this.collectProgramVariables(w));return}if(_==="export"||_==="export-default"||_==="export-all"||_==="export-from")return;if(_==="state"||_==="computed"){let[w]=U,u=m(w)??w;if(!this.reactiveVars)this.reactiveVars=new Set;this.reactiveVars.add(u);return}if(_==="readonly"){let[w]=U,u=m(w)??w;if(!this.readonlyVars)this.readonlyVars=new Set;this.readonlyVars.add(u);return}if(_==="component")return;if(_==="enum")return;if(f1.ASSIGNMENT_OPS.has(_)){let[w,u]=U;if(typeof w==="string"||w instanceof String){let $=m(w);if(!this.reactiveVars?.has($)&&!this.readonlyVars?.has($))this.programVars.add($)}else if(this.is(w,"array"))this.collectVarsFromArray(w,this.programVars);else if(this.is(w,"object"))this.collectVarsFromObject(w,this.programVars);this.collectProgramVariables(u);return}if(_==="def"||_==="->"||_==="=>"||_==="effect")return;if(_==="if"){let[w,u,$]=U;if(this.collectProgramVariables(w),this.collectProgramVariables(u),$)this.collectProgramVariables($);return}if(_==="try"){if(this.collectProgramVariables(U[0]),U.length>=2&&Array.isArray(U[1])&&U[1].length===2&&U[1][0]!=="block"){let[w,u]=U[1];if(w&&this.is(w,"object"))w.slice(1).forEach(($)=>{if(Array.isArray($)&&$.length===2&&typeof $[1]==="string")this.programVars.add($[1])});else if(w&&this.is(w,"array"))w.slice(1).forEach(($)=>{if(typeof $==="string")this.programVars.add($)});this.collectProgramVariables(u)}if(U.length===3)this.collectProgramVariables(U[2]);else if(U.length===2&&(!Array.isArray(U[1])||U[1][0]==="block"))this.collectProgramVariables(U[1]);return}U.forEach((w)=>this.collectProgramVariables(w))}collectFunctionVariables(f){let _=new Set,U=(w)=>{if(!Array.isArray(w))return;let[u,...$]=w;if(u=m(u),Array.isArray(u)){w.forEach((W)=>U(W));return}if(f1.ASSIGNMENT_OPS.has(u)){let[W,F]=$;if(typeof W==="string")_.add(W);else if(this.is(W,"array"))this.collectVarsFromArray(W,_);else if(this.is(W,"object"))this.collectVarsFromObject(W,_);U(F);return}if(u==="def"||u==="->"||u==="=>"||u==="effect")return;if(u==="try"){if(U($[0]),$.length>=2&&Array.isArray($[1])&&$[1].length===2&&$[1][0]!=="block"){let[W,F]=$[1];if(W&&this.is(W,"object"))W.slice(1).forEach((A)=>{if(Array.isArray(A)&&A.length===2&&typeof A[1]==="string")_.add(A[1])});else if(W&&this.is(W,"array"))W.slice(1).forEach((A)=>{if(typeof A==="string")_.add(A)});U(F)}if($.length===3)U($[2]);else if($.length===2&&(!Array.isArray($[1])||$[1][0]==="block"))U($[1]);return}$.forEach((W)=>U(W))};return U(f),_}emit(f,_="statement"){if(f instanceof String){if(t(f,"await")===!0)return`await ${m(f)}()`;if(t(f,"predicate"))return`(${m(f)} != null)`;if(t(f,"delimiter")==="///"&&t(f,"heregex")){let F=m(f),A=F.match(/^\/(.*)\/([gimsuvy]*)$/s);if(A){let[,G,Y]=A;return`/${this.processHeregex(G)}/${Y}`}return F}let W=t(f,"quote");if(W){let F=m(f);if(W==='"""'||W==="'''"){let G=this.extractStringContent(f);return G=G.replace(/`/g,"\\`").replace(/\${/g,"\\${"),`\`${G}\``}if(F[0]===W)return F;let A=F.slice(1,-1);return`${W}${A}${W}`}f=m(f)}if(typeof f==="string"){if(f.startsWith('"')||f.startsWith("'")||f.startsWith("`")){if(this.options.debug)console.warn("[Rip] Unexpected quoted primitive:",f);let W=f.slice(1,-1);if(W.includes(`
319
- `))return`\`${W.replace(/`/g,"\\`").replace(/\$\{/g,"\\${")}\``;let F=W.includes("'")&&!W.includes('"')?'"':"'",A=W.replace(new RegExp(F,"g"),`\\${F}`);return`${F}${A}${F}`}if(this.reactiveVars?.has(f)&&!this.suppressReactiveUnwrap)return`${f}.value`;return f}if(typeof f==="number")return String(f);if(f===null||f===void 0)return"null";if(!Array.isArray(f))throw Error(`Invalid s-expression: ${JSON.stringify(f)}`);let[U,...w]=f,u=t(U,"await");U=m(U);let $=f1.GENERATORS[U];if($)return this[$](U,w,_,f);if(typeof U==="string"&&!U.startsWith('"')&&!U.startsWith("'")){if(f1.NUMBER_START_RE.test(U))return U;if(U==="super"&&this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}(${this._emitArgs(w)})`;let W=this._tryPostfixCall(U,w,_);if(W)return W;let F=u===!0,A=`${this.emit(U,"value")}(${this._emitArgs(w)})`;return F?`await ${A}`:A}if(Array.isArray(U)&&typeof U[0]==="string"){if(["=","+=","-=","*=","/=","%=","**=","&&=","||=","??=","if","return","throw"].includes(U[0]))return`(${f.map((F)=>this.emit(F,"value")).join(", ")})`}if(Array.isArray(U)){if(U[0]==="."&&(U[2]==="new"||m(U[2])==="new")){let Y=U[1],R=this.emit(Y,"value");return`new ${Array.isArray(Y)?`(${R})`:R}(${this._emitArgs(w)})`}let W=this._tryPostfixCall(U,w,_);if(W)return W;let F=!1,A;if(U[0]==="."&&t(U[2],"await")===!0){F=!0;let[Y,R]=U.slice(1),Z=this.emit(Y,"value");A=`${f1.NUMBER_LITERAL_RE.test(Z)||(this.is(Y,"object")||this.is(Y,"await")||this.is(Y,"yield"))?`(${Z})`:Z}.${m(R)}`}else A=this.emit(U,"value");let G=`${A}(${this._emitArgs(w)})`;return F?`await ${G}`:G}throw Error(`Unknown s-expression type: ${U}`)}emitProgram(f,_,U,w){let u="",$=[],W=[];for(let M of _){if(!Array.isArray(M)){W.push(M);continue}if(M[0]==="import")$.push(M);else W.push(M)}let F=["def","class","if","for-in","for-of","for-as","while","loop","switch","try"],A=W.map((M,J)=>{let H=W.length===1&&$.length===0,O=this.is(M,"object"),z=O&&M.length===2&&Array.isArray(M[1])&&Array.isArray(M[1][2])&&M[1][2][0]==="comprehension",q=this.is(M,"comprehension")||this.is(M,"object-comprehension")||this.is(M,"do-iife"),Q=this.programVars.size===0,D=H&&O&&Q&&!q&&!z,P=J===W.length-1&&q,K;if(D)K=`(${this.emit(M,"value")})`;else if(P)K=this.emit(M,"value");else K=this.emit(M,"statement");if(K&&!K.endsWith(";")){let E=Array.isArray(M)?M[0]:null;if(!F.includes(E)||!K.endsWith("}"))K+=";"}let X=Array.isArray(M)?M.loc:null;return{code:K,loc:X,sexpr:Array.isArray(M)?M:null}}),G=A.map((M)=>M.code).join(`
320
- `),Y=!1;if($.length>0)u+=$.map((M)=>this.addSemicolon(M,this.emit(M,"statement"))).join(`
321
- `),Y=!0;if(this.programVars.size>0){let M=this.programVars.has("_");if(M)this.programVars.delete("_");if(this.programVars.size>0){let J=Array.from(this.programVars).sort().join(", ");if(Y)u+=`
322
- `;u+=`let ${J};
323
- `,Y=!0}if(M){if(Y)u+=`
317
+ `).map((G,Z)=>Z===0?G:" ".repeat(_+2)+G).join(`
318
+ `)}else W=N1(w);let F=[`${$}(${W}`],A=w==="block";for(let Y=1;Y<f.length;Y++){let G=f[Y];if(!Array.isArray(G))F[F.length-1]+=" "+N1(G);else{let Z=v1(G)&&G.every((Q)=>!Array.isArray(Q)||v1(Q));if(!A&&Z){let Q=Z1(G,0,!1);if(!Q.includes(`
319
+ `)){F[F.length-1]+=" "+Q;continue}}F.push(Z1(G,_+2,!1))}}return F[F.length-1]+=")",F.join(`
320
+ `)}class w1{static ASSIGNMENT_OPS=new Set(["=","+=","-=","*=","/=","?=","&=","|=","^=","%=","**=","??=","&&=","||=","<<=",">>=",">>>="]);static NUMBER_LITERAL_RE=/^-?\d+(\.\d+)?([eE][+-]?\d+)?$/;static NUMBER_START_RE=/^-?\d/;static GENERATORS={program:"emitProgram","&&":"emitLogicalAnd","||":"emitLogicalOr","+":"emitBinaryOp","-":"emitBinaryOp","*":"emitBinaryOp","/":"emitBinaryOp","%":"emitBinaryOp","**":"emitBinaryOp","==":"emitBinaryOp","===":"emitBinaryOp","!=":"emitBinaryOp","!==":"emitBinaryOp","<":"emitBinaryOp",">":"emitBinaryOp","<=":"emitBinaryOp",">=":"emitBinaryOp","??":"emitBinaryOp","&":"emitBinaryOp","|":"emitBinaryOp","^":"emitBinaryOp","<<":"emitBinaryOp",">>":"emitBinaryOp",">>>":"emitBinaryOp","%%":"emitModulo","%%=":"emitModuloAssign","//":"emitFloorDiv","//=":"emitFloorDivAssign","..":"emitRange","=":"emitAssignment","+=":"emitAssignment","-=":"emitAssignment","*=":"emitAssignment","/=":"emitAssignment","%=":"emitAssignment","**=":"emitAssignment","&&=":"emitAssignment","||=":"emitAssignment","??=":"emitAssignment","?=":"emitAssignment","&=":"emitAssignment","|=":"emitAssignment","^=":"emitAssignment","<<=":"emitAssignment",">>=":"emitAssignment",">>>=":"emitAssignment","...":"emitRange","!":"emitNot","~":"emitBitwiseNot","++":"emitIncDec","--":"emitIncDec","=~":"emitRegexMatch",instanceof:"emitInstanceof",in:"emitIn",of:"emitOf",typeof:"emitTypeof",delete:"emitDelete",new:"emitNew",array:"emitArray",object:"emitObject","map-literal":"emitMap",block:"emitBlock",".":"emitPropertyAccess","?.":"emitOptionalProperty","[]":"emitIndexAccess",optindex:"emitOptIndex",optcall:"emitOptCall","regex-index":"emitRegexIndex",def:"emitDef","->":"emitThinArrow","=>":"emitFatArrow",return:"emitReturn",state:"emitState",computed:"emitComputed",readonly:"emitReadonly",effect:"emitEffect",break:"emitBreak",continue:"emitContinue","?":"emitExistential",presence:"emitPresence","?:":"emitTernary","|>":"emitPipe",loop:"emitLoop","loop-n":"emitLoopN",await:"emitAwait",yield:"emitYield","yield-from":"emitYieldFrom",if:"emitIf","for-in":"emitForIn","for-of":"emitForOf","for-as":"emitForAs",while:"emitWhile",try:"emitTry",throw:"emitThrow",control:"emitControl",switch:"emitSwitch",when:"emitWhen",comprehension:"emitComprehension","object-comprehension":"emitObjectComprehension",class:"emitClass",super:"emitSuper",component:"emitComponent",render:"emitRender",offer:"emitOffer",accept:"emitAccept",enum:"emitEnum",import:"emitImport",export:"emitExport","export-default":"emitExportDefault","export-all":"emitExportAll","export-from":"emitExportFrom","do-iife":"emitDoIIFE",regex:"emitRegex","tagged-template":"emitTaggedTemplate",str:"emitString"};constructor(f={}){if(this.options=f,this.indentLevel=0,this.indentString=" ",this.comprehensionDepth=0,this.dataSection=f.dataSection,this.sourceMap=f.sourceMap||null,f.reactiveVars)this.reactiveVars=new Set(f.reactiveVars)}error(f,_,{suggestion:U}={}){throw W1.fromSExpr(f,_,this.options.source,this.options.filename,U)}compile(f){this.programVars=new Set,this.functionVars=new Map,this.helpers=new Set,this.scopeStack=[],this.collectProgramVariables(f);let _=this.emit(f);if(this.sourceMap)this.buildMappings();return _}buildMappings(){if(!this._stmtEntries)return;let f=this._preambleLines;for(let _ of this._stmtEntries){if(_.loc)this.sourceMap.addMapping(f,0,_.loc.r,_.loc.c);if(_.sexpr&&_.loc)this.recordSubMappings(_.code,_.sexpr,f);f+=_.code.split(`
321
+ `).length}}recordSubMappings(f,_,U){let w=_.loc?_.loc.r:0,u=[];this.collectSubExprs(_,u);for(let{name:$,origLine:W,origCol:F}of u){let A=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Y=new RegExp("\\b"+A+"\\b","g"),G,Z=null,Q=1/0,J=W-w;while((G=Y.exec(f))!==null){let K=f.substring(0,G.index).split(`
322
+ `),R=U+K.length-1,z=K[K.length-1].length,q=K.length-1,O=Math.abs(q-J)*1e4+Math.abs(z-F);if(O<Q)Q=O,Z={genLine:R,genCol:z}}if(Z)this.sourceMap.addMapping(Z.genLine,Z.genCol,W,F)}}collectSubExprs(f,_){if(!Array.isArray(f))return;let U=f[0];if(Array.isArray(U)||U!=null&&typeof U!=="string"&&!(U instanceof String)){for(let u=0;u<f.length;u++)if(Array.isArray(f[u]))this.collectSubExprs(f[u],_);return}if(f.loc){U=c(U);let u=null;if(U==="."){if(typeof f[2]==="string")u=f[2]}else if(typeof U==="string"&&/^[=+\-*/%<>!&|?~^]|^\.\.?$|^def$|^class$|^state$|^computed$|^readonly$|^for-/.test(U)){if(typeof f[1]==="string"&&/^[a-zA-Z_$]/.test(f[1]))u=f[1]}else if(typeof U==="string"&&/^[a-zA-Z_$]/.test(U))u=U;if(u)_.push({name:u,origLine:f.loc.r,origCol:f.loc.c})}let w=U==="->"||U==="=>"?2:1;for(let u=w;u<f.length;u++)if(Array.isArray(f[u]))this.collectSubExprs(f[u],_)}collectProgramVariables(f){if(!Array.isArray(f))return;let[_,...U]=f;if(_=c(_),Array.isArray(_)){f.forEach((w)=>this.collectProgramVariables(w));return}if(_==="export"||_==="export-default"||_==="export-all"||_==="export-from")return;if(_==="state"||_==="computed"){let[w]=U,u=c(w)??w;if(!this.reactiveVars)this.reactiveVars=new Set;this.reactiveVars.add(u);return}if(_==="readonly"){let[w]=U,u=c(w)??w;if(!this.readonlyVars)this.readonlyVars=new Set;this.readonlyVars.add(u);return}if(_==="component")return;if(_==="enum")return;if(w1.ASSIGNMENT_OPS.has(_)){let[w,u]=U;if(typeof w==="string"||w instanceof String){let $=c(w);if(!this.reactiveVars?.has($)&&!this.readonlyVars?.has($))this.programVars.add($)}else if(this.is(w,"array"))this.collectVarsFromArray(w,this.programVars);else if(this.is(w,"object"))this.collectVarsFromObject(w,this.programVars);this.collectProgramVariables(u);return}if(_==="def"||_==="->"||_==="=>"||_==="effect")return;if(_==="if"){let[w,u,$]=U;if(this.collectProgramVariables(w),this.collectProgramVariables(u),$)this.collectProgramVariables($);return}if(_==="try"){if(this.collectProgramVariables(U[0]),U.length>=2&&Array.isArray(U[1])&&U[1].length===2&&U[1][0]!=="block"){let[w,u]=U[1];if(w&&this.is(w,"object"))w.slice(1).forEach(($)=>{if(Array.isArray($)&&$.length===2&&typeof $[1]==="string")this.programVars.add($[1])});else if(w&&this.is(w,"array"))w.slice(1).forEach(($)=>{if(typeof $==="string")this.programVars.add($)});this.collectProgramVariables(u)}if(U.length===3)this.collectProgramVariables(U[2]);else if(U.length===2&&(!Array.isArray(U[1])||U[1][0]==="block"))this.collectProgramVariables(U[1]);return}U.forEach((w)=>this.collectProgramVariables(w))}collectFunctionVariables(f){let _=new Set,U=(w)=>{if(!Array.isArray(w))return;let[u,...$]=w;if(u=c(u),Array.isArray(u)){w.forEach((W)=>U(W));return}if(w1.ASSIGNMENT_OPS.has(u)){let[W,F]=$;if(typeof W==="string")_.add(W);else if(this.is(W,"array"))this.collectVarsFromArray(W,_);else if(this.is(W,"object"))this.collectVarsFromObject(W,_);U(F);return}if(u==="def"||u==="->"||u==="=>"||u==="effect")return;if(u==="try"){if(U($[0]),$.length>=2&&Array.isArray($[1])&&$[1].length===2&&$[1][0]!=="block"){let[W,F]=$[1];if(W&&this.is(W,"object"))W.slice(1).forEach((A)=>{if(Array.isArray(A)&&A.length===2&&typeof A[1]==="string")_.add(A[1])});else if(W&&this.is(W,"array"))W.slice(1).forEach((A)=>{if(typeof A==="string")_.add(A)});U(F)}if($.length===3)U($[2]);else if($.length===2&&(!Array.isArray($[1])||$[1][0]==="block"))U($[1]);return}$.forEach((W)=>U(W))};return U(f),_}emit(f,_="statement"){if(f instanceof String){if($1(f,"await")===!0)return`await ${c(f)}()`;if($1(f,"predicate"))return`(${c(f)} != null)`;if($1(f,"delimiter")==="///"&&$1(f,"heregex")){let F=c(f),A=F.match(/^\/(.*)\/([gimsuvy]*)$/s);if(A){let[,Y,G]=A;return`/${this.processHeregex(Y)}/${G}`}return F}let W=$1(f,"quote");if(W){let F=c(f);if(W==='"""'||W==="'''"){let Y=this.extractStringContent(f);return Y=Y.replace(/`/g,"\\`").replace(/\${/g,"\\${"),`\`${Y}\``}if(F[0]===W)return F;let A=F.slice(1,-1);return`${W}${A}${W}`}f=c(f)}if(typeof f==="string"){if(f.startsWith('"')||f.startsWith("'")||f.startsWith("`")){if(this.options.debug)console.warn("[Rip] Unexpected quoted primitive:",f);let W=f.slice(1,-1);if(W.includes(`
323
+ `))return`\`${W.replace(/`/g,"\\`").replace(/\$\{/g,"\\${")}\``;let F=W.includes("'")&&!W.includes('"')?'"':"'",A=W.replace(new RegExp(F,"g"),`\\${F}`);return`${F}${A}${F}`}if(this.reactiveVars?.has(f)&&!this.suppressReactiveUnwrap)return`${f}.value`;return f}if(typeof f==="number")return String(f);if(f===null||f===void 0)return"null";if(!Array.isArray(f))this.error(`Invalid s-expression: ${JSON.stringify(f)}`,f);let[U,...w]=f,u=$1(U,"await");U=c(U);let $=w1.GENERATORS[U];if($)return this[$](U,w,_,f);if(typeof U==="string"&&!U.startsWith('"')&&!U.startsWith("'")){if(w1.NUMBER_START_RE.test(U))return U;if(U==="super"&&this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}(${this._emitArgs(w)})`;let W=this._tryPostfixCall(U,w,_);if(W)return W;let F=u===!0,A=`${this.emit(U,"value")}(${this._emitArgs(w)})`;return F?`await ${A}`:A}if(Array.isArray(U)&&typeof U[0]==="string"){if(["=","+=","-=","*=","/=","%=","**=","&&=","||=","??=","if","return","throw"].includes(U[0]))return`(${f.map((F)=>this.emit(F,"value")).join(", ")})`}if(Array.isArray(U)){if(U[0]==="."&&(U[2]==="new"||c(U[2])==="new")){let G=U[1],Z=this.emit(G,"value");return`new ${Array.isArray(G)?`(${Z})`:Z}(${this._emitArgs(w)})`}let W=this._tryPostfixCall(U,w,_);if(W)return W;let F=!1,A;if(U[0]==="."&&$1(U[2],"await")===!0){F=!0;let[G,Z]=U.slice(1),Q=this.emit(G,"value");A=`${w1.NUMBER_LITERAL_RE.test(Q)||(this.is(G,"object")||this.is(G,"await")||this.is(G,"yield"))?`(${Q})`:Q}.${c(Z)}`}else A=this.emit(U,"value");let Y=`${A}(${this._emitArgs(w)})`;return F?`await ${Y}`:Y}this.error(`Unknown s-expression type: ${U}`,f)}emitProgram(f,_,U,w){let u="",$=[],W=[];for(let K of _){if(!Array.isArray(K)){W.push(K);continue}if(K[0]==="import")$.push(K);else W.push(K)}let F=this._inlineVarsPending,A=new Set;if(this.programVars.size>0&&W.length>0){if(A=this.classifyVarsForInlining(W,this.programVars).inlineVars,A.delete("_"),A.size>0)this._inlineVarsPending=new Set(A)}let Y=["def","class","if","for-in","for-of","for-as","while","loop","switch","try"],G=W.map((K,R)=>{let z=W.length===1&&$.length===0,q=this.is(K,"object"),O=q&&K.length===2&&Array.isArray(K[1])&&Array.isArray(K[1][2])&&K[1][2][0]==="comprehension",D=this.is(K,"comprehension")||this.is(K,"object-comprehension")||this.is(K,"do-iife"),I=this.programVars.size===0,B=z&&q&&I&&!D&&!O,X=R===W.length-1&&D,P;if(B)P=`(${this.emit(K,"value")})`;else if(X)P=this.emit(K,"value");else P=this.emit(K,"statement");if(P&&!P.endsWith(";")){let E=Array.isArray(K)?K[0]:null;if(!Y.includes(E)||!P.endsWith("}"))P+=";"}let S=Array.isArray(K)?K.loc:null;return{code:P,loc:S,sexpr:Array.isArray(K)?K:null}}),Z=G.map((K)=>K.code).join(`
324
+ `);this._inlineVarsPending=F;let Q=!1;if($.length>0)u+=$.map((K)=>this.addSemicolon(K,this.emit(K,"statement"))).join(`
325
+ `),Q=!0;if(this.programVars.size>0){let K=this.programVars.has("_");if(K)this.programVars.delete("_");if(this.programVars.size>0){let R=Array.from(this.programVars).filter((z)=>!A.has(z)).sort().join(", ");if(R){if(Q)u+=`
326
+ `;u+=`let ${R};
327
+ `,Q=!0}}if(K){if(Q)u+=`
324
328
  `;u+=`var _;
325
- `,Y=!0}}let R=this.options.skipPreamble,Z=this.options.skipRuntimes;if(!R){if(Y)u+=`
326
- `;u+=B1(),Y=!0;let M=Z?"var":"const";if(this.helpers.has("slice"))u+=`${M} slice = [].slice;
327
- `,Y=!0;if(this.helpers.has("modulo"))u+=`${M} modulo = (n, d) => { n = +n; d = +d; return (n % d + d) % d; };
328
- `,Y=!0;if(this.helpers.has("toMatchable"))u+=`${M} toMatchable = (v, allowNewlines) => {
329
+ `,Q=!0}}let J=this.options.skipPreamble,M=this.options.skipRuntimes;if(!J){if(Q)u+=`
330
+ `;u+=V1(),Q=!0;let K=M?"var":"const";if(this.helpers.has("slice"))u+=`${K} slice = [].slice;
331
+ `,Q=!0;if(this.helpers.has("modulo"))u+=`${K} modulo = (n, d) => { n = +n; d = +d; return (n % d + d) % d; };
332
+ `,Q=!0;if(this.helpers.has("toMatchable"))u+=`${K} toMatchable = (v, allowNewlines) => {
329
333
  `,u+=` if (typeof v === "string") return !allowNewlines && /[\\n\\r]/.test(v) ? null : v;
330
334
  `,u+=` if (v == null) return "";
331
335
  `,u+=` if (typeof v === "number" || typeof v === "bigint" || typeof v === "boolean") return String(v);
@@ -339,100 +343,108 @@ if (typeof globalThis !== 'undefined') {
339
343
  `,u+=` }
340
344
  `,u+=` return "";
341
345
  `,u+=`};
342
- `,Y=!0}if(this.usesReactivity&&!R){if(Z)u+=`var { __state, __computed, __effect, __batch, __readonly, __setErrorHandler, __handleError, __catchErrors } = globalThis.__rip;
346
+ `,Q=!0}if(this.usesReactivity&&!J){if(M)u+=`var { __state, __computed, __effect, __batch, __readonly, __setErrorHandler, __handleError, __catchErrors } = globalThis.__rip;
343
347
  `;else if(typeof globalThis<"u"&&globalThis.__rip)u+=`const { __state, __computed, __effect, __batch, __readonly, __setErrorHandler, __handleError, __catchErrors } = globalThis.__rip;
344
- `;else u+=this.getReactiveRuntime();Y=!0}if(this.usesTemplates&&!R){if(Z)u+=`var { __pushComponent, __popComponent, setContext, getContext, hasContext, __clsx, __lis, __reconcile, __transition, __handleComponentError, __Component } = globalThis.__ripComponent;
348
+ `;else u+=this.getReactiveRuntime();Q=!0}if(this.usesTemplates&&!J){if(M)u+=`var { __pushComponent, __popComponent, setContext, getContext, hasContext, __clsx, __lis, __reconcile, __transition, __handleComponentError, __Component } = globalThis.__ripComponent;
345
349
  `;else if(typeof globalThis<"u"&&globalThis.__ripComponent)u+=`const { __pushComponent, __popComponent, setContext, getContext, hasContext, __clsx, __lis, __reconcile, __transition, __handleComponentError, __Component } = globalThis.__ripComponent;
346
- `;else u+=this.getComponentRuntime();Y=!0}if(this.dataSection!==null&&this.dataSection!==void 0&&!R)u+=`var DATA;
350
+ `;else u+=this.getComponentRuntime();Q=!0}if(this.dataSection!==null&&this.dataSection!==void 0&&!J)u+=`var DATA;
347
351
  _setDataSection();
348
- `,Y=!0;if(Y&&u.length>0)u+=`
349
- `;if(this._stmtEntries=A,this._preambleLines=u.length===0?0:u.split(`
350
- `).length-1,u+=G,this.dataSection!==null&&this.dataSection!==void 0)u+=`
352
+ `,Q=!0;if(Q&&u.length>0)u+=`
353
+ `;if(this._stmtEntries=G,this._preambleLines=u.length===0?0:u.split(`
354
+ `).length-1,u+=Z,this.dataSection!==null&&this.dataSection!==void 0)u+=`
351
355
 
352
356
  function _setDataSection() {
353
357
  DATA = ${JSON.stringify(this.dataSection)};
354
- }`;return u}emitBinaryOp(f,_,U,w){if((f==="+"||f==="-")&&_.length===1)return`(${f}${this.emit(_[0],"value")})`;let[u,$]=_;if(f==="*"){let F=u?.valueOf?.()??u;if(typeof F==="string"&&/^["']/.test(F))return`${this.emit(u,"value")}.repeat(${this.emit($,"value")})`}let W=new Set(["<",">","<=",">="]);if(W.has(f)&&Array.isArray(u)){let F=u[0]?.valueOf?.()??u[0];if(W.has(F)){let A=this.emit(u[1],"value"),G=this.emit(u[2],"value"),Y=this.emit($,"value");return`((${A} ${F} ${G}) && (${G} ${f} ${Y}))`}}if(f==="!?"){let F=this.emit(u,"value"),A=this.emit($,"value");return`(${F} !== undefined ? ${F} : ${A})`}if(f==="==")f="===";if(f==="!=")f="!==";return`(${this.emit(u,"value")} ${f} ${this.emit($,"value")})`}emitModulo(f,_){let[U,w]=_;return this.helpers.add("modulo"),`modulo(${this.emit(U,"value")}, ${this.emit(w,"value")})`}emitModuloAssign(f,_){let[U,w]=_;this.helpers.add("modulo");let u=this.emit(U,"value"),$=this.emit(w,"value");return`${u} = modulo(${u}, ${$})`}emitFloorDiv(f,_){let[U,w]=_;return`Math.floor(${this.emit(U,"value")} / ${this.emit(w,"value")})`}emitFloorDivAssign(f,_){let[U,w]=_,u=this.emit(U,"value"),$=this.emit(w,"value");return`${u} = Math.floor(${u} / ${$})`}emitAssignment(f,_,U,w){let[u,$]=_,W=f==="?="?"??=":f,F=this._findOptionalInTarget(u);if(F){let z=this.emit(F.guard,"value"),q=this.emit(F.rewritten,"value"),Q=this.emit($,"value");if(U==="value")return`(${z} != null ? (${q} ${W} ${Q}) : undefined)`;return`if (${z} != null) ${q} ${W} ${Q}`}let A=this.is($,"->")||this.is($,"=>")||this.is($,"def");if(u instanceof String&&t(u,"await")!==void 0&&!A){let z=t(u,"await")===!0?"!":"&";throw Error(`Cannot use ${z} sigil in variable declaration '${m(u)}'.`)}if(u instanceof String&&t(u,"await")===!0&&A)this.nextFunctionIsVoid=!0;let G=this.is(u,"array",0),Y=this.is(u,"object",0);if(G||Y){let z=this.emit($,"value");return Y&&U==="statement"?`(${z})`:z}if(Array.isArray($)&&W==="="&&$[0]==="control"){let[,z,q,Q]=$,D=m(z),I=Q[0]==="return",P=this.emit(u,"value"),K=this.emit(q,"value"),X=Q.length>1?Q[1]:null,E=I?X?`return ${this.emit(X,"value")}`:"return":X?`throw ${this.emit(X,"value")}`:"throw new Error()";if(U==="value"){if(D==="??")return`(() => { const __v = ${K}; if (__v == null) ${E}; return (${P} = __v); })()`;if(D==="||")return`(() => { const __v = ${K}; if (!__v) ${E}; return (${P} = __v); })()`;return`(() => { const __v = ${K}; if (__v) ${E}; return (${P} = __v); })()`}if(D==="??")return`if ((${P} = ${K}) == null) ${E}`;if(D==="||")return`if (!(${P} = ${K})) ${E}`;return`if ((${P} = ${K})) ${E}`}if(this.is(u,"array")){let z=u.slice(1).findIndex((q)=>this.is(q,"...")||q==="...");if(z!==-1&&z<u.length-2){let q=u.slice(1),Q=q.slice(z+1),D=Q.length;if(D>0){let I=this.emit($,"value"),K=q.slice(0,z).map((B)=>B===","?"":typeof B==="string"?B:this.emit(B,"value")).join(", "),X=Q.map((B)=>B===","?"":typeof B==="string"?B:this.emit(B,"value")).join(", ");this.helpers.add("slice"),q.forEach((B)=>{if(B===","||B==="...")return;if(typeof B==="string")this.programVars.add(B);else if(this.is(B,"...")&&typeof B[1]==="string")this.programVars.add(B[1])});let E=q[z],N=this.is(E,"...")?E[1]:null,L=[];if(K)L.push(`[${K}] = ${I}`);if(N)L.push(`[...${N}] = ${I}.slice(${z}, -${D})`);return L.push(`[${X}] = slice.call(${I}, -${D})`),L.join(", ")}}}if(U==="statement"&&f==="="&&Array.isArray($)&&($[0]==="||"||$[0]==="&&")&&$.length===3){let[z,q,Q]=$;if(this.is(Q,"if")&&Q.length===3){let[,D,I]=Q,P=Array.isArray(I)&&I.length===1?I[0]:I,K=[z,q,P],X=this.emit(u,"value"),E=this.emit(D,"value"),N=this.emit(K,"value");return`if (${E}) ${X} = ${N}`}}if(U==="statement"&&f==="="&&Array.isArray($)&&$.length===3){let[z,q,Q]=$,D=Array.isArray(Q)&&Q.length===1&&(!Array.isArray(Q[0])||Q[0][0]!=="block");if(z==="if"&&D){let I=Array.isArray(Q)&&Q.length===1?Q[0]:Q,P=this.emit(u,"value"),K=this.unwrapLogical(this.emit(q,"value")),X=this.emit(I,"value");return`if (${K}) ${P} = ${X}`}}let R;if(u instanceof String&&t(u,"await")!==void 0)R=m(u);else if(typeof u==="string"&&this.reactiveVars?.has(u))R=`${u}.value`;else R=this.emit(u,"value");let Z=this._componentName;if(this.is($,"component")&&(typeof u==="string"||u instanceof String))this._componentName=m(u);let M=this.emit($,"value");if(this._componentName=Z,!this.is($,"object"))M=this.unwrap(M);let H=U==="value",O=U==="statement"&&this.is(u,"object");if(H||O)return`(${R} ${W} ${M})`;return`${R} ${W} ${M}`}emitPropertyAccess(f,_,U,w){let[u,$]=_;if(this._atParamMap&&u==="this"){let G=this._atParamMap.get(m($));if(G)return G}let W=this.emit(u,"value"),A=f1.NUMBER_LITERAL_RE.test(W)||W.startsWith("await ")||(this.is(u,"object")||this.is(u,"yield"))?`(${W})`:W;if(t($,"await")===!0)return`await ${A}.${m($)}()`;if(t($,"predicate"))return`(${A}.${m($)} != null)`;return`${A}.${m($)}`}emitOptionalProperty(f,_){let[U,w]=_;return`${this.emit(U,"value")}?.${w}`}emitRegexIndex(f,_){let[U,w,u]=_;this.helpers.add("toMatchable"),this.programVars.add("_");let $=this.emit(U,"value"),W=this.emit(w,"value"),F=u!==null?this.emit(u,"value"):"0",A=W.includes("/m")?", true":"";return`(_ = toMatchable(${$}${A}).match(${W})) && _[${F}]`}emitIndexAccess(f,_){let[U,w]=_;if(this.is(w,"..")||this.is(w,"...")){let u=w[0]==="..",$=this.emit(U,"value"),[W,F]=w.slice(1),A=(Z)=>{if(Z===null)return null;let M=m(Z)??Z;if(typeof M==="number")return M;if(typeof M==="string"&&/^\d+$/.test(M))return+M;if(Array.isArray(Z)&&Z[0]==="-"&&Z.length===2){let J=m(Z[1])??Z[1];if(typeof J==="number")return-J;if(typeof J==="string"&&/^\d+$/.test(J))return-J}return null},G=(Z,M,J)=>{let H=A(J);if(H!==null&&H!==-1)return`${$}.slice(${Z}, ${H+1})`;return`${$}.slice(${Z}, +${M} + 1 || 9e9)`};if(W===null&&F===null)return`${$}.slice()`;if(W===null){if(u&&this.is(F,"-",1)&&(m(F[1])??F[1])==1)return`${$}.slice(0)`;let Z=this.emit(F,"value");return u?G("0",Z,F):`${$}.slice(0, ${Z})`}if(F===null)return`${$}.slice(${this.emit(W,"value")})`;let Y=this.emit(W,"value");if(u&&this.is(F,"-",1)&&(m(F[1])??F[1])==1)return`${$}.slice(${Y})`;let R=this.emit(F,"value");return u?G(Y,R,F):`${$}.slice(${Y}, ${R})`}if(this.is(w,"-",1)){let u=m(w[1])??w[1];if(typeof u==="number"||typeof u==="string"&&/^\d+$/.test(u))return`${this.emit(U,"value")}.at(-${u})`}return`${this.emit(U,"value")}[${this.unwrap(this.emit(w,"value"))}]`}emitOptIndex(f,_){let[U,w]=_;if(this.is(w,"-",1)){let u=m(w[1])??w[1];if(typeof u==="number"||typeof u==="string"&&/^\d+$/.test(u))return`${this.emit(U,"value")}?.at(-${u})`}return`${this.emit(U,"value")}?.[${this.emit(w,"value")}]`}emitOptCall(f,_){let[U,...w]=_;return`${this.emit(U,"value")}?.(${w.map((u)=>this.emit(u,"value")).join(", ")})`}emitDef(f,_,U,w){let[u,$,W]=_,F=t(u,"await")===!0,A=m(u),G=this.emitParamList($),Y=this.emitFunctionBody(W,$,F),R=this.containsAwait(W),Z=this.containsYield(W);return`${R?"async ":""}function${Z?"*":""} ${A}(${G}) ${Y}`}emitThinArrow(f,_,U,w){let[u,$]=_;if((!u||Array.isArray(u)&&u.length===0)&&this.containsIt($))u=["it"];let W=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let F=this.emitParamList(u),A=this.emitFunctionBody($,u,W),G=this.containsAwait($),Y=this.containsYield($),R=`${G?"async ":""}function${Y?"*":""}(${F}) ${A}`;return U==="value"?`(${R})`:R}emitFatArrow(f,_,U,w){let[u,$]=_;if((!u||Array.isArray(u)&&u.length===0)&&this.containsIt($))u=["it"];let W=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let F=this.emitParamList(u),G=u.length===1&&typeof u[0]==="string"&&!F.includes("=")&&!F.includes("...")&&!F.includes("[")&&!F.includes("{")?F:`(${F})`,R=this.containsAwait($)?"async ":"";if(!W){if(this.is($,"block")&&$.length===2){let M=$[1],J=Array.isArray(M)?M[0]:null;if(J!=="return"&&!X4.has(J)){let H=this.emit(M,"value");if(H[0]==="{")H=`(${H})`;return`${R}${G} => ${H}`}}if(!Array.isArray($)||$[0]!=="block"){let M=this.emit($,"value");if(M[0]==="{")M=`(${M})`;return`${R}${G} => ${M}`}}let Z=this.emitFunctionBody($,u,W);return`${R}${G} => ${Z}`}emitReturn(f,_,U,w){if(_.length===0)return"return";let[u]=_;if(this.sideEffectOnly&&!(this.is(u,"->")||this.is(u,"=>")))throw Error("Cannot return a value from a void function (declared with !)");if(this.is(u,"if")){let[,$,W,...F]=u;if(F.length===0){let A=Array.isArray(W)&&W.length===1?W[0]:W;return`if (${this.emit($,"value")}) return ${this.emit(A,"value")}`}}if(this.is(u,"new")&&Array.isArray(u[1])&&u[1][0]==="if"){let[,$,W]=u[1],F=Array.isArray(W)&&W.length===1?W[0]:W;return`if (${this.emit($,"value")}) return ${this.emit(["new",F],"value")}`}return`return ${this.emit(u,"value")}`}emitState(f,_){let[U,w]=_;this.usesReactivity=!0;let u=m(U)??U;if(!this.reactiveVars)this.reactiveVars=new Set;return this.reactiveVars.add(u),`const ${u} = __state(${this.emit(w,"value")})`}emitComputed(f,_){let[U,w]=_;if(this.usesReactivity=!0,!this.reactiveVars)this.reactiveVars=new Set;let u=m(U)??U;if(this.reactiveVars.add(u),this.is(w,"block")&&w.length>2)return`const ${u} = __computed(() => ${this.emitFunctionBody(w)})`;return`const ${u} = __computed(() => ${this.emit(w,"value")})`}emitReadonly(f,_){let[U,w]=_;return`const ${m(U)??U} = ${this.emit(w,"value")}`}emitEffect(f,_){let[U,w]=_;this.usesReactivity=!0;let u;if(this.is(w,"block"))u=this.emitFunctionBody(w);else if(this.is(w,"->")||this.is(w,"=>")){let W=this.emit(w,"value");if(U)return`const ${m(U)??this.emit(U,"value")} = __effect(${W})`;return`__effect(${W})`}else u=`{ ${this.emit(w,"value")}; }`;let $=`__effect(() => ${u})`;if(U)return`const ${m(U)??this.emit(U,"value")} = ${$}`;return $}emitBreak(){return"break"}emitContinue(){return"continue"}emitExistential(f,_){return`(${this.emit(_[0],"value")} != null)`}emitDefined(f,_){return`(${this.emit(_[0],"value")} !== undefined)`}emitPresence(f,_){return`(${this.emit(_[0],"value")} ? true : undefined)`}emitTernary(f,_,U){let[w,u,$]=_;if((u?.[0]?.valueOf?.()??u?.[0])==="="&&Array.isArray(u)){let F=this.emit(u[1],"value"),A=this.emit(u[2],"value"),G=this.emit($,"value");return`${F} = (${this.unwrap(this.emit(w,"value"))} ? ${A} : ${G})`}return`(${this.unwrap(this.emit(w,"value"))} ? ${this.emit(u,"value")} : ${this.emit($,"value")})`}emitPipe(f,_){let[U,w]=_,u=this.emit(U,"value");if(Array.isArray(w)&&w.length>1){let $=w[0];if(Array.isArray($)||typeof $==="string"&&/^[a-zA-Z_$]/.test($)){let F=this.emit($,"value"),A=w.slice(1).map((G)=>this.emit(G,"value"));return`${F}(${u}, ${A.join(", ")})`}}return`${this.emit(w,"value")}(${u})`}emitLoop(f,_){return`while (true) ${this.emitLoopBody(_[0])}`}emitLoopN(f,_){let[U,w]=_;return`for (let it = 0; it < ${this.emit(U,"value")}; it++) ${this.emitLoopBody(w)}`}emitAwait(f,_){return`await ${this.emit(_[0],"value")}`}emitYield(f,_){return _.length===0?"yield":`yield ${this.emit(_[0],"value")}`}emitYieldFrom(f,_){return`yield* ${this.emit(_[0],"value")}`}emitIf(f,_,U,w){let[u,$,...W]=_;return U==="value"?this.emitIfAsExpression(u,$,W):this.emitIfAsStatement(u,$,W)}emitForIn(f,_,U,w){let[u,$,W,F,A]=_;if(U==="value"&&this.comprehensionDepth===0){let O=["for-in",u,$,W];return this.emit(["comprehension",A,[O],F?[F]:[]],U)}let G=Array.isArray(u)?u:[u],Y=G.length===0,[R,Z]=Y?["_i",null]:G,M=this.is(R,"array")||this.is(R,"object")?this.emitDestructuringPattern(R):R;if(W&&W!==null){let O=this.emit($,"value"),z=Z||"_i",q=this.emit(W,"value"),Q=this.is(W,"-",1),D=Q&&(W[1]==="1"||W[1]===1||m(W[1])==="1"),I=!Q&&(W==="1"||W===1||m(W)==="1"),P;if(D)P=`for (let ${z} = ${O}.length - 1; ${z} >= 0; ${z}--) `;else if(I)P=`for (let ${z} = 0; ${z} < ${O}.length; ${z}++) `;else if(Q)P=`for (let ${z} = ${O}.length - 1; ${z} >= 0; ${z} += ${q}) `;else P=`for (let ${z} = 0; ${z} < ${O}.length; ${z} += ${q}) `;if(this.is(A,"block")){let K=A.slice(1);this.indentLevel++;let X=[];if(!Y)X.push(`const ${M} = ${O}[${z}];`);if(F)X.push(`if (${this.emit(F,"value")}) {`),this.indentLevel++,X.push(...this.formatStatements(K)),this.indentLevel--,X.push(this.indent()+"}");else X.push(...K.map((E)=>this.addSemicolon(E,this.emit(E,"statement"))));return this.indentLevel--,P+`{
355
- ${X.map((E)=>this.indent()+E).join(`
358
+ }`;return u}emitBinaryOp(f,_,U,w){if((f==="+"||f==="-")&&_.length===1)return`(${f}${this.emit(_[0],"value")})`;let[u,$]=_;if(f==="*"){let F=u?.valueOf?.()??u;if(typeof F==="string"&&/^["']/.test(F))return`${this.emit(u,"value")}.repeat(${this.emit($,"value")})`}let W=new Set(["<",">","<=",">="]);if(W.has(f)&&Array.isArray(u)){let F=u[0]?.valueOf?.()??u[0];if(W.has(F)){let A=this.emit(u[1],"value"),Y=this.emit(u[2],"value"),G=this.emit($,"value");return`((${A} ${F} ${Y}) && (${Y} ${f} ${G}))`}}if(f==="==")f="===";if(f==="!=")f="!==";return`(${this.emit(u,"value")} ${f} ${this.emit($,"value")})`}emitModulo(f,_){let[U,w]=_;return this.helpers.add("modulo"),`modulo(${this.emit(U,"value")}, ${this.emit(w,"value")})`}emitModuloAssign(f,_){let[U,w]=_;this.helpers.add("modulo");let u=this.emit(U,"value"),$=this.emit(w,"value");return`${u} = modulo(${u}, ${$})`}emitFloorDiv(f,_){let[U,w]=_;return`Math.floor(${this.emit(U,"value")} / ${this.emit(w,"value")})`}emitFloorDivAssign(f,_){let[U,w]=_,u=this.emit(U,"value"),$=this.emit(w,"value");return`${u} = Math.floor(${u} / ${$})`}emitAssignment(f,_,U,w){let[u,$]=_,W=f==="?="?"??=":f,F=this._findOptionalInTarget(u);if(F){let O=this.emit(F.guard,"value"),D=this.emit(F.rewritten,"value"),I=this.emit($,"value");if(U==="value")return`(${O} != null ? (${D} ${W} ${I}) : undefined)`;return`if (${O} != null) ${D} ${W} ${I}`}let A=this.is($,"->")||this.is($,"=>")||this.is($,"def");if(u instanceof String&&$1(u,"await")!==void 0&&!A){let O=$1(u,"await")===!0?"!":"&";this.error(`Cannot use ${O} sigil in variable declaration '${c(u)}'`,w)}if(u instanceof String&&$1(u,"await")===!0&&A)this.nextFunctionIsVoid=!0;let Y=this.is(u,"array",0),G=this.is(u,"object",0);if(Y||G){let O=this.emit($,"value");return G&&U==="statement"?`(${O})`:O}if(Array.isArray($)&&W==="="&&$[0]==="control"){let[,O,D,I]=$,B=c(O),H=I[0]==="return",X=this.emit(u,"value"),P=this.emit(D,"value"),S=I.length>1?I[1]:null,E=H?S?`return ${this.emit(S,"value")}`:"return":S?`throw ${this.emit(S,"value")}`:"throw new Error()";if(U==="value"){if(B==="??")return`(() => { const __v = ${P}; if (__v == null) ${E}; return (${X} = __v); })()`;if(B==="||")return`(() => { const __v = ${P}; if (!__v) ${E}; return (${X} = __v); })()`;return`(() => { const __v = ${P}; if (__v) ${E}; return (${X} = __v); })()`}let L=typeof u==="string"?u:u instanceof String?c(u):null;if(L&&U==="statement"&&this._inlineVarsPending?.delete(L)){let T=this.indent();if(B==="??")return`let ${X} = ${P};
359
+ ${T}if (${X} == null) ${E}`;if(B==="||")return`let ${X} = ${P};
360
+ ${T}if (!${X}) ${E}`;return`let ${X} = ${P};
361
+ ${T}if (${X}) ${E}`}if(B==="??")return`if ((${X} = ${P}) == null) ${E}`;if(B==="||")return`if (!(${X} = ${P})) ${E}`;return`if ((${X} = ${P})) ${E}`}if(this.is(u,"array")){let O=u.slice(1).findIndex((D)=>this.is(D,"...")||D==="...");if(O!==-1&&O<u.length-2){let D=u.slice(1),I=D.slice(O+1),B=I.length;if(B>0){let H=this.emit($,"value"),P=D.slice(0,O).map((C)=>C===","?"":typeof C==="string"?C:this.emit(C,"value")).join(", "),S=I.map((C)=>C===","?"":typeof C==="string"?C:this.emit(C,"value")).join(", ");this.helpers.add("slice"),D.forEach((C)=>{if(C===","||C==="...")return;if(typeof C==="string")this.programVars.add(C);else if(this.is(C,"...")&&typeof C[1]==="string")this.programVars.add(C[1])});let E=D[O],L=this.is(E,"...")?E[1]:null,T=[];if(P)T.push(`[${P}] = ${H}`);if(L)T.push(`[...${L}] = ${H}.slice(${O}, -${B})`);return T.push(`[${S}] = slice.call(${H}, -${B})`),T.join(", ")}}}if(U==="statement"&&f==="="&&Array.isArray($)&&($[0]==="||"||$[0]==="&&")&&$.length===3){let[O,D,I]=$;if(this.is(I,"if")&&I.length===3){let[,B,H]=I,X=Array.isArray(H)&&H.length===1?H[0]:H,P=[O,D,X],S=this.emit(u,"value"),E=this.emit(B,"value"),L=this.emit(P,"value"),T=typeof u==="string"?u:u instanceof String?c(u):null;if(T&&this._inlineVarsPending?.delete(T))return`let ${S};
362
+ ${this.indent()}if (${E}) ${S} = ${L}`;return`if (${E}) ${S} = ${L}`}}if(U==="statement"&&f==="="&&Array.isArray($)&&$.length===3){let[O,D,I]=$,B=Array.isArray(I)&&I.length===1&&(!Array.isArray(I[0])||I[0][0]!=="block");if(O==="if"&&B){let H=Array.isArray(I)&&I.length===1?I[0]:I,X=this.emit(u,"value"),P=this.unwrapLogical(this.emit(D,"value")),S=this.emit(H,"value"),E=typeof u==="string"?u:u instanceof String?c(u):null;if(E&&this._inlineVarsPending?.delete(E))return`let ${X};
363
+ ${this.indent()}if (${P}) ${X} = ${S}`;return`if (${P}) ${X} = ${S}`}}let Z;if(u instanceof String&&$1(u,"await")!==void 0)Z=c(u);else if(typeof u==="string"&&this.reactiveVars?.has(u))Z=`${u}.value`;else Z=this.emit(u,"value");let Q=this._componentName,J=this._componentTypeParams;if(this.is($,"component")&&(typeof u==="string"||u instanceof String))this._componentName=c(u),this._componentTypeParams=u.typeParams||"";let M=this.emit($,"value");if(this._componentName=Q,this._componentTypeParams=J,!this.is($,"object"))M=this.unwrap(M);let R=typeof u==="string"?u:u instanceof String?c(u):null;if(f==="="&&R&&U==="statement"&&this._inlineVarsPending?.delete(R))return`let ${Z} = ${M}`;let z=U==="value",q=U==="statement"&&this.is(u,"object");if(z||q)return`(${Z} ${W} ${M})`;return`${Z} ${W} ${M}`}emitPropertyAccess(f,_,U,w){let[u,$]=_;if(this._atParamMap&&u==="this"){let Y=this._atParamMap.get(c($));if(Y)return Y}let W=this.emit(u,"value"),A=w1.NUMBER_LITERAL_RE.test(W)||W.startsWith("await ")||(this.is(u,"object")||this.is(u,"yield"))?`(${W})`:W;if($1($,"await")===!0)return`await ${A}.${c($)}()`;if($1($,"predicate"))return`(${A}.${c($)} != null)`;return`${A}.${c($)}`}emitOptionalProperty(f,_){let[U,w]=_;return`${this.emit(U,"value")}?.${w}`}emitRegexIndex(f,_){let[U,w,u]=_;this.helpers.add("toMatchable"),this.programVars.add("_");let $=this.emit(U,"value"),W=this.emit(w,"value"),F=u!==null?this.emit(u,"value"):"0",A=W.includes("/m")?", true":"";return`(_ = toMatchable(${$}${A}).match(${W})) && _[${F}]`}emitIndexAccess(f,_){let[U,w]=_;if(this.is(w,"..")||this.is(w,"...")){let u=w[0]==="..",$=this.emit(U,"value"),[W,F]=w.slice(1),A=(Q)=>{if(Q===null)return null;let J=c(Q)??Q;if(typeof J==="number")return J;if(typeof J==="string"&&/^\d+$/.test(J))return+J;if(Array.isArray(Q)&&Q[0]==="-"&&Q.length===2){let M=c(Q[1])??Q[1];if(typeof M==="number")return-M;if(typeof M==="string"&&/^\d+$/.test(M))return-M}return null},Y=(Q,J,M)=>{let K=A(M);if(K!==null&&K!==-1)return`${$}.slice(${Q}, ${K+1})`;return`${$}.slice(${Q}, +${J} + 1 || 9e9)`};if(W===null&&F===null)return`${$}.slice()`;if(W===null){if(u&&this.is(F,"-",1)&&(c(F[1])??F[1])==1)return`${$}.slice(0)`;let Q=this.emit(F,"value");return u?Y("0",Q,F):`${$}.slice(0, ${Q})`}if(F===null)return`${$}.slice(${this.emit(W,"value")})`;let G=this.emit(W,"value");if(u&&this.is(F,"-",1)&&(c(F[1])??F[1])==1)return`${$}.slice(${G})`;let Z=this.emit(F,"value");return u?Y(G,Z,F):`${$}.slice(${G}, ${Z})`}if(this.is(w,"-",1)){let u=c(w[1])??w[1];if(typeof u==="number"||typeof u==="string"&&/^\d+$/.test(u))return`${this.emit(U,"value")}.at(-${u})`}return`${this.emit(U,"value")}[${this.unwrap(this.emit(w,"value"))}]`}emitOptIndex(f,_){let[U,w]=_;if(this.is(w,"-",1)){let u=c(w[1])??w[1];if(typeof u==="number"||typeof u==="string"&&/^\d+$/.test(u))return`${this.emit(U,"value")}?.at(-${u})`}return`${this.emit(U,"value")}?.[${this.emit(w,"value")}]`}emitOptCall(f,_){let[U,...w]=_;return`${this.emit(U,"value")}?.(${w.map((u)=>this.emit(u,"value")).join(", ")})`}emitDef(f,_,U,w){let[u,$,W]=_,F=$1(u,"await")===!0,A=c(u),Y=this.emitParamList($),G=this.emitFunctionBody(W,$,F),Z=this.containsAwait(W),Q=this.containsYield(W);return`${Z?"async ":""}function${Q?"*":""} ${A}(${Y}) ${G}`}emitThinArrow(f,_,U,w){let[u,$]=_;if((!u||Array.isArray(u)&&u.length===0)&&this.containsIt($))u=["it"];let W=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let F=this.emitParamList(u),A=this.emitFunctionBody($,u,W),Y=this.containsAwait($),G=this.containsYield($),Z=`${Y?"async ":""}function${G?"*":""}(${F}) ${A}`;return U==="value"?`(${Z})`:Z}emitFatArrow(f,_,U,w){let[u,$]=_;if((!u||Array.isArray(u)&&u.length===0)&&this.containsIt($))u=["it"];let W=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let F=this.emitParamList(u),Y=u.length===1&&typeof u[0]==="string"&&!F.includes("=")&&!F.includes("...")&&!F.includes("[")&&!F.includes("{")?F:`(${F})`,Z=this.containsAwait($)?"async ":"";if(!W){if(this.is($,"block")&&$.length===2){let J=$[1],M=Array.isArray(J)?J[0]:null;if(M!=="return"&&!F4.has(M)){let K=this.emit(J,"value");if(K[0]==="{")K=`(${K})`;return`${Z}${Y} => ${K}`}}if(!Array.isArray($)||$[0]!=="block"){let J=this.emit($,"value");if(J[0]==="{")J=`(${J})`;return`${Z}${Y} => ${J}`}}let Q=this.emitFunctionBody($,u,W);return`${Z}${Y} => ${Q}`}emitReturn(f,_,U,w){if(_.length===0)return"return";let[u]=_;if(this.sideEffectOnly&&!(this.is(u,"->")||this.is(u,"=>")))this.error("Cannot return a value from a void function (declared with !)",w);if(this.is(u,"if")){let[,$,W,...F]=u;if(F.length===0){let A=Array.isArray(W)&&W.length===1?W[0]:W;return`if (${this.emit($,"value")}) return ${this.emit(A,"value")}`}}if(this.is(u,"new")&&Array.isArray(u[1])&&u[1][0]==="if"){let[,$,W]=u[1],F=Array.isArray(W)&&W.length===1?W[0]:W;return`if (${this.emit($,"value")}) return ${this.emit(["new",F],"value")}`}return`return ${this.emit(u,"value")}`}emitState(f,_){let[U,w]=_;this.usesReactivity=!0;let u=c(U)??U;if(!this.reactiveVars)this.reactiveVars=new Set;return this.reactiveVars.add(u),`const ${u} = __state(${this.emit(w,"value")})`}emitComputed(f,_){let[U,w]=_;if(this.usesReactivity=!0,!this.reactiveVars)this.reactiveVars=new Set;let u=c(U)??U;if(this.reactiveVars.add(u),this.is(w,"block")&&w.length>2)return`const ${u} = __computed(() => ${this.emitFunctionBody(w)})`;return`const ${u} = __computed(() => ${this.emit(w,"value")})`}emitReadonly(f,_){let[U,w]=_;return`const ${c(U)??U} = ${this.emit(w,"value")}`}emitEffect(f,_){let[U,w]=_;this.usesReactivity=!0;let u;if(this.is(w,"block"))u=this.emitFunctionBody(w);else if(this.is(w,"->")||this.is(w,"=>")){let W=this.emit(w,"value");if(U)return`const ${c(U)??this.emit(U,"value")} = __effect(${W})`;return`__effect(${W})`}else u=`{ ${this.emit(w,"value")}; }`;let $=`__effect(() => ${u})`;if(U)return`const ${c(U)??this.emit(U,"value")} = ${$}`;return $}emitBreak(){return"break"}emitContinue(){return"continue"}emitExistential(f,_){return`(${this.emit(_[0],"value")} != null)`}emitPresence(f,_){return`(${this.emit(_[0],"value")} ? true : undefined)`}emitTernary(f,_,U){let[w,u,$]=_;if((u?.[0]?.valueOf?.()??u?.[0])==="="&&Array.isArray(u)){let F=this.emit(u[1],"value"),A=this.emit(u[2],"value"),Y=this.emit($,"value");return`${F} = (${this.unwrap(this.emit(w,"value"))} ? ${A} : ${Y})`}return`(${this.unwrap(this.emit(w,"value"))} ? ${this.emit(u,"value")} : ${this.emit($,"value")})`}emitPipe(f,_){let[U,w]=_,u=this.emit(U,"value");if(Array.isArray(w)&&w.length>1){let $=w[0];if(Array.isArray($)||typeof $==="string"&&/^[a-zA-Z_$]/.test($)){let F=this.emit($,"value"),A=w.slice(1).map((Y)=>this.emit(Y,"value"));return`${F}(${u}, ${A.join(", ")})`}}return`${this.emit(w,"value")}(${u})`}emitLoop(f,_){return`while (true) ${this.emitLoopBody(_[0])}`}emitLoopN(f,_){let[U,w]=_;return`for (let it = 0; it < ${this.emit(U,"value")}; it++) ${this.emitLoopBody(w)}`}emitAwait(f,_){return`await ${this.emit(_[0],"value")}`}emitYield(f,_){return _.length===0?"yield":`yield ${this.emit(_[0],"value")}`}emitYieldFrom(f,_){return`yield* ${this.emit(_[0],"value")}`}emitIf(f,_,U,w){let[u,$,...W]=_;return U==="value"?this.emitIfAsExpression(u,$,W):this.emitIfAsStatement(u,$,W)}emitForIn(f,_,U,w){let[u,$,W,F,A]=_;if(U==="value"&&this.comprehensionDepth===0){let R=["for-in",u,$,W];return this.emit(["comprehension",A,[R],F?[F]:[]],U)}let Y=Array.isArray(u)?u:[u],G=Y.length===0,[Z,Q]=G?["_i",null]:Y,J=this.is(Z,"array")||this.is(Z,"object")?this.emitDestructuringPattern(Z):Z;if(W&&W!==null){let R=this.emit($,"value"),z=Q||"_i",q=this.emit(W,"value"),O=this.is(W,"-",1),D=O&&(W[1]==="1"||W[1]===1||c(W[1])==="1"),I=!O&&(W==="1"||W===1||c(W)==="1"),B;if(D)B=`for (let ${z} = ${R}.length - 1; ${z} >= 0; ${z}--) `;else if(I)B=`for (let ${z} = 0; ${z} < ${R}.length; ${z}++) `;else if(O)B=`for (let ${z} = ${R}.length - 1; ${z} >= 0; ${z} += ${q}) `;else B=`for (let ${z} = 0; ${z} < ${R}.length; ${z} += ${q}) `;if(this.is(A,"block")){let H=A.slice(1);this.indentLevel++;let X=[];if(!G)X.push(`const ${J} = ${R}[${z}];`);if(F)X.push(`if (${this.emit(F,"value")}) {`),this.indentLevel++,X.push(...this.formatStatements(H)),this.indentLevel--,X.push(this.indent()+"}");else X.push(...H.map((P)=>this.addSemicolon(P,this.emit(P,"statement"))));return this.indentLevel--,B+`{
364
+ ${X.map((P)=>this.indent()+P).join(`
356
365
  `)}
357
- ${this.indent()}}`}if(Y)return F?P+`{ if (${this.emit(F,"value")}) ${this.emit(A,"statement")}; }`:P+`{ ${this.emit(A,"statement")}; }`;return F?P+`{ const ${M} = ${O}[${z}]; if (${this.emit(F,"value")}) ${this.emit(A,"statement")}; }`:P+`{ const ${M} = ${O}[${z}]; ${this.emit(A,"statement")}; }`}if(Z){let O=this.emit($,"value"),z=`for (let ${Z} = 0; ${Z} < ${O}.length; ${Z}++) `;if(this.is(A,"block")){if(z+=`{
358
- `,this.indentLevel++,z+=this.indent()+`const ${M} = ${O}[${Z}];
366
+ ${this.indent()}}`}if(G)return F?B+`{ if (${this.emit(F,"value")}) ${this.emit(A,"statement")}; }`:B+`{ ${this.emit(A,"statement")}; }`;return F?B+`{ const ${J} = ${R}[${z}]; if (${this.emit(F,"value")}) ${this.emit(A,"statement")}; }`:B+`{ const ${J} = ${R}[${z}]; ${this.emit(A,"statement")}; }`}if(Q){let R=this.emit($,"value"),z=`for (let ${Q} = 0; ${Q} < ${R}.length; ${Q}++) `;if(this.is(A,"block")){if(z+=`{
367
+ `,this.indentLevel++,z+=this.indent()+`const ${J} = ${R}[${Q}];
359
368
  `,F)z+=this.indent()+`if (${this.unwrap(this.emit(F,"value"))}) {
360
369
  `,this.indentLevel++,z+=this.formatStatements(A.slice(1)).join(`
361
370
  `)+`
362
371
  `,this.indentLevel--,z+=this.indent()+`}
363
372
  `;else z+=this.formatStatements(A.slice(1)).join(`
364
373
  `)+`
365
- `;this.indentLevel--,z+=this.indent()+"}"}else z+=F?`{ const ${M} = ${O}[${Z}]; if (${this.unwrap(this.emit(F,"value"))}) ${this.emit(A,"statement")}; }`:`{ const ${M} = ${O}[${Z}]; ${this.emit(A,"statement")}; }`;return z}let J=Array.isArray($)&&$[0];if(J instanceof String)J=m(J);if(J===".."||J==="..."){let O=J==="...",[z,q]=$.slice(1),Q=(D)=>typeof D==="number"||typeof D==="string"&&!D.includes("(")||D instanceof String&&!m(D).includes("(")||this.is(D,".");if(Q(z)&&Q(q)){let D=this.emit(z,"value"),I=this.emit(q,"value"),P=O?"<":"<=",K=W?`${M} += ${this.emit(W,"value")}`:`${M}++`,X=`for (let ${M} = ${D}; ${M} ${P} ${I}; ${K}) `;return X+=F?this.emitLoopBodyWithGuard(A,F):this.emitLoopBody(A),X}}let H=`for (const ${M} of ${this.emit($,"value")}) `;return H+=F?this.emitLoopBodyWithGuard(A,F):this.emitLoopBody(A),H}emitForOf(f,_,U,w){let[u,$,W,F,A]=_;if(U==="value"&&this.comprehensionDepth===0){let M=["for-of",u,$,W];return this.emit(["comprehension",A,[M],F?[F]:[]],U)}let[G,Y]=Array.isArray(u)?u:[u],R=this.emit($,"value"),Z=`for (const ${G} in ${R}) `;if(W&&!Y&&!F){if(this.is(A,"block")){this.indentLevel++;let M=[`if (!Object.hasOwn(${R}, ${G})) continue;`,...A.slice(1).map((J)=>this.addSemicolon(J,this.emit(J,"statement")))];return this.indentLevel--,Z+`{
366
- ${M.map((J)=>this.indent()+J).join(`
374
+ `;this.indentLevel--,z+=this.indent()+"}"}else z+=F?`{ const ${J} = ${R}[${Q}]; if (${this.unwrap(this.emit(F,"value"))}) ${this.emit(A,"statement")}; }`:`{ const ${J} = ${R}[${Q}]; ${this.emit(A,"statement")}; }`;return z}let M=Array.isArray($)&&$[0];if(M instanceof String)M=c(M);if(M===".."||M==="..."){let R=M==="...",[z,q]=$.slice(1),O=(D)=>typeof D==="number"||typeof D==="string"&&!D.includes("(")||D instanceof String&&!c(D).includes("(")||this.is(D,".");if(O(z)&&O(q)){let D=this.emit(z,"value"),I=this.emit(q,"value"),B=R?"<":"<=",H=W?`${J} += ${this.emit(W,"value")}`:`${J}++`,X=`for (let ${J} = ${D}; ${J} ${B} ${I}; ${H}) `;return X+=F?this.emitLoopBodyWithGuard(A,F):this.emitLoopBody(A),X}}let K=`for (const ${J} of ${this.emit($,"value")}) `;return K+=F?this.emitLoopBodyWithGuard(A,F):this.emitLoopBody(A),K}emitForOf(f,_,U,w){let[u,$,W,F,A]=_;if(U==="value"&&this.comprehensionDepth===0){let J=["for-of",u,$,W];return this.emit(["comprehension",A,[J],F?[F]:[]],U)}let[Y,G]=Array.isArray(u)?u:[u],Z=this.emit($,"value"),Q=`for (const ${Y} in ${Z}) `;if(W&&!G&&!F){if(this.is(A,"block")){this.indentLevel++;let J=[`if (!Object.hasOwn(${Z}, ${Y})) continue;`,...A.slice(1).map((M)=>this.addSemicolon(M,this.emit(M,"statement")))];return this.indentLevel--,Q+`{
375
+ ${J.map((M)=>this.indent()+M).join(`
367
376
  `)}
368
- ${this.indent()}}`}return Z+`{ if (!Object.hasOwn(${R}, ${G})) continue; ${this.emit(A,"statement")}; }`}if(Y){if(this.is(A,"block")){let J=A.slice(1);this.indentLevel++;let H=[];if(W)H.push(`if (!Object.hasOwn(${R}, ${G})) continue;`);if(H.push(`const ${Y} = ${R}[${G}];`),F)H.push(`if (${this.emit(F,"value")}) {`),this.indentLevel++,H.push(...J.map((O)=>this.addSemicolon(O,this.emit(O,"statement")))),this.indentLevel--,H.push(this.indent()+"}");else H.push(...J.map((O)=>this.addSemicolon(O,this.emit(O,"statement"))));return this.indentLevel--,Z+`{
369
- ${H.map((O)=>this.indent()+O).join(`
377
+ ${this.indent()}}`}return Q+`{ if (!Object.hasOwn(${Z}, ${Y})) continue; ${this.emit(A,"statement")}; }`}if(G){if(this.is(A,"block")){let M=A.slice(1);this.indentLevel++;let K=[];if(W)K.push(`if (!Object.hasOwn(${Z}, ${Y})) continue;`);if(K.push(`const ${G} = ${Z}[${Y}];`),F)K.push(`if (${this.emit(F,"value")}) {`),this.indentLevel++,K.push(...M.map((R)=>this.addSemicolon(R,this.emit(R,"statement")))),this.indentLevel--,K.push(this.indent()+"}");else K.push(...M.map((R)=>this.addSemicolon(R,this.emit(R,"statement"))));return this.indentLevel--,Q+`{
378
+ ${K.map((R)=>this.indent()+R).join(`
370
379
  `)}
371
- ${this.indent()}}`}let M="";if(W)M+=`if (!Object.hasOwn(${R}, ${G})) continue; `;if(M+=`const ${Y} = ${R}[${G}]; `,F)M+=`if (${this.emit(F,"value")}) `;return M+=`${this.emit(A,"statement")};`,Z+`{ ${M} }`}return Z+=F?this.emitLoopBodyWithGuard(A,F):this.emitLoopBody(A),Z}emitForAs(f,_,U,w){let u=Array.isArray(_[0])?_[0]:[_[0]],[$]=u,W=_[1],F=_[2],A=_[3],G=_[4],Y=!1,R=[];if(this.is($,"array")){let O=$.slice(1),z=O.findIndex((q)=>this.is(q,"...")||q==="...");if(z!==-1&&z<O.length-1){Y=!0;let q=O.slice(z+1),Q=q.length,D=O.slice(0,z),I=O[z],P=this.is(I,"...")?I[1]:"_rest",K=D.map((N)=>N===","?"":typeof N==="string"?N:this.emit(N,"value")).join(", "),X=K?`${K}, ...${P}`:`...${P}`,E=q.map((N)=>N===","?"":typeof N==="string"?N:this.emit(N,"value")).join(", ");R.push(`[${X}] = _item`),R.push(`[${E}] = ${P}.splice(-${Q})`),this.helpers.add("slice"),O.forEach((N)=>{if(N===","||N==="...")return;if(typeof N==="string")this.programVars.add(N);else if(this.is(N,"...")&&typeof N[1]==="string")this.programVars.add(N[1])})}}let Z=this.emit(W,"value"),M=F?"await ":"",J;if(Y)J="_item";else if(this.is($,"array")||this.is($,"object"))J=this.emitDestructuringPattern($);else J=$;let H=`for ${M}(const ${J} of ${Z}) `;if(Y&&R.length>0){let O=this.unwrapBlock(G),z=this.withIndent(()=>[...R.map((q)=>this.indent()+q+";"),...this.formatStatements(O)]);H+=`{
380
+ ${this.indent()}}`}let J="";if(W)J+=`if (!Object.hasOwn(${Z}, ${Y})) continue; `;if(J+=`const ${G} = ${Z}[${Y}]; `,F)J+=`if (${this.emit(F,"value")}) `;return J+=`${this.emit(A,"statement")};`,Q+`{ ${J} }`}return Q+=F?this.emitLoopBodyWithGuard(A,F):this.emitLoopBody(A),Q}emitForAs(f,_,U,w){let u=Array.isArray(_[0])?_[0]:[_[0]],[$]=u,W=_[1],F=_[2],A=_[3],Y=_[4],G=!1,Z=[];if(this.is($,"array")){let R=$.slice(1),z=R.findIndex((q)=>this.is(q,"...")||q==="...");if(z!==-1&&z<R.length-1){G=!0;let q=R.slice(z+1),O=q.length,D=R.slice(0,z),I=R[z],B=this.is(I,"...")?I[1]:"_rest",H=D.map((S)=>S===","?"":typeof S==="string"?S:this.emit(S,"value")).join(", "),X=H?`${H}, ...${B}`:`...${B}`,P=q.map((S)=>S===","?"":typeof S==="string"?S:this.emit(S,"value")).join(", ");Z.push(`[${X}] = _item`),Z.push(`[${P}] = ${B}.splice(-${O})`),this.helpers.add("slice"),R.forEach((S)=>{if(S===","||S==="...")return;if(typeof S==="string")this.programVars.add(S);else if(this.is(S,"...")&&typeof S[1]==="string")this.programVars.add(S[1])})}}let Q=this.emit(W,"value"),J=F?"await ":"",M;if(G)M="_item";else if(this.is($,"array")||this.is($,"object"))M=this.emitDestructuringPattern($);else M=$;let K=`for ${J}(const ${M} of ${Q}) `;if(G&&Z.length>0){let R=this.unwrapBlock(Y),z=this.withIndent(()=>[...Z.map((q)=>this.indent()+q+";"),...this.formatStatements(R)]);K+=`{
372
381
  ${z.join(`
373
382
  `)}
374
- ${this.indent()}}`}else H+=A?this.emitLoopBodyWithGuard(G,A):this.emitLoopBody(G);return H}emitWhile(f,_){let U=_[0],w=_.length===3?_[1]:null,u=_[_.length-1];return`while (${this.unwrap(this.emit(U,"value"))}) `+(w?this.emitLoopBodyWithGuard(u,w):this.emitLoopBody(u))}emitRange(f,_){if(f==="..."){if(_.length===1)return`...${this.emit(_[0],"value")}`;let[W,F]=_,A=this.emit(W,"value"),G=this.emit(F,"value");return`((s, e) => Array.from({length: Math.max(0, Math.abs(e - s))}, (_, i) => s + (i * (s <= e ? 1 : -1))))(${A}, ${G})`}let[U,w]=_,u=this.emit(U,"value"),$=this.emit(w,"value");return`((s, e) => Array.from({length: Math.abs(e - s) + 1}, (_, i) => s + (i * (s <= e ? 1 : -1))))(${u}, ${$})`}emitNot(f,_){let[U]=_;if(typeof U==="string"||U instanceof String)return`!${this.emit(U,"value")}`;if(Array.isArray(U)){if([".","?.","[]","optindex","optcall"].includes(U[0]))return`!${this.emit(U,"value")}`}let w=this.emit(U,"value");return w.startsWith("(")?`!${w}`:`(!${w})`}emitBitwiseNot(f,_){return`(~${this.emit(_[0],"value")})`}emitIncDec(f,_){let[U,w]=_,u=this.emit(U,"value");return w?`(${u}${f})`:`(${f}${u})`}emitTypeof(f,_){return`typeof ${this.emit(_[0],"value")}`}emitDelete(f,_){return`(delete ${this.emit(_[0],"value")})`}emitInstanceof(f,_,U,w){let[u,$]=_,W=t(w[0],"invert"),F=`(${this.emit(u,"value")} instanceof ${this.emit($,"value")})`;return W?`(!${F})`:F}emitIn(f,_,U,w){let[u,$]=_,W=this.emit(u,"value"),F=t(w[0],"invert");if(this.is($,"object")){let Y=`(${W} in ${this.emit($,"value")})`;return F?`(!${Y})`:Y}let A=this.emit($,"value"),G=`(Array.isArray(${A}) || typeof ${A} === 'string' ? ${A}.includes(${W}) : (${W} in ${A}))`;return F?`(!${G})`:G}emitOf(f,_,U,w){let[u,$]=_,W=this.emit(u,"value"),F=this.emit($,"value"),A=t(w[0],"invert"),G=`(${W} in ${F})`;return A?`(!${G})`:G}emitRegexMatch(f,_){let[U,w]=_;this.helpers.add("toMatchable"),this.programVars.add("_");let u=this.emit(w,"value"),$=u.includes("/m")?", true":"";return`(_ = toMatchable(${this.emit(U,"value")}${$}).match(${u}))`}emitNew(f,_){let[U]=_;if(this.is(U,".")||this.is(U,"?.")){let[w,u,$]=U;if(Array.isArray(u)&&!u[0].startsWith)return`(${this.emit(["new",u],"value")}).${$}`;return`new ${this.emit(u,"value")}.${$}`}if(Array.isArray(U)){let[w,...u]=U;return`new ${this.emit(w,"value")}(${u.map(($)=>this.unwrap(this.emit($,"value"))).join(", ")})`}return`new ${this.emit(U,"value")}()`}emitLogicalAnd(f,_,U,w){let u=this.flattenBinaryChain(w).slice(1);if(u.length===0)return"true";if(u.length===1)return this.emit(u[0],"value");return`(${u.map(($)=>this.emit($,"value")).join(" && ")})`}emitLogicalOr(f,_,U,w){let u=this.flattenBinaryChain(w).slice(1);if(u.length===0)return"true";if(u.length===1)return this.emit(u[0],"value");return`(${u.map(($)=>this.emit($,"value")).join(" || ")})`}emitArray(f,_){let U=_.length>0&&_[_.length-1]===",",w=_.map((u)=>{if(u===",")return"";if(u==="...")return"";if(this.is(u,"..."))return`...${this.emit(u[1],"value")}`;return this.emit(u,"value")}).join(", ");return U?`[${w},]`:`[${w}]`}emitObject(f,_,U){if(_.length===1&&Array.isArray(_[0])&&Array.isArray(_[0][2])&&_[0][2][0]==="comprehension"){let[,u,$]=_[0],[,W,F,A]=$;return this.emit(["object-comprehension",u,W,F,A],U)}return`{${_.map((u)=>{if(this.is(u,"..."))return`...${this.emit(u[1],"value")}`;let[$,W,F]=u,A;if(this.is(W,"dynamicKey"))A=`[${this.emit(W[1],"value")}]`;else if(this.is(W,"str"))A=`[${this.emit(W,"value")}]`;else this.suppressReactiveUnwrap=!0,A=this.emit(W,"value"),this.suppressReactiveUnwrap=!1;let G=this.emit(F,"value");if($==="=")return`${A} = ${G}`;if($===":")return`${A}: ${G}`;if(A===G&&!Array.isArray(W))return A;return`${A}: ${G}`}).join(", ")}}`}emitMap(f,_,U){if(_.length===0)return"new Map()";return`new Map([${_.map((u)=>{if(this.is(u,"..."))return`...${this.emit(u[1],"value")}`;let[,$,W]=u,F;if(Array.isArray($))F=this.emit($,"value");else{let G=m($)??$;F=!G.startsWith('"')&&!G.startsWith("'")&&!G.startsWith("/")&&!f1.NUMBER_START_RE.test(G)&&!H4.has(G)?`"${G}"`:this.emit($,"value")}let A=this.emit(W,"value");return`[${F}, ${A}]`}).join(", ")}])`}emitBlock(f,_,U){if(U==="statement")return`{
383
+ ${this.indent()}}`}else K+=A?this.emitLoopBodyWithGuard(Y,A):this.emitLoopBody(Y);return K}emitWhile(f,_){let U=_[0],w=_.length===3?_[1]:null,u=_[_.length-1];return`while (${this.unwrap(this.emit(U,"value"))}) `+(w?this.emitLoopBodyWithGuard(u,w):this.emitLoopBody(u))}emitRange(f,_){if(f==="..."){if(_.length===1)return`...${this.emit(_[0],"value")}`;let[W,F]=_,A=this.emit(W,"value"),Y=this.emit(F,"value");return`((s, e) => Array.from({length: Math.max(0, Math.abs(e - s))}, (_, i) => s + (i * (s <= e ? 1 : -1))))(${A}, ${Y})`}let[U,w]=_,u=this.emit(U,"value"),$=this.emit(w,"value");return`((s, e) => Array.from({length: Math.abs(e - s) + 1}, (_, i) => s + (i * (s <= e ? 1 : -1))))(${u}, ${$})`}emitNot(f,_){let[U]=_;if(typeof U==="string"||U instanceof String)return`!${this.emit(U,"value")}`;if(Array.isArray(U)){if([".","?.","[]","optindex","optcall"].includes(U[0]))return`!${this.emit(U,"value")}`}let w=this.emit(U,"value");return w.startsWith("(")?`!${w}`:`(!${w})`}emitBitwiseNot(f,_){return`(~${this.emit(_[0],"value")})`}emitIncDec(f,_){let[U,w]=_,u=this.emit(U,"value");return w?`(${u}${f})`:`(${f}${u})`}emitTypeof(f,_){return`typeof ${this.emit(_[0],"value")}`}emitDelete(f,_){return`(delete ${this.emit(_[0],"value")})`}emitInstanceof(f,_,U,w){let[u,$]=_,W=$1(w[0],"invert"),F=`(${this.emit(u,"value")} instanceof ${this.emit($,"value")})`;return W?`(!${F})`:F}emitIn(f,_,U,w){let[u,$]=_,W=this.emit(u,"value"),F=$1(w[0],"invert");if(this.is($,"object")){let G=`(${W} in ${this.emit($,"value")})`;return F?`(!${G})`:G}let A=this.emit($,"value"),Y=`(Array.isArray(${A}) || typeof ${A} === 'string' ? ${A}.includes(${W}) : (${W} in ${A}))`;return F?`(!${Y})`:Y}emitOf(f,_,U,w){let[u,$]=_,W=this.emit(u,"value"),F=this.emit($,"value"),A=$1(w[0],"invert"),Y=`(${W} in ${F})`;return A?`(!${Y})`:Y}emitRegexMatch(f,_){let[U,w]=_;this.helpers.add("toMatchable"),this.programVars.add("_");let u=this.emit(w,"value"),$=u.includes("/m")?", true":"";return`(_ = toMatchable(${this.emit(U,"value")}${$}).match(${u}))`}emitNew(f,_){let[U]=_;if(this.is(U,".")||this.is(U,"?.")){let[w,u,$]=U;if(Array.isArray(u)&&!u[0].startsWith)return`(${this.emit(["new",u],"value")}).${$}`;return`new ${this.emit(u,"value")}.${$}`}if(Array.isArray(U)){let[w,...u]=U;return`new ${this.emit(w,"value")}(${u.map(($)=>this.unwrap(this.emit($,"value"))).join(", ")})`}return`new ${this.emit(U,"value")}()`}emitLogicalAnd(f,_,U,w){let u=this.flattenBinaryChain(w).slice(1);if(u.length===0)return"true";if(u.length===1)return this.emit(u[0],"value");return`(${u.map(($)=>this.emit($,"value")).join(" && ")})`}emitLogicalOr(f,_,U,w){let u=this.flattenBinaryChain(w).slice(1);if(u.length===0)return"true";if(u.length===1)return this.emit(u[0],"value");return`(${u.map(($)=>this.emit($,"value")).join(" || ")})`}emitArray(f,_){let U=_.length>0&&_[_.length-1]===",",w=_.map((u)=>{if(u===",")return"";if(u==="...")return"";if(this.is(u,"..."))return`...${this.emit(u[1],"value")}`;return this.emit(u,"value")}).join(", ");return U?`[${w},]`:`[${w}]`}emitObject(f,_,U){if(_.length===1&&Array.isArray(_[0])&&Array.isArray(_[0][2])&&_[0][2][0]==="comprehension"){let[,u,$]=_[0],[,W,F,A]=$;return this.emit(["object-comprehension",u,W,F,A],U)}return`{${_.map((u)=>{if(this.is(u,"..."))return`...${this.emit(u[1],"value")}`;let[$,W,F]=u,A;if(this.is(W,"dynamicKey"))A=`[${this.emit(W[1],"value")}]`;else if(this.is(W,"str"))A=`[${this.emit(W,"value")}]`;else this.suppressReactiveUnwrap=!0,A=this.emit(W,"value"),this.suppressReactiveUnwrap=!1;let Y=this.emit(F,"value");if($==="=")return`${A} = ${Y}`;if($===":")return`${A}: ${Y}`;if(A===Y&&!Array.isArray(W))return A;return`${A}: ${Y}`}).join(", ")}}`}emitMap(f,_,U){if(_.length===0)return"new Map()";return`new Map([${_.map((u)=>{if(this.is(u,"..."))return`...${this.emit(u[1],"value")}`;let[,$,W]=u,F;if(Array.isArray($))F=this.emit($,"value");else{let Y=c($)??$;F=!Y.startsWith('"')&&!Y.startsWith("'")&&!Y.startsWith("/")&&!w1.NUMBER_START_RE.test(Y)&&!W4.has(Y)?`"${Y}"`:this.emit($,"value")}let A=this.emit(W,"value");return`[${F}, ${A}]`}).join(", ")}])`}emitBlock(f,_,U){if(U==="statement")return`{
375
384
  ${this.withIndent(()=>this.formatStatements(_)).join(`
376
385
  `)}
377
386
  ${this.indent()}}`;if(_.length===0)return"undefined";if(_.length===1)return this.emit(_[0],U);let w=_[_.length-1];if(Array.isArray(w)&&["break","continue","return","throw"].includes(w[0])){let $=_.map((W)=>this.addSemicolon(W,this.emit(W,"statement")));return`{
378
387
  ${this.withIndent(()=>$.map((W)=>this.indent()+W).join(`
379
388
  `))}
380
- ${this.indent()}}`}return`(${_.map(($)=>this.emit($,"value")).join(", ")})`}emitTry(f,_,U){let w=U==="value",u="try ",$=_[0];if(u+=w&&this.is($,"block")?this.emitBlockWithReturns($):this.emit($,"statement"),_.length>=2&&Array.isArray(_[1])&&_[1].length===2&&_[1][0]!=="block"){let[W,F]=_[1];if(u+=" catch",W&&(this.is(W,"object")||this.is(W,"array"))){u+=" (error)";let A=`(${this.emit(W,"value")} = error)`;F=this.is(F,"block")?["block",A,...F.slice(1)]:["block",A,F]}else if(W)u+=` (${W})`;u+=" "+(w&&this.is(F,"block")?this.emitBlockWithReturns(F):this.emit(F,"statement"))}else if(_.length===2)u+=" finally "+this.emit(_[1],"statement");if(_.length===3)u+=" finally "+this.emit(_[2],"statement");if(_.length===1)u+=" catch {}";if(w){let W=this.containsAwait(_[0])||_[1]&&this.containsAwait(_[1])||_[2]&&this.containsAwait(_[2]);return this.asyncIIFE(W,u)}return u}emitThrow(f,_,U){let[w]=_;if(Array.isArray(w)){let $=w,W=null;if(w[0]==="new"&&Array.isArray(w[1])&&w[1][0]==="if")W="new",$=w[1];else if(w[0]==="if")$=w;if($[0]==="if"){let[,F,A]=$,G=Array.isArray(A)&&A.length===1?A[0]:A;w=W==="new"?["new",G]:G;let Y=this.emit(F,"value"),R=`throw ${this.emit(w,"value")}`;return`if (${Y}) {
381
- ${this.indent()} ${R};
382
- ${this.indent()}}`}}let u=`throw ${this.emit(w,"value")}`;return U==="value"?`(() => { ${u}; })()`:u}emitControl(f,_,U){let[w,u,$]=_,W=m(w),F=$[0]==="return",A=this.emit(u,"value"),G=$.length>1?$[1]:null,Y=F?G?`return ${this.emit(G,"value")}`:"return":G?`throw ${this.emit(G,"value")}`:"throw new Error()",R=this.wrapForCondition(A);if(U==="value"){if(W==="??")return`(() => { const __v = ${A}; if (__v == null) ${Y}; return __v; })()`;if(W==="||")return`(() => { const __v = ${A}; if (!__v) ${Y}; return __v; })()`;return`(() => { const __v = ${A}; if (__v) ${Y}; return __v; })()`}if(W==="??")return`if (${R} == null) ${Y}`;if(W==="||")return`if (!${R}) ${Y}`;return`if (${R}) ${Y}`}emitSwitch(f,_,U){let[w,u,$]=_;if(w===null)return this.emitSwitchAsIfChain(u,$,U);let W=`switch (${this.emit(w,"value")}) {
383
- `;this.indentLevel++;for(let F of u){let[,A,G]=F;for(let Y of A){let R=m(Y)??Y,Z;if(Array.isArray(R))Z=this.emit(R,"value");else if(typeof R==="string"&&(R.startsWith('"')||R.startsWith("'")))Z=`'${R.slice(1,-1)}'`;else Z=this.emit(R,"value");W+=this.indent()+`case ${Z}:
384
- `}this.indentLevel++,W+=this.emitSwitchCaseBody(G,U),this.indentLevel--}if($)W+=this.indent()+`default:
385
- `,this.indentLevel++,W+=this.emitSwitchCaseBody($,U),this.indentLevel--;if(this.indentLevel--,W+=this.indent()+"}",U==="value"){let F=this.containsAwait(w)||u.some((A)=>this.containsAwait(A[1])||this.containsAwait(A[2]))||$&&this.containsAwait($);return this.asyncIIFE(F,W)}return W}emitWhen(){throw Error("when clause should be handled by switch")}_forInHeader(f,_,U){let w=Array.isArray(f)?f:[f],u=w.length===0,[$,W]=u?["_i",null]:w,F=this.is($,"array")||this.is($,"object")?this.emitDestructuringPattern($):$;if(U&&U!==null){let A=Array.isArray(_)&&_[0];if(A instanceof String)A=m(A);if(A===".."||A==="..."){let q=A==="...",[Q,D]=_.slice(1),I=this.emit(Q,"value"),P=this.emit(D,"value"),K=this.emit(U,"value");return{header:`for (let ${F} = ${I}; ${F} ${q?"<":"<="} ${P}; ${F} += ${K})`,setup:null}}let Y=this.emit(_,"value"),R=W||"_i",Z=this.emit(U,"value"),M=this.is(U,"-",1),J=M&&(U[1]==="1"||U[1]===1||m(U[1])==="1"),H=!M&&(U==="1"||U===1||m(U)==="1"),O=J?`${R}--`:H?`${R}++`:`${R} += ${Z}`;return{header:M?`for (let ${R} = ${Y}.length - 1; ${R} >= 0; ${O})`:`for (let ${R} = 0; ${R} < ${Y}.length; ${O})`,setup:u?null:`const ${F} = ${Y}[${R}];`}}if(W){let A=this.emit(_,"value");return{header:`for (let ${W} = 0; ${W} < ${A}.length; ${W}++)`,setup:`const ${F} = ${A}[${W}];`}}return{header:`for (const ${F} of ${this.emit(_,"value")})`,setup:null}}_forOfHeader(f,_,U){let w=Array.isArray(f)?f:[f],[u,$]=w,W=this.is(u,"array")||this.is(u,"object")?this.emitDestructuringPattern(u):u,F=this.emit(_,"value");return{header:`for (const ${W} in ${F})`,own:U,vv:$,oc:F,kvp:W}}_forAsHeader(f,_,U){let w=Array.isArray(f)?f:[f],[u]=w,$=this.is(u,"array")||this.is(u,"object")?this.emitDestructuringPattern(u):u;return{header:`for ${U?"await ":""}(const ${$} of ${this.emit(_,"value")})`}}emitComprehension(f,_,U){let[w,u,$]=_;if(U==="statement")return this.emitComprehensionAsLoop(w,u,$);if(this.comprehensionTarget)return this.emitComprehensionWithTarget(w,u,$,this.comprehensionTarget);let W=this.containsAwait(w)||u.some((Y)=>this.containsAwait(Y))||$.some((Y)=>this.containsAwait(Y)),F=this.asyncIIFEOpen(W)+`
389
+ ${this.indent()}}`}return`(${_.map(($)=>this.emit($,"value")).join(", ")})`}emitTry(f,_,U){let w=U==="value",u="try ",$=_[0];if(u+=w&&this.is($,"block")?this.emitBlockWithReturns($):this.emit($,"statement"),_.length>=2&&Array.isArray(_[1])&&_[1].length===2&&_[1][0]!=="block"){let[W,F]=_[1];if(u+=" catch",W&&(this.is(W,"object")||this.is(W,"array"))){u+=" (error)";let A=`(${this.emit(W,"value")} = error)`;F=this.is(F,"block")?["block",A,...F.slice(1)]:["block",A,F]}else if(W)u+=` (${W})`;u+=" "+(w&&this.is(F,"block")?this.emitBlockWithReturns(F):this.emit(F,"statement"))}else if(_.length===2)u+=" finally "+this.emit(_[1],"statement");if(_.length===3)u+=" finally "+this.emit(_[2],"statement");if(_.length===1)u+=" catch {}";if(w){let W=this.containsAwait(_[0])||_[1]&&this.containsAwait(_[1])||_[2]&&this.containsAwait(_[2]);return this.asyncIIFE(W,u)}return u}emitThrow(f,_,U){let[w]=_;if(Array.isArray(w)){let $=w,W=null;if(w[0]==="new"&&Array.isArray(w[1])&&w[1][0]==="if")W="new",$=w[1];else if(w[0]==="if")$=w;if($[0]==="if"){let[,F,A]=$,Y=Array.isArray(A)&&A.length===1?A[0]:A;w=W==="new"?["new",Y]:Y;let G=this.emit(F,"value"),Z=`throw ${this.emit(w,"value")}`;return`if (${G}) {
390
+ ${this.indent()} ${Z};
391
+ ${this.indent()}}`}}let u=`throw ${this.emit(w,"value")}`;return U==="value"?`(() => { ${u}; })()`:u}emitControl(f,_,U){let[w,u,$]=_,W=c(w),F=$[0]==="return",A=this.emit(u,"value"),Y=$.length>1?$[1]:null,G=F?Y?`return ${this.emit(Y,"value")}`:"return":Y?`throw ${this.emit(Y,"value")}`:"throw new Error()",Z=this.wrapForCondition(A);if(U==="value"){if(W==="??")return`(() => { const __v = ${A}; if (__v == null) ${G}; return __v; })()`;if(W==="||")return`(() => { const __v = ${A}; if (!__v) ${G}; return __v; })()`;return`(() => { const __v = ${A}; if (__v) ${G}; return __v; })()`}if(W==="??")return`if (${Z} == null) ${G}`;if(W==="||")return`if (!${Z}) ${G}`;return`if (${Z}) ${G}`}emitSwitch(f,_,U){let[w,u,$]=_;if(w===null)return this.emitSwitchAsIfChain(u,$,U);let W=`switch (${this.emit(w,"value")}) {
392
+ `;this.indentLevel++;for(let F of u){let[,A,Y]=F;for(let G of A){let Z=c(G)??G,Q;if(Array.isArray(Z))Q=this.emit(Z,"value");else if(typeof Z==="string"&&(Z.startsWith('"')||Z.startsWith("'")))Q=`'${Z.slice(1,-1)}'`;else Q=this.emit(Z,"value");W+=this.indent()+`case ${Q}:
393
+ `}this.indentLevel++,W+=this.emitSwitchCaseBody(Y,U),this.indentLevel--}if($)W+=this.indent()+`default:
394
+ `,this.indentLevel++,W+=this.emitSwitchCaseBody($,U),this.indentLevel--;if(this.indentLevel--,W+=this.indent()+"}",U==="value"){let F=this.containsAwait(w)||u.some((A)=>this.containsAwait(A[1])||this.containsAwait(A[2]))||$&&this.containsAwait($);return this.asyncIIFE(F,W)}return W}emitWhen(f,_,U,w){this.error("when clause should be handled by switch",w)}_forInHeader(f,_,U){let w=Array.isArray(f)?f:[f],u=w.length===0,[$,W]=u?["_i",null]:w,F=this.is($,"array")||this.is($,"object")?this.emitDestructuringPattern($):$;if(U&&U!==null){let A=Array.isArray(_)&&_[0];if(A instanceof String)A=c(A);if(A===".."||A==="..."){let q=A==="...",[O,D]=_.slice(1),I=this.emit(O,"value"),B=this.emit(D,"value"),H=this.emit(U,"value");return{header:`for (let ${F} = ${I}; ${F} ${q?"<":"<="} ${B}; ${F} += ${H})`,setup:null}}let G=this.emit(_,"value"),Z=W||"_i",Q=this.emit(U,"value"),J=this.is(U,"-",1),M=J&&(U[1]==="1"||U[1]===1||c(U[1])==="1"),K=!J&&(U==="1"||U===1||c(U)==="1"),R=M?`${Z}--`:K?`${Z}++`:`${Z} += ${Q}`;return{header:J?`for (let ${Z} = ${G}.length - 1; ${Z} >= 0; ${R})`:`for (let ${Z} = 0; ${Z} < ${G}.length; ${R})`,setup:u?null:`const ${F} = ${G}[${Z}];`}}if(W){let A=this.emit(_,"value");return{header:`for (let ${W} = 0; ${W} < ${A}.length; ${W}++)`,setup:`const ${F} = ${A}[${W}];`}}return{header:`for (const ${F} of ${this.emit(_,"value")})`,setup:null}}_forOfHeader(f,_,U){let w=Array.isArray(f)?f:[f],[u,$]=w,W=this.is(u,"array")||this.is(u,"object")?this.emitDestructuringPattern(u):u,F=this.emit(_,"value");return{header:`for (const ${W} in ${F})`,own:U,vv:$,oc:F,kvp:W}}_forAsHeader(f,_,U){let w=Array.isArray(f)?f:[f],[u]=w,$=this.is(u,"array")||this.is(u,"object")?this.emitDestructuringPattern(u):u;return{header:`for ${U?"await ":""}(const ${$} of ${this.emit(_,"value")})`}}emitComprehension(f,_,U){let[w,u,$]=_;if(U==="statement")return this.emitComprehensionAsLoop(w,u,$);if(this.comprehensionTarget)return this.emitComprehensionWithTarget(w,u,$,this.comprehensionTarget);let W=this.containsAwait(w)||u.some((G)=>this.containsAwait(G))||$.some((G)=>this.containsAwait(G)),F=this.asyncIIFEOpen(W)+`
386
395
  `;this.indentLevel++,this.comprehensionDepth++,F+=this.indent()+`const result = [];
387
- `;for(let Y of u){let[R,Z,M,J]=Y;if(R==="for-in"){let{header:H,setup:O}=this._forInHeader(Z,M,J);if(F+=this.indent()+H+` {
388
- `,this.indentLevel++,O)F+=this.indent()+O+`
389
- `}else if(R==="for-of"){let{header:H,own:O,vv:z,oc:q,kvp:Q}=this._forOfHeader(Z,M,J);if(F+=this.indent()+H+` {
390
- `,this.indentLevel++,O)F+=this.indent()+`if (!Object.hasOwn(${q}, ${Q})) continue;
391
- `;if(z)F+=this.indent()+`const ${z} = ${q}[${Q}];
392
- `}else if(R==="for-as"){let{header:H}=this._forAsHeader(Z,M,Y[3]);F+=this.indent()+H+` {
393
- `,this.indentLevel++}}for(let Y of $)F+=this.indent()+`if (${this.emit(Y,"value")}) {
394
- `,this.indentLevel++;let A=(Y)=>{if(typeof Y==="string"&&(Y==="break"||Y==="continue"))return!0;if(!Array.isArray(Y))return!1;if(["break","continue","return","throw"].includes(Y[0]))return!0;if(Y[0]==="if")return Y.slice(1).some(A);return Y.some(A)},G=["for-in","for-of","for-as","while","loop"];if(this.is(w,"block"))for(let Y=0;Y<w.length-1;Y++){let R=w[Y+1];if(Y!==w.length-2||A(R))F+=this.indent()+this.emit(R,"statement")+`;
395
- `;else if(Array.isArray(R)&&G.includes(R[0]))F+=this.indent()+this.emit(R,"statement")+`;
396
- `;else F+=this.indent()+`result.push(${this.emit(R,"value")});
396
+ `;for(let G of u){let[Z,Q,J,M]=G;if(Z==="for-in"){let{header:K,setup:R}=this._forInHeader(Q,J,M);if(F+=this.indent()+K+` {
397
+ `,this.indentLevel++,R)F+=this.indent()+R+`
398
+ `}else if(Z==="for-of"){let{header:K,own:R,vv:z,oc:q,kvp:O}=this._forOfHeader(Q,J,M);if(F+=this.indent()+K+` {
399
+ `,this.indentLevel++,R)F+=this.indent()+`if (!Object.hasOwn(${q}, ${O})) continue;
400
+ `;if(z)F+=this.indent()+`const ${z} = ${q}[${O}];
401
+ `}else if(Z==="for-as"){let{header:K}=this._forAsHeader(Q,J,G[3]);F+=this.indent()+K+` {
402
+ `,this.indentLevel++}}for(let G of $)F+=this.indent()+`if (${this.emit(G,"value")}) {
403
+ `,this.indentLevel++;let A=(G)=>{if(typeof G==="string"&&(G==="break"||G==="continue"))return!0;if(!Array.isArray(G))return!1;if(["break","continue","return","throw"].includes(G[0]))return!0;if(G[0]==="if")return G.slice(1).some(A);return G.some(A)},Y=["for-in","for-of","for-as","while","loop"];if(this.is(w,"block"))for(let G=0;G<w.length-1;G++){let Z=w[G+1];if(G!==w.length-2||A(Z))F+=this.indent()+this.emit(Z,"statement")+`;
404
+ `;else if(Array.isArray(Z)&&Y.includes(Z[0]))F+=this.indent()+this.emit(Z,"statement")+`;
405
+ `;else F+=this.indent()+`result.push(${this.emit(Z,"value")});
397
406
  `}else if(A(w))F+=this.indent()+this.emit(w,"statement")+`;
398
- `;else if(Array.isArray(w)&&G.includes(w[0]))F+=this.indent()+this.emit(w,"statement")+`;
407
+ `;else if(Array.isArray(w)&&Y.includes(w[0]))F+=this.indent()+this.emit(w,"statement")+`;
399
408
  `;else F+=this.indent()+`result.push(${this.emit(w,"value")});
400
- `;for(let Y=0;Y<$.length;Y++)this.indentLevel--,F+=this.indent()+`}
401
- `;for(let Y=0;Y<u.length;Y++)this.indentLevel--,F+=this.indent()+`}
409
+ `;for(let G=0;G<$.length;G++)this.indentLevel--,F+=this.indent()+`}
410
+ `;for(let G=0;G<u.length;G++)this.indentLevel--,F+=this.indent()+`}
402
411
  `;return F+=this.indent()+`return result;
403
- `,this.indentLevel--,this.comprehensionDepth--,F+=this.indent()+"})()",F}emitObjectComprehension(f,_,U){let[w,u,$,W]=_,F=this.containsAwait(w)||this.containsAwait(u)||$.some((G)=>this.containsAwait(G))||W.some((G)=>this.containsAwait(G)),A=this.asyncIIFEOpen(F)+`
412
+ `,this.indentLevel--,this.comprehensionDepth--,F+=this.indent()+"})()",F}emitObjectComprehension(f,_,U){let[w,u,$,W]=_,F=this.containsAwait(w)||this.containsAwait(u)||$.some((Y)=>this.containsAwait(Y))||W.some((Y)=>this.containsAwait(Y)),A=this.asyncIIFEOpen(F)+`
404
413
  `;this.indentLevel++,A+=this.indent()+`const result = {};
405
- `;for(let G of $){let[Y,R,Z,M]=G;if(Y==="for-of"){let[J,H]=R,O=this.emit(Z,"value");if(A+=this.indent()+`for (const ${J} in ${O}) {
406
- `,this.indentLevel++,M)A+=this.indent()+`if (!Object.hasOwn(${O}, ${J})) continue;
407
- `;if(H)A+=this.indent()+`const ${H} = ${O}[${J}];
408
- `}}for(let G of W)A+=this.indent()+`if (${this.emit(G,"value")}) {
414
+ `;for(let Y of $){let[G,Z,Q,J]=Y;if(G==="for-of"){let[M,K]=Z,R=this.emit(Q,"value");if(A+=this.indent()+`for (const ${M} in ${R}) {
415
+ `,this.indentLevel++,J)A+=this.indent()+`if (!Object.hasOwn(${R}, ${M})) continue;
416
+ `;if(K)A+=this.indent()+`const ${K} = ${R}[${M}];
417
+ `}}for(let Y of W)A+=this.indent()+`if (${this.emit(Y,"value")}) {
409
418
  `,this.indentLevel++;A+=this.indent()+`result[${this.emit(w,"value")}] = ${this.emit(u,"value")};
410
- `;for(let G=0;G<W.length;G++)this.indentLevel--,A+=this.indent()+`}
411
- `;for(let G=0;G<$.length;G++)this.indentLevel--,A+=this.indent()+`}
419
+ `;for(let Y=0;Y<W.length;Y++)this.indentLevel--,A+=this.indent()+`}
420
+ `;for(let Y=0;Y<$.length;Y++)this.indentLevel--,A+=this.indent()+`}
412
421
  `;return A+=this.indent()+`return result;
413
422
  `,this.indentLevel--,A+=this.indent()+"})()",A}emitClass(f,_,U){let[w,u,...$]=_,W=w?`class ${w}`:"class";if(u)W+=` extends ${this.emit(u,"value")}`;if(W+=` {
414
- `,$.length>0&&Array.isArray($[0])){let F=$[0];if(F[0]==="block"){let A=F.slice(1);if(A.length>0&&Array.isArray(A[0])&&A[0][0]==="object"){let Y=A[0].slice(1);this.indentLevel++,W+=this._emitClassMembers(Y,u);for(let R of A.slice(1))if(this.is(R,"class")){let[,Z,M,...J]=R;if(this.is(Z,".")&&Z[1]==="this")W+=this.indent()+`static ${Z[2]} = ${this.emit(["class",null,M,...J],"value")};
415
- `;else W+=this.indent()+this.emit(R,"statement")+`;
416
- `}else W+=this.indent()+this.emit(R,"statement")+`;
417
- `;this.indentLevel--}else{this.indentLevel++;for(let Y of A)if(this.is(Y,"=")&&Array.isArray(Y[1])&&Y[1][0]==="."&&Y[1][1]==="this")W+=this.indent()+`static ${Y[1][2]} = ${this.emit(Y[2],"value")};
418
- `;else W+=this.indent()+this.emit(Y,"statement")+`;
419
- `;this.indentLevel--}}}return W+=this.indent()+"}",W}_emitClassMembers(f,_){let U="",w=[];for(let[,u,$]of f){let W=this.is(u,".")&&u[1]==="this",F=this.is(u,"computed"),A=this.extractMemberName(u);if(this.is($,"=>")&&!W&&!F&&A!=="constructor")w.push(A)}for(let[,u,$]of f){let W=this.is(u,".")&&u[1]==="this",F=this.is(u,"computed"),A=this.extractMemberName(u);if(this.is($,"->")||this.is($,"=>")){let[,G,Y]=$,R=this.containsAwait(Y),Z=this.containsYield(Y),M=G,J=[];if(A==="constructor"){let z=!!_,q=z?new Map:null;M=G.map((Q)=>{if(this.is(Q,".")&&Q[1]==="this"){let D=Q[2],I=z?`_${D}`:D;if(J.push(`this.${D} = ${I}`),z)q.set(D,I);return I}if(this.is(Q,"default")&&this.is(Q[1],".")&&Q[1][1]==="this"){let D=Q[1][2],I=z?`_${D}`:D;if(J.push(`this.${D} = ${I}`),z)q.set(D,I);return["default",I,Q[2]]}return Q});for(let Q of w)J.unshift(`this.${Q} = this.${Q}.bind(this)`);if(q?.size>0)this._atParamMap=q}let H=this.emitParamList(M),O=(W?"static ":"")+(R?"async ":"")+(Z?"*":"");if(U+=this.indent()+`${O}${A}(${H}) `,!F)this.currentMethodName=A;U+=this.emitMethodBody(Y,J,A==="constructor",M),this._atParamMap=null,this.currentMethodName=null,U+=`
423
+ `,$.length>0&&Array.isArray($[0])){let F=$[0];if(F[0]==="block"){let A=F.slice(1);if(A.length>0&&Array.isArray(A[0])&&A[0][0]==="object"){let G=A[0].slice(1);this.indentLevel++,W+=this._emitClassMembers(G,u);for(let Z of A.slice(1))if(this.is(Z,"class")){let[,Q,J,...M]=Z;if(this.is(Q,".")&&Q[1]==="this")W+=this.indent()+`static ${Q[2]} = ${this.emit(["class",null,J,...M],"value")};
424
+ `;else W+=this.indent()+this.emit(Z,"statement")+`;
425
+ `}else W+=this.indent()+this.emit(Z,"statement")+`;
426
+ `;this.indentLevel--}else{this.indentLevel++;for(let G of A)if(this.is(G,"=")&&Array.isArray(G[1])&&G[1][0]==="."&&G[1][1]==="this")W+=this.indent()+`static ${G[1][2]} = ${this.emit(G[2],"value")};
427
+ `;else W+=this.indent()+this.emit(G,"statement")+`;
428
+ `;this.indentLevel--}}}return W+=this.indent()+"}",W}_emitClassMembers(f,_){let U="",w=[];for(let[,u,$]of f){let W=this.is(u,".")&&u[1]==="this",F=this.is(u,"computed"),A=this.extractMemberName(u);if(this.is($,"=>")&&!W&&!F&&A!=="constructor")w.push(A)}for(let[,u,$]of f){let W=this.is(u,".")&&u[1]==="this",F=this.is(u,"computed"),A=this.extractMemberName(u);if(this.is($,"->")||this.is($,"=>")){let[,Y,G]=$,Z=this.containsAwait(G),Q=this.containsYield(G),J=Y,M=[];if(A==="constructor"){let z=!!_,q=z?new Map:null;J=Y.map((O)=>{if(this.is(O,".")&&O[1]==="this"){let D=O[2],I=z?`_${D}`:D;if(M.push(`this.${D} = ${I}`),z)q.set(D,I);return I}if(this.is(O,"default")&&this.is(O[1],".")&&O[1][1]==="this"){let D=O[1][2],I=z?`_${D}`:D;if(M.push(`this.${D} = ${I}`),z)q.set(D,I);return["default",I,O[2]]}return O});for(let O of w)M.unshift(`this.${O} = this.${O}.bind(this)`);if(q?.size>0)this._atParamMap=q}let K=this.emitParamList(J),R=(W?"static ":"")+(Z?"async ":"")+(Q?"*":"");if(U+=this.indent()+`${R}${A}(${K}) `,!F)this.currentMethodName=A;U+=this.emitMethodBody(G,M,A==="constructor",J),this._atParamMap=null,this.currentMethodName=null,U+=`
420
429
  `}else if(W)U+=this.indent()+`static ${A} = ${this.emit($,"value")};
421
430
  `;else U+=this.indent()+`${A} = ${this.emit($,"value")};
422
- `}return U}emitSuper(f,_){if(_.length===0){if(this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}()`;return"super"}let U=_.map((w)=>this.unwrap(this.emit(w,"value"))).join(", ");if(this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}(${U})`;return`super(${U})`}emitImport(f,_,U,w){if(_.length===1){let F=`import(${this.emit(_[0],"value")})`;if(t(w[0],"await")===!0)return`(await ${F})`;return F}if(this.options.skipImports)return"";if(_.length===3){let[F,A,G]=_,Y=this.addJsExtensionAndAssertions(G);if(A[0]==="*"&&A.length===2)return`import ${F}, * as ${A[1]} from ${Y}`;let R=A.map((Z)=>Array.isArray(Z)&&Z.length===2?`${Z[0]} as ${Z[1]}`:Z).join(", ");return`import ${F}, { ${R} } from ${Y}`}let[u,$]=_,W=this.addJsExtensionAndAssertions($);if(typeof u==="string")return`import ${u} from ${W}`;if(Array.isArray(u)){if(u[0]==="*"&&u.length===2)return`import * as ${u[1]} from ${W}`;return`import { ${u.map((A)=>Array.isArray(A)&&A.length===2?`${A[0]} as ${A[1]}`:A).join(", ")} } from ${W}`}return`import ${this.emit(u,"value")} from ${W}`}emitExport(f,_){let[U]=_;if(this.options.skipExports){if(this.is(U,"=")){let w=this._componentName;if(this.is(U[2],"component"))this._componentName=m(U[1]);let u=`const ${U[1]} = ${this.emit(U[2],"value")}`;return this._componentName=w,u}if(Array.isArray(U)&&U.every((w)=>typeof w==="string"))return"";return this.emit(U,"statement")}if(this.is(U,"=")){let w=this._componentName;if(this.is(U[2],"component"))this._componentName=m(U[1]);let u=`export const ${U[1]} = ${this.emit(U[2],"value")}`;return this._componentName=w,u}if(Array.isArray(U)&&U.every((w)=>typeof w==="string"))return`export { ${U.join(", ")} }`;return`export ${this.emit(U,"statement")}`}emitExportDefault(f,_){let[U]=_;if(this.options.skipExports){if(this.is(U,"="))return`const ${U[1]} = ${this.emit(U[2],"value")}`;return this.emit(U,"statement")}if(this.is(U,"="))return`const ${U[1]} = ${this.emit(U[2],"value")};
423
- export default ${U[1]}`;return`export default ${this.emit(U,"statement")}`}emitExportAll(f,_){if(this.options.skipExports)return"";return`export * from ${this.addJsExtensionAndAssertions(_[0])}`}emitExportFrom(f,_){if(this.options.skipExports)return"";let[U,w]=_,u=this.addJsExtensionAndAssertions(w);if(Array.isArray(U))return`export { ${U.map((W)=>Array.isArray(W)&&W.length===2?`${W[0]} as ${W[1]}`:W).join(", ")} } from ${u}`;return`export ${U} from ${u}`}emitDoIIFE(f,_){return`(${this.emit(_[0],"statement")})()`}emitRegex(f,_){return _.length===0?f:this.emit(_[0],"value")}emitTaggedTemplate(f,_){let[U,w]=_,u=this.emit(U,"value"),$=this.emit(w,"value");if($.startsWith("`"))return`${u}${$}`;if($.startsWith('"')||$.startsWith("'"))return`${u}\`${$.slice(1,-1)}\``;return`${u}\`${$}\``}emitString(f,_){let U="`";for(let w of _)if(w instanceof String)U+=this.extractStringContent(w);else if(typeof w==="string")if(w.startsWith('"')||w.startsWith("'")){if(this.options.debug)console.warn("[Rip] Unexpected quoted primitive in str:",w);U+=w.slice(1,-1)}else U+=w;else if(Array.isArray(w))if(w.length===1&&typeof w[0]==="string"&&!Array.isArray(w[0])){let u=w[0];U+=/^[\d"']/.test(u)?"${"+this.emit(u,"value")+"}":"${"+u+"}"}else{let u=w.length===1&&Array.isArray(w[0])?w[0]:w;U+="${"+this.emit(u,"value")+"}"}return U+"`"}findPostfixConditional(f){if(!Array.isArray(f))return null;let _=f[0];if(_==="if"&&f.length===3)return{type:_,condition:f[1],value:f[2]};if(_==="+"||_==="-"||_==="*"||_==="/")for(let U=1;U<f.length;U++){let w=this.findPostfixConditional(f[U]);if(w)return w.parentOp=_,w.operandIndex=U,w.otherOperands=f.slice(1).filter((u,$)=>$!==U-1),w}return null}rebuildWithoutConditional(f){let _=Array.isArray(f.value)&&f.value.length===1?f.value[0]:f.value;if(f.parentOp)return[f.parentOp,...f.otherOperands,_];return _}_tryPostfixCall(f,_,U){if(U!=="statement"||_.length!==1)return null;let w=this.findPostfixConditional(_[0]);if(!w)return null;let u=this.rebuildWithoutConditional(w),$=this.emit(f,"value"),W=this.emit(w.condition,"value"),F=this.emit(u,"value");return`if (${W}) ${$}(${F})`}_emitArgs(f){return f.map((_)=>this.unwrap(this.emit(_,"value"))).join(", ")}emitDestructuringPattern(f){return this.formatParam(f)}emitParamList(f){let _=f.findIndex((w)=>this.is(w,"expansion"));if(_!==-1){let w=f.slice(0,_),u=f.slice(_+1),$=w.map((W)=>this.formatParam(W)).join(", ");return this.expansionAfterParams=u,$?`${$}, ..._rest`:"..._rest"}let U=f.findIndex((w)=>this.is(w,"rest"));if(U!==-1&&U<f.length-1){let w=f.slice(0,U),u=f[U],$=f.slice(U+1),W=w.map((F)=>this.formatParam(F));return this.restMiddleParam={restName:u[1],afterParams:$,beforeCount:w.length},W.length>0?`${W.join(", ")}, ...${u[1]}`:`...${u[1]}`}return this.expansionAfterParams=null,this.restMiddleParam=null,f.map((w)=>this.formatParam(w)).join(", ")}formatParam(f){if(typeof f==="string")return f;if(f instanceof String)return f.valueOf();if(this.is(f,"rest"))return`...${f[1]}`;if(this.is(f,"default"))return`${f[1]} = ${this.emit(f[2],"value")}`;if(this.is(f,".")&&f[1]==="this")return f[2];if(this.is(f,"array"))return`[${f.slice(1).map((U)=>{if(U===",")return"";if(U==="...")return"";if(this.is(U,"..."))return`...${U[1]}`;if(this.is(U,"=")&&typeof U[1]==="string")return`${U[1]} = ${this.emit(U[2],"value")}`;if(typeof U==="string")return U;return this.formatParam(U)}).join(", ")}]`;if(this.is(f,"object"))return`{${f.slice(1).map((U)=>{if(this.is(U,"..."))return`...${U[1]}`;if(this.is(U,"default"))return`${U[1]} = ${this.emit(U[2],"value")}`;let[w,u,$]=U;if(w==="=")return`${u} = ${this.emit($,"value")}`;if(u===$)return u;return`${u}: ${this.formatParam($)}`}).join(", ")}}`;return JSON.stringify(f)}emitBodyWithReturns(f,_=[],U={}){let{sideEffectOnly:w=!1,autoAssignments:u=[],isConstructor:$=!1,hasExpansionParams:W=!1}=U,F=this.sideEffectOnly;this.sideEffectOnly=w;let A=new Set,G=(H)=>{if(typeof H==="string")A.add(H);else if(Array.isArray(H)){if(H[0]==="rest"||H[0]==="..."){if(typeof H[1]==="string")A.add(H[1])}else if(H[0]==="default"){if(typeof H[1]==="string")A.add(H[1])}else if(H[0]==="array"||H[0]==="object")this.collectVarsFromArray(H,A)}};if(Array.isArray(_))_.forEach(G);let Y=this.collectFunctionVariables(f),R=new Set([...Y].filter((H)=>!this.programVars.has(H)&&!this.reactiveVars?.has(H)&&!A.has(H)&&!this.scopeStack.some((O)=>O.has(H)))),Z=["return","throw","break","continue"],M=["for-in","for-of","for-as","while","loop"];if(this.scopeStack.push(new Set([...R,...A])),this.is(f,"block")){let H=this.unwrapBlock(f);if(W&&this.expansionAfterParams?.length>0)H=[...this.expansionAfterParams.map((D,I)=>{return`const ${typeof D==="string"?D:JSON.stringify(D)} = _rest[_rest.length - ${this.expansionAfterParams.length-I}]`}),...H],this.expansionAfterParams=null;if(this.restMiddleParam){let{restName:Q,afterParams:D}=this.restMiddleParam,I=D.length,P=[];if(D.forEach((K,X)=>{let E=typeof K==="string"?K:this.is(K,"default")?K[1]:JSON.stringify(K);P.push(`const ${E} = ${Q}[${Q}.length - ${I-X}]`)}),I>0)P.push(`${Q} = ${Q}.slice(0, -${I})`);H=[...P,...H],this.restMiddleParam=null}this.indentLevel++;let O=`{
424
- `;if(R.size>0)O+=this.indent()+`let ${Array.from(R).sort().join(", ")};
425
- `;let z=u.length>0&&H.length>0&&Array.isArray(H[0])&&H[0][0]==="super",q=(Q)=>{Q.forEach((D,I)=>{let P=I===Q.length-1,K=Array.isArray(D)?D[0]:null;if(!P&&K==="comprehension"){let[,L,B,h]=D;O+=this.indent()+this.emitComprehensionAsLoop(L,B,h)+`
426
- `;return}if(!$&&!w&&P&&K==="if"){let[L,B,...h]=D.slice(1),j=(p)=>this.is(p,"block")&&p.length>2;if(this.hasStatementInBranch(B)||h.some((p)=>this.hasStatementInBranch(p))||j(B)||h.some(j)){O+=this.emitIfElseWithEarlyReturns(D)+`
427
- `;return}}if(!$&&!w&&P&&K==="="){let[L,B]=D.slice(1);if(typeof L==="string"&&Array.isArray(B)){let h=B[0];if(h==="comprehension"||h==="for-in"){this.comprehensionTarget=L,O+=this.emit(B,"value"),this.comprehensionTarget=null,O+=this.indent()+`return ${L};
428
- `;return}}}let X=!$&&!w&&P&&!Z.includes(K)&&!M.includes(K)&&!this.hasExplicitControlFlow(D),E=X?"value":"statement",N=this.emit(D,E);if(X)O+=this.indent()+"return "+N+`;
429
- `;else O+=this.indent()+this.addSemicolon(D,N)+`
430
- `})};if(z){if(H.length===1&&!$)O+=this.indent()+"return "+this.emit(H[0],"value")+`;
431
- `;else O+=this.indent()+this.emit(H[0],"statement")+`;
432
- `;for(let D of u)O+=this.indent()+D+`;
433
- `;q(H.slice(1))}else{for(let Q of u)O+=this.indent()+Q+`;
434
- `;q(H)}if(w&&H.length>0){let Q=Array.isArray(H[H.length-1])?H[H.length-1][0]:null;if(!Z.includes(Q))O+=this.indent()+`return;
435
- `}return this.indentLevel--,O+=this.indent()+"}",this.scopeStack.pop(),this.sideEffectOnly=F,O}this.sideEffectOnly=F;let J;if($&&u.length>0){let H=Array.isArray(f)&&f[0]==="super",O=this.emit(f,"statement"),z=u.map((q)=>`${q};`).join(" ");J=H?`{ ${O}; ${z} }`:`{ ${z} ${O}; }`}else if($||this.hasExplicitControlFlow(f))J=`{ ${this.emit(f,"statement")}; }`;else if(Array.isArray(f)&&(Z.includes(f[0])||M.includes(f[0])))J=`{ ${this.emit(f,"statement")}; }`;else if(w)J=`{ ${this.emit(f,"statement")}; return; }`;else J=`{ return ${this.emit(f,"value")}; }`;return this.scopeStack.pop(),J}emitFunctionBody(f,_=[],U=!1){return this.emitBodyWithReturns(f,_,{sideEffectOnly:U,hasExpansionParams:this.expansionAfterParams?.length>0})}emitMethodBody(f,_=[],U=!1,w=[]){return this.emitBodyWithReturns(f,w,{autoAssignments:_,isConstructor:U})}emitBlockWithReturns(f){if(!Array.isArray(f)||f[0]!=="block")return this.emit(f,"statement");let _=this.unwrapBlock(f);return`{
431
+ `}return U}emitSuper(f,_){if(_.length===0){if(this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}()`;return"super"}let U=_.map((w)=>this.unwrap(this.emit(w,"value"))).join(", ");if(this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}(${U})`;return`super(${U})`}emitImport(f,_,U,w){if(_.length===1){let F=`import(${this.emit(_[0],"value")})`;if($1(w[0],"await")===!0)return`(await ${F})`;return F}if(this.options.skipImports)return"";if(_.length===3){let[F,A,Y]=_,G=this.addJsExtensionAndAssertions(Y);if(A[0]==="*"&&A.length===2)return`import ${F}, * as ${A[1]} from ${G}`;let Z=A.map((Q)=>Array.isArray(Q)&&Q.length===2?`${Q[0]} as ${Q[1]}`:Q).join(", ");return`import ${F}, { ${Z} } from ${G}`}let[u,$]=_,W=this.addJsExtensionAndAssertions($);if(typeof u==="string")return`import ${u} from ${W}`;if(Array.isArray(u)){if(u[0]==="*"&&u.length===2)return`import * as ${u[1]} from ${W}`;return`import { ${u.map((A)=>Array.isArray(A)&&A.length===2?`${A[0]} as ${A[1]}`:A).join(", ")} } from ${W}`}return`import ${this.emit(u,"value")} from ${W}`}emitExport(f,_){let[U]=_;if(this.options.skipExports){if(this.is(U,"=")){let w=this._componentName,u=this._componentTypeParams;if(this.is(U[2],"component"))this._componentName=c(U[1]),this._componentTypeParams=U[1]?.typeParams||"";let $=`const ${U[1]} = ${this.emit(U[2],"value")}`;return this._componentName=w,this._componentTypeParams=u,$}if(Array.isArray(U)&&U.every((w)=>typeof w==="string"))return"";return this.emit(U,"statement")}if(this.is(U,"=")){let w=this._componentName,u=this._componentTypeParams;if(this.is(U[2],"component"))this._componentName=c(U[1]),this._componentTypeParams=U[1]?.typeParams||"";let $=`export const ${U[1]} = ${this.emit(U[2],"value")}`;return this._componentName=w,this._componentTypeParams=u,$}if(Array.isArray(U)&&U.every((w)=>typeof w==="string"))return`export { ${U.join(", ")} }`;return`export ${this.emit(U,"statement")}`}emitExportDefault(f,_){let[U]=_;if(this.options.skipExports){if(this.is(U,"="))return`const ${U[1]} = ${this.emit(U[2],"value")}`;return this.emit(U,"statement")}if(this.is(U,"="))return`const ${U[1]} = ${this.emit(U[2],"value")};
432
+ export default ${U[1]}`;return`export default ${this.emit(U,"statement")}`}emitExportAll(f,_){if(this.options.skipExports)return"";return`export * from ${this.addJsExtensionAndAssertions(_[0])}`}emitExportFrom(f,_){if(this.options.skipExports)return"";let[U,w]=_,u=this.addJsExtensionAndAssertions(w);if(Array.isArray(U))return`export { ${U.map((W)=>Array.isArray(W)&&W.length===2?`${W[0]} as ${W[1]}`:W).join(", ")} } from ${u}`;return`export ${U} from ${u}`}emitDoIIFE(f,_){return`(${this.emit(_[0],"statement")})()`}emitRegex(f,_){return _.length===0?f:this.emit(_[0],"value")}emitTaggedTemplate(f,_){let[U,w]=_,u=this.emit(U,"value"),$=this.emit(w,"value");if($.startsWith("`"))return`${u}${$}`;if($.startsWith('"')||$.startsWith("'"))return`${u}\`${$.slice(1,-1)}\``;return`${u}\`${$}\``}emitString(f,_){let U="`";for(let w of _)if(w instanceof String)U+=this.extractStringContent(w);else if(typeof w==="string")if(w.startsWith('"')||w.startsWith("'")){if(this.options.debug)console.warn("[Rip] Unexpected quoted primitive in str:",w);U+=w.slice(1,-1)}else U+=w;else if(Array.isArray(w))if(w.length===1&&typeof w[0]==="string"&&!Array.isArray(w[0])){let u=w[0];U+=/^[\d"']/.test(u)?"${"+this.emit(u,"value")+"}":"${"+u+"}"}else{let u=w.length===1&&Array.isArray(w[0])?w[0]:w;U+="${"+this.emit(u,"value")+"}"}return U+"`"}findPostfixConditional(f){if(!Array.isArray(f))return null;let _=f[0];if(_==="if"&&f.length===3)return{type:_,condition:f[1],value:f[2]};if(_==="+"||_==="-"||_==="*"||_==="/")for(let U=1;U<f.length;U++){let w=this.findPostfixConditional(f[U]);if(w)return w.parentOp=_,w.operandIndex=U,w.otherOperands=f.slice(1).filter((u,$)=>$!==U-1),w}return null}rebuildWithoutConditional(f){let _=Array.isArray(f.value)&&f.value.length===1?f.value[0]:f.value;if(f.parentOp)return[f.parentOp,...f.otherOperands,_];return _}_tryPostfixCall(f,_,U){if(U!=="statement"||_.length!==1)return null;let w=this.findPostfixConditional(_[0]);if(!w)return null;let u=this.rebuildWithoutConditional(w),$=this.emit(f,"value"),W=this.emit(w.condition,"value"),F=this.emit(u,"value");return`if (${W}) ${$}(${F})`}_emitArgs(f){return f.map((_)=>this.unwrap(this.emit(_,"value"))).join(", ")}emitDestructuringPattern(f){return this.formatParam(f)}emitParamList(f){let _=f.findIndex((w)=>this.is(w,"expansion"));if(_!==-1){let w=f.slice(0,_),u=f.slice(_+1),$=w.map((W)=>this.formatParam(W)).join(", ");return this.expansionAfterParams=u,$?`${$}, ..._rest`:"..._rest"}let U=f.findIndex((w)=>this.is(w,"rest"));if(U!==-1&&U<f.length-1){let w=f.slice(0,U),u=f[U],$=f.slice(U+1),W=w.map((F)=>this.formatParam(F));return this.restMiddleParam={restName:u[1],afterParams:$,beforeCount:w.length},W.length>0?`${W.join(", ")}, ...${u[1]}`:`...${u[1]}`}return this.expansionAfterParams=null,this.restMiddleParam=null,f.map((w)=>this.formatParam(w)).join(", ")}formatParam(f){if(typeof f==="string")return f;if(f instanceof String)return f.valueOf();if(this.is(f,"rest"))return`...${f[1]}`;if(this.is(f,"default"))return`${f[1]} = ${this.emit(f[2],"value")}`;if(this.is(f,".")&&f[1]==="this")return f[2];if(this.is(f,"array"))return`[${f.slice(1).map((U)=>{if(U===",")return"";if(U==="...")return"";if(this.is(U,"..."))return`...${U[1]}`;if(this.is(U,"=")&&typeof U[1]==="string")return`${U[1]} = ${this.emit(U[2],"value")}`;if(typeof U==="string")return U;return this.formatParam(U)}).join(", ")}]`;if(this.is(f,"object"))return`{${f.slice(1).map((U)=>{if(this.is(U,"..."))return`...${U[1]}`;if(this.is(U,"default"))return`${U[1]} = ${this.emit(U[2],"value")}`;let[w,u,$]=U;if(w==="=")return`${u} = ${this.emit($,"value")}`;if(u===$)return u;return`${u}: ${this.formatParam($)}`}).join(", ")}}`;return JSON.stringify(f)}emitBodyWithReturns(f,_=[],U={}){let{sideEffectOnly:w=!1,autoAssignments:u=[],isConstructor:$=!1,hasExpansionParams:W=!1}=U,F=this.sideEffectOnly;this.sideEffectOnly=w;let A=new Set,Y=(K)=>{if(typeof K==="string")A.add(K);else if(Array.isArray(K)){if(K[0]==="rest"||K[0]==="..."){if(typeof K[1]==="string")A.add(K[1])}else if(K[0]==="default"){if(typeof K[1]==="string")A.add(K[1])}else if(K[0]==="array"||K[0]==="object")this.collectVarsFromArray(K,A)}};if(Array.isArray(_))_.forEach(Y);let G=this.collectFunctionVariables(f),Z=new Set([...G].filter((K)=>!this.programVars.has(K)&&!this.reactiveVars?.has(K)&&!A.has(K)&&!this.scopeStack.some((R)=>R.has(K)))),Q=["return","throw","break","continue"],J=["for-in","for-of","for-as","while","loop"];if(this.scopeStack.push(new Set([...Z,...A])),this.is(f,"block")){let K=this.unwrapBlock(f);if(W&&this.expansionAfterParams?.length>0)K=[...this.expansionAfterParams.map((H,X)=>{return`const ${typeof H==="string"?H:JSON.stringify(H)} = _rest[_rest.length - ${this.expansionAfterParams.length-X}]`}),...K],this.expansionAfterParams=null;if(this.restMiddleParam){let{restName:B,afterParams:H}=this.restMiddleParam,X=H.length,P=[];if(H.forEach((S,E)=>{let L=typeof S==="string"?S:this.is(S,"default")?S[1]:JSON.stringify(S);P.push(`const ${L} = ${B}[${B}.length - ${X-E}]`)}),X>0)P.push(`${B} = ${B}.slice(0, -${X})`);K=[...P,...K],this.restMiddleParam=null}let R=this._inlineVarsPending,z=new Set;if(Z.size>0&&K.length>0){if(z=this.classifyVarsForInlining(K,Z).inlineVars,z.size>0)this._inlineVarsPending=new Set(z)}this.indentLevel++;let q=`{
433
+ `,O=new Set([...Z].filter((B)=>!z.has(B)));if(O.size>0)q+=this.indent()+`let ${Array.from(O).sort().join(", ")};
434
+ `;let D=u.length>0&&K.length>0&&Array.isArray(K[0])&&K[0][0]==="super",I=(B)=>{B.forEach((H,X)=>{let P=X===B.length-1,S=Array.isArray(H)?H[0]:null;if(!P&&S==="comprehension"){let[,C,N,d]=H;q+=this.indent()+this.emitComprehensionAsLoop(C,N,d)+`
435
+ `;return}if(!$&&!w&&P&&S==="if"){let[C,N,...d]=H.slice(1),V=(b)=>this.is(b,"block")&&b.length>2;if(this.hasStatementInBranch(N)||d.some((b)=>this.hasStatementInBranch(b))||V(N)||d.some(V)){q+=this.emitIfElseWithEarlyReturns(H)+`
436
+ `;return}}if(!$&&!w&&P&&S==="="){let[C,N]=H.slice(1);if(typeof C==="string"&&Array.isArray(N)){let d=N[0];if(d==="comprehension"||d==="for-in"){if(this._inlineVarsPending?.delete(C))q+=this.indent()+`let ${C};
437
+ `;this.comprehensionTarget=C,q+=this.emit(N,"value"),this.comprehensionTarget=null,q+=this.indent()+`return ${C};
438
+ `;return}}if((typeof C==="string"||C instanceof String)&&this._inlineVarsPending?.has(c(C))){this._inlineVarsPending.delete(c(C));let d=this.emit(H,"statement");q+=this.indent()+"let "+this.addSemicolon(H,d)+`
439
+ `,q+=this.indent()+`return ${c(C)};
440
+ `;return}}let E=!$&&!w&&P&&!Q.includes(S)&&!J.includes(S)&&!this.hasExplicitControlFlow(H),L=E?"value":"statement",T=this.emit(H,L);if(E)q+=this.indent()+"return "+T+`;
441
+ `;else q+=this.indent()+this.addSemicolon(H,T)+`
442
+ `})};if(D){if(K.length===1&&!$)q+=this.indent()+"return "+this.emit(K[0],"value")+`;
443
+ `;else q+=this.indent()+this.emit(K[0],"statement")+`;
444
+ `;for(let H of u)q+=this.indent()+H+`;
445
+ `;I(K.slice(1))}else{for(let B of u)q+=this.indent()+B+`;
446
+ `;I(K)}if(w&&K.length>0){let B=Array.isArray(K[K.length-1])?K[K.length-1][0]:null;if(!Q.includes(B))q+=this.indent()+`return;
447
+ `}return this._inlineVarsPending=R,this.indentLevel--,q+=this.indent()+"}",this.scopeStack.pop(),this.sideEffectOnly=F,q}this.sideEffectOnly=F;let M;if($&&u.length>0){let K=Array.isArray(f)&&f[0]==="super",R=this.emit(f,"statement"),z=u.map((q)=>`${q};`).join(" ");M=K?`{ ${R}; ${z} }`:`{ ${z} ${R}; }`}else if($||this.hasExplicitControlFlow(f))M=`{ ${this.emit(f,"statement")}; }`;else if(Array.isArray(f)&&(Q.includes(f[0])||J.includes(f[0])))M=`{ ${this.emit(f,"statement")}; }`;else if(w)M=`{ ${this.emit(f,"statement")}; return; }`;else M=`{ return ${this.emit(f,"value")}; }`;return this.scopeStack.pop(),M}emitFunctionBody(f,_=[],U=!1){return this.emitBodyWithReturns(f,_,{sideEffectOnly:U,hasExpansionParams:this.expansionAfterParams?.length>0})}emitMethodBody(f,_=[],U=!1,w=[]){return this.emitBodyWithReturns(f,w,{autoAssignments:_,isConstructor:U})}emitBlockWithReturns(f){if(!Array.isArray(f)||f[0]!=="block")return this.emit(f,"statement");let _=this.unwrapBlock(f);return`{
436
448
  ${this.withIndent(()=>_.map((w,u)=>{let $=u===_.length-1,W=Array.isArray(w)?w[0]:null,F=$&&!["return","throw","break","continue"].includes(W),A=this.emit(w,F?"value":"statement");return F?this.indent()+"return "+A+";":this.indent()+A+";"})).join(`
437
449
  `)}
438
450
  ${this.indent()}}`}emitLoopBody(f){if(!Array.isArray(f))return`{ ${this.emit(f,"statement")}; }`;if(f[0]==="block"||Array.isArray(f[0])){let _=f[0]==="block"?f.slice(1):f;return`{
@@ -444,9 +456,9 @@ ${u}${$}${W.join(`
444
456
  `)}
445
457
  ${F}
446
458
  ${this.indent()}}`}return`{ if (${this.emit(_,"value")}) ${this.emit(f,"statement")}; }`}emitComprehensionWithTarget(f,_,U,w){let u="";u+=this.indent()+`${w} = [];
447
- `;let $=this.is(f,"block")&&f.length===2?f[1]:f;if(_.length===1){let[W,F,A,G]=_[0];if(W==="for-in"){let{header:Y,setup:R}=this._forInHeader(F,A,G);if(u+=this.indent()+Y+` {
448
- `,this.indentLevel++,R)u+=this.indent()+R+`
449
- `;if(U&&U.length>0)u+=this.indent()+`if (${U.map((Z)=>this.emit(Z,"value")).join(" && ")}) {
459
+ `;let $=this.is(f,"block")&&f.length===2?f[1]:f;if(_.length===1){let[W,F,A,Y]=_[0];if(W==="for-in"){let{header:G,setup:Z}=this._forInHeader(F,A,Y);if(u+=this.indent()+G+` {
460
+ `,this.indentLevel++,Z)u+=this.indent()+Z+`
461
+ `;if(U&&U.length>0)u+=this.indent()+`if (${U.map((Q)=>this.emit(Q,"value")).join(" && ")}) {
450
462
  `,this.indentLevel++;if(u+=this.indent()+`${w}.push(${this.unwrap(this.emit($,"value"))});
451
463
  `,U&&U.length>0)this.indentLevel--,u+=this.indent()+`}
452
464
  `;return this.indentLevel--,u+=this.indent()+`}
@@ -455,23 +467,23 @@ ${this.indent()}}`}return`{ if (${this.emit(_,"value")}) ${this.emit(f,"statemen
455
467
  `,this.indentLevel++,w+=this.indent()+this.emit(f,"statement")+`;
456
468
  `,this.indentLevel--,w+=this.indent()+`}
457
469
  `;else w+=this.indent()+this.emit(f,"statement")+`;
458
- `};if(_.length===1){let[W,F,A,G]=_[0];if(W==="for-in"){let{header:Y,setup:R}=this._forInHeader(F,A,G);if(w+=Y+` {
459
- `,this.indentLevel++,R)w+=this.indent()+R+`
460
- `;return $(),this.indentLevel--,w+=this.indent()+"}",w}if(W==="for-as"){let{header:Y}=this._forAsHeader(F,A,G);return w+=Y+` {
461
- `,this.indentLevel++,$(),this.indentLevel--,w+=this.indent()+"}",w}if(W==="for-of"){let{header:Y,own:R,vv:Z,oc:M,kvp:J}=this._forOfHeader(F,A,G);if(w+=Y+` {
462
- `,this.indentLevel++,R)w+=this.indent()+`if (!Object.hasOwn(${M}, ${J})) continue;
463
- `;if(Z)w+=this.indent()+`const ${Z} = ${M}[${J}];
470
+ `};if(_.length===1){let[W,F,A,Y]=_[0];if(W==="for-in"){let{header:G,setup:Z}=this._forInHeader(F,A,Y);if(w+=G+` {
471
+ `,this.indentLevel++,Z)w+=this.indent()+Z+`
472
+ `;return $(),this.indentLevel--,w+=this.indent()+"}",w}if(W==="for-as"){let{header:G}=this._forAsHeader(F,A,Y);return w+=G+` {
473
+ `,this.indentLevel++,$(),this.indentLevel--,w+=this.indent()+"}",w}if(W==="for-of"){let{header:G,own:Z,vv:Q,oc:J,kvp:M}=this._forOfHeader(F,A,Y);if(w+=G+` {
474
+ `,this.indentLevel++,Z)w+=this.indent()+`if (!Object.hasOwn(${J}, ${M})) continue;
475
+ `;if(Q)w+=this.indent()+`const ${Q} = ${J}[${M}];
464
476
  `;return $(),this.indentLevel--,w+=this.indent()+"}",w}}return this.emit(["comprehension",f,_,U],"value")}emitIfElseWithEarlyReturns(f){let[_,U,w,...u]=f,$="",W=this.emit(U,"value");$+=this.indent()+`if (${W}) {
465
- `,$+=this.withIndent(()=>this.emitBranchWithReturn(w)),$+=this.indent()+"}";for(let F of u)if($+=" else ",this.is(F,"if")){let[,A,G,...Y]=F;$+=`if (${this.emit(A,"value")}) {
466
- `,$+=this.withIndent(()=>this.emitBranchWithReturn(G)),$+=this.indent()+"}";for(let R of Y)$+=` else {
467
- `,$+=this.withIndent(()=>this.emitBranchWithReturn(R)),$+=this.indent()+"}"}else $+=`{
477
+ `,$+=this.withIndent(()=>this.emitBranchWithReturn(w)),$+=this.indent()+"}";for(let F of u)if($+=" else ",this.is(F,"if")){let[,A,Y,...G]=F;$+=`if (${this.emit(A,"value")}) {
478
+ `,$+=this.withIndent(()=>this.emitBranchWithReturn(Y)),$+=this.indent()+"}";for(let Z of G)$+=` else {
479
+ `,$+=this.withIndent(()=>this.emitBranchWithReturn(Z)),$+=this.indent()+"}"}else $+=`{
468
480
  `,$+=this.withIndent(()=>this.emitBranchWithReturn(F)),$+=this.indent()+"}";return $}emitBranchWithReturn(f){f=this.unwrapIfBranch(f);let _=this.unwrapBlock(f),U="";for(let w=0;w<_.length;w++){let u=w===_.length-1,$=_[w],W=Array.isArray($)?$[0]:null;if(u&&!(W==="return"||W==="throw"||W==="break"||W==="continue"))U+=this.indent()+`return ${this.emit($,"value")};
469
481
  `;else U+=this.indent()+this.emit($,"statement")+`;
470
- `}return U}emitIfAsExpression(f,_,U){if(this.is(_,"block")&&_.length>2||this.hasStatementInBranch(_)||U.some((F)=>this.is(F,"block")&&F.length>2||this.hasStatementInBranch(F)||this.hasNestedMultiStatement(F))){let F=this.containsAwait(f)||this.containsAwait(_)||U.some((G)=>this.containsAwait(G)),A=this.asyncIIFEOpen(F)+" ";A+=`if (${this.emit(f,"value")}) `,A+=this.emitBlockWithReturns(_);for(let G of U)if(A+=" else ",this.is(G,"if")){let[Y,R,Z,...M]=G;A+=`if (${this.emit(R,"value")}) `,A+=this.emitBlockWithReturns(Z);for(let J of M)if(A+=" else ",this.is(J,"if")){let[H,O,z,...q]=J;A+=`if (${this.emit(O,"value")}) `,A+=this.emitBlockWithReturns(z),U.push(...q)}else A+=this.emitBlockWithReturns(J)}else A+=this.emitBlockWithReturns(G);return A+" })()"}let u=this.extractExpression(this.unwrapIfBranch(_)),$=this.buildTernaryChain(U),W=this.emit(f,"value");if(this.is(f,"yield")||this.is(f,"await"))W=`(${W})`;return`(${W} ? ${u} : ${$})`}emitIfAsStatement(f,_,U){let w=`if (${this.unwrap(this.emit(f,"value"))}) `;w+=this.emit(this.unwrapIfBranch(_),"statement");for(let u of U)w+=" else "+this.emit(this.unwrapIfBranch(u),"statement");return w}emitSwitchCaseBody(f,_){let U="",w=this.hasExplicitControlFlow(f),u=this.unwrapBlock(f);if(w)for(let $ of u)U+=this.indent()+this.emit($,"statement")+`;
482
+ `}return U}emitIfAsExpression(f,_,U){if(this.is(_,"block")&&_.length>2||this.hasStatementInBranch(_)||U.some((F)=>this.is(F,"block")&&F.length>2||this.hasStatementInBranch(F)||this.hasNestedMultiStatement(F))){let F=this.containsAwait(f)||this.containsAwait(_)||U.some((Y)=>this.containsAwait(Y)),A=this.asyncIIFEOpen(F)+" ";A+=`if (${this.emit(f,"value")}) `,A+=this.emitBlockWithReturns(_);for(let Y of U)if(A+=" else ",this.is(Y,"if")){let[G,Z,Q,...J]=Y;A+=`if (${this.emit(Z,"value")}) `,A+=this.emitBlockWithReturns(Q);for(let M of J)if(A+=" else ",this.is(M,"if")){let[K,R,z,...q]=M;A+=`if (${this.emit(R,"value")}) `,A+=this.emitBlockWithReturns(z),U.push(...q)}else A+=this.emitBlockWithReturns(M)}else A+=this.emitBlockWithReturns(Y);return A+" })()"}let u=this.extractExpression(this.unwrapIfBranch(_)),$=this.buildTernaryChain(U),W=this.emit(f,"value");if(this.is(f,"yield")||this.is(f,"await"))W=`(${W})`;return`(${W} ? ${u} : ${$})`}emitIfAsStatement(f,_,U){let w=`if (${this.unwrap(this.emit(f,"value"))}) `;w+=this.emit(this.unwrapIfBranch(_),"statement");for(let u of U)w+=" else "+this.emit(this.unwrapIfBranch(u),"statement");return w}emitSwitchCaseBody(f,_){let U="",w=this.hasExplicitControlFlow(f),u=this.unwrapBlock(f);if(w)for(let $ of u)U+=this.indent()+this.emit($,"statement")+`;
471
483
  `;else if(_==="value")if(this.is(f,"block")&&f.length>2)for(let $=0;$<u.length;$++)if($===u.length-1)U+=this.indent()+`return ${this.emit(u[$],"value")};
472
484
  `;else U+=this.indent()+this.emit(u[$],"statement")+`;
473
485
  `;else U+=this.indent()+`return ${this.extractExpression(f)};
474
- `;else{if(u.length===1&&this.is(u[0],"if")&&!this.hasStatementInBranch(u[0])&&!this.hasNestedMultiStatement(u[0])){let[$,W,F,...A]=u[0],G=this.extractExpression(this.unwrapIfBranch(F)),Y=this.buildTernaryChain(A);U+=this.indent()+`(${this.unwrap(this.emit(W,"value"))} ? ${G} : ${Y});
486
+ `;else{if(u.length===1&&this.is(u[0],"if")&&!this.hasStatementInBranch(u[0])&&!this.hasNestedMultiStatement(u[0])){let[$,W,F,...A]=u[0],Y=this.extractExpression(this.unwrapIfBranch(F)),G=this.buildTernaryChain(A);U+=this.indent()+`(${this.unwrap(this.emit(W,"value"))} ? ${Y} : ${G});
475
487
  `}else if(this.is(f,"block")&&f.length>1)for(let $ of u)U+=this.indent()+this.emit($,"statement")+`;
476
488
  `;else U+=this.indent()+this.emit(f,"statement")+`;
477
489
  `;U+=this.indent()+`break;
@@ -481,11 +493,11 @@ ${this.indent()}}`}return`{ if (${this.emit(_,"value")}) ${this.emit(f,"statemen
481
493
  `;this.indentLevel--,w+=this.indent()+"}"}if(_){if(w+=` else {
482
494
  `,this.indentLevel++,U==="value")w+=this.indent()+`return ${this.extractExpression(_)};
483
495
  `;else for(let u of this.unwrapBlock(_))w+=this.indent()+this.emit(u,"statement")+`;
484
- `;this.indentLevel--,w+=this.indent()+"}"}if(U==="value"){let u=f.some(($)=>this.containsAwait($[1])||this.containsAwait($[2]))||_&&this.containsAwait(_);return this.asyncIIFE(u,w)}return w}asyncIIFE(f,_){return`${f?"await ":""}(${f?"async ":""}() => { ${_} })()`}asyncIIFEOpen(f){return`${f?"await ":""}(${f?"async ":""}() => {`}extractExpression(f){let _=this.unwrapBlock(f);return _.length>0?this.emit(_[_.length-1],"value"):"undefined"}unwrapBlock(f){if(!Array.isArray(f))return[f];if(f[0]==="block")return f.slice(1);if(Array.isArray(f[0])){if(typeof f[0][0]==="string")return[f];return f}return[f]}indent(){return this.indentString.repeat(this.indentLevel)}needsSemicolon(f,_){if(!_||_.endsWith(";"))return!1;if(!_.endsWith("}"))return!0;let U=Array.isArray(f)?f[0]:null;return!["def","class","if","for-in","for-of","for-as","while","loop","switch","try"].includes(U)}addSemicolon(f,_){return _+(this.needsSemicolon(f,_)?";":"")}formatStatements(f,_="statement"){return f.map((U)=>this.indent()+this.addSemicolon(U,this.emit(U,_)))}wrapForCondition(f){if(/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(f))return f;if(f.startsWith("(")&&f.endsWith(")"))return f;return`(${f})`}hasExplicitControlFlow(f){if(!Array.isArray(f))return!1;let _=f[0];if(_==="return"||_==="throw"||_==="break"||_==="continue")return!0;if(_==="block")return f.slice(1).some((U)=>Array.isArray(U)&&["return","throw","break","continue"].includes(U[0]));if(_==="switch"){let[,,U]=f;return U?.some((w)=>{return this.unwrapBlock(w[2]).some(($)=>Array.isArray($)&&["return","throw","break","continue"].includes($[0]))})}if(_==="if"){let[,,U,w]=f;return this.branchHasControlFlow(U)&&w&&this.branchHasControlFlow(w)}return!1}branchHasControlFlow(f){if(!Array.isArray(f))return!1;let _=this.unwrapBlock(f);if(_.length===0)return!1;let U=_[_.length-1];return Array.isArray(U)&&["return","throw","break","continue"].includes(U[0])}withIndent(f){this.indentLevel++;let _=f();return this.indentLevel--,_}is(f,_,U){if(!Array.isArray(f))return null;if((m(f[0])??f[0])!==_)return null;let w=f.slice(1);if(U!=null&&w.length!==U)return null;return w}unwrap(f){if(typeof f!=="string")return f;while(f.startsWith("(")&&f.endsWith(")")){let _=0,U=0,w=!0,u=!1;for(let $=0;$<f.length;$++){if(f[$]==="(")_++;if(f[$]===")")_--;if(f[$]==="["||f[$]==="{")U++;if(f[$]==="]"||f[$]==="}")U--;if(f[$]===","&&_===1&&U===0)u=!0;if(_===0&&$<f.length-1){w=!1;break}}if(u)w=!1;if(w)f=f.slice(1,-1);else break}return f}_findOptionalInTarget(f){if(!Array.isArray(f))return null;if(f[0]==="?.")return{guard:f[1],rewritten:[".",f[1],f[2]]};if(f[0]==="optindex")return{guard:f[1],rewritten:["[]",f[1],f[2]]};if(f[0]==="."||f[0]==="[]"){let _=this._findOptionalInTarget(f[1]);if(_)return{guard:_.guard,rewritten:[f[0],_.rewritten,f[2]]}}return null}unwrapLogical(f){if(typeof f!=="string")return f;while(f.startsWith("(")&&f.endsWith(")")){let _=0,U=1/0;for(let w=1;w<f.length-1;w++){if(f[w]==="(")_++;if(f[w]===")")_--;U=Math.min(U,_)}if(U>=0)f=f.slice(1,-1);else break}return f}unwrapIfBranch(f){if(Array.isArray(f)&&f.length===1&&(!Array.isArray(f[0])||f[0][0]!=="block"))return f[0];return f}flattenBinaryChain(f){if(!Array.isArray(f)||f.length<3)return f;let[_,...U]=f;if(_!=="&&"&&_!=="||")return f;let w=[],u=($)=>{if(Array.isArray($)&&$[0]===_)for(let W=1;W<$.length;W++)u($[W]);else w.push($)};for(let $ of U)u($);return[_,...w]}hasStatementInBranch(f){if(!Array.isArray(f))return!1;if(f.length===1&&Array.isArray(f[0]))return this.hasStatementInBranch(f[0]);let _=f[0];if(_==="return"||_==="throw"||_==="break"||_==="continue")return!0;if(_==="block")return f.slice(1).some((U)=>this.hasStatementInBranch(U));return!1}hasNestedMultiStatement(f){if(!Array.isArray(f))return!1;if(f[0]==="if"){let[_,U,w,...u]=f;return this.is(w,"block")&&w.length>2||u.some(($)=>this.hasNestedMultiStatement($))}return!1}buildTernaryChain(f){if(f.length===0)return"undefined";if(f.length===1)return this.extractExpression(this.unwrapIfBranch(f[0]));let _=f[0];if(this.is(_,"if")){let[U,w,u,...$]=_,W=this.extractExpression(this.unwrapIfBranch(u)),F=this.buildTernaryChain([...$,...f.slice(1)]);return`(${this.emit(w,"value")} ? ${W} : ${F})`}return this.extractExpression(this.unwrapIfBranch(_))}collectVarsFromArray(f,_){f.slice(1).forEach((U)=>{if(U===","||U==="...")return;if(typeof U==="string"){_.add(U);return}if(Array.isArray(U)){if(U[0]==="..."&&typeof U[1]==="string")_.add(U[1]);else if(U[0]==="array")this.collectVarsFromArray(U,_);else if(U[0]==="object")this.collectVarsFromObject(U,_)}})}collectVarsFromObject(f,_){f.slice(1).forEach((U)=>{if(!Array.isArray(U))return;if(U[0]==="..."&&typeof U[1]==="string"){_.add(U[1]);return}if(U.length>=2){let[w,u,$]=U;if(w==="="){if(typeof u==="string")_.add(u)}else if(typeof $==="string")_.add($);else if(Array.isArray($)){if($[0]==="array")this.collectVarsFromArray($,_);else if($[0]==="object")this.collectVarsFromObject($,_)}}})}extractStringContent(f){let _=m(f).slice(1,-1),U=t(f,"indent");if(U)_=_.replace(new RegExp(`\\n${U}`,"g"),`
485
- `);if(t(f,"initialChunk")&&_.startsWith(`
486
- `))_=_.slice(1);if(t(f,"finalChunk")&&_.endsWith(`
496
+ `;this.indentLevel--,w+=this.indent()+"}"}if(U==="value"){let u=f.some(($)=>this.containsAwait($[1])||this.containsAwait($[2]))||_&&this.containsAwait(_);return this.asyncIIFE(u,w)}return w}asyncIIFE(f,_){return`${f?"await ":""}(${f?"async ":""}() => { ${_} })()`}asyncIIFEOpen(f){return`${f?"await ":""}(${f?"async ":""}() => {`}extractExpression(f){let _=this.unwrapBlock(f);return _.length>0?this.emit(_[_.length-1],"value"):"undefined"}unwrapBlock(f){if(!Array.isArray(f))return[f];if(f[0]==="block")return f.slice(1);if(Array.isArray(f[0])){if(typeof f[0][0]==="string")return[f];return f}return[f]}indent(){return this.indentString.repeat(this.indentLevel)}needsSemicolon(f,_){if(!_||_.endsWith(";"))return!1;if(!_.endsWith("}"))return!0;let U=Array.isArray(f)?f[0]:null;return!["def","class","if","for-in","for-of","for-as","while","loop","switch","try"].includes(U)}addSemicolon(f,_){return _+(this.needsSemicolon(f,_)?";":"")}formatStatements(f,_="statement"){return f.map((U)=>this.indent()+this.addSemicolon(U,this.emit(U,_)))}wrapForCondition(f){if(/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(f))return f;if(f.startsWith("(")&&f.endsWith(")"))return f;return`(${f})`}hasExplicitControlFlow(f){if(!Array.isArray(f))return!1;let _=f[0];if(_==="return"||_==="throw"||_==="break"||_==="continue")return!0;if(_==="block")return f.slice(1).some((U)=>Array.isArray(U)&&["return","throw","break","continue"].includes(U[0]));if(_==="switch"){let[,,U]=f;return U?.some((w)=>{return this.unwrapBlock(w[2]).some(($)=>Array.isArray($)&&["return","throw","break","continue"].includes($[0]))})}if(_==="if"){let[,,U,w]=f;return this.branchHasControlFlow(U)&&w&&this.branchHasControlFlow(w)}return!1}branchHasControlFlow(f){if(!Array.isArray(f))return!1;let _=this.unwrapBlock(f);if(_.length===0)return!1;let U=_[_.length-1];return Array.isArray(U)&&["return","throw","break","continue"].includes(U[0])}withIndent(f){this.indentLevel++;let _=f();return this.indentLevel--,_}is(f,_,U){if(!Array.isArray(f))return null;if((c(f[0])??f[0])!==_)return null;let w=f.slice(1);if(U!=null&&w.length!==U)return null;return w}unwrap(f){if(typeof f!=="string")return f;while(f.startsWith("(")&&f.endsWith(")")){let _=0,U=0,w=!0,u=!1;for(let $=0;$<f.length;$++){if(f[$]==="(")_++;if(f[$]===")")_--;if(f[$]==="["||f[$]==="{")U++;if(f[$]==="]"||f[$]==="}")U--;if(f[$]===","&&_===1&&U===0)u=!0;if(_===0&&$<f.length-1){w=!1;break}}if(u)w=!1;if(w)f=f.slice(1,-1);else break}return f}_findOptionalInTarget(f){if(!Array.isArray(f))return null;if(f[0]==="?.")return{guard:f[1],rewritten:[".",f[1],f[2]]};if(f[0]==="optindex")return{guard:f[1],rewritten:["[]",f[1],f[2]]};if(f[0]==="."||f[0]==="[]"){let _=this._findOptionalInTarget(f[1]);if(_)return{guard:_.guard,rewritten:[f[0],_.rewritten,f[2]]}}return null}unwrapLogical(f){if(typeof f!=="string")return f;while(f.startsWith("(")&&f.endsWith(")")){let _=0,U=1/0;for(let w=1;w<f.length-1;w++){if(f[w]==="(")_++;if(f[w]===")")_--;U=Math.min(U,_)}if(U>=0)f=f.slice(1,-1);else break}return f}unwrapIfBranch(f){if(Array.isArray(f)&&f.length===1&&(!Array.isArray(f[0])||f[0][0]!=="block"))return f[0];return f}flattenBinaryChain(f){if(!Array.isArray(f)||f.length<3)return f;let[_,...U]=f;if(_!=="&&"&&_!=="||")return f;let w=[],u=($)=>{if(Array.isArray($)&&$[0]===_)for(let W=1;W<$.length;W++)u($[W]);else w.push($)};for(let $ of U)u($);return[_,...w]}hasStatementInBranch(f){if(!Array.isArray(f))return!1;if(f.length===1&&Array.isArray(f[0]))return this.hasStatementInBranch(f[0]);let _=f[0];if(_==="return"||_==="throw"||_==="break"||_==="continue")return!0;if(_==="block")return f.slice(1).some((U)=>this.hasStatementInBranch(U));return!1}hasNestedMultiStatement(f){if(!Array.isArray(f))return!1;if(f[0]==="if"){let[_,U,w,...u]=f;return this.is(w,"block")&&w.length>2||u.some(($)=>this.hasNestedMultiStatement($))}return!1}buildTernaryChain(f){if(f.length===0)return"undefined";if(f.length===1)return this.extractExpression(this.unwrapIfBranch(f[0]));let _=f[0];if(this.is(_,"if")){let[U,w,u,...$]=_,W=this.extractExpression(this.unwrapIfBranch(u)),F=this.buildTernaryChain([...$,...f.slice(1)]);return`(${this.emit(w,"value")} ? ${W} : ${F})`}return this.extractExpression(this.unwrapIfBranch(_))}collectVarsFromArray(f,_){f.slice(1).forEach((U)=>{if(U===","||U==="...")return;if(typeof U==="string"){_.add(U);return}if(Array.isArray(U)){if(U[0]==="..."&&typeof U[1]==="string")_.add(U[1]);else if(U[0]==="array")this.collectVarsFromArray(U,_);else if(U[0]==="object")this.collectVarsFromObject(U,_)}})}collectVarsFromObject(f,_){f.slice(1).forEach((U)=>{if(!Array.isArray(U))return;if(U[0]==="..."&&typeof U[1]==="string"){_.add(U[1]);return}if(U.length>=2){let[w,u,$]=U;if(w==="="){if(typeof u==="string")_.add(u)}else if(typeof $==="string")_.add($);else if(Array.isArray($)){if($[0]==="array")this.collectVarsFromArray($,_);else if($[0]==="object")this.collectVarsFromObject($,_)}}})}extractStringContent(f){let _=c(f).slice(1,-1),U=$1(f,"indent");if(U)_=_.replace(new RegExp(`\\n${U}`,"g"),`
497
+ `);if($1(f,"initialChunk")&&_.startsWith(`
498
+ `))_=_.slice(1);if($1(f,"finalChunk")&&_.endsWith(`
487
499
  `))_=_.slice(0,-1);return _}processHeregex(f){let _="",U=!1,w=0,u=()=>{let $=0,W=w-1;while(W>=0&&f[W]==="\\")$++,W--;return $%2===1};while(w<f.length){let $=f[w];if($==="["&&!u()){U=!0,_+=$,w++;continue}if($==="]"&&U&&!u()){U=!1,_+=$,w++;continue}if(U){_+=$,w++;continue}if(/\s/.test($)){w++;continue}if($==="#"){if(u()){_+=$,w++;continue}let W=w-1;while(W>=0&&f[W]==="\\")W--;if(W<w-1){_+=$,w++;continue}while(w<f.length&&f[w]!==`
488
- `)w++;continue}_+=$,w++}return _}addJsExtensionAndAssertions(f){if(f instanceof String)f=m(f);if(typeof f!=="string")return f;let U=f.startsWith('"')||f.startsWith("'")?f.slice(1,-1):f,w=U.startsWith("./")||U.startsWith("../"),u=U,$="";if(w){let W=U.lastIndexOf("/"),F=W>=0?U.substring(W+1):U;if(F.includes(".")){if(F.endsWith(".json"))$=" with { type: 'json' }"}else u=U+".js"}return`'${u}'`+$}containsIt(f){if(!f)return!1;if(f==="it"||f instanceof String&&m(f)==="it")return!0;if(typeof f!=="object")return!1;if(this.is(f,"def")||this.is(f,"->")||this.is(f,"=>"))return!1;if(Array.isArray(f))return f.some((_)=>this.containsIt(_));return!1}containsAwait(f){if(!f)return!1;if(f instanceof String&&t(f,"await")===!0)return!0;if(typeof f!=="object")return!1;if(this.is(f,"await"))return!0;if(this.is(f,"for-as")&&f[3]===!0)return!0;if(this.is(f,"def")||this.is(f,"->")||this.is(f,"=>")||this.is(f,"class"))return!1;if(Array.isArray(f))return f.some((_)=>this.containsAwait(_));return!1}containsYield(f){if(!f)return!1;if(typeof f!=="object")return!1;if(this.is(f,"yield")||this.is(f,"yield-from"))return!0;if(this.is(f,"def")||this.is(f,"->")||this.is(f,"=>")||this.is(f,"class"))return!1;if(Array.isArray(f))return f.some((_)=>this.containsYield(_));return!1}extractMemberName(f){if(this.is(f,".")&&f[1]==="this")return f[2];if(this.is(f,"computed"))return`[${this.emit(f[1],"value")}]`;return f}getReactiveRuntime(){return`// ============================================================================
500
+ `)w++;continue}_+=$,w++}return _}addJsExtensionAndAssertions(f){if(f instanceof String)f=c(f);if(typeof f!=="string")return f;let U=f.startsWith('"')||f.startsWith("'")?f.slice(1,-1):f,w=U.startsWith("./")||U.startsWith("../"),u=U,$="";if(w){let W=U.lastIndexOf("/"),F=W>=0?U.substring(W+1):U;if(F.includes(".")){if(F.endsWith(".json"))$=" with { type: 'json' }"}else u=U+".js"}return`'${u}'`+$}containsIt(f){if(!f)return!1;if(f==="it"||f instanceof String&&c(f)==="it")return!0;if(typeof f!=="object")return!1;if(this.is(f,"def")||this.is(f,"->")||this.is(f,"=>"))return!1;if(Array.isArray(f))return f.some((_)=>this.containsIt(_));return!1}containsAwait(f){if(!f)return!1;if(f instanceof String&&$1(f,"await")===!0)return!0;if(typeof f!=="object")return!1;if(this.is(f,"await"))return!0;if(this.is(f,"for-as")&&f[3]===!0)return!0;if(this.is(f,"def")||this.is(f,"->")||this.is(f,"=>")||this.is(f,"class"))return!1;if(Array.isArray(f))return f.some((_)=>this.containsAwait(_));return!1}containsYield(f){if(!f)return!1;if(typeof f!=="object")return!1;if(this.is(f,"yield")||this.is(f,"yield-from"))return!0;if(this.is(f,"def")||this.is(f,"->")||this.is(f,"=>")||this.is(f,"class"))return!1;if(Array.isArray(f))return f.some((_)=>this.containsYield(_));return!1}referencesVar(f,_){if(!f)return!1;if(f instanceof String)return c(f)===_;if(typeof f==="string")return f===_;if(!Array.isArray(f))return!1;let U=f[0],w=typeof U==="string"?U:U instanceof String?c(U):null;if(w==="def"||w==="->"||w==="=>"||w==="effect")return!1;if(w==="."||w==="?.")return this.referencesVar(f[1],_);if(w==="object"){for(let u=1;u<f.length;u++){let $=f[u];if(Array.isArray($)){if(this.is($,"...")){if(this.referencesVar($[1],_))return!0}else if($.length>=2){if(this.referencesVar($[$.length-1],_))return!0}}else if(this.referencesVar($,_))return!0}return!1}return f.some((u)=>this.referencesVar(u,_))}firstRefIsAssignment(f,_){let U=null,w=($)=>($ instanceof String?c($):$)===_,u=($,W)=>{if(U!==null)return;if(!$)return;if(!Array.isArray($)){if(w($))U="read";return}let F=$[0],A=typeof F==="string"?F:F instanceof String?c(F):null;if(A==="def"||A==="->"||A==="=>"||A==="effect")return;if(A==="="&&(typeof $[1]==="string"||$[1]instanceof String)&&c($[1])===_){if(W){U="read";return}U=this.referencesVar($[2],_)?"read":"write";return}if(w1.ASSIGNMENT_OPS.has(A)&&A!=="="&&(typeof $[1]==="string"||$[1]instanceof String)&&c($[1])===_){U="read";return}if(A==="."||A==="?."){u($[1],W);return}if(A==="object"){for(let Y=1;Y<$.length;Y++){let G=$[Y];if(Array.isArray(G)){if(this.is(G,"..."))u(G[1],!0);else if(G.length>=2)u(G[G.length-1],!0)}else u(G,!0)}return}if(A==="block"){for(let Y=1;Y<$.length;Y++)u($[Y],!1);return}if(A==="if"){u($[1],!0);for(let Y=2;Y<$.length;Y++)u($[Y],W);return}if(A==="for-in"||A==="for-of"||A==="for-as"){if(u($[2],!0),$.length>3)u($[$.length-1],!1);return}if(A==="while"){u($[1],!0),u($[2],!1);return}if(A==="try"){for(let Y=1;Y<$.length;Y++)u($[Y],!1);return}if(w1.ASSIGNMENT_OPS.has(A)){u($[2],!0);return}for(let Y=0;Y<$.length;Y++)u($[Y],!0)};return u(f,!1),U==="write"}allRefsInSingleBlock(f,_){if(!Array.isArray(f))return!1;let U=f[0],w=typeof U==="string"?U:U instanceof String?c(U):null;if(w==="if"){if(this.referencesVar(f[1],_))return!1;let u=0,$=null;for(let W=2;W<f.length;W++)if(this.referencesVar(f[W],_))u++,$=f[W];if(u!==1)return!1;return this.allRefsInSingleBlock($,_)}if(w==="block"){let u=0,$=null;for(let W=1;W<f.length;W++)if(this.referencesVar(f[W],_))u++,$=f[W];if(u!==1)return!1;if(Array.isArray($)&&$[0]==="="&&(typeof $[1]==="string"||$[1]instanceof String)&&c($[1])===_)return!0;return this.allRefsInSingleBlock($,_)}if(w==="for-in"||w==="for-of"||w==="for-as"){if(this.referencesVar(f[2],_))return!1;return!0}if(w==="while"){if(this.referencesVar(f[1],_))return!1;return!0}if(w==="try")return!0;return!1}classifyVarsForInlining(f,_){if(_.size===0)return{inlineVars:new Set,hoistVars:new Set(_)};let U=new Set,w=(F)=>{if(!Array.isArray(F))return;if(F[0]==="="&&F[1]instanceof String&&F[1].type&&_.has(c(F[1])))U.add(c(F[1]));for(let A=1;A<F.length;A++)w(F[A])};for(let F of f)w(F);let u=new Map;for(let F of _)u.set(F,[]);for(let F=0;F<f.length;F++)for(let A of _)if(this.referencesVar(f[F],A))u.get(A).push(F);let $=new Set,W=new Set;for(let[F,A]of u){if(A.length===0){W.add(F);continue}if(U.has(F)){W.add(F);continue}let Y=A[0],G=f[Y];if(Array.isArray(G)&&G[0]==="="&&(typeof G[1]==="string"||G[1]instanceof String)&&c(G[1])===F&&!this.referencesVar(G[2],F))$.add(F);else if(A.length===1&&!this.is(G,"switch")&&this.allRefsInSingleBlock(G,F)&&this.firstRefIsAssignment(G,F))$.add(F);else W.add(F)}return{inlineVars:$,hoistVars:W}}extractMemberName(f){if(this.is(f,".")&&f[1]==="this")return f[2];if(this.is(f,"computed"))return`[${this.emit(f[1],"value")}]`;return f}getReactiveRuntime(){return`// ============================================================================
489
501
  // Rip Reactive Runtime
490
502
  // A minimal, fine-grained reactivity system
491
503
  //
@@ -714,13 +726,13 @@ if (typeof globalThis !== 'undefined') {
714
726
  }
715
727
 
716
728
  // === End Reactive Runtime ===
717
- `}}class I1{constructor(f={}){this.options={showTokens:!1,showSExpr:!1,...f}}compile(f,_){if(_)this.options={...this.options,..._};let U=null,w=f.split(`
718
- `),u=w.findIndex((H)=>H==="__DATA__");if(u!==-1){let H=w.slice(u+1);U=H.length>0?H.join(`
729
+ `}}class T1{constructor(f={}){this.options={showTokens:!1,showSExpr:!1,...f}}compile(f,_){if(_)this.options={...this.options,..._};let U=null,w=f.split(`
730
+ `),u=w.findIndex((R)=>R==="__DATA__");if(u!==-1){let R=w.slice(u+1);U=R.length>0?R.join(`
719
731
  `)+`
720
732
  `:"",f=w.slice(0,u).join(`
721
- `)}let W=new R1().tokenize(f);if(this.options.showTokens)W.forEach((H)=>console.log(`${H[0].padEnd(12)} ${JSON.stringify(H[1])}`)),console.log();let F=null,A=null;if(this.options.types==="emit"||this.options.types==="check"||this.options.types===!0)A=[...W];W=W.filter((H)=>H[0]!=="TYPE_DECL");while(W.length>0&&W[0][0]==="TERMINATOR")W.shift();if(W.every((H)=>H[0]==="TERMINATOR")){if(A)F=n1(A,["program"],f);return{tokens:W,sexpr:["program"],code:"",dts:F,data:U,reactiveVars:{}}}z1.lexer={tokens:W,pos:0,setInput:function(){},lex:function(){if(this.pos>=this.tokens.length)return 1;let H=this.tokens[this.pos++],O=H[1];if(H.data)O=new String(O),Object.assign(O,H.data);return this.text=O,this.loc=H.loc,H[0]}};let G;try{G=z1.parse(f)}catch(H){if(/\?\s*\([^)]*\?[^)]*:[^)]*\)\s*:/.test(f)||/\?\s+\w+\s+\?\s+/.test(f))throw Error("Nested ternary operators are not supported. Use if/else statements instead.");throw H}if(this.options.showSExpr)console.log(W1(G,0,!0)),console.log();let Y=null;if(this.options.sourceMap){let H=(this.options.filename||"output")+".js",O=this.options.filename||"input.rip";Y=new t1(H,O,f)}let R=new f1({dataSection:U,source:f,skipPreamble:this.options.skipPreamble,skipRuntimes:this.options.skipRuntimes,skipExports:this.options.skipExports,skipImports:this.options.skipImports,skipDataPart:this.options.skipDataPart,stubComponents:this.options.stubComponents,reactiveVars:this.options.reactiveVars,sourceMap:Y}),Z=R.compile(G),M=Y?Y.toJSON():null,J=Y?Y.toReverseMap():null;if(M&&this.options.sourceMap==="inline"){let H=typeof Buffer<"u"?Buffer.from(M).toString("base64"):btoa(M);Z+=`
722
- //# sourceMappingURL=data:application/json;base64,${H}`}else if(M&&this.options.filename)Z+=`
723
- //# sourceMappingURL=${this.options.filename}.js.map`;if(A)F=n1(A,G,f);return{tokens:W,sexpr:G,code:Z,dts:F,map:M,reverseMap:J,data:U,reactiveVars:R.reactiveVars}}compileToJS(f){return this.compile(f).code}compileToSExpr(f){return this.compile(f).sexpr}}C2(f1,R1);f1.prototype.emitEnum=D2;function y1(f,_={}){return new I1(_).compile(f)}function Y1(f,_={}){return new I1(_).compileToJS(f)}function B1(){return`globalThis.abort ??= (msg) => { if (msg) console.error(msg); process.exit(1); };
733
+ `)}let $=new J1,W;try{W=$.tokenize(f)}catch(R){throw L1(R,f,this.options.filename)}if(this.options.showTokens)W.forEach((R)=>console.log(`${R[0].padEnd(12)} ${JSON.stringify(R[1])}`)),console.log();let F=null,A=null;if(this.options.types==="emit"||this.options.types==="check"||this.options.types===!0)A=[...W];if(W=W.filter((R)=>R[0]!=="TYPE_DECL"),$.typeRefNames?.size>0){let R=$.typeRefNames,z=new Set,q=!1;for(let O of W){if(O[0]==="IMPORT"){q=!0;continue}if(q&&O[0]==="TERMINATOR"){q=!1;continue}if(q)continue;if(O[0]==="IDENTIFIER")z.add(O[1])}for(let O=W.length-1;O>=0;O--){if(W[O][0]!=="IMPORT")continue;let D=O+1;if(D>=W.length)continue;if(W[D][0]==="CALL_START"||W[D][0]==="(")continue;if(W[D][0]==="STRING")continue;let I=[];while(D<W.length&&W[D][0]!=="FROM"&&W[D][0]!=="TERMINATOR"){if(W[D][0]==="IDENTIFIER")I.push(W[D][1]);D++}if(I.length===0)continue;if(I.some((H)=>z.has(H)))continue;if(!I.some((H)=>R.has(H)))continue;let B=D;while(B<W.length&&W[B][0]!=="TERMINATOR")B++;if(B<W.length)B++;W.splice(O,B-O)}}while(W.length>0&&W[0][0]==="TERMINATOR")W.shift();if(W.every((R)=>R[0]==="TERMINATOR")){if(A)F=r1(A,["program"],f);return{tokens:W,sexpr:["program"],code:"",dts:F,data:U,reactiveVars:{}}}let Y=null;M1.lexer={tokens:W,pos:0,setInput:function(){},lex:function(){if(this.pos>=this.tokens.length)return 1;let R=this.tokens[this.pos++],z=R[1];if(R.data)z=new String(z),Object.assign(z,R.data);return this.text=z,this.loc=R.loc,this.line=R.loc?.r,Y=R.loc,R[0]}};let G;try{G=M1.parse(f)}catch(R){if(/\?\s*\([^)]*\?[^)]*:[^)]*\)\s*:/.test(f)||/\?\s+\w+\s+\?\s+/.test(f))throw new W1("Nested ternary operators are not supported",{code:"E_PARSE",source:f,file:this.options.filename,suggestion:"Use if/else statements instead.",phase:"parser"});let z=L1(R,f,this.options.filename);if(z.phase==="parser"&&Y)z.line=Y.r??z.line,z.column=Y.c??z.column,z.length=Y.n||1;throw z}if(this.options.showSExpr)console.log(Z1(G,0,!0)),console.log();let Z=null;if(this.options.sourceMap){let R=(this.options.filename||"output")+".js",z=this.options.filename||"input.rip";Z=new U2(R,z,f)}let Q=new w1({dataSection:U,source:f,filename:this.options.filename,skipPreamble:this.options.skipPreamble,skipRuntimes:this.options.skipRuntimes,skipExports:this.options.skipExports,skipImports:this.options.skipImports,skipDataPart:this.options.skipDataPart,stubComponents:this.options.stubComponents,reactiveVars:this.options.reactiveVars,sourceMap:Z}),J=Q.compile(G),M=Z?Z.toJSON():null,K=Z?Z.toReverseMap():null;if(M&&this.options.sourceMap==="inline"){let R=typeof Buffer<"u"?Buffer.from(M).toString("base64"):btoa(M);J+=`
734
+ //# sourceMappingURL=data:application/json;base64,${R}`}else if(M&&this.options.filename)J+=`
735
+ //# sourceMappingURL=${this.options.filename}.js.map`;if(A)F=r1(A,G,f);return{tokens:W,sexpr:G,code:J,dts:F,map:M,reverseMap:K,data:U,reactiveVars:Q.reactiveVars}}compileToJS(f){return this.compile(f).code}compileToSExpr(f){return this.compile(f).sexpr}}V2(w1,J1);w1.prototype.emitEnum=X2;function l1(f,_={}){return new T1(_).compile(f)}function Q1(f,_={}){return new T1(_).compileToJS(f)}function V1(){return`globalThis.abort ??= (msg) => { if (msg) console.error(msg); process.exit(1); };
724
736
  globalThis.assert ??= (v, msg) => { if (!v) throw new Error(msg || "Assertion failed"); };
725
737
  globalThis.exit ??= (code) => process.exit(code || 0);
726
738
  globalThis.kind ??= (v) => v != null ? (v.constructor?.name || Object.prototype.toString.call(v).slice(8, -1)).toLowerCase() : String(v);
@@ -733,17 +745,17 @@ globalThis.sleep ??= (ms) => new Promise(r => setTimeout(r, ms));
733
745
  globalThis.todo ??= (msg) => { throw new Error(msg || "Not implemented"); };
734
746
  globalThis.warn ??= console.warn;
735
747
  globalThis.zip ??= (...a) => a[0].map((_, i) => a.map(b => b[i]));
736
- `}function L1(){return new f1({}).getReactiveRuntime()}function N1(){return new f1({}).getComponentRuntime()}var c2="3.13.134",j2="2026-04-04@08:49:20GMT";if(typeof globalThis<"u"){if(!globalThis.__rip)Function(L1())();if(!globalThis.__ripComponent)Function(N1())()}var O4=(f)=>{let _=f.match(/^[ \t]*(?=\S)/gm),U=Math.min(...(_||[]).map((w)=>w.length));return f.replace(RegExp(`^[ ]{${U}}`,"gm"),"").trim()};async function y2(){let f=[],_=document.querySelector('script[src$="rip.min.js"], script[src$="rip.js"]'),U=_?.getAttribute("data-src");if(U){for(let w of U.trim().split(/\s+/))if(w)f.push({url:w})}for(let w of document.querySelectorAll('script[type="text/rip"]'))if(w.src)f.push({url:w.src});else{let u=O4(w.textContent);if(u)f.push({code:u})}if(f.length>0){let w=await Promise.allSettled(f.map(async(A)=>{if(!A.url)return;let G=await fetch(A.url);if(!G.ok)throw Error(`${A.url} (${G.status})`);if(A.url.endsWith(".rip"))A.code=await G.text();else{let Y=await G.json();A.bundle=Y}}));for(let A of w)if(A.status==="rejected")console.warn("Rip: fetch failed:",A.reason.message);let u=[],$=[];for(let A of f)if(A.bundle)u.push(A.bundle);else if(A.code)$.push(A);let W=_?.getAttribute("data-router");if(W!=null&&u.length>0){let A={skipRuntimes:!0,skipExports:!0,skipImports:!0};if($.length>0){let Y="";for(let R of $)try{Y+=Y1(R.code,A)+`
737
- `}catch(Z){console.error(`Rip compile error in ${R.url||"inline"}:`,Z.message)}if(Y)try{await(0,eval)(`(async()=>{
738
- ${Y}
739
- })()`)}catch(R){console.error("Rip runtime error:",R)}}let G=D1.modules?.["ui.rip"];if(G?.launch){let Y=u[u.length-1],R=_.getAttribute("data-persist"),Z={bundle:Y,hash:W==="hash"};if(R!=null)Z.persist=R==="local"?"local":!0;await G.launch("",Z)}}else{let A=[];for(let R of u){for(let[Z,M]of Object.entries(R.components||{}))A.push({code:M,url:Z});if(R.data){let Z=_?.getAttribute("data-state"),M={};if(Z)try{M=JSON.parse(Z)}catch{}Object.assign(M,R.data),_?.setAttribute("data-state",JSON.stringify(M))}}A.push(...$);let G={skipRuntimes:!0,skipExports:!0,skipImports:!0},Y=[];for(let R of A){if(!R.code)continue;try{let Z=Y1(R.code,G);Y.push({js:Z,url:R.url||"inline"})}catch(Z){console.error(`Rip compile error in ${R.url||"inline"}:`,Z.message)}}if(!globalThis.__ripApp&&_){let R=globalThis.stash;if(R){let Z={},M=_.getAttribute("data-state");if(M)try{Z=JSON.parse(M)}catch(O){console.error("Rip: invalid data-state JSON:",O.message)}let J=R({data:Z});if(globalThis.__ripApp=J,typeof window<"u")window.app=J;let H=_.getAttribute("data-persist");if(H!=null&&globalThis.persistStash)globalThis.persistStash(J,{local:H==="local"})}}if(Y.length>0){let R=Y.map((M)=>M.js).join(`
740
- `),Z=_?.getAttribute("data-mount");if(Z){let M=_.getAttribute("data-target")||"body";R+=`
741
- ${Z}.mount(${JSON.stringify(M)});`}try{await(0,eval)(`(async()=>{
742
- ${R}
743
- })()`),document.body.classList.add("ready")}catch(M){if(M instanceof SyntaxError){console.error(`Rip syntax error in combined output: ${M.message}`);for(let J of Y)try{Function(`(async()=>{
744
- ${J.js}
745
- })()`)}catch(H){console.error(` → source: ${J.url}`,H.message)}}else console.error("Rip runtime error:",M)}}}}if(_?.hasAttribute("data-reload")&&!globalThis.__ripLaunched){let w=!1,u=1000,$=30000,W=()=>{let F=new EventSource("/watch");F.addEventListener("connected",()=>{if(u=1000,w)location.reload();w=!0}),F.addEventListener("reload",(A)=>{if(A.data==="styles"){let G=Date.now(),Y=0;if(document.querySelectorAll('link[rel="stylesheet"]').forEach((R)=>{if(new URL(R.href).origin!==location.origin)return;let Z=new URL(R.href);Z.searchParams.set("_r",G),R.href=Z.toString(),Y++}),!Y)location.reload()}else location.reload()}),F.onerror=()=>{F.close(),setTimeout(W,u),u=Math.min(u*2,$)}};W()}}async function D1(f){for(let[W,F]of Object.entries(D1.modules))if(f.includes(W))return F;let _=await fetch(f).then((W)=>{if(!W.ok)throw Error(`importRip: ${f} (${W.status})`);return W.text()}),U=Y1(_),w=`// ${f}
746
- `,u=new Blob([w+U],{type:"application/javascript"});return await import(URL.createObjectURL(u))}D1.modules={};function b2(f){try{let _=f.replace(/^/gm," "),w=Y1(`do ->
747
- ${_}`).replace(/^let\s+[^;]+;\s*\n\s*/m,"");w=w.replace(/^const\s+(\w+)\s*=/gm,"globalThis.$1 =");let u=(0,eval)(w);if(u&&typeof u.then==="function")return u.then(($)=>{if($!==void 0)globalThis._=$;return $});if(u!==void 0)globalThis._=u;return u}catch(_){console.error("Rip compilation error:",_.message);return}}if(typeof globalThis<"u")globalThis.rip=b2,globalThis.importRip=D1,globalThis.compileToJS=Y1,globalThis.__ripExports={compile:y1,compileToJS:Y1,formatSExpr:W1,getStdlibCode:B1,VERSION:c2,BUILD_DATE:j2,getReactiveRuntime:L1,getComponentRuntime:N1};if(typeof document<"u")globalThis.__ripScriptsReady=new Promise((f)=>{let _=()=>y2().then(f);if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",()=>queueMicrotask(_));else queueMicrotask(_)});var l1={};R2(l1,{throttle:()=>I4,stash:()=>Z3,setContext:()=>A3,raw:()=>_2,persistStash:()=>z3,launch:()=>L4,isStash:()=>q4,hold:()=>B4,hasContext:()=>U3,getContext:()=>_3,delay:()=>M3,debounce:()=>E4,createRouter:()=>D3,createResource:()=>P4,createRenderer:()=>J3,createComponents:()=>Q3});var g2,e1,w2,O1,Z1,v1,v2,J1,e,l2,x2,U2,m2,k2,q1,$1,i2,n2,d2,p2,r2,o2,a2,s2,u2,T1,h1,F2,t2,e2,b1,g1,u3,f3,$3,f2,$2,_3,w3,W2,U3,S1,A2,F3,W3,A3,Y3,G3,Y2,R3;globalThis.abort??=(f)=>{if(f)console.error(f);process.exit(1)};globalThis.assert??=(f,_)=>{if(!f)throw Error(_||"Assertion failed")};globalThis.exit??=(f)=>process.exit(f||0);globalThis.kind??=(f)=>f!=null?(f.constructor?.name||Object.prototype.toString.call(f).slice(8,-1)).toLowerCase():String(f);globalThis.noop??=()=>{};globalThis.p??=console.log;globalThis.pp??=(f)=>{return console.log(JSON.stringify(f,null,2)),f};globalThis.raise??=(f,_)=>{throw _!==void 0?new f(_):Error(f)};globalThis.rand??=(f,_)=>_!==void 0?(f>_&&([f,_]=[_,f]),Math.floor(Math.random()*(_-f+1)+f)):f?Math.floor(Math.random()*f):Math.random();globalThis.sleep??=(f)=>new Promise((_)=>setTimeout(_,f));globalThis.todo??=(f)=>{throw Error(f||"Not implemented")};globalThis.warn??=console.warn;globalThis.zip??=(...f)=>f[0].map((_,U)=>f.map((w)=>w[U]));({__state:e,__effect:J1,__batch:v2}=globalThis.__rip);({setContext:A3,getContext:_3,hasContext:U3}=globalThis.__ripComponent||{});v1=Symbol("stash");Z1=Symbol("signals");O1=Symbol("raw");e1=Symbol("persisted");w2=new WeakMap;u2=0;F2=e(0);W2=function(f,_){let U;if(!f[Z1])Object.defineProperty(f,Z1,{value:new Map,enumerable:!1});if(U=f[Z1].get(_),!U)U=e(f[_]),f[Z1].set(_,U);return U};S1=function(f){return W2(f,Symbol.for("keys"))};R3=function(f){let _;if(!(f!=null&&typeof f==="object"))return f;if(f[v1])return f;if(f instanceof Date||f instanceof RegExp||f instanceof Map||f instanceof Set||f instanceof Promise)return f;if(_=w2.get(f),_)return _;return A2(f)};A2=function(f){let _,U;return U=null,_={get:function(w,u){let $,W;if(u===v1)return!0;if(u===O1)return w;if(typeof u==="symbol")return Reflect.get(w,u);if(u==="length"&&Array.isArray(w))return S1(w).value,w.length;if(u==="get")return function(F){return Y3(U,F)};if(u==="set")return function(F,A){return G3(U,F,A)};if($=W2(w,u),W=$.value,W!=null&&typeof W==="object")return R3(W);return W},set:function(w,u,$){let W,F;if(W=w[u],F=$?.[O1]?$[O1]:$,F===W)return!0;if(w[u]=F,w[Z1]?.has(u))w[Z1].get(u).value=F;if(W===void 0&&F!==void 0)S1(w).value=++u2;return F2.value++,!0},deleteProperty:function(w,u){let $;if(delete w[u],$=w[Z1]?.get(u),$!=null)$.value=void 0;return S1(w).value=++u2,!0},ownKeys:function(w){return S1(w).value,Reflect.ownKeys(w)}},U=new Proxy(f,_),w2.set(f,U),U};g2=/([./][^./\[\s]+|\[[-+]?\d+\]|\[(?:"[^"]+"|'[^']+')\])/;Y2=function(f){let _,U,w,u,$;w=("."+f).split(g2),w.shift(),$=[],U=0;while(U<w.length){if(u=w[U],_=u[0],_==="."||_==="/")$.push(u.slice(1));else if(_==="[")if(u[1]==='"'||u[1]==="'")$.push(u.slice(2,-2));else $.push(+u.slice(1,-1));U+=2}return $};Y3=function(f,_){let U,w;w=Y2(_),U=f;for(let u of w){if(U==null)return;U=U[u]}return U};G3=function(f,_,U){let w,u;u=Y2(_),w=f;for(let $=0;$<u.length;$++){let W=u[$];if($===u.length-1)w[W]=U;else{if(w[W]==null)w[W]={};w=w[W]}}return U};var Z3=function(f={}){return A2(f)},_2=function(f){return f?.[O1]?f[O1]:f},q4=function(f){return f?.[v1]===!0},z3=function(f,_={}){let U,w,u,$,W,F;if(F=_2(f)||f,F[e1])return;F[e1]=!0,$=_.local?localStorage:sessionStorage,W=_.key||"__rip_app";try{if(w=$.getItem(W),w){u=JSON.parse(w);for(let A in u){let G=u[A];f.data[A]=G}}}catch{}return U=function(){return(()=>{try{return $.setItem(W,JSON.stringify(_2(f.data)))}catch{return null}})()},J1(function(){let A;return F2.value,A=setTimeout(U,2000),function(){return clearTimeout(A)}}),window.addEventListener("beforeunload",U)},P4=function(f,_={}){let U,w,u,$,W;if(U=e(_.initial||null),u=e(!1),w=e(null),$=async function(){let F;return u.value=!0,w.value=null,await(async()=>{try{return F=await f(),U.value=F}catch(A){return w.value=A}finally{u.value=!1}})()},W={data:void 0,loading:void 0,error:void 0,refetch:$},Object.defineProperty(W,"data",{get:function(){return U.value}}),Object.defineProperty(W,"loading",{get:function(){return u.value}}),Object.defineProperty(W,"error",{get:function(){return w.value}}),!_.lazy)$();return W};h1=function(f){return typeof f==="function"?f:function(){return f.value}};T1=function(f,_){let U;return U={read:function(){return f.read()}},Object.defineProperty(U,"value",{get:function(){return f.value},set:function(w){return _.value=w}}),U};var M3=function(f,_){let U,w;return U=h1(_),w=e(!!U()),J1(function(){let u;if(U())return u=setTimeout(function(){return w.value=!0},f),function(){return clearTimeout(u)};else return w.value=!1}),typeof _!=="function"?T1(w,_):w},E4=function(f,_){let U,w;return U=h1(_),w=e(U()),J1(function(){let u,$;return $=U(),u=setTimeout(function(){return w.value=$},f),function(){return clearTimeout(u)}}),typeof _!=="function"?T1(w,_):w},I4=function(f,_){let U,w,u;return U=h1(_),u=e(U()),w=0,J1(function(){let $,W,F,A;if(A=U(),$=Date.now(),W=f-($-w),W<=0)return u.value=A,w=$;else return F=setTimeout(function(){return u.value=U(),w=Date.now()},W),function(){return clearTimeout(F)}}),typeof _!=="function"?T1(u,_):u},B4=function(f,_){let U,w;return U=h1(_),w=e(!!U()),J1(function(){let u;if(U())return w.value=!0;else return u=setTimeout(function(){return w.value=!1},f),function(){return clearTimeout(u)}}),typeof _!=="function"?T1(w,_):w},Q3=function(){let f,_,U,w;return _=new Map,w=[],f=new Map,U=function(u,$){for(let W of w)W(u,$)},{read:function(u){return _.get(u)},write:function(u,$){let W;return W=!_.has(u),_.set(u,$),f.delete(u),U(W?"create":"change",u)},del:function(u){return _.delete(u),f.delete(u),U("delete",u)},exists:function(u){return _.has(u)},size:function(){return _.size},list:function(u=""){let $,W,F;F=[],$=u?u+"/":"";for(let[A]of _)if(A.startsWith($)){if(W=A.slice($.length),W.includes("/"))continue;F.push(A)}return F},listAll:function(u=""){let $,W;W=[],$=u?u+"/":"";for(let[F]of _)if(F.startsWith($))W.push(F);return W},load:function(u){for(let $ in u){let W=u[$];_.set($,W)}},watch:function(u){return w.push(u),function(){return w.splice(w.indexOf(u),1)}},getCompiled:function(u){return f.get(u)},setCompiled:function(u,$){return f.set(u,$)}}};$3=function(f){let _;if(_=f.replace(/\.rip$/,""),_=_.replace(/\[\.\.\.(\w+)\]/g,"*$1"),_=_.replace(/\[(\w+)\]/g,":$1"),_==="index")return"/";return _=_.replace(/\/index$/,""),"/"+_};W3=function(f){let _,U;return _=[],U=f.replace(/\*(\w+)/g,function(w,u){return _.push(u),"(.+)"}).replace(/:(\w+)/g,function(w,u){return _.push(u),"([^/]+)"}),{regex:new RegExp("^"+U+"$"),names:_}};F3=function(f,_){let U,w;for(let u of _)if(U=f.match(u.regex.regex),U){w={};for(let $=0;$<u.regex.names.length;$++){let W=u.regex.names[$];w[W]=decodeURIComponent(U[$+1])}return{route:u,params:w}}return null};b1=function(f,_="components"){let U,w,u,$,W,F,A,G,Y;A=[],u=new Map,U=f.listAll(_);for(let R of U){if(F=R.slice(_.length+1),!F.endsWith(".rip"))continue;if($=F.split("/").pop(),$==="_layout.rip"){w=F==="_layout.rip"?"":F.slice(0,-12),u.set(w,R);continue}if($.startsWith("_"))continue;if(G=F.split("/"),G.length>1&&G.some(function(Z,M){return M<G.length-1&&Z.startsWith("_")}))continue;Y=$3(F),W=W3(Y),A.push({pattern:Y,regex:W,file:R,rel:F})}return A.sort(function(R,Z){let M,J,H,O;if(J=(R.pattern.match(/:/g)||[]).length,O=(Z.pattern.match(/:/g)||[]).length,M=R.pattern.includes("*")?1:0,H=Z.pattern.includes("*")?1:0,M!==H)return M-H;if(J!==O)return J-O;return R.pattern.localeCompare(Z.pattern)}),{routes:A,layouts:u}};w3=function(f,_,U){let w,u,$,W;if(w=[],$=f.slice(_.length+1),W=$.split("/"),u="",U.has(""))w.push(U.get(""));for(let F=0;F<W.length;F++){let A=W[F];if(F===W.length-1)break;if(u=u?u+"/"+A:A,U.has(u))w.push(U.get(u))}return w};var D3=function(f,_={}){let U,w,u,$,W,F,A,G,Y,R,Z,M,J,H,O,z,q,Q,D,I,P;if(q=_.root||"components",Y=_.base||"",R=_.hash||!1,J=_.onError||null,D=function(K){return Y&&K.startsWith(Y)?K.slice(Y.length)||"/":K},G=function(K){return Y?Y+K:K},O=function(){let K;if(R){if(K=location.hash.slice(1),!K)return"/";return K[0]==="/"?K:"/"+K}else return location.pathname+location.search+location.hash},P=function(K){return R?K==="/"?location.pathname:"#"+K.slice(1):G(K)},W=e(D(R?O():location.pathname)),$=e({}),A=e(null),w=e([]),F=e({}),U=e(""),u=M3(100,e(!1)),I=b1(f,q),Z=new Set,f.watch(function(K,X){if(!X.startsWith(q+"/"))return;return I=b1(f,q)}),z=function(K){let X,E,N,L,B;if(L=K.split("?")[0].split("#")[0],E=D(L),E=E[0]==="/"?E:"/"+E,N=K.split("?")[1]?.split("#")[0]||"",X=K.includes("#")?K.split("#")[1]:"",B=F3(E,I.routes),B){v2(function(){return W.value=E,$.value=B.params,A.value=B.route,w.value=w3(B.route.file,q,I.layouts),F.value=Object.fromEntries(new URLSearchParams(N)),U.value=X});for(let h of Z)h(Q.current);return!0}if(J)J({status:404,path:E});return!1},H=function(){return z(O())},typeof window<"u")window.addEventListener("popstate",H);if(M=function(K){let X,E,N;if(K.button!==0||K.metaKey||K.ctrlKey||K.shiftKey||K.altKey)return;E=K.target;while(E&&E.tagName!=="A")E=E.parentElement;if(!E?.href)return;if(N=new URL(E.href,location.origin),N.origin!==location.origin)return;if(E.target==="_blank"||E.hasAttribute("data-external"))return;return K.preventDefault(),X=R&&N.hash?N.hash.slice(1)||"/":N.pathname+N.search+N.hash,Q.push(X)},typeof document<"u")document.addEventListener("click",M);return Q={push:function(K){return z(K)?history.pushState(null,"",P(W.read())):void 0},replace:function(K){return z(K)?history.replaceState(null,"",P(W.read())):void 0},back:function(){return history.back()},forward:function(){return history.forward()},current:void 0,path:void 0,params:void 0,route:void 0,layouts:void 0,query:void 0,hash:void 0,navigating:void 0,onNavigate:function(K){return Z.add(K),function(){return Z.delete(K)}},rebuild:function(){return I=b1(f,q)},routes:void 0,init:function(){return z(O()),Q},destroy:function(){if(typeof window<"u")window.removeEventListener("popstate",H);if(typeof document<"u")document.removeEventListener("click",M);return Z.clear()}},Object.defineProperty(Q,"current",{get:function(){return{path:W.value,params:$.value,route:A.value,layouts:w.value,query:F.value,hash:U.value}}}),Object.defineProperty(Q,"path",{get:function(){return W.value}}),Object.defineProperty(Q,"params",{get:function(){return $.value}}),Object.defineProperty(Q,"route",{get:function(){return A.value}}),Object.defineProperty(Q,"layouts",{get:function(){return w.value}}),Object.defineProperty(Q,"query",{get:function(){return F.value}}),Object.defineProperty(Q,"hash",{get:function(){return U.value}}),Object.defineProperty(Q,"navigating",{get:function(){return u.value},set:function(K){return u.value=K}}),Object.defineProperty(Q,"routes",{get:function(){return I.routes}}),Q};t2=function(f,_){if(f.length!==_.length)return!1;for(let U=0;U<f.length;U++)if(f[U]!==_[U])return!1;return!0};$2=function(f){for(let _ in f){let U=f[_];if(typeof U==="function"&&(U.prototype?.mount||U.prototype?._create))return U}return typeof f.default==="function"?f.default:void 0};f2=function(f){let _;_={};for(let U in f){let w=f[U];if(typeof w==="function"&&(w.prototype?.mount||w.prototype?._create))_[U]=w}return _};f3=function(f){let _;return _=f.split("/").pop().replace(/\.rip$/,""),_.replace(/(^|[-_])([a-z])/g,function(U,w,u){return u.toUpperCase()})};e2=function(f,_="components"){let U,w,u;w={};for(let $ of f.listAll(_)){if(!$.endsWith(".rip"))continue;if(U=$.split("/").pop(),U.startsWith("_"))continue;if(u=f3($),w[u])console.warn(`[Rip] Component name collision: ${u} (${w[u]} vs ${$})`);w[u]=$}return w};g1=async function(f,_,U=null,w=null,u=null){let $,W,F,A,G,Y,R,Z,M,J,H,O;if(U&&w){if(W=U.getCompiled(w),W)return W}if(R=_(f),u){J={};for(let z in u.map){let q=u.map[z];if(q!==w&&R.includes(`new ${z}(`)){if(!u.classes[z]){if(A=U.read(q),A){F=await g1(A,_,U,q,u),G=f2(F);for(let Q in G){let D=G[Q];u.classes[Q]=D}}}if(u.classes[z])J[z]=!0}}if(M=Object.keys(J),M.length>0)H=`const {${M.join(", ")}} = globalThis['${u.key}'];
748
- `,R=H+R}if(Y=w?`// ${w}
749
- `:"",$=new Blob([Y+R],{type:"application/javascript"}),O=URL.createObjectURL($),Z=await import(O),u){G=f2(Z);for(let z in G){let q=G[z];u.classes[z]=q}}if(U&&w)U.setCompiled(w,Z);return Z};var J3=function(f={}){let _,U,w,u,$,W,F,A,G,Y,R,Z,M,J,H,O,z,q,Q,D,I,P;if({router:D,app:_,components:$,resolver:Q,compile:w,target:I,onError:z}=f,W=typeof I==="string"?document.querySelector(I):I||document.getElementById("app"),!W)W=document.createElement("div"),W.id="app",document.body.appendChild(W);return W.style.opacity="0",F=null,Y=null,G=null,A=[],M=[],H=W,Z=0,R=null,u=new Map,J=f.cacheSize||10,U=function(){let K,X;if(F&&Y){if(F.beforeUnmount)F.beforeUnmount();if(u.set(Y,F),u.size>J){if(X=u.keys().next().value,K=u.get(X),K.unmounted)K.unmounted();u.delete(X)}return F=null,Y=null}},P=function(){U();for(let K=M.length-1;K>=0;K--){let X=M[K];if(X.beforeUnmount)X.beforeUnmount();if(X.unmounted)X.unmounted();X._target?.remove()}return M=[],H=W},$.watch(function(K,X){let E;if(u.has(X)){if(E=u.get(X),E.unmounted)E.unmounted();return u.delete(X)}}),O=async function(K){let X,E,N,L,B,h,j,S,p,T,V,C,l,n,c,y,b,g,i,d,r,v;if({route:i,params:y,layouts:S,query:g}=K,!i)return;if(i.file===Y&&JSON.stringify(y)===JSON.stringify(G))return;return G=y,L=++Z,D.navigating=!0,await(async()=>{try{if(r=$.read(i.file),!r){if(z)z({status:404,message:`File not found: ${i.file}`});D.navigating=!1;return}if(C=await g1(r,w,$,i.file,Q),L!==Z){D.navigating=!1;return}if(X=$2(C),!X){if(z)z({status:500,message:`No component found in ${i.file}`});D.navigating=!1;return}if(V=!t2(S,A),n=F?._target,V)P();else U();if(l=V?W:H,V&&S.length>0){W.innerHTML="",l=W;for(let k of S){if(T=$.read(k),!T)continue;if(p=await g1(T,w,$,k,Q),L!==Z){D.navigating=!1;return}if(E=$2(p),!E)continue;if(h=new E({app:_,params:y,router:D}),h.beforeMount)h.beforeMount();v=document.createElement("div"),v.setAttribute("data-layout",k),l.appendChild(v),h.mount(v),M.push(h),d=v.querySelector("#content")||v,l=d}A=[...S],H=l}else if(V)W.innerHTML="",A=[],H=W;if(N=u.get(i.file),N)u.delete(i.file),l.appendChild(N._target),F=N,Y=i.file;else{if(c=document.createElement("div"),c.setAttribute("data-component",i.file),l.appendChild(c),j=new X({app:_,params:y,query:g,router:D}),j.beforeMount)j.beforeMount();if(j.mount(c),F=j,Y=i.file,j.load)await j.load(y,g)}return n?.remove(),D.navigating=!1,W.style.opacity==="0"?document.fonts.ready.then(function(){return requestAnimationFrame(function(){return W.style.transition="opacity 150ms ease-in",W.style.opacity="1"})}):void 0}catch(k){if(D.navigating=!1,W.style.opacity="1",console.error(`Renderer: error mounting ${i.file}:`,k),z)z({status:500,message:k.message,error:k});B=!1;for(let x=M.length-1;x>=0;x--){let s=M[x];if(s.onError)try{s.onError(k),B=!0;break}catch(o){console.error("Renderer: error boundary failed:",o)}}return(()=>{if(!B)return b=document.createElement("pre"),b.style.cssText="color:red;padding:1em",b.textContent=k.stack||k.message,W.innerHTML="",W.appendChild(b)})()}})()},q={start:function(){return R=J1(function(){let K;return K=D.current,K.route?O(K):void 0}),D.init(),q},stop:function(){if(P(),R)R(),R=null;return W.innerHTML=""},remount:function(){let K;return K=D.current,K.route?O(K):void 0},cache:u},q};u3=function(f){let _,U,w;return w=1000,U=30000,_=function(){let u;return u=new EventSource(f),u.addEventListener("connected",function(){return w=1000,console.log("[Rip] Hot reload connected")}),u.addEventListener("reload",function(){return console.log("[Rip] Reloading..."),location.reload()}),u.addEventListener("css",function(){for(let $ of document.querySelectorAll('link[rel="stylesheet"]'))f=new URL($.href),f.searchParams.set("_t",Date.now()),$.href=f.toString()}),u.onerror=function(){return u.close(),setTimeout(_,w),w=Math.min(w*2,U)}},_()};var L4=async function(f="",_={}){let U,w,u,$,W,F,A,G,Y,R,Z,M,J,H,O,z,q;if(globalThis.__ripLaunched=!0,typeof f==="object")_=f,f="";if(f=f.replace(/\/+$/,""),q=_.target||"#app",F=_.compile||null,M=_.persist||!1,R=_.hash||!1,!F)F=globalThis?.compileToJS||null;if(typeof document<"u"&&!document.querySelector(q))A=document.createElement("div"),A.id=q.replace(/^#/,""),document.body.prepend(A);if(_.bundle)u=_.bundle;else if(_.bundleUrl){if(Z={},Y=`__rip_etag_${_.bundleUrl}`,$=sessionStorage.getItem(Y),$)Z["If-None-Match"]=$;if(H=await fetch(_.bundleUrl,{headers:Z}),H.status===304)u=JSON.parse(sessionStorage.getItem(`${Y}_data`));else if(H.ok){if(u=await H.json(),G=H.headers.get("etag"),G)sessionStorage.setItem(Y,G),sessionStorage.setItem(`${Y}_data`,JSON.stringify(u))}else throw Error(`launch: ${_.bundleUrl} (${H.status})`)}else throw Error("launch: no bundle or bundleUrl provided");if(U=Z3({components:{},routes:{},data:{}}),globalThis.__ripApp=U,u.data)U.data=u.data;if(u.routes)U.routes=u.routes;if(M&&typeof sessionStorage<"u")z3(U,{local:M==="local",key:`__rip_${f}`});if(w=Q3(),u.components)w.load(u.components);if(W=`__rip_${f.replace(/\//g,"_")||"app"}`,O={map:e2(w),classes:{},key:W},typeof globalThis<"u")globalThis[W]=O.classes;if(U.data.title&&typeof document<"u")document.title=U.data.title;if(z=D3(w,{root:"components",base:f,hash:R,onError:function(Q){return console.error(`[Rip] Error ${Q.status}: ${Q.message||Q.path}`)}}),J=J3({router:z,app:U,components:w,resolver:O,compile:F,target:q,onError:function(Q){return console.error(`[Rip] ${Q.message}`,Q.error)}}),J.start(),u.data?.watch)u3(`${f}/watch`);if(typeof window<"u")window.app=U,window.__RIP__={app:U,components:w,router:z,renderer:J,cache:J.cache,version:"0.3.0"};return{app:U,components:w,router:z,renderer:J}};$1=function(f,_){if(!_)return;return f.preventDefault(),f.stopPropagation(),_()};globalThis.__ariaLastFocusedEl??=null;if(typeof document<"u"&&!globalThis.__ariaFocusTrackerBound)document.addEventListener("focusin",function(f){return globalThis.__ariaLastFocusedEl=f.target},!0),globalThis.__ariaFocusTrackerBound=!0;m2=function(f,_){if(f.isComposing)return;return(()=>{switch(f.key){case"ArrowDown":return $1(f,_.next);case"ArrowUp":return $1(f,_.prev);case"Home":case"PageUp":return $1(f,_.first);case"End":case"PageDown":return $1(f,_.last);case"Enter":case" ":return $1(f,_.select);case"Escape":return $1(f,_.dismiss);case"Tab":return _.tab?.();default:return f.key.length===1?_.char?.(f.key):void 0}})()};i2=function(f,_,U,w=[],u=null){let $,W,F;if(!f)return;return $=function(A){return typeof A==="function"?A():A},W=(A)=>{return![$(_),...w.map($)].some(function(G){return G?.contains(A.target)})?U():void 0},F=(A)=>{if($(_)?.contains(A.target))return;return u?u():U()},document.addEventListener("mousedown",W),window.addEventListener("scroll",F,!0),function(){return document.removeEventListener("mousedown",W),window.removeEventListener("scroll",F,!0)}};n2=function(f=250){let _;return _=0,{block:function(U=f){return _=Date.now()+U},canOpen:function(){return Date.now()>=_}}};x2=function(f,_,U,w=null){let u,$,W,F,A,G,Y,R,Z,M,J;if(F=function(H){return typeof H==="function"?H():H},u=function(){let H,O;if(H=document.activeElement,H&&H!==document.body)return H;if(O=globalThis.__ariaLastFocusedEl,O?.isConnected!==!1)return O;return null},W=F(_),!W)return;if(!Object.hasOwn(HTMLElement.prototype,"togglePopover"))return;if(Y=null,J=function(H){if(H){W.hidden=!1;try{W.inert=!1}catch{}return W.removeAttribute("aria-hidden")}else{try{W.inert=!0}catch{}return W.setAttribute("aria-hidden","true"),W.hidden=!0}},R=function(){let H,O;if(O=Y,Y=null,!O?.focus)return;return H=function(z=6){if(O.isConnected===!1)return;try{O.focus({preventScroll:!0})}catch{O.focus()}if(document.activeElement===O||z<=1)return;return setTimeout(function(){return H(z-1)},16)},requestAnimationFrame(function(){return H()})},A=function(H){let O;if(O=H.newState==="open",O)Y=F(w)||u(),J(!0);else J(!1),R();return U?.(O)},W.addEventListener("toggle",A),Z=W.matches(":popover-open"),$=!!f,Z!==$){if(M=F(w),$)Y=M||u(),J(!0);G=M&&$?{force:$,source:M}:{force:$};try{W.togglePopover(G)}catch{}}else J($);return function(){return W.removeEventListener("toggle",A)}};l2=function(f,_,U,w=!0){let u,$,W,F,A,G,Y,R;if(W=function(Z){return typeof Z==="function"?Z():Z},u=function(){let Z,M;if(Z=document.activeElement,Z&&Z!==document.body)return Z;if(M=globalThis.__ariaLastFocusedEl,M?.isConnected!==!1)return M;return null},$=W(_),!$?.showModal)return;if(G=null,R=function(Z){if(Z){$.hidden=!1;try{$.inert=!1}catch{}return $.removeAttribute("aria-hidden")}else{try{$.inert=!0}catch{}return $.setAttribute("aria-hidden","true"),$.hidden=!0}},Y=function(){let Z,M;if(M=G,G=null,!M?.focus)return;return Z=function(J=6){if(M.isConnected===!1)return;try{M.focus({preventScroll:!0})}catch{M.focus()}if(document.activeElement===M||J<=1)return;return setTimeout(function(){return Z(J-1)},16)},requestAnimationFrame(function(){return Z()})},F=function(Z){if(!w){Z.preventDefault();return}return U?.(!1)},A=function(){return U?.(!1),R(!1),Y()},$.addEventListener("cancel",F),$.addEventListener("close",A),f&&!$.open){if(!G)G=u();R(!0);try{$.showModal()}catch{}}else if(!f&&$.open)$.close();else R(!!f);return function(){return $.removeEventListener("cancel",F),$.removeEventListener("close",A)}};r2=function(f,_,U="vertical"){let w,u;if(f.isComposing)return;return u=U!=="horizontal",w=U!=="vertical",(()=>{switch(f.key){case"ArrowDown":return u?$1(f,_.next):void 0;case"ArrowUp":return u?$1(f,_.prev):void 0;case"ArrowRight":return w?$1(f,_.next):void 0;case"ArrowLeft":return w?$1(f,_.prev):void 0;case"Home":case"PageUp":return $1(f,_.first);case"End":case"PageDown":return $1(f,_.last);case"Enter":case" ":return $1(f,_.select);case"Escape":return $1(f,_.dismiss);default:return f.key.length===1?_.char?.(f.key):void 0}})()};p2=function(f,_,U=4,w=!0){let u,$;if(!(f&&_))return;if($=f.getBoundingClientRect(),_.style.position="fixed",_.style.left=`${$.left}px`,_.style.top=`${$.bottom+U}px`,_.style.minWidth=`${$.width}px`,u=_.getBoundingClientRect(),u.bottom>window.innerHeight)_.style.top=`${$.top-u.height-U}px`;if(u.right>window.innerWidth)_.style.left=`${window.innerWidth-u.width-U}px`;return w?_.style.visibility="visible":void 0};var N4='a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"])';o2=function(f){let _;return _=function(U){let w,u,$;if(U.key!=="Tab")return;if($=Array.from(f.querySelectorAll(N4)).filter(function(W){return W.offsetParent!==null}),!$.length)return;return w=$[0],u=$[$.length-1],U.shiftKey?document.activeElement===w?(U.preventDefault(),u.focus()):void 0:document.activeElement===u?(U.preventDefault(),w.focus()):void 0},f.addEventListener("keydown",_),function(){return f.removeEventListener("keydown",_)}};s2=function(f,_){let U,w;if(!f)return;if(w=f.querySelector("h1,h2,h3,h4,h5,h6"),w)w.id??=`${_}-title`,f.setAttribute("aria-labelledby",w.id);if(U=f.querySelector("p"),U)return U.id??=`${_}-desc`,f.setAttribute("aria-describedby",U.id)};q1=[];k2=function(f){let _;if(_=window.scrollY,q1.push({instance:f,scrollY:_}),q1.length===1)return document.body.style.position="fixed",document.body.style.top=`-${_}px`,document.body.style.width="100%"};a2=function(f){let _,U;if(_=q1.findIndex(function(w){return w.instance===f}),_<0)return;if({scrollY:U}=q1.splice(_,1)[0],!q1.length)return document.body.style.position="",document.body.style.top="",document.body.style.width="",window.scrollTo(0,U)};U2=function(){let f,_,U;return(()=>{try{if(!document?.createElement)return!1;return f=document.createElement("div"),_=document.createElement("div"),f.style.cssText="position:fixed;top:100px;left:100px;width:10px;height:10px;anchor-name:--probe",_.style.cssText="position:fixed;inset:auto;margin:0;position-anchor:--probe;position-area:bottom start;width:10px;height:10px",document.body.appendChild(f),document.body.appendChild(_),U=_.getBoundingClientRect(),f.remove(),_.remove(),U.top>50}catch{return!1}})()}();d2=function(f,_,U={}){let w,u,$,W,F,A,G;if(!(f&&_))return;if(F=U.placement??"bottom start",W=U.offset??4,u=U.matchWidth??!1,U2){switch($=`--anchor-${_.id||Math.random().toString(36).slice(2,8)}`,f.style.anchorName=$,_.style.positionAnchor=$,_.style.position="fixed",_.style.inset="auto",_.style.margin="0",_.style.positionArea=F,_.style.positionTry="flip-block, flip-inline, flip-block flip-inline",_.style.positionVisibility="anchors-visible",[G]=F.split(" "),_.style.marginTop="",_.style.marginBottom="",_.style.marginLeft="",_.style.marginRight="",G){case"bottom":_.style.marginTop=`${W}px`;break;case"top":_.style.marginBottom=`${W}px`;break;case"left":_.style.marginRight=`${W}px`;break;case"right":_.style.marginLeft=`${W}px`;break}return u?_.style.minWidth="anchor-size(width)":void 0}else{switch(A=f.getBoundingClientRect(),_.style.position="fixed",_.style.inset="auto",_.style.margin="0",[G,w]=F.split(" "),w??="start",G){case"bottom":_.style.top=`${A.bottom+W}px`;break;case"top":_.style.bottom=`${window.innerHeight-A.top+W}px`;break;case"left":_.style.right=`${window.innerWidth-A.left+W}px`;break;case"right":_.style.left=`${A.right+W}px`;break}if(Array.isArray(["bottom","top"])?["bottom","top"].includes(G):(G in["bottom","top"]))switch(w){case"start":_.style.left=`${A.left}px`;break;case"center":_.style.left=`${A.left+A.width/2}px`,_.style.transform="translateX(-50%)";break;case"end":_.style.right=`${window.innerWidth-A.right}px`;break}else switch(w){case"start":_.style.top=`${A.top}px`;break;case"center":_.style.top=`${A.top+A.height/2}px`,_.style.transform="translateY(-50%)";break;case"end":_.style.bottom=`${window.innerHeight-A.bottom}px`;break}return u?_.style.minWidth=`${A.width}px`:void 0}};globalThis.__aria??={listNav:m2,rovingNav:r2,popupDismiss:i2,popupGuard:n2,bindPopover:x2,bindDialog:l2,positionBelow:p2,trapFocus:o2,wireAria:s2,lockScroll:k2,unlockScroll:a2,position:d2,hasAnchor:U2};globalThis.ARIA??=globalThis.__aria;D1.modules["ui.rip"]=l1;for(let[f,_]of Object.entries(l1))if(typeof _==="function")globalThis[f]=_;})();
748
+ `}function C1(){return new w1({}).getReactiveRuntime()}function h1(){return new w1({}).getComponentRuntime()}var C2="3.13.135",h2="2026-04-10@10:00:31GMT";if(typeof globalThis<"u"){if(!globalThis.__rip)Function(C1())();if(!globalThis.__ripComponent)Function(h1())()}var A4=(f)=>{let _=f.match(/^[ \t]*(?=\S)/gm),U=Math.min(...(_||[]).map((w)=>w.length));return f.replace(RegExp(`^[ ]{${U}}`,"gm"),"").trim()};async function b2(){let f=[],_=document.querySelector('script[src$="rip.min.js"], script[src$="rip.js"]'),U=_?.getAttribute("data-src");if(U){for(let w of U.trim().split(/\s+/))if(w)f.push({url:w})}for(let w of document.querySelectorAll('script[type="text/rip"]'))if(w.src)f.push({url:w.src});else{let u=A4(w.textContent);if(u)f.push({code:u})}if(f.length>0){let w=await Promise.allSettled(f.map(async(A)=>{if(!A.url)return;let Y=await fetch(A.url);if(!Y.ok)throw Error(`${A.url} (${Y.status})`);if(A.url.endsWith(".rip"))A.code=await Y.text();else{let G=await Y.json();A.bundle=G}}));for(let A of w)if(A.status==="rejected")console.warn("Rip: fetch failed:",A.reason.message);let u=[],$=[];for(let A of f)if(A.bundle)u.push(A.bundle);else if(A.code)$.push(A);let W=_?.getAttribute("data-router");if(W!=null&&u.length>0){let A={skipRuntimes:!0,skipExports:!0,skipImports:!0};if($.length>0){let G="";for(let Z of $)try{G+=Q1(Z.code,A)+`
749
+ `}catch(Q){console.error(q1(Q,{source:Z.code,file:Z.url||"inline",color:!1}))}if(G)try{await(0,eval)(`(async()=>{
750
+ ${G}
751
+ })()`)}catch(Z){console.error("Rip runtime error:",Z)}}let Y=P1.modules?.["ui.rip"];if(Y?.launch){let G=u[u.length-1],Z=_.getAttribute("data-persist"),Q={bundle:G,hash:W==="hash"};if(Z!=null)Q.persist=Z==="local"?"local":!0;await Y.launch("",Q)}}else{let A=[];for(let Z of u){for(let[Q,J]of Object.entries(Z.components||{}))A.push({code:J,url:Q});if(Z.data){let Q=_?.getAttribute("data-state"),J={};if(Q)try{J=JSON.parse(Q)}catch{}Object.assign(J,Z.data),_?.setAttribute("data-state",JSON.stringify(J))}}A.push(...$);let Y={skipRuntimes:!0,skipExports:!0,skipImports:!0},G=[];for(let Z of A){if(!Z.code)continue;try{let Q=Q1(Z.code,Y);G.push({js:Q,url:Z.url||"inline"})}catch(Q){console.error(q1(Q,{source:Z.code,file:Z.url||"inline",color:!1}))}}if(!globalThis.__ripApp&&_){let Z=globalThis.stash;if(Z){let Q={},J=_.getAttribute("data-state");if(J)try{Q=JSON.parse(J)}catch(R){console.error("Rip: invalid data-state JSON:",R.message)}let M=Z({data:Q});if(globalThis.__ripApp=M,typeof window<"u")window.app=M;let K=_.getAttribute("data-persist");if(K!=null&&globalThis.persistStash)globalThis.persistStash(M,{local:K==="local"})}}if(G.length>0){let Z=G.map((J)=>J.js).join(`
752
+ `),Q=_?.getAttribute("data-mount");if(Q){let J=_.getAttribute("data-target")||"body";Z+=`
753
+ ${Q}.mount(${JSON.stringify(J)});`}try{await(0,eval)(`(async()=>{
754
+ ${Z}
755
+ })()`),document.body.classList.add("ready")}catch(J){if(J instanceof SyntaxError){console.error(`Rip syntax error in combined output: ${J.message}`);for(let M of G)try{Function(`(async()=>{
756
+ ${M.js}
757
+ })()`)}catch(K){console.error(` → source: ${M.url}`,K.message)}}else console.error("Rip runtime error:",J)}}}}if(_?.hasAttribute("data-reload")&&!globalThis.__ripLaunched){let w=!1,u=1000,$=30000,W=()=>{let F=new EventSource("/watch");F.addEventListener("connected",()=>{if(u=1000,w)location.reload();w=!0}),F.addEventListener("reload",(A)=>{if(A.data==="styles"){let Y=Date.now(),G=0;if(document.querySelectorAll('link[rel="stylesheet"]').forEach((Z)=>{if(new URL(Z.href).origin!==location.origin)return;let Q=new URL(Z.href);Q.searchParams.set("_r",Y),Z.href=Q.toString(),G++}),!G)location.reload()}else location.reload()}),F.onerror=()=>{F.close(),setTimeout(W,u),u=Math.min(u*2,$)}};W()}}async function P1(f){for(let[W,F]of Object.entries(P1.modules))if(f.includes(W))return F;let _=await fetch(f).then((W)=>{if(!W.ok)throw Error(`importRip: ${f} (${W.status})`);return W.text()}),U=Q1(_),w=`// ${f}
758
+ `,u=new Blob([w+U],{type:"application/javascript"});return await import(URL.createObjectURL(u))}P1.modules={};function j2(f){try{let _=f.replace(/^/gm," "),w=Q1(`do ->
759
+ ${_}`).replace(/^let\s+[^;]+;\s*\n\s*/m,"");w=w.replace(/^const\s+(\w+)\s*=/gm,"globalThis.$1 =");let u=(0,eval)(w);if(u&&typeof u.then==="function")return u.then(($)=>{if($!==void 0)globalThis._=$;return $});if(u!==void 0)globalThis._=u;return u}catch(_){console.error(q1(_,{source:f,color:!1}));return}}if(typeof globalThis<"u")globalThis.rip=j2,globalThis.importRip=P1,globalThis.compileToJS=Q1,globalThis.__ripExports={compile:l1,compileToJS:Q1,formatSExpr:Z1,getStdlibCode:V1,VERSION:C2,BUILD_DATE:h2,getReactiveRuntime:C1,getComponentRuntime:h1};if(typeof document<"u")globalThis.__ripScriptsReady=new Promise((f)=>{let _=()=>b2().then(f);if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",()=>queueMicrotask(_));else queueMicrotask(_)});var i1={};Z2(i1,{throttle:()=>J4,stash:()=>a2,setContext:()=>k2,raw:()=>W2,persistStash:()=>r2,launch:()=>E4,isStash:()=>Q4,hold:()=>M4,hasContext:()=>m2,getContext:()=>x2,delay:()=>t2,debounce:()=>X4,createRouter:()=>e2,createResource:()=>K4,createRenderer:()=>u3,createComponents:()=>s2});var l2,I1,F1,x2,m2,k2;globalThis.abort??=(f)=>{if(f)console.error(f);process.exit(1)};globalThis.assert??=(f,_)=>{if(!f)throw Error(_||"Assertion failed")};globalThis.exit??=(f)=>process.exit(f||0);globalThis.kind??=(f)=>f!=null?(f.constructor?.name||Object.prototype.toString.call(f).slice(8,-1)).toLowerCase():String(f);globalThis.noop??=()=>{};globalThis.p??=console.log;globalThis.pp??=(f)=>{return console.log(JSON.stringify(f,null,2)),f};globalThis.raise??=(f,_)=>{throw _!==void 0?new f(_):Error(f)};globalThis.rand??=(f,_)=>_!==void 0?(f>_&&([f,_]=[_,f]),Math.floor(Math.random()*(_-f+1)+f)):f?Math.floor(Math.random()*f):Math.random();globalThis.sleep??=(f)=>new Promise((_)=>setTimeout(_,f));globalThis.todo??=(f)=>{throw Error(f||"Not implemented")};globalThis.warn??=console.warn;globalThis.zip??=(...f)=>f[0].map((_,U)=>f.map((w)=>w[U]));({__state:F1,__effect:I1,__batch:l2}=globalThis.__rip);({setContext:k2,getContext:x2,hasContext:m2}=globalThis.__ripComponent||{});var Y2=Symbol("stash"),B1=Symbol("signals"),b1=Symbol("raw"),y2=Symbol("persisted"),i2=new WeakMap,c2=0,n2=F1(0),d2=function(f,_){if(!f[B1])Object.defineProperty(f,B1,{value:new Map,enumerable:!1});let U=f[B1].get(_);if(!U)U=F1(f[_]),f[B1].set(_,U);return U},x1=function(f){return d2(f,Symbol.for("keys"))},Y4=function(f){if(!(f!=null&&typeof f==="object"))return f;if(f[Y2])return f;if(f instanceof Date||f instanceof RegExp||f instanceof Map||f instanceof Set||f instanceof Promise)return f;let _=i2.get(f);if(_)return _;return p2(f)},p2=function(f){let _=null;return _=new Proxy(f,{get:function(w,u){if(u===Y2)return!0;if(u===b1)return w;if(typeof u==="symbol")return Reflect.get(w,u);if(u==="length"&&Array.isArray(w))return x1(w).value,w.length;if(u==="get")return function(F){return Z4(_,F)};if(u==="set")return function(F,A){return z4(_,F,A)};let W=d2(w,u).value;if(W!=null&&typeof W==="object")return Y4(W);return W},set:function(w,u,$){let W=w[u],F=$?.[b1]?$[b1]:$;if(F===W)return!0;if(w[u]=F,w[B1]?.has(u))w[B1].get(u).value=F;if(W===void 0&&F!==void 0)x1(w).value=++c2;return n2.value++,!0},deleteProperty:function(w,u){delete w[u];let $=w[B1]?.get(u);if($!=null)$.value=void 0;return x1(w).value=++c2,!0},ownKeys:function(w){return x1(w).value,Reflect.ownKeys(w)}}),i2.set(f,_),_},G4=/([./][^./\[\s]+|\[[-+]?\d+\]|\[(?:"[^"]+"|'[^']+')\])/,o2=function(f){let _=("."+f).split(G4);_.shift();let U=[],w=0;while(w<_.length){let u=_[w],$=u[0];if($==="."||$==="/")U.push(u.slice(1));else if($==="[")if(u[1]==='"'||u[1]==="'")U.push(u.slice(2,-2));else U.push(+u.slice(1,-1));w+=2}return U},Z4=function(f,_){let U=o2(_),w=f;for(let u of U){if(w==null)return;w=w[u]}return w},z4=function(f,_,U){let w=o2(_),u=f;for(let $=0;$<w.length;$++){let W=w[$];if($===w.length-1)u[W]=U;else{if(u[W]==null)u[W]={};u=u[W]}}return U},a2=function(f={}){return p2(f)},W2=function(f){return f?.[b1]?f[b1]:f},Q4=function(f){return f?.[Y2]===!0},r2=function(f,_={}){let U=W2(f)||f;if(U[y2])return;U[y2]=!0;let w=_.local?localStorage:sessionStorage,u=_.key||"__rip_app";try{let W=w.getItem(u);if(W){let F=JSON.parse(W);for(let A in F){let Y=F[A];f.data[A]=Y}}}catch{}let $=function(){return(()=>{try{return w.setItem(u,JSON.stringify(W2(f.data)))}catch{return null}})()};return I1(function(){n2.value;let W=setTimeout($,2000);return function(){return clearTimeout(W)}}),window.addEventListener("beforeunload",$)},K4=function(f,_={}){let U=F1(_.initial||null),w=F1(!1),u=F1(null),$=async function(){return w.value=!0,u.value=null,await(async()=>{try{let F=await f();return U.value=F}catch(F){return u.value=F}finally{w.value=!1}})()},W={data:void 0,loading:void 0,error:void 0,refetch:$};if(Object.defineProperty(W,"data",{get:function(){return U.value}}),Object.defineProperty(W,"loading",{get:function(){return w.value}}),Object.defineProperty(W,"error",{get:function(){return u.value}}),!_.lazy)$();return W},m1=function(f){return typeof f==="function"?f:function(){return f.value}},k1=function(f,_){let U={read:function(){return f.read()}};return Object.defineProperty(U,"value",{get:function(){return f.value},set:function(w){return _.value=w}}),U},t2=function(f,_){let U=m1(_),w=F1(!!U());return I1(function(){if(U()){let u=setTimeout(function(){return w.value=!0},f);return function(){return clearTimeout(u)}}else return w.value=!1}),typeof _!=="function"?k1(w,_):w},X4=function(f,_){let U=m1(_),w=F1(U());return I1(function(){let u=U(),$=setTimeout(function(){return w.value=u},f);return function(){return clearTimeout($)}}),typeof _!=="function"?k1(w,_):w},J4=function(f,_){let U=m1(_),w=F1(U()),u=0;return I1(function(){let $=U(),W=Date.now(),F=f-(W-u);if(F<=0)return w.value=$,u=W;else{let A=setTimeout(function(){return w.value=U(),u=Date.now()},F);return function(){return clearTimeout(A)}}}),typeof _!=="function"?k1(w,_):w},M4=function(f,_){let U=m1(_),w=F1(!!U());return I1(function(){if(U())return w.value=!0;else{let u=setTimeout(function(){return w.value=!1},f);return function(){return clearTimeout(u)}}}),typeof _!=="function"?k1(w,_):w},s2=function(){let f=new Map,_=[],U=new Map,w=function(u,$){for(let W of _)W(u,$)};return{read:function(u){return f.get(u)},write:function(u,$){let W=!f.has(u);return f.set(u,$),U.delete(u),w(W?"create":"change",u)},del:function(u){return f.delete(u),U.delete(u),w("delete",u)},exists:function(u){return f.has(u)},size:function(){return f.size},list:function(u=""){let $=[],W=u?u+"/":"";for(let[F]of f)if(F.startsWith(W)){if(F.slice(W.length).includes("/"))continue;$.push(F)}return $},listAll:function(u=""){let $=[],W=u?u+"/":"";for(let[F]of f)if(F.startsWith(W))$.push(F);return $},load:function(u){for(let $ in u){let W=u[$];f.set($,W)}},watch:function(u){return _.push(u),function(){return _.splice(_.indexOf(u),1)}},getCompiled:function(u){return U.get(u)},setCompiled:function(u,$){return U.set(u,$)}}},D4=function(f){let _=f.replace(/\.rip$/,"");if(_=_.replace(/\[\.\.\.(\w+)\]/g,"*$1"),_=_.replace(/\[(\w+)\]/g,":$1"),_==="index")return"/";return _=_.replace(/\/index$/,""),"/"+_},H4=function(f){let _=[],U=f.replace(/\*(\w+)/g,function(w,u){return _.push(u),"(.+)"}).replace(/:(\w+)/g,function(w,u){return _.push(u),"([^/]+)"});return{regex:new RegExp("^"+U+"$"),names:_}},R4=function(f,_){for(let U of _){let w=f.match(U.regex.regex);if(w){let u={};for(let $=0;$<U.regex.names.length;$++){let W=U.regex.names[$];u[W]=decodeURIComponent(w[$+1])}return{route:U,params:u}}}return null},F2=function(f,_="components"){let U=[],w=new Map,u=f.listAll(_);for(let $ of u){let W=$.slice(_.length+1);if(!W.endsWith(".rip"))continue;let F=W.split("/").pop();if(F==="_layout.rip"){let Z=W==="_layout.rip"?"":W.slice(0,-12);w.set(Z,$);continue}if(F.startsWith("_"))continue;let A=W.split("/");if(A.length>1&&A.some(function(Z,Q){return Q<A.length-1&&Z.startsWith("_")}))continue;let Y=D4(W),G=H4(Y);U.push({pattern:Y,regex:G,file:$,rel:W})}return U.sort(function($,W){let F=($.pattern.match(/:/g)||[]).length,A=(W.pattern.match(/:/g)||[]).length,Y=$.pattern.includes("*")?1:0,G=W.pattern.includes("*")?1:0;if(Y!==G)return Y-G;if(F!==A)return F-A;return $.pattern.localeCompare(W.pattern)}),{routes:U,layouts:w}},O4=function(f,_,U){let w=[],$=f.slice(_.length+1).split("/"),W="";if(U.has(""))w.push(U.get(""));for(let F=0;F<$.length;F++){let A=$[F];if(F===$.length-1)break;if(W=W?W+"/"+A:A,U.has(W))w.push(U.get(W))}return w},e2=function(f,_={}){let U=_.root||"components",w=_.base||"",u=_.hash||!1,$=_.onError||null,W=function(H){return w&&H.startsWith(w)?H.slice(w.length)||"/":H},F=function(H){return w?w+H:H},A=function(){let H;if(u){if(H=location.hash.slice(1),!H)return"/";return H[0]==="/"?H:"/"+H}else return location.pathname+location.search+location.hash},Y=function(H){return u?H==="/"?location.pathname:"#"+H.slice(1):F(H)},G=F1(W(u?A():location.pathname)),Z=F1({}),Q=F1(null),J=F1([]),M=F1({}),K=F1(""),R=t2(100,F1(!1)),z=F2(f,U),q=new Set;f.watch(function(H,X){if(!X.startsWith(U+"/"))return;return z=F2(f,U)});let O=function(H){let X=H.split("?")[0].split("#")[0],P=W(X);P=P[0]==="/"?P:"/"+P;let S=H.split("?")[1]?.split("#")[0]||"",E=H.includes("#")?H.split("#")[1]:"",L=R4(P,z.routes);if(L){l2(function(){return G.value=P,Z.value=L.params,Q.value=L.route,J.value=O4(L.route.file,U,z.layouts),M.value=Object.fromEntries(new URLSearchParams(S)),K.value=E});for(let T of q)T(B.current);return!0}if($)$({status:404,path:P});return!1},D=function(){return O(A())};if(typeof window<"u")window.addEventListener("popstate",D);let I=function(H){if(H.button!==0||H.metaKey||H.ctrlKey||H.shiftKey||H.altKey)return;let X=H.target;while(X&&X.tagName!=="A")X=X.parentElement;if(!X?.href)return;let P=new URL(X.href,location.origin);if(P.origin!==location.origin)return;if(X.target==="_blank"||X.hasAttribute("data-external"))return;H.preventDefault();let S=u&&P.hash?P.hash.slice(1)||"/":P.pathname+P.search+P.hash;return B.push(S)};if(typeof document<"u")document.addEventListener("click",I);let B={push:function(H){return O(H)?history.pushState(null,"",Y(G.read())):void 0},replace:function(H){return O(H)?history.replaceState(null,"",Y(G.read())):void 0},back:function(){return history.back()},forward:function(){return history.forward()},current:void 0,path:void 0,params:void 0,route:void 0,layouts:void 0,query:void 0,hash:void 0,navigating:void 0,onNavigate:function(H){return q.add(H),function(){return q.delete(H)}},rebuild:function(){return z=F2(f,U)},routes:void 0,init:function(){return O(A()),B},destroy:function(){if(typeof window<"u")window.removeEventListener("popstate",D);if(typeof document<"u")document.removeEventListener("click",I);return q.clear()}};return Object.defineProperty(B,"current",{get:function(){return{path:G.value,params:Z.value,route:Q.value,layouts:J.value,query:M.value,hash:K.value}}}),Object.defineProperty(B,"path",{get:function(){return G.value}}),Object.defineProperty(B,"params",{get:function(){return Z.value}}),Object.defineProperty(B,"route",{get:function(){return Q.value}}),Object.defineProperty(B,"layouts",{get:function(){return J.value}}),Object.defineProperty(B,"query",{get:function(){return M.value}}),Object.defineProperty(B,"hash",{get:function(){return K.value}}),Object.defineProperty(B,"navigating",{get:function(){return R.value},set:function(H){return R.value=H}}),Object.defineProperty(B,"routes",{get:function(){return z.routes}}),B},q4=function(f,_){if(f.length!==_.length)return!1;for(let U=0;U<f.length;U++)if(f[U]!==_[U])return!1;return!0},g2=function(f){for(let _ in f){let U=f[_];if(typeof U==="function"&&(U.prototype?.mount||U.prototype?._create))return U}return typeof f.default==="function"?f.default:void 0},v2=function(f){let _={};for(let U in f){let w=f[U];if(typeof w==="function"&&(w.prototype?.mount||w.prototype?._create))_[U]=w}return _},P4=function(f){return f.split("/").pop().replace(/\.rip$/,"").replace(/(^|[-_])([a-z])/g,function(U,w,u){return u.toUpperCase()})},B4=function(f,_="components"){let U={};for(let w of f.listAll(_)){if(!w.endsWith(".rip"))continue;if(w.split("/").pop().startsWith("_"))continue;let $=P4(w);if(U[$])console.warn(`[Rip] Component name collision: ${$} (${U[$]} vs ${w})`);U[$]=w}return U},A2=async function(f,_,U=null,w=null,u=null){let $,W,F,A,Y;if(U&&w){if($=U.getCompiled(w),$)return $}let G=_(f);if(u){A={};for(let K in u.map){let R=u.map[K];if(R!==w&&G.includes(`new ${K}(`)){if(!u.classes[K]){let z=U.read(R);if(z){let q=await A2(z,_,U,R,u);W=v2(q);for(let O in W){let D=W[O];u.classes[O]=D}}}if(u.classes[K])A[K]=!0}}if(F=Object.keys(A),F.length>0)Y=`const {${F.join(", ")}} = globalThis['${u.key}'];
760
+ `,G=Y+G}let Z=w?`// ${w}
761
+ `:"",Q=new Blob([Z+G],{type:"application/javascript"}),M=await import(URL.createObjectURL(Q));if(u){W=v2(M);for(let K in W){let R=W[K];u.classes[K]=R}}if(U&&w)U.setCompiled(w,M);return M},u3=function(f={}){let _,U,w,u,$,W,F;({router:W,app:_,components:w,resolver:$,compile:U,target:F,onError:u}=f);let A=typeof F==="string"?document.querySelector(F):F||document.getElementById("app");if(!A)A=document.createElement("div"),A.id="app",document.body.appendChild(A);A.style.opacity="0";let Y=null,G=null,Z=null,Q=[],J=[],M=A,K=0,R=null,z=new Map,q=f.cacheSize||10,O=function(){let H,X;if(Y&&G){if(Y.beforeUnmount)Y.beforeUnmount();if(z.set(G,Y),z.size>q){if(X=z.keys().next().value,H=z.get(X),H.unmounted)H.unmounted();z.delete(X)}return Y=null,G=null}},D=function(){O();for(let H=J.length-1;H>=0;H--){let X=J[H];if(X.beforeUnmount)X.beforeUnmount();if(X.unmounted)X.unmounted();X._target?.remove()}return J=[],M=A};w.watch(function(H,X){let P;if(z.has(X)){if(P=z.get(X),P.unmounted)P.unmounted();return z.delete(X)}});let I=async function(H){let X,P,S,E;if({route:E,params:P,layouts:X,query:S}=H,!E)return;if(E.file===G&&JSON.stringify(P)===JSON.stringify(Z))return;Z=P;let L=++K;return W.navigating=!0,await(async()=>{try{let T=w.read(E.file);if(!T){if(u)u({status:404,message:`File not found: ${E.file}`});W.navigating=!1;return}let C=await A2(T,U,w,E.file,$);if(L!==K){W.navigating=!1;return}let N=g2(C);if(!N){if(u)u({status:500,message:`No component found in ${E.file}`});W.navigating=!1;return}let d=!q4(X,Q),V=Y?._target;if(d)D();else O();let h=d?A:M;if(d&&X.length>0){A.innerHTML="",h=A;for(let l of X){let p=w.read(l);if(!p)continue;let _1=await A2(p,U,w,l,$);if(L!==K){W.navigating=!1;return}let y=g2(_1);if(!y)continue;let g=new y({app:_,params:P,router:W});if(g.beforeMount)g.beforeMount();let v=document.createElement("div");v.setAttribute("data-layout",l),h.appendChild(v),g.mount(v),J.push(g),h=v.querySelector("#content")||v}Q=[...X],M=h}else if(d)A.innerHTML="",Q=[],M=A;let b=z.get(E.file);if(b){if(z.delete(E.file),h.appendChild(b._target),Y=b,G=E.file,P)b.params=P;if(S)b.query=S;if(b.mounted)b.mounted();if(b.load)await b.load(P,S)}else{let l=document.createElement("div");l.setAttribute("data-component",E.file),h.appendChild(l);let p=new N({app:_,params:P,query:S,router:W});if(p.beforeMount)p.beforeMount();if(p.mount(l),Y=p,G=E.file,p.load)await p.load(P,S)}return V?.remove(),W.navigating=!1,A.style.opacity==="0"?document.fonts.ready.then(function(){return requestAnimationFrame(function(){return A.style.transition="opacity 150ms ease-in",A.style.opacity="1"})}):void 0}catch(T){if(W.navigating=!1,A.style.opacity="1",console.error(`Renderer: error mounting ${E.file}:`,T),u)u({status:500,message:T.message,error:T});let C=!1;for(let N=J.length-1;N>=0;N--){let d=J[N];if(d.onError)try{d.onError(T),C=!0;break}catch(V){console.error("Renderer: error boundary failed:",V)}}return(()=>{if(!C){let N=document.createElement("pre");return N.style.cssText="color:red;padding:1em",N.textContent=T.stack||T.message,A.innerHTML="",A.appendChild(N)}})()}})()},B={start:function(){return R=I1(function(){let H=W.current;return H.route?I(H):void 0}),W.init(),B},stop:function(){if(D(),R)R(),R=null;return A.innerHTML=""},remount:function(){let H=W.current;return H.route?I(H):void 0},cache:z};return B},I4=function(f){let _=1000,U=30000,w=function(){let u=new EventSource(f);return u.addEventListener("connected",function(){return _=1000,console.log("[Rip] Hot reload connected")}),u.addEventListener("reload",function(){return console.log("[Rip] Reloading..."),location.reload()}),u.addEventListener("css",function(){for(let $ of document.querySelectorAll('link[rel="stylesheet"]'))f=new URL($.href),f.searchParams.set("_t",Date.now()),$.href=f.toString()}),u.onerror=function(){return u.close(),setTimeout(w,_),_=Math.min(_*2,U)}};return w()},E4=async function(f="",_={}){let U,w,u,$,W,F,A;if(globalThis.__ripLaunched=!0,typeof f==="object")_=f,f="";f=f.replace(/\/+$/,"");let Y=_.target||"#app",G=_.compile||null,Z=_.persist||!1,Q=_.hash||!1;if(!G)G=globalThis?.compileToJS||null;if(typeof document<"u"&&!document.querySelector(Y))u=document.createElement("div"),u.id=Y.replace(/^#/,""),document.body.prepend(u);if(_.bundle)U=_.bundle;else if(_.bundleUrl){if(F={},W=`__rip_etag_${_.bundleUrl}`,w=sessionStorage.getItem(W),w)F["If-None-Match"]=w;if(A=await fetch(_.bundleUrl,{headers:F}),A.status===304)U=JSON.parse(sessionStorage.getItem(`${W}_data`));else if(A.ok){if(U=await A.json(),$=A.headers.get("etag"),$)sessionStorage.setItem(W,$),sessionStorage.setItem(`${W}_data`,JSON.stringify(U))}else throw Error(`launch: ${_.bundleUrl} (${A.status})`)}else throw Error("launch: no bundle or bundleUrl provided");let J=a2({components:{},routes:{},data:{}});if(globalThis.__ripApp=J,U.data)J.data=U.data;if(U.routes)J.routes=U.routes;if(Z&&typeof sessionStorage<"u")r2(J,{local:Z==="local",key:`__rip_${f}`});let M=s2();if(U.components)M.load(U.components);let K=`__rip_${f.replace(/\//g,"_")||"app"}`,R={map:B4(M),classes:{},key:K};if(typeof globalThis<"u")globalThis[K]=R.classes;if(J.data.title&&typeof document<"u")document.title=J.data.title;let z=e2(M,{root:"components",base:f,hash:Q,onError:function(O){return console.error(`[Rip] Error ${O.status}: ${O.message||O.path}`)}}),q=u3({router:z,app:J,components:M,resolver:R,compile:G,target:Y,onError:function(O){return console.error(`[Rip] ${O.message}`,O.error)}});if(q.start(),U.data?.watch)I4(`${f}/watch`);if(typeof window<"u")window.app=J,window.__RIP__={app:J,components:M,router:z,renderer:q,cache:q.cache,version:"0.3.0"};return{app:J,components:M,router:z,renderer:q}},A1=function(f,_){if(!_)return;return f.preventDefault(),f.stopPropagation(),_()};globalThis.__ariaLastFocusedEl??=null;if(typeof document<"u"&&!globalThis.__ariaFocusTrackerBound)document.addEventListener("focusin",function(f){return globalThis.__ariaLastFocusedEl=f.target},!0),globalThis.__ariaFocusTrackerBound=!0;var S4=function(f,_){if(f.isComposing)return;return(()=>{switch(f.key){case"ArrowDown":return A1(f,_.next);case"ArrowUp":return A1(f,_.prev);case"Home":case"PageUp":return A1(f,_.first);case"End":case"PageDown":return A1(f,_.last);case"Enter":case" ":return A1(f,_.select);case"Escape":return A1(f,_.dismiss);case"Tab":return _.tab?.();default:return f.key.length===1?_.char?.(f.key):void 0}})()},L4=function(f,_,U,w=[],u=null){if(!f)return;let $=function(A){return typeof A==="function"?A():A},W=(A)=>{return![$(_),...w.map($)].some(function(Y){return Y?.contains(A.target)})?U():void 0},F=(A)=>{if($(_)?.contains(A.target))return;return u?u():U()};return document.addEventListener("mousedown",W),window.addEventListener("scroll",F,!0),function(){return document.removeEventListener("mousedown",W),window.removeEventListener("scroll",F,!0)}},N4=function(f=250){let _=0;return{block:function(U=f){return _=Date.now()+U},canOpen:function(){return Date.now()>=_}}},T4=function(f,_,U,w=null){let u,$,W=function(K){return typeof K==="function"?K():K},F=function(){let K=document.activeElement;if(K&&K!==document.body)return K;let R=globalThis.__ariaLastFocusedEl;if(R?.isConnected!==!1)return R;return null},A=W(_);if(!A)return;if(!Object.hasOwn(HTMLElement.prototype,"togglePopover"))return;let Y=null,G=function(K){if(K){A.hidden=!1;try{A.inert=!1}catch{}return A.removeAttribute("aria-hidden")}else{try{A.inert=!0}catch{}return A.setAttribute("aria-hidden","true"),A.hidden=!0}},Z=function(){let K=Y;if(Y=null,!K?.focus)return;let R=function(z=6){if(K.isConnected===!1)return;try{K.focus({preventScroll:!0})}catch{K.focus()}if(document.activeElement===K||z<=1)return;return setTimeout(function(){return R(z-1)},16)};return requestAnimationFrame(function(){return R()})},Q=function(K){let R=K.newState==="open";if(R)Y=W(w)||F(),G(!0);else G(!1),Z();return U?.(R)};A.addEventListener("toggle",Q);let J=A.matches(":popover-open"),M=!!f;if(J!==M){if($=W(w),M)Y=$||F(),G(!0);u=$&&M?{force:M,source:$}:{force:M};try{A.togglePopover(u)}catch{}}else G(M);return function(){return A.removeEventListener("toggle",Q)}},V4=function(f,_,U,w=!0){let u=function(Q){return typeof Q==="function"?Q():Q},$=function(){let Q=document.activeElement;if(Q&&Q!==document.body)return Q;let J=globalThis.__ariaLastFocusedEl;if(J?.isConnected!==!1)return J;return null},W=u(_);if(!W?.showModal)return;let F=null,A=function(Q){if(Q){W.hidden=!1;try{W.inert=!1}catch{}return W.removeAttribute("aria-hidden")}else{try{W.inert=!0}catch{}return W.setAttribute("aria-hidden","true"),W.hidden=!0}},Y=function(){let Q=F;if(F=null,!Q?.focus)return;let J=function(M=6){if(Q.isConnected===!1)return;try{Q.focus({preventScroll:!0})}catch{Q.focus()}if(document.activeElement===Q||M<=1)return;return setTimeout(function(){return J(M-1)},16)};return requestAnimationFrame(function(){return J()})},G=function(Q){if(!w){Q.preventDefault();return}return U?.(!1)},Z=function(){return U?.(!1),A(!1),Y()};if(W.addEventListener("cancel",G),W.addEventListener("close",Z),f&&!W.open){if(!F)F=$();A(!0);try{W.showModal()}catch{}}else if(!f&&W.open)W.close();else A(!!f);return function(){return W.removeEventListener("cancel",G),W.removeEventListener("close",Z)}},C4=function(f,_,U="vertical"){if(f.isComposing)return;let w=U!=="horizontal",u=U!=="vertical";return(()=>{switch(f.key){case"ArrowDown":return w?A1(f,_.next):void 0;case"ArrowUp":return w?A1(f,_.prev):void 0;case"ArrowRight":return u?A1(f,_.next):void 0;case"ArrowLeft":return u?A1(f,_.prev):void 0;case"Home":case"PageUp":return A1(f,_.first);case"End":case"PageDown":return A1(f,_.last);case"Enter":case" ":return A1(f,_.select);case"Escape":return A1(f,_.dismiss);default:return f.key.length===1?_.char?.(f.key):void 0}})()},h4=function(f,_,U=4,w=!0){if(!(f&&_))return;let u=f.getBoundingClientRect();_.style.position="fixed",_.style.left=`${u.left}px`,_.style.top=`${u.bottom+U}px`,_.style.minWidth=`${u.width}px`;let $=_.getBoundingClientRect();if($.bottom>window.innerHeight)_.style.top=`${u.top-$.height-U}px`;if($.right>window.innerWidth)_.style.left=`${window.innerWidth-$.width-U}px`;return w?_.style.visibility="visible":void 0},b4='a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"])',j4=function(f){let _=function(U){if(U.key!=="Tab")return;let w=Array.from(f.querySelectorAll(b4)).filter(function(W){return W.offsetParent!==null});if(!w.length)return;let u=w[0],$=w[w.length-1];return U.shiftKey?document.activeElement===u?(U.preventDefault(),$.focus()):void 0:document.activeElement===$?(U.preventDefault(),u.focus()):void 0};return f.addEventListener("keydown",_),function(){return f.removeEventListener("keydown",_)}},y4=function(f,_){if(!f)return;let U=f.querySelector("h1,h2,h3,h4,h5,h6");if(U)U.id??=`${_}-title`,f.setAttribute("aria-labelledby",U.id);let w=f.querySelector("p");if(w)return w.id??=`${_}-desc`,f.setAttribute("aria-describedby",w.id)},j1=[],c4=function(f){let _=window.scrollY;if(j1.push({instance:f,scrollY:_}),j1.length===1)return document.body.style.position="fixed",document.body.style.top=`-${_}px`,document.body.style.width="100%"},g4=function(f){let _,U=j1.findIndex(function(w){return w.instance===f});if(U<0)return;if({scrollY:_}=j1.splice(U,1)[0],!j1.length)return document.body.style.position="",document.body.style.top="",document.body.style.width="",window.scrollTo(0,_)},f3=function(){return(()=>{try{if(!document?.createElement)return!1;let f=document.createElement("div"),_=document.createElement("div");f.style.cssText="position:fixed;top:100px;left:100px;width:10px;height:10px;anchor-name:--probe",_.style.cssText="position:fixed;inset:auto;margin:0;position-anchor:--probe;position-area:bottom start;width:10px;height:10px",document.body.appendChild(f),document.body.appendChild(_);let U=_.getBoundingClientRect();return f.remove(),_.remove(),U.top>50}catch{return!1}})()}(),v4=function(f,_,U={}){let w,u,$,W;if(!(f&&_))return;let F=U.placement??"bottom start",A=U.offset??4,Y=U.matchWidth??!1;if(f3){switch(u=`--anchor-${_.id||Math.random().toString(36).slice(2,8)}`,f.style.anchorName=u,_.style.positionAnchor=u,_.style.position="fixed",_.style.inset="auto",_.style.margin="0",_.style.positionArea=F,_.style.positionTry="flip-block, flip-inline, flip-block flip-inline",_.style.positionVisibility="anchors-visible",[W]=F.split(" "),_.style.marginTop="",_.style.marginBottom="",_.style.marginLeft="",_.style.marginRight="",W){case"bottom":_.style.marginTop=`${A}px`;break;case"top":_.style.marginBottom=`${A}px`;break;case"left":_.style.marginRight=`${A}px`;break;case"right":_.style.marginLeft=`${A}px`;break}return Y?_.style.minWidth="anchor-size(width)":void 0}else{switch($=f.getBoundingClientRect(),_.style.position="fixed",_.style.inset="auto",_.style.margin="0",[W,w]=F.split(" "),w??="start",W){case"bottom":_.style.top=`${$.bottom+A}px`;break;case"top":_.style.bottom=`${window.innerHeight-$.top+A}px`;break;case"left":_.style.right=`${window.innerWidth-$.left+A}px`;break;case"right":_.style.left=`${$.right+A}px`;break}if(Array.isArray(["bottom","top"])?["bottom","top"].includes(W):(W in["bottom","top"]))switch(w){case"start":_.style.left=`${$.left}px`;break;case"center":_.style.left=`${$.left+$.width/2}px`,_.style.transform="translateX(-50%)";break;case"end":_.style.right=`${window.innerWidth-$.right}px`;break}else switch(w){case"start":_.style.top=`${$.top}px`;break;case"center":_.style.top=`${$.top+$.height/2}px`,_.style.transform="translateY(-50%)";break;case"end":_.style.bottom=`${window.innerHeight-$.bottom}px`;break}return Y?_.style.minWidth=`${$.width}px`:void 0}};globalThis.__aria??={listNav:S4,rovingNav:C4,popupDismiss:L4,popupGuard:N4,bindPopover:T4,bindDialog:V4,positionBelow:h4,trapFocus:j4,wireAria:y4,lockScroll:c4,unlockScroll:g4,position:v4,hasAnchor:f3};globalThis.ARIA??=globalThis.__aria;P1.modules["ui.rip"]=i1;for(let[f,_]of Object.entries(i1))if(typeof _==="function")globalThis[f]=_;})();